[DebianGIS-dev] r1247 - in packages/qgis/branches/upstream/current: . cmake cmake_templates doc doc/images doc/install_guide doc/plugins doc/plugins/delimited_text doc/plugins/geoprocessing doc/plugins/geoprocessing/buffer i18n images images/developers images/icons images/north_arrows images/splash images/svg images/svg/biology images/svg/geometric images/svg/gpsicons images/svg/icon images/svg/north_arrows images/svg/sport images/svg/symbol images/themes images/themes/default images/themes/nkids python python/core python/gui resources resources/context_help scripts src src/app src/app/composer src/app/legend src/core src/core/raster src/core/renderer src/core/spatialindex src/core/spatialindex/geometry src/core/spatialindex/include src/core/spatialindex/rtree src/core/spatialindex/spatialindex src/core/spatialindex/storagemanager src/core/spatialindex/tools src/core/symbology src/designer src/gui src/helpviewer src/mac src/mac/Contents src/mac/Contents/Resources src/plugins src/plugins/copyright_label src/plugins/delimited_text src/plugins/geoprocessing src/plugins/georeferencer src/plugins/gps_importer src/plugins/grass src/plugins/grass/config src/plugins/grass/modules src/plugins/grass/themes src/plugins/grass/themes/default src/plugins/grid_maker src/plugins/maplayer src/plugins/north_arrow src/plugins/plugin_template src/plugins/scale_bar src/plugins/spit src/plugins/wfs src/providers src/providers/delimitedtext src/providers/gpx src/providers/grass src/providers/mysql src/providers/ogr src/providers/postgres src/providers/wfs src/providers/wms src/ui tests tests/algorithms/projections tests/algorithms/qgsproject tests/src tests/src/core tools tools/mapserver_export tools/qgis_config win_build

frankie at alioth.debian.org frankie at alioth.debian.org
Wed Oct 31 12:20:21 UTC 2007


Author: frankie
Date: 2007-10-31 12:20:11 +0000 (Wed, 31 Oct 2007)
New Revision: 1247

Added:
   packages/qgis/branches/upstream/current/.cvsignore
   packages/qgis/branches/upstream/current/Doxyfile
   packages/qgis/branches/upstream/current/cmake_templates/
   packages/qgis/branches/upstream/current/cmake_templates/cmake_uninstall.cmake.in
   packages/qgis/branches/upstream/current/cmake_templates/qgsconfig.h.in
   packages/qgis/branches/upstream/current/cmake_templates/qgssvnversion.h.in_cmake
   packages/qgis/branches/upstream/current/cmake_templates/svnscript.cmake.in_cmake
   packages/qgis/branches/upstream/current/doc/.cvsignore
   packages/qgis/branches/upstream/current/doc/images/.cvsignore
   packages/qgis/branches/upstream/current/doc/install_guide/.cvsignore
   packages/qgis/branches/upstream/current/doc/plugins/.cvsignore
   packages/qgis/branches/upstream/current/doc/plugins/delimited_text/.cvsignore
   packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/.cvsignore
   packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/.cvsignore
   packages/qgis/branches/upstream/current/i18n/.cvsignore
   packages/qgis/branches/upstream/current/i18n/qgis_tr.ts
   packages/qgis/branches/upstream/current/i18n/qt_de.ts
   packages/qgis/branches/upstream/current/i18n/qt_es.ts
   packages/qgis/branches/upstream/current/i18n/qt_fr.ts
   packages/qgis/branches/upstream/current/i18n/qt_ru.ts
   packages/qgis/branches/upstream/current/i18n/qt_sk.ts
   packages/qgis/branches/upstream/current/i18n/qt_sv.ts
   packages/qgis/branches/upstream/current/i18n/qt_zh_CN.ts
   packages/qgis/branches/upstream/current/images/.cvsignore
   packages/qgis/branches/upstream/current/images/developers/.cvsignore
   packages/qgis/branches/upstream/current/images/icons/.cvsignore
   packages/qgis/branches/upstream/current/images/north_arrows/.cvsignore
   packages/qgis/branches/upstream/current/images/splash/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/biology/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/geometric/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/gpsicons/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/icon/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/north_arrows/.cvsignore
   packages/qgis/branches/upstream/current/images/svg/symbol/.cvsignore
   packages/qgis/branches/upstream/current/images/themes/.cvsignore
   packages/qgis/branches/upstream/current/images/themes/default/.cvsignore
   packages/qgis/branches/upstream/current/images/themes/default/mActionAddIsland.png
   packages/qgis/branches/upstream/current/images/themes/default/mActionAddRing.png
   packages/qgis/branches/upstream/current/images/themes/default/mActionToggleEditing.png
   packages/qgis/branches/upstream/current/images/themes/nkids/.cvsignore
   packages/qgis/branches/upstream/current/python/
   packages/qgis/branches/upstream/current/python/CMakeLists.txt
   packages/qgis/branches/upstream/current/python/__init__.py
   packages/qgis/branches/upstream/current/python/configure.py.in
   packages/qgis/branches/upstream/current/python/core/
   packages/qgis/branches/upstream/current/python/core/core.sip
   packages/qgis/branches/upstream/current/python/core/qgis.sip
   packages/qgis/branches/upstream/current/python/core/qgsapplication.sip
   packages/qgis/branches/upstream/current/python/core/qgscolortable.sip
   packages/qgis/branches/upstream/current/python/core/qgscontexthelp.sip
   packages/qgis/branches/upstream/current/python/core/qgscontinuouscolorrenderer.sip
   packages/qgis/branches/upstream/current/python/core/qgscoordinatetransform.sip
   packages/qgis/branches/upstream/current/python/core/qgsdataprovider.sip
   packages/qgis/branches/upstream/current/python/core/qgsdatasourceuri.sip
   packages/qgis/branches/upstream/current/python/core/qgsdistancearea.sip
   packages/qgis/branches/upstream/current/python/core/qgsfeature.sip
   packages/qgis/branches/upstream/current/python/core/qgsfield.sip
   packages/qgis/branches/upstream/current/python/core/qgsgeometry.sip
   packages/qgis/branches/upstream/current/python/core/qgsgeometryvertexindex.sip
   packages/qgis/branches/upstream/current/python/core/qgsgraduatedsymbolrenderer.sip
   packages/qgis/branches/upstream/current/python/core/qgslabel.sip
   packages/qgis/branches/upstream/current/python/core/qgslabelattributes.sip
   packages/qgis/branches/upstream/current/python/core/qgslogger.sip
   packages/qgis/branches/upstream/current/python/core/qgsmaplayer.sip
   packages/qgis/branches/upstream/current/python/core/qgsmaplayerregistry.sip
   packages/qgis/branches/upstream/current/python/core/qgsmaprender.sip
   packages/qgis/branches/upstream/current/python/core/qgsmaptopixel.sip
   packages/qgis/branches/upstream/current/python/core/qgsmarkercatalogue.sip
   packages/qgis/branches/upstream/current/python/core/qgsmessageoutput.sip
   packages/qgis/branches/upstream/current/python/core/qgspoint.sip
   packages/qgis/branches/upstream/current/python/core/qgsproject.sip
   packages/qgis/branches/upstream/current/python/core/qgsprovidermetadata.sip
   packages/qgis/branches/upstream/current/python/core/qgsproviderregistry.sip
   packages/qgis/branches/upstream/current/python/core/qgsrasterbandstats.sip
   packages/qgis/branches/upstream/current/python/core/qgsrasterdataprovider.sip
   packages/qgis/branches/upstream/current/python/core/qgsrasterlayer.sip
   packages/qgis/branches/upstream/current/python/core/qgsrasterpyramid.sip
   packages/qgis/branches/upstream/current/python/core/qgsrasterviewport.sip
   packages/qgis/branches/upstream/current/python/core/qgsrect.sip
   packages/qgis/branches/upstream/current/python/core/qgsrenderer.sip
   packages/qgis/branches/upstream/current/python/core/qgsscalecalculator.sip
   packages/qgis/branches/upstream/current/python/core/qgssinglesymbolrenderer.sip
   packages/qgis/branches/upstream/current/python/core/qgsspatialindex.sip
   packages/qgis/branches/upstream/current/python/core/qgsspatialrefsys.sip
   packages/qgis/branches/upstream/current/python/core/qgssymbol.sip
   packages/qgis/branches/upstream/current/python/core/qgssymbologyutils.sip
   packages/qgis/branches/upstream/current/python/core/qgsuniquevaluerenderer.sip
   packages/qgis/branches/upstream/current/python/core/qgsvectordataprovider.sip
   packages/qgis/branches/upstream/current/python/core/qgsvectorfilewriter.sip
   packages/qgis/branches/upstream/current/python/core/qgsvectorlayer.sip
   packages/qgis/branches/upstream/current/python/gui/
   packages/qgis/branches/upstream/current/python/gui/gui.sip
   packages/qgis/branches/upstream/current/python/gui/qgisinterface.sip
   packages/qgis/branches/upstream/current/python/gui/qgisplugin.sip
   packages/qgis/branches/upstream/current/python/gui/qgslayerprojectionselector.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmapcanvas.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasitem.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasmap.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmapoverviewcanvas.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmaptool.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmaptoolemitpoint.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmaptoolpan.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmaptoolzoom.sip
   packages/qgis/branches/upstream/current/python/gui/qgsmessageviewer.sip
   packages/qgis/branches/upstream/current/python/gui/qgsprojectionselector.sip
   packages/qgis/branches/upstream/current/python/gui/qgsrubberband.sip
   packages/qgis/branches/upstream/current/python/gui/qgsvertexmarker.sip
   packages/qgis/branches/upstream/current/python/qgisconfig.py.in
   packages/qgis/branches/upstream/current/resources/.cvsignore
   packages/qgis/branches/upstream/current/scripts/
   packages/qgis/branches/upstream/current/scripts/build_debian_package.sh
   packages/qgis/branches/upstream/current/scripts/update_translations.bat
   packages/qgis/branches/upstream/current/scripts/update_ts_files.sh
   packages/qgis/branches/upstream/current/src/app/
   packages/qgis/branches/upstream/current/src/app/.cvsignore
   packages/qgis/branches/upstream/current/src/app/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/app/composer/
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.h
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.cpp
   packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.h
   packages/qgis/branches/upstream/current/src/app/legend/
   packages/qgis/branches/upstream/current/src/app/legend/.cvsignore
   packages/qgis/branches/upstream/current/src/app/legend/qgslegend.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegend.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.h
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.cpp
   packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.h
   packages/qgis/branches/upstream/current/src/app/main.cpp
   packages/qgis/branches/upstream/current/src/app/qgis.ico
   packages/qgis/branches/upstream/current/src/app/qgis_win32.rc
   packages/qgis/branches/upstream/current/src/app/qgisapp.cpp
   packages/qgis/branches/upstream/current/src/app/qgisapp.h
   packages/qgis/branches/upstream/current/src/app/qgisappinterface.cpp
   packages/qgis/branches/upstream/current/src/app/qgisappinterface.h
   packages/qgis/branches/upstream/current/src/app/qgsabout.cpp
   packages/qgis/branches/upstream/current/src/app/qgsabout.h
   packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.h
   packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.h
   packages/qgis/branches/upstream/current/src/app/qgsattributedialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsattributedialog.h
   packages/qgis/branches/upstream/current/src/app/qgsattributetable.cpp
   packages/qgis/branches/upstream/current/src/app/qgsattributetable.h
   packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.cpp
   packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.h
   packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.cpp
   packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.h
   packages/qgis/branches/upstream/current/src/app/qgsbookmarks.cpp
   packages/qgis/branches/upstream/current/src/app/qgsbookmarks.h
   packages/qgis/branches/upstream/current/src/app/qgsclipboard.cpp
   packages/qgis/branches/upstream/current/src/app/qgsclipboard.h
   packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.h
   packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.h
   packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.cpp
   packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.h
   packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.h
   packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.cpp
   packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.h
   packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.h
   packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.h
   packages/qgis/branches/upstream/current/src/app/qgshelpviewer.cpp
   packages/qgis/branches/upstream/current/src/app/qgshelpviewer.h
   packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.cpp
   packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.h
   packages/qgis/branches/upstream/current/src/app/qgslabeldialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgslabeldialog.h
   packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.h
   packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.cpp
   packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.h
   packages/qgis/branches/upstream/current/src/app/qgsludialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsludialog.h
   packages/qgis/branches/upstream/current/src/app/qgsmaplayerinterface.h
   packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.h
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.h
   packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.h
   packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.h
   packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.cpp
   packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.h
   packages/qgis/branches/upstream/current/src/app/qgsnewconnection.cpp
   packages/qgis/branches/upstream/current/src/app/qgsnewconnection.h
   packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.cpp
   packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.h
   packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.cpp
   packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.h
   packages/qgis/branches/upstream/current/src/app/qgsoptions.cpp
   packages/qgis/branches/upstream/current/src/app/qgsoptions.h
   packages/qgis/branches/upstream/current/src/app/qgspastetransformations.cpp
   packages/qgis/branches/upstream/current/src/app/qgspastetransformations.h
   packages/qgis/branches/upstream/current/src/app/qgspatterndialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgspatterndialog.h
   packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.cpp
   packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.h
   packages/qgis/branches/upstream/current/src/app/qgspluginitem.cpp
   packages/qgis/branches/upstream/current/src/app/qgspluginitem.h
   packages/qgis/branches/upstream/current/src/app/qgspluginmanager.cpp
   packages/qgis/branches/upstream/current/src/app/qgspluginmanager.h
   packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.cpp
   packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.h
   packages/qgis/branches/upstream/current/src/app/qgspluginregistry.cpp
   packages/qgis/branches/upstream/current/src/app/qgspluginregistry.h
   packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.cpp
   packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.h
   packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.cpp
   packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.h
   packages/qgis/branches/upstream/current/src/app/qgspythondialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgspythondialog.h
   packages/qgis/branches/upstream/current/src/app/qgspythonutils.cpp
   packages/qgis/branches/upstream/current/src/app/qgspythonutils.h
   packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.cpp
   packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.h
   packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.cpp
   packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.h
   packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.cpp
   packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.h
   packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.h
   packages/qgis/branches/upstream/current/src/app/qgstable.h
   packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.cpp
   packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.h
   packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.cpp
   packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.h
   packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.cpp
   packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.h
   packages/qgis/branches/upstream/current/src/core/qgsattributeaction.cpp
   packages/qgis/branches/upstream/current/src/core/qgsattributeaction.h
   packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.cpp
   packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.h
   packages/qgis/branches/upstream/current/src/core/qgscsexception.h
   packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.cpp
   packages/qgis/branches/upstream/current/src/core/qgslabel.cpp
   packages/qgis/branches/upstream/current/src/core/qgslabel.h
   packages/qgis/branches/upstream/current/src/core/qgsmaplayer.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmaplayer.h
   packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.h
   packages/qgis/branches/upstream/current/src/core/qgsmaprender.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmaprender.h
   packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.h
   packages/qgis/branches/upstream/current/src/core/qgsproject.cpp
   packages/qgis/branches/upstream/current/src/core/qgsproject.h
   packages/qgis/branches/upstream/current/src/core/qgsrunprocess.cpp
   packages/qgis/branches/upstream/current/src/core/qgsrunprocess.h
   packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.cpp
   packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.h
   packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.cpp
   packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.h
   packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.cpp
   packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.h
   packages/qgis/branches/upstream/current/src/core/raster/
   packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.cpp
   packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.h
   packages/qgis/branches/upstream/current/src/core/raster/qgsrasterbandstats.h
   packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.cpp
   packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.h
   packages/qgis/branches/upstream/current/src/core/raster/qgsrasterpyramid.h
   packages/qgis/branches/upstream/current/src/core/raster/qgsrasterviewport.h
   packages/qgis/branches/upstream/current/src/core/renderer/
   packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.cpp
   packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.h
   packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
   packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.h
   packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.cpp
   packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.h
   packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.cpp
   packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.h
   packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.cpp
   packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/
   packages/qgis/branches/upstream/current/src/core/spatialindex/README
   packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/
   packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/LineSegment.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Point.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Region.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/LineSegment.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/Point.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/PointerPool.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/PoolPointer.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/RTree.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/Region.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/SmartPointer.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/SpatialIndex.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/TemporaryFile.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/include/Tools.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.cpp
   packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/PointerPoolNode.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/
   packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/tools/
   packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.h
   packages/qgis/branches/upstream/current/src/core/spatialindex/tools/TemporaryFile.cc
   packages/qgis/branches/upstream/current/src/core/spatialindex/tools/Tools.cc
   packages/qgis/branches/upstream/current/src/core/symbology/
   packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.cpp
   packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.h
   packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.cpp
   packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.h
   packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.cpp
   packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.h
   packages/qgis/branches/upstream/current/src/gui/qgisgui.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.h
   packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.h
   packages/qgis/branches/upstream/current/src/helpviewer/.cvsignore
   packages/qgis/branches/upstream/current/src/mac/.cvsignore
   packages/qgis/branches/upstream/current/src/mac/Contents/.cvsignore
   packages/qgis/branches/upstream/current/src/mac/Contents/Resources/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/pencil.png
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/config/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/Thumbs.db
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bilinear.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour.2.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.arc.qgm.sitx
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.patch.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.1.svg
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.1.svg
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.1.svg
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.2.svg
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.2.svg
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.3.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_close_mapset.png
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_mapset.png
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_vector_layer.png
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_open_mapset.png
   packages/qgis/branches/upstream/current/src/plugins/grass/world.png
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefil.h
   packages/qgis/branches/upstream/current/src/plugins/maplayer/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/plugin_builder.py
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.ui
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/spit/.cvsignore
   packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.h
   packages/qgis/branches/upstream/current/src/providers/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/gpx/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/grass/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/ogr/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/postgres/.cvsignore
   packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.cpp
   packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.h
   packages/qgis/branches/upstream/current/src/providers/wms/.cvsignore
   packages/qgis/branches/upstream/current/src/ui/.cvsignore
   packages/qgis/branches/upstream/current/src/ui/qgsprojectionselectorbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgspythondialog.ui
   packages/qgis/branches/upstream/current/tests/CMakeLists.txt
   packages/qgis/branches/upstream/current/tests/algorithms/projections/.cvsignore
   packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/.cvsignore
   packages/qgis/branches/upstream/current/tests/src/CMakeLists.txt
   packages/qgis/branches/upstream/current/tests/src/core/CMakeLists.txt
   packages/qgis/branches/upstream/current/tests/src/core/testqgsvectorfilewriter.cpp
   packages/qgis/branches/upstream/current/tools/.cvsignore
   packages/qgis/branches/upstream/current/tools/qgis_config/.cvsignore
   packages/qgis/branches/upstream/current/win_build/python.nsh
Removed:
   packages/qgis/branches/upstream/current/INSTALL.svn
   packages/qgis/branches/upstream/current/LICENSE.txt
   packages/qgis/branches/upstream/current/Makefile.am
   packages/qgis/branches/upstream/current/Makefile.win
   packages/qgis/branches/upstream/current/Makefile.win.rules.in
   packages/qgis/branches/upstream/current/NEWS
   packages/qgis/branches/upstream/current/acinclude.m4
   packages/qgis/branches/upstream/current/autogen.sh
   packages/qgis/branches/upstream/current/build.mac.sh
   packages/qgis/branches/upstream/current/build.sh
   packages/qgis/branches/upstream/current/build_debian_package.sh
   packages/qgis/branches/upstream/current/cmake_uninstall.cmake.in
   packages/qgis/branches/upstream/current/configure.in
   packages/qgis/branches/upstream/current/create_qm_files.sh.in
   packages/qgis/branches/upstream/current/depcomp
   packages/qgis/branches/upstream/current/description-pak
   packages/qgis/branches/upstream/current/doCheckInstall.sh
   packages/qgis/branches/upstream/current/doc/Makefile.am
   packages/qgis/branches/upstream/current/doc/images/Makefile.am
   packages/qgis/branches/upstream/current/doc/install_guide/Makefile.am
   packages/qgis/branches/upstream/current/doc/plugins/Makefile.am
   packages/qgis/branches/upstream/current/doc/plugins/delimited_text/Makefile.am
   packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/Makefile.am
   packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/Makefile.am
   packages/qgis/branches/upstream/current/doxygen.conf
   packages/qgis/branches/upstream/current/i18n/Makefile.am
   packages/qgis/branches/upstream/current/i18n/qgis_se.ts
   packages/qgis/branches/upstream/current/images/Makefile.am
   packages/qgis/branches/upstream/current/images/developers/Brendan_Morley.jpg
   packages/qgis/branches/upstream/current/images/developers/Magnus_Homann.jpg
   packages/qgis/branches/upstream/current/images/developers/Makefile.am
   packages/qgis/branches/upstream/current/images/developers/Peter_Ersts.jpg
   packages/qgis/branches/upstream/current/images/icons/Makefile.am
   packages/qgis/branches/upstream/current/images/north_arrows/Makefile.am
   packages/qgis/branches/upstream/current/images/splash/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/biology/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/geometric/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/gpsicons/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/icon/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/north_arrows/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/sport/Makefile.am
   packages/qgis/branches/upstream/current/images/svg/symbol/Makefile.am
   packages/qgis/branches/upstream/current/images/themes/Makefile.am
   packages/qgis/branches/upstream/current/images/themes/default/Makefile.am
   packages/qgis/branches/upstream/current/images/themes/default/mActionStartEditing.png
   packages/qgis/branches/upstream/current/images/themes/default/mActionStopEditing.png
   packages/qgis/branches/upstream/current/images/themes/default/mIconOverview.png
   packages/qgis/branches/upstream/current/images/themes/nkids/Makefile.am
   packages/qgis/branches/upstream/current/install-sh
   packages/qgis/branches/upstream/current/missing
   packages/qgis/branches/upstream/current/mkinstalldirs
   packages/qgis/branches/upstream/current/qgis.kdevelop
   packages/qgis/branches/upstream/current/qgis.pro
   packages/qgis/branches/upstream/current/qgis.spec.in
   packages/qgis/branches/upstream/current/qgsconfig.h.in_cmake
   packages/qgis/branches/upstream/current/qgssvnversion.h.in_cmake
   packages/qgis/branches/upstream/current/resources/Makefile.am
   packages/qgis/branches/upstream/current/resources/context_help/985715179_sv_SE
   packages/qgis/branches/upstream/current/resources/context_help/995980174_sv_SE
   packages/qgis/branches/upstream/current/resources/context_help/Makefile.am
   packages/qgis/branches/upstream/current/settings.pro
   packages/qgis/branches/upstream/current/src/.indent.pro
   packages/qgis/branches/upstream/current/src/Makefile.am
   packages/qgis/branches/upstream/current/src/Makefile.win
   packages/qgis/branches/upstream/current/src/composer/
   packages/qgis/branches/upstream/current/src/core/Makefile.am
   packages/qgis/branches/upstream/current/src/core/Makefile.win
   packages/qgis/branches/upstream/current/src/core/core.pro
   packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.cpp
   packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.h
   packages/qgis/branches/upstream/current/src/core/qgscolortable.cpp
   packages/qgis/branches/upstream/current/src/core/qgscolortable.h
   packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.cpp
   packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.h
   packages/qgis/branches/upstream/current/src/core/qgsdatamanager.cpp
   packages/qgis/branches/upstream/current/src/core/qgsdatamanager.h
   packages/qgis/branches/upstream/current/src/core/qgsdatasource.cpp
   packages/qgis/branches/upstream/current/src/core/qgsdatasource.h
   packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.cpp
   packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.h
   packages/qgis/branches/upstream/current/src/core/qgslinesymbol.cpp
   packages/qgis/branches/upstream/current/src/core/qgslinesymbol.h
   packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.h
   packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.h
   packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.cpp
   packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.h
   packages/qgis/branches/upstream/current/src/core/qgspluginitem.cpp
   packages/qgis/branches/upstream/current/src/core/qgspluginitem.h
   packages/qgis/branches/upstream/current/src/core/qgspluginregistry.cpp
   packages/qgis/branches/upstream/current/src/core/qgspluginregistry.h
   packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.cpp
   packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.h
   packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.cpp
   packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.h
   packages/qgis/branches/upstream/current/src/core/qgsrenderer.cpp
   packages/qgis/branches/upstream/current/src/core/qgsrenderer.h
   packages/qgis/branches/upstream/current/src/core/qgsrenderitem.cpp
   packages/qgis/branches/upstream/current/src/core/qgsrenderitem.h
   packages/qgis/branches/upstream/current/src/core/qgssymbol.cpp
   packages/qgis/branches/upstream/current/src/core/qgssymbol.h
   packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.cpp
   packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.h
   packages/qgis/branches/upstream/current/src/designer/Makefile.am
   packages/qgis/branches/upstream/current/src/gui/Makefile.am
   packages/qgis/branches/upstream/current/src/gui/Makefile.win
   packages/qgis/branches/upstream/current/src/gui/gui.pro
   packages/qgis/branches/upstream/current/src/gui/guiapp.pro
   packages/qgis/branches/upstream/current/src/gui/guilib.pro
   packages/qgis/branches/upstream/current/src/gui/main.cpp
   packages/qgis/branches/upstream/current/src/gui/qgis.ico
   packages/qgis/branches/upstream/current/src/gui/qgis_win32.rc
   packages/qgis/branches/upstream/current/src/gui/qgisapp.cpp
   packages/qgis/branches/upstream/current/src/gui/qgisapp.h
   packages/qgis/branches/upstream/current/src/gui/qgisiface.cpp
   packages/qgis/branches/upstream/current/src/gui/qgisiface.h
   packages/qgis/branches/upstream/current/src/gui/qgsabout.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsabout.h
   packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.h
   packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsattributetable.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsattributetable.h
   packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.h
   packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.h
   packages/qgis/branches/upstream/current/src/gui/qgsclipboard.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsclipboard.h
   packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.h
   packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.h
   packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.h
   packages/qgis/branches/upstream/current/src/gui/qgscsexception.h
   packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.h
   packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.h
   packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.h
   packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.h
   packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.h
   packages/qgis/branches/upstream/current/src/gui/qgslabel.cpp
   packages/qgis/branches/upstream/current/src/gui/qgslabel.h
   packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.h
   packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.h
   packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.cpp
   packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.h
   packages/qgis/branches/upstream/current/src/gui/qgsludialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsludialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayerinterface.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaprender.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaprender.h
   packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.h
   packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsmeasure.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmeasure.h
   packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.h
   packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.h
   packages/qgis/branches/upstream/current/src/gui/qgsoptions.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsoptions.h
   packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.h
   packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.h
   packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.h
   packages/qgis/branches/upstream/current/src/gui/qgspgutil.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspgutil.h
   packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.h
   packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.h
   packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.cpp
   packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.h
   packages/qgis/branches/upstream/current/src/gui/qgsproject.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsproject.h
   packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.h
   packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.h
   packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.h
   packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.cpp
   packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.h
   packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.h
   packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.h
   packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.h
   packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.h
   packages/qgis/branches/upstream/current/src/gui/qgstable.h
   packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.h
   packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.h
   packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.h
   packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.h
   packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.h
   packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.h
   packages/qgis/branches/upstream/current/src/helpviewer/Makefile.am
   packages/qgis/branches/upstream/current/src/helpviewer/helpviewer.pro
   packages/qgis/branches/upstream/current/src/legend/
   packages/qgis/branches/upstream/current/src/mac/Contents/Makefile.am
   packages/qgis/branches/upstream/current/src/mac/Contents/Resources/Makefile.am
   packages/qgis/branches/upstream/current/src/mac/Makefile.am
   packages/qgis/branches/upstream/current/src/platform.pro.in
   packages/qgis/branches/upstream/current/src/plugins/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/copyright_label.pro
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/delimited_text.pro
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/geoprocessing.pro
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.pro
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/gps_importer.pro
   packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/grass/config/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grass/grass.pro
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.region.region.1 .png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.report.1 copia 4.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.patch.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/grid_maker.pro
   packages/qgis/branches/upstream/current/src/plugins/launcher/
   packages/qgis/branches/upstream/current/src/plugins/maplayer/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayer.pro
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/north_arrow.pro
   packages/qgis/branches/upstream/current/src/plugins/plugin_builder.pl
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui.h
   packages/qgis/branches/upstream/current/src/plugins/plugins.pro
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/scale_bar.pro
   packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.win
   packages/qgis/branches/upstream/current/src/plugins/spit/spit.pro
   packages/qgis/branches/upstream/current/src/plugins/wfs/Makefile.am
   packages/qgis/branches/upstream/current/src/plugins/wfs/wfs.pro
   packages/qgis/branches/upstream/current/src/providers/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/delimitedtext.pro
   packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/gpx/gpx.pro
   packages/qgis/branches/upstream/current/src/providers/grass/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/grass/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/grass/grass.pro
   packages/qgis/branches/upstream/current/src/providers/mysql/mysql.pro
   packages/qgis/branches/upstream/current/src/providers/ogr/.indent.pro
   packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/ogr/ogr.pro
   packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/postgres/postgres.pro
   packages/qgis/branches/upstream/current/src/providers/providers.pro
   packages/qgis/branches/upstream/current/src/providers/wfs/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/wfs/wfs.pro
   packages/qgis/branches/upstream/current/src/providers/wms/Makefile.am
   packages/qgis/branches/upstream/current/src/providers/wms/Makefile.win
   packages/qgis/branches/upstream/current/src/providers/wms/wms.pro
   packages/qgis/branches/upstream/current/src/qgislib.pro
   packages/qgis/branches/upstream/current/src/raster/
   packages/qgis/branches/upstream/current/src/src.pro
   packages/qgis/branches/upstream/current/src/ui/Makefile.am
   packages/qgis/branches/upstream/current/src/ui/ui.pro
   packages/qgis/branches/upstream/current/src/widgets/
   packages/qgis/branches/upstream/current/svnscript.cmake.in_cmake
   packages/qgis/branches/upstream/current/tests/Makefile.am
   packages/qgis/branches/upstream/current/tests/algorithms/projections/projections.pro
   packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/qgsproject.pro
   packages/qgis/branches/upstream/current/tests/src/Makefile.am
   packages/qgis/branches/upstream/current/tests/src/core/Makefile.am
   packages/qgis/branches/upstream/current/tests/src/core/testqgsbookmarkitem.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgscolortable.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgscontexthelp.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgscustomsymbol.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsdatamanager.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsdatasource.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsdistancearea.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsfeature.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsfeatureattribute.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsfield.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometry.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometryvertexindex.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgslabelattributes.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsline.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgslinesymbol.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsmarkercatalogue.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsnumericsortlistviewitem.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgspluginitem.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgspluginregistry.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgspoint.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgspolygonsymbol.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidercountcalcevent.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderextentcalcevent.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidermetadata.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderregistry.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsrangerenderitem.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsrasterdataprovider.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsrect.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderer.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderitem.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsscalecalculator.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgssearchstring.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgssearchtreenode.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgssymbol.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsvectordataprovider.cpp
   packages/qgis/branches/upstream/current/tests/src/gui/
   packages/qgis/branches/upstream/current/tests/src/raster/
   packages/qgis/branches/upstream/current/tools/Makefile.am
   packages/qgis/branches/upstream/current/tools/mapserver_export/Makefile.am
   packages/qgis/branches/upstream/current/tools/mapserver_export/mapserver_export.pro
   packages/qgis/branches/upstream/current/tools/qgis_config/Makefile.am
   packages/qgis/branches/upstream/current/update_translations.bat
   packages/qgis/branches/upstream/current/update_ts_files.sh
   packages/qgis/branches/upstream/current/winbuild.sh
Modified:
   packages/qgis/branches/upstream/current/AUTHORS
   packages/qgis/branches/upstream/current/BUGS
   packages/qgis/branches/upstream/current/CMakeLists.txt
   packages/qgis/branches/upstream/current/CONTRIBUTORS
   packages/qgis/branches/upstream/current/ChangeLog
   packages/qgis/branches/upstream/current/INSTALL
   packages/qgis/branches/upstream/current/INSTALL.t2t
   packages/qgis/branches/upstream/current/TODO
   packages/qgis/branches/upstream/current/cmake/Bison.cmake
   packages/qgis/branches/upstream/current/cmake/FindGDAL.cmake
   packages/qgis/branches/upstream/current/cmake/FindGRASS.cmake
   packages/qgis/branches/upstream/current/cmake/Python.cmake
   packages/qgis/branches/upstream/current/doc/index.html
   packages/qgis/branches/upstream/current/i18n/qgis_cs_CZ.ts
   packages/qgis/branches/upstream/current/i18n/qgis_de.ts
   packages/qgis/branches/upstream/current/i18n/qgis_es.ts
   packages/qgis/branches/upstream/current/i18n/qgis_fr.ts
   packages/qgis/branches/upstream/current/i18n/qgis_id.ts
   packages/qgis/branches/upstream/current/i18n/qgis_it.ts
   packages/qgis/branches/upstream/current/i18n/qgis_ja.ts
   packages/qgis/branches/upstream/current/i18n/qgis_lv.ts
   packages/qgis/branches/upstream/current/i18n/qgis_mn.ts
   packages/qgis/branches/upstream/current/i18n/qgis_nl.ts
   packages/qgis/branches/upstream/current/i18n/qgis_pl_PL.ts
   packages/qgis/branches/upstream/current/i18n/qgis_pt_BR.ts
   packages/qgis/branches/upstream/current/i18n/qgis_ro.ts
   packages/qgis/branches/upstream/current/i18n/qgis_ru.ts
   packages/qgis/branches/upstream/current/i18n/qgis_sk.ts
   packages/qgis/branches/upstream/current/i18n/qgis_sv.ts
   packages/qgis/branches/upstream/current/i18n/qgis_vi.ts
   packages/qgis/branches/upstream/current/i18n/qgis_zh_CN.ts
   packages/qgis/branches/upstream/current/images/splash/splash.png
   packages/qgis/branches/upstream/current/images/splash/splash.xcf
   packages/qgis/branches/upstream/current/resources/context_help/151694916_sk_SK
   packages/qgis/branches/upstream/current/resources/context_help/165149618_sk_SK
   packages/qgis/branches/upstream/current/resources/context_help/831088384_sk_SK
   packages/qgis/branches/upstream/current/src/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/core/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/core/qgis.cpp
   packages/qgis/branches/upstream/current/src/core/qgis.h
   packages/qgis/branches/upstream/current/src/core/qgsapplication.cpp
   packages/qgis/branches/upstream/current/src/core/qgsapplication.h
   packages/qgis/branches/upstream/current/src/core/qgsclipper.h
   packages/qgis/branches/upstream/current/src/core/qgscontexthelp.h
   packages/qgis/branches/upstream/current/src/core/qgsdataprovider.h
   packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.h
   packages/qgis/branches/upstream/current/src/core/qgsdistancearea.cpp
   packages/qgis/branches/upstream/current/src/core/qgsdistancearea.h
   packages/qgis/branches/upstream/current/src/core/qgsexception.h
   packages/qgis/branches/upstream/current/src/core/qgsfeature.cpp
   packages/qgis/branches/upstream/current/src/core/qgsfeature.h
   packages/qgis/branches/upstream/current/src/core/qgsfield.cpp
   packages/qgis/branches/upstream/current/src/core/qgsfield.h
   packages/qgis/branches/upstream/current/src/core/qgsgeometry.cpp
   packages/qgis/branches/upstream/current/src/core/qgsgeometry.h
   packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.cpp
   packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.h
   packages/qgis/branches/upstream/current/src/core/qgshttptransaction.cpp
   packages/qgis/branches/upstream/current/src/core/qgshttptransaction.h
   packages/qgis/branches/upstream/current/src/core/qgslabelattributes.h
   packages/qgis/branches/upstream/current/src/core/qgsline.h
   packages/qgis/branches/upstream/current/src/core/qgslogger.cpp
   packages/qgis/branches/upstream/current/src/core/qgslogger.h
   packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.cpp
   packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.h
   packages/qgis/branches/upstream/current/src/core/qgspoint.cpp
   packages/qgis/branches/upstream/current/src/core/qgspoint.h
   packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.cpp
   packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.h
   packages/qgis/branches/upstream/current/src/core/qgsprovidercountcalcevent.h
   packages/qgis/branches/upstream/current/src/core/qgsproviderextentcalcevent.h
   packages/qgis/branches/upstream/current/src/core/qgsprovidermetadata.h
   packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.cpp
   packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.h
   packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.cpp
   packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.h
   packages/qgis/branches/upstream/current/src/core/qgsrect.h
   packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.cpp
   packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.h
   packages/qgis/branches/upstream/current/src/core/qgssearchstring.h
   packages/qgis/branches/upstream/current/src/core/qgssearchstringlexer.ll
   packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.cpp
   packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.h
   packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.cpp
   packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.h
   packages/qgis/branches/upstream/current/src/gui/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/gui/qgisinterface.cpp
   packages/qgis/branches/upstream/current/src/gui/qgisinterface.h
   packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.h
   packages/qgis/branches/upstream/current/src/gui/qgscursors.cpp
   packages/qgis/branches/upstream/current/src/gui/qgscursors.h
   packages/qgis/branches/upstream/current/src/gui/qgsencodingfiledialog.h
   packages/qgis/branches/upstream/current/src/gui/qgslayerprojectionselector.h
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.h
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.h
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.h
   packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptool.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptool.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolpan.h
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.h
   packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.h
   packages/qgis/branches/upstream/current/src/gui/qgsrubberband.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsrubberband.h
   packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.cpp
   packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.h
   packages/qgis/branches/upstream/current/src/helpviewer/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/helpviewer/main.cpp
   packages/qgis/branches/upstream/current/src/helpviewer/qgshelpserver.cpp
   packages/qgis/branches/upstream/current/src/helpviewer/qgshelpviewer.cpp
   packages/qgis/branches/upstream/current/src/mac/Contents/Info.plist.in
   packages/qgis/branches/upstream/current/src/plugins/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/copyright_label/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.h
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.h
   packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.cpp
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.h
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbufferbase.ui
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.cpp
   packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.qrc
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialogbase.ui
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.h
   packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialogbase.ui
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsbabelformat.h
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevice.cpp
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevicedialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.h
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.h
   packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpspluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/grass/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/grass/config/default.qgc
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.average.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bilinear.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bitpattern.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.describe.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.fill.dir.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.ascii.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.gdal.loc.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.kappa.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mapcalculator.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.arc.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.bin.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.pov.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.tiff.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.contour.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.contour.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw2.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw2.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.1.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.db.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.gml.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.mapinfo.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.shape.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.overlay.xor.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.qgm
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.surf.idw.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.surf.rst.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.univar.2.png
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedittools.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodel.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapsetbase.ui
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassselect.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.h
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.cpp
   packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.h
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/dbfopen.c
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.cpp
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.h
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/main.cpp
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefile.h
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/shpopen.c
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.c
   packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.h
   packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.cpp
   packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.h
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/north_arrow/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/README
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/README.whatnext
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/qgisplugin.h
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.h
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.cpp
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.h
   packages/qgis/branches/upstream/current/src/plugins/scale_bar/pluginguibase.ui
   packages/qgis/branches/upstream/current/src/plugins/spit/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/spit/main.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.h
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialogbase.ui
   packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsbase.ui
   packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.h
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.h
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.h
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitbase.ui
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.h
   packages/qgis/branches/upstream/current/src/plugins/spit/spit_icons.h
   packages/qgis/branches/upstream/current/src/plugins/wfs/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.cpp
   packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.h
   packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.cpp
   packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.h
   packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselectbase.ui
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.h
   packages/qgis/branches/upstream/current/src/providers/gpx/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.cpp
   packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.h
   packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.h
   packages/qgis/branches/upstream/current/src/providers/grass/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/grass/provider.cpp
   packages/qgis/branches/upstream/current/src/providers/grass/qgsgrass.cpp
   packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.h
   packages/qgis/branches/upstream/current/src/providers/mysql/testmysql.cpp
   packages/qgis/branches/upstream/current/src/providers/ogr/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.cpp
   packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.h
   packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.h
   packages/qgis/branches/upstream/current/src/providers/postgres/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.cpp
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.h
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.cpp
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.h
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.cpp
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.h
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.cpp
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.h
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.h
   packages/qgis/branches/upstream/current/src/providers/wfs/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.h
   packages/qgis/branches/upstream/current/src/providers/wms/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.cpp
   packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.h
   packages/qgis/branches/upstream/current/src/ui/CMakeLists.txt
   packages/qgis/branches/upstream/current/src/ui/qgisappbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgscustomprojectiondialogbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsgeomtypedialogbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsgraduatedsymboldialogbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsoptionsbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsprojectpropertiesbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsrasterlayerpropertiesbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgssinglesymboldialogbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsuniquevaluedialogbase.ui
   packages/qgis/branches/upstream/current/src/ui/qgsvectorlayerpropertiesbase.ui
   packages/qgis/branches/upstream/current/tests/algorithms/projections/main.cpp
   packages/qgis/branches/upstream/current/tests/algorithms/projections/projectioncshandlingtest.h
   packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/main.cpp
   packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/projecttest.h
   packages/qgis/branches/upstream/current/tests/src/core/runtests.sh
   packages/qgis/branches/upstream/current/tests/src/core/test_builder.pl
   packages/qgis/branches/upstream/current/tests/src/core/test_suite_builder.sh
   packages/qgis/branches/upstream/current/tests/src/core/test_template.cpp
   packages/qgis/branches/upstream/current/tests/src/core/testqgsapplication.cpp
   packages/qgis/branches/upstream/current/tests/src/runtests.sh
   packages/qgis/branches/upstream/current/tools/mapserver_export/CMakeLists.txt
   packages/qgis/branches/upstream/current/tools/mapserver_export/ms_export.py
   packages/qgis/branches/upstream/current/tools/mapserver_export/ms_main.cpp
   packages/qgis/branches/upstream/current/tools/mapserver_export/msexport.i
   packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.cpp
   packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.h
   packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexportbase.ui
   packages/qgis/branches/upstream/current/tools/mapserver_export/test_export.py
   packages/qgis/branches/upstream/current/win_build/qgis.nsi
   packages/qgis/branches/upstream/current/win_build/qgis_window_geometry.nsh
Log:
[svn-upgrade] Integrating new upstream version, qgis (0.9.0)

Added: packages/qgis/branches/upstream/current/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+ID
+autogen.sh
+Makefile
+Makefile.in
+Makefile.win.rules
+aclocal.m4
+compile
+config.guess
+config.log
+config.status
+config.sub
+configure
+libtool
+ltmain.sh
+qgis.spec
+qgsconfig.h
+qgsconfig.h.in
+stamp-h1
+*.pcs
+*.kdevses
+*.loT
+*.in
+*.swp
+*~
+.deps
+.libs

Modified: packages/qgis/branches/upstream/current/AUTHORS
===================================================================
--- packages/qgis/branches/upstream/current/AUTHORS	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/AUTHORS	2007-10-31 12:20:11 UTC (rev 1247)
@@ -25,8 +25,7 @@
 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 athotmail.com>
+Godofredo Contreras	      <frdcn athotmail.com>
 Martin Dobias	<wonder.sk at gmail.com>
 Brendan Morley	<morb at beagle.com.au>
 Magnus Homann	<magnus at homann.se>
-Peter Ersts	<ersts at amnh.org>

Modified: packages/qgis/branches/upstream/current/BUGS
===================================================================
--- packages/qgis/branches/upstream/current/BUGS	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/BUGS	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,4 @@
-$Id: BUGS 5708 2006-08-18 10:26:59Z g_j_m $
+$Id: BUGS 7104 2007-07-27 16:26:53Z timlinux $
 -----------------------------------------------------------------------------
 See the QGIS ticket/bug database at
 

Modified: packages/qgis/branches/upstream/current/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,233 +1,286 @@
-
-PROJECT(qgis0.8.1)
-
-# TODO:
-# - install includes for libs
-# - nice output when configured
-# - rename *.ui files to have the same filename as their implementation
-#   e.g. instead of blahblahbase.ui use blahblah.ui
-#   because it's more common in Qt4
-
-#############################################################
-# CMake settings
-
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3)
-
-SET(CMAKE_COLOR_MAKEFILE ON)
-
-# set path to additional CMake modules
-SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
-
-# it's possible to set PLUGINS_ALSO_BINARIES to TRUE
-# then some plugins that can run as standalone apps will be built
-# also as standalone apps
-SET (PLUGINS_ALSO_BINARIES FALSE)
-
-
-# try to configure and build GRASS plugin by default
-SET (WITH_GRASS TRUE CACHE BOOL "Determines whether GRASS plugin should be built")
-SET (GRASS_PREFIX "" CACHE PATH "Path to GRASS base directory")
-
-# try to configure and build python bindings by default
-SET (WITH_BINDINGS TRUE CACHE BOOL "Determines whether python bindings should be built")
-
-
-#############################################################
-# check if lexer and parser are not missing
-# http://www.mail-archive.com/cmake@cmake.org/msg02861.html
-
-INCLUDE(Flex)
-
-FIND_FLEX()
-
-IF (NOT FLEX_EXECUTABLE)
-  MESSAGE(FATAL_ERROR "Couldn't find Flex")
-ENDIF (NOT FLEX_EXECUTABLE)
-
-INCLUDE(Bison)
-
-FIND_BISON()
-
-IF (NOT BISON_EXECUTABLE)
-  MESSAGE(FATAL_ERROR "Couldn't find Bison")
-ENDIF (NOT BISON_EXECUTABLE)
-
-#############################################################
-# search for dependencies
-
-# required
-FIND_PACKAGE(Proj)
-FIND_PACKAGE(Sqlite3)
-FIND_PACKAGE(GEOS)
-FIND_PACKAGE(GDAL)
-
-# optional
-FIND_PACKAGE(Postgres) # PostgreSQL provider, SPIT plugin
-FIND_PACKAGE(Expat)    # GPS importer plugin
-FIND_PACKAGE(GSL)      # Georeferencer
-FIND_PACKAGE(GRASS)    # GRASS plugin
-
-# python support:
-# - mapserver export tool
-# - bindings
-INCLUDE (Python) # file cmake/Python.cmake
-
-
-IF (NOT PROJ_FOUND OR NOT SQLITE3_FOUND OR NOT GEOS_FOUND OR NOT GDAL_FOUND)
-  MESSAGE (SEND_ERROR "Some dependencies were not found!")
-ENDIF (NOT PROJ_FOUND OR NOT SQLITE3_FOUND OR NOT GEOS_FOUND OR NOT GDAL_FOUND)
-
-IF (POSTGRES_FOUND)
-  # following variable is used in qgsconfig.h
-  SET (HAVE_POSTGRESQL TRUE)
-ENDIF (POSTGRES_FOUND)
-
-
-#############################################################
-# search for Qt4
-
-SET( QT_USE_QT3SUPPORT TRUE )
-SET( QT_USE_QTXML      TRUE )
-SET( QT_USE_QTNETWORK  TRUE )
-SET( QT_USE_QTSVG      TRUE )
-# TODO: should not be needed, report it to CMake devs
-IF (APPLE AND QT_USE_QT3SUPPORT)
-  SET( QT_USE_QTSQL    TRUE )
-ENDIF (APPLE AND QT_USE_QT3SUPPORT)
-
-FIND_PACKAGE(Qt4 REQUIRED)
-
-INCLUDE( ${QT_USE_FILE} )
-
-FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
-    NAMES lrelease
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-#############################################################
-# enable warnings
-
-ADD_DEFINITIONS( -Wall )
-
-IF (CMAKE_BUILD_TYPE MATCHES Debug)
-  ADD_DEFINITIONS(-DQGISDEBUG=1)
-ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
-
-#############################################################
-# platform specific stuff
-
-IF (WIN32)
-
-  SET (QGIS_BIN_DIR    ${CMAKE_INSTALL_PREFIX})
-  SET (QGIS_DATA_DIR   ${CMAKE_INSTALL_PREFIX}/share/qgis)
-  SET (QGIS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/lib/qgis)
-  SET (QGIS_SOURCE_DIR ${CMAKE_SOURCE_DIR})
-  SET (QGIS_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
-
-  SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--enable-runtime-pseudo-reloc")
-  SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--enable-runtime-pseudo-reloc")
-ELSE (WIN32)
-
-  IF (APPLE)
-    # for Mac OS X, everything is put inside an application bundle
-    SET (CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app/Contents/MacOS)
-    # path for library references
-    SET (CMAKE_INSTALL_NAME_DIR @executable_path/lib)
-    INCLUDE_DIRECTORIES(/usr/include)
-  ENDIF (APPLE)
-
-  # common for MAC and UNIX
-  SET (QGIS_BIN_DIR    ${CMAKE_INSTALL_PREFIX}/bin)
-  SET (QGIS_DATA_DIR   ${CMAKE_INSTALL_PREFIX}/share/qgis)
-  SET (QGIS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/lib/qgis)
-  SET (QGIS_SOURCE_DIR ${CMAKE_SOURCE_DIR})
-  SET (QGIS_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/qgis")
-
-  IF (UNIX AND NOT APPLE)
-    ADD_DEFINITIONS(-DPREFIX=\\"${CMAKE_INSTALL_PREFIX}\\")
-    ADD_DEFINITIONS(-DPLUGINPATH=\\"${QGIS_PLUGIN_DIR}\\")
-    ADD_DEFINITIONS(-DPKGDATAPATH=\\"${QGIS_DATA_DIR}\\")
-  ENDIF (UNIX AND NOT APPLE)
-
-ENDIF (WIN32)
-
-
-IF (WIN32)
-  # expect that classes are being imported
-  # Note: MSVC doesn't like when the macros are quotes
-  # and MSYS doesn't like them unqouted (bacause of braces)
-  IF (MSVC)
-    ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllimport)")
-    ADD_DEFINITIONS("-DGUI_EXPORT=__declspec(dllimport)")
-  ELSE (MSVC)
-    ADD_DEFINITIONS("\"-DCORE_EXPORT=__declspec(dllimport)\"")
-    ADD_DEFINITIONS("\"-DGUI_EXPORT=__declspec(dllimport)\"")
-  ENDIF (MSVC)
-ELSE (WIN32)
-  # other compilers don't use that MSVC construct
-  ADD_DEFINITIONS(-DCORE_EXPORT=)
-  ADD_DEFINITIONS(-DGUI_EXPORT=)
-ENDIF (WIN32)
-
-
-#############################################################
-# create qgsconfig.h
-
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/qgsconfig.h.in_cmake ${CMAKE_BINARY_DIR}/qgsconfig.h)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/qgsconfig.h DESTINATION ${QGIS_INCLUDE_DIR})
-
-INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-#############################################################
-# create qgssvnversion.h
-# see http://public.kitware.com/pipermail/cmake/2006-July/010299.html
-
-# We only do this if we are in a .svn dir
-
-FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn)
-
-IF (NOT SVN_MARKER)
-  SET (SVN_MARKER ${CMAKE_SOURCE_DIR}/CMakeLists.txt)  # Dummy file
-ENDIF (NOT SVN_MARKER)
-# Add a custom command to drive the svn script whenever the svn entries
-# file changes.
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/svnscript.cmake.in_cmake
-               ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
-	       @ONLY)
-
-ADD_CUSTOM_COMMAND (
-  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
-  DEPENDS ${SVN_MARKER}
-  COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
-)
-
-# Add a custom target to drive the custom command.
-ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h)
-
-#############################################################
-# process subdirs
-
-SUBDIRS(src doc images resources i18n tools)
-
-
-
-#############################################################
-# install stuff
-
-INSTALL (FILES AUTHORS SPONSORS
-         DESTINATION ${QGIS_DATA_DIR}/doc)
-
-# manual page... install also on windows?
-INSTALL (FILES qgis.man
-         DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1)
-
-#############################################################
-# Uninstall stuff see: http://www.vtk.org/Wiki/CMake_FAQ
-CONFIGURE_FILE(
-  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-  IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
-  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+PROJECT(qgis0.9.0)
+
+# TODO:
+# - install includes for libs
+# - nice output when configured
+# - rename *.ui files to have the same filename as their implementation
+#   e.g. instead of blahblahbase.ui use blahblah.ui
+#   because it's more common in Qt4
+
+#############################################################
+# CMake settings
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3)
+
+SET(CMAKE_COLOR_MAKEFILE ON)
+
+# set path to additional CMake modules
+SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
+# it's possible to set PLUGINS_ALSO_BINARIES to TRUE
+# then some plugins that can run as standalone apps will be built
+# also as standalone apps
+SET (PLUGINS_ALSO_BINARIES FALSE)
+
+
+# try to configure and build GRASS plugin by default
+SET (WITH_GRASS TRUE CACHE BOOL "Determines whether GRASS plugin should be built")
+SET (GRASS_PREFIX "" CACHE PATH "Path to GRASS base directory")
+
+# try to configure and build python bindings by default
+SET (WITH_BINDINGS TRUE CACHE BOOL "Determines whether python bindings should be built")
+
+# By default bindings will be installed only to QGIS directory
+# Someone might want to install it to python site-packages directory
+# as otherwise user has to use PYTHONPATH environemnt variable to add
+# QGIS bindings to package search path
+SET (BINDINGS_GLOBAL_INSTALL FALSE CACHE BOOL "Install bindings to global python directory? (might need root)")
+
+# Compile flag. Make it posible to turn it off.
+SET (PEDANTIC FALSE CACHE BOOL "Determines if we should compile with -Wall -Werror.")
+
+# whether unit tests should be build
+SET (ENABLE_TESTS FALSE CACHE BOOL "Build unit tests?")
+
+# hide this variable because building of python bindings might fail
+# if set to other directory than expected
+MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH)
+
+#############################################################
+# check if lexer and parser are not missing
+# http://www.mail-archive.com/cmake@cmake.org/msg02861.html
+
+INCLUDE(Flex)
+
+FIND_FLEX()
+
+IF (NOT FLEX_EXECUTABLE)
+  MESSAGE(FATAL_ERROR "Couldn't find Flex")
+ENDIF (NOT FLEX_EXECUTABLE)
+
+INCLUDE(Bison)
+
+FIND_BISON()
+
+IF (NOT BISON_EXECUTABLE)
+  MESSAGE(FATAL_ERROR "Couldn't find Bison")
+ENDIF (NOT BISON_EXECUTABLE)
+
+#############################################################
+# search for dependencies
+
+# required
+FIND_PACKAGE(Proj)
+FIND_PACKAGE(Sqlite3)
+FIND_PACKAGE(GEOS)
+FIND_PACKAGE(GDAL)
+
+# optional
+FIND_PACKAGE(Postgres) # PostgreSQL provider, SPIT plugin
+FIND_PACKAGE(Expat)    # GPS importer plugin
+FIND_PACKAGE(GSL)      # Georeferencer
+FIND_PACKAGE(GRASS)    # GRASS plugin
+
+# python support:
+# - mapserver export tool
+# - bindings
+INCLUDE (Python) # file cmake/Python.cmake
+
+
+IF (NOT PROJ_FOUND OR NOT SQLITE3_FOUND OR NOT GEOS_FOUND OR NOT GDAL_FOUND)
+  MESSAGE (SEND_ERROR "Some dependencies were not found!")
+ENDIF (NOT PROJ_FOUND OR NOT SQLITE3_FOUND OR NOT GEOS_FOUND OR NOT GDAL_FOUND)
+
+IF (POSTGRES_FOUND)
+  # following variable is used in qgsconfig.h
+  SET (HAVE_POSTGRESQL TRUE)
+ENDIF (POSTGRES_FOUND)
+
+
+#############################################################
+# search for Qt4
+
+SET( QT_USE_QT3SUPPORT TRUE )
+SET( QT_USE_QTXML      TRUE )
+SET( QT_USE_QTNETWORK  TRUE )
+SET( QT_USE_QTSVG      TRUE )
+IF (ENABLE_TESTS)
+  SET( QT_USE_QTTEST  TRUE )
+  ENABLE_TESTING()
+ENDIF (ENABLE_TESTS)
+# TODO: should not be needed, report it to CMake devs
+IF (APPLE AND QT_USE_QT3SUPPORT)
+  SET( QT_USE_QTSQL    TRUE )
+ENDIF (APPLE AND QT_USE_QT3SUPPORT)
+
+FIND_PACKAGE(Qt4 REQUIRED)
+
+INCLUDE( ${QT_USE_FILE} )
+
+FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
+    NAMES lrelease
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+
+#############################################################
+# enable warnings
+
+IF (PEDANTIC)
+  ADD_DEFINITIONS( -Wall -Werror )
+ENDIF (PEDANTIC)
+
+IF (CMAKE_BUILD_TYPE MATCHES Debug)
+  ADD_DEFINITIONS(-DQGISDEBUG=1)
+ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
+
+#############################################################
+# platform specific stuff
+
+IF (WIN32)
+
+  SET (QGIS_BIN_DIR    ${CMAKE_INSTALL_PREFIX})
+  SET (QGIS_DATA_DIR   ${CMAKE_INSTALL_PREFIX})
+  SET (QGIS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/plugins)
+  SET (QGIS_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
+  SET (QGIS_SOURCE_DIR ${CMAKE_SOURCE_DIR})
+
+ELSE (WIN32)
+
+  IF (APPLE)
+    # for Mac OS X, everything is put inside an application bundle
+    SET (CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app/Contents/MacOS)
+    # path for library references
+    SET (CMAKE_INSTALL_NAME_DIR @executable_path/lib)
+  ENDIF (APPLE)
+
+  # common for MAC and UNIX
+  SET (QGIS_BIN_DIR    ${CMAKE_INSTALL_PREFIX}/bin)
+  SET (QGIS_DATA_DIR   ${CMAKE_INSTALL_PREFIX}/share/qgis)
+  SET (QGIS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/lib/qgis)
+  SET(QGIS_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/qgis")
+  SET (QGIS_SOURCE_DIR ${CMAKE_SOURCE_DIR})
+
+
+  IF (UNIX AND NOT APPLE)
+    ADD_DEFINITIONS(-DPREFIX=\\"${CMAKE_INSTALL_PREFIX}\\")
+    ADD_DEFINITIONS(-DPLUGINPATH=\\"${QGIS_PLUGIN_DIR}\\")
+    ADD_DEFINITIONS(-DPKGDATAPATH=\\"${QGIS_DATA_DIR}\\")
+  ENDIF (UNIX AND NOT APPLE)
+
+ENDIF (WIN32)
+
+
+IF (WIN32)
+  # expect that classes are being imported
+  # Note: MSVC doesn't like when the macros are quotes
+  # and MSYS doesn't like them unqouted (bacause of braces)
+  IF (MSVC)
+    ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllimport)")
+    ADD_DEFINITIONS("-DGUI_EXPORT=__declspec(dllimport)")
+  ELSE (MSVC)
+    ADD_DEFINITIONS("\"-DCORE_EXPORT=__declspec(dllimport)\"")
+    ADD_DEFINITIONS("\"-DGUI_EXPORT=__declspec(dllimport)\"")
+  ENDIF (MSVC)
+ELSE (WIN32)
+  # other compilers don't use that MSVC construct
+  ADD_DEFINITIONS(-DCORE_EXPORT=)
+  ADD_DEFINITIONS(-DGUI_EXPORT=)
+ENDIF (WIN32)
+
+
+#############################################################
+# create qgsconfig.h
+
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake_templates/qgsconfig.h.in ${CMAKE_BINARY_DIR}/qgsconfig.h)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/qgsconfig.h DESTINATION ${QGIS_INCLUDE_DIR})
+
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
+
+#############################################################
+# create qgssvnversion.h
+
+FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn)
+
+IF (NOT SVN_MARKER)
+  SET (SVN_MARKER ${CMAKE_SOURCE_DIR}/CMakeLists.txt)  # Dummy file
+ENDIF (NOT SVN_MARKER)
+  # Add a custom command to drive the svn script whenever the svn entries
+  # file changes.
+  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake_templates/svnscript.cmake.in_cmake
+                ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
+                @ONLY)
+
+  ADD_CUSTOM_COMMAND (
+    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+    DEPENDS ${SVN_MARKER}
+    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
+)
+
+ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h)
+
+#############################################################
+# process subdirs
+
+SUBDIRS(src doc images resources i18n tools)
+
+IF (HAVE_PYTHON)
+  SUBDIRS (python)
+ENDIF (HAVE_PYTHON)
+
+IF (ENABLE_TESTS)
+  SUBDIRS(tests)
+ENDIF (ENABLE_TESTS)
+
+#############################################################
+# install stuff
+
+INSTALL (FILES AUTHORS SPONSORS
+         DESTINATION ${QGIS_DATA_DIR}/doc)
+
+# manual page... install also on windows?
+INSTALL (FILES qgis.man
+         DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1)
+
+
+#############################################################
+# Uninstall stuff see: http://www.vtk.org/Wiki/CMake_FAQ
+CONFIGURE_FILE(
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_templates/cmake_uninstall.cmake.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+  IMMEDIATE @ONLY)
+
+ADD_CUSTOM_TARGET(uninstall
+  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+#############################################################
+# Enable packaging
+
+INCLUDE(InstallRequiredSystemLibraries)
+
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Quantum GIS")
+SET(CPACK_PACKAGE_VENDOR "Tim Sutton")
+SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
+SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
+SET(CPACK_PACKAGE_VERSION_MAJOR "0")
+SET(CPACK_PACKAGE_VERSION_MINOR "9")
+SET(CPACK_PACKAGE_VERSION_PATCH "0")
+SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
+IF(WIN32 AND NOT UNIX)
+  # There is a bug in NSI that does not handle full unix paths properly. Make
+  # sure there is at least one set of four (4) backlasshes.
+  SET(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/win_build\\\\sidebar.bmp")
+  SET(CPACK_NSIS_INSTALLED_ICON_NAME "\\\\qgis.exe")
+  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} Quantum GIS")
+  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\qgis.org")
+  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\qgis.org")
+  SET(CPACK_NSIS_CONTACT "tim at linfiniti.com")
+  SET(CPACK_NSIS_MODIFY_PATH ON)
+ELSE(WIN32 AND NOT UNIX)
+  #SET(CPACK_STRIP_FILES "Quantum GIS")
+  #SET(CPACK_SOURCE_STRIP_FILES "")
+ENDIF(WIN32 AND NOT UNIX)
+SET(CPACK_PACKAGE_EXECUTABLES "qgis" "QGIS")
+INCLUDE(CPack)
+

Modified: packages/qgis/branches/upstream/current/CONTRIBUTORS
===================================================================
--- packages/qgis/branches/upstream/current/CONTRIBUTORS	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/CONTRIBUTORS	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,12 +12,12 @@
 Hyao (IRC nickname)
 Jean-Denis Giguere 
 Jerrit Collord
-Lubos Balazovic
 Magnus Homann
 Markus Neteler
-Mateusz Loskot
 Maurizio Napolitano
 Paul Ramsey
+Peter Ersts
 Tom Russo
 Tyler Mitchell
 Yann Chemin 
+Faunalia (http://www.faunalia.it)

Modified: packages/qgis/branches/upstream/current/ChangeLog
===================================================================
--- packages/qgis/branches/upstream/current/ChangeLog	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/ChangeLog	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,16 @@
 /* ChangeLog,v 1.214 2004/11/12 00:42:21 gsherman Exp */
 ------------------------------------------------------------------------------
+Version 0.9 'Ganymede'
+** Python bindings - This is the major focus of this release
+   it is now possible to create plugins using python. It is also
+   possible to create GIS enabled applications written in python 
+   that use the QGIS libraries.
+** Removed automake build system - QGIS now needs CMake for compilation.
+** Many new GRASS tools added (with thanks to http://faunalia.it/)
+** Map Composer updates
+** Crash fix for 2.5D shapefiles
+** The QGIS libraries have been refactored and better organised.
+** Improvements to the GeoReferencer
 
 Version 0.8 'Joesephine' .... development version
 2006-01-23 [timlinux] 0.7.9.10

Added: packages/qgis/branches/upstream/current/Doxyfile
===================================================================
--- packages/qgis/branches/upstream/current/Doxyfile	                        (rev 0)
+++ packages/qgis/branches/upstream/current/Doxyfile	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1237 @@
+# Doxyfile 1.4.6
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "Quantum GIS"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = HEAD
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = api_doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, 
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, 
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, 
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
+# Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output. 
+# The encoding is not always determined by the language that is chosen, 
+# but also whether or not the output is meant for Windows or non-Windows users. 
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
+# forces the Windows encoding (this is the default for the Windows binary), 
+# whereas setting the tag to NO uses a Unix-style encoding (the default for 
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
+# include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from the 
+# version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = ./src
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
+
+FILE_PATTERNS          = 
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = Qgs
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that a graph may be further truncated if the graph's 
+# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH 
+# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), 
+# the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, which results in a white background. 
+# Warning: Depending on the platform used, enabling this option may lead to 
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
+# read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO

Modified: packages/qgis/branches/upstream/current/INSTALL
===================================================================
--- packages/qgis/branches/upstream/current/INSTALL	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/INSTALL	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,57 +1,71 @@
-Compiling QGIS From Source
-Tim Sutton 2007
-%!encoding: iso-8859-1
 
 
 ------------------------------------------------------------------------
 
   1. Introduction
-  2. Building under windows using msys
-    2.1. MSYS:
-    2.2. Qt4.3
-    2.3. Flex and Bison
-    2.4. Python stuff: (optional)
-      2.4.1. Download and install Python - use Windows installer
-      2.4.2. Download SIP and PyQt4 sources
-      2.4.3. Compile SIP
-      2.4.4. Compile PyQt
-      2.4.5. Final python notes
-    2.5. Subversion:
-    2.6. CMake:
-    2.7. QGIS:
-    2.8. Compiling:
-    2.9. Configuration
-    2.10. Compilation and installation
-    2.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)
-    2.12. Create the installation package: (optional)
-  3. Building on Mac OSX using frameworks and cmake (QGIS > 0.8)
-    3.1. Install XCODE
-    3.2. Install Qt4 from .dmg
-    3.3. Install development frameworks for QGIS dependencies
-      3.3.1. Additional Dependencies : GSL
-      3.3.2. Additional Dependencies : Expat
-      3.3.3. Additional Dependencies : SIP
-      3.3.4. Additional Dependencies : PyQt
-      3.3.5. Additional Dependencies : Bison
-    3.4. Install CMAKE for OSX
-    3.5. Install subversion for OSX
-    3.6. Check out QGIS from SVN
-    3.7. Configure the build
-    3.8. GEOS Issues
-    3.9. Building
-  4. Building on GNU/Linux
-    4.1. Building QGIS with Qt4.x
-    4.2. Prepare apt
-    4.3. Install Qt4
-    4.4. Install additional software dependencies required by QGIS
-    4.5. GRASS Specific Steps
-    4.6. Setup ccache (Optional)
-    4.7. Prepare your development environment
-    4.8. Check out the QGIS Source Code
-    4.9. Starting the compile
-    4.10. Running QGIS
-  5. Further help and information
-  6. Authors and Acknowledgments
+  2. General Build Note
+  3. Building under windows using msys
+    3.1. MSYS:
+    3.2. Qt4.3
+    3.3. Flex and Bison
+    3.4. Python stuff: (optional)
+      3.4.1. Download and install Python - use Windows installer
+      3.4.2. Download SIP and PyQt4 sources
+      3.4.3. Compile SIP
+      3.4.4. Compile PyQt
+      3.4.5. Final python notes
+    3.5. Subversion:
+    3.6. CMake:
+    3.7. QGIS:
+    3.8. Compiling:
+    3.9. Configuration
+    3.10. Compilation and installation
+    3.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)
+    3.12. Create the installation package: (optional)
+  4. Building on Mac OSX using frameworks and cmake (QGIS > 0.8)
+    4.1. Install XCODE
+    4.2. Install Qt4 from .dmg
+    4.3. Install development frameworks for QGIS dependencies
+      4.3.1. Additional Dependencies : GSL
+      4.3.2. Additional Dependencies : Expat
+      4.3.3. Additional Dependencies : SIP
+      4.3.4. Additional Dependencies : PyQt
+      4.3.5. Additional Dependencies : Bison
+    4.4. Install CMAKE for OSX
+    4.5. Install subversion for OSX
+    4.6. Check out QGIS from SVN
+    4.7. Configure the build
+    4.8. GEOS Issues
+    4.9. Building
+  5. Building on GNU/Linux
+    5.1. Building QGIS with Qt4.x
+    5.2. Prepare apt
+    5.3. Install Qt4
+    5.4. Install additional software dependencies required by QGIS
+    5.5. GRASS Specific Steps
+    5.6. Setup ccache (Optional)
+    5.7. Prepare your development environment
+    5.8. Check out the QGIS Source Code
+    5.9. Starting the compile
+    5.10. Running QGIS
+  6. Creation of MSYS environment for compilation of Quantum GIS
+    6.1. Initial setup
+      6.1.1. MSYS
+      6.1.2. MinGW
+      6.1.3. Flex and Bison
+    6.2. Installing dependencies
+      6.2.1. Getting ready
+      6.2.2. GDAL level one
+      6.2.3. GRASS
+      6.2.4. GDAL level two
+      6.2.5. GEOS
+      6.2.6. SQLITE
+      6.2.7. GSL
+      6.2.8. EXPAT
+      6.2.9. POSTGRES
+    6.3. Cleanup
+  7. Further help and information
+  8. Authors and Acknowledgments
 
 
 ------------------------------------------------------------------------
@@ -71,11 +85,23 @@
 
 
 
-  2. Building under windows using msys
+  2. General Build Note
+  =====================
+
+At version 0.8.1 QGIS no longer uses the autotools for building. QGIS, like a
+number of major projects (eg. KDE 4.0), now uses cmake for building from
+source. The configure script in this directory simply checks for the existence
+of cmake and provides some clues to build QGIS.
+
+For complete information, see the wiki at:
+   http://wiki.qgis.org/qgiswiki/Building_with_CMake
+
+
+  3. Building under windows using msys
   ====================================
 
 
-	2.1. MSYS:
+	3.1. MSYS:
 	==========
 
 MSYS provides a unix style build environment under windows. We have created a
@@ -92,8 +118,12 @@
 
 http://www.7-zip.org/
 
+If you wish to prepare your msys environment yourself rather than using 
+our pre-made one, detailed instructions are provdided elsewhere in this
+document.
 
-	2.2. Qt4.3
+
+	3.2. Qt4.3
 	==========
 
 Download qt4.3 opensource precompiled edition exe and install (including the
@@ -119,8 +149,17 @@
 If you plan to do some debugging, you'll need to compile debug version of Qt:
 C:\Qt\4.3.0\bin\qtvars.bat compile_debug
 
+Note: there is a problem when compiling debug version of Qt 4.3, the script ends with
+this message  "mingw32-make: *** No rule to make target `debug'.  Stop.". To 
+compile the debug version you have to go out of src directory and execute the
+following command:
 
-	2.3. Flex and Bison
+
+  c:\Qt\4.3.0 make 
+
+
+
+	3.3. Flex and Bison
 	===================
 
 *** Note I think this section can be removed as it should be installed int the
@@ -131,7 +170,7 @@
 (the zip bin) and extract it into c:\msys\mingw\bin
 
 
-	2.4. Python stuff: (optional)
+	3.4. Python stuff: (optional)
 	=============================
 
 Follow this section in case you would like to use Python bindings for QGIS.  To
@@ -139,7 +178,7 @@
 their installer doesn't include some development files which are necessary.
 
 
-		2.4.1. Download and install Python - use Windows installer
+		3.4.1. Download and install Python - use Windows installer
 		==========================================================
 
 (It doesn't matter to what folder you'll install it)
@@ -147,7 +186,7 @@
 http://python.org/download/
 
 
-		2.4.2. Download SIP and PyQt4 sources
+		3.4.2. Download SIP and PyQt4 sources
 		=====================================
 
 http://www.riverbankcomputing.com/Downloads/sip4/sip-4.6.zip
@@ -156,7 +195,7 @@
 Extract each of the above zip files in a temporary directory.
 
 
-		2.4.3. Compile SIP
+		3.4.3. Compile SIP
 		==================
 
 
@@ -167,7 +206,7 @@
 
 
 
-		2.4.4. Compile PyQt
+		3.4.4. Compile PyQt
 		===================
 
 
@@ -178,14 +217,14 @@
 
 
 
-		2.4.5. Final python notes
+		3.4.5. Final python notes
 		=========================
 
 /!\ You can delete the directories with unpacked SIP and PyQt4 sources after a
 successfull install, they're not needed anymore.
 
 
-	2.5. Subversion:
+	3.5. Subversion:
 	================
 
 In order to check out QGIS sources from the repository, you need Subversion
@@ -194,7 +233,7 @@
 http://subversion.tigris.org/files/documents/15/36797/svn-1.4.3-setup.exe
 
 
-	2.6. CMake:
+	3.6. CMake:
 	===========
 
 CMake is build system used by Quantum GIS. Download it from here:
@@ -202,7 +241,7 @@
 http://www.cmake.org/files/v2.4/cmake-2.4.6-win32-x86.exe
 
 
-	2.7. QGIS:
+	3.7. QGIS:
 	==========
 
 Start a cmd.exe window ( Start -> Run -> cmd.exe ) Create development 
@@ -225,7 +264,7 @@
 
 
 
-	2.8. Compiling:
+	3.8. Compiling:
 	===============
 
 As a background read the generic building with CMake notes at the end of 
@@ -249,7 +288,7 @@
 
 
 
-	2.9. Configuration
+	3.9. Configuration
 	==================
 
 
@@ -274,7 +313,7 @@
 When configuration is done, click 'OK' to exit the setup utility.
 
 
-	2.10. Compilation and installation
+	3.10. Compilation and installation
 	==================================
 
 
@@ -282,7 +321,7 @@
 
 
 
-	2.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)
+	3.11. Run qgis.exe from the directory where it's installed (CMAKE_INSTALL_PREFIX)
 	=================================================================================
 
 Make sure to copy all .dll:s needed to the same directory as the qgis.exe
@@ -303,7 +342,7 @@
 used from that place.
 
 
-	2.12. Create the installation package: (optional)
+	3.12. Create the installation package: (optional)
 	=================================================
 
 Downlad and install NSIS from (http://nsis.sourceforge.net/Main_Page)
@@ -313,21 +352,21 @@
 on qgis.nsi and choose the option 'Compile NSIS Script'. 
 
 
-  3. Building on Mac OSX using frameworks and cmake (QGIS > 0.8)
+  4. Building on Mac OSX using frameworks and cmake (QGIS > 0.8)
   ==============================================================
 
 In this approach I will try to avoid as much as possible building dependencies
 from source and rather use frameworks wherever possible.
 
 
-	3.1. Install XCODE
+	4.1. Install XCODE
 	==================
 
 I recommend to get the latest xcode dmg from the Apple XDC Web site. Install
 XCODE after the ~941mb download is complete.
 
 
-	3.2. Install Qt4 from .dmg
+	4.2. Install Qt4 from .dmg
 	==========================
 
 
@@ -361,7 +400,7 @@
 
 
 
-	3.3. Install development frameworks for QGIS dependencies
+	4.3. Install development frameworks for QGIS dependencies
 	=========================================================
 
 Download William Kyngesburye's excellent all in one framework that includes
@@ -384,7 +423,7 @@
 provided as frameworks so we will need to build these from source.
 
 
-		3.3.1. Additional Dependencies : GSL
+		4.3.1. Additional Dependencies : GSL
 		====================================
 
 Retrieve the Gnu Scientific Library from
@@ -404,7 +443,7 @@
 
 
 
-		3.3.2. Additional Dependencies : Expat
+		4.3.2. Additional Dependencies : Expat
 		======================================
 
 Get the expat sources:
@@ -423,7 +462,7 @@
 
 
 
-		3.3.3. Additional Dependencies : SIP
+		4.3.3. Additional Dependencies : SIP
 		====================================
 
 Retrieve the python bindings toolkit SIP from
@@ -444,7 +483,7 @@
 
 
 
-		3.3.4. Additional Dependencies : PyQt
+		4.3.4. Additional Dependencies : PyQt
 		=====================================
 
 Retrieve the python bindings toolkit for Qt from
@@ -466,7 +505,7 @@
 
 
 
-		3.3.5. Additional Dependencies : Bison
+		4.3.5. Additional Dependencies : Bison
 		======================================
 
 The version of bison available by default on Mac OSX is too old so you need to
@@ -488,7 +527,7 @@
 
 
 
-	3.4. Install CMAKE for OSX
+	4.4. Install CMAKE for OSX
 	==========================
 
 Get the latest release from here:
@@ -506,7 +545,7 @@
 Once downloaded open the dmg and run the installer
 
 
-	3.5. Install subversion for OSX
+	4.5. Install subversion for OSX
 	===============================
 
 The http://sourceforge.net/projects/macsvn/ (MacSVN) project has a downloadable
@@ -549,7 +588,7 @@
 Now close and reopen your shell to get the updated vars.
 
 
-	3.6. Check out QGIS from SVN
+	4.6. Check out QGIS from SVN
 	============================
 
 Now we are going to check out the sources for QGIS. First we will create a
@@ -590,7 +629,7 @@
 I suggest you press 'p' to accept the key permanently.
 
 
-	3.7. Configure the build
+	4.7. Configure the build
 	========================
 
 CMake supports out of source build so we will create a 'build' dir for the
@@ -600,11 +639,23 @@
   cd qgis 
   mkdir build 
   cd build 
-  cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ ..
+  cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ -D CMAKE_BUILD_TYPE=Release..
 
 
+To use a specific GRASS version, You can optionally use the following 
+cmake invocation (with modifications to suite your system (thanks William 
+Kyngesburye for this hint):
 
-	3.8. GEOS Issues
+
+  cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ \
+        -D GRASS_INCLUDE_DIR=/Applications/GRASS-6.3.app/Contents/Resources/include \
+        -D GRASS_PREFIX=/Applications/GRASS-6.3.app/Contents/Resources \
+        -D CMAKE_BUILD_TYPE=Release \
+        ..
+
+
+
+	4.8. GEOS Issues
 	================
 
 I had some issues with GEOS headers so I made the following edits:
@@ -614,7 +665,7 @@
 In file /Library/Frameworks/GEOS.framework/Headers/geom.h, comment out line 145
 
 
-	3.9. Building
+	4.9. Building
 	=============
 
 Now we can start the build process:
@@ -630,14 +681,14 @@
 
 
 
-  4. Building on GNU/Linux
+  5. Building on GNU/Linux
   ========================
 
 
-	4.1. Building QGIS with Qt4.x
+	5.1. Building QGIS with Qt4.x
 	=============================
 
-*Requires:* Ubuntu Edgy
+*Requires:* Ubuntu Edgy / Debian derived distro
 
 These notes are for if you want to build QGIS from source. One of the major
 aims here is to show how this can be done using binary packages for *all*
@@ -651,7 +702,7 @@
 to you.
 
 
-	4.2. Prepare apt
+	5.2. Prepare apt
 	================
 
 The packages qgis depends on to build are available in the "universe" component
@@ -670,11 +721,11 @@
 
 
 
-	4.3. Install Qt4
+	5.3. Install Qt4
 	================
 
 
-  sudo apt-get install libqt4-core libqt4-debug libqt4-debug-dev \
+  sudo apt-get install libqt4-core libqt4-debug  \
   libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer \
   qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf
 
@@ -716,18 +767,25 @@
 above commands to select the Qt4 version of the relevant applications.
 
 
-	4.4. Install additional software dependencies required by QGIS
+	5.4. Install additional software dependencies required by QGIS
 	==============================================================
 
 
   sudo apt-get install gdal-bin libgdal1-dev libgeos-dev proj libtool \
-  libgdal-doc libhdf4g-dev libhdf4g-run autoconf2.13 automake1.9 python-dev \
-  swig libgsl0-dev g++ libjasper-1.701-dev libtiff4-dev  subversion gsl-bin \
-  libsqlite3-dev sqlite3 ccache make libpq-dev flex bison firefox 
+  libgdal-doc libhdf4g-dev libhdf4g-run python-dev \
+  swig libgsl0-dev g++ libjasper-1.701-dev libtiff4-dev subversion gsl-bin \
+  libsqlite3-dev sqlite3 ccache make libpq-dev flex bison cmake txt2tags \
+  python-qt4 python-qt4-dev python-sip4 sip4
 
 
+/!\ Debian users should use libgdal-dev above rather
 
-	4.5. GRASS Specific Steps
+/!\ *Note:* For python language bindings SIP >= 4.5 and PyQt4 >= 4.1 is required! Some stable GNU/Linux
+distributions (e.g. Debian or SuSE) only provide SIP < 4.5 and PyQt4 < 4.1. To include support for python 
+language bindings you may need to build and install those packages from source.
+
+
+	5.5. GRASS Specific Steps
 	=========================
 
 /!\ *Note:* If you don't need to build with GRASS support,  you can
@@ -739,8 +797,10 @@
   sudo apt-get install grass libgrass-dev libgdal1-grass 
 
 
+/!\ You may need to explicitly state your grass version e.g. libgdal1-1.3.2-grass
 
-	4.6. Setup ccache (Optional)
+
+	5.6. Setup ccache (Optional)
 	============================
 
 You should also setup ccache to speed up compile times:
@@ -752,7 +812,7 @@
 
 
 
-	4.7. Prepare your development environment
+	5.7. Prepare your development environment
 	=========================================
 
 As a convention I do all my development work in $HOME/dev/<language>, so in
@@ -767,7 +827,7 @@
 This directory path will be assumed for all instructions that follow.
 
 
-	4.8. Check out the QGIS Source Code
+	5.8. Check out the QGIS Source Code
 	===================================
 
 There are two ways the source can be checked out. Use the anonymous method
@@ -806,7 +866,7 @@
 
 
 
-	4.9. Starting the compile
+	5.9. Starting the compile
 	=========================
 
 I compile my development version of QGIS into my ~/apps directory to avoid
@@ -818,18 +878,39 @@
   mkdir -p ${HOME}/apps 
 
 
-The script will carry on to build QGIS - it may take a little while to go
-and have a cup of your favourite beverage while you wait...
+Now we create a build directory and run ccmake:
 
 
-	4.10. Running QGIS
+  cd qgis
+  mkdir build
+  cd build
+  ccmake ..
+
+
+When you run ccmake (note the .. is required!), a menu will appear where 
+you can configure various aspects of the build. If you do not have root
+access or do not want to overwrite existing QGIS installs (by your
+packagemanager for example), set the CMAKE_BUILD_PREFIX to somewhere you
+have write access to (I usually use /home/timlinux/apps). Now press
+'c' to configure, 'e' to dismiss any error messages that may appear.
+and 'g' to generate the make files. Note that sometimes 'c' needs to 
+be pressed several times before the 'g' option becomes available.
+After the 'g' generation is complete, press 'q' to exit the ccmake 
+interactive dialog.
+
+Now on with the build:
+
+
+  make
+  make install
+
+
+It may take a little while to build depending on your platform.
+
+
+	5.10. Running QGIS
 	==================
 
-Once the compile is complete it should pop up a page in firefox with unit
-test results. At the time of writing the unit tests are just stubs - we
-still need to create the test implementations - so dont worry to much about
-their output at the moment.
-
 Now you can try to run QGIS:
 
 
@@ -840,14 +921,312 @@
 on your screen.
 
 
-  5. Further help and information
+  6. Creation of MSYS environment for compilation of Quantum GIS
+  ==============================================================
+
+
+	6.1. Initial setup
+	==================
+
+
+		6.1.1. MSYS
+		===========
+
+This is the environment that supplies many utilities from UNIX world in Windows and is needed
+by many dependencies to be able to compile.
+
+Download from here:
+
+	http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe
+
+Install to c:\msys
+
+All stuff we're going to compile is going to get to this directory (resp. its subdirs).
+
+
+		6.1.2. MinGW
+		============
+
+Download from here:
+
+	http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe
+
+Install to c:\msys\mingw
+
+It suffices to download and install only g++ and mingw-make components.
+
+
+		6.1.3. Flex and Bison
+		=====================
+
+Flex and Bison are tools for generation of parsers, they're needed for GRASS and also QGIS compilation.
+
+Download the following packages:
+
+	http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php
+
+	http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php
+
+	http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php
+
+Unpack them all to c:\msys\local
+
+
+	6.2. Installing dependencies
+	============================
+
+
+		6.2.1. Getting ready
+		====================
+
+Paul Kelly did a great job and prepared a package of precompiled libraries for GRASS.
+The package currently includes:
+
+- zlib-1.2.3
+- libpng-1.2.16-noconfig
+- xdr-4.0-mingw2
+- freetype-2.3.4
+- fftw-2.1.5
+- PDCurses-3.1
+- proj-4.5.0
+- gdal-1.4.1
+
+It's available for download here:
+
+	http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz
+
+Moreover he also left the notes how to compile it (for those interested):
+
+	http://www.stjohnspoint.co.uk/grass/README.extralibs
+
+Unpack the whole package to c:\msys\local
+
+
+		6.2.2. GDAL level one
+		=====================
+
+Since Quantum GIS needs GDAL with GRASS support, we need to compile GDAL
+from source - Paul Kelly's package doesn't include GRASS support in GDAL.
+The idea is following:
+
+1. compile GDAL without GRASS
+2. compile GRASS
+3. compile GDAL with GRASS
+
+So, start with downloading GDAL sources:
+
+	http://download.osgeo.org/gdal/gdal141.zip
+
+Unpack it to some directory, preferably c:\msys\local\src.
+
+Start MSYS console, go to gdal-1.4.1 directory and run the commands below.
+You can put them all to a script, e.g. build-gdal.sh and run them at once.
+The recipe is taken from Paul Kelly's instructions - basically they
+just make sure that the library will be created as DLL and the utility
+programs will be dynamically linked to it...
+
+
+  CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" LDFLAGS=-s ./configure --without-libtool --prefix=/usr/local --enable-shared --disable-static --with-libz=/usr/local --with-png=/usr/local
+  make
+  make install
+  rm /usr/local/lib/libgdal.a
+  g++ -s -shared -o ./libgdal.dll -L/usr/local/lib -lz -lpng ./frmts/o/*.o ./gcore/*.o ./port/*.o ./alg/*.o ./ogr/ogrsf_frmts/o/*.o ./ogr/ogrgeometryfactory.o ./ogr/ogrpoint.o ./ogr/ogrcurve.o ./ogr/ogrlinestring.o ./ogr/ogrlinearring.o ./ogr/ogrpolygon.o ./ogr/ogrutils.o ./ogr/ogrgeometry.o ./ogr/ogrgeometrycollection.o ./ogr/ogrmultipolygon.o ./ogr/ogrsurface.o ./ogr/ogrmultipoint.o ./ogr/ogrmultilinestring.o ./ogr/ogr_api.o ./ogr/ogrfeature.o ./ogr/ogrfeaturedefn.o ./ogr/ogrfeaturequery.o ./ogr/ogrfeaturestyle.o ./ogr/ogrfielddefn.o ./ogr/ogrspatialreference.o ./ogr/ogr_srsnode.o ./ogr/ogr_srs_proj4.o ./ogr/ogr_fromepsg.o ./ogr/ogrct.o ./ogr/ogr_opt.o ./ogr/ogr_srs_esri.o ./ogr/ogr_srs_pci.o ./ogr/ogr_srs_usgs.o ./ogr/ogr_srs_dict.o ./ogr/ogr_srs_panorama.o ./ogr/swq.o ./ogr/ogr_srs_validate.o ./ogr/ogr_srs_xml.o ./ogr/ograssemblepolygon.o ./ogr/ogr2gmlgeometry.o ./ogr/gml2ogrgeometry.o
+  install libgdal.dll /usr/local/lib
+  cd ogr
+  g++ -s ogrinfo.o -o ogrinfo.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s ogr2ogr.o -o ogr2ogr.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s ogrtindex.o -o ogrtindex.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
+  install ogrinfo.exe ogr2ogr.exe ogrtindex.exe /usr/local/bin
+  cd ../apps
+  g++ -s gdalinfo.o -o gdalinfo.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdal_translate.o -o gdal_translate.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdaladdo.o -o gdaladdo.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdalwarp.o -o gdalwarp.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdal_contour.o -o gdal_contour.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdaltindex.o -o gdaltindex.exe -L/usr/local/lib -lpng -lz -lgdal
+  g++ -s gdal_rasterize.o -o gdal_rasterize.exe -L/usr/local/lib -lpng -lz -lgdal
+  install gdalinfo.exe gdal_translate.exe gdaladdo.exe gdalwarp.exe gdal_contour.exe gdaltindex.exe gdal_rasterize.exe /usr/local/bin
+  
+
+
+Finally, manually edit gdal-config in c:\msys\local\bin to replace the static library reference with -lgdal:
+
+
+  CONFIG_LIBS="-L/usr/local/lib -lpng -lz -lgdal"
+
+GDAL build procedure can be greatly simplified to use libtool with a libtool line patch:
+configure gdal as below:
+./configure --with-ngpython --with-xerces=/local/ --with-jasper=/local/ --with-grass=/local/grass-6.3.cvs/ --with-pg=/local/pgsql/bin/pg_config.exe 
+
+Then fix libtool with:
+mv libtool libtool.orig
+cat libtool.orig | sed 's/max_cmd_len=8192/max_cmd_len=32768/g' > libtool
+
+Libtool on windows assumes a line length limit of 8192 for some reason and tries to page the linking and fails miserably. This is a work around.
+
+Make and make install should be hassle free after this.
+
+
+		6.2.3. GRASS
+		============
+
+Grab sources from CVS or use a weekly snapshot, see:
+
+	http://grass.itc.it/devel/cvs.php
+
+In MSYS console go to the directory where you've unpacked or checked out sources
+(e.g. c:\msys\local\src\grass-6.3.cvs)
+
+Run these commands:
+
+
+  export PATH="/usr/local/bin:/usr/local/lib:$PATH"
+  ./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg --without-tiff --without-postgres --with-opengl=windows --with-fftw --with-freetype --with-freetype-includes=/usr/local/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes --with-proj-share=/usr/local/share/proj
+  make
+  make install
+
+
+It should get installed to c:\msys\local\grass-6.3.cvs
+
+By the way, these pages might be useful:
+
+- http://grass.gdf-hannover.de/wiki/WinGRASS_Current_Status
+- http://geni.ath.cx/grass.html
+
+
+		6.2.4. GDAL level two
+		=====================
+
+At this stage, we'll use GDAL sources we've used before, only the compilation will be a bit different.
+
+But first in order to be able to compile GDAL sources with current GRASS CVS, you need to patch them, here's what you need to change:
+
+	http://trac.osgeo.org/gdal/attachment/ticket/1587/plugin_patch_grass63.diff
+(you can patch it by hand or use patch.exe in c:\msys\bin)
+
+Now in MSYS console go to the GDAL sources directory and run the same commands as in level one, only with these differences:
+
+1. when running ./configure add this argument: --with-grass=/usr/local/grass-6.3.cvs
+2. when calling g++ on line 5 (which creates libgdal.dll), add these arguments: -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime
+
+Then again, edit gdal-config and change line with CONFIG_LIBS
+
+
+  CONFIG_LIBS="-L/usr/local/lib -lpng -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lz -L/usr/local/lib -lgdal" 
+
+
+Now, GDAL should be able to work also with GRASS raster layers.
+
+
+		6.2.5. GEOS
+		===========
+
+Download the sources:
+
+	http://geos.refractions.net/geos-2.2.3.tar.bz2
+
+Unpack to e.g. c:\msys\local\src
+
+To compile, I had to patch the sources: in file source/headers/timeval.h line 13.
+Change it from:
+
+
+  #ifdef _WIN32
+
+to:
+
+
+  #if defined(_WIN32) && defined(_MSC_VER)
+
+
+Now, in MSYS console, go to the source directory and run:
+
+
+  ./configure --prefix=/usr/local
+  make
+  make install
+
+
+
+		6.2.6. SQLITE
+		=============
+
+You can use precompiled DLL, no need to compile from source:
+
+Download this archive:
+
+	http://www.sqlite.org/sqlitedll-3_3_17.zip
+
+and copy sqlite3.dll from it to c:\msys\local\lib
+
+Then download this archive:
+
+	http://www.sqlite.org/sqlite-source-3_3_17.zip
+
+and copy sqlite3.h to c:\msys\local\include
+
+
+		6.2.7. GSL
+		==========
+
+Download sources:
+
+	ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz
+
+Unpack to c:\msys\local\src
+
+Run from MSYS console in the source directory:
+
+
+  ./configure
+  make
+  make install
+
+
+
+		6.2.8. EXPAT
+		============
+
+Download sources:
+
+	http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz
+
+Unpack to c:\msys\local\src
+
+Run from MSYS console in the source directory:
+
+
+  ./configure
+  make
+  make install
+
+
+
+		6.2.9. POSTGRES
+		===============
+
+We're going to use precompiled binaries. Use the link below for download:
+
+	http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1-binaries-no-installer.zip
+
+copy contents of pgsql directory from the archive to c:\msys\local
+
+
+	6.3. Cleanup
+	============
+
+We're done with preparation of MSYS environment. Now you can delete all stuff in c:\msys\local\src - it takes quite a lot
+of space and it's not necessary at all.
+
+
+  7. Further help and information
   ===============================
 
     Please visit http://qgis.org for information on joining our mailing lists
     and getting involved in the project further.
 
 
-  6. Authors and Acknowledgments
+  8. Authors and Acknowledgments
   ==============================
 
 The follwing people have contributed to this document:

Deleted: packages/qgis/branches/upstream/current/INSTALL.svn
===================================================================
--- packages/qgis/branches/upstream/current/INSTALL.svn	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/INSTALL.svn	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-To build and install the source checked out from Subversion:
-  ./autogen.sh <configure options>
-  make
-  make install
-
-
-Configure options to autogen.sh can include any of the options available to
-configure. Run ./configure --help to get a list of options.
-
-Example to configure for installing in /usr/local/qgis:
-  ./autogen.sh --prefix=/usr/local/qgis
-  make
-  make install

Modified: packages/qgis/branches/upstream/current/INSTALL.t2t
===================================================================
--- packages/qgis/branches/upstream/current/INSTALL.t2t	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/INSTALL.t2t	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,3 @@
-Compiling QGIS From Source
-Tim Sutton 2007
 %!encoding: iso-8859-1
 
 
@@ -34,7 +32,16 @@
 ``` somecommand to be pasted ```
 
 
+= General Build Note =
 
+At version 0.8.1 QGIS no longer uses the autotools for building. QGIS, like a
+number of major projects (eg. KDE 4.0), now uses cmake for building from
+source. The configure script in this directory simply checks for the existence
+of cmake and provides some clues to build QGIS.
+
+For complete information, see the wiki at:
+   http://wiki.qgis.org/qgiswiki/Building_with_CMake
+
 = Building under windows using msys =
 
 == MSYS: ==
@@ -54,6 +61,9 @@
 
 http://www.7-zip.org/
 
+If you wish to prepare your msys environment yourself rather than using 
+our pre-made one, detailed instructions are provdided elsewhere in this
+document.
 
 == Qt4.3 ==
 
@@ -80,6 +90,16 @@
 If you plan to do some debugging, you'll need to compile debug version of Qt:
 C:\Qt\4.3.0\bin\qtvars.bat compile_debug
 
+Note: there is a problem when compiling debug version of Qt 4.3, the script ends with
+this message  "mingw32-make: *** No rule to make target `debug'.  Stop.". To 
+compile the debug version you have to go out of src directory and execute the
+following command:
+
+``` 
+c:\Qt\4.3.0 make 
+```
+
+
 == Flex and Bison ==
 
 *** Note I think this section can be removed as it should be installed int the
@@ -517,10 +537,21 @@
 cd qgis 
 mkdir build 
 cd build 
-cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ ..
+cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ -D CMAKE_BUILD_TYPE=Release..
 ```
 
+To use a specific GRASS version, You can optionally use the following 
+cmake invocation (with modifications to suite your system (thanks William 
+Kyngesburye for this hint):
 
+```
+cmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ \
+      -D GRASS_INCLUDE_DIR=/Applications/GRASS-6.3.app/Contents/Resources/include \
+      -D GRASS_PREFIX=/Applications/GRASS-6.3.app/Contents/Resources \
+      -D CMAKE_BUILD_TYPE=Release \
+      ..
+```
+
 == GEOS Issues ==
 
 I had some issues with GEOS headers so I made the following edits:
@@ -547,7 +578,7 @@
 
 == Building QGIS with Qt4.x ==
 
-***Requires:*** Ubuntu Edgy
+***Requires:*** Ubuntu Edgy / Debian derived distro
 
 These notes are for if you want to build QGIS from source. One of the major
 aims here is to show how this can be done using binary packages for ***all***
@@ -583,7 +614,7 @@
 == Install Qt4 ==
 
 ``` 
-sudo apt-get install libqt4-core libqt4-debug libqt4-debug-dev \
+sudo apt-get install libqt4-core libqt4-debug  \
 libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer \
 qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf
 ```
@@ -628,12 +659,19 @@
 
 ``` 
 sudo apt-get install gdal-bin libgdal1-dev libgeos-dev proj libtool \
-libgdal-doc libhdf4g-dev libhdf4g-run autoconf2.13 automake1.9 python-dev \
-swig libgsl0-dev g++ libjasper-1.701-dev libtiff4-dev  subversion gsl-bin \
-libsqlite3-dev sqlite3 ccache make libpq-dev flex bison firefox 
+libgdal-doc libhdf4g-dev libhdf4g-run python-dev \
+swig libgsl0-dev g++ libjasper-1.701-dev libtiff4-dev subversion gsl-bin \
+libsqlite3-dev sqlite3 ccache make libpq-dev flex bison cmake txt2tags \
+python-qt4 python-qt4-dev python-sip4 sip4
 ```
 
+/!\ Debian users should use libgdal-dev above rather
 
+/!\ ***Note:*** For python language bindings SIP >= 4.5 and PyQt4 >= 4.1 is required! Some stable GNU/Linux
+distributions (e.g. Debian or SuSE) only provide SIP < 4.5 and PyQt4 < 4.1. To include support for python 
+language bindings you may need to build and install those packages from source.
+
+
 == GRASS Specific Steps ==
 
 /!\ ***Note:*** If you don't need to build with GRASS support,  you can
@@ -645,6 +683,8 @@
 sudo apt-get install grass libgrass-dev libgdal1-grass 
 ```
 
+/!\ You may need to explicitly state your grass version e.g. libgdal1-1.3.2-grass
+
 == Setup ccache (Optional) ==
 
 You should also setup ccache to speed up compile times:
@@ -717,16 +757,37 @@
 mkdir -p ${HOME}/apps 
 ```
 
-The script will carry on to build QGIS - it may take a little while to go
-and have a cup of your favourite beverage while you wait...
+Now we create a build directory and run ccmake:
 
+```
+cd qgis
+mkdir build
+cd build
+ccmake ..
+```
+
+When you run ccmake (note the .. is required!), a menu will appear where 
+you can configure various aspects of the build. If you do not have root
+access or do not want to overwrite existing QGIS installs (by your
+packagemanager for example), set the CMAKE_BUILD_PREFIX to somewhere you
+have write access to (I usually use /home/timlinux/apps). Now press
+'c' to configure, 'e' to dismiss any error messages that may appear.
+and 'g' to generate the make files. Note that sometimes 'c' needs to 
+be pressed several times before the 'g' option becomes available.
+After the 'g' generation is complete, press 'q' to exit the ccmake 
+interactive dialog.
+
+Now on with the build:
+
+```
+make
+make install
+```
+
+It may take a little while to build depending on your platform.
+
 == Running QGIS ==
 
-Once the compile is complete it should pop up a page in firefox with unit
-test results. At the time of writing the unit tests are just stubs - we
-still need to create the test implementations - so dont worry to much about
-their output at the moment.
-
 Now you can try to run QGIS:
 
 ``` 
@@ -736,7 +797,260 @@
 If all has worked properly the QGIS application should start up and appear
 on your screen.
 
+= Creation of MSYS environment for compilation of Quantum GIS =
 
+== Initial setup ==
+
+=== MSYS ===
+
+This is the environment that supplies many utilities from UNIX world in Windows and is needed
+by many dependencies to be able to compile.
+
+Download from here:
+	http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe
+
+Install to ``c:\msys``
+
+All stuff we're going to compile is going to get to this directory (resp. its subdirs).
+
+=== MinGW ===
+
+Download from here:
+	http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe
+
+Install to ``c:\msys\mingw``
+
+It suffices to download and install only ``g++`` and ``mingw-make`` components.
+
+=== Flex and Bison ===
+
+Flex and Bison are tools for generation of parsers, they're needed for GRASS and also QGIS compilation.
+
+Download the following packages:
+	http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php
+	
+	http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php
+	
+	http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php
+
+Unpack them all to ``c:\msys\local``
+
+
+== Installing dependencies == 
+ 
+=== Getting ready ===
+
+Paul Kelly did a great job and prepared a package of precompiled libraries for GRASS.
+The package currently includes:
+
+- zlib-1.2.3
+- libpng-1.2.16-noconfig
+- xdr-4.0-mingw2
+- freetype-2.3.4
+- fftw-2.1.5
+- PDCurses-3.1
+- proj-4.5.0
+- gdal-1.4.1
+
+
+It's available for download here:
+	http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz
+
+Moreover he also left the notes how to compile it (for those interested):
+	http://www.stjohnspoint.co.uk/grass/README.extralibs
+
+Unpack the whole package to ``c:\msys\local``
+
+
+=== GDAL level one ===
+
+Since Quantum GIS needs GDAL with GRASS support, we need to compile GDAL
+from source - Paul Kelly's package doesn't include GRASS support in GDAL.
+The idea is following:
++ compile GDAL without GRASS
++ compile GRASS
++ compile GDAL with GRASS
+
+
+So, start with downloading GDAL sources:
+	http://download.osgeo.org/gdal/gdal141.zip
+
+Unpack it to some directory, preferably ``c:\msys\local\src``.
+
+Start MSYS console, go to gdal-1.4.1 directory and run the commands below.
+You can put them all to a script, e.g. build-gdal.sh and run them at once.
+The recipe is taken from Paul Kelly's instructions - basically they
+just make sure that the library will be created as DLL and the utility
+programs will be dynamically linked to it...
+
+```
+CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" LDFLAGS=-s ./configure --without-libtool --prefix=/usr/local --enable-shared --disable-static --with-libz=/usr/local --with-png=/usr/local
+make
+make install
+rm /usr/local/lib/libgdal.a
+g++ -s -shared -o ./libgdal.dll -L/usr/local/lib -lz -lpng ./frmts/o/*.o ./gcore/*.o ./port/*.o ./alg/*.o ./ogr/ogrsf_frmts/o/*.o ./ogr/ogrgeometryfactory.o ./ogr/ogrpoint.o ./ogr/ogrcurve.o ./ogr/ogrlinestring.o ./ogr/ogrlinearring.o ./ogr/ogrpolygon.o ./ogr/ogrutils.o ./ogr/ogrgeometry.o ./ogr/ogrgeometrycollection.o ./ogr/ogrmultipolygon.o ./ogr/ogrsurface.o ./ogr/ogrmultipoint.o ./ogr/ogrmultilinestring.o ./ogr/ogr_api.o ./ogr/ogrfeature.o ./ogr/ogrfeaturedefn.o ./ogr/ogrfeaturequery.o ./ogr/ogrfeaturestyle.o ./ogr/ogrfielddefn.o ./ogr/ogrspatialreference.o ./ogr/ogr_srsnode.o ./ogr/ogr_srs_proj4.o ./ogr/ogr_fromepsg.o ./ogr/ogrct.o ./ogr/ogr_opt.o ./ogr/ogr_srs_esri.o ./ogr/ogr_srs_pci.o ./ogr/ogr_srs_usgs.o ./ogr/ogr_srs_dict.o ./ogr/ogr_srs_panorama.o ./ogr/swq.o ./ogr/ogr_srs_validate.o ./ogr/ogr_srs_xml.o ./ogr/ograssemblepolygon.o ./ogr/ogr2gmlgeometry.o ./ogr/gml2ogrgeometry.o
+install libgdal.dll /usr/local/lib
+cd ogr
+g++ -s ogrinfo.o -o ogrinfo.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s ogr2ogr.o -o ogr2ogr.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
+g++ -s ogrtindex.o -o ogrtindex.exe -lgdal -L/usr/local/lib -lpng -lz -lgdal
+install ogrinfo.exe ogr2ogr.exe ogrtindex.exe /usr/local/bin
+cd ../apps
+g++ -s gdalinfo.o -o gdalinfo.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdal_translate.o -o gdal_translate.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdaladdo.o -o gdaladdo.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdalwarp.o -o gdalwarp.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdal_contour.o -o gdal_contour.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdaltindex.o -o gdaltindex.exe -L/usr/local/lib -lpng -lz -lgdal
+g++ -s gdal_rasterize.o -o gdal_rasterize.exe -L/usr/local/lib -lpng -lz -lgdal
+install gdalinfo.exe gdal_translate.exe gdaladdo.exe gdalwarp.exe gdal_contour.exe gdaltindex.exe gdal_rasterize.exe /usr/local/bin
+
+```
+
+Finally, manually edit ``gdal-config`` in ``c:\msys\local\bin`` to replace the static library reference with -lgdal:
+```
+CONFIG_LIBS="-L/usr/local/lib -lpng -lz -lgdal"
+```
+GDAL build procedure can be greatly simplified to use libtool with a libtool line patch:
+configure gdal as below:
+./configure --with-ngpython --with-xerces=/local/ --with-jasper=/local/ --with-grass=/local/grass-6.3.cvs/ --with-pg=/local/pgsql/bin/pg_config.exe 
+
+Then fix libtool with:
+mv libtool libtool.orig
+cat libtool.orig | sed 's/max_cmd_len=8192/max_cmd_len=32768/g' > libtool
+
+Libtool on windows assumes a line length limit of 8192 for some reason and tries to page the linking and fails miserably. This is a work around.
+
+Make and make install should be hassle free after this.
+
+=== GRASS ===
+
+Grab sources from CVS or use a weekly snapshot, see:
+	http://grass.itc.it/devel/cvs.php
+
+In MSYS console go to the directory where you've unpacked or checked out sources
+(e.g. ``c:\msys\local\src\grass-6.3.cvs``)
+
+Run these commands:
+```
+export PATH="/usr/local/bin:/usr/local/lib:$PATH"
+./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include --with-libs=/usr/local/lib --with-cxx --without-jpeg --without-tiff --without-postgres --with-opengl=windows --with-fftw --with-freetype --with-freetype-includes=/usr/local/include/freetype2 --without-x --without-tcltk --enable-x11=no --enable-shared=yes --with-proj-share=/usr/local/share/proj
+make
+make install
+```
+
+It should get installed to ``c:\msys\local\grass-6.3.cvs``
+
+By the way, these pages might be useful:
+- http://grass.gdf-hannover.de/wiki/WinGRASS_Current_Status
+- http://geni.ath.cx/grass.html
+
+
+=== GDAL level two ===
+
+At this stage, we'll use GDAL sources we've used before, only the compilation will be a bit different.
+
+But first in order to be able to compile GDAL sources with current GRASS CVS, you need to patch them, here's what you need to change:
+	http://trac.osgeo.org/gdal/attachment/ticket/1587/plugin_patch_grass63.diff
+(you can patch it by hand or use patch.exe in ``c:\msys\bin``)
+
+Now in MSYS console go to the GDAL sources directory and run the same commands as in level one, only with these differences:
+
++ when running ``./configure`` add this argument: ``--with-grass=/usr/local/grass-6.3.cvs``
++ when calling ``g++`` on line 5 (which creates libgdal.dll), add these arguments: ``-L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime``
+
+
+Then again, edit ``gdal-config`` and change line with CONFIG_LIBS
+```
+CONFIG_LIBS="-L/usr/local/lib -lpng -L/usr/local/grass-6.3.cvs/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase -lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis -lgrass_datetime -lz -L/usr/local/lib -lgdal" 
+```
+
+Now, GDAL should be able to work also with GRASS raster layers.
+
+=== GEOS ===
+
+Download the sources:
+	http://geos.refractions.net/geos-2.2.3.tar.bz2
+
+Unpack to e.g. ``c:\msys\local\src``
+
+To compile, I had to patch the sources: in file ``source/headers/timeval.h`` line 13.
+Change it from:
+```
+#ifdef _WIN32
+```
+to:
+```
+#if defined(_WIN32) && defined(_MSC_VER)
+```
+
+Now, in MSYS console, go to the source directory and run:
+
+```
+./configure --prefix=/usr/local
+make
+make install
+```
+
+
+=== SQLITE ===
+
+You can use precompiled DLL, no need to compile from source:
+
+Download this archive:
+	http://www.sqlite.org/sqlitedll-3_3_17.zip
+
+and copy sqlite3.dll from it to ``c:\msys\local\lib``
+
+Then download this archive:
+	http://www.sqlite.org/sqlite-source-3_3_17.zip
+
+and copy sqlite3.h to ``c:\msys\local\include``
+
+
+=== GSL ===
+
+Download sources:
+	ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz
+
+Unpack to ``c:\msys\local\src``
+
+Run from MSYS console in the source directory:
+
+```
+./configure
+make
+make install
+```
+
+=== EXPAT ===
+
+Download sources:
+	http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz
+
+Unpack to ``c:\msys\local\src``
+
+Run from MSYS console in the source directory:
+
+```
+./configure
+make
+make install
+```
+
+=== POSTGRES ===
+
+We're going to use precompiled binaries. Use the link below for download:
+	http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1-binaries-no-installer.zip
+
+copy contents of pgsql directory from the archive to ``c:\msys\local``
+
+
+== Cleanup ==
+
+We're done with preparation of MSYS environment. Now you can delete all stuff in ``c:\msys\local\src`` - it takes quite a lot
+of space and it's not necessary at all.
+
 = Further help and information =
 
     Please visit http://qgis.org for information on joining our mailing lists

Deleted: packages/qgis/branches/upstream/current/LICENSE.txt
===================================================================
--- packages/qgis/branches/upstream/current/LICENSE.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/LICENSE.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,339 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    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, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.

Deleted: packages/qgis/branches/upstream/current/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,73 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-EXTRA_DIST = \
-	AUTHORS \
-	SPONSORS \
-	BUGS \
-	ChangeLog \
-	COPYING \
-	create_qm_files.sh \
-	INSTALL \
-	$(man1_MANS) \
-	NEWS \
-	qgis.spec \
-	qgsconfig.h.in \
-	README \
-	TODO \
-	update_ts_files.sh
-
-man1_MANS = qgis.man 
-
-docdatadir = $(datadir)/$(PACKAGE)/doc
-
-docdata_DATA = AUTHORS SPONSORS
-
-if WITH_UNITTESTS
-TESTS = tests
-endif
-
-
-if HAVE_QT4
-SUBDIRS = src doc tools i18n resources images $(TESTS)
-endif
-
-pkginclude_HEADERS = qgsconfig.h
-
-UIcheck:
-	@UIS=`find . -name *.ui` && \
-	if [ `grep "UI version" $$UIS | sed -e '/3.1/d' -e '/3.3/d' | wc -l` -ne 0 ]; then \
-		echo -e "\nWrong UI version:"; \
-		grep "UI version" $$UIS | sed -e '/3.1/d' -e '/3.3/d' -e 's/:.*version="\([0-9\.]*\)".*/ is version \1/g'; \
-		echo; \
-		exit 1; \
-	fi
-
-release: UIcheck distdir
-	-chmod -R a+r $(distdir)
-	GZIP=$(GZIP_ENV) $(AMTAR)$(TAR) chozf $(distdir).tar.gz $(distdir)
-	rm -f $(distdir)/qgis.spec
-	sed '/^Source:/s/\.tar\.gz$$/\.tar\.bz2/' qgis.spec \
-			> $(distdir)/qgis.spec
-	BZIP2=$(BZIP2_ENV) $(AMTAR)$(TAR) --bzip2 -chof $(distdir).tar.bz2 $(distdir)
-	-rm -rf $(distdir)
-
-BUILT_SOURCES = qgssvnversion.h
-
-.PHONY : qgssvnversion.h 
-qgssvnversion.h:
-	@if [ "$(HAVE_SVNVERSION)" == "yes" ]; then \
-	  QGSSVNDEF="#define QGSSVNVERSION \"`svnversion .`\""; \
-	else \
-	  QGSSVNDEF="#define QGSSVNVERSION \"unknown\""; \
-	fi; \
-	if [ "`grep QGSSVNVERSION qgssvnversion.h 2>/dev/null`" != "$$QGSSVNDEF" ]; then \
-		echo $$QGSSVNDEF > qgssvnversion.h; \
-	fi

Deleted: packages/qgis/branches/upstream/current/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,74 +0,0 @@
-WINSUBDIRS = src 
-
-all: qgssvnversion.h winsubdirs
-
-qgssvnversion.h:
-	$(MAKE) qgssvnversion.h
-
-install: all
-	mkdir -p -m 755 $(prefix)
-	$(MAKE) -C i18n -f Makefile install || exit 1
-	$(MAKE) -C images -f Makefile install || exit 1
-	$(MAKE) -C resources -f Makefile install || exit 1
-	$(MAKE) -C src -f Makefile.win install || exit 1
-	$(MAKE) -C doc -f Makefile install || exit 1
-
-# Copy GRASS to QGIS 
-cpgrass:
-	mkdir -p -m 755 $(prefix)/grass/docs
-#	cp    $(GRASS_BASE)/COPYING $(prefix)/grass
-#	cp    $(GRASS_BASE)/AUTHORS $(prefix)/grass
-#	cp    $(GRASS_BASE)/README $(prefix)/grass
-	cp -r $(GRASS_BASE)/etc $(prefix)/grass
-	cp -r $(GRASS_BASE)/driver $(prefix)/grass
-	cp -r $(GRASS_BASE)/bin $(prefix)/grass
-	cp -r $(GRASS_BASE)/scripts $(prefix)/grass
-	cp -r $(GRASS_BASE)/lib/*.dll $(prefix)
-	cp -r $(GRASS_BASE)/docs/html $(prefix)/grass/docs
-# Qt does not support GIF by default
-	if [ -f $(GRASS_BASE)/docs/html/grass.smlogo.gif ] ; then \
-		convert $(GRASS_BASE)/docs/html/grass.smlogo.gif $(prefix)/grass/docs/html/grass.smlogo.png ; \
-	fi
-	@list=`ls $(GRASS_BASE)/docs/html/*.html`; \
-	for f in $$list; do \
-		cat $$f  |sed 's/grass.smlogo.gif/grass.smlogo.png/' > $(prefix)/grass/docs/html/`basename $$f` ; \
-	done
-	@list=`ls $(prefix)/grass_*.dll`; \
-	for f in $$list; do \
-		$(STRIP) $$f; \
-	done
-	@list=`ls $(prefix)/grass/bin/*.exe`; \
-	for f in $$list; do \
-		$(STRIP) $$f; \
-	done
-	@list=`ls $(prefix)/grass/driver/db/*.exe`; \
-	for f in $$list; do \
-		$(STRIP) $$f; \
-	done
-
-# Copy libraries
-# TODO: this is not correct, we believe that all DLL are in the same 
-#       directory and there are no DLL which we don't want to distribute
-cplibs:
-	@ldir=`echo $(LDFLAGS) | tr ' ' '\n' | grep '\-L' | sed 1q | sed 's/-L//'`; \
-	cp $$ldir/../bin/*.dll $(prefix)
-	@ldir=`echo $(QT_LDADD) | tr ' ' '\n' | grep '\-L' | sed 's/-L//'`; \
-	cp $$ldir/../bin/*.dll $(prefix)
-
-
-# Create binary package 
-DATE=`date '+%y%m%d'`
-VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
-BINPKG=qgis-$(VERSION)-win32-$(DATE)
-
-pkg:
-	@ echo "Creating binary package $(BINPKG)"
-	mkdir -p -m 755 $(BINPKG)
-	cp -r $(prefix)/* $(BINPKG)
-	(cd $(BINPKG); rm -fr grass-6.1.cvs include)
-	
-	zip -r $(BINPKG).zip $(BINPKG)
-	
-	
-
-include ./Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/Makefile.win.rules.in
===================================================================
--- packages/qgis/branches/upstream/current/Makefile.win.rules.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/Makefile.win.rules.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,84 +0,0 @@
-MAJOR_VERSION = @MAJOR_VERSION@
-MICRO_VERSION = @MICRO_VERSION@
-MINOR_VERSION = @MINOR_VERSION@
-
-CXX = @CXX@
-LDFLAGS = @LDFLAGS@
-STRIP = @STRIP@
-INSTALL = @INSTALL@
-prefix = @prefix@
-
-BINDIR = $(prefix)
-DLLDIR = $(prefix)
-
-QT_LDADD = @QT_LDADD@
-
-GDAL_LDADD = @GDAL_LDADD@
-#GDAL_LDADD = -lgdal
-GEOS_LDADD = @GEOS_LDADD@
-GRASS_BASE = @GRASS_BASE@
-GRASS_LIB = @GRASS_LIB@
-PROJ_LIB = @PROJ_LIB@
-
-PG_LIB = @PG_LIB@
-PG_INC = @PG_INC@
-
-RASTER_A = $(QGTOP)/src/raster/.libs/libqgis_raster.a
-COMPOSER_A = $(QGTOP)/src/composer/.libs/libqgis_composer.a
-PROJSEL_A = $(QGTOP)/src/widgets/projectionselector/.libs/libqgsprojectionselector.a
-CORE_A = $(QGTOP)/src/core/.libs/libqgis_core.a
-LEGEND_A = $(QGTOP)/src/legend/.libs/libqgis_legend.a
-GUI_A = $(QGTOP)/src/gui/.libs/libqgis_gui.a
-
-RASTER_DLL = -L $(QGTOP)/src/raster/ -lqgis_raster
-COMPOSER_DLL = -L $(QGTOP)/src/composer/ -lqgis_composer
-PROJSEL_DLL = -L $(QGTOP)/src/widgets/projectionselector/ -lqgis_projsel.dll
-CORE_DLL = -L $(QGTOP)/src/core/ -lqgis_core
-LEGEND_DLL = -L $(QGTOP)/src/legend/ -lqgis_legend
-GUI_DLL = -L $(QGTOP)/src/gui -lqgis_gui
-
-# The order is significant
-QGLIBS = $(RASTER_A) $(COMPOSER_A) $(PROJSEL_A) $(CORE_A) $(LEGEND_A) $(GUI_A)
-
-# For qgis.exe the QGIS libs must be twice because of circular references
-QGIS_LIBS = $(QGLIBS) $(QGLIBS) \
-      $(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD)  \
-      -lproj -lsqlite3 \
-      $(QT_LDADD) -lwsock32
-
-# And for plugins even 3 times (maybe it would be possible to save 
-# something changing the order?) 
-PLUGIN_LIBS =   $(GUI_DLL) $(RASTER_DLL) $(LEGEND_DLL) \
-		$(COMPOSER_DLL) $(PROJSEL_DLL) \
-      		$(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD)  \
-      		-lproj -lsqlite3 \
-      		$(QT_LDADD) -lwsock32
-
-# Rule for subdirs using standard build system (make -f Makefile)
-stdsubdirs:
-	@list='$(STDSUBDIRS)'; \
-	for subdir in $$list; do \
-	    echo $$subdir ; \
-	    $(MAKE) -C $$subdir || exit 1 ; \
-        done
-
-# Rule for subdirs using standard win system (make -f Makefile.win)
-# Warning: for some strange reason the output DLL library after first
-#          linking is corrupted. We have to delete the library
-#          and to call linker again.
-winsubdirs:
-	@list='$(WINSUBDIRS)'; \
-	for subdir in $$list; do \
-	    echo $$subdir ; \
-	    $(MAKE) -C $$subdir -f Makefile.win || exit 1 ; \
-	    rm -f $$subdir/.libs/*.dll; \
-	    $(MAKE) -C $$subdir -f Makefile.win || exit 1 ; \
-        done
-
-# Rule instalation (using WINSUBDIRS)
-instsubdirs:
-	@list='$(WINSUBDIRS)'; \
-	for subdir in $$list; do \
-	    echo $$subdir ; \
-	    $(MAKE) -C $$subdir -f Makefile.win install || exit1 ; \
-        done

Deleted: packages/qgis/branches/upstream/current/NEWS
===================================================================

Modified: packages/qgis/branches/upstream/current/TODO
===================================================================
--- packages/qgis/branches/upstream/current/TODO	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/TODO	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,11 +0,0 @@
-TODO,v 1.21 2004/06/03 18:36:46 gsherman Exp
-#############################################################################
-TODO List for 0.8 (in no order of importance)
-#############################################################################
- 1. Complete WMS support
- 2. Implement new legend
- 3. New GRASS tools in toolbox
- 4. Editing fixups
- 5. Complete conversion to Qt 4.1
- 6. UI cleanups on all platforms 
-#############################################################################

Deleted: packages/qgis/branches/upstream/current/acinclude.m4
===================================================================
--- packages/qgis/branches/upstream/current/acinclude.m4	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/acinclude.m4	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,830 +0,0 @@
-dnl ------------------------------------------------------------------------
-dnl Detect if this is a 64bit environment
-dnl
-dnl it sets:
-dnl   _lib
-dnl ------------------------------------------------------------------------
-AC_DEFUN([AQ_CHECK_LIB64],
-[
-if test "`echo ${libdir} | sed -e 's#.*lib64.*#64#'`" = "64" ; then
-  _lib="lib64"
-else
-  _lib="lib"
-fi
-])
-
-dnl ------------------------------------------------------------------------
-dnl Detect GDAL/OGR
-dnl
-dnl use AQ_CHECK_GDAL to detect GDAL and OGR
-dnl it sets:
-dnl   GDAL_CFLAGS
-dnl   GDAL_LDADD
-dnl ------------------------------------------------------------------------
-
-# Check for GDAL and OGR compiler and linker flags
-
-AC_DEFUN([AQ_CHECK_GDAL],
-[
-AC_ARG_WITH([gdal],
-  AC_HELP_STRING([--with-gdal=path],
-    [Full path to 'gdal-config' script, e.g. '--with-gdal=/usr/local/bin/gdal-config']),
-  [ac_gdal_config_path=$withval])
-
-if test x"$ac_gdal_config_path" = x ; then
-  ac_gdal_config_path=`which gdal-config`
-fi
-
-ac_gdal_config_path=`dirname $ac_gdal_config_path 2> /dev/null`
-AC_PATH_PROG(GDAL_CONFIG, gdal-config, no, $ac_gdal_config_path)
-
-if test x${GDAL_CONFIG} = xno ; then
-  AC_MSG_ERROR([gdal-config not found! Supply it with --with-gdal=PATH])
-else
-  AC_MSG_CHECKING([for OGR in GDAL])
-  if test x`$GDAL_CONFIG --ogr-enabled` = "xno" ; then
-    AC_MSG_ERROR([GDAL must be compiled with OGR support and currently is not.])
-  fi
-  AC_MSG_RESULT(yes)
-  AC_MSG_CHECKING([GDAL_CFLAGS])
-  GDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-  AC_MSG_RESULT($GDAL_CFLAGS)
-
-  AC_MSG_CHECKING([GDAL_LDADD])
-  GDAL_LDADD=`$GDAL_CONFIG --libs`
-  AC_MSG_RESULT($GDAL_LDADD)
-
-  ac_gdalogr_version=`$GDAL_CONFIG --version`
-  ac_gdalogr="yes"
-fi
-
-AC_SUBST(GDAL_CFLAGS)
-AC_SUBST(GDAL_LDADD)
-])
-
-dnl ------------------------------------------------------------------------
-dnl Detect GEOS
-dnl
-dnl use AQ_CHECK_GEOS to detect GEOS
-dnl it sets:
-dnl   GEOS_CFLAGS
-dnl   GEOS_LDADD
-dnl ------------------------------------------------------------------------
-
-# Check for GEOS
-
-AC_DEFUN([AQ_CHECK_GEOS],
-[
-AC_ARG_WITH([geos],
-  AC_HELP_STRING([--with-geos=path],
-    [Full path to 'geos-config' script, e.g. '--with-geos=/usr/local/bin/geos-config']),
-  [ac_geos_config_path=$withval])
-
-if test x"$ac_geos_config_path" = x ; then
-  ac_geos_config_path=`which geos-config`
-fi
-
-ac_geos_config_path=`dirname $ac_geos_config_path 2> /dev/null`
-AC_PATH_PROG(GEOS_CONFIG, geos-config, no, $ac_geos_config_path)
-
-if test x${GEOS_CONFIG} = xno ; then
-  AC_MSG_ERROR([geos-config not found! Supply it with --with-geos=PATH])
-else
-  ac_geos_version=`${GEOS_CONFIG} --version`
-  if test `echo ${ac_geos_version} | sed -e 's#[2-9]\.[0-9].*#OK#'` != OK ; then
-    AC_MSG_ERROR([Geos Version 2.x.x or greater is needed, but you have $ac_geos_version!])
-  else
-    AC_MSG_CHECKING([GEOS_CFLAGS])
-    GEOS_CFLAGS=`$GEOS_CONFIG --cflags` 
-    AC_MSG_RESULT($GEOS_CFLAGS)
-
-    AC_MSG_CHECKING([GEOS_LDADD])
-    GEOS_LDADD=`$GEOS_CONFIG --libs`
-    AC_MSG_RESULT($GEOS_LDADD)
-
-    ac_geos="yes"
-  fi
-fi
-
-AC_SUBST(GEOS_CFLAGS)
-AC_SUBST(GEOS_LDADD)
-])
-
-dnl ------------------------------------------------------------------------                                                                             
-dnl Detect QT
-dnl
-dnl use AQ_CHECK_QT to detect QT
-dnl it sets:
-dnl   QT_CXXFLAGS
-dnl   QT_LDADD
-dnl   QT_GUILINK
-dnl   QASSISTANTCLIENT_LDADD
-dnl ------------------------------------------------------------------------                                                                             
-
-# Check for Qt compiler flags, linker flags, and binary packages
-
-AC_DEFUN([AQ_CHECK_QT],
-[
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PATH_X])
-
-AC_MSG_CHECKING([QTDIR])
-AC_ARG_WITH([qtdir], [  --with-qtdir=DIR        Qt installation directory [default=/usr/local]], QTDIR=$withval)
-# Check that QTDIR is defined or that --with-qtdir given
-if test x$QTDIR = x ; then
-  QT_SEARCH=" /usr/lib/qt31 /usr/lib64/qt31 /usr/local/qt31 /usr/lib/qt3 /usr/lib64/qt3 /usr/local/qt3 /usr/lib/qt2 /usr/lib64/qt2 /usr/local/qt2 /usr/lib/qt /usr/lib64/qt /usr/local/qt /usr /usr/local"
-  for i in $QT_SEARCH; do
-    if test x$QTDIR = x; then
-      if test -f $i/include/qt/qglobal.h -o -f $i/include/qglobal.h -o -f $i/include/qt3/qglobal.h; then
-        QTDIR=$i
-      fi
-    fi
-  done
-fi
-if test x$QTDIR = x ; then
-  AC_MSG_ERROR([*** QTDIR must be defined, or --with-qtdir option given])
-fi
-AC_MSG_RESULT([$QTDIR])
-
-# Change backslashes in QTDIR to forward slashes to prevent escaping
-# problems later on in the build process, mainly for Cygwin build
-# environment using MSVC as the compiler
-# (include/Qt is used on Qt4)
-# TODO: Use sed instead of perl
-QTDIR=`echo $QTDIR | perl -p -e 's/\\\\/\\//g'`
-
-# Check for QT includedir
-
-# Test for the Windows version first because if if QTDIR is mounted via
-# smbfs to an actual Windows installation, the /include/Qt is found
-# case-insensitively
-if test -f $QTDIR/include/Qt/qglobal.h -a -f $QTDIR/src/corelib/global/qglobal.h; then
-  # Windows: $QTDIR/include/Qt/qglobal.h includes $QTDIR/src/corelib/global/qglobal.h
-  QTINC=$QTDIR/include
-  QTVERTEST=$QTDIR/src/corelib/global/
-elif test -f $QTDIR/include/qt/qglobal.h; then
-  QTINC=$QTDIR/include/qt
-  QTVERTEST=$QTDIR/include/qt
-elif test -f $QTDIR/include/qt4/Qt/qglobal.h; then
-  QTINC=$QTDIR/include/qt4
-  QTVERTEST=$QTDIR/include/qt4/Qt
-elif test -f $QTDIR/include/Qt/qglobal.h; then
-  QTINC=$QTDIR/include
-  QTVERTEST=$QTDIR/include/Qt
-elif test -f $QTDIR/lib/QtCore.framework/Headers/qglobal.h; then
-  QTINC=$QTDIR/lib/QtCore.framework/Headers
-  QTVERTEST=$QTDIR/lib/QtCore.framework/Headers
-else
-  QTINC=$QTDIR/include
-  QTVERTEST=$QTDIR/include
-fi
-
-# Figure out which version of Qt we are using
-AC_MSG_CHECKING([Qt version in $QTVERTEST])
-QT_VER=`grep 'define.*QT_VERSION_STR\W' $QTVERTEST/qglobal.h | perl -p -e 's/\D//g'`
-case "${QT_VER}" in
-  42*)
-    QT_MAJOR="${QT_VER:0:1}"
-    QT_MINOR="${QT_VER:1:1}"
-    case "${host}" in
-    *-darwin*)
-      QT4_3SUPPORTINC=$QTDIR/lib/Qt3Support.framework/Headers
-      QT4_COREINC=$QTDIR/lib/QtCore.framework/Headers
-      QT4_GUIINC=$QTDIR/lib/QtGui.framework/Headers
-      QT4_NETWORKINC=$QTDIR/lib/QtNetwork.framework/Headers
-      QT4_OPENGLINC=$QTDIR/lib/QtOpenGL.framework/Headers
-      QT4_SQLINC=$QTDIR/lib/QtSql.framework/Headers
-      QT4_XMLINC=$QTDIR/lib/QtXml.framework/Headers
-      QT4_SVGINC=$QTDIR/lib/QtSvg.framework/Headers
-      if test $QT_MINOR -lt "2"; then
-        QT4_TESTINC=$QTDIR/include/QtTest
-        QT4_DESIGNERINC=$QTDIR/include/QtDesigner
-      else
-        QT4_TESTINC=$QTDIR/lib/QtTest.framework/Headers
-        QT4_DESIGNERINC=$QTDIR/lib/QtDesigner.framework/Headers
-      fi
-	  ;;
-    *)
-      QT4_3SUPPORTINC=$QTINC/Qt3Support
-      QT4_COREINC=$QTINC/QtCore
-      QT4_GUIINC=$QTINC/QtGui
-      QT4_NETWORKINC=$QTINC/QtNetwork
-      QT4_OPENGLINC=$QTINC/QtOpenGL
-      QT4_SQLINC=$QTINC/QtSql
-      QT4_XMLINC=$QTINC/QtXml
-      QT4_SVGINC=$QTINC/QtSvg
-      QT4_TESTINC=$QTINC/QtTest
-      QT4_DESIGNERINC=$QTINC/QtDesigner
-      ;;
-    esac
-    QT4_DEFAULTINC=$QTDIR/mkspecs/default
-    ;;
-  *)
-    AC_MSG_ERROR([*** Qt version 4.2 or higher is required])
-    ;;
-esac
-AC_MSG_RESULT([$QT_VER ($QT_MAJOR)])
-
-if test $QT_MAJOR = "4" ; then
-  # Hard code things for the moment
-
-  # Check that moc is in path
-  if test $cross_compiling = "yes" ; then # MinGW
-      AC_CHECK_PROG(MOC, moc, moc)
-      if test x$MOC = x ; then
-	AC_MSG_ERROR([*** moc must be in path])
-      fi
-      # uic is the Qt user interface compiler
-      AC_CHECK_PROG(UIC, uic, uic)
-      if test x$UIC = x ; then
-	AC_MSG_ERROR([*** uic must be in path])
-      fi
-      # check for rcc
-      AC_CHECK_PROG(RCC, rcc, rcc)
-      if test x$RCC = x ; then
-	AC_MSG_ERROR([*** rcc must be in path])
-      fi
-  else
-      AC_CHECK_PROG(MOC, moc, $QTDIR/bin/moc, , $QTDIR/bin)
-      if test x$MOC = x ; then
-	AC_MSG_ERROR([*** moc must be in path])
-      fi
-      # uic is the Qt user interface compiler
-      AC_CHECK_PROG(UIC, uic, $QTDIR/bin/uic, , $QTDIR/bin)
-      if test x$UIC = x ; then
-	AC_MSG_ERROR([*** uic must be in path])
-      fi
-      # check for rcc
-      AC_CHECK_PROG(RCC, rcc, $QTDIR/bin/rcc, , $QTDIR/bin)
-      if test x$RCC = x ; then
-	AC_MSG_ERROR([*** rcc must be in path])
-      fi
-  fi
-fi
-
-# qembed is the Qt data embedding utility.
-# It is located in $QTDIR/tools/qembed, and must be compiled and installed
-# manually, we'll let it slide if it isn't present
-### AC_CHECK_PROG(QEMBED, qembed, qembed)
-# Calculate Qt include path
-if test $QT_MAJOR = "4" ; then
-QT_CXXFLAGS="-DQT3_SUPPORT -I$QT4_DEFAULTINC -I$QT4_3SUPPORTINC -I$QT4_COREINC -I$QT4_DESIGNERINC -I$QT4_GUIINC -I$QT4_NETWORKINC -I$QT4_OPENGLINC -I$QT4_SQLINC -I$QT4_XMLINC -I$QTINC -I$QT4_SVGINC -I$QT4_TESTINC -I$QT4_DESIGNERINC"
-fi
-QT_IS_EMBEDDED="no"
-# On unix, figure out if we're doing a static or dynamic link
-
-case "${host}" in
-  *-cygwin)
-    AC_DEFINE_UNQUOTED(WIN32, "", Defined if on Win32 platform)
-    echo "$QTDIR/lib/qt-mt$QT_VER.lib"
-    if test -f "$QTDIR/lib/qt-mt$QT_VER.lib" ; then
-      QT_LIB="qt-mt$QT_VER.lib"
-      QT_IS_STATIC="no"
-      QT_IS_MT="yes"
-         
-    elif test -f "$QTDIR/lib/qt$QT_VER.lib" ; then
-      QT_LIB="qt$QT_VER.lib"
-      QT_IS_STATIC="no"
-      QT_IS_MT="no"
-    elif test -f "$QTDIR/lib/qt.lib" ; then
-      QT_LIB="qt.lib"
-      QT_IS_STATIC="yes"
-      QT_IS_MT="no"
-    elif test -f "$QTDIR/lib/qt-mt.lib" ; then
-      QT_LIB="qt-mt.lib" 
-      QT_IS_STATIC="yes"
-      QT_IS_MT="yes"
-    fi
-    ;;
-  *-darwin*)
-    # determin static or dynamic -- prefer dynamic
-    QT_IS_DYNAMIC=`ls $QTDIR/lib/libqt*.dylib $QTDIR/lib/QtCore.framework/QtCore 2> /dev/null`
-    if test "x$QT_IS_DYNAMIC" = x;  then
-      QT_IS_STATIC=`ls $QTDIR/lib/libqt*.a 2> /dev/null`
-      if test "x$QT_IS_STATIC" = x; then
-        QT_IS_STATIC="no"
-        AC_MSG_ERROR([*** Couldn't find any Qt libraries in $QTDIR/lib])
-      else
-        QT_IS_STATIC="yes"
-      fi
-    else
-      QT_IS_STATIC="no"
-    fi
-    # set link parameters based on shared/mt libs or static lib
-    if test "x`ls $QTDIR/lib/libqt.a* 2> /dev/null`" != x ; then
-      QT_LIB="-lqt"
-      QT_IS_MT="no"
-    elif test "x`ls $QTDIR/lib/libqt-mt.*.dylib 2> /dev/null`" != x ; then
-      QT_LIB="-lqt-mt"
-      QT_IS_MT="yes"
-    elif test "x`ls $QTDIR/lib/libqt.*.dylib 2> /dev/null`" != x ; then
-      QT_LIB="-lqt"
-      QT_IS_MT="no"
-    elif test "x`ls $QTDIR/lib/libqte.* 2> /dev/null`" != x ; then
-      QT_LIB="-lqte"
-      QT_IS_MT="no"
-      QT_IS_EMBEDDED="yes"
-    elif test "x`ls $QTDIR/lib/libqte-mt.* 2> /dev/null`" != x ; then
-      QT_LIB="-lqte-mt"
-      QT_IS_MT="yes"
-      QT_IS_EMBEDDED="yes"
-    elif test "x`ls $QTDIR/lib/QtCore.framework/QtCore 2> /dev/null`" != x ; then
-      QT_LIB="-Xlinker -F$QTDIR/lib -framework Qt3Support -framework QtCore -framework QtGui -framework QtNetwork -framework QtSql -framework QtSvg -framework QtXml"
-      if test $QT_MINOR -lt "2"; then
-        QT_LIB="$QT_LIB -L$QTDIR/lib -lQtDesigner -lQtTest"
-      else
-        QT_LIB="$QT_LIB -framework QtDesigner -framework QtTest"
-      fi
-      QT_CXXFLAGS="-DQT3_SUPPORT -I$QT4_DEFAULTINC -I$QT4_3SUPPORTINC -I$QT4_COREINC -I$QT4_GUIINC -I$QT4_NETWORKINC -I$QT4_OPENGLINC -I$QT4_SQLINC -I$QT4_SVGINC -I$QT4_XMLINC -I$QT4_DESIGNERINC -I$QT4_TESTINC -I$QTDIR/include"
-      QT_IS_MT="yes"
-    fi
-    ;;
-  *)
-    # determin static or dynamic -- prefer dynamic
-    QT_IS_DYNAMIC=`ls $QTDIR/${_lib}/libqt*.so $QTDIR/${_lib}/libQtCore.so /usr/lib/libQtCore.so 2> /dev/null`
-    if test "x$QT_IS_DYNAMIC" = x;  then
-      QT_IS_STATIC=`ls $QTDIR/${_lib}/libqt*.a $QTDIR/${_lib}/libQtCore.a 2> /dev/null`
-      if test "x$QT_IS_STATIC" = x; then
-        QT_IS_STATIC="no"
-        AC_MSG_ERROR([*** Couldn't find any Qt libraries in $QTDIR/${_lib}])
-      else
-        QT_IS_STATIC="yes"
-      fi
-    else
-      QT_IS_STATIC="no"
-    fi
-    if test "x`ls $QTDIR/${_lib}/libQtCore.* /usr/lib/libQtCore.* 2> /dev/null`" != x ; then
-AC_MSG_RESULT([libQtCore found])
-      QT_LIB="-lQtCore -lQt3Support -lQtGui -lQtNetwork -lQtSvg"
-QT_CXXFLAGS="-DQT3_SUPPORT -I$QT4_DEFAULTINC -I$QT4_3SUPPORTINC -I$QT4_COREINC -I$QT4_DESIGNERINC -I$QT4_GUIINC -I$QT4_NETWORKINC -I$QT4_OPENGLINC -I$QT4_SQLINC -I$QT4_XMLINC -I$QTINC -I$QT4_SVGINC -I$QT4_TESTINC -I$QT4_DESIGNERINC"
-      QT_IS_MT="yes"
-    fi
-    ;;
-esac
-
-AC_MSG_CHECKING([if Qt is static])
-AC_MSG_RESULT([$QT_IS_STATIC])
-AC_MSG_CHECKING([if Qt is multithreaded])
-AC_MSG_RESULT([$QT_IS_MT])
-AC_MSG_CHECKING([if Qt is embedded])
-AC_MSG_RESULT([$QT_IS_EMBEDDED])
-
-QT_GUILINK=""
-QASSISTANTCLIENT_LDADD="-lqassistantclient"
-case "${host}" in
-  *-mingw*)
-     QT_LIBS="-lQtCore4 -lQt3Support4 -lQtGui4 -lQtNetwork4 -lQtXml4 -lQtSvg4 -lQtTest4 -lQtDesigner4"
-    ;;
-  *irix*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes ; then
-    QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
-    fi
-    ;;
-
-  *linux*)
-    QT_LIBS="$QT_LIB -lQtCore -lQt3Support -lQtGui -lQtNetwork -lQtXml -lQtSvg -lQtTest -lQtDesigner"
-    if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
-    fi
-    ;;
-
-  *netbsd*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg -lpthread"
-   else
-      QT_LIBS="$QT_LIBS -lpthread"
-    fi
-    ;;
-
-  *freebsd*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg -lpthread"
-   else
-      QT_LIBS="$QT_LIBS -lpthread"
-    fi
-    ;;
-
-  *netbsd*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg -lpthread"
-   else
-      QT_LIBS="$QT_LIBS -lpthread"
-    fi
-    ;;
-
-  *darwin*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
-    fi
-    ;;
-
-  *osf*) 
-    # Digital Unix (aka DGUX aka Tru64)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes ; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
-    fi
-    ;;
-
-  *solaris*)
-    QT_LIBS="$QT_LIB"
-    if test $QT_IS_STATIC = yes ; then
-      QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl"
-    fi
-    ;;
-
-  *win*)
-    # linker flag to suppress console when linking a GUI app on Win32
-    QT_GUILINK="/subsystem:windows"
-    if test $QT_MAJOR = "4" ; then
-      if test $QT_IS_MT = yes ; then
-        QT_LIBS="/nodefaultlib:libcmt"
-      else
-        QT_LIBS="/nodefaultlib:libc"
-      fi
-    fi
-
-    if test $QT_IS_STATIC = yes ; then
-      QT_LIBS="$QT_LIBS $QT_LIB kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib"
-    else
-      QT_LIBS="$QT_LIBS $QT_LIB"        
-    fi
-    QASSISTANTCLIENT_LDADD="qassistantclient.lib"
-    ;;
-esac
-
-if test x"$QT_IS_EMBEDDED" = "xyes" ; then
-  QT_CXXFLAGS="-DQWS $QT_CXXFLAGS"
-fi
-
-if test x"$QT_IS_MT" = "xyes" ; then
-  QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT"
-fi
-
-case "${host}" in
-  *-mingw*)
-    QT_LDADD="-L$QTDIR/${_lib} $QT_LIBS"
-    ;;
-  *)
-    QT_LDADD="-L$QTDIR/${_lib} $QT_LIBS"
-    ;;
-esac
-
-if test x$QT_IS_STATIC = xyes ; then
-  OLDLIBS="$LIBS"
-  LIBS="$QT_LDADD"
-  AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft")
-  LIBS="$LIBS"
-fi
-
-AC_MSG_CHECKING([QT_CXXFLAGS])
-AC_MSG_RESULT([$QT_CXXFLAGS])
-AC_MSG_CHECKING([QT_LDADD])
-AC_MSG_RESULT([$QT_LDADD])
-
-AC_SUBST(QT_CXXFLAGS)
-AC_SUBST(QT_LDADD)
-AC_SUBST(QT_GUILINK)
-AC_SUBST(QASSISTANTCLIENT_LDADD)
-AC_SUBST(QTDIR)
-])
-
-
-dnl ------------------------------------------------------------------------
-dnl
-dnl improved Qt4 check
-dnl - uses pkgconfig by default
-dnl - can be overridden by -with-qtdir=....
-dnl
-dnl ------------------------------------------------------------------------
-
-AC_DEFUN([AQ_CHECK_QT4],[
-    
-  AC_ARG_WITH([qtdir], AC_HELP_STRING([--with-qtdir=DIR],[Qt4 installation directory]),
-              QTDIR="$withval", QTDIR="")
-  AC_ARG_WITH([qt-pkg-config], AC_HELP_STRING([--with-qt-pkg-config],
-              [Detect Qt4 directory using pkg-config instead of using --with-qtdir. Works only with Qt4 version for X11.]),
-              QT_PKG_CONFIG="y", QT_PKG_CONFIG="n")
-
-  if test "$QT_PKG_CONFIG" = "y" ; then
-  
-    dnl ---------------------------------------------------------------------------
-    dnl we will use PKGCONFIG, check that all needed Qt4 components are there
-    dnl ---------------------------------------------------------------------------
-    
-    QT_MIN_VER=4.1.0
-
-dnl    PKG_CHECK_MODULES(QT, QtCore QtGui Qt3Support QtNetwork QtXml QtSvg QtTest >= $QT_MIN_VER)
-
-    dnl check for Qt binaries needed for compilation: moc,uic,rcc
-    dnl (we could also check for moc and uic versions)
-    
-    AC_CHECK_PROG(MOC, moc, moc)
-    if test x$MOC = x ; then
-      AC_MSG_ERROR([*** moc must be in path])
-    fi
-    AC_CHECK_PROG(UIC, uic, uic)
-    if test x$UIC = x ; then
-      AC_MSG_ERROR([*** uic must be in path])
-    fi
-    AC_CHECK_PROG(RCC, rcc, rcc)
-    if test x$RCC = x ; then
-      AC_MSG_ERROR([*** rcc must be in path])
-    fi
-
-    dnl workaround for case when QtTest doesn't report QtTest subdirectory
-    dnl in include path (this is not a very nice check)
-dnl    PKG_CHECK_MODULES(QT_TEST, QtTest >= $QT_MIN_VER)
-    QT_TEST_CFLAGS=`echo $QT_TEST_CFLAGS | sed 's/[ \t]*$//'` # remove trailing spaces
-    QTTEST_HAS_SUBDIR=`echo $QT_TEST_CFLAGS | grep '/QtTest' | wc -l`
-    if test "$QTTEST_HAS_SUBDIR" -eq "0" ; then
-      QT_CFLAGS="$QT_CFLAGS $QT_TEST_CFLAGS/QtTest"
-    fi
-
-    dnl set and display variables
-    
-    QT_CXXFLAGS="-DQT3_SUPPORT $QT_CFLAGS"
-    AC_MSG_CHECKING([QT_CXXFLAGS])
-    AC_MSG_RESULT([$QT_CXXFLAGS])
-    AC_SUBST([$QT_CXXFLAGS])
-
-    QT_LDADD="$QT_LIBS"
-    AC_MSG_CHECKING([QT_LDADD])
-    AC_MSG_RESULT([$QT_LDADD])
-    AC_SUBST([$QT_LDADD])
-
-    QTDIR="no_qtdir"
-    AC_SUBST([$QTDIR])
-
-    QT_MAJOR=4
-
-  else
-  
-    dnl ---------------------------------------------------------------------------
-    dnl let's use old code for detection
-    dnl it needs cleanups since there is still Qt3 detection stuff
-    dnl ---------------------------------------------------------------------------
-    AQ_CHECK_QT
-
-    dnl ---------------------------------------------------------------------------
-    dnl Qt/Mac check (install everything into application bundle)
-    dnl ---------------------------------------------------------------------------
-    if test x$QTDIR != x -a -f "$QTDIR/mkspecs/default/Info.plist.app"; then
-      have_qtmac=yes
-      bundle_suffix=$PACKAGE.app/Contents/MacOS
-      if test `expr "$prefix" : ".*$bundle_suffix$"` -eq 0; then
-        prefix="$prefix/$bundle_suffix"
-      fi
-    fi
-
-  fi
-  
-  dnl do we still need this? [MD]
-  dnl Assume for the moment that Qt4 installations will still compile against uic3
-  dnl AM_CONDITIONAL([NO_UIC_IMPLEMENTATIONS], [test "$QT_MAJOR" = "4"])
-  AM_CONDITIONAL([NO_UIC_IMPLEMENTATIONS], [test "$QT_MAJOR" = "0"])
-  AM_CONDITIONAL([HAVE_QT4], [test "$QT_MAJOR" = "4"])
-
-  AM_CONDITIONAL([HAVE_QTMAC], [test "$have_qtmac" = "yes"])
-])
-
-
-# Configure path for the GNU Scientific Library
-# Christopher R. Gabriel <cgabriel at linux.it>, April 2000
-
-
-AC_DEFUN([AM_PATH_GSL],
-[
-AC_ARG_WITH(gsl-prefix,[  --with-gsl-prefix=PFX   Prefix where GSL is installed (optional)],
-            gsl_prefix="$withval", gsl_prefix="")
-AC_ARG_WITH(gsl-exec-prefix,[  --with-gsl-exec-prefix=PFX Exec prefix where GSL is installed (optional)],
-            gsl_exec_prefix="$withval", gsl_exec_prefix="")
-AC_ARG_ENABLE(gsltest, [  --disable-gsltest       Do not try to compile and run a test GSL program],
-		    , enable_gsltest=yes)
-
-  if test "x${GSL_CONFIG+set}" != xset ; then
-     if test "x$gsl_prefix" != x ; then
-         GSL_CONFIG="$gsl_prefix/bin/gsl-config"
-     fi
-     if test "x$gsl_exec_prefix" != x ; then
-        GSL_CONFIG="$gsl_exec_prefix/bin/gsl-config"
-     fi
-  fi
-
-  AC_PATH_PROG(GSL_CONFIG, gsl-config, no)
-  min_gsl_version=ifelse([$1], ,0.2.5,$1)
-  AC_MSG_CHECKING(for GSL - version >= $min_gsl_version)
-  no_gsl=""
-  if test "$GSL_CONFIG" = "no" ; then
-    no_gsl=yes
-  else
-    GSL_CFLAGS=`$GSL_CONFIG --cflags`
-    GSL_LIBS=`$GSL_CONFIG --libs`
-
-    gsl_major_version=`$GSL_CONFIG --version | \
-           sed 's/^\([[0-9]]*\).*/\1/'`
-    if test "x${gsl_major_version}" = "x" ; then
-       gsl_major_version=0
-    fi
-
-    gsl_minor_version=`$GSL_CONFIG --version | \
-           sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\2/'`
-    if test "x${gsl_minor_version}" = "x" ; then
-       gsl_minor_version=0
-    fi
-
-    gsl_micro_version=`$GSL_CONFIG --version | \
-           sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\3/'`
-    if test "x${gsl_micro_version}" = "x" ; then
-       gsl_micro_version=0
-    fi
-
-    if test "x$enable_gsltest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $GSL_CFLAGS"
-      LIBS="$LIBS $GSL_LIBS"
-
-      rm -f conf.gsltest
-      AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char* my_strdup (const char *str);
-
-char*
-my_strdup (const char *str)
-{
-  char *new_str;
-  
-  if (str)
-    {
-      new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
-      strcpy (new_str, str);
-    }
-  else
-    new_str = NULL;
-  
-  return new_str;
-}
-
-int main (void)
-{
-  int major = 0, minor = 0, micro = 0;
-  int n;
-  char *tmp_version;
-
-  system ("touch conf.gsltest");
-
-  /* HP/UX 9 (%@#!) writes to sscanf strings */
-  tmp_version = my_strdup("$min_gsl_version");
-
-  n = sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) ;
-
-  if (n != 2 && n != 3) {
-     printf("%s, bad version string\n", "$min_gsl_version");
-     exit(1);
-   }
-
-   if (($gsl_major_version > major) ||
-      (($gsl_major_version == major) && ($gsl_minor_version > minor)) ||
-      (($gsl_major_version == major) && ($gsl_minor_version == minor) && ($gsl_micro_version >= micro)))
-    {
-      exit(0);
-    }
-  else
-    {
-      printf("\n*** 'gsl-config --version' returned %d.%d.%d, but the minimum version\n", $gsl_major_version, $gsl_minor_version, $gsl_micro_version);
-      printf("*** of GSL required is %d.%d.%d. If gsl-config is correct, then it is\n", major, minor, micro);
-      printf("*** best to upgrade to the required version.\n");
-      printf("*** If gsl-config was wrong, set the environment variable GSL_CONFIG\n");
-      printf("*** to point to the correct copy of gsl-config, and remove the file\n");
-      printf("*** config.cache before re-running configure\n");
-      exit(1);
-    }
-}
-
-],, no_gsl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_gsl" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$GSL_CONFIG" = "no" ; then
-       echo "*** The gsl-config script installed by GSL could not be found"
-       echo "*** If GSL was installed in PREFIX, make sure PREFIX/bin is in"
-       echo "*** your path, or set the GSL_CONFIG environment variable to the"
-       echo "*** full path to gsl-config."
-     else
-       if test -f conf.gsltest ; then
-        :
-       else
-          echo "*** Could not run GSL test program, checking why..."
-          CFLAGS="$CFLAGS $GSL_CFLAGS"
-          LIBS="$LIBS $GSL_LIBS"
-          AC_TRY_LINK([
-#include <stdio.h>
-],      [ return 0; ],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding GSL or finding the wrong"
-          echo "*** version of GSL. If it is not finding GSL, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-	  echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means GSL was incorrectly installed"
-          echo "*** or that you have moved GSL since it was installed. In the latter case, you"
-          echo "*** may want to edit the gsl-config script: $GSL_CONFIG" ])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-#     GSL_CFLAGS=""
-#     GSL_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(GSL_CFLAGS)
-  AC_SUBST(GSL_LIBS)
-  rm -f conf.gsltest
-])
-
-dnl Python
-dnl Available from the GNU Autoconf Macro Archive at:
-dnl http://www.gnu.org/software/ac-archive/htmldoc/ax_python.html
-dnl
-AC_DEFUN([AX_PYTHON],
-[
-AC_ARG_WITH([python],
-AC_HELP_STRING([--with-python],
-[Include Python scripting support ]))
-
-if test x"$with_python" = "x"; then
-AC_MSG_RESULT( Not using python )
-    ac_use_python=no
-else
-AC_MSG_CHECKING(for python build information)
-   for python in python2.4 python2.3 python2.2 python2.1 python; do
-   AC_CHECK_PROGS(PYTHON_BIN, [$python])
-   ax_python_bin=$PYTHON_BIN
-   if test x$ax_python_bin != x; then
-      AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
-      if test `echo ${host} | grep '.*-darwin.*'`; then
-        python_prefix=/System/Library/Frameworks/Python.framework/*/
-      fi
-      AC_CHECK_HEADER([$ax_python_bin/Python.h],
-      [[ax_python_header=`locate $python_prefix$ax_python_bin/Python.h | head -1 | sed -e s,/Python.h,,`]],
-      ax_python_header=no)
-      if test $ax_python_lib != no; then
-        if test $ax_python_header != no; then
-          break;
-        fi
-      fi
-   fi
-   done
-   if test x$ax_python_bin = x; then
-      ax_python_bin=no
-   fi
-   if test x$ax_python_header = x; then
-      ax_python_header=no
-   fi
-   if test x$ax_python_lib = x; then
-      ax_python_lib=no
-   fi
- 
-   AC_MSG_RESULT([  results of the Python check:])
-   AC_MSG_RESULT([    Binary:      $ax_python_bin])
-   AC_MSG_RESULT([    Library:     $ax_python_lib])
-   AC_MSG_RESULT([    Include Dir: $ax_python_header])
-   AC_MSG_RESULT([    Have python: $ac_use_python])
- 
-   if test x$ax_python_header != xno; then
-     PYTHON_INCLUDE_DIR=-I$ax_python_header
-     AC_SUBST(PYTHON_INCLUDE_DIR)
-   fi
-   if test x$ax_python_lib != xno; then
-     PYTHON_LIB=-l$ax_python_lib
-     AC_SUBST(PYTHON_LIB)
-   fi
-  if test x$ax_python_header != xno; then
-  dnl  & x$ax_python_lib != xno; then
-    ac_use_python=yes
-    HAVE_PYTHON=-DHAVE_PYTHON
-  fi 
-fi
-
-AM_CONDITIONAL([USE_PYTHON], [test "$ac_use_python" = "yes"])
-])
-dnl

Deleted: packages/qgis/branches/upstream/current/autogen.sh
===================================================================
--- packages/qgis/branches/upstream/current/autogen.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/autogen.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,110 +0,0 @@
-#!/bin/sh
-
-# Automakeversion
-AM_1=1
-AM_2=7
-AM_3=2
-
-# Autoconfversion
-AC_1=2
-AC_2=57
-
-# Libtoolversion
-LT_1=1
-LT_2=4
-
-# Libtoolname
-LIBTOOL=libtool
-LIBTOOLIZE=libtoolize
-if [ "`uname`" = "Darwin" ]; then
-	LIBTOOL=glibtool
-	LIBTOOLIZE=glibtoolize
-fi
-
-# Check automake version
-AM_VERSION=`automake --version | sed -n -e 's#^.* \([0-9]*\)\.\([0-9]*\)[^0-9]*\([0-9]*\).*$#\1 \2 \3#p'`
-AM_V1=`echo $AM_VERSION | awk '{print $1}'`
-AM_V2=`echo $AM_VERSION | awk '{print $2}'`
-AM_V3=`echo $AM_VERSION | awk '{if ($NF > 2) print $3; else print "0";}'`
-
-if [ $AM_1 -gt $AM_V1 ]; then
-	AM_ERROR=1 
-else
-	if [ $AM_1 -eq $AM_V1 ]; then
-		if [ $AM_2 -gt $AM_V2 ]; then
-			AM_ERROR=1 
-		else
-			if [ $AM_2 -eq $AM_V2 ]; then
-				if [ $AM_3 -gt $AM_V3 ]; then
-					AM_ERROR=1 
-				fi
-			fi
-		fi
-	fi
-fi
-
-if [ "$AM_ERROR" = "1" ]; then
-	echo -e  '\E[31;m'
-	echo -n "Your automake version `automake --version | sed -n -e 's#[^0-9]* \([0-9]*\.[0-9]*\.*[0-9]*\).*#\1#p'`"
-	echo " is older than the suggested one, $AM_1.$AM_2.$AM_3"
-	echo "Go on at your own risk. :-)"
-	echo
-	tput sgr0
-fi
-
-# Check autoconf version
-AC_VERSION=`autoconf --version | sed -n -e 's#[^0-9]* \([0-9]*\)\.\([0-9]*\).*$#\1 \2#p'`
-AC_V1=`echo $AC_VERSION | awk '{print $1}'`
-AC_V2=`echo $AC_VERSION | awk '{print $2}'`
-
-if [ $AC_1 -gt $AC_V1 ]; then
-	AC_ERROR=1 
-else
-	if [ $AC_1 -eq $AC_V1 ]; then
-		if [ $AC_2 -gt $AC_V2 ]; then
-			AC_ERROR=1 
-		fi
-	fi
-fi
-
-if [ "$AC_ERROR" = "1" ]; then
-	echo -e  '\E[31;m'
-	echo -n "Your autoconf version `autoconf --version | sed -n -e 's#[^0-9]* \([0-9]*\.[0-9]*\).*#\1#p'`"
-	echo " is older than the suggested one, $AC_1.$AC_2"
-	echo "Go on at your own risk. :-)"
-	echo
-	tput sgr0
-fi
-
-# Check libtool version
-LT_VERSION=`$LIBTOOL --version | sed -n -e 's#[^0-9]* \([0-9]*\)\.\([0-9]*\).*$#\1 \2#p'`
-LT_V1=`echo $LT_VERSION | awk '{print $1}'`
-LT_V2=`echo $LT_VERSION | awk '{print $2}'`
-
-if [ $LT_1 -gt $LT_V1 ]; then
-	LT_ERROR=1 
-else
-	if [ $LT_1 -eq $LT_V1 ]; then
-		if [ $LT_2 -gt $LT_V2 ]; then
-			LT_ERROR=1 
-		fi
-	fi
-fi
-
-if [ "$LT_ERROR" = "1" ]; then
-	echo -e  '\E[31;m'
-	echo -n "Your libtool version `$LIBTOOL --version | sed -n -e 's#[^0-9]* \([0-9]*\.[0-9]*\).*#\1#p'`"
-	echo " is older than the suggested one, $LT_1.$LT_2"
-	echo "Go on at your own risk. :-)"
-	echo
-	tput sgr0
-fi
-
-echo Configuring build environment for QGIS
-aclocal \
-  && $LIBTOOLIZE --force --copy \
-  && autoheader --force -W all \
-  && automake --add-missing --foreign --copy \
-  && autoconf --force \
-  && echo Now running configure to configure QGIS \
-  && ./configure $@

Deleted: packages/qgis/branches/upstream/current/build.mac.sh
===================================================================
--- packages/qgis/branches/upstream/current/build.mac.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/build.mac.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,70 +0,0 @@
-#!/bin/bash
-#
-# A simple script to build QGIS
-#       Tim Sutton 2005-2006
-#       and Martin Dobias 2006
-#
-if [ ! $1 ]
-then
-  echo "Usage: ${0} install_prefix"
-  echo "e.g."
-  echo "${0} \$HOME/apps/"
-   exit 1
- fi
-  
- AUTOGEN_FLAGS=
-  
- # for debug build:
- # - disable default optimisations to improve debugging (omitting default -O2 flags)
- # - show warnings
- if [ x$2 = xdebug ]
- then
-   echo "Building with debug support"
-   AUTOGEN_FLAGS="--enable-debug"
-   export CFLAGS="-g -Wall"
-   export CXXFLAGS="-g -Wall"
-   #for mac fink users
-   #export CPPFLAGS=-I/sw/include
- else
-   echo "Building without debug support"
-   AUTOGEN_FLAGS="--disable-debug"
-   export CFLAGS="-O2 -Wall"
-   export CXXFLAGS="-O2 -Wall"
-   #for mac fink users
-   #export CPPFLAGS=-I/sw/include
- fi
- 
- if [ x$2 = "static" ]
- then
-   echo "Building with qgis statically linked to dependencies"
-   #this is to tell linker to statically linke
-   #against deps like gdal etc - useful for
-   #trying to build a distributeable binary of qgis
-   export LDFLAGS=-static
- fi
-  
- #qt installed from source
- #export QTDIR=/usr/local/Trolltech/Qt-4.1.0
- #qt installed from debian apt
- #export QTDIR=/usr
- export QTDIR=/usr/local/Trolltech/Qt-4.2.0-rc1
- #export QTDIR=/usr/local/Trolltech/Qt-4.1.4
- #export PATH=/usr/local/gislibs/bin:/usr/local/graphicslibs/bin/:$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$QTDIR/lib
-
- # Note: --enable-static=no tells compiler 
- # 'dont build static versions of qgis .o files'
- # This only applies to qgis interal libs and speeds 
- # up the compilation process. See discussion on 
- # http://logs.qgis.org/slogs/%23qgis.2006-04-15.log at 17:06:10
- # for additional details
- ./autogen.sh $AUTOGEN_FLAGS --prefix=${1} \
-                             --enable-static=no \
-                             --with-qtdir=$QTDIR \
-                             --with-python
-                             #--with-grass=/usr/local/gislibs/grass
-                             #--enable-unittests \
-make && make install
-
-cd tests/src
-./runtests.sh

Deleted: packages/qgis/branches/upstream/current/build.sh
===================================================================
--- packages/qgis/branches/upstream/current/build.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/build.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,66 +0,0 @@
-#!/bin/bash
-#
-# A simple script to build QGIS
-#       Tim Sutton 2005-2006
-#       and Martin Dobias 2006
-#
-if [ ! $1 ]
-then
-  echo "Usage: ${0} install_prefix"
-  echo "e.g."
-  echo "${0} \$HOME/apps/"
-   exit 1
- fi
-  
- AUTOGEN_FLAGS=
-  
- # for debug build:
- # - disable default optimisations to improve debugging (omitting default -O2 flags)
- # - show warnings
- if [ x$2 = xdebug ]
- then
-   echo "Building with debug support"
-   AUTOGEN_FLAGS="--enable-debug"
-   export CFLAGS="-g -Wall"
-   export CXXFLAGS="-g -Wall"
- fi
- 
- if [ x$2 = "static" ]
- then
-   echo "Building with qgis statically linked to dependencies"
-   #this is to tell linker to statically linke
-   #against deps like gdal etc - useful for
-   #trying to build a distributeable binary of qgis
-   export LDFLAGS=-static
- fi
-  
- #qt installed from source
- #export QTDIR=/usr/local/Trolltech/Qt-4.2.2
- #export QTDIR=/opt/omg_linux_bundle/usr/
-
- #qt installed from debian apt
- export QTDIR=/usr
- export PATH=$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$QTDIR/lib
-
- # Note: --enable-static=no tells compiler 
- # 'dont build static versions of qgis .o files'
- # This only applies to qgis interal libs and speeds 
- # up the compilation process. See discussion on 
- # http://logs.qgis.org/slogs/%23qgis.2006-04-15.log at 17:06:10
- # for additional details
- export PATH=/opt/omg_linux_bundle/usr/bin/:$PATH
- ./autogen.sh $AUTOGEN_FLAGS --prefix=${1} \
-                             --enable-static=no \
-                             --with-python \
-                             --with-gsl=/opt/omg_linux_bundle/usr/bin/gsl-config \
-                             --with-gdal=/opt/omg_linux_bundle/usr/ \
-                             --with-projdir=/opt/omg_linux_bundle/usr/ \
-                             --with-gdal=/opt/omg_linux_bundle/usr/bin/gdal-config \
-                             --with-qtdir=$QTDIR 
-                             --with-grass=/usr/lib/grass && make && make install 
-                             ##--enable-unittests \
-#cd tests/src
-#./runtests.sh
-make
-make install

Deleted: packages/qgis/branches/upstream/current/build_debian_package.sh
===================================================================
--- packages/qgis/branches/upstream/current/build_debian_package.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/build_debian_package.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,25 +0,0 @@
-#!/bin/bash
-set -x
-if [ -d `pwd`/src ]
-then
-  #src exists so we are prolly in the right dir
-  echo "good we are in  qgis checkout dir!"
-else
-  echo "You must run this from the top level qgis checkout dir!"
-  exit 1
-fi
-
-if [ -d `pwd`/debian ]
-then
-  cd debian
-  svn update
-  cd ..
-else
-  svn co https://svn.qgis.org/repos/qgis/trunk/debian
-fi
-
-export DEBFULLNAME="Tim Sutton"
-export DEBEMAIL=tim at linfiniti.com
-#dch -v 0.7.9+svn`date +%Y%m%d`
-dch -v 0.8.1
-fakeroot dpkg-buildpackage

Modified: packages/qgis/branches/upstream/current/cmake/Bison.cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake/Bison.cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/cmake/Bison.cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,12 +1,12 @@
-# use bison for .yy files
-
-# search for bison
-MACRO(FIND_BISON)
-    IF(NOT BISON_EXECUTABLE)
-        FIND_PROGRAM(BISON_EXECUTABLE bison)
-        IF (NOT BISON_EXECUTABLE)
+# use bison for .yy files
+
+# search for bison
+MACRO(FIND_BISON)
+    IF(NOT BISON_EXECUTABLE)
+        FIND_PROGRAM(BISON_EXECUTABLE bison)
+        IF (NOT BISON_EXECUTABLE)
         
-	  MESSAGE(FATAL_ERROR "Bison not found - aborting")
+	  MESSAGE(FATAL_ERROR "Bison not found - aborting")
 	
 	ELSE (NOT BISON_EXECUTABLE)
 
@@ -20,48 +20,35 @@
             MESSAGE (FATAL_ERROR "Bison version is too old (${BISON_VERSION_MAJOR}.${BISON_VERSION_MINOR}). Use 2.0 or higher.")
           ENDIF (BISON_VERSION_MAJOR LESS 2)
 
-      ENDIF (NOT BISON_EXECUTABLE)
-    ENDIF(NOT BISON_EXECUTABLE)
+      ENDIF (NOT BISON_EXECUTABLE)
+    ENDIF(NOT BISON_EXECUTABLE)
 
-ENDMACRO(FIND_BISON)
-
-MACRO(ADD_BISON_FILES _sources )
-    FIND_BISON()
-
-    FOREACH (_current_FILE ${ARGN})
-      GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
-      GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
-
-      SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
-      SET(_out_h ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)  	 
-      SET(_out_hpp ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.hpp)
-
+ENDMACRO(FIND_BISON)
+
+MACRO(ADD_BISON_FILES _sources )
+    FIND_BISON()
+
+    FOREACH (_current_FILE ${ARGN})
+      GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
+      GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
+
+      SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+
+
 		# bison options:
 		# -t add debugging facilities
 		# -d produce additional header file (used in parser.l)
 		# -v produce additional *.output file with parser states
-
-      ADD_CUSTOM_COMMAND(
-         OUTPUT ${_out}
-         COMMAND ${BISON_EXECUTABLE}
-         ARGS
-         -o${_out} -d -v -t
-         ${_in}
-         DEPENDS ${_in}
-      )
-
-      # Hack to change output file name to <include_file>.h
-      # instead of <include_file>.hpp
-      # (Instead of changing source code)
-
-      ADD_CUSTOM_COMMAND(  	 
-         OUTPUT ${_out_h} 	 
-         COMMAND ${CMAKE_COMMAND} 	 
-         ARGS 	 
-         -E copy ${_out_hpp} ${_out_h} 	 
-         DEPENDS ${_out} 	 
-      )
-
-      SET(${_sources} ${${_sources}} ${_out} ${_out_h} )
-   ENDFOREACH (_current_FILE)
-ENDMACRO(ADD_BISON_FILES)
+
+      ADD_CUSTOM_COMMAND(
+         OUTPUT ${_out}
+         COMMAND ${BISON_EXECUTABLE}
+         ARGS
+         -o${_out} -d -v -t
+         ${_in}
+         DEPENDS ${_in}
+      )
+
+      SET(${_sources} ${${_sources}} ${_out} )
+   ENDFOREACH (_current_FILE)
+ENDMACRO(ADD_BISON_FILES)

Modified: packages/qgis/branches/upstream/current/cmake/FindGDAL.cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake/FindGDAL.cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/cmake/FindGDAL.cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -37,7 +37,14 @@
       EXEC_PROGRAM(${GDAL_CONFIG}
         ARGS --prefix
         OUTPUT_VARIABLE GDAL_PREFIX)
-      SET(GDAL_INCLUDE_DIR ${GDAL_PREFIX}/include CACHE STRING INTERNAL)
+      #SET(GDAL_INCLUDE_DIR ${GDAL_PREFIX}/include CACHE STRING INTERNAL)
+      FIND_PATH(GDAL_INCLUDE_DIR 
+        gdal.h 
+        ${GDAL_PREFIX}/include/gdal
+        ${GDAL_PREFIX}/include
+        /usr/local/include 
+        /usr/include 
+        )
 
       ## extract link dirs for rpath  
       EXEC_PROGRAM(${GDAL_CONFIG}

Modified: packages/qgis/branches/upstream/current/cmake/FindGRASS.cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake/FindGRASS.cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/cmake/FindGRASS.cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -23,6 +23,9 @@
 
   ENDFOREACH (LIB)
 
+  # LIB_PATH is only temporary variable, so hide it (is it possible to delete a variable?)
+  MARK_AS_ADVANCED(LIB_PATH)
+
   IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
     SET (GRASS_FOUND TRUE)
     SET (GRASS_PREFIX ${G_PREFIX})
@@ -39,7 +42,7 @@
 # search for grass installations
 
 # list of paths which to search - user's choice as first
-SET (GRASS_PATHS ${GRASS_PREFIX} /usr/lib/grass c:/msys/local/grass-6.3.cvs)
+SET (GRASS_PATHS ${GRASS_PREFIX} /usr/lib/grass c:/msys/local)
 
 # mac-specific path
 IF (APPLE)
@@ -60,9 +63,14 @@
 
 IF (GRASS_FOUND)
 
-   # read grass version number and remove trailing newline
-   FILE (READ ${GRASS_PREFIX}/etc/VERSIONNUMBER GRASS_VERSION)
-   STRING(REPLACE "\n" "" GRASS_VERSION ${GRASS_VERSION})
+   IF (NOT WIN32)
+     # read grass version number and remove trailing newline
+     FILE (READ ${GRASS_PREFIX}/etc/VERSIONNUMBER GRASS_VERSION)
+     STRING(REPLACE "\n" "" GRASS_VERSION ${GRASS_VERSION})
+   ELSE (NOT WIN32)
+     # TODO: how to find out grass version on win?
+     SET(GRASS_VERSION "?")
+   ENDIF (NOT WIN32)
 
    IF (NOT GRASS_FIND_QUIETLY)
       MESSAGE(STATUS "Found GRASS: ${GRASS_PREFIX} (${GRASS_VERSION})")

Modified: packages/qgis/branches/upstream/current/cmake/Python.cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake/Python.cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/cmake/Python.cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -46,7 +46,15 @@
     
     # check for SIP
     TRY_RUN_PYTHON (HAVE_SIP_MODULE "from sip import wrapinstance")
-    FIND_PROGRAM (SIP_BINARY_PATH sip)
+
+    IF (APPLE)
+      SET (SIP_MAC_PATH
+      /System/Library/Frameworks/Python.framework/Versions/2.5/bin
+      /System/Library/Frameworks/Python.framework/Versions/2.4/bin
+      /System/Library/Frameworks/Python.framework/Versions/2.3/bin)
+    ENDIF (APPLE)
+
+    FIND_PROGRAM (SIP_BINARY_PATH sip PATHS ${SIP_MAC_PATH})
     
     IF (HAVE_SIP_MODULE AND SIP_BINARY_PATH)
       # check for SIP version

Added: packages/qgis/branches/upstream/current/cmake_templates/cmake_uninstall.cmake.in
===================================================================
--- packages/qgis/branches/upstream/current/cmake_templates/cmake_uninstall.cmake.in	                        (rev 0)
+++ packages/qgis/branches/upstream/current/cmake_templates/cmake_uninstall.cmake.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,22 @@
+IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
+ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+STRING(REGEX REPLACE "\n" ";" files "${files}")
+FOREACH(file ${files})
+  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
+  IF(EXISTS "$ENV{DESTDIR}${file}")
+    EXEC_PROGRAM(
+      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+      OUTPUT_VARIABLE rm_out
+      RETURN_VALUE rm_retval
+      )
+    IF("${rm_retval}" STREQUAL 0)
+    ELSE("${rm_retval}" STREQUAL 0)
+      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
+    ENDIF("${rm_retval}" STREQUAL 0)
+  ELSE(EXISTS "$ENV{DESTDIR}${file}")
+    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
+  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
+ENDFOREACH(file)

Added: packages/qgis/branches/upstream/current/cmake_templates/qgsconfig.h.in
===================================================================
--- packages/qgis/branches/upstream/current/cmake_templates/qgsconfig.h.in	                        (rev 0)
+++ packages/qgis/branches/upstream/current/cmake_templates/qgsconfig.h.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16 @@
+
+// QGSCONFIG.H
+
+#ifndef QGSCONFIG_H
+#define QGSCONFIG_H
+
+#define VERSION "0.9.0-Ganymede"
+
+#define PREFIX "${CMAKE_INSTALL_PREFIX}"
+
+#cmakedefine HAVE_POSTGRESQL
+
+#cmakedefine HAVE_PYTHON
+
+#endif
+

Added: packages/qgis/branches/upstream/current/cmake_templates/qgssvnversion.h.in_cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake_templates/qgssvnversion.h.in_cmake	                        (rev 0)
+++ packages/qgis/branches/upstream/current/cmake_templates/qgssvnversion.h.in_cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1 @@
+#define QGSSVNVERSION "@MYVERSION@"

Added: packages/qgis/branches/upstream/current/cmake_templates/svnscript.cmake.in_cmake
===================================================================
--- packages/qgis/branches/upstream/current/cmake_templates/svnscript.cmake.in_cmake	                        (rev 0)
+++ packages/qgis/branches/upstream/current/cmake_templates/svnscript.cmake.in_cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,17 @@
+# Magnus Homann svn hack
+# Required?
+SET(CMAKE_BACKWARDS_COMPATIBILITY "2.4")
+
+# See if we have svn installed
+FIND_PROGRAM(SVNVERSION svnversion)
+
+# Read the version if installed, else set to "unknown"
+IF (SVNVERSION)
+        EXEC_PROGRAM(${SVNVERSION} ARGS @CMAKE_CURRENT_SOURCE_DIR@ OUTPUT_VARIABLE MYVERSION)
+ELSE (SVNVERSION)
+        SET(MYVERSION unknown)
+ENDIF (SVNVERSION)
+
+# Configure the qgssvnversion.h
+CONFIGURE_FILE(@CMAKE_CURRENT_SOURCE_DIR@/cmake_templates/qgssvnversion.h.in_cmake
+               @CMAKE_CURRENT_BINARY_DIR@/qgssvnversion.h)

Deleted: packages/qgis/branches/upstream/current/cmake_uninstall.cmake.in
===================================================================
--- packages/qgis/branches/upstream/current/cmake_uninstall.cmake.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/cmake_uninstall.cmake.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,22 +0,0 @@
-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-
-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-STRING(REGEX REPLACE "\n" ";" files "${files}")
-FOREACH(file ${files})
-  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
-  IF(EXISTS "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM(
-      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-      OUTPUT_VARIABLE rm_out
-      RETURN_VALUE rm_retval
-      )
-    IF("${rm_retval}" STREQUAL 0)
-    ELSE("${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    ENDIF("${rm_retval}" STREQUAL 0)
-  ELSE(EXISTS "$ENV{DESTDIR}${file}")
-    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
-  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
-ENDFOREACH(file)

Deleted: packages/qgis/branches/upstream/current/configure.in
===================================================================
--- packages/qgis/branches/upstream/current/configure.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/configure.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,590 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl $Id$
-
-
-
-AC_INIT
-
-dnl AC_CONFIG_SRCDIR([libtool])
-
-dnl header sentinals for qgsconfig.h
-AH_TOP(
-[#ifndef QGSCONFIG_H
- #define QGSCONFIG_H
-])
-AH_BOTTOM(
-[#endif]
-)
-
-AC_PREREQ(2.52)
-AC_CONFIG_HEADERS(qgsconfig.h)
- 
-dnl ---------------------------------------------------------------------------
-dnl version number
-dnl Note the convention here is to name development versions with a base
-dnl name of the last release, the word "devel",  and an EXTRA_VERSION 
-dnl number. This means that development work on 0.8 will be versioned as
-dnl 0.7devel1, 0.7devel2, etc.
-dnl ---------------------------------------------------------------------------
-MAJOR_VERSION=0
-MINOR_VERSION=8
-MICRO_VERSION=0
-EXTRA_VERSION=0
-if test $EXTRA_VERSION -eq 0; then
-    VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
-else
-   VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}-Preview-${EXTRA_VERSION}
-fi
-
-dnl ---------------------------------------------------------------------------
-dnl library interfase version number
-dnl change when lib interface changes
-dnl see http://www.gnu.org/software/libtool/manual.html#TOC32
-dnl ---------------------------------------------------------------------------
-INTERFACE_VERSION=1:0:0
-
-
-AM_INIT_AUTOMAKE(qgis, ${VERSION})
-
-AC_SUBST(MAJOR_VERSION)
-AC_SUBST(MINOR_VERSION)
-AC_SUBST(MICRO_VERSION)
-AC_SUBST(EXTRA_VERSION)
-AC_SUBST(INTERFACE_VERSION)
-
-AC_PREFIX_PROGRAM(gcc)
-
-AC_PROG_CXX
-
-AC_LANG([C++])
-
-AC_PROG_LN_S
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-
-AC_LIBTOOL_DLOPEN
-AC_PROG_LIBTOOL
-
-
-dnl ---------------------------------------------------------------------------
-dnl Check for Endian stuff to manage big endian anomalies
-dnl ---------------------------------------------------------------------------
-
-AC_C_BIGENDIAN
-AC_CHECK_HEADERS([endian.h])
-AC_CHECK_HEADERS([machine/endian.h])
-
-
-dnl ---------------------------------------------------------------------------
-dnl check lib64 environment
-dnl ---------------------------------------------------------------------------
-AQ_CHECK_LIB64
-
-dnl ---------------------------------------------------------------------------
-dnl svnversion check
-dnl ---------------------------------------------------------------------------
-AC_CHECK_PROG(HAVE_SVNVERSION, [svnversion], [yes], [no])
-
-dnl ---------------------------------------------------------------------------
-dnl Qt check
-dnl ---------------------------------------------------------------------------
-AQ_CHECK_QT4
-
-dnl ---------------------------------------------------------------------------
-dnl Python
-dnl ---------------------------------------------------------------------------
-AX_PYTHON
-
-dnl ---------------------------------------------------------------------------
-dnl GDAL/OGR
-dnl ---------------------------------------------------------------------------
-AQ_CHECK_GDAL
-
-dnl ---------------------------------------------------------------------------
-dnl GEOS
-dnl ---------------------------------------------------------------------------
-AQ_CHECK_GEOS
-if test x"$ac_geos" = "xno"; then
-  AC_MSG_ERROR("GEOS is required and was not found")
-fi
-
-dnl ---------------------------------------------------------------------------
-dnl PROJ
-dnl ---------------------------------------------------------------------------
-
-AC_ARG_WITH(projdir,
-    AC_HELP_STRING([--with-projdir=DIR],
-      [ Proj4 installation directory, e.g. '--with-projdir=/usr/local']),
-    [
-      if test x"$with_projlibdir" = "x" ; then
-        AC_MSG_CHECKING([for Proj4 library in $with_projdir/lib])
-        PROJ_LIB="-L$with_projdir/lib -lproj"
-        if test -d "$with_projdir/lib" ; then
-          projlibdir="$with_projdir/lib"
-        fi
-      else
-        AC_MSG_CHECKING([for Proj4 library in $with_projlibdir])
-        PROJ_LIB="-L$with_projlibdir -lproj"
-        if test -d "$with_projlibdir" ; then
-          projlibdir="$with_projlibdir"
-        fi
-      fi
-
-      if test x"$projlibdir" = "x" ; then
-         AC_MSG_ERROR([*** directory $projlibdir does not exist.])
-      else
-        LDFLAGS="$LDFLAGS $PROJ_LIB"
-        CPPFLAGS="$CPPFLAGS -I$with_projdir/include"
-        AC_MSG_RESULT(["$with_projdir exists"])
-
-        AC_CHECK_HEADERS(proj_api.h,
-          [PROJ_INC="-I$with_projdir/include"], 
-           [AC_MSG_ERROR([*** Proj4 headers not found.])])
-
-        AC_CHECK_LIB(proj,pj_is_latlong, 
-            [have_proj_lib=yes],
-            [AC_MSG_ERROR([*** Proj4 library not found.])])
-      fi
-    ],
-  
-    [
-     AC_CHECK_HEADERS(proj_api.h,[PROJ_INC=""],
-       [AC_MSG_ERROR([*** Proj4 headers not found.])])
-    ]
-    AC_CHECK_LIB(proj,pj_is_latlong,
-    [
-     have_proj_lib=yes
-     PROJ_LIB="-lproj"
-    ],
-    [
-     AC_MSG_ERROR([Proj4 is required and was not found.])
-    ])
- )
-
-dnl A dummy section that's here just to produce some text for the 
-dnl configure --help output. The actual use of projlibdir is in 
-dnl the AC_ARG_WITH(projdir) macro
-
-AC_ARG_WITH(projlibdir,AC_HELP_STRING([--with-projlibdir=DIR],
-    [ Proj4 library directory, optional, use when library is in a different directory to that derived by appending /lib to --with-projdir ]),[],[])
-
-AC_SUBST(PROJ_INC)
-AC_SUBST(PROJ_LIB)
-
-dnl ---------------------------------------------------------------------------
-dnl SQLITE
-dnl ---------------------------------------------------------------------------
-
-AC_ARG_WITH(sqlite3dir,
-    AC_HELP_STRING([--with-sqlite3dir=DIR],
-        [ sqlite3 installation directory, e.g. '--with-sqlite3=/usr/local']),
-    [
-    AC_MSG_CHECKING([for Sqlite3 library in $with_sqlite3dir])
-        if test -d "$with_sqlite3dir/lib"; then
-          LDFLAGS="$LDFLAGS -L$with_sqlite3dir/lib"
-          CPPFLAGS="$CPPFLAGS -I$with_sqlite3dir/include"
-          AC_MSG_RESULT(["$with_sqlite3dir exists"])
-          AC_CHECK_HEADERS(sqlite3.h,
-                [SQLITE3_INC="-I$with_sqlite3dir/include"],
-                [
-                AC_MSG_ERROR([*** Sqlite3 headers not found.])
-                ])
-          AC_CHECK_LIB(sqlite3,sqlite3_open,
-                [
-                have_sqlite3_lib=yes
-                SQLITE3_LIB="-L$with_sqlite3dir/lib -lsqlite3"
-                ],
-                [
-                AC_MSG_ERROR([*** Sqlite3 library not found.])
-                ])
-                else
-                AC_MSG_ERROR([*** directory $with_sqlite3dir does not exist.])
-        fi
-    ],
-    [	
-    AC_CHECK_HEADERS(sqlite3.h,[SQLITE3_INC=""],
-        [
-        AC_MSG_ERROR([*** Sqlite3 headers not found.])
-        ])
-    AC_CHECK_LIB(sqlite3,sqlite3_open,
-        [
-        have_sqlite3_lib=yes
-        SQLITE3_LIB="-lsqlite3"
-        ],
-        [
-        AC_MSG_ERROR([*** Sqlite3 library not found.])
-        ])
-
-    
-    ]
-    )
-
-AC_SUBST(SQLITE3_INC)
-AC_SUBST(SQLITE3_LIB)
-
-
-
-dnl ---------------------------------------------------------------------------
-dnl PostgreSQL
-dnl ---------------------------------------------------------------------------
-AC_ARG_WITH(postgresql,
-  AC_HELP_STRING([--with-postgresql=path],
-                 [PostgreSQL (PostGIS) Support (full path to pg_config)]))
-
-AC_MSG_CHECKING([for PostgreSQL])
-
-# pg_config cannot be used with cross compiler
-# we expect that libs and header files are in standard dirs
-case "${host}" in
-  *-mingw*)
-    if test x"$with_postgresql" = "xyes" -o x"$with_postgresql" = "x" ; then
-      AC_MSG_RESULT([yes])
-      PG_LIB="-lpq"
-      PG_INC=""
-      AC_DEFINE([HAVE_POSTGRESQL],1,
-	[Define to 1 if PostgreSQL is available])
-      ac_postgresql="yes"
-    fi
-    ;;
-
-  *)
-    if test x"$with_postgresql" = "xyes" -o x"$with_postgresql" = "x" ; then
-      AC_MSG_RESULT([yes])
-      AC_PATH_PROG([PG_CONFIG], [pg_config], [no])
-    elif test x"$with_postgresql" = "xno" ; then
-      AC_MSG_RESULT([no])
-      PG_CONFIG=no
-    else
-      AC_MSG_RESULT([yes])
-      PG_CONFIG="$with_postgresql/pg_config"
-    fi
-
-    if test x"$PG_CONFIG" != "xno" ; then
-      PG_LIB="-L`$PG_CONFIG --libdir` -lpq"
-      PG_INC="-I`$PG_CONFIG --includedir`"
-      AC_MSG_CHECKING([for postgreSQL libs])
-      AC_MSG_RESULT([$PG_LIB])
-      AC_DEFINE([HAVE_POSTGRESQL],1,
-	[Define to 1 if PostgreSQL is available])
-      ac_postgresql="yes"
-      ac_postgresql_version=`$PG_CONFIG --version | sed -e 's#PostgreSQL ##'`
-      postgresql_version_string="(Version $ac_postgresql_version)"
-    else
-      ac_postgresql="no"
-    fi
-    ;;
-esac
-
-AC_SUBST(PG_INC)
-AC_SUBST(PG_LIB)
-
-AM_CONDITIONAL([HAVE_POSTGRESQL], [test "$ac_postgresql" = "yes"])
-
-
-dnl ---------------------------------------------------------------------------
-dnl checking if gdal and/or postgresql are available
-dnl ---------------------------------------------------------------------------
-if test x"$ac_postgresql" = "xno" -a x"$ac_gdalogr" = "xno"; then
-  AC_MSG_ERROR("QGIS without GDAL(with OGR support) and PostgreSQL makes no sense!")
-fi
-
-
-dnl ---------------------------------------------------------------------------
-dnl support for lex/yacc tools - for search strings parser
-dnl ---------------------------------------------------------------------------
-
-AC_PROG_YACC
-AM_PROG_LEX
-
-# test whether they have been really found
-# (by default if not found autoconf will use a stub)
-
-if test x"$LEX" != "xflex" -a x"$LEX" != "xlex" ; then
-  AC_MSG_ERROR("Lex/Flex is not available!")
-fi
-
-if test x"$YACC" != "xbison" -a x"$YACC" != "xyacc" -a x"$YACC" != "xbison -y" ; then
-  AC_MSG_ERROR("Yacc/Bison is not available!")
-fi
-
-dnl ---------------------------------------------------------------------------
-dnl SPIT plugin
-dnl ---------------------------------------------------------------------------
-AC_ARG_ENABLE(spit,
-  AC_HELP_STRING([--disable-spit],
-                 [disable Shapefile to PostgreSQL (PostGIS) import plugin (built by default with PostgreSQL support)]),
-  [ac_spit=$enableval], [ac_spit=yes])
-                 
-AC_MSG_CHECKING([for SPIT])
-if test x"$ac_spit" = "xyes"; then
-  if test x"$ac_postgresql" = "xyes" -a x"$ac_gdalogr" = "xyes"; then
-    AC_MSG_RESULT([yes])
-  else
-    ac_spit="no"
-    if test x"$ac_postgresql" = "xno" ; then
-      AC_MSG_RESULT([no (PostgreSQL not available)])
-    else
-      AC_MSG_RESULT([no (GDAL with OGR support not available)])
-    fi
-  fi
-else
-  AC_MSG_RESULT([no])
-fi
-
-AM_CONDITIONAL([HAVE_SPIT], [test "$ac_spit" = "yes"])
-
-
-dnl ---------------------------------------------------------------------------
-dnl GRASS package
-dnl ---------------------------------------------------------------------------
-AC_CHECK_LIB(util, openpty)
-
-AC_ARG_WITH(grass,
-    AC_HELP_STRING([--with-grass=DIR],[GRASS Support (full path to GRASS binary package, e.g. --with-grass=/usr1/grass57/dist.i686-pc-linux-gnu)]))
-
-    AC_MSG_CHECKING([for GRASS])
-
-if test -n "$with_grass" -a x"$with_grass" != "xno"; then
-    # I don't know how to add library path to AC_CHECK_LIB()
-    if test ! -f "$GISLIB"; then
-      GISLIB=`ls $with_grass/${_lib}/libgrass_gis.dylib 2> /dev/null`
-    fi
-    if test ! -f "$GISLIB"; then
-      GISLIB=`ls $with_grass/${_lib}/libgrass_gis.so 2> /dev/null`
-    fi
-    if test ! -f "$GISLIB"; then
-      GISLIB=`ls $with_grass/${_lib}/libgrass_gis.a 2> /dev/null`
-    fi
-    if test ! -f "$GISLIB"; then
-      GISLIB=`ls $with_grass/${_lib}/grass_gis.dll 2> /dev/null`
-    fi
-
-    if test ! -f "$GISLIB"; then
-  AC_MSG_ERROR( [GRASS library not found in $with_grass/${_lib}] )
-    fi
-    GRASS_LIB="-L$with_grass/${_lib} -lgrass_vect -lgrass_dig2 -lgrass_dbmiclient -lgrass_dbmibase -lgrass_shape -lgrass_dgl -lgrass_rtree -lgrass_gis -lgrass_datetime -lgrass_linkm -lgrass_form -lgrass_gproj"
-
-    if test "$ac_cv_lib_util_openpty" = yes; then
-      HAVE_OPENPTY=1
-      GRASS_LIB="$GRASS_LIB -lutil"
-    fi
-
-    GISINC=`ls $with_grass/include/grass/gis.h`
-    if test ! -f "$GISINC"; then
-  AC_MSG_ERROR( [GRASS headers not found] )
-    fi
-
-    GRASS_BASE="$with_grass"
-    GRASS_INC="$with_grass/include/"
-    HAVE_GRASS=1
-    AC_MSG_RESULT([yes])
-    ac_grass="yes"
-else 
-    AC_MSG_RESULT([no])
-    ac_grass="no"
-fi
-
-AC_SUBST(GRASS_BASE)
-AC_SUBST(HAVE_GRASS)
-AC_SUBST(HAVE_OPENPTY)
-AC_SUBST(GRASS_LIB)
-AC_SUBST(GRASS_INC)
-AM_CONDITIONAL([HAVE_GRASS], [test "$ac_grass" = "yes"])
-
-dnl ---------------------------------------------------------------------------
-dnl GPX and GPS plugins
-dnl ---------------------------------------------------------------------------
-AC_ARG_ENABLE(gpx,
-  AC_HELP_STRING([--disable-gpx],
-                 [Disable the GPX provider and the GPS plugin (built by default if libexpat is found)]),
-                 [ac_gpx=$enableval], [ac_gpx=yes])
-AC_MSG_CHECKING([GPX provider and GPS plugin should be installed (default: yes)])
-AC_MSG_RESULT([$ac_gpx])
-have_expat_lib=no
-if [ test $ac_gpx = yes ] ; then
-  AC_CHECK_LIB(expat, XML_ParserCreate, have_expat_lib=yes)
-fi
-AM_CONDITIONAL([HAVE_EXPAT], [test "$have_expat_lib" = "yes"])
-
-dnl ---------------------------------------------------------------------------
-dnl unittests 
-dnl ---------------------------------------------------------------------------
-AC_ARG_ENABLE(unittests,
-  AC_HELP_STRING([--enable-unittests],
-                 [Enable the compilation of unittests]),
-                 [ac_com=yes], [ac_com=no])
-AC_MSG_CHECKING([Whether to build unit tests])
-AC_MSG_RESULT([$ac_com])
-AM_CONDITIONAL([WITH_UNITTESTS], [test "$ac_com" = "yes"])
-
-
-dnl ---------------------------------------------------------------------------
-dnl Georeferencing plugin
-dnl ---------------------------------------------------------------------------
-AC_ARG_ENABLE(georef,
-  AC_HELP_STRING([--disable-georef],
-                 [Disable the georeferencing plugin (built by default if libgsl is found)]),
-                 [ac_georef=$enableval], [ac_georef=yes])
-ac_gsl=no
-AC_MSG_CHECKING([if the georeferencer plugin should be built])
-AC_MSG_RESULT($ac_georef)
-if [ test $ac_georef = yes ] ; then
-  AM_PATH_GSL(1.5.9, [ac_gsl=yes], [ac_gsl=no])
-fi
-AM_CONDITIONAL([HAVE_GSL], [test "$ac_gsl" = "yes"])
-
-
-dnl ---------------------------------------------------------------------------
-dnl WFS plugin
-dnl ---------------------------------------------------------------------------
-AC_MSG_CHECKING([for WFS])
-
-if test -n "$with_wfs" -a x"$with_wfs" != "xno"; then
-      ac_wfs=yes
-      AC_DEFINE([HAVE_WFS],1,
-	[Define to 1 if wfs plugin/provider is requested])
-	AC_MSG_RESULT([yes])
-else
-	ac_wfs=no
-	AC_MSG_RESULT([no])
-fi
-AM_CONDITIONAL([HAVE_WFS], [test "$ac_wfs" = "yes"])
-
-dnl ---------------------------------------------------------------------------
-dnl Debugging
-dnl ---------------------------------------------------------------------------
-AC_ARG_ENABLE(debug,
-  AC_HELP_STRING([--enable-debug],
-                 [Enable debuging messages [[default=no]]]),
-        [ac_debug=$enableval], [ac_debug=no])
-
-AC_MSG_CHECKING([if debug statements should be sent to stdout/stderr])
-if test x"$ac_debug" = "xno" ; then
-  DEBUG_QGIS=-DNO_DEBUG
-  AC_MSG_RESULT([no])
-else
-  DEBUG_QGIS=-DQGISDEBUG
-  AC_MSG_RESULT([yes])
-fi
-AC_SUBST(DEBUG_QGIS)
-
-
-#echo ${prefix}/lib
-#ac_libdir=${prefix}/lib/$PACKAGE
-#AC_MSG_CHECKING([plugin install directory])
-#AC_MSG_RESULT([$libdir])
-#echo Plugins will be installed in $libdir
-
-AC_CONFIG_FILES([
-  Makefile 
-  Makefile.win.rules 
-  create_qm_files.sh
-  doc/Makefile
-  doc/images/Makefile
-  doc/install_guide/Makefile
-  doc/plugins/delimited_text/Makefile
-  doc/plugins/geoprocessing/buffer/Makefile
-  doc/plugins/geoprocessing/Makefile
-  doc/plugins/Makefile
-  i18n/Makefile
-  images/Makefile
-  images/developers/Makefile
-  images/icons/Makefile
-  images/north_arrows/Makefile
-  images/splash/Makefile
-  images/svg/biology/Makefile
-  images/svg/geometric/Makefile
-  images/svg/gpsicons/Makefile
-  images/svg/icon/Makefile
-  images/svg/Makefile
-  images/svg/north_arrows/Makefile
-  images/svg/symbol/Makefile
-  images/svg/sport/Makefile
-  images/themes/default/Makefile
-  images/themes/Makefile
-  images/themes/nkids/Makefile
-  resources/Makefile
-  resources/context_help/Makefile
-  src/Makefile 
-  src/composer/Makefile
-  src/core/Makefile
-  src/helpviewer/Makefile
-  src/gui/Makefile
-  src/legend/Makefile
-  src/mac/Contents/Makefile
-  src/mac/Contents/Resources/Makefile
-  src/mac/Makefile
-  src/plugins/Makefile
-  src/plugins/copyright_label/Makefile
-  src/plugins/delimited_text/Makefile
-  src/plugins/geoprocessing/Makefile
-  src/plugins/georeferencer/Makefile
-  src/plugins/gps_importer/Makefile
-  src/plugins/grass/config/Makefile
-  src/plugins/grass/Makefile
-  src/plugins/grass/modules/Makefile
-  src/plugins/grass/themes/default/Makefile
-  src/plugins/grass/themes/Makefile
-  src/plugins/grid_maker/Makefile
-  src/plugins/north_arrow/Makefile
-  src/plugins/scale_bar/Makefile
-  src/plugins/spit/Makefile
-  src/plugins/wfs/Makefile
-  src/providers/Makefile 
-  src/providers/delimitedtext/Makefile
-  src/providers/gpx/Makefile
-  src/providers/grass/Makefile
-  src/providers/ogr/Makefile
-  src/providers/postgres/Makefile
-  src/providers/wms/Makefile
-  src/providers/wfs/Makefile
-  src/raster/Makefile
-  src/ui/Makefile
-  src/widgets/Makefile
-  src/widgets/projectionselector/Makefile
-  tools/Makefile
-  tools/mapserver_export/Makefile
-  tools/qgis_config/Makefile
-  tests/Makefile
-  tests/src/Makefile
-  tests/src/core/Makefile
-  tests/src/gui/Makefile
-  tests/src/raster/Makefile
-  qgis.spec
-])
-
-AC_OUTPUT
-
-dnl Output the configuration summary
-echo ""
-echo "=========================================="
-echo "$PACKAGE $VERSION"
-echo "------------------------------------------"
-echo "GDAL/OGR      : $ac_gdalogr (Version $ac_gdalogr_version)"
-echo "GEOS          : $ac_geos (Version $ac_geos_version)"
-echo "PostgreSQL    : $ac_postgresql $postgresql_version_string"
-echo "GRASS         : $ac_grass"
-echo "SPIT          : $ac_spit"
-echo "Georeferencer : $ac_gsl"
-echo "WFS           : $ac_wfs"
-echo "GPS/GPX       : $have_expat_lib"
-echo "PROJ4         : $have_proj_lib"
-echo "SQLITE3       : $have_sqlite3_lib"
-echo "Python        : $ac_use_python"
-echo ""
-echo "CPPFLAGS      : $CPPFLAGS"
-echo "CXXFLAGS      : $CXXFLAGS"
-echo ""
-echo "Debug         : $ac_debug"
-echo "Plugin dir    : ${prefix}/lib/$PACKAGE"
-echo ""
-if test "$have_qtmac" = "yes"; then
-  echo "The binary will be installed in $prefix"
-else
-  echo "The binary will be installed in $prefix/bin"
-fi
-echo ""
-echo "The build is using Qt in $QTDIR"
-echo "Linking with Qt using $QT_LIBS"
-echo "------------------------------------------"
-echo "Configure finished, type 'make' to build."

Deleted: packages/qgis/branches/upstream/current/create_qm_files.sh.in
===================================================================
--- packages/qgis/branches/upstream/current/create_qm_files.sh.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/create_qm_files.sh.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,16 +0,0 @@
-#!/bin/sh
-# create_qm_files.sh,v 1.4 2004/07/14 18:16:00 gsherman Exp
-# Create the .qm files from the translation files
-# 1. create a clean Qt .pro file for the project
-# 2. run lrelease using the .pro file from step 1
-# 3. remove the .pro
-# Note the .pro file must NOT be named qgis.pro as this
-# name is reserved for the Windows qmake project file
-# create_qm_files.sh,v 1.4 2004/07/14 18:16:00 gsherman Exp
-echo Creating qmake project file
-# force the output name to be qgis_qm.pro
- at QTDIR@/bin/qmake -project -o qgis_qm.pro
-echo Creating qm files
- at QTDIR@/bin/lrelease -verbose qgis_qm.pro
-echo Removing qmake project file
-rm qgis_qm.pro

Deleted: packages/qgis/branches/upstream/current/depcomp
===================================================================
--- packages/qgis/branches/upstream/current/depcomp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/depcomp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,472 +0,0 @@
-#! /bin/sh
-
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-
-# 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
-   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
-   dir=`echo "$object" | sed 's,/.*$,/,'`
-   if test "$dir" = "$object"; then
-      dir=
-   fi
-   # FIXME: should be _deps on DOS.
-   depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> $depfile
-    echo >> $depfile
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  This file always lives in the current directory.
-  # Also, the AIX compiler puts `$object:' at the start of each line;
-  # $object doesn't have directory information.
-  stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
-  tmpdepfile="$stripped.u"
-  outname="$stripped.o"
-  if test "$libtool" = yes; then
-    "$@" -Wc,-M
-  else
-    "$@" -M
-  fi
-
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
-    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      tmpdepfile1="$dir.libs/$base.lo.d"
-      tmpdepfile2="$dir.libs/$base.d"
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1="$dir$base.o.d"
-      tmpdepfile2="$dir$base.d"
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2"
-      exit $stat
-   fi
-
-   if test -f "$tmpdepfile1"; then
-      tmpdepfile="$tmpdepfile1"
-   else
-      tmpdepfile="$tmpdepfile2"
-   fi
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a space and a tab in the [].
-      sed -e 's,^.*\.[a-z]*:[ 	]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no
-  for arg in "$@"; do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the proprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  "$@" || exit $?
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
-    *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
-    esac
-  done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0

Deleted: packages/qgis/branches/upstream/current/description-pak
===================================================================
--- packages/qgis/branches/upstream/current/description-pak	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/description-pak	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,10 +0,0 @@
-Quantum GIS (QGIS) is a Geographic Information System (GIS) built for Linux/Unix. QGIS supports vector, raster, and database formats. Some of the major features include:
-
-1. Support for spatially enabled PostGIS tables
-2. Support for shapefiles, ArcInfo coverages, Mapinfo, and other formats supported by OGR
-3. Raster support for a large number of formats
-4. Identify features
-5. Display attribute tables
-6. Select features
-7. GRASS Digitizing
-8. Feature labeling 

Deleted: packages/qgis/branches/upstream/current/doCheckInstall.sh
===================================================================
--- packages/qgis/branches/upstream/current/doCheckInstall.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doCheckInstall.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-##
-## A simple bash script to perform a checkinstall
-##
-
-# Accept default answers to all questions
-# Set name
-# Set version
-# Set software group
-# The package maintainer (.deb)
-
-checkinstall --exclude ~/.ccache/stats --default --pkgname=qgis --pkgversion=0.7.0pre --pkggroup=GIS --maintainer=tim at linfiniti.com        
-

Added: packages/qgis/branches/upstream/current/doc/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-docdatadir = $(datadir)/$(PACKAGE)/doc
-
-docdata_DATA = \
-							 favicon.ico \
-							 index.html \
-							 install.pdf \
-							 qgisdoc.css \
-							 userguide.pdf 
-
-# generated by ls -1 | sed -e '/CVS/d' -e '/Makefile/d' -e 's#\(.*\)#     \1 \\#'
-
-SUBDIRS = images plugins install_guide
-
-EXTRA_DIST = $(docdata_DATA)

Added: packages/qgis/branches/upstream/current/doc/images/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/images/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/images/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/images/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/images/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/images/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-docdatadir = $(datadir)/$(PACKAGE)/doc/images
-
-docdata_DATA =  qgis_new_80pct.png
-
-# generated by ls -1 | sed -e '/CVS/d' -e '/Makefile/d' -e 's#\(.*\)#     \1 \\#'
-
-EXTRA_DIST = $(docdata_DATA)

Modified: packages/qgis/branches/upstream/current/doc/index.html
===================================================================
--- packages/qgis/branches/upstream/current/doc/index.html	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/index.html	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,7 +10,7 @@
   </td>
   <td valign="center">
     <span class="header">Quantum GIS Documentation</span><br>
-    <span class="subheader">Version 0.8.1 <i>Titan</i></span><br>
+    <span class="subheader">Version 0.9 <i>Ganymede</i></span><br>
     <span class="warning">Please read this entire document for important information about this release.</span>
   </td>
 </tr>
@@ -21,30 +21,35 @@
 -->
 <!-- This documentation describes the Quantum GIS (QGIS) application. More
 information on QGIS is available on the web page at http://qgis.org. -->
-<h2>Whats new in Version 0.8.1</h2> 
-<table>
-  <tr>
-    <td valign="top" width="50%">
-      <ul class="small">
-        <li>Numerous bug fixes</li>
-        <li>Improvements in how segment lengths appear in the measure tool.  The current segment length is shown/updated in the list of segments</li>
-        <li>Improvement to zoom-in speed for rasters</li>
-        <li>Improve line/area measuring behaviour when the user has been informed that they are probably using the wrong projection for the map canvas</li>
-        <li>Added tooltips to the scale and coordinate position displays in the status bar</li>
-      </ul>
-<td valign="top" width="50%">
-      <ul class="small">
-    <li>Removed ugly console on WIN32 when not debugging</li>
-    <li>Added icons to all GRASS tools. All GRASS tools are now on the toolbar</li>
-    <li>New GRASS modules added to the GRASS toolbox</li>
-    <li>The GRASS plugin is now fully internationalized</li>
-    <li>Launcher plugin added to core plugins </li>
-    <li>Bug fixes and stability enhancements</li>
-  </ul>
+<h2>Whats new in Version 0.9?</h2> 
+<ul>
+  <li>
+Python bindings - This is the major focus of this release 
+it is now possible to create plugins using python. It is also 
+possible to create GIS enabled applications written in python 
+that use the QGIS libraries.
+</li>
+<li>
+Removed automake build system - QGIS now needs CMake for compilation.
+</li>
+<li>
+Many new GRASS tools added (with thanks to http://faunalia.it/)
+</li>
+<li>
+Map Composer updates
+</li>
+<li>
+Crash fix for 2.5D shapefiles
+</li>
+<li>
+The QGIS libraries have been refactored and better organised.
+</li>
+<li>
+Improvements to the GeoReferencer
+</li>
+</ul>
 
-  </td>
-</tr>
-</table>
+
 <dl><dt><span class="subheader">Special Requirements
     <ul class="normal">
       <li><a href="http://www.trolltech.com/developer/downloads/qt/index">Qt 4.2.2</a> is required. 
@@ -61,37 +66,25 @@
     <ul class="normal">
     <li>Project files from previous versions of QGIS will likely not work. 
     <li>Some internationalization (translation) files may be incomplete.
+    <li>QGIS is not bug free - we make no assertions as to its fitness for
+        use for any particular purpose. Use entirely at your own risk.
   </ul>
 
     </dd>
     <dd>
     OS X Specific
     <ul class="normal">
-      <li>None reported
+      <li>Due to a limitation in the Quicktime graphics engine, there is a limit on the number points allowed per feature. See the Readme that comes with the OS X dmg
     </ul>
     </dd>
     <dd>
     Windows
     <ul class="normal">
-      <li>If you install QGIS in a path containing spaces (for example "C:\Program Files\Quantum GIS") you may experience problems with certain features, in particular the GRASS toolbox functions.
+      <li>
     </ul>
-    
     </dd>
     </dt>
   </dl>
-<dl><dt><span class="subheader">Library versions used in windows release
-    <dd>
-    <ul class="normal">
-      <li>grass-6.3.cvs_src_snapshot_2007_05_12
-      <li>expat-2.0.0
-      <li>gdal-1.4.1
-      <li>geos-2.2.3
-      <li>gsl-1.9
-    </ul>
-    
-    </dd>
-    </dt>
-  </dl>
   <dl><dt><span class="subheader">Reporting Bugs
       <dd>
       If think you have found a bug, please consider reporting it to the development team. The steps to report a bug are:

Added: packages/qgis/branches/upstream/current/doc/install_guide/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/install_guide/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/install_guide/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/install_guide/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/install_guide/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/install_guide/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,29 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-docdatadir = $(datadir)/$(PACKAGE)/doc/install_guide
-# The files needed for the doc install have to be manually added here and
-# the next section enabled when doing a make dist or make release
-docdata_DATA =   #contents.png \
-								#index.html \
-								#install.css \
-								#install.html \
-								#internals.pl \
-								#labels.pl \
-								#next_g.png \
-								#next.png \
-								#nx_grp_g.png \
-								#prev_g.png \
-								#prev.png \
-								#up_g.png \
-								#up.png 
-# generated by ls -1 | sed -e '/CVS/d' -e '/Makefile/d' -e 's#\(.*\)#     \1 \\#'
-
-EXTRA_DIST = $(docdata_DATA)

Added: packages/qgis/branches/upstream/current/doc/plugins/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/plugins/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/plugins/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/plugins/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,11 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SUBDIRS = geoprocessing delimited_text

Added: packages/qgis/branches/upstream/current/doc/plugins/delimited_text/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/delimited_text/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/plugins/delimited_text/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/plugins/delimited_text/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/delimited_text/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/plugins/delimited_text/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-# Copyright (C) 2004 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-docdatadir = $(datadir)/$(PACKAGE)/doc/plugins/delimited_text
-
-docdata_DATA = \
-    index.html \
-		dialog.png \
-		plugin_manager.png \
-		toolbar_icon.png \
-		ellipsis.png \
-		file_selected1.png \
-	  file_selected2.png \
-		file_selected3.png \
-		file_selected.png \
-		layer_added.png 
-# generated by ls -1 | sed -e '/CVS/d' -e '/Makefile/d' -e 's#\(.*\)#     \1 \\#'
-
-EXTRA_DIST = $(docdata_DATA)

Added: packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,11 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SUBDIRS = buffer

Added: packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doc/plugins/geoprocessing/buffer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-docdatadir = $(datadir)/$(PACKAGE)/doc/plugins/geoprocessing/buffer
-
-docdata_DATA = \
-     alaska_pglayer.png \
-     buffer.png \
-     bufferdialog.png \
-     buffericon.png \
-     bufferresult.png \
-     index.html \
-     pluginmanager.png
-
-# generated by ls -1 | sed -e '/CVS/d' -e '/Makefile/d' -e 's#\(.*\)#     \1 \\#'
-
-EXTRA_DIST = $(docdata_DATA)

Deleted: packages/qgis/branches/upstream/current/doxygen.conf
===================================================================
--- packages/qgis/branches/upstream/current/doxygen.conf	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/doxygen.conf	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,921 +0,0 @@
-# Doxyfile 1.2.14
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           =  "Quantum GIS"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         =  0.1
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = qgis_api
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
-# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
-# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
-
-OUTPUT_LANGUAGE        = English
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES 
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these class will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
-# members of a class in the documentation of that class as if those members were 
-# ordinary class members. Constructors, destructors and assignment operators of 
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH        = 
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower case letters. If set to YES upper case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# users are adviced to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments  will behave just like the Qt-style comments (thus requiring an 
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# reimplements.
-
-INHERIT_DOCS           = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consist of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
-# only. Doxygen will then generate output that is more tailored for C. 
-# For instance some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = ./src
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
-# *.h++ *.idl *.odl
-
-FILE_PATTERNS          = *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories.
-
-EXCLUDE_PATTERNS       = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.
-
-INPUT_FILTER           = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse.
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES 
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 4
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = Qgs
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the Html help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, 
-# or Internet explorer 4.0+). Note that for large projects the tree generation 
-# can take a very long time. In such cases it is better to disable this feature. 
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimised for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assigments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_XML           = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line and do not end with a semicolon. Such function macros are typically 
-# used for boiler-plate code, and will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off. Note that this 
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is 
-# recommended to install and use dot, since it yield more powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are gif, jpg, and png
-# If left blank gif will be used.
-
-DOT_IMAGE_FORMAT       = gif
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_WIDTH    = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
-# this value, doxygen will try to truncate the graph, so that it fits within 
-# the specified constraint. Beware that most browsers cannot cope with very 
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT   = 1024
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermedate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
-
-# The CGI_NAME tag should be the name of the CGI script that 
-# starts the search engine (doxysearch) with the correct parameters. 
-# A script with this name will be generated by doxygen.
-
-CGI_NAME               = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the 
-# cgi binaries are located. See the documentation of your http daemon for 
-# details.
-
-CGI_URL                = 
-
-# The DOC_URL tag should be the absolute URL to the directory where the 
-# documentation is located. If left blank the absolute path to the 
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL                = 
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the 
-# documentation is located. If left blank the directory on the local machine 
-# will be used.
-
-DOC_ABSPATH            = 
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
-# is installed.
-
-BIN_ABSPATH            = /usr/local/bin/
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
-# documentation generated for other projects. This allows doxysearch to search 
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS          = 

Added: packages/qgis/branches/upstream/current/i18n/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/i18n/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+*.qm

Deleted: packages/qgis/branches/upstream/current/i18n/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/i18n/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,60 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6304 2006-12-22 15:45:48Z mhugent $
-
-i18ndir = ${pkgdatadir}/i18n
-
-# Note: Whenever nodist_i18n_DATA is modified, the array CFBundleLocalizations
-# in the file ../src/mac/Contents/Info.plist.in must also be updated to match.
-# Remember to leave en in the other list even though it's not in this list :)
-
-nodist_i18n_DATA = \
-		qgis_cs_CZ.qm \
-		qgis_de.qm \
-		qgis_es.qm \
-		qgis_fr.qm \
-		qgis_id.qm \
-		qgis_it.qm \
-		qgis_ja.qm \
-		qgis_lv.qm \
-		qgis_nl.qm \
-		qgis_pl_PL.qm \
-		qgis_pt_BR.qm \
-		qgis_ro.qm \
-		qgis_ru.qm \
-		qgis_sk.qm \
-		qgis_sv.qm \
-		qgis_lv.qm \
-		qgis_vi.qm \
-		qgis_zh_CN.qm
-i18n_SOURCES = \
-		qgis_cs_CZ.ts \
-		qgis_de.ts \
-		qgis_es.ts \
-		qgis_fr.ts \
-		qgis_id.ts \
-		qgis_it.ts \
-		qgis_ja.ts \
-		qgis_lv.ts \
-		qgis_nl.ts \
-		qgis_pl_PL.ts \
-		qgis_pt_BR.ts \
-		qgis_ro.ts \
-		qgis_ru.ts \
-		qgis_sk.ts \
-		qgis_sv.ts \
-		qgis_lv.ts \
-		qgis_vi.ts \
-		qgis_zh_CN.ts
-%.qm: %.ts
-	cd ..; /bin/sh ./create_qm_files.sh
-
-EXTRA_DIST = $(i18n_SOURCES)

Modified: packages/qgis/branches/upstream/current/i18n/qgis_cs_CZ.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_cs_CZ.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_cs_CZ.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>Správce ovladače OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>nelze  získat správce ovladače OGR</translation>
     </message>
@@ -24,32 +24,73 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Vložte mapové souřadnice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Zastavit</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Stav</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="136055884"/>
@@ -718,23 +759,23 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Žádné nástroje pro přístup k datům</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Žádné zásuvné moduly pro přístup k datům</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Nelze nahrát žádné vektorové vrstvy. Zkontrolujte vaši QGIS instalaci</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nejsou k dispozici žádné zásuvné moduly pro přístup k datům. Nelze nahrát žádné vektorové vrstvy</translation>
     </message>
@@ -759,7 +800,7 @@
         <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS soubory (*.qgs)</translation>
     </message>
@@ -830,7 +871,7 @@
 v součastnosti nepodporuje.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Otevřít vrstvu podporovanou OGR</translation>
     </message>
@@ -840,17 +881,17 @@
         <translation type="obsolete">Chyba při čtení souboru projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> na řádku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> sloupec </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> pro soubor </translation>
     </message>
@@ -881,22 +922,22 @@
 (indexovaný sloupec poskytne lepší výkon).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation> Nelze uložit soubor</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Regulární výraz numerických hodnot je nesmyslný. Použijte namísto toho porovnání.</translation>
+        <translation type="obsolete">Regulární výraz numerických hodnot je nesmyslný. Použijte namísto toho porovnání.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation> Sloupec s referencí nebyl nalezen:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Dělení nulou.</translation>
     </message>
@@ -906,182 +947,182 @@
         <translation type="obsolete">Nepodporovaný typ sloupce s klíčem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Není aktivní  žádná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Pro identifikaci objektů je nejprve nutné aktivovat vrstvu poklikáním na její název v legendě</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>akce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> objektů nalezeno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> nalzen 1 objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Nenalezeny  žádné objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>V označeném bodě nebyly nalezeny žádné objekty v aktivní vrstvě</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Nelze identifikovat objekt v</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>protože</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Pro výběr objektů je nejprve nutné aktivovat vrstvu poklikáním na její název v legendě</translation>
+        <translation type="obsolete">Pro výběr objektů je nejprve nutné aktivovat vrstvu poklikáním na její název v legendě</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nový centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nový bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nový opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Poslední bod zpět</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Uzavřít linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Vybrať opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Vybrat novou polohu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Vybrat segment linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nová poloha opěrného bodu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Uvolnit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Odstranit opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Uvolnit opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Vybrat element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nová location</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Uvolnit vybrané</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Vymazat vybrané / vybrat další</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Vybrat polohu na linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Rozdělit linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Uvolnit linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Vybrat bod na linii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nelze uchopit segment. Nastavili jste toleranci v Nastavení &gt; Vlastnosti projektu &gt; Obecné?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nelze uchopit opěrný bod. Nastavili jste toleranci v Nastavení &gt; Vlastnosti projektu &gt; Obecné?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Délka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Plocha</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation> Chyba při čtení souboru s projektem:</translation>
     </message>
@@ -1091,27 +1132,27 @@
         <translation>Lineární transformace vyžaduje nejméně 2 body.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Helmertova transformace vyžaduje nejméně 2 body.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Afiní transformace vyžaduje nejméně 4 body.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation> Nelze otevřít datový zdroj:</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation> Chyba na řádku</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>Poskytovatel GPS eXchange formátu</translation>
     </message>
@@ -1121,12 +1162,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1152,12 +1193,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1202,12 +1243,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1222,32 +1263,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1277,82 +1318,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Vrstva nemůže být přidána k</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Přístup k datům pro tuto vrstvu nedovoluje přidání prvků.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Vrstva není editovatelná</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"> stopy</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">stopy</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"> stupně</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">stupně</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> neznámé</translation>
     </message>
@@ -1402,279 +1626,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Vrstva není editovatelná</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Chyba</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Řádky</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Objekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Databáze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabulka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1694,52 +1868,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1752,42 +1926,42 @@
         <translation type="obsolete">Vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Verze</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> s podporou PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(bez podpory PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Verze</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Dostupné zásuvné moduly pro přístup k datům</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>není správný nebo rozpoznaný datový zdroj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Nesprávný datový zdroj</translation>
     </message>
@@ -1827,127 +2001,127 @@
         <translation type="obsolete">Uložit mapu do:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Není vybraná žádná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Před otevření atributové tabulky je nutné vybrat vrstvu v okně legendy</translation>
+        <translation type="obsolete">Před otevření atributové tabulky je nutné vybrat vrstvu v okně legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Žádné zásuvné moduly pro práci s mapou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Žádne zásuvné moduly pro práci s vrstvou v adresáři ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Žádné zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>V adresáři ../plugins nebyly nalezeny žádné zásuvné moduly. Pro vyzkoušení zásuvných modulů spustte qgis z adresáře src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Jméno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Zásuvný modul %1 má název %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informace o zásuvných modulech</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis načítal následující zásuvný modul:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Název: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Verze: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Popis: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Nelze nahrát zásuvný modul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS nemůže nahrát zásuvný modul z: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>K dispozici je nová verze QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Používáte vývojářskou verzi QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Používáte aktuální verzi QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Přejete si bližší informáce?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informáce o verzi QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Ano</translation>
+        <translation type="obsolete">Ano</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Ne</translation>
+        <translation type="obsolete">Ne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Nelze získat informáce ze serveru o aktuální verzi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Spojení zamítnuto - server je zřejmě vypnutý</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Nebyl nalezen QGIS server</translation>
     </message>
@@ -1977,27 +2151,27 @@
         <translation type="obsolete">Nahrávám zásuvné moduly...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Chybná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 je chybná vrstva a nemůže být načtená.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Chyba při načítání zásuvného modulu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Při načítání %1 se vyskytla chyba.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Uložit obrázek mapy do</translation>
     </message>
@@ -2007,12 +2181,12 @@
         <translation type="obsolete">QGIS - změny v CVS od posledního vydaní</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Vyber jméno souboru do kterého se má uložit obrázek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Rozsah:</translation>
     </message>
@@ -2022,27 +2196,27 @@
         <translation type="obsolete">Web Page: http://qgis.org</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problém při mazání objektů</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Při mazání objektů se vyskytnul problém</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Není zvolená žádná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Mazání objektů lze použít pouze u vektorových vrstev</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Před vymazáním objektu je třeba vybrat vektorovou vrstvu v okně legendy</translation>
     </message>
@@ -2052,17 +2226,17 @@
         <translation type="obsolete">QGIS pripravené</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS je šíren pod licencí GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Vykreslování</translation>
     </message>
@@ -2147,57 +2321,57 @@
         <translation type="obsolete">QGIS súbory (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Vyberte soubor QGIS projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Nelze uložit projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Nelze uložit projekt do</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Okno &quot;Mapová legenda&quot;, ve kterém jsou zobrazeny všechny vrstvy obsažené v mapovém okně. Kliknutím na zaškrtávací políčko se zapne či vypne daná vrstva. Dvojklik na vrstvu v legendě dovolí nastavit vzhled a ostatní vlastnosti vrstvy.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Mapový náhled. Tato oblast může být použita pro zobrazení polohy mapy, kde je viditelný právě zobrazený výrez mapy. Aktuálně zobrazený výrez je znázorněn červeným obdelníkem. Do mapového náhledu je možné přidat libovolnou vrstvu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Mapové plátno. Toto je oblast, kde budou zobrazeny vektorové a rastrové vrstvy přidané do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>Zásuvné &amp;moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Ukazatel průběhu, který informuje o stavu vykreslování vrstev a jiných časově náročných operácií</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Zobrazuje aktuální měřítko mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Ukazuje souřadnice mapy aktuální pozice kurzoru. Při pohybu myši je údaj plynule aktualizován.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Pokud je políčko zaškrtnuté, jsou mapové vrstvy vykreslovány v návaznosti na příkazy mapové navigace a jiné události. Pokud není zaškrtnuté, není vykreslená žádná vrstva. To umožnuje přidat množství vrstev a upravit jejich symboliku před samotným vykreslením.</translation>
     </message>
@@ -2242,32 +2416,32 @@
         <translation type="obsolete">Datové sady s názvy souborů v UTF8, Kanji a CJK jsou nyní načítány správně</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Otevřít vektorovou vrstvu podporující knihovnu OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Chyba při načítání QGIS projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Otevřít rastrový datový zdroj podporovaný knihovnou GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Přepnout vykreslování mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Tato ikona ukazuje, zda je či není zapnuto zobrazení &quot;za letu&quot;. Po kliknutí na tuto ikonu se zobrazí dialog Vlastnosti zobrazení, kde může to nastavení změnit.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Status zobrazení - Po kliknutí se zobrazí dialog Zobrazení</translation>
     </message>
@@ -2277,9 +2451,9 @@
         <translation type="obsolete">Zobrazení &quot;za letu&quot; umožňuje automatické zobrazení vrstev v různých souřadnicových systémech</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Tvůrce map pro vytvoření mapových výstupů</translation>
+        <translation>Tvůrce map pro vytvoření mapových výstupů</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -2357,7 +2531,7 @@
         <translation type="obsolete">V QGIS lib nebyl nalezen žádný OGC Web Map Service nástroj pro přístup k datům</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Pokusit se najít chybějící vrstvy?</translation>
     </message>
@@ -2382,12 +2556,12 @@
         <translation type="obsolete">&amp;Ne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Uložit jako</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Otevřít vybraný soubor QGIS projektu</translation>
     </message>
@@ -2402,24 +2576,24 @@
         <translation type="obsolete">  Daný soubor projektu existuje. Přejete si jej přepsat novým?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation> Projekt uložen jako:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS prohlížeč pro výběr</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Zadejte název webového prohlížeče (např. konqueror).
  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Zadejte celou cestu, pokud není prohlížeč dostupný ve vaší PATH.
@@ -2441,12 +2615,12 @@
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Otevřít projekt...</translation>
     </message>
@@ -2456,17 +2630,17 @@
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Otevřít projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Uložit projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Uložit projekt &amp;jako...</translation>
     </message>
@@ -2476,7 +2650,7 @@
         <translation type="obsolete">Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Uložit projekt pod novým jménem</translation>
     </message>
@@ -2491,7 +2665,7 @@
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Tisknout</translation>
     </message>
@@ -2506,7 +2680,7 @@
         <translation type="obsolete">I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Uložit mapu jako obrázek</translation>
     </message>
@@ -2521,12 +2695,12 @@
         <translation type="obsolete">M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportovat jako soubor MapServer .map</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Konec</translation>
     </message>
@@ -2536,12 +2710,12 @@
         <translation type="obsolete">Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Ukončit QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Přidat vektorovou vrstvu</translation>
     </message>
@@ -2551,7 +2725,7 @@
         <translation type="obsolete">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Přidat rastrovou vrstvu</translation>
     </message>
@@ -2561,7 +2735,7 @@
         <translation type="obsolete">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Přidat vrstvu PostGIS</translation>
     </message>
@@ -2581,12 +2755,12 @@
         <translation type="obsolete">N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Vytvořit novou vektorovou vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Odebrat vrstvu</translation>
     </message>
@@ -2596,12 +2770,12 @@
         <translation type="obsolete">Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Odebrat vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Přidat vše do náhledu</translation>
     </message>
@@ -2611,12 +2785,12 @@
         <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Zobrazit všechny vrstvy do náhledu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Odebrat vše z náhledu</translation>
     </message>
@@ -2626,12 +2800,12 @@
         <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Odebrat všechny vrstvy z náhledu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Zobrazit všechny vrstvy</translation>
     </message>
@@ -2641,12 +2815,12 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Zobrazit všechny vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Skrýt všechny vrstvy</translation>
     </message>
@@ -2656,7 +2830,7 @@
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Skrýt všechny vrstvy</translation>
     </message>
@@ -2671,7 +2845,7 @@
         <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Nastavit vlastnosti projektu</translation>
     </message>
@@ -2686,7 +2860,7 @@
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Změnit různé volby QGISu</translation>
     </message>
@@ -2701,12 +2875,12 @@
         <translation type="obsolete">Alt+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Založit uživatelskou projekci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Obsah nápovědy</translation>
     </message>
@@ -2716,12 +2890,12 @@
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Nápověda dokumentace</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Domovská stránka QGISu</translation>
     </message>
@@ -2731,7 +2905,7 @@
         <translation type="obsolete">Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Domovská stránka QGISu</translation>
     </message>
@@ -2751,27 +2925,27 @@
         <translation type="obsolete">Navštívit stránku QGIS SourceForge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>O QGISu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Zkontrolovat verzi QGISu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Zkontrolovat zda je možné aktualizovat vaší verzi QGISu (vyžaduje připojení k Internetu)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Obnovit</translation>
     </message>
@@ -2781,12 +2955,12 @@
         <translation type="obsolete">Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Obnovit mapu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Zvětšit</translation>
     </message>
@@ -2796,7 +2970,7 @@
         <translation type="obsolete">z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Zmenšit</translation>
     </message>
@@ -2806,7 +2980,7 @@
         <translation type="obsolete">Z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Celý výřez</translation>
     </message>
@@ -2816,12 +2990,12 @@
         <translation type="obsolete">f</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Celý výřez</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Zvětšit podle výběru</translation>
     </message>
@@ -2831,62 +3005,62 @@
         <translation type="obsolete">F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zvětšit podle výběru</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Posunout mapu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Posunout mapu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Zvětšit podle posledního výřezu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zvětšit na poslední výřez</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Zvětšit podle vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zvětšit podle vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identifikovat prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Klikněte na prvek pro jeho identifikaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Vybrat prvek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Otevřít tabulku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation> Měřit vzdálenost</translation>
     </message>
@@ -2896,12 +3070,12 @@
         <translation type="obsolete">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Měřit vzdálenost</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Výměra plochy</translation>
     </message>
@@ -2911,7 +3085,7 @@
         <translation type="obsolete">Alt+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Výměra plochy</translation>
     </message>
@@ -2926,12 +3100,12 @@
         <translation type="obsolete">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Zobrazit záložky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nová záložka</translation>
     </message>
@@ -2946,17 +3120,17 @@
         <translation type="obsolete">Přidat WMS vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Přidat Web Mapping Server vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>V náhledu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Přidat aktuální vrstvu do náhledu</translation>
     </message>
@@ -2966,12 +3140,12 @@
         <translation type="obsolete">Správce zásuvných modulů</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Otevřít správce zásuvným modulů</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Umístit bod</translation>
     </message>
@@ -2981,12 +3155,12 @@
         <translation type="obsolete">.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Umístit body</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Umístit linii</translation>
     </message>
@@ -2996,12 +3170,12 @@
         <translation type="obsolete">/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Umístit linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Umístit polygon</translation>
     </message>
@@ -3011,7 +3185,7 @@
         <translation type="obsolete">Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Umístit polygony</translation>
     </message>
@@ -3021,94 +3195,94 @@
         <translation type="obsolete">Vymazat vybrané</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Vymazat vybrané</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Přidat opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Odebrat opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Přesunout opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Soubor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Zobrazit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Nastavení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Soubor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Spravovat vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalizace</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navigace v mapě</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atributy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Připraven</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Nové vlastnosti</translation>
+        <translation>Nové vlastnosti</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -3121,22 +3295,22 @@
         <translation type="obsolete">Zápsání vrstvy selhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Nelze otevřít projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation> Nelze uložit projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Nelze načíst projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation> Nelze načíst projekt</translation>
     </message>
@@ -3151,521 +3325,681 @@
         <translation type="obsolete">Žádné vrstvy pro export. Musíte přidat do mapy nejméně jednu vrstvu pro export pohledu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Vrstva není platná</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Vrstva není platnou vrstvou a nemůže být přidána do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Uložit?</translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
         <source>Do you want to save the current project?</source>
-        <translation type="obsolete">Přejete si uložit aktuální projekt?</translation>
+        <translation type="unfinished">Přejete si uložit aktuální projekt?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>  Obsah schránky nastaven na:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> není platný nebo rozpoznatený zdroj rastrových dat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> není podporovaný zdroj rastrových dat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Nepodporovaný datový zdroj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Zadejte název pro novou záložku:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Nelze vytvořit novou záložku. Vaše uživatelská databáze může chybět nebo být poškozena</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Ćtu nastavení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Nastavuji GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Kontroluji databázi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Obnovuji načtené zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Inicializuji souborové filtry</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Obnovuji stav okna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS připraven!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nový projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Tisknout...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Uložit jako obrázek...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportovat jako MapServer Map...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Přidat vektorovou vrstvu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Přidat rastrovou vrstvu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Přidat vrstvu PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nová vektorová vrstva...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Vlastnosti projektu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Volby...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Uživatelské zobrazení...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nová záložka...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished">Přidat vrstvu WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Správce zásuvných modulů...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Otevřít poslední projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Vybrat název souboru QGIS projektu k uložení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Změny v SVN od posledního vydání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Uložit projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+l</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Začít editaci aktuální vrstvy</translation>
+        <translation type="obsolete">Začít editaci aktuální vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Ukončit editaci aktuální vrstvy</translation>
+        <translation type="obsolete">Ukončit editaci aktuální vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Tuto volbu můžete změnit později v menu Nastavení a Volby (záložka Prohlížeč nápovědy).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Vybrat prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Vybrat vybrané prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopírovat prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopírovat vybrané prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Vložit prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Vložit vybrané prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Přejete si uložit aktuální projekt?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Přejete si uložit aktuální projekt?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
  Kompilováno s Qt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation> , spuštěno s Qt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Nástroj pro správu dat nepodporuje mazání</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Nástroj pro správu data nepodporuje mazání objektů</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Vrstva není editovatelná</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Aktuální vrstva není editovatelná. Vyberte &apos;Započít editaci&apos; z lišty digitalizace.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -4615,7 +4949,7 @@
         <translation type="obsolete">Vložit transformace</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>MainWindow</translation>
     </message>
@@ -4638,17 +4972,17 @@
         <translation>O programu Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Verze</translation>
     </message>
@@ -4658,7 +4992,7 @@
         <translation type="obsolete">Quantum GIS (qgis)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Co je nového</translation>
     </message>
@@ -4743,7 +5077,7 @@
         <translation type="obsolete">Peter Brewer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -4755,17 +5089,17 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS domovská stránka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Přihlásit se do QGIS-User mailing listu (příspěvky pouze v angličtině)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Přístup k datům</translation>
     </message>
@@ -4782,17 +5116,17 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Vývojáři</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Vývojáři QGISu&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS prohlížeč pro výběr</translation>
     </message>
@@ -4806,7 +5140,7 @@
 Tuto volbu můžete změnit později výběrem Možnosti QGISu z menu Nastavení.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -4820,39 +5154,39 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Arial; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;Quantum GIS je licencován pod GNU General Public License&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -4965,22 +5299,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Akce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">Sledovat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -5195,7 +5529,7 @@
         <translation type="obsolete">&lt;center&gt;Vykonat akci&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Spustit akci</translation>
     </message>
@@ -5376,79 +5710,79 @@
         <translation type="obsolete">&amp;Výběr</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>vybrat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>vybrat přemístit nahoru</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>zobrazit pouze odpovídající</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Chyba při kontrole hledaného řetězce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Výsledky hledání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Zadal jste prázdný řetězec pro hledání.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Chyba během hledání</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Nalezeno %d odpovídajících prvků.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Nebyly nalezeny žádné odpovídající prvky.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Ukončit editaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Přejete si uložit změny?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">Nemohu zapsat změny</translation>
     </message>
@@ -5456,42 +5790,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Opravdu vymazat?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Ano</translation>
+        <translation type="obsolete">&amp;Ano</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Ne</translation>
+        <translation type="obsolete">&amp;Ne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation> Jste si jistý, zda chcete smazat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> záložku?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Chyba při odstraňování záložky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation> Selhalo odstranění</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> záložky z databáze. Zpráva databáze:
@@ -5654,22 +5988,22 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Vyberte jméno souboru do kterého se má uložit mapa jako obrázek</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Vyberte jméno souboru do kterého se má uložit obrázek jako</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> pro čtení/zápis</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Chyba při tisku</translation>
     </message>
@@ -5679,17 +6013,17 @@
         <translation type="obsolete">Nelze formátovat okraje</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Nelze prohledat</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Nelze přepsat &quot;Bounding Box&quot;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Nelze najít &quot;Bounding Box&quot;</translation>
     </message>
@@ -5699,87 +6033,87 @@
         <translation type="obsolete">Nelze formátovat přemístění</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Nelze přepsat přemístění</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Nelze najít přemístění</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Chyba při čtení/zápisu (I/O) souboru</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Velikost papíru neodpovídá</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Vybraná velikost papíru neodpovídá velikosti kompozice</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Veliký obrázek</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation> Vytvořit obrázek</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>  vyžaduje přibližně</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB paměti</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5988,32 +6322,32 @@
         <translation type="obsolete">Mapa %d</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Rozsah (vypočítá měřítko)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Měřítko (vypočítá rozsah)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Mapa %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Vykreslit</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Obdélník</translation>
     </message>
@@ -6104,22 +6438,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Nelze načíst obrázek.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Vybrat soubor</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6208,37 +6542,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Skupina</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Kombinovat vybrané vrsvy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Vykreslit</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Obdélník</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">Legenda</translation>
     </message>
@@ -6289,99 +6623,99 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Vlastní</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 palců
 )</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 palců
 )</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Portrait</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Landscape</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Nedostatek paměti</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -6390,17 +6724,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Popisek</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Nelze načíst obrázek.</translation>
     </message>
@@ -6451,27 +6785,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Vyzkoušet spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation> Spojení s</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> bylo úspěšné</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation> Spojení selhalo - zkontrolujte nastavení a zkuste znovu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -6488,32 +6822,32 @@
         <translation>Informace o spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Databáze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Jméno uživatele</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Název nového spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Heslo</translation>
     </message>
@@ -6530,22 +6864,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -6553,12 +6887,12 @@
         <translation>Vytvořit nové spojení PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -6637,32 +6971,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Selhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformace</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>s chybou: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6670,17 +7004,17 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Vlevo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Vlevo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Vpravo nahoře</translation>
     </message>
@@ -6695,7 +7029,7 @@
         <translation type="obsolete">&amp;Značka copyrightu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Vytvoří štítek copyrightu, který bude zobrazen na mapovém platně.</translation>
     </message>
@@ -6705,12 +7039,12 @@
         <translation type="obsolete">Štítek copyrightu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Značka copyrightu</translation>
     </message>
@@ -6790,22 +7124,22 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="34"/>
@@ -6820,7 +7154,7 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -6847,62 +7181,62 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Vymazat definici zobrazení?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Odstranění definice zobrazení není vratné. Chcete ji vymazat?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Přerušit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nové</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS uživatelské zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Tato proj4 definice zobrazení není platná. Prosím, před uložením ji opravte.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Definice zobrazení pro proj4 není platná. Prosím, udejte název zobrazení před samotným uložením. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Definice zobrazení pro proj4 není platná. Prosím, přidejte parametry před samotným uložením.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Definice zobrazení pro proj4 není platná. Prosím, přidejte parametr proj= před samotným uložením.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Definice zobrazení pro proj4 není platná. Prosím, přidejte parametr ellips= před samotným uložením.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Definice zobrazení pro proj4 není platná.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Severní a východní souřadnice musí být v decimální formě.</translation>
     </message>
@@ -6912,20 +7246,10 @@
         <translation type="obsolete">Vnitřní chyba (zdroj zobrazení není platný?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Vnitřní chyba (neplatné zobrazení zdrojových dat?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
@@ -6935,7 +7259,7 @@
         <translation type="obsolete">Formulář1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Název:</translation>
     </message>
@@ -6955,12 +7279,12 @@
         <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definice vlastního zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametry:</translation>
     </message>
@@ -6972,37 +7296,37 @@
 parametry:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 z 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nové</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
@@ -7012,12 +7336,12 @@
         <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Vymazat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
@@ -7027,37 +7351,37 @@
         <translation>Definovat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Test</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformovat z WGS84 do vybraného zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Vypočítat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Cílový souřadnicový systém</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Zeměpisný / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Severní:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Východní:</translation>
     </message>
@@ -7074,63 +7398,79 @@
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Zde můžete definovat vlastní kartografické zobrazení. Definice musí odpovídat formátu proj4 pro definici prostorového referenčního systému.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Zde můžete definovat vlastní kartografické zobrazení. Definice musí odpovídat formátu proj4 pro definici prostorového referenčního systému.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Otestujte definici zobrazení v textovém poli níže. Vložte souřadnice o známé zeměpisné délce a šířce a koncových hodnotách (například odečtené z mapy). Poté stiskněte tlačítko pro výpočet a zkontrolujte výsledek.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Otestujte definici zobrazení v textovém poli níže. Vložte souřadnice o známé zeměpisné délce a šířce a koncových hodnotách (například odečtené z mapy). Poté stiskněte tlačítko pro výpočet a zkontrolujte výsledek.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Jste si jistý, že chcete odstranit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>spojení a všechny asociované nastavení?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Potvrdit vymazání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Ano</translation>
+        <translation type="obsolete">Ano</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Ne</translation>
+        <translation type="obsolete">Ne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Vyberte tabulku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Aby bylo možné přidat vrstvu, je třeba nejprve vybrat tabulku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Heslo pro</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Prosím vložte vaše heslo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Neuspěšné spojení</translation>
     </message>
@@ -7145,19 +7485,19 @@
         <translation type="obsolete">Neuspěšné spojení k % na %2. Databáze je mimo provoz, nebo je vaše nastavení chybné.%3Zkontrolujte jméno uživatele a heslo, a zkuste to znovu.%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Přístup k relaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> použitím sql;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -7166,72 +7506,72 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Bodová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Multi bodová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Liniová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Multi-liniová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Polygonová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Multi polygonová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Vrstva se smíšenou geometrií</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Vrstva s různými vektorovými typy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Čekám na typ vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Neznámý typ vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Spojení k %1 na %2 selhalo. Buď neběží databázový server anebo vaše nastavení je nesprávné.%3Zkontrolujte vaše uživatelské jméno a zkuste znovu.%4Databázový server oznamuje:%5%6</translation>
     </message>
@@ -7340,7 +7680,7 @@
 <context>
     <name>QgsDelimitedTextPlugin</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Oddělený text</translation>
     </message>
@@ -7378,30 +7718,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Žádný název vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Vložte prosím název vrstvy dříve, než ji přidáte do mapy </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Žádný oddělovač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Prosím uveďte oddělovač dříve než se bude zkoumat soubor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Vyberte soubor s ohraničeným textem</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -7413,7 +7763,7 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -7423,180 +7773,180 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Nápověda pro používání zásuvného modulu</translation>
+        <translation type="obsolete">Nápověda pro používání zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Otevře nápovědu pro zásuvný modul určeného pro zpracování textového souboru s odděleným textem (Delimited Text File) ve vámi nastaveném prohlížeči</translation>
+        <translation type="obsolete">Otevře nápovědu pro zásuvný modul určeného pro zpracování textového souboru s odděleným textem (Delimited Text File) ve vámi nastaveném prohlížeči</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Zkontrolovat řádek s hlavičkou a zaktualizovat seznam polí X a Y</translation>
+        <translation type="obsolete">Zkontrolovat řádek s hlavičkou a zaktualizovat seznam polí X a Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Analizuje hlavičkový řádek vstupného souboru a obnoví pole X a Y v rozbalovacím menu. Použijte toto tlačítko pro obnovení seznamu polí pokud jste změnili oddělovač po vybrání souboru s odděleným textem.</translation>
+        <translation type="obsolete">Analizuje hlavičkový řádek vstupného souboru a obnoví pole X a Y v rozbalovacím menu. Použijte toto tlačítko pro obnovení seznamu polí pokud jste změnili oddělovač po vybrání souboru s odděleným textem.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Vytvoří vrstvu s využitím specifikovaného parametru a přidá ji do mapy. Dialog umožnuje přidání dodatečných vrstev.</translation>
+        <translation type="obsolete">Vytvoří vrstvu s využitím specifikovaného parametru a přidá ji do mapy. Dialog umožnuje přidání dodatečných vrstev.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Zavřít dialog</translation>
+        <translation type="obsolete">Zavřít dialog</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Zavřít dialog bez přidání čehokoliv do mapy.</translation>
+        <translation type="obsolete">Zavřít dialog bez přidání čehokoliv do mapy.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X pole&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Název pole obsahujícího x-ové hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Název pole obsahujícího x-ové hodnoty. Vyberte pole ze seznamu. Seznam je generován na základě analýzy hlavičkového řádku souboru s odděleným textem.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y pole&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Název pole obsahujícího y-ové hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Název pole obsahujícího y-ové hodnoty. Vyberte pole ze seznamu. Seznam je generován na základě analýzy hlavičkového řádku souboru s odděleným textem.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Název vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Název, který se objeví v mapové legendě</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Název zobrazený v okně legendy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Oddělovač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Oddelovač používaný pro seperaci jednotlivých polí v textovém souboru. Oddělovač se může skládat i z více než z jednoho znaku.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Oddělovač používaný pro separaci jednotlivých polí v textovém souboru s odděleným textem. Oddělovač se může skládat z jednoho nebo více znaků.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Vrstva ze souboru s odděleným textem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Textový soubor s odděleným textem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Úplná cesta k textovému souboru s odděleným textem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Úplná cesta k textovému souboru s oddělovači (Delimited Text File). Aby bylo možné zkontrolovat (prohledat) pole v souboru musí být, dříve než jméno souboru, správně nastaven oddělovač. Pro procházení souborů použijte tlačitko napravo od pole pro výběr vstupního souboru.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Procházet a najít soubor s odděleným textem, který má být zpracován</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Toto tlačítko použijte pro nalezení místa, kde se nachází soubor s odděleným textem. Toto tlačítko nebude přístupné, dokud nebude vyplněno políčko &lt;i&gt;Oddělovač&lt;/i&gt;. Potom, co bude zvolen soubor, budou naplněny i rozbalovací menu s políčkami X a Y ze souboru s odděleným textem.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Přidat vrstvu použitím oddělovače, soubor a specifikaci polí x/y</translation>
+        <translation type="obsolete">Přidat vrstvu použitím oddělovače, soubor a specifikaci polí x/y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Nápověda</translation>
+        <translation type="obsolete">&amp;Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Zkontrolovat</translation>
+        <translation type="obsolete">&amp;Zkontrolovat</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Přidat vrstvu</translation>
+        <translation type="obsolete">&amp;Přidat vrstvu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Zavřít</translation>
+        <translation type="obsolete">&amp;Zavřít</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Vzorek textu</translation>
     </message>
@@ -7628,98 +7978,65 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Uložit vrstvu jako...</translation>
+        <translation type="obsolete">Uložit vrstvu jako...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>Poznámka: následující linie nebyly načteny, Qgis nemohl určit hodnoty pro souřadnice x a y:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">Chyba</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Vyrovnávací zóna kolem objektů</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Nápověda</translation>
+        <translation type="obsolete">&amp;Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -7727,57 +8044,57 @@
         <translation type="obsolete">Nastavení vyrovnávací zóny:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Velikost vyrovnávací zóny v mapových jednotkách:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Název tabulky pro vrstvu s vyrovnávací zónou:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Vytvořit objekt s unikátním id</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>veřejné</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Sloupec s geometrií:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID prostorové reference:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Unikátní pole použít jako id objektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schéma:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Přidat do mapy vrstvu s vyrovnávací zónou?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Vyrovnávací zóna kolem objektů ve vrstvě: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametry</translation>
     </message>
@@ -8238,25 +8555,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Nápověda</translation>
+        <translation type="obsolete">&amp;Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Rezervovaná slova</translation>
     </message>
@@ -8271,7 +8588,7 @@
         <translation>Název sloupce</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento ShapeFile obsahuje rezervovaná slova. To může ovlivnit jeho import do PostgreSQL. Upravte názvy sloupců, tak aby žádný z nich neobsahoval rezervovaná slova (klikněte na Název sloupce a změňte jej). Můžete také podle potřeby pozměnit další názvy sloupců.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -8279,17 +8596,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Stav</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Název sloupce</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -8504,22 +8821,22 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;Nástroje na práci s GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Vytvořit novou vrstvu GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Vytvořit novou vrstvu GPX a zobrazit ji na mapovém platně</translation>
     </message>
@@ -8529,74 +8846,74 @@
         <translation type="obsolete">Nástroje na práci s GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Uložit novou vrstvu GPX jako...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS výměnný formát (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Nelze vytvořit soubor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation> Nelze vytvořit soubor GPX s daným jménem.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation> Zkuste znovu s jiným jménem nebo v jiném</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>adresář.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>Zavaděč GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Nelze číst vybraný soubor.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Prosím znovu vyberte platný soubor.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Nelze spustit proces</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Nemohu spustit GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importuji data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -8606,32 +8923,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Chyba při importu dat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Není podporován</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation> Toto zařízení nepodporuje stahování</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation> z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Stahuji data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -8640,22 +8957,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Chyba při stahování dat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation> Toto zařízení nepodporuje nahrávání z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Nahrávám data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -8664,7 +8981,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Chyba při nahrávání dat</translation>
     </message>
@@ -8672,22 +8989,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Vyberte název souboru k uložení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS výměnný formát (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Vyberte soubor GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Vyberte soubor a formát k importu</translation>
     </message>
@@ -8700,7 +9017,7 @@
         <translation>Nástroje na práci s GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Nahrát soubor GPX</translation>
     </message>
@@ -8719,37 +9036,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Soubor:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Typy objektů:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Trasové body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Cesty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Stopy</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importovat jiný soubor</translation>
     </message>
@@ -8779,27 +9096,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Soubor pro import:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Typ objektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Výstupní soubor GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Název vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Stáhnout z GPS</translation>
     </message>
@@ -8827,27 +9144,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Upravit zařízení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Zařízení GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Výstupní soubor:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Nahrát do GPS</translation>
     </message>
@@ -8876,29 +9193,29 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Datová vrstva:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
@@ -8921,71 +9238,76 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Tento nástoj vám umožní nahrávat dat z vrstvy GPX do zařízení GPS. Vyberte vrstvu, kterou chcete nahrát, výstupní zařízení a port tohoto zařízení.  Pokud vaše zařízení není uvedeno v seznamu nebo pokud chcete změnit některá nastavení, můžete zařízení modifikovat.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Tento nástoj používá pro přesun dat program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;). Pokud nemáte GPSBabel nainstalován na místě, kde jej QGIS může nalézt, tento nástoj nebude fungovat.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Chybná URI - je potřeba specifikovat typ prvku.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>Soubor GPS eXchange</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Upozornění: požadovaný přístup na neplatnou pozici v QgsGPXProvider::minValue(..)</translation>
+        <translation type="obsolete">Upozornění: požadovaný přístup na neplatnou pozici v QgsGPXProvider::minValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Upozornění: požadovaný přístup na neplatnou pozici v QgsGPXProvider::maxValue(..)</translation>
+        <translation type="obsolete">Upozornění: požadovaný přístup na neplatnou pozici v QgsGPXProvider::maxValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitalizováno v QGISu</translation>
     </message>
@@ -8993,12 +9315,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Jméno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -9011,34 +9333,34 @@
         <translation type="obsolete">Vyberte geometrický typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -9046,17 +9368,17 @@
         <translation>Nová vektorová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atributy:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Přidat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Sloupec 1</translation>
     </message>
@@ -9066,17 +9388,17 @@
         <translation type="obsolete">Nová položka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Odebrat</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Formát souboru:</translation>
     </message>
@@ -9084,7 +9406,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Georeferencování</translation>
     </message>
@@ -9155,22 +9477,22 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georeferencování</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Rastrový soubor:</translation>
     </message>
@@ -9187,7 +9509,7 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Vložte souřadnice</translation>
     </message>
@@ -9218,45 +9540,50 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Popis&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento zásuvný modul generuje soubor s georeferencí pro rastrové soubory. Vyberte body v rastrové mapě a zadejte jejich zeměpisné souřadnice, modul vypočte parametry georeference. Obecně lze tvrdit, že čím více souřadnic určíte, tím lepších výsledků dosáhnete.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Parametry transformace</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Metoda převzorkování:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Nejbližší soused</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Lineární</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Kubický</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Použít 0 pro průhlednost, pokud je potřeba</translation>
     </message>
@@ -9338,40 +9665,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>stupňovaný symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Pole klasifikace:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Mód:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Počet tříd:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -9381,22 +9705,22 @@
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Pole</translation>
     </message>
@@ -9462,77 +9786,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Přidat vybranou mapu do plátna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopírovat vybranou mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Přejmenovat vybranou mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Odstranit vybranou mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Nastavit aktuální region podle vybrané mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Obnovit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9545,12 +9869,12 @@
         <translation type="obsolete">Nový uzel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nový bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nový centroid</translation>
     </message>
@@ -9615,7 +9939,7 @@
         <translation type="obsolete">Uvolnit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Odstranit opěrný bod</translation>
     </message>
@@ -9640,47 +9964,47 @@
         <translation type="obsolete">Vybrat bod na linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Vlevo: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Uprostřed: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Vpravo: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Nástoje pro editaci</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nová linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nová hranice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Posunout opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Přidat opěrný bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Rozdělit linii</translation>
     </message>
@@ -9695,196 +10019,196 @@
         <translation type="obsolete">Odstranit linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Modifikovat atributy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Uzavřít</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Přesunout element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Odstranit element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Barva</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10095,32 +10419,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10533,12 +10857,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Spustit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Zastavit</translation>
     </message>
@@ -10548,144 +10872,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"> sloupec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10736,7 +11030,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10744,17 +11038,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Soubor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10762,22 +11056,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10785,42 +11079,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10828,7 +11122,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10836,7 +11130,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10844,69 +11138,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> sloupec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11014,7 +11308,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
@@ -11039,129 +11333,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> sloupec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Nový mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11332,162 +11626,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Otevřít mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Nový mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Zavřít mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Přidat GRASS vektorovou vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Přidat GRASS rastrovou vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Otevřít GRASS nástroje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Zobrazit aktuální GRASS region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Editovat aktuální GRASS region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Editovat GRASS vektorovou vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Přidat GRASS vektorovou vrstvu do mapového plátna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Přidat GRASS rastrovou vrstvu do mapového plátna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Zobrazit aktuální GRASS region jako obdélníkové mapové plátno</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Editovat aktuální GRASS region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Editovat vybraný aktuální GRASS vektorovou vrstvu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11495,22 +11789,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11705,39 +11999,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Upozornění</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -11748,78 +12009,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished">Moduly</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">GRASS nástroje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> sloupec </translation>
     </message>
@@ -11885,7 +12141,7 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Geografická mřížka</translation>
     </message>
@@ -11895,7 +12151,7 @@
         <translation type="obsolete">&amp;Tvůrce mřížky</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Vytvoří mřížku (grid) a výsledek uloží ve formátu shapefile</translation>
     </message>
@@ -11905,7 +12161,7 @@
         <translation type="obsolete">Tvůrce mřížky</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Tvůrce geografické sítě</translation>
     </message>
@@ -11971,32 +12227,32 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS šablona zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Tvorba geografické sítě</translation>
     </message>
@@ -12020,17 +12276,17 @@
         <translation type="obsolete">Počátek (vlevo dole)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Zem. délka:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Zem. šířka:</translation>
     </message>
@@ -12047,7 +12303,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -12055,60 +12311,65 @@
         <translation type="obsolete">Velikost sítě (jednotky ve stupních)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Interval mezi rovnoběžkami: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Interval mezi poledníky:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Tento zásuvný modul vám umožní vytvořit mřížku ve formátu ShapeFile, kterou můžete posléze zobrazit v mapovém okně QGISu.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Prosím, zadávejte všechny hodnoty jako decimální stupně.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Počátek (vlevo dole)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Koncový bod (vpravo nahoře)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Velikost mřížky (jednotky ve stupních)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Výstupní (ShapeFile) soubor</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -12123,12 +12384,12 @@
         <translation>Selhalo získání textu nápovědy z databáze</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>Databáze s nápovědou ke QGISu není nainstalována</translation>
     </message>
@@ -12231,27 +12492,27 @@
         <translation type="obsolete">&lt;center&gt;Vykonat akci&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation> Výsledek identifikace -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Spustit akci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Odvozené)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">Hodnota</translation>
     </message>
@@ -12632,95 +12893,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Zavřít</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Spustit</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Výstup</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -12766,75 +12938,105 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>skupina</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Vlastnosti</translation>
+        <translation type="obsolete">&amp;Vlastnosti</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
         <source>&amp;Add to overview</source>
-        <translation>&amp;Přidat do náhledu</translation>
+        <translation type="obsolete">&amp;Přidat do náhledu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
         <source>&amp;Remove from overview</source>
-        <translation>&amp;Odebrat z náhledu</translation>
+        <translation type="obsolete">&amp;Odebrat z náhledu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odebrat</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation>&amp;Přesunout nahoru</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>Pře&amp;jmenovat</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>&amp;Přidat skupinu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>&amp;Rozbalit vše</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>&amp;Zabalit vše</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zvětšit na oblast vrstvy</translation>
+        <translation type="obsolete">&amp;Zvětšit na oblast vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>Ukázat skupiny souboru</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
         <source>&amp;Allow editing</source>
-        <translation>&amp;Povolit editaci</translation>
+        <translation type="obsolete">&amp;Povolit editaci</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="438"/>
         <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Uložit jako shapefile...</translation>
+        <translation type="obsolete">&amp;Uložit jako shapefile...</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Otevřít atributovou tabulku</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Povolit editaci</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Uložit soubor Shapefile jako...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="455"/>
+        <source>&amp;Convert to...</source>
+        <translation type="obsolete">&amp;Konvertovat na...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Není vybraná žádná vrstva</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLegendItemBase</name>
@@ -12855,6 +13057,197 @@
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zvětšit na oblast vrstvy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Otevřít atributovou tabulku</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Uložit soubor Shapefile jako...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Vlastnosti</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Atributová tabulka - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Uložit vrstvu jako...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Editace selhala</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Poskytovatel nemůže být otevřen pro editaci</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Ukončit editaci</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Přejete si uložit změny?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ano</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Ne</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Nemohu zapsat změny</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problémy během při návratu zpět</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zvětšit na oblast vrstvy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Otevřít atributovou tabulku</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Uložit soubor Shapefile jako...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Vlastnosti</translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -12989,58 +13382,48 @@
         <translation type="obsolete">Chyba při zobrazení velikosti pohledu, zájmové území je potřeba vybrat ručně.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Nelze vykreslit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>protože</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zoom na velikost označené vrstvy</translation>
+        <translation type="obsolete">&amp;Zoom na velikost označené vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Odebrat</translation>
+        <translation type="obsolete">&amp;Odebrat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Vlastnosti</translation>
+        <translation type="obsolete">&amp;Vlastnosti</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -13051,180 +13434,155 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished">Prepísať súbor?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportovat jako Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Mapový soubor</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Exportovat pouze informace o VRSTVĚ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Výška</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Šírka</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>stopy</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>metry</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>míle</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>palce</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometry</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Jednotky</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Typ obrázku</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>definovaný uživatelem</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -13244,47 +13602,47 @@
         <translation>Předpona připojená k názvu souborů GIF mapy, grafického měřítka a legendy vytvořených použitím tohoto mapového souboru. Měla by být krátká.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Definice webového rozhraní</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Hlavička</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Patička</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Šablona</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -13309,43 +13667,45 @@
         <translation type="obsolete">Soubor projektu QGISu pro export do mapového formátu MapServeru</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Název souboru mapy vytvořeného na základě souboru projektu QGISu</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>V případě kontroly budou zpracovány pouze informace o vrstvě</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Cesta k souboru s MapServer šablonou</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Prefix pro mapy, měřítko a legendu v souborech GIF vytvořených pomocí tohoto MapFile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Úplná cesta k souboru s projektem QGIS pro export do formátu MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Vybrat adresář</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -13398,35 +13758,10 @@
         <translation type="obsolete">Azimut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Úseky (v metrech)</translation>
+        <translation type="obsolete">Úseky (v metrech)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -13462,6 +13797,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Úseky (v metrech)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -13571,12 +13942,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Vyzkoušet spojení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Spojení k %1 bylo úspešné</translation>
     </message>
@@ -13586,7 +13957,7 @@
         <translation type="obsolete">Spojenie zlyhalo - skontrolujte nastavenia a skúste znova</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -13597,7 +13968,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13811,22 +14182,22 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Vlevo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Vpravo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorace</translation>
     </message>
@@ -13836,7 +14207,7 @@
         <translation type="obsolete">&amp;Směrová růžice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Vytvoří směrovou růžici a zobrazí ji v mapovém okně</translation>
     </message>
@@ -13851,17 +14222,17 @@
         <translation type="obsolete">Pixmap nebyla nalezena</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Vlevo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Směrová růžice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13874,7 +14245,7 @@
         <translation type="obsolete">Pixmap nebyla nalezena</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13882,100 +14253,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Zásuvný modul pro tvorbu směrové růžice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Vlastnosti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Úhel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Umístění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Nastavit směr automaticky</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Zapnout směrovou růžici</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Vlevo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Vpravo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Vlevo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Umístění na obrazovce</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Náhled směrové růžice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ikona</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nová položka</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -13991,14 +14367,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -14006,7 +14374,7 @@
         <translation>QGIS Možnosti</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -14016,52 +14384,52 @@
         <translation type="obsolete">firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Poloměr hledání pro identifikaci objektů</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Při startu skrýt úvodní obrazovku</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Vzhled</translation>
     </message>
@@ -14071,27 +14439,27 @@
         <translation type="obsolete">&amp;Úvodní obrazovka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Téma (&amp;ikony)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Téma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Poznámka: &lt;/b&gt;Změna tématu se projeví až po dalším spuštění QGISu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Prohlížeč Nápovědy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Na prohlížení dokumentů Nápovědy používat program</translation>
     </message>
@@ -14101,7 +14469,7 @@
         <translation type="obsolete">&lt;b&gt;Poznámka:&lt;/b&gt; K programu pro prohlížení musí být uvedená cesta (PATH), nebo je potřeba ji specifikovat v poli nad tímto textem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Vykreslování</translation>
     </message>
@@ -14111,22 +14479,22 @@
         <translation type="obsolete">&amp;Aktualizovat čas vykreslování</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Aktualizovat zobrazení po načtení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Zobrazení mapy bude aktualizováno (vykreslené) potom, co bude daný počet objektů načten z datového zdroje</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>objekty</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Nastavení 0 neaktualizuje zobrazení dokud nebudou načteny všechny objekty)</translation>
     </message>
@@ -14172,12 +14540,12 @@
         <translation type="obsolete">&lt;b&gt;Poznámka: &lt;/b&gt;Vyšší hodnota poskytuje jemnější symboly SVG, ale může zpomalit vykreslování</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Počáteční viditelnost</translation>
     </message>
@@ -14224,7 +14592,7 @@
         <translation type="obsolete">Zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Vybrat všeobecný standard ...</translation>
     </message>
@@ -14234,12 +14602,12 @@
         <translation type="obsolete">Pokud je načtena vrstva bez informaci o zobrazení:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Dotaz na zobrazení.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Bude použito standardní zobrazení.</translation>
     </message>
@@ -14249,32 +14617,32 @@
         <translation type="obsolete">Bude použito obecné standardní zobrazení, viz níže.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Výchozí vzhled mapy (potlačeno vlastnostmi projektu)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Barva pozadí:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Barva výběru:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Vyčistit obrazovku</translation>
     </message>
@@ -14284,7 +14652,7 @@
         <translation type="obsolete">Potlačení roztřepení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Linie bude vykreslena jako méně roztřepená, nicméně na úkor rychlosti vykreslování</translation>
     </message>
@@ -14294,7 +14662,7 @@
         <translation type="obsolete">Nové &amp;vrstvy přidané do mapy nejsou zobrazeny</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Aktualizovat během vykreslování</translation>
     </message>
@@ -14304,17 +14672,17 @@
         <translation type="obsolete">&amp;Výběr &amp;&amp; Měření</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Nástoj pro měření</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Elipsoid pro výpočet vzdálenosti:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Radius pro hledání</translation>
     </message>
@@ -14348,67 +14716,67 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>&amp;Zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Pokud je nahrána vrstva, která nemá žádné informace o souřadnicovém systému</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>Bude použito &amp;globální výchozí zobrazení, viz níže.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Poznámka:&lt;/b&gt; Prohlížeč musí být uveden ve vaší PATH nebo musí být spesifikována absolutní cesta, viz výše</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Standardně nová &amp;vrstva přidaná do mapy by měla být zobrazena</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Vzhled</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Název vrstvy převést na velká písmena</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Vykreslit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Způsobí zrušení výběru &apos;make lines less&apos; roztřepené spojení linií&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Opravit nesprávně vyplněné polygony</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -14417,40 +14785,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -14666,88 +15054,83 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabulka &lt;b&gt;%1&lt;/b&gt; v databázi &lt;b&gt;%2&lt;/b&gt; na hostiteli &lt;b&gt;%3&lt;/b&gt;, užívatel &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Výsledek dotazu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Podmínka where vrátila </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation> řádků.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Dotaz selhal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Při vykonávaní dotazu nastala chyba:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Spojení selhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Spojení k databázi selhalo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Chyba databáze</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Selhal pokus získat vzorek hodnot z polí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Žádné záznamy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Výsledkem Vámi specifikovaného dotazu jsou nulové (žádné) záznamy. Vrstva PostgreSQL však musí obsahovat aspoň jeden prvek.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14888,17 +15271,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Vybrat adresář</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Žádné zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Nenalezeny žádné zásuvné moduly </translation>
     </message>
@@ -14999,136 +15382,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Zvětšit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Zmenšit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Zvětšit podle vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Zvětšit podle vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Posunout mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Posunout mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Přidat bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Umístit body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Odstranit body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Odstranit vybrané</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Lineární</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmertova</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Vyberte název pro soubor s georeferencí</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation>-modifikováno</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Upozornění</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Helmertova transformace vyžaduje modifikaci rastrové vrstvy.&lt;/p&gt;&lt;p&gt;Modifikovaná rastrová vrstva bude uložena jako nový soubor a současně bude vygenerován soubor s georeferencí.&lt;/p&gt;&lt;p&gt;Opravdu si přejete to provést?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Afinní</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Není implemetováno!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Afinní transformace vyžaduje změnu originálního rastrového souboru. Tento prvek není ještě implementován.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation> &lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation> transformace není podporována.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation> Nelze zapsat do</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -15205,13 +15593,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Modifikovaný rastrový soubor:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -15234,17 +15627,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Nelze přistoupit k relaci</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Nelze přistoupit k </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -15253,12 +15646,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Bez podpory GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -15267,12 +15660,12 @@
 Prosím nainstalujte PostGIS s podporou GEOS (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Žádný vhodný sloupec s klíčem v tabulce </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -15288,154 +15681,154 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Unikátní index sloupce</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>není vhodný jelikož Qgis v současnosti nepodporuje jiný než datový typ int4 pro klíč v tabulce.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation> a</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation> Unikátní index založený na sloupcích</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> není vhodný jelikož Qgis v současnosti nepodporuje více sloupců jako klíč v tabulce.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Nelze nalézt sloupec s klíčem</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>  odvozený z</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>a je vhodný.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation> a není vhodný</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation> datový typ je</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> a má vhodné omezení)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> a nemá vhodné omezení)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Zvolený pohled obsahuje následující sloupce, žádný z nich nesplňuje výše uvedené podmínky:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis vyžaduje, aby pohled obsahoval sloupce, které mohou být použity jako unikátní klíč. Takový sloupec by měl být odvozen ze sloupce tabulky o datovém typu int4 a měl by být primárním klíčem, či by měl obsahovat unikátní hodnoty, nebo by měl být sloupcem PostgreSQL oid. Pro zvýšení výkonu by měl být takový sloupec indexován.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation> Pohled</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>neobsahuje žádné sloupce vhodné pro unikátní klíč.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Žádný vhodný klíč v pohledu</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Neznámý typ geometrie</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation> Sloupec</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>  v</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>  obsahuje typ geometrie</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, který Qgis v současnosti nepodporuje.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Protokol databáze byl:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Nelze získat typ objektu a srid</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation> Poznámka:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>v počátku se jevil jako vhodný, nicméně neobsahuje unikátní data, tudíž není vhodný.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>Chyba při INSERT</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Objevila se chyba při vložení prvku</translation>
     </message>
@@ -15444,57 +15837,57 @@
         <source>The sql was:
 
 </source>
-        <translation>SQL příkaz:
+        <translation type="obsolete">SQL příkaz:
 
 </translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>SQL chyba</translation>
+        <translation type="obsolete">SQL chyba</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>Chyba při DELETE</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Objevila se chyba při mazání z disku</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>Chyba PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">Objevila se chyba při připojování k databázi PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete"> Databáze PostgreSQL vrátila:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation> Při pokusu:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -15520,44 +15913,44 @@
         <translation>Vlastnosti projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Mapové jednotky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metry</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Stopy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Stupně</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Nápověda</translation>
+        <translation type="obsolete">&amp;Nápověda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15565,32 +15958,32 @@
         <translation type="obsolete">Názov projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Standardní název projektu</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Použít</translation>
+        <translation type="obsolete">&amp;Použít</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Název projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Vzhled mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Barva výběru:</translation>
     </message>
@@ -15600,37 +15993,37 @@
         <translation type="obsolete">Přesnost zobrazování polohy kurzoru</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automaticky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Automaticky nastaví počet desetinných míst v zobrazování polohy myši (kurzoru)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Počet desetinných míst, které jsou použity při zobrazování polohy myši je automaticky nastaven tak aby posun myši o jeden pixel způsobil změnu v zobrazení polohy </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuálně</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Nastaví počet desetinných míst použitých při zobrazování polohy myši</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Počet desetinných míst pro manuální volbu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>desetinná místa</translation>
     </message>
@@ -15640,27 +16033,27 @@
         <translation type="obsolete">Nastavení digitalizace</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Barva linie:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Tloušťka linie:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolerance přichycení:</translation>
+        <translation type="obsolete">Tolerance přichycení:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Povolit zobrazení &quot;za letu&quot;</translation>
     </message>
@@ -15670,78 +16063,68 @@
         <translation type="obsolete">Súradnicové systémy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Obecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalizace</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Přesnost</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Barva pozadí:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Výběr zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Zobrazení</translation>
     </message>
@@ -15756,50 +16139,80 @@
         <translation type="obsolete">Prostorová reference Id</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Najít</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Prostorový referenční systém</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Nenastavené</translation>
     </message>
@@ -15819,27 +16232,27 @@
         <translation type="obsolete">&amp;Odobrať</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Ovladač:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Rozměry:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> Kanály: </translation>
     </message>
@@ -15849,12 +16262,12 @@
         <translation type="obsolete">Projekcia:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Počátek:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Velikost pixelu:</translation>
     </message>
@@ -15874,172 +16287,172 @@
         <translation type="obsolete">Modrá</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Rozsah rastru:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Oříznutá oblast: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Přehled pyramid:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statistika kanálů (pokud je k dispozici):</translation>
+        <translation type="obsolete">Statistika kanálů (pokud je k dispozici):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Vlastnost</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Kanál č</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Žádná statistika</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Doposud nebyla sestavena žádná statistika</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Minimální hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Maximální hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Rozsah</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Průměr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Rozptyl</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Standardní odchylka</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Suma všech buněk</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Počet buněk</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Zápis zamítnut</translation>
+        <translation type="obsolete">Zápis zamítnut</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Zápis zamítnut. Získejte práva pro zápis a zkuste znovu.
+        <translation type="obsolete">Zápis zamítnut. Získejte práva pro zápis a zkuste znovu.
 
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Typ dat:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Eight bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Sixteen bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Sixteen bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Thirty two bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Thirty two bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Thirty two bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Sixty four bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Nelze rozpoznat typ rastrových dat.</translation>
     </message>
@@ -16054,54 +16467,54 @@
         <translation type="obsolete">&amp;Ukázať v náhľade</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Průhlednost&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Průhlednost&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Průměr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Referenční prostorový systém vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Referenční prostorový systém projektu:  </translation>
+        <translation type="obsolete">Referenční prostorový systém projektu:  </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>mimo rozsah</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (žádná data)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Sestavení pyramid selhalo.</translation>
+        <translation type="obsolete">Sestavení pyramid selhalo.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Soubor není dostupný v režimu pro zápis. Některé formáty nemohou být zapisovány, pouze čteny. Můžete také vyzkoušet přístupová práva a zkusit znovu.</translation>
+        <translation type="obsolete">Soubor není dostupný v režimu pro zápis. Některé formáty nemohou být zapisovány, pouze čteny. Můžete také vyzkoušet přístupová práva a zkusit znovu.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Sestavení náhledu pyramid není pro tento typ rastrového formátu podporováno.</translation>
+        <translation type="obsolete">Sestavení náhledu pyramid není pro tento typ rastrového formátu podporováno.</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16114,17 +16527,17 @@
         <translation type="obsolete">&amp;Konvertovat na...</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Popis datasetu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Hodnota &quot;žádná data&quot;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>a všechny ostatní soubory</translation>
     </message>
@@ -16137,32 +16550,32 @@
         <translation type="obsolete">Žádná data:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Poznámky k vícekanálovým snímkům&lt;/h3&gt;&lt;p&gt;Toto je vícekanálový snímek. Je možné ho vykreslit v odstínech šedi nebo jako barevnou syntézu (RGB). Barvy v barevných syntézách je možné přiřadit libovolně. Například pokud máte sedmi kanálový snímek z družice LandSat, můžete jej zobrazit jako:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;viditelná modrá (0.45 až 0.52 microns) - nezobrazena&lt;/li&gt;&lt;li&gt;viditelná zelená (0.52 až 0.60 microns) - nezobrazena&lt;/li&gt;&lt;/li&gt;viditelná červená (0.63 až 0.69 microns) - na snímku zobrazená jako červená&lt;/li&gt;&lt;li&gt;blízká infračervená (0.76 až 0.90 microns) - na snímku zobrazena jako zelená&lt;/li&gt;&lt;li&gt;střední infračervená (1.55 až 1.75 microns) - nezobrazena&lt;/li&gt;&lt;li&gt;tepelná infračervená (10.4 až 12.5 microns) - nezozbrazena&lt;/li&gt;&lt;li&gt;střední infračervená (2.08 až 2.35 microns) - zobrazena jako modrá&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Poznámky ke snímkům s paletou&lt;/h3&gt; &lt;p&gt;Tento snímek používá pevnou paletu barev. Tyto barvy můžete změnit v různých kombinacích např.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Červená - na obrázku modrá&lt;/li&gt;&lt;li&gt;Zelená - na obrázku modrá&lt;/li&gt;&lt;li&gt;Modrá - na obrázku zelená&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Poznámky ke snímkům v odstínech šedi&lt;/h3&gt; &lt;p&gt;Je možné přemapovat snímek v odstínech šedi na pseudobarevný obrázek automaticky vygenerovaný barevnou rampou.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Odstíny šedi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudobarvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation></translation>
     </message>
@@ -16177,35 +16590,65 @@
         <translation type="obsolete">Řádky:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Nenastaveno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation> Sloupce:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation> Řádky:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation> Hodnota žádná data:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Zápis zamítnut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Zápis zamítnut. Získejte práva pro zápis a zkuste znovu.
+
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Sestavení pyramid selhalo.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Soubor není dostupný v režimu pro zápis. Některé formáty nemohou být zapisovány, pouze čteny. Můžete také vyzkoušet přístupová práva a zkusit znovu.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Sestavení náhledu pyramid není pro tento typ rastrového formátu podporováno.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -16217,50 +16660,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Použít</translation>
+        <translation type="obsolete">&amp;Použít</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Nápověda</translation>
+        <translation type="obsolete">&amp;Nápověda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Obecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Zdroj vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Zobrazit jméno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation> Legenda:</translation>
     </message>
@@ -16270,12 +16713,12 @@
         <translation type="obsolete">Ukázat info pro ladění jako překrytí rastru?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Žádná data:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Symbolika</translation>
     </message>
@@ -16285,27 +16728,27 @@
         <translation type="obsolete">Vzhled</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Průhlednost:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Úplná&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Žádná</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Invertovat barvy mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -16315,27 +16758,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Zelená&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Červená&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Modrá&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Barva</translation>
     </message>
@@ -16345,17 +16788,17 @@
         <translation type="obsolete">Odstíny šedi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Šedá</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Standardní odchylka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Barevná škála</translation>
     </message>
@@ -16415,7 +16858,7 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Nepřehlédněte prosím:&lt;/font&gt; Pokročilá symbolika nebyla doposud implementována!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
@@ -16430,52 +16873,52 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pyramidy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Metoda převzorkování</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Průměr</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Nejbližší soused</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Vytvořit pyramidy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Rozlišení pyramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniatury</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Sloupce:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Řádky:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta:</translation>
     </message>
@@ -16516,22 +16959,22 @@
         <translation type="obsolete">Používat vykreslování v závislosti na měřítku</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maximální měřítko při kterém bude tato vrstva zobrazena. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimální měřítko při které bude tato vrstva zobrazena. </translation>
     </message>
@@ -16560,37 +17003,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histogram</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Volby</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Mimo rozsah, OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Povolit aproximaci</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Typ grafu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Sloupcový graf</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Čárový graf</translation>
     </message>
@@ -16600,32 +17043,32 @@
         <translation type="obsolete">X rozsah:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Obnovit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Prostorový referenční systém</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Změna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Zobrazit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Obraz v odstínech šedi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Barevný obraz</translation>
     </message>
@@ -16640,12 +17083,12 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Viditelnost závislá na měřítku</translation>
     </message>
@@ -16666,12 +17109,12 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Sloupec počtu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -16690,7 +17133,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 
 &lt;p dir=&quot;ltr&quot;&gt;Rastrové vrstvy s vysokým rozlišením mohou způsobit zpomalení navigace v QGISu. Výkon lze zvýšit vytvořením kopií dat s nižším rozlišením (tzv pyramid), QGIS vybere v závislosti na stupni transfokace nejvhodnější rozlišení. Pro vytvoření pyramid musíte vlastnit právo zápisu do adresáře, kde jsou uložena originální data.&lt;/p&gt;
@@ -16700,30 +17143,48 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+
+&lt;p dir=&quot;ltr&quot;&gt;Rastrové vrstvy s vysokým rozlišením mohou způsobit zpomalení navigace v QGISu. Výkon lze zvýšit vytvořením kopií dat s nižším rozlišením (tzv pyramid), QGIS vybere v závislosti na stupni transfokace nejvhodnější rozlišení. Pro vytvoření pyramid musíte vlastnit právo zápisu do adresáře, kde jsou uložena originální data.&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Sestavení pyramid může změnit soubor s originálními daty, navíc je nelze po vytvoření odstranit.&lt;span&gt;&lt;/p&gt;(new line)
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Sestavení pyramid může poškodit původní data - nejprve proveďte jejich zálohu!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Nelze spustit příkaz</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Nelze spustit příkaz</translation>
+        <translation type="obsolete">Nelze spustit příkaz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Startuje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
@@ -16731,97 +17192,97 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> metry/kilometry</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>stopy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>stupně</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> stopy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> stupně</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> neznámé</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Vlevo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Vlevo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Vpravo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Značky dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Značky nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Čára</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Rámeček</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorace</translation>
     </message>
@@ -16831,7 +17292,7 @@
         <translation type="obsolete">&amp;Měřítko</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Vytvoří měřítko a zobrazí jej v mapovém okně</translation>
     </message>
@@ -16841,7 +17302,7 @@
         <translation type="obsolete">Měřítko</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Měřítko</translation>
     </message>
@@ -16849,29 +17310,29 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Zásuvný modul grafického měřítka</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16887,27 +17348,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Vlevo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Vpravo nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Vlevo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Velikost grafického měřítka:</translation>
     </message>
@@ -16917,62 +17378,62 @@
         <translation type="obsolete">Vybrat barvu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Umístění:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Značky dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Značky nahoře</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Rámeček</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Čára</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Vybrat styl grafického měřítka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Barva grafického měřítka:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Vzhled grafického měřítka:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Zapnout grafické měřítko</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Při změně velikosti automaticky hodnotu zaokrouhlit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Klikněte pro výběr barvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento zásuvný modul vykreslí měřítko v mapovém okně. Prosím mějte na paměti, že volba velikosti uvedena níže je &quot;preferovanou&quot; velikostí a může být pozměněna QGISem v závislosti na úrovni zvětšení. Velikost je určena na základě mapových jednotek specifikovaných ve vlastnostech projektu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -16993,77 +17454,72 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Nalezeno %d odpovídajících prvků.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Nebyly nalezeny žádné odpovídající prvky.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Výsledek hledání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Chyba při kontrole hledaného řetězce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Žádné záznamy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Výsledek specikovaného dotazu neobsahuje žádné položky.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation> Opravdu si přejete odstranit </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> spojení a všechny asociované nastavení?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Potvrdit vymazání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Ano</translation>
+        <translation type="obsolete">Ano</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Ne</translation>
+        <translation type="obsolete">Ne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Vybrat vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Musíte nejprve vybrat alespoň jednu vrstvu.</translation>
     </message>
@@ -17078,49 +17534,49 @@
         <translation type="obsolete">JPEG</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>Poskytovatel WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Nelze kontaktovat poskytovalete WMS</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Souřadnicový referenční systém (%1 dostupných)</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>  Nemohu porozumět odezvě</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>poskytovatel sděluje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished">Souřadnicový referenční systém</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17301,17 +17757,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -17466,27 +17922,27 @@
         <translation>Jednoduchý symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Vzorek výplně:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Velikost</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Šířka obrysu:</translation>
     </message>
@@ -17496,65 +17952,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Barva výplně:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Barva obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Styl obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Popisek:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Bez výplně</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Opravdu chcete odstranit [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] spojení a všechny k němu přiřazené nastavení?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Potvrdit vymazání</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Ano</translation>
+        <translation type="obsolete">Ano</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Ne</translation>
+        <translation type="obsolete">Ne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Upravit jména sloupců</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -17562,208 +18023,208 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>DŮVOD: Soubor nelze otevřít</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>DŮVOD: Jeden nebo oba soubory ShapeFile (*.dbf, *.shx) chybějí</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Obecné rozhraní nápovědy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Spojení PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Nové ...] - vytvorit nové spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Editovat ...] - upravit právě vybrané spojené</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Odstranit] - odstraní právě vybrané spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- je potřeba vybrat spojení, které funguje v pořadí k importovaným souborům</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-pokud dojde ke změně spojení, globální schéma je adekvátně změněno také</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Seznam souborů ShapeFile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Přidat ...] - otevřít dialog Soubor a procházet k požadovanému souboru(ům) pro import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Odebrat] - odebrat aktuáně vybraný soubor(y) ze seznamu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Odebrat vše] - odebrat všechny soubory ze seznamu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Reference ID pro ShapeFiles určeného pro import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Použít výchozí (SRID)] - nastavit SRID na -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Název sloupce s geometrií] - název sloupce s geometrií v databázi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Použít výchozí (název sloupce s geometrií)] - nastavit název sloupce na &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Globální schéma] - nastavit schéma pro všechny soubory pro import na</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Import] - import aktuálního ShapeFile v seznamu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Konec] - konec programu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Nápověda] - zobrazí tento dialog nápovědy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Import souborů ShapeFile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Je potřeba nejprve specifikovat spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Spojení selhalo - Zkontrolujte nastavení a zkuste znovu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Nejprve je potřeba přidat ShapeFiles do seznamu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importuji soubory</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Průběh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problém při přidání prvků ze souboru:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Neplatný název tabulky.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Nebyla rozpoznána žádná políčka.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Následující políčka jsou duplicitní:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Import ShepeFiles - relace existuje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>ShapeFile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>bude použita [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] relace pro data,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>které již existují a možná obsahují data.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Pro vyvarování ztráty dat změňte &quot;DB Relation Name&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>pro tento ShapeFile v hlavním dialogu seznamu souborů.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Chcete přepsat [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] relaci?</translation>
     </message>
@@ -17773,72 +18234,72 @@
         <translation type="obsolete">Relace existuje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Použít tabulku níže pro změnu názvů sloupců. Ujistěte se, že žádný z názvů sloupců neobsahuje rezervovaná slova PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Jméno souboru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Třída objektu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Objekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>DB Relation Name</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17846,32 +18307,32 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Nástroj na import souboru Shapefile do PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Spojení PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Odebrat</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Import</translation>
+        <translation type="obsolete">Import</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Seznam souborů Shapefile</translation>
     </message>
@@ -17901,107 +18362,107 @@
         <translation type="obsolete">Schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Jméno sloupce s geometrií</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Odebrat vše</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Globální schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Nástroj pro import souboru Shapefile do PostGISu</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importovat definovaný soubor Shapefile do PostGIS</translation>
+        <translation type="obsolete">Importovat definovaný soubor Shapefile do PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Zavřít</translation>
+        <translation type="obsolete">Zavřít</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Přidat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Přidat soubor Shapefile do seznamu importovaných souborů</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Odebrat označený soubor Shapefile ze seznamu importovaných souborů</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Odebrat všechny soubory Shapefile ze seznamu souborů určených pro import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Použít standardní SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Nastavit SRID na obvyklou hodnotu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Použít standardní jméno sloupce s geometrií</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Nastavit název sloupce s geomerií na výchozí hodnotu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nové</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Vytvořit spojení PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Odebrat současné spojení PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Připojit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Editovat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Editova toto spojení PostGIS</translation>
     </message>
@@ -18024,7 +18485,7 @@
         <translation type="obsolete">Importuje soubor(y) ve formátu ShapeFile do PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished">&amp;Import</translation>
     </message>
@@ -18068,15 +18529,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Formulář1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Položka klasifikace:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -18091,9 +18562,9 @@
         <translation type="obsolete">V označeném bodě nebyly nalezeny žádné objekty v aktivní vrstvě</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Atributová tabulka - </translation>
+        <translation type="obsolete">Atributová tabulka - </translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18101,9 +18572,9 @@
         <translation type="obsolete">&amp;Zoom na veľkosť označenej vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Otevřít atributovou tabulku</translation>
+        <translation type="obsolete">&amp;Otevřít atributovou tabulku</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18131,29 +18602,29 @@
         <translation type="obsolete">Začít editaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Ukončit editaci</translation>
+        <translation type="obsolete">Ukončit editaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Uložit soubor Shapefile jako...</translation>
+        <translation type="obsolete">Uložit soubor Shapefile jako...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Nástroj pro správu dat nepodporuje mazání</translation>
+        <translation type="obsolete">Nástroj pro správu dat nepodporuje mazání</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Nástroj pro správu data nepodporuje mazání objektů</translation>
+        <translation type="obsolete">Nástroj pro správu data nepodporuje mazání objektů</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Vrstva není editovatelná</translation>
+        <translation type="obsolete">Vrstva není editovatelná</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18166,44 +18637,44 @@
         <translation type="obsolete">akce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Povolit editaci</translation>
+        <translation type="obsolete">Povolit editaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>Vrstva nemůže být přidána k</translation>
+        <translation type="obsolete">Vrstva nemůže být přidána k</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Přístup k datům pro tuto vrstvu nedovoluje přidání prvků.</translation>
+        <translation type="obsolete">Přístup k datům pro tuto vrstvu nedovoluje přidání prvků.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Aktuální vrstva není editovatelná. Zvolte &apos;Povolit editaci&apos; v legendě pravým tlačítkem myši.</translation>
+        <translation type="obsolete">Aktuální vrstva není editovatelná. Zvolte &apos;Povolit editaci&apos; v legendě pravým tlačítkem myši.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Aktuální vrstva není editovatelná. Zvolte &apos;Povolit editaci&apos; v legendě pravým tlačítkem myši</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Přejete si uložit změny?</translation>
+        <translation type="obsolete">Přejete si uložit změny?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Ano</translation>
+        <translation type="obsolete">&amp;Ano</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Ne</translation>
+        <translation type="obsolete">&amp;Ne</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18221,39 +18692,39 @@
         <translation type="obsolete">Vektorová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Obrácený výběr...</translation>
+        <translation type="obsolete">Obrácený výběr...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Přerušit</translation>
+        <translation type="obsolete">Přerušit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Editace selhala</translation>
+        <translation type="obsolete">Editace selhala</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Poskytovatel nemůže být otevřen pro editaci</translation>
+        <translation type="obsolete">Poskytovatel nemůže být otevřen pro editaci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Chyba</translation>
+        <translation type="obsolete">Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>Nemohu zapsat změny</translation>
+        <translation type="obsolete">Nemohu zapsat změny</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Problémy během při návratu zpět</translation>
+        <translation type="obsolete">Problémy během při návratu zpět</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18271,59 +18742,59 @@
         <translation type="obsolete">Nemohu zapsat změny v geometrii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Aktuální vrstva není editovatelná. Vyberte &apos;Započít editaci&apos; z lišty digitalizace.</translation>
+        <translation type="obsolete">Aktuální vrstva není editovatelná. Vyberte &apos;Započít editaci&apos; z lišty digitalizace.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Nelze zapsat přidané prvky.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>Nyní nebudou zapsány žádné další změny.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Nelze zapsat modifikované atributy.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Nicméně, přidané prvky byly zapsány v pořádku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Nelze zapsat modifikovanou geometrii.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Nicméně, modifikované atributy byly zapsány v pořádku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Nelze zapsat odstraněné prvky.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Nicméně, modifikovaná geometrie byla zapsána v pořádku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>Nelze číst prvky</translation>
+        <translation type="obsolete">Nelze číst prvky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>  Poskytovatel aktuální vrstvy nemůže přečíst geometrii vybrané vrstvy. Tato verze poskytovatele neposkytuje podobnou vlastnost.</translation>
+        <translation type="obsolete">  Poskytovatel aktuální vrstvy nemůže přečíst geometrii vybrané vrstvy. Tato verze poskytovatele neposkytuje podobnou vlastnost.</translation>
     </message>
 </context>
 <context>
@@ -18344,27 +18815,27 @@
         <translation type="obsolete">Spojitá farba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation> Průhlednost:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Jednoduchý symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Odstupňovaný symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Spojitá barva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Jedinečná hodnota</translation>
     </message>
@@ -18374,12 +18845,12 @@
         <translation type="obsolete">Datový zdroj (cesta nebo informace o databázovém spojení)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Tímto tlačítkem se vyvolá komponenta PosgreSQL dotazů. Ta umožňuje vytvořit podskupinu objektů, které se zobrazí na místo všech objektů vrstvy v mapovém okně</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Dotaz použitý pro omezení objektů ve vrstvě se ukáže zde. V současnosti podporováno pouze pro vrstvy PostgreSQL. Pro založení nebo úpravu dotazu, klikněte na tlačítko Tvorba dotazů</translation>
     </message>
@@ -18399,118 +18870,118 @@
         <translation type="obsolete">Značka jedinečné hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Prostorový index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Prostorový index vytvořen úspěšně</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Vytvoření prostorového indexu selhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Všeobecné:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation> Typ uložení této vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation> Geometrický typ objektů v této vrstvě: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation> Počet objektů v této vrstvě: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation> Editační způsobilost této vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Rozsah:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation> Jednotky referenčního prostorového systému vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation> xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation>  : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation> Jednotky prostorového referenčného systému projektu: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Prostorový referenční systém:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Referenční souřadnicový systém projektu (výstupní):</translation>
+        <translation type="obsolete">Referenční souřadnicový systém projektu (výstupní):</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Informace o položkách atributů:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Pole</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Délka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Přesnost</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation> Zdroj aktuální vrstvy :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -18522,7 +18993,7 @@
         <translation>Vlastnosti vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Typ legendy:</translation>
     </message>
@@ -18534,7 +19005,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18549,12 +19020,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18562,129 +19033,129 @@
         <translation type="obsolete">TextLabel2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Symbolika</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Průhlednost:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Obecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Používat vykreslování v závislosti na měřítku</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation> Minimální měřítko při kterém je vrstva zobrazena.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation> Maximální měřítko při kterém je vrstva zobrazena.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Zobrazit název</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Používá se pro nastavení pole, které bude umístněné na nejvyšší úrovni dialogového okna výsledků identifikace.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Prostorový referenční systém</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Změna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Zobrazit pole pro dialogové okno Výsledek identifikace</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Toto nastaví zobrazování pole výsledků dialogu identifikace</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Zobrazit pole</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Subset</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Tvorba dotazů</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Prostorový index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Vytvořit prostorový index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Vytvořit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Popisky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Zobrazit popisky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Akce</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Použít</translation>
+        <translation type="obsolete">Použít</translation>
     </message>
 </context>
 <context>
@@ -18748,7 +19219,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Přidat WFS vrstvu</translation>
     </message>
@@ -18756,29 +19227,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation> Jste si jisti, že si přejete odstranit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation> spojení a všechy související nastavení?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Potvrdit odstranění</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Ano</translation>
+        <translation type="obsolete">Ano</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Ne</translation>
+        <translation type="obsolete">Ne</translation>
     </message>
 </context>
 <context>
@@ -18789,59 +19260,59 @@
         <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Spojení se serverem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Nové</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Odstranit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Editovat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>&amp;Připojit</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Nápověda</translation>
+        <translation type="obsolete">Nápověda</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>&amp;Přidat</translation>
+        <translation type="obsolete">&amp;Přidat</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>&amp;Zavřít</translation>
+        <translation type="obsolete">&amp;Zavřít</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
@@ -18877,283 +19348,283 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Vlastnosti serveru:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Vlastnost</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>Verze WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titulek</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Abstrakt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Klíčová slova</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Online zdroj</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Kontaktní osoba</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Poplatky</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Omezení přístupu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Formát obrazových dat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Počet vrstev</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation> Vlastnosti vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Vybrané</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Ano</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Ne</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Viditelnost</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Viditelné</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Skryté</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Dostupné v CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Dostupné ve stylu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation> Použitá URL:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>Výjimka HTTP</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>Výjimka služby WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>Výjimka DOM</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Nemohu zjistit možnosti WMS: %1 na řadce %2 sloupce %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Nastalo pravděpodobně v důsledku nekorektní WMS server URL.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Nemohu zjistit možnosti WMS v očekávaním formátu (DTD): nenalezeno %1 nebo %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Nemoho zjistit výjimku služby WMS na %1: %2 na řádce %3 sloupce %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Požadavek obsahuje Formát, který není nabízen serverem.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Požadavek obsahuje CRS, které není nabízeno serverem pro jedno nebo více Vrstev.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Požadavek obsahuje SRS, které není nabízeno serverem pro jednu či více Vrstev.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>Požadavek GetMap pro vrstvu není nabízen serverem nebo požadavek GetFeatureInfo pro Vrstvu není zobrazen v mapě.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Požadavek pro Vrsvu ve Stylu není nabízen serverem.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>Požadavek GetFeatureInfo nelze aplikovat na Vrstvu, která není výslovně dotazovatelná.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>Požadavek GetFeatureInfo obsahuje neplatné hodnoty X nebo Y.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>Hodnota (volitelného) parametru UpdateSequence v požadavku GetCapabilities odpovídá aktuální hodnotě &quot;service metadata update sequence number&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>Hodnota (volitelného) parametru UpdateSequence v požadavku GetCapabities je větší než aktuální hodnota &quot;service metadata update sequence number&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Požadavek neobsahuje hodnotu &quot;sample dimension&quot;, server nenabízí žádnou výchozí hodnotu pro tento rozměr.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Požadavek neobsahuje platnou hodnotu &quot;sample dimension&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Požadavek pro volitelnou operaci, která není podporována serverem.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Neznámá chyba ze strany post-1.3 serveru WMS)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation> Prodejce WMS také uvádí:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>  Toto nastalo pravděpodobně v souvislosti s chybou v programu QGIS. Tuto chybu prosím oznamte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Rozpoznat formáty</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Mohu rozpoznat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Může být rozpoznán</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Může být zvětšen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Kaskádový počet</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Pevná šířka</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Pevná výška</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>Okrajový rámec WGS84</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -19172,16 +19643,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS šablona zásuvného modulu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Šablona zásuvného modulu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS šablona zásuvného modulu</translation>
+        <translation type="obsolete">QGIS šablona zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Šablona zásuvného modulu</translation>
+        <translation type="obsolete">Šablona zásuvného modulu</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -19202,33 +19754,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušit</translation>
+        <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Vítejte v automaticky generovatelném zásuvném modulu!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je pouze uvodní krok. Nyní potřebujete upravit zdrojový kód, tak aby prováděl něco užitečného ... pro bližší informace jak začít, čtěte dál.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Dokumentace:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Nyní skutečně si potřebujete prostudovat dokumentaci QGIS API:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Obzvlaště věnujte svoji pozornosti následujícím třídám:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;pstyle=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is abstraktní bázovou třídou (ABC), která určuje, jaké prvky QGIS jsou veřejně přístupné třetím stranám a zásuvným modulům. QgisInterface je konktrétní implementací ABC. Preferovaným způsobem jak provádět operace v QGIS je právě přes QGisInterface. Instance QgisInterface je předána zásuvnému modulu při jeho nahrávání. Prosím kontaktujte vývojovým tým QGIS pokud postrádáte nějakou fuknci v QGisInterface, kterou nenabízí.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin je  ABC, která definuje požadované chování vašeho zásuvného modulu. Bližší informace níže.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;K čemu jsou všechy soubory, které byly vytvořeny v adresáři mého zásuvného modulu?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jde o specifikaci vytvořeného Makefile pro váš zásuvný modul. Můžete si ověřit , že určuje cestu k hlavičkám c++ (-I) a knihovnám (-l) jako je Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui a QGis Raster. Měli byste přidat do Makefile specifické závislosti vaší aplikace a její zdrojové soubory.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tato třída slouží jako jakýsi spojovací článek mezi vaši aplikací a aplikací QGIS. Řada metod byla již implementována - včetně některých příkladů, jak přidávat rastrové nebo vektorové vrstvy do hlavního mapového okna. Tato třída je konkrétní instancí rozhraní QgisPlugin, které určuje požadované chování zásuvného modulu. Zásuvný modul obsahuje především řadu statických metod a členů, tak aby QgsPluginManager a zavaděč zásuvného modulu mohl být identifikován pro každý zásuvný modul, vytvořit odpovídací položky menu, atd. Za poznámku stojí fakt, že vás nic neomezuje při vytváření rozmanitých lišt a položek menu pro samostný zásuvný modul. Je standardně vytvořena přes položku menu nebo tlačítko na liště nástrojů a přednastavena pro volání metody call() ve třídě, kde je vybrána. Tato výchozí implementace vám nabízí dobře dokumentovaného tvůrce zásuvného modulu, pro další nápovědu lze odkázat na jeho kód.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jde o abstraktní bázovou třídu implementovanou dle Qt4 jako soubor &apos;ui&apos; Qt designeru. Definuje náhled na výchozí dialog zásuvného modulu bez implementace samotné aplikace. Tento dialog můžete modifikovat dle vašich potřeb nebo jej zcela odstranit, pokud váš zásuvný modul nevyžaduje žádné dialogové okno (např. pro rozličné MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jedná se konkrétní třídu, kde by měla být obsažen kód aplikace výše zmíněného dialogového okna. Hmmmm....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Jedná se o Qt4 zdrojový soubor vašeho zásuvného modulu. Vygenerovaný Makefile nastavil vše potřebné pro pro kompilaci zdrojových kódů vašeho zásuvného modulu, jediné co potřebujete je přidat vaše dodatečné ikony, atd. a to pomocí jednoduchého souboru ve formátu xml. Poznamenejme prostor jmen použitého ve všech vašich zdrojových textech např. (&quot;:/[pluginname]/&quot;). Důležité je použít tento prefix ve všech vašich zdrojových textech. Doporučujeme vložit také všechy potřebné obrázky.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Jedná se o ikonu vašeho zásuvného modulu, která bude použita pro položku menu či lištu nástrojů. Jednoduše nahraďte tuto ikonu vámi požadovanou.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento soubor obsahuje dokumentaci, kterou právě čtete!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Pomoc vývojářů:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Otázky či komentáře ohledně šablony tvůrce zásuvného modulu a přidávání funkcí do QGISu pomocí rozhraní zásuvného modulu směřujte na:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS je distrubuován pod Všeobecnou licencí GNU (GNU Public License). Pokud vytvoříte použitelný modul, prosím zvašte jeho využití komunitou.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Hodně zábavy a děkujeme za používání QGISu.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;QGIS komunita&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Vítejte v automaticky generovatelném zásuvném modulu!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je pouze uvodní krok. Nyní potřebujete upravit zdrojový kód, tak aby prováděl něco užitečného ... pro bližší informace jak začít, čtěte dál.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Dokumentace:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Nyní skutečně si potřebujete prostudovat dokumentaci QGIS API:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Obzvlaště věnujte svoji pozornosti následujícím třídám:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;pstyle=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is abstraktní bázovou třídou (ABC), která určuje, jaké prvky QGIS jsou veřejně přístupné třetím stranám a zásuvným modulům. QgisInterface je konktrétní implementací ABC. Preferovaným způsobem jak provádět operace v QGIS je právě přes QGisInterface. Instance QgisInterface je předána zásuvnému modulu při jeho nahrávání. Prosím kontaktujte vývojovým tým QGIS pokud postrádáte nějakou fuknci v QGisInterface, kterou nenabízí.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin je  ABC, která definuje požadované chování vašeho zásuvného modulu. Bližší informace níže.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;K čemu jsou všechy soubory, které byly vytvořeny v adresáři mého zásuvného modulu?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jde o specifikaci vytvořeného Makefile pro váš zásuvný modul. Můžete si ověřit , že určuje cestu k hlavičkám c++ (-I) a knihovnám (-l) jako je Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui a QGis Raster. Měli byste přidat do Makefile specifické závislosti vaší aplikace a její zdrojové soubory.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tato třída slouží jako jakýsi spojovací článek mezi vaši aplikací a aplikací QGIS. Řada metod byla již implementována - včetně některých příkladů, jak přidávat rastrové nebo vektorové vrstvy do hlavního mapového okna. Tato třída je konkrétní instancí rozhraní QgisPlugin, které určuje požadované chování zásuvného modulu. Zásuvný modul obsahuje především řadu statických metod a členů, tak aby QgsPluginManager a zavaděč zásuvného modulu mohl být identifikován pro každý zásuvný modul, vytvořit odpovídací položky menu, atd. Za poznámku stojí fakt, že vás nic neomezuje při vytváření rozmanitých lišt a položek menu pro samostný zásuvný modul. Je standardně vytvořena přes položku menu nebo tlačítko na liště nástrojů a přednastavena pro volání metody call() ve třídě, kde je vybrána. Tato výchozí implementace vám nabízí dobře dokumentovaného tvůrce zásuvného modulu, pro další nápovědu lze odkázat na jeho kód.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jde o abstraktní bázovou třídu implementovanou dle Qt4 jako soubor &apos;ui&apos; Qt designeru. Definuje náhled na výchozí dialog zásuvného modulu bez implementace samotné aplikace. Tento dialog můžete modifikovat dle vašich potřeb nebo jej zcela odstranit, pokud váš zásuvný modul nevyžaduje žádné dialogové okno (např. pro rozličné MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Jedná se konkrétní třídu, kde by měla být obsažen kód aplikace výše zmíněného dialogového okna. Hmmmm....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Jedná se o Qt4 zdrojový soubor vašeho zásuvného modulu. Vygenerovaný Makefile nastavil vše potřebné pro pro kompilaci zdrojových kódů vašeho zásuvného modulu, jediné co potřebujete je přidat vaše dodatečné ikony, atd. a to pomocí jednoduchého souboru ve formátu xml. Poznamenejme prostor jmen použitého ve všech vašich zdrojových textech např. (&quot;:/[pluginname]/&quot;). Důležité je použít tento prefix ve všech vašich zdrojových textech. Doporučujeme vložit také všechy potřebné obrázky.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Jedná se o ikonu vašeho zásuvného modulu, která bude použita pro položku menu či lištu nástrojů. Jednoduše nahraďte tuto ikonu vámi požadovanou.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento soubor obsahuje dokumentaci, kterou právě čtete!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Pomoc vývojářů:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Otázky či komentáře ohledně šablony tvůrce zásuvného modulu a přidávání funkcí do QGISu pomocí rozhraní zásuvného modulu směřujte na:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS je distrubuován pod Všeobecnou licencí GNU (GNU Public License). Pokud vytvoříte použitelný modul, prosím zvašte jeho využití komunitou.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Hodně zábavy a děkujeme za používání QGISu.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;QGIS komunita&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Zem. šířka:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Zem. délka:</translation>
+    </message>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Nahradit toto krátkým popisem toho co tento plugin dělá</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_de.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_de.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_de.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1">
+<!DOCTYPE TS><TS version="1.1" language="de">
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR Driver Manager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>Kann den OGRDriverManager nicht öffnen.</translation>
     </message>
@@ -16,409 +16,324 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Kartenkoordinaten eingeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Abbrechen</translation>
     </message>
-</context>
-<context>
-    <name>NavigationGui</name>
     <message>
-        <location filename="" line="7471221"/>
-        <source>GPS</source>
-        <translation type="obsolete">GPS</translation>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation>Klicken Sie auf den &apos;aus Karte&apos; Knopf und wählen Sie dann den korrespondierenden Punkt in der Hauptkarte per Klick aus, um die Koordinaten von dort zu übernehmen. Alternativ, können Sie die Koordinaten auch manuell eingeben.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Routing</source>
-        <translation type="obsolete">Routing</translation>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation>aus Karte</translation>
     </message>
+</context>
+<context>
+    <name>NavigationGui</name>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Navigation plugin settings</source>
-        <translation type="obsolete">Einstellungen des Navigations-Plugins</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>This plugin uses &apos;gpsd&apos; (GPS daemon) for acquiring your current position. Please select the option which suits best your needs:</source>
-        <translation type="obsolete">Dieses Plugin benutzt desn &apos;gpsd&apos; (GPS Dämon) um die aktuelle Position herauszufinden. Bitte wählen Sie die Option, die am besten zu Ihren Bedürfnissen passt:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>GPS daemon already runs</source>
-        <translation type="obsolete">GPS-Dämon läuft bereits</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Simulate GPS using &apos;gpsfake&apos;</source>
-        <translation type="obsolete">GPS mit &apos;gpsfake&apos; simulieren</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen....</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Log file to play:</source>
-        <translation type="obsolete">Logdatei zum abspielen:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Playback speed:</source>
-        <translation type="obsolete">Abspielgeschwindigkeit</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Start &apos;gpsd&apos; daemon</source>
-        <translation type="obsolete">gpsd-Dämon starten</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Input defice for &apos;gpsd&apos;</source>
-        <translation type="obsolete">Eingabedefizit für &apos;gpsd&apos;</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>/dev/ttyS0</source>
-        <translation type="obsolete">/dev/ttyS0</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>/dev/ttyS1</source>
-        <translation type="obsolete">/dev/ttyS1</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>/dev/ttyS2</source>
-        <translation type="obsolete">/dev/ttyS2</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>/dev/ttyS3</source>
-        <translation type="obsolete">/dev/ttyS3</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Start</source>
-        <translation type="obsolete">Start</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
         <source>Stop</source>
         <translation type="obsolete">Stop</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>GPSD connection:</source>
-        <translation type="obsolete">GPSD Verbindung:</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>To enable routing support you must specify a vector layer that will be used as the roadmap.</source>
-        <translation type="obsolete">Um Routing-Unterstützung einzuschalten, müssen Sie eine Vektorebene als Straßenkarte definieren.</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Vector layer for roadmap:</source>
-        <translation type="obsolete">Vektor für Straßenkarte:</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Optional additional settings for better routing:</source>
-        <translation type="obsolete">Weitere optionale Einstellung für besseres Routing:</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Support for road classification</source>
-        <translation type="obsolete">Unterstützung für Straßenklassifikation</translation>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
     </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Field containing the classification:</source>
-        <translation type="obsolete">Spalte die die Klassifikation enthält:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Support for one-way roads</source>
-        <translation type="obsolete">Einbahnstraßenunterstützung</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Field with information about direction:</source>
-        <translation type="obsolete">Spalte mit den Informationen über die Richting:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Status</source>
-        <translation type="obsolete">Status</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Compute routing data</source>
-        <translation type="obsolete">Berechne die Routing-Daten</translation>
-    </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Keine Datenlieferanten</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Keine Datenlieferanten Plugins</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Es können keine Vektorebenen geladen werden. Bitte QGIS Installation überprüfen</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Keine Datenlieferanten Plugins verfügbar. Es können keine Vektorebenen geladen werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS Dateien (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>OGR Vektorebene öffnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>bei Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>Kolonne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>Für Datei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Datei kann nicht gespeichert werden</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Reguläre Ausdrücke bei numerischen Werte machen keinen Sinn. Bitte benutzen Sie Vergleichsoperatoren.</translation>
+        <translation type="obsolete">Reguläre Ausdrücke bei numerischen Werte machen keinen Sinn. Bitte benutzen Sie Vergleichsoperatoren.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Die Referenzspalte würde nicht gefunden:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Geteilt durch zero.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Keine aktive Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Um Eigenschaften zu identifizieren, muß eine Ebene, durch anklicken des Namens in der Legende, aktiviert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>Aktion</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> Objekte gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 Objekt gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Keine Eigenschaften gefunden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Keine Eigenschaften in der aktiven Ebene am gewählten Punkt gefunden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Konnte Objekte nicht identifizieren auf</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>weil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
+        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="obsolete">Um Eigenschaften auszuwählen, muß eine Ebene, durch anklicken des Namens in der Legende, aktiviert werden</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Neues Zentroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Neuer Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Neuer Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Undo letzter Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Linie schliessen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Vertex selektieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Selektiere neue Position</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Liniensegment selektieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Neue Vertexposition</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Freigeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Lösche Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Vertex freigeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Element selektieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Neuer Ort</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Selektierte freigeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Selektion löschen/ nächstes selektieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Position auf Linie selektieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Linie auftrennen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Linie freigeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Punkt in der Mitte selektieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Länge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Fläche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Konnte das Segment nicht schnappen. Haben Sie die Schnappdistanz unter Einstellungen -&gt; Projekteigenschaften -&gt; Allgemein eingestellt?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Konnten den Vertex nicht schnappen. Haben Sie die Schnappdistanz unter Einstellungen -&gt; Projekteigenschaften-&gt; Allgemeines eingestellt?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Fehler beim Lesen der Projektionsdatei:</translation>
     </message>
@@ -433,37 +348,37 @@
         <translation>Anpassung an eine lineare Transformation benötigt mindestens 2 Punkte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Eine Helmert-Transformation benötigt mindestens 2 Punkte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Anpassung an eine affine Transformation benötigt mindestens 4 Punkte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>Kann die Datenquelle nicht öffnen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Interpretationsfehler in Linie</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>GPS eXchange Format Provider</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Ein Problem beim Versuch einer Koordinatentransformation eines Punktes aus. Konnte daher die Linienlänge nicht berechnen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Ein Problem beim Versuch einer Koordinatentransformation eines Punktes aus. Konnte daher die Fläches des Polygons nicht berechnen.</translation>
     </message>
@@ -489,12 +404,12 @@
         <translation>GRASS-Daten können nicht benutzt werden, wenn keine GISBASE definiert ist.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation>CopyrightLabel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation>Zeigt Copyright Informationen</translation>
     </message>
@@ -539,12 +454,12 @@
         <translation>Werkzeuge zum Laden und Importieren von GPS-Daten.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation>GRASS-Ebene</translation>
     </message>
@@ -559,32 +474,32 @@
         <translation>Erstellt ein Gradnetz</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation>Nordpfeil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation>Stelle einen Nordpfeil auf der Kartendarstellung dar.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation>[menuitemname]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation>[plugindescription]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation>Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation>Zeichnet einen Maßstab</translation>
     </message>
@@ -614,220 +529,269 @@
         <translation>Version 0.0001</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
         <source>Not a vector layer</source>
-        <translation>Keine Vektorebene</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
         <source>The current layer is not a vector layer</source>
-        <translation>Die aktuelle Ebene ist keine Vektorebene</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
         <source>Layer cannot be added to</source>
-        <translation type="obsolete">Die Ebene kann nicht hinzugefügt werden zu</translation>
+        <translation type="unfinished">Die Ebene kann nicht hinzugefügt werden zu</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="obsolete">Der Datenprovider dieser Ebene unterstützt das Hinzufügen von neuen Objekten nicht.</translation>
+        <translation type="unfinished">Der Datenprovider dieser Ebene unterstützt das Hinzufügen von neuen Objekten nicht.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
         <source>Layer not editable</source>
-        <translation>Die Ebene kann nicht editiert werden</translation>
+        <translation type="unfinished">Die Ebene kann nicht editiert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
         <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
-        <translation>Kann die Vektorebene nicht editieren. Um die Ebene editierbar zu machen, wählen Sie im Kontextmenü der Ebene in der Legende den Punkt &apos;Editieren erlauben&apos;.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
         <source>Wrong editing tool</source>
-        <translation>Falsches Editierwerkzeug</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
         <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation>Kann das Werkzeug &apos;Punkte digitalisieren&apos; nicht auf diese Vektorebene anwenden</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation>Kann das Werkzeug &apos;Linie digitalisieren&apos; nicht auf diese Vektorebene anwenden</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation>Kann das Werkzeug &apos;Polygon digitalisieren&apos; nicht auf diese Vektorebene anwenden</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
-        <translation type="obsolete">Um Objekte zu selektieren muss ein Vektor in der Legende mit einem Klick auf den Namen ausgewählt werden.</translation>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
         <source>Error</source>
-        <translation>Fehler</translation>
+        <translation type="unfinished">Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation>Geometrie wechseln</translation>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation>Dateprovider der aktuellen Ebene erlaubt das Verändern von Geometrien nicht.</translation>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation>Kann die Vektorebene nicht editieren. Benutzen Sie &apos;Bearbeitung starten&apos; im Legendenkontextmenü der Ebene.</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Python error</source>
-        <translation type="obsolete">Python Fehler</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Couldn&apos;t load SIP module.
-Python support will be disabled.</source>
-        <translation type="obsolete">Kann SIP-Modul nicht laden. Python-Unterstützung wird deaktiviert.</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Couldn&apos;t load PyQt bindings.
-Python support will be disabled.</source>
-        <translation type="obsolete">Kann PyQt-Anbindung nicht laden. Python-Unterstützung wird deaktiviert</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Couldn&apos;t load QGIS bindings.
-Python support will be disabled.</source>
-        <translation type="obsolete">Kann QGIS-Anbindung nicht laden. Python-Unterstützung wird deaktiviert.</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Couldn&apos;t load plugin due this error:
-</source>
-        <translation type="obsolete">Kann Plugin wegen des folgenden Fehlers nicht laden:</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Couldn&apos;t load plugin </source>
-        <translation type="obsolete">Kann Plugin </translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source> due an error when calling its classFactory() method</source>
-        <translation type="obsolete"> wegen einem Fehler beim Aufruf der classFactory()-Methode nicht laden.</translation>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source> due an error when calling its initGui() method</source>
-        <translation type="obsolete"> wegen einem Fehler beim Aufruf der inirGui()-Methode nicht laden.</translation>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Error while unloading plugin </source>
-        <translation type="obsolete">Fehler beim Entladen des Plugins </translation>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
-        <translation> km2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
-        <translation> ha</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
-        <translation> m2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
-        <translation> m</translation>
+        <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
-        <translation> km</translation>
+        <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
-        <translation> mm</translation>
+        <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
-        <translation> cm</translation>
+        <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
-        <translation> Quadratmeilen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
-        <translation>Quadratfuß</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
-        <translation> Meilen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
-        <translation> Fuß</translation>
+        <translation type="unfinished">Fuss</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
-        <translation> Fuß</translation>
+        <translation type="unfinished">Fuß</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
-        <translation> Grad</translation>
+        <translation type="unfinished">Grad</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
-        <translation> Grad</translation>
+        <translation type="unfinished">Grad</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
-        <translation> unbekannt</translation>
+        <translation type="unfinished">unbekannt</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>PostgresSQL Geoprocessing</source>
-        <translation type="obsolete">PostgresSQL Geoprozessierung</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
-        <translation type="obsolete">Geoprozessierung für PostgreSQL/PostGIS-Ebenen</translation>
-    </message>
-    <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
         <source>Received %1 of %2 bytes</source>
         <translation type="unfinished"></translation>
@@ -873,224 +837,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
-        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Zeilen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Punkte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabelle</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1110,52 +1079,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1163,1479 +1132,1529 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>mit PostgreSQL Unterstützung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(keine PostgreSQL Unterstützung)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Verfügbare Datenlieferanten Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>ist keine zulässige oder erkannte Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Ungültige Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Keine Ebene gewählt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
+        <source>To open an attribute table, you must select a layer in the legend</source>
+        <translation type="obsolete">Um eine Attributtabelle zu öffnen, muß eine Ebene in der Legende gewählt sein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Keine Kartenebenen Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Keine Kartenebenen Plugins in ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Keine Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Keine Plugins in ../plugins gefunden. Um Plugins zu testen, qgis aus dem src Verzeichnis starten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 heißt %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Plugin Informationen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis hat die follgen Plugins geladen:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Name: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Version: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Beschreibung: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Laden des Plugin nicht möglich</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS konnte das Plugin nicht laden von : %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Eine neue Version von QGIS ist verfügbar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Sie verwenden eine Entwicklungsversion von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Sie verwenden die aktuelle Version von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Wollen Sie mehr Information?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>QGIS Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Kann Informationen zu aktuellen Version nicht vom Server holen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Verbunging abgelehnt - Server wahrschinlich offline</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS Server nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Ungültige Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 ist eine ungültige Ebene und kann nicht geladen werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Fehler beim Laden des Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Es trat ein Fehler auf beim Laden von %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Speichere Kartenbild nach</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Wähle einen Dateinamen zum Speichern des Kartebildes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Ausmasse:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problem beim Löschen der Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Beim Löschen der Objekte ist ein Problem aufgetreten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Es wurde keine Vektorebene selektiert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Löschen von Objekten ist nur in Vektorebenen möglich</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Um Objekte zu löschen, muss eine Vektorebene in der Legende selektiert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS ist unter der GNU General Public License lizenziert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Die Legende, welche alle Ebenen auf der Karte enthält. Klicke auf die Checkbox, um eine Ebene anzustellen oder auszuschalten. Mit einem Doppelklick in der Legende kann die Erscheinung und sonstige Eigenschaften einer Ebene gesetzt werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Übersichtsfenster. Dieses Fenster kann benutzt werden um die momentane Ausdehnung des Kartenfensters darzustellen. Der momentane Ausschnitt ist als rotes Rechteck dargestellt. Jede Ebene in der Karte kann zum Übersichtsfenster hinzugefügt werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Kartenfenster. Dies ist der Ort wo Raster- und Vektorebenen dargestellt werden sobald sie hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Fortschrittsbalken. Er zeigt den Zustand von zeitintensiven Aktionen an</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Zeigt den momentanen Kartenmassstab an</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Zeigt die Koordinaten an der momentanen Cursorposition. Die Anzeige wird regelmässig angepasst wenn die Maus bewegt wird.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Wenn angewählt werden die Kartenebenen, abhängig von der Bedienung der Navigationsinstrumente, gezeichnet. Wenn die Checkbox leer ist, werden die Ebenen nicht gezeichnet. Dies erlaubt es, eine grosse Anzahl Ebenen hinzuzufügen und das Aussehen der Ebenen vor dem Zeichnen zu setzen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Eine QGIS Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Projekt kann nicht gespeichert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Projekt kann nicht gespeichert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Zeichnen der Karte einschalten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Dieses Icon zeigt an, ob Projektion zur Laufzeit eingeschaltet ist. Ein Klick auf das Icon zeigt den Projekteigenschaften Dialog, in welchem dieses Verhalten geändert werden kann.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Projekction Status - Ein Mausklick öffnet den Projektionendialog</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Map Composer um Kartenlayouts zu erstellen</translation>
+        <translation>Map Composer um Kartenlayouts zu erstellen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Öffnen einer OGR Vektordatenebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Fehler beim Lesen des QGIS Projektes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Versuch, fehlende Ebenen zu finden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Öffnen einer GDAL Rasterdatenquelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Speichern als</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>QGIS Projektdatei zum öffnen wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Projekt wurde gespeichert in:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Browserauswahl</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Geben Sie den Namen eines Webbrowsers ein (z.B. Konqueror).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Geben sie den vollen Namen ein, wenn der Browser nicht im PAT ist.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Lese Einstellungen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Richte die Oberfläche ein</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Überprüfe die Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Stelle die geladenen Plugins wieder her</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Initialisiere Dateifilter</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Stelle Fensterstatus wieder her</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS ist startklar!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Neues Projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>Pr&amp;ojekt öffnen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Projekt öffnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Speichere Projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Projekt speichern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Speichere Projekt &amp;als...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Speichere das Projekt unter einem neuen Namen ab.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Drucken...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Drucken</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Speicher Bild als...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Speicher Karte als Bild</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportiere als MapServer Datei...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportiere als MapServer .map-Datei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Beenden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Beende QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Füge eine Vektorebene hinzu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Vektorebene hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Füge eine Rasterebene hinzu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Rasterebene hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Füge eine PostGIS-Ebene hinzu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>PostGIS Ebene hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Neue Vektorebene...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Erzeuge eine neue Vektorebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Ebene löschen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Lösche eine Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Alle zur Übersicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Zeige alle Ebenen in der Übersichtskarte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Alle von Übersicht entfernen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Entferne alle Ebnene aus der Übersichtskarte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Alle Ebenen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Zeige alle Ebenen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Alle ebenen ausblenden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Verstecke alle Ebenen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Projekt Einstellungen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Setze Projekteigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Optionen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Verändere unterschiedliche QGIS-Einstellungen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Eigene Projektionen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Verwalte eigenen Projektionen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Hilfe-Übersicht</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Hilfe-Dokumentation</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>QGIS Heimatseite</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Homepage</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Über QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Überprüfe die QGIS Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Überprüfe, ob Ihre QGIS-Version aktuell ist (benötigt Internetzugang)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Erneuern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Karte neu zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Hinauszoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Volle Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Auf die volle Ausdehnung herauszoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Auf die Auswahl zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Auf die Auswahl zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Karte verschieben</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Karte verschieben</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Zur vorherigen Zoomeinstellung zurückkehren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zur vorherigen Zoomeinstellung zurückkehren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Auf die Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Auf die Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Abfragen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Klicken Sie auf ein Objekt und fragen Sie Informationen ab</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Wähle Objekte aus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Öffne Attributtabelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Messe Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Messe eine Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Messe eine Fläche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Messe eine Fläche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Zeige Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Neues Lesezeichen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Neues Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>WMS Ebene hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>WMS Ebene hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>In Übersicht anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Aktuelle Ebene zur Übersicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Plugin Manager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Öffne den Pluginmanager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Starte die Digitalisierung für die aktuelle Ebene</translation>
+        <translation type="obsolete">Starte die Digitalisierung für die aktuelle Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Stoppe Digitalisierung der aktuellen Ebene</translation>
+        <translation type="obsolete">Stoppe Digitalisierung der aktuellen Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Punkt digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Punkte digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Linie digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Fange Linien</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Polygon digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Fange Polygone</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Ausgewähltes löschen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Knotenpunkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Knotenpunkt löschen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Verschiebe Knotenpunkte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Datei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>Öffne aktuelle Pr&amp;ojekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Ansicht</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Ebenen koordinieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalisierung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Kartennavigation</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Attribute</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Fertig</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Neue Objekte</translation>
+        <translation>Neue Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Kann das Projekt nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Kann das Projekt nicht speichern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Bitte wählen Sie einen Dateinamen, unter dem Sie das Projekt speichern wollen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Kann das Projekt nicht laden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Kann das Projekt nicht laden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Änderungen in SVN seit dem letzten Release</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Sie können diese Option später ändern, indem Sie Optionen aus dem Einstellungen Menü wählen. (Hilfe-Broweser-Reiter).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Ebene ist ungültig</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Die Ebene ist keine gültige Ebene und kann daher nicht zur Karte hinzugefügt werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Speichern?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Inhalt der Zwischenablage setzen auf: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> ist keine gültige Rasterdatenquelle.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> ist kein unterstütztes Rasterdatenformat.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Unbekanntes Datenformat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Bitte geben Sie einen Namen für das Lesenzeichen ein:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Kann das Lesezeichen nicht erstellen. Ihre Datenbank scheint zu fehlen oder ist kaputt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Schneide selektierte Objekte aus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Schneide selektierte Objekte aus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopiere Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopiere selektierte Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Füge Objekte ein</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Füge selektierte Objekte ein</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
+        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Wollen Sie das aktuelle Projekt abspeichern?&lt;p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Alle Werkzeugleisten anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="" line="4"/>
+        <source>S</source>
+        <comment>Show most toolbars</comment>
+        <translation type="obsolete">S</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Alle Werkzeugleisten verstecken</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="" line="4"/>
+        <source>H</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="obsolete">H</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Werkzeugleisten...</translation>
+        <translation type="obsolete">&amp;Werkzeugleisten...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
 Kompiliert gegen QT Version </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation>, läuft mit QT </translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Viele Benutzerinterface-Verbesserungen</translation>
+        <translation>Viele Benutzerinterface-Verbesserungen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Verbessertes Editieren von Vektoren und deren Attributen</translation>
+        <translation>Verbessertes Editieren von Vektoren und deren Attributen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">WMS-Support</translation>
+        <translation>WMS-Support</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Verbessertes Messwerkzeug mit Flächenunterstützung</translation>
+        <translation>Verbessertes Messwerkzeug mit Flächenunterstützung</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Attributsuche</translation>
+        <translation>Attributsuche</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Neue Legendenstruktur</translation>
+        <translation>Neue Legendenstruktur</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Das Überarbeiten der API erlaubt es nun die QGIS-Bibliotheken in anderen Kartenanwendungen zu verwendenn.</translation>
+        <translation>Das Überarbeiten der API erlaubt es nun die QGIS-Bibliotheken in anderen Kartenanwendungen zu verwendenn.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Verbesserter MapServer-Export</translation>
+        <translation>Verbesserter MapServer-Export</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Farbe des Kartenhintergrunds ist einstellbar.</translation>
+        <translation>Farbe des Kartenhintergrunds ist einstellbar.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Transparenz der Vektorlayer</translation>
+        <translation>Transparenz der Vektorlayer</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Antialiasing für Vektorlayer</translation>
+        <translation>Antialiasing für Vektorlayer</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">GRASS-Unterstützung auf allen Plattformen</translation>
+        <translation>GRASS-Unterstützung auf allen Plattformen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Erweiterte GRASS-Unterstützung und Werkzeugkasten-Kommandos</translation>
+        <translation>Erweiterte GRASS-Unterstützung und Werkzeugkasten-Kommandos</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Erweitertes Vektoreditieren inklusive Copy/Paste sowie Schnapp- und Koteneditierfunktionalität</translation>
+        <translation>Erweitertes Vektoreditieren inklusive Copy/Paste sowie Schnapp- und Koteneditierfunktionalität</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Shapefile/OGR-Layer-Editierfunktionalität</translation>
+        <translation>Shapefile/OGR-Layer-Editierfunktionalität</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Option, die nur in der Tabelle geometry_columns nach PostGIS-Ebenen nachschaut.</translation>
+        <translation>Option, die nur in der Tabelle geometry_columns nach PostGIS-Ebenen nachschaut.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation>Es trat ein Netzwerkfehler während der Kommunikation zum Server auf.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation>Unbekannter Netzwerkfehler (Socketfehler)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation>Kann nicht mit dem QGIS Server kommunizieren.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Checking provider plugins</source>
-        <translation type="obsolete">Überprüfe Provider-Plugins</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Starting Python</source>
-        <translation type="obsolete">Starte Python</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
-        <translation>T</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
-        <comment>
-Hide most toolbars</comment>
-        <translation type="obsolete">Ctrl+T</translation>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Python console</source>
-        <translation type="obsolete">Python Konsole</translation>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
-        <translation>Aktueller Kartenmaßstab</translation>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
-        <source>Map coordinates at mouse cursor position</source>
-        <translation>Kartenkoordinaten an der Mausposition</translation>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
         <source>Python error</source>
-        <translation type="obsolete">Pythonfehler</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
         <source>Error when reading metadata of plugin </source>
-        <translation type="obsolete">Fehler beim Lesen der Metadaten des Plugins </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
         <source>Provider does not support deletion</source>
-        <translation type="obsolete">Provider unterstützt keine Löschoperationen</translation>
+        <translation type="unfinished">Provider unterstützt keine Löschoperationen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
         <source>Data provider does not support deleting features</source>
-        <translation type="obsolete">Der Provider hat nicht die Möglichkeit, Objekte zu löschen</translation>
+        <translation type="unfinished">Der Provider hat nicht die Möglichkeit, Objekte zu löschen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
         <source>Layer not editable</source>
-        <translation type="obsolete">Die Ebene kann nicht editiert werden</translation>
+        <translation type="unfinished">Die Ebene kann nicht editiert werden</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="obsolete">Die aktuelle Ebene ist nicht editierbar. Bitte wählen sie &apos;Digitalisierung starten&apos; aus der Digitalisiertoolbarleiste.</translation>
+        <translation type="unfinished">Die aktuelle Ebene ist nicht editierbar. Bitte wählen sie &apos;Digitalisierung starten&apos; aus der Digitalisiertoolbarleiste.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Do you want to save the current project?</source>
-        <translation type="obsolete">Wollen Sie das aktuelle Projekt abspeichern?</translation>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
-        <source>Ctrl+T</source>
-        <comment>Hide most toolbars</comment>
-        <translation type="unfinished">Ctrl+T</translation>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
-        <source>To open an attribute table, you must select a layer in the legend</source>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>No</source>
-        <translation type="unfinished">Nein</translation>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished">Maßstab </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>MainWindow</translation>
     </message>
@@ -2658,62 +2677,62 @@
         <translation>Über Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Was ist neu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Homepage</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Sich für die QGIS-User mailingliste einschreiben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Datenprovider</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Entwickler</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS Entwickler&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Browserauswahl</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -2722,48 +2741,39 @@
 Sie können das jederzeit im Einstellungsmenü unter Optionen ändern.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>QGIS Sponsoren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Die folgenden Personen haben QGIS gesponsert, indem sie dem Projekt Geld für Entwicklungsabreit gespendet haben.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Webseite</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS ist lizensiert unter der GNU General Public License&lt;/p&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS ist lizensiert unter der GNU General Public License&lt;/p&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsoren</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2796,32 +2806,25 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
-        <translation>Name</translation>
+        <translation type="unfinished">Name</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
-        <translation>Aktion</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
-        <translation>Aufzeichnen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
-        <comment>File dialog window title
-</comment>
-        <translation type="obsolete">Aktion auswählen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
-        <source>Select an action</source>
         <comment>File dialog window title</comment>
-        <translation type="unfinished">Aktion auswählen</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2993,7 +2996,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Aktion starten</translation>
     </message>
@@ -3124,126 +3127,127 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>Selektiere</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>Selektiere und schiebe nach oben</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>Nur Treffer zeigen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Fehler im Suchstring.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Suchergebnisse</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Sie haben einen leeren Suchstring eingegeben.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Fehler beim Suchen</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
-            <numerusform>%d Objekte gefunden.</numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Keine Treffer gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
-        <translation>Nameskonlikt</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
-        <translation>Das Attribu konnte nicht eingefügt werden. Der Name existiert bereits in der Tabelle.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
-        <translation>Digitalisieren stoppen</translation>
+        <translation type="unfinished">Digitalisieren stoppen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
-        <translation>Sollen die Änderungen gespeichert werden?</translation>
+        <translation type="unfinished">Sollen die Änderungen gespeichert werden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
-        <translation>Fehler</translation>
+        <translation type="unfinished">Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
-        <translation>Kann die Änderungen nicht abspeichern.</translation>
+        <translation type="unfinished">Kann die Änderungen nicht abspeichern.</translation>
     </message>
 </context>
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Wirklich löschen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Sind Sie sicher, dass sie die löschen wollen </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>Soll das Lesezeichen wirklich gelöscht werden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Fehler beim Löschen eines Lesezeichens</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Das Löschen des </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> Lesezeichens aus der Datenbank ist fehlgeschlagen. Die Datenbank sagte:</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsBookmarksBase</name>
@@ -3311,122 +3315,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Einen Dateinamen zum Speichern des Kartebildes wählen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Einen Dateinahmen zum Speichern der Karte wählen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>um zu lesen/ schreiben</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Fehler beim Drucken</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Kann nicht suchen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Kann die BoundingBox nicht überschreiben</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Kann die BoundingBox nicht finden.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Kann das Format nicht überschreiben.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Kann Übersetzung nicht finden.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Datei Fehler</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Papier passt nicht</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Die ausgewählte Papiergröße passt nicht mit der Auswahl zusammen.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Großes Bild</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Um ein Bild zu erzeugen </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>werden ca. </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB Speicher benötigt.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - Print composer</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Karte 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Kann nicht öffnen </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>SVG Warnung</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Dies Nachricht nicht mehr anzeigen.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die SVG Exportfunktion in Qgis hat derzeit einige Probleme die im QT4 SVG code liegen. Zu bemerken sei, dass derzeit der Text nicht in der SVG-Datei erscheint. Ferner bestehen Probleme mit der Bounding Box und daran angrenzenden Objekten wie Legende oer Maßstabsbalken.&lt;/p&gt;Falls ein vektorbasiertes Layout benötigt wird, versuchen Sie, in PostScript zu drucken, falls das SVG-Ergebnis nicht zufriedenstellend ist.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>SVG Format</translation>
     </message>
@@ -3560,32 +3564,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Ausdehnung (Massstabsberechnung)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Massstab (Ausdenungsberechnung)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Karte %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Rechteck</translation>
     </message>
@@ -3671,22 +3675,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Kann das Bild nicht laden.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Wählen Sie eine Datei</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Bilder (</translation>
     </message>
@@ -3775,37 +3779,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Ebenen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Gruppe</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Kombiniere die ausgewählten Ebenen.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Rechteck</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Legende</translation>
     </message>
@@ -3851,114 +3855,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Benutzerdefiniert</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Hochformat</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Querformat</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Speicher ist zu Ende (Out-of-memory).</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation>QGIS kann die Papiergröße wegen zu wenig Speicher nicht anpassen. Am besten Sie verweden den Mapcomposer nicht mehr, so lange sie QGIS nicht neu gestartet haben.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Kann das Bild nicht laden.</translation>
     </message>
@@ -4009,27 +4013,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Verbindung testen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Verbindung zu </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> war erfolgreich.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Verbindung fehlgeschlagen - Einstellungen überprüfen und erneut versuchen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -4044,32 +4048,32 @@
         <translation>Verbindunginformationen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Benutzername</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Name der neuen Verbindung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Passwort</translation>
     </message>
@@ -4084,40 +4088,40 @@
         <translation>Speichere Passwort</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
-        <source>Create a New PostGIS connection</source>
-        <translation>Erzeuge neue PostGIS Verbindung</translation>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
-        <source>Port</source>
-        <translation>Port</translation>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
-        <source>5432</source>
-        <translation>5432</translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
+        <translation type="obsolete">Hilfe</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation>Erzeuge neue PostGIS Verbindung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Abbrechen</translation>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation>Port</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation>5432</translation>
+    </message>
 </context>
 <context>
     <name>QgsContinuousColorDialogBase</name>
@@ -4155,32 +4159,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>Transformation von</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>mit Fehler:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Das Quell-Referenzsystem (SRS) ist nicht gültig. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Die Koordinaten können nicht reprojiziert werden. Das SRS ist: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Das Zielreferenzsystem (SRS) ist nicht gültig. </translation>
     </message>
@@ -4188,32 +4192,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Unten links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Oben links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Oben rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Unten rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Copyright Label</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Erzeugt ein Copyright-Schild auf dem Kartenbild.</translation>
     </message>
@@ -4276,6 +4280,31 @@
         <translation>Copyrightbeschriftung aktivieren</translation>
     </message>
     <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
@@ -4297,7 +4326,7 @@
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(Beachte: &amp;amp;copy; erzeugt ein Copyrightsymbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="" line="4"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -4315,169 +4344,134 @@
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Projektdefinition löschen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Das Löschen einer Projektdefinition ist nicht umkehrbar. Wirklich löschen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Neu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Benutzerdefinierte Projektion</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Diese proj4 Definition ist ungültig. Bitte vor dem speichern korrigieren.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Diese proj4 Projektionsdefinition ist ungültig. Bitte Sie einen Projektionsnamen an, bevor &apos;speichern&apos; gedrückt wird.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Diese proj4 Projektionsdefinition ist ungültig. Bitte geben sie Parameter an, bevor &apos;speichern&apos; gedrückt wird.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Diese proj4 Projektionsdefinition ist ungültig. Bitte fügen sie einen proj= Ausdruck hinzu, bevor &apos;speichern&apos; gedrückt wird. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Diese proj4 Ellipsoiddefinition ist ungültig. Bitte fügen Sie einen proj= Ausdruck hinzu, bevor &apos;speichern&apos; gedrückt wird. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Diese proj4 Projektionsdefinition ist ungültig.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Northing und Easthing muss in dezimaler Form sein.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Interner Fehler (Quellprojektion ungültig?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Name:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definition der Projektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parameter:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 von 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Neu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Schliessen</translation>
     </message>
@@ -4487,213 +4481,207 @@
         <translation>Definieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Testen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Von WGS84 zur ausgewählten Projektion transformieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Berechnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Projeziertes Koordinatensystem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geographisch/ WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Nord:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Ost:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Hier können Sie Ihre eigenen Projektionen definieren. Sie müssen die Formatdefinition von proj4 einhalten.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Benutzen Sie die Textboxen hierunter                         um Ihre Projektionsdefinition zu testen. Geben Sie eine Koordinate ein, von der der Lat/Long Wert und der transformierte Wert bekannt sind. (Beispielweise durch ablesen auf der Karte) Dann drücken Sie den &apos;Berechnen&apos; Knopf und überprüfen Sie die Genauigkeit des  Ergebnisses.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Sie können Ihre eigene Projektion hier definieren. Die Definition muss zum proj4-Format kompatibel sein.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Benutzen Sie die Textboxen unten um Ihre Porjektionsdefinitionen zu testen. Fügen Sie Koordinaten ein, von denen die Lat/long sowie die Projektionsergebnisse bekannt sind (z.B aus einer Karte lesen). Dann drücken SIe den Berechnen-Knopf und überprüfen, ob die Ergebnisse Ihrer erzeugten Projektionsdefinition akurat und genau sind.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Sind Sie sicher das Sie die Verbindung und</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>alle damit verbunden Einstellungen löschen wollen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Löschen Bestätigen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Tabelle wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Es muß eine Tabelle gewählt werden um eine Ebene hinzuzufügen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Passwort für</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Bitte Passwort eingeben:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Verbindungsfehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Zugriff zur Relation</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>mit sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation>fehlgeschlagen. Die Datenbank sagt:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Punktebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Multi-Punkt Ebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Linienebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Multi-Linienebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Polygonebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Multi-Polygonebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Gemischte Geometrieebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Geometriekollektionsebene</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Warte auf den Ebenentyp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Unbekannter Ebenentyp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Verbindung zu %1 auf %2 ist fehlgeschlagen. Entweder die Datenbank ist abgeschaltet oder Ihre Einstellungen sind falsch. %3 Bitte überprüfen Sie den Benutzernamen und das Passwort und probieren Sie es noch einmal. %4 Die Datenbank sagt folgendes:%5%6.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>No</source>
-        <translation type="unfinished">Nein</translation>
-    </message>
 </context>
 <context>
     <name>QgsDbSourceSelectBase</name>
@@ -4814,7 +4802,7 @@
         <translation>X und Y-Spalten sind unbedingt erforderlich und müssen Koordinaten in dezimalen Einheiten haben.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Getrennter Text</translation>
     </message>
@@ -4827,39 +4815,39 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Kein Ebenenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Es muss ein Ebenenname eingegeben werden bevor die Ebene zur Karte hinzugefügt wird</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Kein Trennzeichen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Es muss ein Trennzeichen eingegeben werden, damit die Datei abgearbeitet werden kann</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Wähle eine Textdatei zum Öffnen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
         <source>Parse</source>
-        <translation type="obsolete">Durchlesen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
         <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
-        <translation type="obsolete">&lt;h1&gt;Beschreibung&lt;/h1&gt;&lt;p&gt;Wählen Sie eine komma-separierte Datei mit x und y-Korrdinaten, die Sie als Punktebene einladen wollen. Dieses Plugin wird Ihnen das abnehmen!&lt;/p&gt;&lt;p&gt;Der Name gibt den Namen der Ebene in der Legende an, das Trennzeichen sollte dem Ihrer Datei entsprechen (z.B. Leerzeichen, Tabulator, Komma). Drücken Sie danach den &apos;Einlesen&apos;-Knopf und wählen Sie die Spalten, die Ihre X- und Y-Koordinaten enthalten.&lt;/p&gt;</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4870,202 +4858,191 @@
         <translation>Erstelle eine Ebene aus einer Textdatendatei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
+        <source>Help on using the plugin</source>
+        <translation type="obsolete">Hilfe zur Verwendung des Plugins</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
+        <source>Opens the Delimited Text Plugin help in your configured browser</source>
+        <translation type="obsolete">Öffne die Hilfe des Textdaten Plugins im konfigurierten Browser</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
+        <source>Parse the header row and update the X and Y field lists</source>
+        <translation type="obsolete">Verarbeite Kopfzeile und erneuere X und Y Feldliste</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
+        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
+        <translation type="obsolete">Verarbeite Kopfzeile der Eingabedatei und erneuere die X und Y Feld Dropdown Liste. Verwende diesen Knopf um die Feldliste zu erneuern wenn das Trennzeichen geändert wurde nachdem die Textdatendatei gewählt wurde.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
+        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
+        <translation type="obsolete">Erzeuge eine Ebene mit den angegebenen Parametern und für sie der Karte hinzu. Der Dialog bleibt offen um das öffnen weiterer Ebenen zu erlauben.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
+        <source>Close the dialog</source>
+        <translation type="obsolete">Dialog schliessen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
+        <source>Close the dialog without adding anything to the map.</source>
+        <translation type="obsolete">Schliesse den Dialog ohne irgendwas der Karte hinzuzufügen.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X Feld&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Benenne das Feld welches die x Werte enthält</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Benenne das Feld welches die x Werte enthält. Wähle ein Feld aus der Liste. Diese wird durch verarbeiten der Kopfzeile der Textdatendatei erzeugt.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y Feld&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Benenne das Feld welches die y Werte enthält</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Benenne das Feld welches die y Werte enthält. Wähle ein Feld aus der Liste. Diese wird durch verarbeiten der Kopfzeile der Textdatendatei erzeugt.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Ebenenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Name der in der Kartenlegende angezeigt wird</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Name welche in der Kartenlegende dargestellt wird</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Trennzeichen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Trennzeichen das zum aufspalten der Felder in der Textdatei verwendet wird. Das Trennzeichen kann mehr als ein Zeichen sein.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Trennzeichen das zum aufspalten der Felder in der Textdatendatei verwendet wird. Das Trennzeichen kann 1 oder mehrere Zeichen lang sein.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Textdatenebene</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Textdatendatei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Vollständiger Pfad zur Textdatendatei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Vollständiger Pfad zur Textdatendatei. Um die Felder in der Datei ordentlich verarbeiten zu können, muß das Trennzeichen vor der Eingabe des Dateinamens definiert sein. Zum Wählen der Eingabedatei den Durchsuchen- Knopf rechts des Feldes verwenden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Durchsuchen zum Finden der zuverarbeitenden Textdatendatei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Verwende diesen Knopf zum Durchsuchen nach dem Ort der Textdatendatei. Dieser Knopf ist nicht aktiv bis ein Trennzeichen in der &lt;i&gt;Trennzeichen&lt;/i&gt; Box eingegeben wurde. Wenn die Datei erst einmal gewählt wurde, werden die X und Y Feld Dropdownboxen mit den Feldern aus der Textdatendatei gefüllt.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
-        <source>Sample text</source>
-        <translation>Beispieltext</translation>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
+        <source>Add layer using the delimiter, file, and x/y fields specified</source>
+        <translation type="obsolete">Füge Ebene mit gewähltem Trennzeichen, Datei und x/y Feldern hinzu</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen...</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
-        <source>Help on using the plugin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
-        <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
+        <translation type="obsolete">&amp;Hilfe</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation type="unfinished">Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&amp;Durchsuchen</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ebene &amp;hinzufügen</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
-        <source>Close the dialog</source>
-        <translation type="unfinished">Dialog schliessen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
-        <source>Close the dialog without adding anything to the map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Schließen</translation>
+        <translation type="obsolete">&amp;Schließen</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation>Beispieltext</translation>
+    </message>
+    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
@@ -5073,151 +5050,164 @@
 &lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
+&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Beschreibung&lt;/span&gt;&lt;/p&gt;
+&lt;p&gt;Wählen Sie eine Textdatei, die X- und Y-Koordinaten enthält. Dieses Plugin erzeugt davon einen Punktlayer! &lt;/p&gt;
+&lt;p&gt;Der Layername wird für die Benennung in der Legende verwendet. Als Trennzeichen muss das in der Datei enthaltenen Trennzeichen angegeben werden (z.B. Leerzeichen, Komma, Tabulator). Nachdem Sie das Trennzeichen angegeben haben, drücken Sie den &apos;Parse&apos;-Knopf und wählen anschließend die Spalten aus, in denen sich die X- und Y-Koordinaten befinden.&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished">Durchsuchen...</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
+        <source>Save layer as...</source>
+        <translation type="obsolete">Ebene speichern als...</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>Beachte: Die folgenden Linien wurden nicht geladen, da QGIS die Werte für die X und Y Koordinaten nicht herausfinden konnte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Error</source>
-        <translation>Fehler</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Shapefiles (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished">Ebene speichern als...</translation>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation type="unfinished">Fehler beim Erzeugen des Feldes</translation>
+        <translation type="obsolete">Fehler beim Erzeugen des Feldes</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Erzeugen des Layers fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Fehler beim Erstellen des Shapfiles</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation type="unfinished">Das Shapefile konnte nicht erstellt werden (</translation>
+        <translation type="obsolete">Das Shapefile konnte nicht erstellt werden (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Treiber nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation type="unfinished"> Treiber ist nicht verfügbar.</translation>
+        <translation type="obsolete"> Treiber ist nicht verfügbar.</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Puffereigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Gepufferte Entfernung in Karteneinheiten:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Tabellenname für die gepufferte Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Erzeuge eindeutige Objekt ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>öffentlich</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Geometriespalte:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>Räumliche Referenz ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Eindeutiges Feld zur Verwendung als Eigenschafts ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Die gepufferte Ebene zur Karte hinzufügen?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Gepufferte Eigenschaften in der Ebene: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsEditReservedWordsBase</name>
@@ -5237,7 +5227,27 @@
         <translation>Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Reservierte Worte</translation>
     </message>
@@ -5252,45 +5262,25 @@
         <translation>Spaltenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Diesses Shapefile enthält reservierte Wörter. Das könnte den Import in PostgreSQL beeinträchtigen. Editieren Sie die Spaltennamen so dass dort keine reservierten Wörter, die auf der rechten Seite aufgelistet sind, mehr vorkommen. (Zum Ändern auf den Spaltennamen klicken). Andere Spalten können natürlich auch geändert werden.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Spaltenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -5460,154 +5450,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;GPS Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>Erstelle neue GPX Ebene</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Erzeugt eine neue GPX-Ebene und zeichnet sie in die Kartendarstellung.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Speicher neue GPX-Datei als...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS eXchange Datei (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Kann die Datei nicht erzeugen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>Kann die GPX-Datei mit dem angegebenen Namen nicht erzeugen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>Bitte probieren Sie es mit einem anderen Namen oder in einem anderen </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>Ordner.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX Lader</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Kann die ausgewählte Datei nicht lesen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Bitte wählen Sie eine gültige Datei aus.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Kann den Prozess nicht starten.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Kann GPSBabel nicht starten!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importiere Daten...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation>Konnte die daten von %1 nicht importieren!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Fehler beim Importieren der Daten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>Dieses Gerät unterstützt den Download </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation>von nicht.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Lade Daten herunter...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation>Konnte die Daten nicht vom GPS-Gerät herunterladen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Fehler beim Herunterladen der Daten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>Dieses Gerät unterstützt das Hochladen von </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Lade Daten hoch...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation>Fehler beim Hochladen der Daten ins GPS!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Fehler beim Hochladen der Daten</translation>
     </message>
@@ -5615,22 +5605,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Bitte wählen Sie einen Dateinamen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS eXchange Format (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Wählen Sie GPX-Datei aus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Selektieren SIe Datei und Format zum Importieren.</translation>
     </message>
@@ -5643,248 +5633,248 @@
         <translation>GPS Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Lade GPX Datei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Datei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Objekttypen:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Wegpunkte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Routen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Spuren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importiere andere Datei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Zu importierende Datei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Objekttyp:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX Ausgabedatei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Ebenenname:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Von GPS herunterladen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Editiere Geräte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS Gerät:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Ausgabedatei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>In GPS hochladen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Datenebene:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange Dateiformat&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, welches Informationen über Wegpunkte, Routen und Tracks enthält.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Wählen Sie eine GPX-Datei und den Typ dieser zum Laden.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX ist das &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange Datenformat&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, welches benutzt wird, die Informationen über Waypoints, Routesn und Tracks abzuspeichern.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Wählen Sie eine GPX-Datei und selektieren dann, welche Typen sie laden wollen.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen...</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS kann nur GPS-Dateien laden, aber mit Hilfe von GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;können viele andere Formate erzeugt werden.&lt;span style=&quot; font-size:10pt;&quot;&gt;). Selbstverständlich benötigen Sie eine Installation von GPSBabel auf Ihrem Rechner, damit QGIS dies auch findet.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Wählen SIe eine GPS-Datei zum Import, den Typ, einen GPX-Dateinamen und einen Namen für die neue Ebene. Alle Formate können nicht Wegpunkte, Routen und Tracks gleichermaßen. Daher kann es sein, dass nicht alle Optionen für alle Dateiformate verfügbar sind.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS kann nur GPX-Dateien laden, aber viele andere Formate könenn in GPX mit Hilfe von GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;) konvertiert werden. Selbstverständlich müssen Sie dazu GPSBabel an einer Selle installiert haben, wo QGIS es finden kann.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Wählen Sie ein GPS-Dateiformat und eine Datei, die sie importieren wollen. Weiterhin müssen Sie eine GPX-Datei, die die Informationen enthalten soll, benennen sowie einen Namen, für den QGIS-Layer. Nicht alle Dateiformate können Informationen über Wegpunkte, Routen und Tracks speichern, sodass bei einigen Dateiformaten einige Typen nicht zur Verfügung stehen können.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Save As...</source>
-        <translation type="obsolete">Speichern unter...</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Dieses Plugin hilft ihnen, Daten von einem GPS-Gerät herunter zu landen. Wählen Sie dazu das GPS-Gerät sowie den Port, an dem es angeschlossen ist, den Tpy, geben Sie einen neuen Namen für den Layer in QGIS und einen Dateinamen für die GPX-Datei ein. Falls Ihre Gerät nicht in der Liste auftaucht, können Sie die Einstellungen noch ändern.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Dieses Werkzeug benötigt GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) um die Daten zu transferieren. Wenn Sie GPSBabel nicht dort installiert haben, wo es QGIS finden kann, wird dieses Tool nicht funktionieren.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Dieses Plugin hilft ihnen, Daten von einem GPS-Gerät herunter zu landen. Wählen Sie dazu das GPS-Gerät sowie den Port, an dem es angeschlossen ist, den Tpy, geben Sie einen neuen Namen für den Layer in QGIS und einen Dateinamen für die GPX-Datei ein. Falls Ihre Gerät nicht in der Liste auftaucht, können Sie die Einstellungen noch ändern.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Dieses Werkzeug benötigt GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) um die Daten zu transferieren. Wenn Sie GPSBabel nicht dort installiert haben, wo es QGIS finden kann, wird dieses Tool nicht funktionieren.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished">Durchsuchen...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Falsche URI - Bitte geben Sie den Featuretype an.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>GPS eXchange Datei</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Warnung: Zugriff auf ungültige Position in QgsGPSProvider::minValue(..) angefragt</translation>
+        <translation type="obsolete">Warnung: Zugriff auf ungültige Position in QgsGPSProvider::minValue(..) angefragt</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Warnung: Zugriff auf ungültige Position in QgsGPSProvider::maxValue(..) angefragt</translation>
+        <translation type="obsolete">Warnung: Zugriff auf ungültige Position in QgsGPSProvider::maxValue(..) angefragt</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitalisiert mit QGIS</translation>
     </message>
@@ -5892,12 +5882,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -5905,75 +5895,75 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
         <source>New Vector Layer</source>
         <translation>Neue Vektorebene</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Attribute:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Kolonne 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
-        <source>File Format:</source>
-        <translation>Dateiformat:</translation>
-    </message>
-    <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
+        <translation type="obsolete">Hilfe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation>Dateiformat:</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Georeferenzierer</translation>
     </message>
@@ -6029,123 +6019,110 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georeferenzierer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Schliessen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Rasterdatei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Weltkoordinaten eingeben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Dieses Plugin erzeugt World-Files für Rasterdateien. Sie wählen Punkte auf der Karte aus, zu denen Sie Weltkoordinaten eingeben. Das Plugin wird dann die World-File-Parameter berechnen. Je mehr Koordinaten Sie eingeben, desto genauer wird das Ergbeniss.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot;margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Beschreibung&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Dieses Plugin erzeugt World-Files für Rasterdateien. Sie wählen Punkte in der Rasterdatei aus, zu denen Sie Weltkoordinaten aus der Hauptkarte übernehmen oder manuell eingeben. Das Plugin berechnet dann die World-File-Parameter. Je mehr Koordinaten Sie eingeben, desto genauer wird das Ergbenis.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
         <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen...</translation>
+        <translation>Durchsuchen...</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Verzerrungsoptionen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Stichprobenmethode:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Linear</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Kubisch</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>0 für Transparanz verwenden falls benötigt</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>abgestuftes Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Klassifizierungsfeld:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Modus:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Anzahl Klassen:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
         <source>Delete class</source>
-        <translation type="obsolete">Klasse löschen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
         <source>Classify</source>
-        <translation type="obsolete">Klassifizieren</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6156,22 +6133,22 @@
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Wert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Feld</translation>
     </message>
@@ -6237,77 +6214,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Füge ausgewählte Ebene der Karte hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopiere die ausgewählte Karte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Benenne die ausgewählte Karte um</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Lösche die ausgewählte Karte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Setze die Region auf die selektierte Karte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Neu zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation>Kann die Karte nicht kopieren.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation>&lt;br&gt; Kommando: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation>Kann die Karte nicht umbenennen </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Lösche Karte &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation>Kann die Karte nicht löschen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>Kann die neue Region nicht schreiben.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6315,256 +6292,256 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Neuer Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Neues Zentroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Lösche Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Links:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Mitte:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Rechts:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Digitalisierwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Neue Zeile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Neue Grenze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Verschiebe Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Füge Vertex hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Verschiebe Element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Unterteile Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Element löschen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Editiere Attribute</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Schliessen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation>Sie sind nicht Besitzer des Mapsets. Folglich kann der Datensatz nicht zum Editieren geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation>Kann die Vekordatei nicht zum Aktualisiern öffnen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Information</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>Die Tabelle wurde erstellt.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Werkzeug ist noch nicht implementiert.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation>Kann den verwaisten Eintrag nicht überprüfen: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>Verwaister Eintrag in der Attributtabelle gefunden. &lt;br&gt; Diesen Eintrag löschen?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation>Kann den verwaisten Eintrag nicht löschen:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation>Kann Tabelle oder Feld nicht beschreiben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Farbe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Länge</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6640,32 +6617,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7079,165 +7056,130 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Los</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Stop</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Use Input Region</source>
-        <translation type="obsolete">Benutze Eingabe-Region</translation>
-    </message>
-    <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
         <source>Module</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished">) nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
 bei Zeile </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7288,7 +7230,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7296,17 +7238,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Datei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7314,22 +7256,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7337,42 +7279,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7380,7 +7322,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7388,7 +7330,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7396,70 +7338,70 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
 bei Zeile </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">Kann die aktuelle Region nicht ermitteln.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished">Kann die Region der Karte nicht überprüfen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7504,7 +7446,7 @@
     <message>
         <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
         <source>Comment</source>
-        <translation type="unfinished">Kommentar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
@@ -7567,7 +7509,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
@@ -7592,130 +7534,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
 bei Zeile </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Neues Mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7876,162 +7818,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Öffne Mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Neues Mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Schliesse Mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Füge GRASS Vektorebene hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Füge GRASS Rasterebene hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Öffne GRASS Toolbox</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Stelle aktuelle GRASS-Region dar.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Bearbeite aktuelle GRASS Region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Bearbeite GRASS Vektorebene</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Fügt eine GRASS Vektorebene zum Kartenbild hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Fügt eine GRASS Rasterebene zum Kartenbild hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Zeichnet die aktuelle GRASS Region als Rechteck über die Karte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Die aktuelle GRASS Region bearbeiten.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Die selektierte GRASS Vektorebene bearbeiten.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation>GrassVektor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation>0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation>GRASS layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8039,22 +7981,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8249,39 +8191,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Warnung</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -8292,79 +8201,74 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation>Module</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation>Browser</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished">) nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
 bei Zeile </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8372,17 +8276,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>Koordinatenlininen &amp;Generator</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Erzeugt ein Gradnetz (Grid) und speichert es in ein Shapefile.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Geographisches Netz</translation>
     </message>
@@ -8395,7 +8299,7 @@
         <translation>QGIS - Grid Maker</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
         <source>Please enter the file name before pressing OK!.</source>
         <translation type="obsolete">Bitte geben Sie einen Dateinamen ein, bevor Sie OK klicken.</translation>
     </message>
@@ -8448,115 +8352,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS Plugin Vorlage</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Gitternetzbuilder</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Breite:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Länge:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Breitengradinterval:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Längengradinterval:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Dieses Plugin hilft Ihnen beim Erstellen eines Kartengitters, welches als Shapefile gespeichert und dann als Ebene über die Karte gelegt werden kann.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Bitte geben Sie alle Einheiten in dezimalen Gradangaben ein.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Ursprung (links unten)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Endpunkt (rechts oben)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Größe der Kästchen (Einheiten in Grad)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Ergebnisdatei (Shape)</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
         <source>Save As...</source>
-        <translation type="obsolete">Speichern unter...</translation>
+        <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8571,12 +8475,12 @@
         <translation>Der Hilfetext konnte nicht aus der Datenbank geholt werden</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>Die QGIS Hilfedatenbank ist nicht installiert</translation>
     </message>
@@ -8661,7 +8565,8 @@
         <source>Network timed out after %1 seconds of inactivity.
 This may be a problem in your network connection or at the WMS server.</source>
         <translation type="unfinished">
-            <numerusform>Netzwerk hatte Timeout nach %1 Sekunden der Inaktivität. Dies könnte auf ein Problem mit Ihrer Netzwerkverbindung oder der des WMS-Servers hindeuten.</numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -8673,27 +8578,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>Anfrageergebnisse - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Aktion starten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(abgeleitet)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
@@ -8997,7 +8902,7 @@
         <translation>Quelle</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="" line="4"/>
         <source>&#xb0;</source>
         <translation type="obsolete">°</translation>
     </message>
@@ -9008,95 +8913,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Schließen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Los</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Ergebnis</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -9117,250 +8933,290 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>Gruppe</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Eigenschaften</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">Auf die Ebenenausdehnung &amp;zoomen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">Zu Übersicht hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">Aus Übersicht entfe&amp;rnen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>&amp;Entfernen</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation>Als Top-Level Objekt &amp;machen</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">Editieren erl&amp;auben</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>Umbe&amp;nennen</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>Gruppe Hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>Alles Ausklapp&amp;en</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>Alles zusammenfalten</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>Zeige Dateigruppen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>No Layer Selected</source>
-        <translation type="obsolete">Keine Ebene gewählt</translation>
+        <location filename="../src/legend/qgslegend.cpp" line="438"/>
+        <source>&amp;Save as shapefile...</source>
+        <translation type="obsolete">&amp;Speichere als Shapefile...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>To open an attribute table, you must select a vector layer in the legend</source>
-        <translation type="obsolete">Um eine Attributtabelle zu öffnen, müssen Sie eine Ebene in der Legende selektiert haben</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Attributtabelle öffnen</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation type="unfinished">&amp;Eigenschaften</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Erlaube Editieren</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation type="unfinished">Auf die Ebenenausdehnung &amp;zoomen.</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Als Shapefile abspeichern...</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Keine Ebene gewählt</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation type="unfinished">Editieren erl&amp;auben</translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsLegendLayer</name>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation type="obsolete">Auf die Ebenenausdehnung &amp;zoomen.</translation>
+        <translation type="unfinished">Auf die Ebenenausdehnung &amp;zoomen.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
         <source>&amp;Show in overview</source>
-        <translation type="obsolete">In Übersicht darstellen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
         <source>&amp;Remove</source>
-        <translation type="obsolete">&amp;Entfernen</translation>
+        <translation type="unfinished">&amp;Entfernen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
         <source>&amp;Open attribute table</source>
-        <translation type="obsolete">&amp;Attributtabelle öffnen</translation>
+        <translation type="unfinished">&amp;Attributtabelle öffnen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>&amp;Allow editing</source>
-        <translation type="obsolete">Editieren erl&amp;auben</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Als Shapefile abspeichern...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
         <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Eigenschaften</translation>
+        <translation type="unfinished">&amp;Eigenschaften</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
         <source>More layers</source>
-        <translation type="obsolete">Mehr Ebenen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
         <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
-        <translation type="obsolete">Dieses Objekt enthält mehrere Ebenen. Das Darstellen von mehreren Ebenen in der Tabelle wird nicht unterstützt.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Not a vector layer</source>
-        <translation type="obsolete">Keine Vektorebene</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Attributtabelle - </translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>To open an attribute table, you must select a vector layer in the legend</source>
-        <translation type="obsolete">Um eine Attributtabelle zu öffnen, müssen Sie eine Vektorebene in der Legende selektieren.</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Ebene speichern als...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Attribute table - </source>
-        <translation type="obsolete">Attributtabelle - </translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Beginnen der Editierung fehlgeschlagen.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Save layer as...</source>
-        <translation type="obsolete">Ebene speichern als...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Der Provider kann nicht zum Editieren geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Driver not found</source>
-        <translation type="obsolete">Treiber nicht gefunden</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Digitalisieren stoppen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>ESRI Shapefile driver is not available</source>
-        <translation type="obsolete">ESRI Shapefiletreiber ist nicht verfügbar</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Sollen die Änderungen gespeichert werden?</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Error creating shapefile</source>
-        <translation type="obsolete">Fehler beim Erstellen des Shapfiles</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="obsolete">Das Shapefile konnte nicht erstellt werden (</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nein</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
         <source>Error</source>
-        <translation type="obsolete">Fehler</translation>
+        <translation type="unfinished">Fehler</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Layer creation failed</source>
-        <translation type="obsolete">Erzeugen der Ebene fehlgeschlagen</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Kann die Änderungen nicht abspeichern.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Saving done</source>
-        <translation type="obsolete">Speichern abgeschlossen</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problem beim Rückgängigmachen (rollback).</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Export to Shapefile has been completed</source>
-        <translation type="obsolete">Export ins Shapefileformat ist beendet</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Start editing failed</source>
-        <translation type="obsolete">Beginnen der Editierung fehlgeschlagen.</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="obsolete">Der Provider kann nicht zum Editieren geöffnet werden.</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Stop editing</source>
-        <translation type="obsolete">Digitalisieren stoppen</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="obsolete">Sollen die Änderungen gespeichert werden?</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Could not commit changes</source>
-        <translation type="obsolete">Kann die Änderungen nicht abspeichern.</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Problems during roll back</source>
-        <translation type="obsolete">Problem beim Rückgängigmachen (rollback).</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Das Shapefile konnte nicht erstellt werden (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation type="obsolete">Auf die Ebenenausdehnung &amp;zoomen.</translation>
+        <translation type="unfinished">Auf die Ebenenausdehnung &amp;zoomen.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
         <source>&amp;Show in overview</source>
-        <translation type="obsolete">In Übersichtskarte anzeigen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
         <source>&amp;Remove</source>
-        <translation type="obsolete">&amp;Entfernen</translation>
+        <translation type="unfinished">&amp;Entfernen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
         <source>&amp;Open attribute table</source>
-        <translation type="obsolete">&amp;Attributtabelle öffnen</translation>
+        <translation type="unfinished">&amp;Attributtabelle öffnen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Allow Editing</source>
-        <translation type="obsolete">Erlaube Editieren</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Als Shapefile abspeichern...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
         <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Eigenschaften</translation>
+        <translation type="unfinished">&amp;Eigenschaften</translation>
     </message>
 </context>
 <context>
@@ -9422,258 +9278,228 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Konnte nicht zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>weil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="431"/>
         <source>Scale </source>
-        <translation>Maßstab </translation>
+        <translation type="obsolete">Maßstab </translation>
     </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&amp;Auf Größe der ausgewählten Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation type="unfinished">&amp;Entfernen</translation>
+        <translation type="obsolete">&amp;Entfernen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation type="unfinished">&amp;Eigenschaften</translation>
+        <translation type="obsolete">&amp;Eigenschaften</translation>
     </message>
+    <message>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
+        <source>Toggle in Overview</source>
+        <translation type="obsolete">In Übersicht einfügen</translation>
+    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Keine Eigenschaften gefunden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Keine Werte wurden innerhalb des Suchradius gefunden. Beachten Sie, dass das Benutzen des Identifiziertools nicht auf noch nicht abgespeicherten Werten funktioniert.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
 </context>
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
-        <source>Overwrite File?</source>
-        <translation>Datei über schreiben?</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
-        <source> exists. 
-Do you want to overwrite it?</source>
-        <translation> exisitert. Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
-        <translation>Name der Map-Datei</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
-        <comment>
-Filter list for selecting files from a dialog box
-</comment>
-        <translation type="obsolete">MapServer map Dateien (*.map);;Alle Dateien(*.*)</translation>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
-        <translation>QGIS Projektdatei auswählen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
-        <comment>
-Filter list for selecting files from a dialog box
-</comment>
-        <translation type="obsolete">QGIS Projektdatei (*.qgs);; Alle Dateien (*.*)</translation>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
-        <translation> existiert. Wollen Sie sie überschreiben?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Nein</translation>
+        <translation type="obsolete">Nein</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
-        <source>MapServer map files (*.map);;All files(*.*)</source>
-        <comment>Filter list for selecting files from a dialog box</comment>
-        <translation type="unfinished">MapServer map Dateien (*.map);;Alle Dateien(*.*)</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
-        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
-        <comment>Filter list for selecting files from a dialog box</comment>
-        <translation type="unfinished">QGIS Projektdatei (*.qgs);; Alle Dateien (*.*)</translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportieren in MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Kartendatei</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Nur LAYER Informationen exportieren</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Karte</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Breite</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>Meilen</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>Inch</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>Kilometer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Einheiten</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Bildtyp</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>benutzerspezifiziert</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -9693,100 +9519,92 @@
         <translation>Präfix wird an die Karten-, Scalebar- und Legenden-GIF-Dateinamen angehängt beim erzeugen dieser Kartendatei. Es sollte kurz gehalten werden.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Web Interface Definition</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Kopfzeile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Fußzeile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Vorlage</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Abbrechen</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Name des Mapfiles, welches aus dem QGIS-Projekt erzeugt werden soll.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Wenn ausgewählt, werden nur die Ebeneninformationen prozessiert.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Pfad zum MapServer Template</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Prefix, der dem Kartebild-, der Legenden- und der Maßstabsgrafik mitgegeben werden soll.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Kompletter Pfad zur QGIS-Projekt-Datei, die in das MapServer Map-Format exportiert werden soll.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>QGIS Projekt-Datei</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
         <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen....</translation>
+        <translation type="unfinished">Durchsuchen...</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
         <source>Save As...</source>
-        <translation type="obsolete">Speichern unter...</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsMarkerDialog</name>
-    <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Verzeichnis wählen</translation>
-    </message>
-</context>
-<context>
     <name>QgsMarkerDialogBase</name>
     <message>
         <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
@@ -9822,35 +9640,20 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segmente (in Meter)</translation>
+        <translation type="obsolete">Segmente (in Meter)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="91"/>
         <source>Incorrect measure results</source>
-        <translation>Falsche Mess-Ergebnisse</translation>
+        <translation type="obsolete">Falsche Mess-Ergebnisse</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="99"/>
         <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation>&lt;p&gt;Diese Karte ist in einem geographischen Koordinatensystem (Lat/Long) definiert, aber die Kartenausdehnung schlägt ein projiziertes Koordinatensystem (z.B. Mercator) vor. Falls dies so ist, werden Ihre Messergebnisse (Länge und Fläche) fehlerhaft sein.&lt;/p&gt;&lt;p&gt;Um dies zu korrigieren, wählen Sie bitte das richtige Koordinatensysten für die zugrunde liegenden Daten aus dem Menü &lt;tt&gt;Einstellungen: Projekt-Einstellungen&lt;/tt&gt; aus.</translation>
+        <translation type="obsolete">&lt;p&gt;Diese Karte ist in einem geographischen Koordinatensystem (Lat/Long) definiert, aber die Kartenausdehnung schlägt ein projiziertes Koordinatensystem (z.B. Mercator) vor. Falls dies so ist, werden Ihre Messergebnisse (Länge und Fläche) fehlerhaft sein.&lt;/p&gt;&lt;p&gt;Um dies zu korrigieren, wählen Sie bitte das richtige Koordinatensysten für die zugrunde liegenden Daten aus dem Menü &lt;tt&gt;Einstellungen: Projekt-Einstellungen&lt;/tt&gt; aus.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation>Segmente (in Fuß)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation>Segmente (in Grad)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation>Segmente</translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9881,6 +9684,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segmente (in Meter)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Falsche Mess-Ergebnisse</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished">&lt;p&gt;Diese Karte ist in einem geographischen Koordinatensystem (Lat/Long) definiert, aber die Kartenausdehnung schlägt ein projiziertes Koordinatensystem (z.B. Mercator) vor. Falls dies so ist, werden Ihre Messergebnisse (Länge und Fläche) fehlerhaft sein.&lt;/p&gt;&lt;p&gt;Um dies zu korrigieren, wählen Sie bitte das richtige Koordinatensysten für die zugrunde liegenden Daten aus dem Menü &lt;tt&gt;Einstellungen: Projekt-Einstellungen&lt;/tt&gt; aus.</translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9975,17 +9814,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Verbindung testen</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Verbindung zu %1 war erfolgreich</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9995,7 +9834,7 @@
 Ausführliche Fehlerinformation:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10209,42 +10048,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Unten links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Oben rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Unten rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Oben links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Nord Pfeil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Erzeugt einen Nordpfeil und stellt ihn in der Karte dar.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorationen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>Nordpfeil nicht gefunden.</translation>
     </message>
@@ -10252,7 +10091,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>Bildchen nicht gefunden.</translation>
     </message>
@@ -10260,105 +10099,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Nordpfeil Plugin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Winkel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Platzierung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Richtung automatisch setzen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Nordpfeil aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Oben links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Oben rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Unten links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Unten rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Platzierung am Bildschirm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Vorschau des Nordpfeils</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Icon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
-        <source>New Item</source>
-        <translation>Neuer Eintrag</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Browse...</source>
-        <translation type="obsolete">Durchsuchen...</translation>
-    </message>
-    <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation>Neuer Eintrag</translation>
+    </message>
+    <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
+        <translation type="obsolete">&amp;Abbrechen</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished">Durchsuchen...</translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -10374,14 +10213,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -10389,227 +10220,242 @@
         <translation>QGIS Optionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
+        <source>&amp;Ok</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Suchradius für die Identifizierung von Objekten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Verstecke Splashscreen beim Start</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Erscheinung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Icon Motiv</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Motiv</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Beachte: &lt;/b&gt;Motivänderungen werden erst beim nächsten Start von QGIS aktiv</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>Hilfe &amp;Browser</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Öffne Hilfedokumentation mit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Darstellung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Anzeige nach dem Lesen erneuern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Kartenanzeige wird erneuert (gezeichnet) nachdem soviele Objekte von der Datenquelle gelesen wurden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>Objekte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Auf 0 setzen bewirkt das die Anzeige erst erneuert wird wenn alle Objekte gelesen wurden)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Anfängliche Sichtbarkeit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Globaler Standard selektieren ...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Projektion erfragen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Standardprojektion des Projektes wird benutzt.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>Firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>Mozilla-Firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Startbildschirm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Standard Kartendarstellung (durch Projekteinstellungen überschrieben).</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Hintergrundfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Selektierungsfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Erscheinung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Setzte Ebenennamen in Kapitälchen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Zeichne die Linien weniger gezackt auf Kosten der Zeichengeschwindigkeit.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Standardmäßig werden alle neuen Ebenen in der Karte angezeigt.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>Aktualisiere während des Zeichnens.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Messwerkzeug</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Ellipsoid zur Distanzberechnung:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Suchradius</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;jektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Wenn eine Ebene ohne Projektionsinformationen geladen wird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>wird die unten aufgeführte globale Standardprojektion benutzt.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Bemerkung:&lt;/b&gt; Der Browser muss im Suchpfad (PATH) liegen oder alternativ mit voller Pfadangabe angegeben werden.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Zeichne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Wenn Sie diese Option auswählen, wird der Knopf &apos;Linien weniger gezackt zeichnen&apos; deselektiert.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Behebe Problem mit falsch gefüllten Polygonen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -10622,85 +10468,70 @@
 &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Kontinuierliches Zeichnen der Karte, wenn der Teiler zwischen Legende und Karte verschoben wird.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>&amp;Kartenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Verschieben und Zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Zoom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Zoomen und mittig zentrieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Nichts</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Zoomfaktor:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Mausrad-Aktion:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
         <source>&amp;General</source>
-        <translation type="obsolete">All&amp;gemein</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
         <source>General</source>
-        <translation type="obsolete">Allgemein</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
         <source>Ask to save project changes when required</source>
-        <translation type="obsolete">Fragen, ob Projektänderungen gespeichert werden sollen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
         <source>Rubberband color:</source>
-        <translation type="obsolete">Farbe des Gummibandes:</translation>
+        <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
-        <source>&amp;Ok</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10865,88 +10696,83 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabelle &lt;b&gt;%1&lt;/b&gt; in Datenbank &lt;b&gt;%2&lt;/b&gt; auf Host &lt;b&gt;%3&lt;/b&gt;, Benutzer &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Verbindung fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Verbindung zur Datenbank fehlgeschlagen:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Datenbankfehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Übertragung der Attributwerte fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Erfrage Resultat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Die where clause gab zurück</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>Reihen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Abfrage fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Während der Ausführung der Abfrage trat ein Fehler auf:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Keine Einträge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Die Abfrage ergab keine Einträge. Gültige PostgreSQL Ebenen müssen mindestens ein Objekt haben.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Konnte keine Beispiele der Werte mit SQL holen:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
-        <translation>Nein Abfragen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
-        <translation>Es muss eine Abfrage erzeugt werden, bevor man diese testen kann.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
-        <translation>Fehler in Abfrage</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11086,17 +10912,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Keine Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Keine QGIS Plugins gefunden in</translation>
     </message>
@@ -11187,7 +11013,7 @@
 <context>
     <name>QgsPointConverterPlugin</name>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="" line="4"/>
         <source>&amp;Convert to point</source>
         <translation type="obsolete">&amp;Konvertiere in Punkte</translation>
     </message>
@@ -11195,140 +11021,140 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Hinauszoomen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Auf die Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Auf die Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Karte verschieben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Karte verschieben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Addiere Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Punkt digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Lösche Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Ausgewahl gelöscht.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Linear</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Bitte einen Namen für das World-File eingeben.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
-        <translation>-modifoziert</translation>
+        <translation type="unfinished">-modifiziert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Eine Helmert-Transform wird den Rasterlayer modifizieren.&lt;/p&gt;&lt;p&gt;Die veränderte Rasterdatei wird in einer neuen Datei mit einem dazu passeneden Worldfile gespeichert.&lt;/p&gt;&lt;p&gt;Sind Sie sicher, dass sie das wollen?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Affin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Nicht implementiert!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Eine Affin-Transformation wird die Original-Rasterdatei verändern. Dies ist noch nicht implementiert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt;Die </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation>Transformation wird noch nicht unterstützt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>Kann nicht </translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
         <source>Currently all modified files will be written in TIFF format.</source>
-        <translation type="obsolete">Derzeit werden alle modifizierten Dateien im TIFF-Format geschrieben.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11394,20 +11220,20 @@
         <translation>World file:</translation>
     </message>
     <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Raster modifizieren:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>Save As...</source>
-        <translation type="obsolete">Speichern unter...</translation>
+        <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -11430,29 +11256,29 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Auf die Relation kann nicht zugegriffen werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Fehler beim Zugriff auf die</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation>Relation. Die Fehlermeldung der Datenbank war:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Keine GEOS Unterstützung!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -11461,12 +11287,12 @@
 Bitte PostGIS mit GEOSunterstützung installieren (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Keine passende Schlüsselspalte in der Tabelle.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -11479,205 +11305,205 @@
 Alternativ kann die oid-Spalte von PostgresSQL benutzt werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Der eindeutige Index der Spalte</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>kann nicht benutzt werden, da QGIS derzeit nur Spalten vom Typ int4 als Schlüssel einer Tabelle akzeptiert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation>und </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation>Der eindeutige Index basierend auf den Spalten </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> ist unbrauchbar, da QGIS derzeit nicht mehrere Spalten als Schlüssel in einer Tabelle unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Kann die Schlüsselspalte nicht finden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation> kommt von </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>und is passend.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation>und ist nicht passend.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation>Typ ist </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> und hat einen passenden Constraint).</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> und kat keinen passenden Constraint).</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Das ausgewählte View hat die folgenden Spalten; keine dieser Spalten erfüllt die obigen Konditionen:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>QGIS benötigt bei Views eine Spalte, die als eindeutige Schlüsselspalte verwendet werden kann. So eine Spalte (meist vom Typ int4) sollte im Datensatz vorhanden sein und als primärer Schlüssel definiert sein. Ferner sollte ein eindeutiger Constraint definiert sein. Ideal ist die von PostgreSQL unterstützte Spalte oid. Um die Geschwindigkeit zu erhöhen, sollte die Spalte auch indiziert sein.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation>Das View </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>hat keine Spalte, die sich als eindeutiger Schlüssel eignet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Keine passende Schlüsselspalte im View</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Unbekannter Geometrietyp.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation>Spalte</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation> in </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation> hat einen Geometrietyp von </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, welche QGIS derzeit nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Die Datenbanklogdatei sagt folgendes:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Kann den Fearture-Typ und die SRID nicht ermitteln.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation>Bemerkung: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>anfänglich schien die Ebene geeignet, allerdings enthält sie keine eindeutigen Daten, insofern nicht geeignet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>INSERT Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Ein Fehler ist während des Einfügens eines Objekts aufgetreten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
+        <source>The sql was:
+
+</source>
+        <translation type="obsolete">Das SQL-Statement war:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
+        <source>SQL error</source>
+        <translation type="obsolete">SQL-Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>DELETE Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Ein Fehler ist beim Löschen von der Festplatte aufgetreten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>PostGIS-Fehler</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">Ein Fehler ist beim Kontaktieren der PostgreSQL-Datenbank aufgetreten.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete">Die PostgreSQL-Datenbank hat zurückgegeben:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation>Versuchen:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation>QGIS konnte den Typ und die SRID der Spalte  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11690,248 +11516,238 @@
         <translation>Projekteigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Karteneinheiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Fuss</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Dezimal Grad</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Default Projekttitel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
+        <source>&amp;Apply</source>
+        <translation type="obsolete">&amp;Anwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Linienbreite:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Einschnapptoleranz:</translation>
+        <translation type="obsolete">Einschnapptoleranz:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Linienfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automatisch</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Setzt automatisch die Anzahl Dezimalstellen in der Mauspositionsanzeige</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Die Anzahl Dezimalstellen, welche beim Anzeigen der Mausposition gebraucht werden, wird automatisch so gesetzt, dass eine Mausbewegung um einen Pixel zu einer Änderung in der Positionsanzeige führt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuell</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Setzt die Anzahl Dezimalstellen für die Mauspositionsanzeige</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Setzt die Anzahl Dezimalstellen für die manuelle Option</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>Dezimalstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Kartenerscheinung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Selektierungsfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Projekttitel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Projektion zur Laufzeit einschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Hintergrundfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalisierung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Beschreibender Projektname</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Linienbreite in Pixel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Schnapp-Toleranz in Karteneinheiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
-        <source>&amp;Apply</source>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID:</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Selektierung der Projektion</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Suchen</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Finden</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>PostGIS SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Räumliches Referenzsystem</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
@@ -11939,399 +11755,398 @@
 <context>
     <name>QgsPythonDialog</name>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
         <source>Python console</source>
-        <translation type="obsolete">Python Konsole</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Um die QGIS Umgebung aus dieser Konsole zu benutzen, nutzen Sie das Objekt &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; aus dem globalen Scope, welches eine Instanz der Klasse QgisInterface ist.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Benutzung z.B:.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:DejaVu Sans Condensed; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:DejaVu Sans Condensed; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>&gt;&gt;&gt;</source>
-        <translation type="obsolete">&gt;&gt;&gt;</translation>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Nicht gesetzt.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Treiber:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensionen:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Bänder:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Ursprung:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Pixelgröße:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Rasterausmaß:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Ausschnittsbereich:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Pyramiden Überblicke:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4065"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Band Statistik (wenn gesammelt):</translation>
+        <translation type="obsolete">Band Statistik (wenn gesammelt):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Eigenschaft</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Band Nr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Keine Statistik</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Noch keine Statistik gesammelt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Minimalwert</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Maximalwert</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Bereich</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Durchschnitt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Summe der Quadrate</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Standardverteilung</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Summe aller Zellen</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Zellenanzahl</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
+        <source>Write access denied</source>
+        <translation type="obsolete">Schreibzugriff verboten</translation>
+    </message>
+    <message>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="obsolete">Schreibzugriff verboten. Dateirechte ändern und erneut versuchen.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Datentyp:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Eight bit unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Sixteen bit unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Sixteen bit signed integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Thirty two bit unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Thirty two bit signed integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Thirty two bit floating point</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Sixty four bit floating point</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Konnte Rasterdatentyp nicht erkennen.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
+        <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparenz&lt;/b&gt;&lt;/center&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Durchschnittliche Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Durchschnitt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Referenzsystem der Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
+        <source>Project Spatial Reference System: </source>
+        <translation type="obsolete">Referenzsystem des Projekts:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>ausserhalb der Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>Null (keine Daten)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
+        <source>Building pyramids failed.</source>
+        <translation type="obsolete">Erstellung von Pyramiden fehlgeschlagen.</translation>
+    </message>
+    <message>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="obsolete">Die Datei ist nicht beschreibbar. Einige Formate können nur gelesen werden aber nicht beschrieben. Sie können auch versuchen, die Zugriffsrechte zu überprüfen und es erneut zu probieren.</translation>
+    </message>
+    <message>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="obsolete">Für diese Art von Raster können keine Pyramiden erstellt werden. </translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Datensatzbeschreibung</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>NODATA Wert</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>und alle anderen Dateien</translation>
     </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
-        <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
-        <source>Write access denied</source>
-        <translation type="unfinished">Schreibzugriff verboten</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
-        <source>Write access denied. Adjust the file permissions and try again.
-
-</source>
-        <translation type="unfinished">Schreibzugriff verboten. Dateirechte ändern und erneut versuchen.
-</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished">Erstellung von Pyramiden fehlgeschlagen.</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished">Die Datei ist nicht beschreibbar. Einige Formate können nur gelesen werden aber nicht beschrieben. Sie können auch versuchen, die Zugriffsrechte zu überprüfen und es erneut zu probieren.</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished">Für diese Art von Raster können keine Pyramiden erstellt werden. </translation>
-    </message>
 </context>
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Bemerkung zu Multiband-Bild&lt;/h3&gt;&lt;p&gt;Dies ist ein Multibandbild. Man kann wählen, es als Grayscale oder Farbe(RGB) anzuzeigen. Für Farbbilder kann man Farben willkürlich zu den Bändern wählen. Zum Beispiel, wenn man ein Siebenband-Landsat-Bild hat, kann man es folgendermassen anzeigen:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Sichtbares Blau (0.45 bis 0.52 Microns) - nicht abgebildet&lt;/li&gt;&lt;li&gt;Sichtbares Grün (0.52 bis 0.60 Microns) - nicht abgebildet&lt;/li&gt;&lt;/li&gt;Sichtbares Rot (0.63 bis 0.69 Microns) - im Bild auf Rot abgebildet&lt;/li&gt;&lt;li&gt;Nahes Infrarot (0.76 bis 0.90 Microns) - im Bild auf Grün abgebildet&lt;/li&gt;&lt;li&gt;Mittleres Infrarot (1.55 bis 1.75 Microns) - nicht abgebildet&lt;/li&gt;&lt;li&gt;Thermales Infrarot (10.4 bis 12.5 Microns) - nicht abgebildet&lt;/li&gt;&lt;li&gt;Mittleres Infrarot (2.08 bis 2.35 Microns) - im Bild auf blau abgebildet&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Bemerkung zu Palettenbild&lt;/h3&gt; &lt;p&gt;Dieses Bild verwendet eine feste Farbpalette. Man kann diese in verschiedenen Kombinationen umabbilden z.B.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rot - blau im Bild&lt;/li&gt;&lt;li&gt;Grün - blau im Bild&lt;/li&gt;&lt;li&gt;Blau - grün im Bild&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Bemerkung zu Graustufenbild&lt;/h3&gt; &lt;p&gt;Man kann diese Graustufen umabbilden auf Pseudofarben durch Verwendung einer automatisch erzeugten Farbabstufung.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Graustufen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudofarben</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Ausgeflippt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Palette</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Nicht gesetzt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Spalten:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Reihen:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>NODATA-Wert:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
         <source>Write access denied</source>
-        <translation type="obsolete">Schreibzugriff verboten</translation>
+        <translation type="unfinished">Schreibzugriff verboten</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation type="obsolete">Schreibzugriff verboten. Dateirechte ändern und erneut versuchen.
+        <translation type="unfinished">Schreibzugriff verboten. Dateirechte ändern und erneut versuchen.
 </translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
         <source>Building pyramids failed.</source>
-        <translation type="obsolete">Erstellung von Pyramiden fehlgeschlagen.</translation>
+        <translation type="unfinished">Erstellung von Pyramiden fehlgeschlagen.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="obsolete">Die Datei ist nicht beschreibbar. Einige Formate können nur gelesen werden aber nicht beschrieben. Sie können auch versuchen, die Zugriffsrechte zu überprüfen und es erneut zu probieren.</translation>
+        <translation type="unfinished">Die Datei ist nicht beschreibbar. Einige Formate können nur gelesen werden aber nicht beschrieben. Sie können auch versuchen, die Zugriffsrechte zu überprüfen und es erneut zu probieren.</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="obsolete">Für diese Art von Raster können keine Pyramiden erstellt werden. </translation>
+        <translation type="unfinished">Für diese Art von Raster können keine Pyramiden erstellt werden. </translation>
     </message>
 </context>
 <context>
@@ -12342,242 +12157,272 @@
         <translation>Rasterebeneneigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
+        <source>&amp;Apply</source>
+        <translation type="obsolete">&amp;Anwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Generell</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Ebenenquelle:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Anzeigename:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legende:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Keine Daten:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Bezeichnungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparenz:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Voll&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Farben invertieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Grün&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Rot&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blau&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Farbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Grau</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Standard Abweichung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Farbpalette</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadaten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pyramiden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Umrechnungsmethode</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Durchschnitt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Erstelle Pyramiden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Pyramidenauflösungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniaturbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Spalten:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Zeilen:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Palette:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maximum Massstab, bei welchem diese Ebene angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimum Massstab, bei welchem diese Ebene angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Optionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Ausserhalb des Wertebereiches OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Approximation erlauben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Diagrammtyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Balkendiagramm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Liniengrafik</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Erneuern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Räumliches Referenzsystem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Wechseln</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Darstellung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Graustufenbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Farbbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -12588,17 +12433,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Skalenabhängige Sichtbarkeit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="771"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
@@ -12606,7 +12451,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Beschreibung&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Hoch aufgelöste Rasterbilder können die Navigation in QGIS verlangsamen. Um die Geschwindigkeit erheblich zu erhöhen, können niedriger aufgelöste Kopien der daten (Pyramiden) erstellt werden. QGIS wählt dann die am besten passende Auflösung für die aktuelle Darstellung aus. Es muss Schreibzugriff für die Daten vorhanden sein, denn die Originaldaten werden mit den Übersichten versehen und müssen neu geschrieben werden. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Bitte beachten Sie, dass das Erstellen von Pyramiden die Originaldatei verändern wird. Sind die Pyramiden einmal erstellt, kann dies nicht rückgängig gemacht werden. &lt;/span&gt;&lt;/p&gt;
@@ -12615,173 +12460,160 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Spaltenanzahl:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
-        <translation>Transparent</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
-        <source>&amp;Apply</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
-        <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Beschreibung&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Hoch aufgelöste Rasterbilder können die Navigation in QGIS verlangsamen. Um die Geschwindigkeit erheblich zu erhöhen, können niedriger aufgelöste Kopien der daten (Pyramiden) erstellt werden. QGIS wählt dann die am besten passende Auflösung für die aktuelle Darstellung aus. Es muss Schreibzugriff für die Daten vorhanden sein, denn die Originaldaten werden mit den Übersichten versehen und müssen neu geschrieben werden. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Bitte beachten Sie, dass das Erstellen von Pyramiden die Originaldatei verändern wird. Sind die Pyramiden einmal erstellt, kann dies nicht rückgängig gemacht werden. &lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Bitte beachten Sie weiterhin, dass das Erstellen der Pyramiden Ihre Daten zerstören kann - bitte machen Sie immer vorher eine Sicherungskopie Ihrer Daten!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Kommando kann nicht gestartet werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
+        <source>Unable to run the command</source>
+        <translation type="obsolete">Das Kommando kann nicht gestartet werden</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Starte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Fertig</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>Meter/Kilometer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>Grad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>Fuss</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>Grad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Oben links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Unten links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Oben rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Unten rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Strich unten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Strich oben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Balken</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Box</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Erzeugt eine Maßstabsleiste, welche im Kartenbild angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorationen</translation>
     </message>
@@ -12789,240 +12621,237 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Maßstabs Plugin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Oben links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Oben rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Unten links</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Unten rechts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Größe des Maßstab:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Platzierung:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Strich unten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Strich oben</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Box</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Balken</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Stil des Maßstab wählen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Farbe des Maßstab:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Maßstabsstil:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Aktiviere Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>bei Grässenänderung automatisch auf runden Zahlen einstellen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Klick, um die Farbe auszuwählen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Dieses Plugin zeichnet eine Maßstabsleiste auf die Karte. Bitte beachten Sie, dass die Größenoption eine &apos;bevorzugte&apos; Größe ist, die durch QGIS zoomstufenabhängig variiert wird. Die Größe wird in Karteneinheiten aus den  Projektinformationen errechnet.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
 </context>
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
-            <numerusform>%d Objekte gefunden.</numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Keine Treffer gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Suchergebnisse:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Fehler im Suchstring.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Keine Einträge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Die definierte Abfrage gibt keine Treffer zurück.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>Sind Sie sicher dass Sie die Verbindung und </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> alle damit verbunden Einstellungen löschen wollen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Löschen Bestätigen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS Anbinder</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Kann den WMS Provider nicht öffnen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Wähle Layer aus.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Es muss mindestens ein Layer ausgewählt werden.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
-            <numerusform>Koordinatensystem (%1 vorhanden).</numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>Kann die Antwort nicht verstehen. Der</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>Provider sagte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation>WMS-Proxies</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Einige WMS-Server wurden zur Serverauswahlliste hinzugefügt. Die Proxy-Einstellungen wurden leer gelassen. Falls Sie einen Proxy benutzen, um auf das Internet zuzugreifen, müssen Sie die entsprechenden Werte noch in die Proxy-Felder eintragen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Koordinatensystem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation>Es existieren keine Koordinatensystem für die ausgewählten Ebenen.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>No</source>
-        <translation type="unfinished">Nein</translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelectBase</name>
@@ -13145,20 +12974,20 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
-        <translation>Ein SQL-Fehler wurde durch folgende Datenbankabfrage erzeugt:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
-        <translation>Der Fehler war:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
-        <translation>... (Rest des SQLs abgeschnitten)</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13169,509 +12998,514 @@
         <translation>Einfaches Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Füllmuster:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Grösse</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Umrandungsbreite:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Füllfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Linienfarbe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Linienstil:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Beschriftung:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Keine Füllung</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Soll die [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] Verbindung und alle zugeordneten Einstellungen gelöscht werden?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Löschen Bestätigen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation>- Kolonnennamen editieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation>Die folgenden Shapedateien konnten nicht geladen werden:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>GRUND: Datei konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>GRUND: Eine oder beide Shapedateien (*.dbf, *.shx) fehlen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Allgemeine Hilfe Schnittstelle:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL Verbindungen:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Neu...] - Verbindung erstellen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Bearbeiten ...] - die momentan selektierte Vervindung editieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Entfernen] - momentan selektierte Verbindung löschen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- es muss eine Verbindung ausgewählt werden, welche funktioniert (sauber verbindet) um Dateien zu importieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-bei Änderungen an den Verbindungen ändern die globalen Schemas dementsprechend </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Shapedateienliste:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Hinzufügen ...] - Dateidialog öffnen und die gewünschten Importdateien auswählen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Entfernen] - löscht die ausgewählten Dateien von der Liste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Alles entfernen]  - löscht alle Dateien in der Liste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Referenz ID für die zu importierenden Shapedateien</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Standart (SRID) verwenden] - setzt SRID auf -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Geometriespaltenname] - Name der Geometriespalte in der Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Standard (Geometriespaltenname)] - setzt Spaltenname auf &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Globales Schema] setzt Schema für alle zu importierenden Dateien auf</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importieren] - Shapedateien in der Liste importieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Schliessen] - das Programm verlassen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Hilfe] - zeigt den Hilfedialog an</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Shapedateien importieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Es muss zuerst eine Verbindung angegeben werden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Verbindung fehlgeschlagen - Bitte Einstellungen überprüfen und erneut versuchen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Es müssen zuerst Shapedateien in die Liste eingefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Dateien importieren</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Fortschritt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problem beim Einfügen von Objekten aus der Datei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Ungültiger Tabellenname.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Keine Spalten erkannt.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Die folgenden Spalten sind dupliziert:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Shapedatei importieren - Relation existiert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Die Shapedatei:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>wird die Relation [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] für ihre Daten brauchen,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>, welche bereits existiert und ev. Daten enthält.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Um Datenverlust zu vermeiden sollte in der Dateiliste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>der &quot;DB Relation Name&quot; geändert werden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Soll die [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] Relation überschrieben werden?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Die Tabelle unten können die Spaltennamen editiert werden. Es sollte sichergestellt sein, dass keine der Spalte ein in PostgreSQL reserviertes Wort verwendet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Dateiname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Eigenschaftenklasse</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>DB Relationsname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Neue Verbindung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Füge Shapefiles hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Shapefiles (*.shp);; Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS ist nicht verfügbar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die gewählte Datenbank hat kein PostGIS installiert. PostGIS wird jedoch zum Speichern von räumlichen Daten benötigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation>Schaumermal...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Fehler beim Ausführen des SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation>&lt;/p&gt;&lt;p&gt;Die Datenbank sagt:</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>No</source>
-        <translation type="unfinished">Nein</translation>
-    </message>
 </context>
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Shapefile in PostGIS Import Tool</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL Verbindungen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Entfernen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
+        <source>Import</source>
+        <translation type="obsolete">Import</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Shapedateiliste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Alles entfernen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Globales Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Shapefile in PostGIS Import Tool</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
+        <source>Import the defined shapefiles to PostGIS</source>
+        <translation type="obsolete">Importiere die angegebene Shapedatei in PostGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
+        <source>Close</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Füge Shapefile der Liste der zu importierenden Dateien hinzu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Ausgewähltes Shapefile von der Importliste entfernen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Alle Shapefiles von der Importliste entfernen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Verwende Standard SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Setze SRID auf den Standardwert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Verwende Standard Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Setze den Geometriespaltenname auf den Standardwert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Neu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Erzeuge neue PostGIS Verbindung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Entferne aktuelle PostGIS Verbindung</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Verbinden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Bearbeite aktuelle PostGIS Verbindung</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
-        <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
-        <source>Import the defined shapefiles to PostGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
-        <source>Import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsSpitPlugin</name>
@@ -13686,7 +13520,7 @@
         <translation>Importiert Spapefiles in eine PostgreSQL-Datenbank mit PostGIS-Aufsazt. Das Schema und die Feldnamen können während des Imports eingestellt werden.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -13694,346 +13528,346 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Formular1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Klassifizierungsfeld:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
         <source>Delete class</source>
-        <translation type="obsolete">Klasse löschen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
         <source>Classify</source>
-        <translation type="obsolete">Klassifizieren</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
-        <source>Could not commit the added features.</source>
-        <translation>Konnte die hinzugefügten Objekte nicht übernehmen.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
+        <source>Attribute table - </source>
+        <translation type="obsolete">Attributtabelle - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
-        <source>No other types of changes will be committed at this time.</source>
-        <translation>Keine anderen Änderungen werden zu dieser Zeit übermittelt.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Attributtabelle öffnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
-        <source>Could not commit the changed attributes.</source>
-        <translation>Konnte die Änderungen an den Attributen nicht übermitteln.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
+        <source>Stop editing</source>
+        <translation type="obsolete">Digitalisieren stoppen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
-        <source>However, the added features were committed OK.</source>
-        <translation>Wieauchimmer, die hinzugefügten Objekte wurden korrekt übermittelt.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Als Shapefile abspeichern...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
-        <source>Could not commit the changed geometries.</source>
-        <translation>Konnte die Ändernungen der Geometrien nicht übermitteln.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
+        <source>Provider does not support deletion</source>
+        <translation type="obsolete">Provider unterstützt keine Löschoperationen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
-        <source>However, the changed attributes were committed OK.</source>
-        <translation>Wieauchimmer, die Änderungen der Attribute wurden korrekt übermittelt.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="obsolete">Der Provider hat nicht die Möglichkeit, Objekte zu löschen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
-        <source>Could not commit the deleted features.</source>
-        <translation>Konnte die gelöschten Objekte nicht übermitteln.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
+        <source>Layer not editable</source>
+        <translation type="obsolete">Die Ebene kann nicht editiert werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
-        <source>However, the changed geometries were committed OK.</source>
-        <translation>Wieauchimmer, die geänderten Geometrien wurden korrekt übermittelt.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="obsolete">Sollen die Änderungen gespeichert werden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
-        <source>Attribute table - </source>
-        <translation type="unfinished">Attributtabelle - </translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Invertiere Selektion...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation type="unfinished">Abbrechen</translation>
+        <translation type="obsolete">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
-        <source>&amp;Open attribute table</source>
-        <translation type="unfinished">&amp;Attributtabelle öffnen</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Erlaube Editieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished">Erlaube Editieren</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
+        <source>Layer cannot be added to</source>
+        <translation type="obsolete">Die Ebene kann nicht hinzugefügt werden zu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
-        <source>Save as shapefile...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="obsolete">Der Datenprovider dieser Ebene unterstützt das Hinzufügen von neuen Objekten nicht.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished">Die Ebene kann nicht hinzugefügt werden zu</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
+        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
+        <translation type="obsolete">Die aktuelle Ebene ist nicht editierbar. Bitte wählen Sie &apos;Erlaube Editieren&apos; im Kontextmenü (rechter KlicK) des Legendeneintrags.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished">Der Datenprovider dieser Ebene unterstützt das Hinzufügen von neuen Objekten nicht.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
+        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
+        <translation type="obsolete">Die aktuelle Ebene ist nicht editierbar. Bitte wählen Sie &apos;Erlaube Editieren&apos; im Kontextmenü (rechter KlicK) des Legendeneintrags.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Die Ebene kann nicht editiert werden</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
+        <source>Start editing failed</source>
+        <translation type="obsolete">Beginnen der Editierung fehlgeschlagen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished">Die aktuelle Ebene ist nicht editierbar. Bitte wählen sie &apos;Digitalisierung starten&apos; aus der Digitalisiertoolbarleiste.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="obsolete">Der Provider kann nicht zum Editieren geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
-        <source>Provider does not support deletion</source>
-        <translation type="unfinished">Provider unterstützt keine Löschoperationen</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <source>Error</source>
+        <translation type="obsolete">Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
-        <source>Data provider does not support deleting features</source>
-        <translation type="unfinished">Der Provider hat nicht die Möglichkeit, Objekte zu löschen</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
+        <source>Could not commit changes</source>
+        <translation type="obsolete">Kann die Änderungen nicht abspeichern.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
+        <source>Problems during roll back</source>
+        <translation type="obsolete">Problem beim Rückgängigmachen (rollback).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished">Beginnen der Editierung fehlgeschlagen.</translation>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="obsolete">Die aktuelle Ebene ist nicht editierbar. Bitte wählen sie &apos;Digitalisierung starten&apos; aus der Digitalisiertoolbarleiste.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished">Der Provider kann nicht zum Editieren geöffnet werden.</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation>Konnte die hinzugefügten Objekte nicht übernehmen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Stop editing</source>
-        <translation type="unfinished">Digitalisieren stoppen</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation>Keine anderen Änderungen werden zu dieser Zeit übermittelt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished">Sollen die Änderungen gespeichert werden?</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation>Konnte die Änderungen an den Attributen nicht übermitteln.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation>Wieauchimmer, die hinzugefügten Objekte wurden korrekt übermittelt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation>Konnte die Ändernungen der Geometrien nicht übermitteln.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished">Fehler</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation>Wieauchimmer, die Änderungen der Attribute wurden korrekt übermittelt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished">Kann die Änderungen nicht abspeichern.</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation>Konnte die gelöschten Objekte nicht übermitteln.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished">Problem beim Rückgängigmachen (rollback).</translation>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation>Wieauchimmer, die geänderten Geometrien wurden korrekt übermittelt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Kann die Objekte nicht abfragen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Der Provider für die aktuelle Ebene kann die Geometrie für das selektierte Objekt nicht abfragen. Diese Version des Providers unterstützt das Feature nicht.</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Transparenz: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Einfaches Symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Abgestuftes Symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Fortlaufende Farbe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Individueller Wert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Dieser Knopf öffnet den PostgreSQL Abfragengenerator und ermöglicht es, anstelle aller Objekte eine Untermenge der Objekte auf dem Kartenfenster darzustellen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Die Abfrage, um die Anzahl Objekte zu limitieren, wird hier angezeigt. Dies wird im Moment nur von PostgreSQL Ebenen unterstützt. Klicke auf den &apos;Query Builder&apos; Knopf um eine Abfrage einzugeben oder zu modifizieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Räumlicher Index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Erstellung des räumlichen Indexes erfolgreich</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Erstellung des räumlichen Indexes fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Allgemein:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>Datenspeicher dieser Ebene: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Quelle dieser Ebene: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Geometrietyp der Objekte in dieser Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Die Anzahl Objekte in dieser Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>Editierfähigkeit dieser Ebene: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Ausdehnung:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>In Einheiten des Referenzsystems dieser Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>In Einheiten des Projektreferenzsystems:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Räumliches Referenzsystem der Ebene:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
+        <source>Project (Output) Spatial Reference System:</source>
+        <translation type="obsolete">Projekt (Output) Referenzsystem:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Attribut info:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Feld</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Länge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>Comment</source>
-        <translation type="obsolete">Kommentar</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerPropertiesBase</name>
@@ -14043,150 +13877,150 @@
         <translation>Ebeneneigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Legendentyp:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Bezeichnungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Transparenz:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Benutze massstabsabhängiges Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimum Massstab, bei welchem diese Ebene angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maximum Massstab, bei welchem diese Ebene angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Anzeigename</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Benutze diese Kontrollelemente, um das Attribut auszuwählen, welches zuoberst in der &apos;Identifiziere Resultat&apos; Dialogbox steht.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Räumliches Referenzsystem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Wechseln</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Anzeigeattribut für die &apos;Identifiziere Resultat&apos; Dialogbox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Dies setzt das Anzeigeattribut für die &apos;Identifiziere Resultat&apos; Dialogbox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Anzeigeattribut</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Subset</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Query Builder</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Räumlicher Index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Räumlicher Index erstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Erstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadaten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Beschriftungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Zeige Beschriftungen an</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Aktionen</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Anwenden</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
-        <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorSymbologyWidgetBase</name>
@@ -14234,7 +14068,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;WFS Layer hinzufügen</translation>
     </message>
@@ -14242,29 +14076,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Sind Sie sicher, dass Sie alle </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation> Verbindungen und die damit verbundenen Einstellungen löschen wollen?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Löschen Bestätigen</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">Nein</translation>
+        <translation type="obsolete">Nein</translation>
     </message>
 </context>
 <context>
@@ -14295,27 +14129,57 @@
         <translation>Verändere ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
+        <source>&amp;Add</source>
+        <translation type="obsolete">&amp;Hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
+        <source>C&amp;lose</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
+        <source>Alt+L</source>
+        <translation type="obsolete">Alt+L</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Serververbindungen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Neu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>Verbinden</translation>
     </message>
@@ -14324,415 +14188,431 @@
         <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
         <translation>Beachte: Dieses Plugin wird nicht als stabil eingestuft. Die Benutzung erfolgt auf eigene Gefahr.</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished">Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished">&amp;Hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished">Schließen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
-    </message>
 </context>
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation>Versuchte URL: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP Ausnahme</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS Service Ausnahme</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM Ausnahme</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Konnte die WMS Capabilities nicht bekommen: %1 bei Linie %2, Spalte %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Dies kommt wahrscheinlich durch eine falsche WMS-Server URL zustande.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Konnte die WMS Capabilities nicht im erwarteten Format (DTD) erhalten: kein %1 oder %2 gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Konnte die WMS Service Ausnahme bei %1 nicht interpretieren: %2 bei Linie %3, Spalte %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Die Anfrage enthält ein Format, welches nicht vom Server unterstützt wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Die Anfrage enthält ein Koordinatensystem (CRS), welches nicht vom Server für die angeforderten Layer angeboten wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Anfrage enthält SRS, das nicht vom Server angeboten wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>GetMap Anfrage ist für eine Ebene, die nicht vom Server angeboten wird, oder GetFeatureInfo wurde für eine Ebene angefordert, die nicht in der Karte angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Anfrage ist für eine Ebene in einem Style, der nicht vom Server angeboten wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>GetFeatureInfo wurde auf eine Ebene angewendet, die als nicht abfragbar definiert ist.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>Get FeatureInfo Anfrage enthält ungültige X oder Y-Werte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Anfrage enthält keinen beispielhaften Dimensionswert, und der Server selbst definiert auch keinen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Anfrage enthält einen ungültigen beispielhaften Dimensionswert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Anfrage ist für eine optionale Operation, die der Server nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Unbekannte Fehlermeldung eines post-1.3 WMS-Servers).</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation>Der WMS-Betreiber sagt folgendes:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>Dieses Verhalten kommt wahrscheinlich durch einen Bug in QGIS. Bitte melden Sie den Fehler bei den Entwicklern.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Server-Eigenschaften:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Eigenschaft</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS Versoin</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Zusammenfassung</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Schlüsselworte</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Online Quelle</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Kontaktperson</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Kosten</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Zugangsbeschränkungen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Bildformate</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Abfrageformat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Anzahl der Ebenen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>Ebeneneigenschaften: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Ausgewählt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nein</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Sichtbarkeit</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Sichtbar</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Versteckt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Darf abgefragt werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Kann transparent sein</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Kann reingezoomt werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Kaskadiere Anzahl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Feste Breite</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Feste Höhe</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 Bounding Box</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Verfügbar in CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Verfügbar im Style</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>Wert in.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>Wert in.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS Plugin Vorlage</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Plugin Vorlage</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS Plugin Vorlage</translation>
+        <translation type="obsolete">QGIS Plugin Vorlage</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Plugin Vorlage</translation>
+        <translation type="obsolete">Plugin Vorlage</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Tahoma; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Tahoma; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Abbrechen</translation>
+        <translation type="obsolete">&amp;Abbrechen</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; Objekte in&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt; in&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; I&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; in&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; Zusammenfassung in&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; in&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt; png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; Objekte in&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
     <name>gpsPage</name>
     <message>
-        <location filename="" line="7471221"/>
-        <source>GPS</source>
-        <translation type="obsolete">GPS</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>GPS Fix:</source>
-        <translation type="obsolete">GPS Fix:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
         <source>Longitude:</source>
         <translation type="obsolete">Länge:</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
         <source>No</source>
         <translation type="obsolete">Nein</translation>
     </message>
     <message>
-        <location filename="" line="7471221"/>
-        <source>GPS Time:</source>
-        <translation type="obsolete">GPS Zeit:</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
         <source>Latitude:</source>
         <translation type="obsolete">Breite:</translation>
     </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Show position on map</source>
-        <translation type="obsolete">Zeige Position auf der Karte</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Show position history</source>
-        <translation type="obsolete">Zeite Positionshistory</translation>
-    </message>
-    <message>
-        <location filename="" line="7471221"/>
-        <source>Recenter map</source>
-        <translation type="obsolete">Karte zentrieren</translation>
-    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Diese Notiz mit einer kurzen Beschreibung, was das Plugin macht, ersetzen</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_es.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_es.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_es.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>Administrador del controlador OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>No se puede conseguir un administrador del controlador OGR</translation>
     </message>
@@ -16,40 +16,91 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Introducir coordenadas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;Aceptar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancelar</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Detener</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Estado</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Capturada una excepción del sistema de coordenadas mientras se intentaba transformar un punto.No se puede calcular la longitud de la línea.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Capturada una excepción del sistema de coordenadas mientras se intentaba transformar un punto.No se puede calcular el área del polígono.</translation>
     </message>
@@ -59,148 +110,148 @@
         <translation>Etiqueta</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>No Hay Documentación de Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>No se puede cargar capas vectoriales. Compruebe su instalación de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>No Hay Documentación</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>No hay documentación de extensiones. No se pueden cargar capas vectoriales</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Expresión regular de los valores sin sentido. Utilice la comparación en su lugar.</translation>
+        <translation type="obsolete">Expresión regular de los valores sin sentido. Utilice la comparación en su lugar.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>No se ha encontrado la columna indicada:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>División entre cero.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Abrir una capa con soporte OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Archivos QGis (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>No hay capa activa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Para identificar objetos espaciales, debe activar una capa pulsando sobre ella</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Longitud</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Área</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>acción</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation>objetos espaciales encontrados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation>1 objeto espacial encontrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>No se han encontrado objetos espaciales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>No se han encontrado objetos espaciales en la capa activa en el punto en el que se ha pulsado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>No se puede identificar objetos en</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>porque</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Para seleccionar objetos espaciales, debe activar una capa pulsando sobre ella</translation>
+        <translation type="obsolete">Para seleccionar objetos espaciales, debe activar una capa pulsando sobre ella</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>No se puede autoensamblar segmentos. ¿Ha establecido la tolerancia en Configuración &gt; Propiedades del Proyecto &gt; General?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>No se puede autoensamblar vértices. ¿Ha establecido la tolerancia en Configuración &gt; Propiedades del Proyecto &gt; General?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Error de lectura del proyecto:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>en la línea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>columna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>en el archivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>No se puede guardar a un archivo</translation>
     </message>
@@ -210,127 +261,127 @@
         <translation>Ajustar a una transformación lineal requiere al menos 2 puntos.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Ajustar a una transformación de Helmert requiere al menos 2 puntos.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Ajustar a una transformación afín requiere al menos 4 puntos.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nuevo centroide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nuevo punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nuevo vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Deshacer último punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Cerrar línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Seleccionar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Seleccionar nueva posición</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Seleccionar segmento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nueva posición para vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Liberar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Borrar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Liberar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Seleccionar elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nueva localización</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Liberar selección</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Borrar selección / seleccionar siguiente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Seleccionar posición en la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Dividir la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Liberar la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Seleccionar punto en la línea</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>No se puede abrir la fuente de datos:</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Analizar error en la línea</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>Proveedor de formato eXchange GPS</translation>
     </message>
@@ -357,12 +408,12 @@
         <translation>Los datos de GRASS no son accesibles si no se especifica una GISBASE.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -407,12 +458,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +478,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -482,82 +533,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">La capa no se puede añadir a</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">El proveedor de datos para esta capa no da soporte para añadir temas.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Capa no editable</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished">m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished">km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished">mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished">cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished">pie</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">pies</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">grado</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">grados</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished">desconocido</translation>
     </message>
@@ -607,279 +841,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Capa no editable</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Error</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Filas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Puntos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Base de Datos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -899,52 +1083,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -952,1450 +1136,1540 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Coprobando la base de datos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Leyendo configuraciones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Configurando la GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Restableciendo extensiones cargadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Inicializando filtros de archivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Restableciendo estado de la ventana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS está preparado!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nuevo Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Proyecto Nuevo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Abrir Proyecto...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Abrir un Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Guardar Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Guardar Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Guardar Proyecto &amp;Como...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Guardar Proyecto con un nombre nuevo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>Im&amp;primir...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Imprimir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Guardar como Imagen...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Guardar mapa como imagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportar a Mapa de MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportar como archivo .map de MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Salir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Cerrar QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Añadir Capa Vectorial...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Añadir Capa Vectorial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Añadir Capa Raster...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Añadir Capa Raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Añadir Capa de PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Añadir Capa de PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nueva Capa Vectorial...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Crear Capa Vectorial Nueva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Eliminar Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Eliminar Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Añadir Todo al Localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Mostrar todas las capas en el localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Eliminar Todo del Localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Eliminar todas las capas del localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Mostrar Todas las Capas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Mostrar todas las capas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Ocultar Todas las Capas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Ocultar todas las capas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Propiedades del Proyecto...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Definir propiedades del proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Opciones...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Cambiar opciones generales de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Proyección Personalizada...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Administrar proyecciones personalizadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Contenidos de la Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Documentación de la Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Página web de Qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Página Web de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Acerca de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Comprobar Versión de Qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Comprobar si la versión de QGIS está actualizada (requiere acceso a internet)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Actualizar Mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Acercar Zum</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Alejar Zum</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Zum General</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>G</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Zum a la Extensión General</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Zum a la Selección</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zum a la selección</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Desplazar Mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Desplazar el Mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Zum Anterior</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zum a la Extensión Anterior</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Zum a la Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zum a la Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identificar Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Pulsar sobre los objetos espaciales para identificarlos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Seleccionar Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Abrir Tabla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Regla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Regla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Área de Medida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Mide un Área</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Mostrar Marcadores</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Mostrar todas las barras de herramientas que sea posible</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Ocultar todas las barras de herramientas que sea posible</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nuevo Marcador...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Marcador Nuevo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Añadir Capa WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Añadir Capa Web Mapping Server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Llevar al Localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>L</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Añadir la capa actual al localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Administrar Extensiones...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Abrir el administrador de extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Comenzar a editar la capa actual</translation>
+        <translation type="obsolete">Comenzar a editar la capa actual</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Terminar de editar la capa actual</translation>
+        <translation type="obsolete">Terminar de editar la capa actual</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Capturar Punto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Capturar Puntos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Capturar Línea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Capturar Líneas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Capturar Polígono</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Capturar Polígonos</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="" line="544433522"/>
         <source>Delete Seleced</source>
         <translation type="obsolete">Borrar Selección</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Borrar Selección</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Añadir Vértice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Borrar Vértice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Mover Vértice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Cortar Temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Cortar temas seleccionados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Copiar Temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Copiar temas seleccionados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Pegar Temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Pegar temas seleccionados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Archivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>Abrir Proyectos &amp;Recientes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Barras de herramientas...</translation>
+        <translation type="obsolete">&amp;Barras de herramientas...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Configuración</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Archivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Administrar Capas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalización</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navegación</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atributos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Barra de progreso que muestra el estado de reprosentación de las capas y otras operaciones pesadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Muestra la escala actual del mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Muestra las coordenadas del mapa en la posición actual del cursor. La pantalla se actualiza constantemente al moverse el ratón.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Representar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Cuando está marcada, las capas se representan respondiendo a los comandos de navegación y otros eventos. Cuando no está marcada, la representación no se hace. Esto permite añadir un gran número de capas y simbolizarlas antes de su representación.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Conmutar la representación del mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Este icono muestra si la proyección &quot;al vuelo&quot; está activada. Para mostrar el cuadro de diálogo de propiedades del proyecto y establecer las propiedades de esta característica, pulse sobre el icono.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Estado de la proyección - Pulse para abrir el cuadro de diálogo de proyección</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Preparado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Vista del Mapa. Aquí es donde se muestras las capas raster y vectoriales cuando son añadidas al mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Localizador de la Vista del Mapa. Esta vista puede usarse para visualizar un mapa de localización que muestra la extensión de la Vista del Mapa. La extensión actual se muestra como un rectángulo rojo. Cualquier capa del mapa puede ser añadida al localizador.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Leyenda de la Vista del Mapa que muestra todas la capas actualmente en el mapa. Marcar la casilla para conmutar su vista. Pulsar dos veces sobre una capa en la leyenda para pesonalizar su apariencia y ajustar otras propiedades.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>con soporte para PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(sin soporte para PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS se rige bajo la licencia GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Temas Nuevos</translation>
+        <translation>Temas Nuevos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1332"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">Soporte WMS</translation>
+        <translation>Soporte WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Edición vectorial y de atributos mejorada</translation>
+        <translation>Edición vectorial y de atributos mejorada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Diseñador de Mapas para crear mapas</translation>
+        <translation>Diseñador de Mapas para crear mapas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Herramientas de medida mejoradas con medida de áreas</translation>
+        <translation>Herramientas de medida mejoradas con medida de áreas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Búsqueda por atributo</translation>
+        <translation>Búsqueda por atributo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Nueva estructura de la leyenda</translation>
+        <translation>Nueva estructura de la leyenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1344"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Rediseño de la API para permitir el uso de las librerías de QGIS con aplicaciones de cartografía</translation>
+        <translation>Rediseño de la API para permitir el uso de las librerías de QGIS con aplicaciones de cartografía</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Herramienta de exportación a MapServer mejorada</translation>
+        <translation>Herramienta de exportación a MapServer mejorada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1348"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Se puede personalizar el color de fondo de la Vista del Mapa</translation>
+        <translation>Se puede personalizar el color de fondo de la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Transparencia de capa vectorial</translation>
+        <translation>Transparencia de capa vectorial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Antialiasing para caps vectoriales</translation>
+        <translation>Antialiasing para caps vectoriales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">Soporte de GRASS en todas los sistemas operativos</translation>
+        <translation>Soporte de GRASS en todas los sistemas operativos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1356"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Soporte de GRASS y conjunto de comandos de la caja de herramientas mejorado</translation>
+        <translation>Soporte de GRASS y conjunto de comandos de la caja de herramientas mejorado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Edición vectorial mejorada, incluyendo copiar/pegar, autoensamblado y edición de vértices</translation>
+        <translation>Edición vectorial mejorada, incluyendo copiar/pegar, autoensamblado y edición de vértices</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Edición de capas de archivos Shape/OGR</translation>
+        <translation>Edición de capas de archivos Shape/OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1362"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Opción de buscar exclusivamente en la columna de la geometría cuando se realizan consultas en capas de PostGIS</translation>
+        <translation>Opción de buscar exclusivamente en la columna de la geometría cuando se realizan consultas en capas de PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Múltiples mejoras de la interfaz de usuario (GUI)</translation>
+        <translation>Múltiples mejoras de la interfaz de usuario (GUI)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Documentación Disponible de Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Abrir una capa vectorial con soporte OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>no es una fuente de datos válida o reconocida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Fuente de Datos no Válida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Capa no Válida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 es una capa no válida y no se puede cargar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Guardar Como</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Seleccionar un proyecto de QGIS para abrir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Error de lectura de proyecto de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>¿Buscar capas perdidas?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>No se puede abrir el proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Seleccionar un proyecto de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Guardar proyecto a:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>No se puede guardar el proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>No se puede guardar el proyecto como</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>No se puede guardar el proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Seleccionar un nombre de archivo para guardar como proyecto de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: No puede cargar el proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>No se puede cargar el proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Seleccionar un nombre de archivo para guardar el mapa como imagen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Guardar la imagen del mapa a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Capa no Seleccionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Para abrir una tabla de atributos debe seleccionar una capa de la leyenda</translation>
+        <translation type="obsolete">Para abrir una tabla de atributos debe seleccionar una capa de la leyenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problema al borrar temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Ha ocurrido un problema durante el borrado de temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Capa Vectorial no Seleccionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Borrar objetos espaciales solo funciona en capas vectoriales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Para borrar temas, debe seleccionar una capa vectorial de la leyenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Error al Cargar la Extensión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Ha habido un error cargando %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>No Hay Extensiones MapLayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>No hay extensiones MapLayer en ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>No Hay Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>No se han encontrado extensiones en ../plugins. Para probar extensiones, inicie qgis desde el directorio src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>La extensión %1 se llama %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Información de la Extensión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis ha cargado la siguiente extensión:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nombre: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versión: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Descripción: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>No se puede Cargar la Extensión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS no ha podido cargar la extensión desde: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Hay una nueva versión de QGIS disponible</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Está utilizando una versión de desarrollo de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Está utilizando la versión actualizada de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>¿Desea más información?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Información de la Versión de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Cambios en el SVN desde la última versión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>No se puede obtener información de la versión actual del servidor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Conexión rehusada - el servidor debe estar colgado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>No se ha encontrado el servidor QGIS</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="" line="544433522"/>
         <source>Error reading from server</source>
         <translation type="obsolete">Error leyendo desde el servidor</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="" line="544433522"/>
         <source>Unable to connect to the QGIS Version server</source>
         <translation type="obsolete">No se puede conectar al servidor de versiones de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Navegador de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Introducir el nombre de un navegador web para utilizar (ej. firefox).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Introducir la ruta completa si el navegador no tiene acceso mediante la variable de entorno PATH.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Puede cambiar esta opción más tarde seleccionadon Opciones desde el menu Configuración (pestaña Navegador de la Ayuda).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Capa no válida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>La capa no es válida y no se puede añadir al mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;¿Guardar el proyecto actual?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;¿Guardar el proyecto actual?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Extensiones:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Ajustar contenido del portapapeles:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Abrir una Fuente de Datos Raster Soportada por la Librería GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation>no es una fuente de datos raster válida o reconocida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation>no es una fuente de datos raster soportada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Fuente de Datos Sin Soporte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Introducir un nombre para el nuevo marcador:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">El proveedor no da soporte para eliminar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">El proveedor de datos no da soporte para eliminar temas</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Capa no editable</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">La capa activa no se puede editar. Elegir &apos;Comenzar edición&apos; en la barra de digitalización.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>Ventana Principal</translation>
     </message>
@@ -2413,32 +2687,32 @@
 <context>
     <name>QgsAbout</name>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>Patrocinadores de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Los siguientes han patrocinado QGIS con fondos que han contribuído alque han financiado otros costes del proyecto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Página Web</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>Navegador de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -2452,17 +2726,17 @@
         <translation>Acerca de Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versión</translation>
     </message>
@@ -2473,61 +2747,52 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS se rige bajo la licencia GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Página web de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Suscribirse a la lista de correo QGIS-User</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Novedades</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Desarrolladores</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Desarrolladores de QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Proveedores</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Patrocinadores</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Aceptar</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2560,22 +2825,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nombre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2750,7 +3015,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Ejecutar acción</translation>
     </message>
@@ -2881,79 +3146,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>seleccionar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>seleccionar y llevar arriba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>mostrar solo coincidentes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Buscar error de análisis de la cadena</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Resultados de la búsqueda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Ha suministrado una cadena de búsqueda vacía.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Error durante la búsqueda</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Se han encontrado %d objetos espaciales coincidentes.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>No se han encontrado coincidencias.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Terminar edición</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">¿Quiere guardar los cambios?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Error</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">No se pueden realizar cambios</translation>
     </message>
@@ -2961,42 +3226,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>¿Borrar?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Está seguro de que quiere borrar el</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>marcador?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sí</translation>
+        <translation type="obsolete">&amp;Sí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;No</translation>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Error al borrar marcador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Ha fallado el borrado de</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation>marcador de la base de datos. La base de datos ha dicho:</translation>
@@ -3068,122 +3333,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - diseñador de mapas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Mapa 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>No se puede abrir</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>para leer/escribir</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Error al Imprimir</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>No se puede solicitar</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>No se puede sobreescribir el marco</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>No se puede encontrar el marco</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>No se puede sobreescribir la traducción</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>No se puede encontrar la traducción</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Error IO del Archivo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>El papel no coincide</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>El papel seleccionado no se ajusta al tamaño del mapa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Imagen grande</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Crear imagen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>requiere circa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation>MB de memoria</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>formato</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Seleccione un nombre de archivo para guardar el mapa como imagen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>Aviso de SVG</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>No volver a mostrar este mensaje</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;La función &quot;exportar a SVG&quot; en Qgis tiene numerosos problemas debido a errores (&quot;bugs&quot;) y deficiencias en el código svg de Qt4. Entre otros problemas en los archivos SVG, los textos no aparecen y hay problemas al recortar el marco, la leyenda y la barra de escala.&lt;/p&gt;Si necesita un mapa vectorial hecho con Qgis, le sugerimos que lo imprima cmo PostScript si la salida como SVG no es satisfactoria.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Seleccionar un nombre para guardar como mapa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>Formato SVG</translation>
     </message>
@@ -3317,32 +3582,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation> Mapa %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Extensión (calcular escala)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Escala (calcular extensión)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Caché</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Representar</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Rectángulo</translation>
     </message>
@@ -3428,22 +3693,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>No se puede cargar el dibujo.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Dibujos (</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Seleccionar un archivo</translation>
     </message>
@@ -3532,37 +3797,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Leyenda</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Capas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grupo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Combinar capas seleccionadas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Caché</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Representar</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Rectángulo</translation>
     </message>
@@ -3608,97 +3873,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Personalizado</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Carta (8.5x11 pulgadas)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 pulgadas)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Retrato</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Paisaje</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Se ha excedido la memoria</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -3707,17 +3972,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etiqueta</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>No se puede cargar el dibujo.</translation>
     </message>
@@ -3768,27 +4033,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Probar conexión</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>La conexión a</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation>ha sido correcta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>La conexión ha fallado - Compruebe la configuración y pruebe de nuevo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3820,64 +4085,64 @@
         <translation>Probar Conexión</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Servidor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Base de Datos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Puerto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Nombre de usuario</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Contraseña</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nombre de la nueva conexión</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>Aceptar</translation>
+        <translation type="obsolete">Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
 </context>
 <context>
@@ -3916,32 +4181,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>El sistema espacial de referencia (SRS) de origen no es válido.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Las coordenadas no han podido ser reproyectadas. El SRS es:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>El sistema espacial de referencia (SRS) de destino no es válido.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Ha fallado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>la transformación de</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>con el error:</translation>
     </message>
@@ -3949,32 +4214,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Inferior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Superior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Superior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Inferior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>Etiqueta de &amp;Copyright</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Crea una etiqueta de copyright que se muestra en la Vista del Mapa.</translation>
     </message>
@@ -3992,12 +4257,12 @@
         <translation>Extensión Etiqueta de Copyright</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="34"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Descripción&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Introduzca su etiqueta de copyright abajo. Esta extensión soporta sentencias básicas de html para dar formato a la etiqueta. Por ejemplo:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Negrita &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Cursiva &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message encoding="UTF-8">
-        <location filename="" line="3"/>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="41"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -4049,27 +4314,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -4096,85 +4361,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>¿Borrar Descripción de Proyección?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Borrar una descripción de proyección no es un proceso reversible. ¿Desea continuar?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Abortar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nueva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>Proyección Personalizada de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Esta descripción de proyección proj4 no es válida. Por favor, introduzca un nombre para la proyección antes de guardar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Esta descripción de proyección proj4 no es válida. Por favor, rellene los parámetros antes de guardar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Esta descripción de proyección proj4 no es válida. Por favor, añada una cláusula proj= antes de guardar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Esta descripción de proyección proj4 no es válida. Por favor, añada una cláusula ellips= antes de guardar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Esta descripción de proyección proj4 no es válida. Corregir antes de guardar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Esta descripción de proyección proj4 no es válida.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>El Norte y el Este deben estar en formato decimal.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Error Interno (¿la proyección original es válida?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Proyección Personalizada</translation>
     </message>
@@ -4186,240 +4441,256 @@
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Aquí puede crear sus proyecciones personalizadas. Para especificar un Sistema Espacial de Referencia, la descripción debe ajustarse al formato proj4.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Aquí puede crear sus proyecciones personalizadas. Para especificar un Sistema Espacial de Referencia, la descripción debe ajustarse al formato proj4.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parámetros:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 de 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nueva</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Borrar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nombre:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Comprobar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformar de WGS84 a la proyección seleccionada</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilice los cuadros de texto de abajo para comprobar la descripción de la proyección que está creando. Introduzca unas coordenas donde la latitud y la longitud proyectadas sean conocidas (por ejemplo leyéndolas de un mapa externo). Entonces presione el botón Calcular para ver si la descripción que está creando es adecuada.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilice los cuadros de texto de abajo para comprobar la descripción de la proyección que está creando. Introduzca unas coordenas donde la latitud y la longitud proyectadas sean conocidas (por ejemplo leyéndolas de un mapa externo). Entonces presione el botón Calcular para ver si la descripción que está creando es adecuada.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Sistema de Coordenadas Proyectado</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geográficas / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Este:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Norte:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Calcular</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>¿Está seguro de que quiere eliminar la</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>conexión y su configuración?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Confirmar la eliminación</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Seleccionar Tabla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Debe seleccionar una tabla para poder añadir una Capa.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Contraseña para</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Por favor, introduzca su contraseña:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Capa de puntos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Capa multipunto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Capa de líneas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Capa multilínea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Capa de polígonos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Capa multipolígono</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Capa de geometría mixta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Capa del grupo de la geometría</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Esperando por el tipo de capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Conexión fallida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>La conexión a %1 en %2 ha fallado. Puede ser que la base de datos esté inactiva o que su configuración sea incorrecta.%3Comprobar el nombre de usuario y la contraseña y probar de nuevo.%4La base de datos ha dicho:%5%6</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Acceso a la relación</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>utilizando sql;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -4547,7 +4818,7 @@
         <translation>Los campos X e Y son necesarios y deben guardar las coordenadas en unidades decimales.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Tema de eventos</translation>
     </message>
@@ -4560,30 +4831,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Capa sin nombre</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Por favor, introduzca un nombre para la capa antes de añadir ésta al mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>No hay delimitador</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Por favor, especifique un delimitador antes de analizar el archivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Utilice este botón para buscar el archivo de texto. Este botón no se activará hasta que se haya introducido un delimitador en el cuadro de diálogo Delimitador. Una vez que se ha seleccionado un archivo, los cuadros combinados de X e Y se rellenarán con los campos del archivo de texto</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -4595,125 +4876,125 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Ayuda de la extensión</translation>
+        <translation type="obsolete">Ayuda de la extensión</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Abre la ayuda de la Extensión Tema de Eventos en su navegador</translation>
+        <translation type="obsolete">Abre la ayuda de la Extensión Tema de Eventos en su navegador</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ayuda</translation>
+        <translation type="obsolete">&amp;Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Analizar el encabezado y actualizar los listados de las coordenadas X,Y</translation>
+        <translation type="obsolete">Analizar el encabezado y actualizar los listados de las coordenadas X,Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Analizar el encabezado del archivo de entrada y actualizar los campos en los listados de la X y la Y. Utilizar este botón para actualizar los listados de los campos si se cambia el delimitados después de seleccionar el archivo.</translation>
+        <translation type="obsolete">Analizar el encabezado del archivo de entrada y actualizar los campos en los listados de la X y la Y. Utilizar este botón para actualizar los listados de los campos si se cambia el delimitados después de seleccionar el archivo.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>A&amp;nalizar</translation>
+        <translation type="obsolete">A&amp;nalizar</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+N</translation>
+        <translation type="obsolete">Alt+N</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Añadir capa utilizando el delimitador, archivo y campos x/y especificados</translation>
+        <translation type="obsolete">Añadir capa utilizando el delimitador, archivo y campos x/y especificados</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Crear una capa utilizando los parámetros especificados y añadirla a la Vista del Mapa. El cuadro de diálogo continuará abierto para poder añadir capas adicionales.</translation>
+        <translation type="obsolete">Crear una capa utilizando los parámetros especificados y añadirla a la Vista del Mapa. El cuadro de diálogo continuará abierto para poder añadir capas adicionales.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>Aña&amp;dir Capa</translation>
+        <translation type="obsolete">Aña&amp;dir Capa</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+D</translation>
+        <translation type="obsolete">Alt+D</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Cerrar el cuadro de diálogo</translation>
+        <translation type="obsolete">Cerrar el cuadro de diálogo</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Cerrar el cuadro de diálogo sin añadir nada a la Vista del Mapa.</translation>
+        <translation type="obsolete">Cerrar el cuadro de diálogo sin añadir nada a la Vista del Mapa.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Cerrar</translation>
+        <translation type="obsolete">&amp;Cerrar</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Coordenada X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nombre del campo que contiene la coordenada x</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nombre del campo que contiene la coordenada x. Seleccione un campo de la lista. La lista se genera al analizar el encabezado del archivo de texto.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Coordenada Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nombre del campo que contiene la coordenada y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nombre del campo que contiene la coordenada y. Seleccione un campo de la lista. La lista se genera al analizar el encabezado del archivo de texto.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Texto de muestra</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="" line="544433522"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
@@ -4728,218 +5009,221 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Tema de Eventos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Archivo de tema de eventos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Ruta al archivo de texto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Ruta al archivo de texto (para el tema de eventos). Con el fin de poder analizar los campos del archivo, el delimitador debe definirse antes de introducir el nombre del mismo. Utilice el botón Abrir, situado a la derecha, para seleccionar el archivo de entrada.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Abrir para buscar el archivo de texto que se va a procesar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Utilice este botón para buscar el archivo de texto. Este botón no se activará hasta que se haya introducido un delimitador en el cuadro de diálogo Delimitador. Una vez que se ha seleccionado un archivo, los cuadros combinados de X e Y se rellenarán con los campos del archivo de texto.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nombre de la capa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nombre para mostrar en la leyenda de la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nombre mostrado en la leyenda de la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Delimitador</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Delimitador utilizado para dividir campos en el archivo de texto. El delimitador puede tener más de un carácter.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Delimitador utilizado para dividir campos en el archivo de texto. El delimitador puede tener uno o más caracteres.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>Nota: las líneas siguientes no se han cargado porque Qgis no pudo determinar los valores de las coordenadas x e y:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Archivos shape (*.shp)</translation>
+        <translation type="obsolete">Archivos shape (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Guardar capa como...</translation>
+        <translation type="obsolete">Guardar capa como...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation>Error al crear el campo</translation>
+        <translation type="obsolete">Error al crear el campo</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation>Error al crear la capa</translation>
+        <translation type="obsolete">Error al crear la capa</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation>Error al crear el archivo shape</translation>
+        <translation type="obsolete">Error al crear el archivo shape</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation>El archivo shape no se ha podido crear (</translation>
+        <translation type="obsolete">El archivo shape no se ha podido crear (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation>No se ha encontrado controlador</translation>
+        <translation type="obsolete">No se ha encontrado controlador</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation>el controlador no está disponible</translation>
+        <translation type="obsolete">el controlador no está disponible</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Crear márgenes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parámetros</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Columna de la geometría:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>¿Añadir la capa de márgenes al mapa?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID de la referencia espacial:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Esquema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Campo único a utilizar como identificador:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nombre de la tabla de la capa con margen:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Crear id único</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>público</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Tamaño del margen en unidades del mapa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Crear márgenes de la capa: &lt;/h2&gt;</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ayuda</translation>
+        <translation type="obsolete">&amp;Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
 </context>
 <context>
@@ -4972,30 +5256,30 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ayuda</translation>
+        <translation type="obsolete">&amp;Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este archivo shape contiene palabras reservadas. Esto puede incidir en la importación a PostgreSQL. Editar los nombres de columna para que no se emplee ninguna de las palabras reservadas listadas a la derecha (pulsar sobre &quot;Nombre de Columna&quot; para editar). Si lo desea también puede cambiar cualquier otro nombre de columna.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Palabras Reservadas</translation>
     </message>
@@ -5003,17 +5287,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Estado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Nombre de Columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Índice</translation>
     </message>
@@ -5183,94 +5467,94 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>Herramientas &amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Crear nueva capa GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Crea una capa GPX nueva y la muestra en la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Guardar nuevo archivo GPX como...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>Archivo GPS eXchange (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>No se puede crear el archivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>No se puede crear un archivo GPX con este nombre.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>Inténtelo de nuevo con otro nombre o en otro</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>directorio.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>Cargador de GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>No se puede leer el archivo seleccionado.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Seleccione un archivo válido.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>No se puede inicializar el proceso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>No se puede inicializar GPSBabel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importando datos...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -5279,32 +5563,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Error al importar datos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Sin soporte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>Este receptor no soporta la descarga</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Descargando datos...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -5313,22 +5597,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Error descargando datos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>Este receptor no soporta el migrar datos de</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Migrando datos...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -5337,7 +5621,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Error migrando datos</translation>
     </message>
@@ -5345,22 +5629,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Seleccione un nombre de archivo para guardar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>Formato GPS eXchange (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Seleccionar archivo GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Seleccionar archivo y formato a importar</translation>
     </message>
@@ -5375,30 +5659,30 @@
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ayuda</translation>
+        <translation type="obsolete">&amp;Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Cargar archivo GPX</translation>
     </message>
@@ -5409,44 +5693,44 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX es el &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;formato de archivo GPS eXchange&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, el cual es utilizado para guardar la información de los waypoints, rutas y tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Selecciones un archivo GPX y después el tipo de elemento que quiere cargar.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Archivo:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Elementos:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Waypoints</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Rutas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Tracks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importar otro(s) archivo(s)</translation>
     </message>
@@ -5457,34 +5741,34 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS lee unicamente archivos GPX, pero numerosos formatos se pueden convertir a GPX utilizando GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). Esto requiere que tenga GPSBabel instalado en un directorio donde QGIS pueda encontrarlo.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Seleccione un formato de archivo de GPS y el archivo que quiera importar, el tipo de elemento que quiera utilizar, un nombre para el archivo GPX y el nombre de la nueva capa. No todos los formatos de archivo pueden almacenar waypoints, rutas y tracks, así que algunos tipos de elementos pueden estar deshabilitados para algunos formatos.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nombre de la capa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Archivo de salida GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Tipo de elemento:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Archivo a importar:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Descargar desde GPS</translation>
     </message>
@@ -5495,34 +5779,34 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Esta herramienta le ayudará a descargar datos de un receptor GPS. Seleccione el receptor, el puerto al que se conecta, el tipo de elemento(s) a descargar, el nombre para el nuevo tema y el archivo GPX donde quiere almacenar los datos. Si su receptor no aparece en la lista o si quiere cambiar su configuración, entonces también puede editar los receptores.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Esta extensión utiliza el programa GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) para descargar los datos. Si no tiene GPSBabel instalado en un directorio en el que QGIS pueda encontrarlo, la extensión no funcionará.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Puerto:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Archivo de salida:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Receptor GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Editar receptores</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Migrar al GPS</translation>
     </message>
@@ -5533,42 +5817,88 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Esta herramienta le ayudará a migrar datos de una capa GPX a un receptor GPS. Seleccione la capa que quiere migrar, el receptor GPS y el puerto al que se conecta. Si su receptor no aparece en la lista o si quiere cambiar su configuración, entonces también puede editar los receptores.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Esta extensión utiliza el programa GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) para migrar los datos. Si no tiene GPSBabel instalado en un directorio en el que QGIS pueda encontrarlo, la extensión no funcionará.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Capa de datos:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>URI errónea - necesita especifiar el tipo de elemento.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>Archivo GPS eXchange</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Atención: petición de acceso a una posicion no válida en QgsGPXProvider::minValue(..)</translation>
+        <translation type="obsolete">Atención: petición de acceso a una posicion no válida en QgsGPXProvider::minValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Atención: petición de acceso a una posicion no válida en QgsGPXProvider::maxValue(..)</translation>
+        <translation type="obsolete">Atención: petición de acceso a una posicion no válida en QgsGPXProvider::maxValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitalizado en QGIS</translation>
     </message>
@@ -5576,12 +5906,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
@@ -5596,60 +5926,60 @@
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>Aceptar</translation>
+        <translation type="obsolete">Aceptar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Formato de Archivo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atributos:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Añadir</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Línea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polígono</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Columna 1</translation>
     </message>
@@ -5657,7 +5987,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>Geo&amp;referenciador</translation>
     </message>
@@ -5713,109 +6043,111 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georeferenciar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Archivo raster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Descripción&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta extensión puede generar archivos de referenciación (world files) para imágenes raster. Seleccione puntos en el raster e introduzca sus coordenadas y la extensión generará el archivo de referenciación (world file). Cuantas más coordenadas inserte, mejor será el ajuste.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Introducir coordenadas</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Opciones de combado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Método de remuestreo:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Vecino más próximo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Lineal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Exponencial</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>Aceptar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Usar 0 para transparencia cuando sea necesario</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>Símbolo graduado</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Campo de clasificación:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Modo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Número de Clases:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -5825,22 +6157,22 @@
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Valor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Campo</translation>
     </message>
@@ -5906,77 +6238,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Herramientas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Añadir el mapa seleccionado a la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Copiar el mapa seleccionado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Renombrar el mapa seleccionado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Borrar el mapa seleccionado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Establecer la region actual en el mapa selección</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation>No se puede copiar el mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation>&lt;br&gt;comando:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation>No se puede renombrar el mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Borrar mapa &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation>No se puede borrar el mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>No se puede guardar una nueva región</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5984,256 +6316,256 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation>No es propietario del mapset, no puede abrir el vectorial para su edición.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation>No se puede abrir el vectorial para actualizar.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Herramientas de edición</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nuevo punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nueva línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nuevo límite</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nuevo centroide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Mover vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Añadir vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Borrar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Mover elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Línea divisoria</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Borrar elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Editar atributos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>La tabla ha sido creada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Herramienta todavía no implementada.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation>No se puede comprobar registros huérfanos:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>Se han dejado registros huérfanos en la tabal de atributos. &lt;br&gt;¿Borrar registros?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation>No se puede borrar los registros huérfanos:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation>No se puede clasificar la tabla por el campo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Izquierda:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Medio:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Derecha:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Color</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Índice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6309,32 +6641,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Aceptar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6748,12 +7080,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Ejecutar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Detener</translation>
     </message>
@@ -6763,145 +7095,115 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished">) no se ha encontrado.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
 en la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6952,7 +7254,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6960,17 +7262,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Archivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6978,22 +7280,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7001,42 +7303,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7044,7 +7346,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7052,7 +7354,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7060,70 +7362,70 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
 en la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">No se puede estimar la region actual</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished">No se puede comprobar la region del mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7231,7 +7533,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
@@ -7256,130 +7558,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) no se ha encontrado.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
 en la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Nuevo mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7540,162 +7842,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Abrir mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Nuevo mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Cerrar mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Añadir capa vectorial de GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Añadir capa raster de GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Abrir herramientas de GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Muestra la Region actual de Grass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Edita la Region actual de Grass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Editar Capa Vectorial de Grass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Añade una capa vectorial de GRASS a la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Añade una capa raster de GRASS a la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Muestra la region actual de GRASS como un rectángulo en la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Edita la region actual de GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Editar la capa vectorial de GRASS seleccionada.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>GRA&amp;SS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7703,22 +8005,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7913,39 +8215,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Atención</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -7956,79 +8225,74 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished">) no se ha encontrado.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
 en la línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">columna</translation>
     </message>
@@ -8036,17 +8300,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Generador de Rejilla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Crea una rejilla (grid) y guarda el resultado como un archivo shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Rejilla</translation>
     </message>
@@ -8112,110 +8376,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Plantilla de Extensiones de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Generador de retícula</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Esta extensión le ayudará a construir un archivo shape de retícula que podrá usar como guía en su Vista del Mapa.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Introduzca todas las unidades en grados decimales&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Línea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polígono</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Origen (esquina inferior izquierda)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Latitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Longitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Punto final (esquina superior derecha)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Tamaño de la retícula (unidades en grados)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Intervalo de la Latitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Intervalo de la Longitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Archivo de salida (shape)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8240,7 +8509,7 @@
         <translation>Ayuda de Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
@@ -8250,7 +8519,7 @@
         <translation>Ha fallado el intento de obtener el texto de ayuda de la base de datos</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>La base de datos de ayuda de QGIS no ha sido instalada</translation>
     </message>
@@ -8333,27 +8602,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Objeto Espacial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Ejecutar acción</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Derivado)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>Resultados de la Identicación -</translation>
     </message>
@@ -8622,7 +8891,7 @@
         <translation>Márgen de la Descripción de los Datos</translation>
     </message>
     <message>
-        <location filename="" line="3"/>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="923"/>
         <source>&amp;Colour:</source>
         <translation type="obsolete">&amp;Color:</translation>
     </message>
@@ -8668,184 +8937,311 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Selector de Proyección de la capa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Parece que no se ha especificado ninguna proyección para esta capa. Por defecto, se utilizará la misma que para el proyecto, pero puede modificarla seleccionado una proyección diferente a continuación.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>Aceptar</translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>grupo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Cerrar</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Propiedades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">&amp;Zum a la capa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">&amp;Añadir al localizador</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">&amp;Eliminar del localizador</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>E&amp;liminar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>&amp;Subir el elemento al tope</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">&amp;Editar</translation>
+    </message>
+    <message>
+        <location filename="../src/legend/qgslegend.cpp" line="438"/>
+        <source>&amp;Save as shapefile...</source>
+        <translation type="obsolete">&amp;Guardar como archivo shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>&amp;Renombrar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>&amp;Añadir grupo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation>&amp;Expandir todo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>&amp;Comprimir todo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation>Mostrar grupo de archivos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Abrir tabla de atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Editar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Guardar como archivo shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Capa no Seleccionada</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zum a la capa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Abrir tabla de atributos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Guardar como archivo shape...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Ejecutar</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Propiedades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Salida</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>Selector de Proyección de la capa</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabla de atributos -</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Parece que no se ha especificado ninguna proyección para esta capa. Por defecto, se utilizará la misma que para el proyecto, pero puede modificarla seleccionado una proyección diferente a continuación.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Guardar capa como...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>Aceptar</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Ha fallado el comienzo de la edición</translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>grupo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">El proveedor no se puede abrir para editar</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Propiedades</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Terminar edición</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zum a la capa</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">¿Quiere guardar los cambios?</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation>&amp;Añadir al localizador</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Sí</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>&amp;Eliminar del localizador</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>E&amp;liminar</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation>&amp;Subir el elemento al tope</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">No se pueden realizar cambios</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation>&amp;Editar</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problemas al desinstalar</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Guardar como archivo shape...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>&amp;Renombrar</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>&amp;Añadir grupo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation>&amp;Expandir todo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation>&amp;Comprimir todo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation>Mostrar grupo de archivos</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Error al crear el archivo shape</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">El archivo shape no se ha podido crear (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zum a la capa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Abrir tabla de atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Guardar como archivo shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Propiedades</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8906,58 +9302,53 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>No se puede dibujar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>porque</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zum a la capa seleccionada</translation>
+        <translation type="obsolete">&amp;Zum a la capa seleccionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>Conmutar en el Localizador</translation>
+        <translation type="obsolete">Conmutar en el Localizador</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Eliminar</translation>
+        <translation type="obsolete">&amp;Eliminar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Propiedades</translation>
+        <translation type="obsolete">&amp;Propiedades</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>No se han encontrado objetos espaciales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se han encontrado objetos espaciales en el interior del radio de búsqueda. No es posible utilizar la herramienta de identificación en objetos espaciales sin guardar.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -8968,34 +9359,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -9004,134 +9395,119 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportar a MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Archivo de mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Exportar solo información de la CAPA</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;Aceptar</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Altura</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Unidades</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Tipo de imagen</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>definida por el usuario</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>bmp</translation>
     </message>
@@ -9151,98 +9527,100 @@
         <translation>Prefijo añadido al nombre de los archivos GIF del mapa, la barra de escala y la leyenda creados utilizando este archivo de mapa. Debe de ser corto.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Anchura</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Descripción del Interfaz Web</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Encabezado</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Pie de página</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Plantilla</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Ruta al archivo de plantilla de MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>Pies</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>metros</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>millas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>pulgadas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilómetros</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Prefijo añadido al nombre de los archivos GIF del mapa, la barra de escala y la leyenda creados utilizando este archivo de mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Nombre para el archivo de mapa que se va a generar desde el proyecto de QGIS</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Ruta completa al proyecto de QGIS para exportar al formato de mapa de MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>Proyecto de QGIS</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Si se marca, solo la información de la capa será procesada</translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Seleccionar un directorio</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9280,35 +9658,10 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segmentos (en metros)</translation>
+        <translation type="obsolete">Segmentos (en metros)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9339,6 +9692,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segmentos (en metros)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9435,17 +9824,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Probar conexión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">La conexión a %1 ha sido correcta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9456,7 +9845,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9670,42 +10059,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Inferior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Superior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Superior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Inferior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>Flecha de &amp;Norte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Crea una flecha de norte que se muestra en la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Ilustraciones</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>No se ha encontrado la imagen de flecha de norte</translation>
     </message>
@@ -9713,7 +10102,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>No se ha encontrado la imagen</translation>
     </message>
@@ -9721,100 +10110,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Extensión de Flecha de Norte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Propiedades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Ángulo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Ubicación</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Establece la dirección automaticamente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Activar Flecha de Norte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Ubicación en la pantalla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Superior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Superior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Inferior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Inferior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Previsualización de la flecha de norte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Icono</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nuevo Ítem</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9830,14 +10224,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9845,137 +10231,137 @@
         <translation>Opciones de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Apariencia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>Pantalla de &amp;Bienvenida</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Ocultar pantalla de bienvenida al iniciar la aplicación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Tema de &amp;Iconos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Nota: &lt;/b&gt;Los cambios de tema tendrán efecto la próxima vez que inicie QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Apariencia del Mapa por Defecto (Anulada por las propiedades del proyecto)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Color de selección:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Color de Fondo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Apariencia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Comenzar el nombre de la capa por mayúscula</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Representación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Actualizar durante el dibujado</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>temas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>La Vista del Mapa se actualizará después de que muchos temas sean leídos de la fuente de datos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Actualizar después de leer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Poner a 0 para no actualizar hasta que todos los temas se hayan leído)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Visibilidad Inicial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Las &amp;capas creadas son añadidas a la Vista del Mapa por defecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Representación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Hace que las líneas se muestren menos quebradas a expensas de la calidad del dibujo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Con esta opción desactivará el &quot;hacer las líneas menos quebradas&quot;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Fija problemas con los polígonos con relleno incorrecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Redibujar el mapa cuando se desplaza el borde divisorio entre mapa y leyenda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>Herramientas de &amp;Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Radio de búsqueda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -9988,155 +10374,175 @@
 &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Radio de Búsqueda para Identificar Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Herramienta de medida</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Elipsoide para el cálculo de distancias:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Desplazar y zum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Zum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Zum y centrar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Nada</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Factor de Zum:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Acción de la rueda del ratón:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;yección</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Seleccionar Proyección Global por Defecto...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Cuando se carga una capa que no tiene información sobre la proyección</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Apuntar la proyección.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Se va a utilizar la proyección amplia por defecto del proyecto.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>Se utilizará la proyección Global por defecto &amp;mostrada a continuación.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Navegador de la Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Nota:&lt;/b&gt; El navegador debe estar en la varible PATH o puede especificar la ruta arriba</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Abrir documentación de ayuda con</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">General</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10302,87 +10708,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabla &lt;b&gt;%1&lt;/b&gt; en la base de datos &lt;b&gt;%2&lt;/b&gt; en el servidor &lt;b&gt;%3&lt;/b&gt;, usuario &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Ha Fallado la Conexión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Ha fallado la conexión a la base de datos:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Error de la base de datos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Error al intentar obtener muestras de los valores de los campos utilizando SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Error al intentar obtener muestras de los valores de los campos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Resultados de la Consulta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>La cláusula &quot;donde&quot; (WHERE) ha devuelto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>filas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Ha Fallado la Consulta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Se ha producido un error mientras se ejecutaba la consulta:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Sin Registros</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>La consulta que ha especificado no ha devuelto registros. Las capas válidas de PostgreSQL deben tener al menos un registro.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10523,17 +10924,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Seleccionar un directorio</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>No Hay Extensiones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>No se han econtrado extensiones de QGIS en</translation>
     </message>
@@ -10624,136 +11025,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Acercar Zum</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Alejar Zum</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Zum a la Capa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Hace Zum a la Capa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Mover Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Mueve el mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Añadir Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Capturar Puntos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Borrar Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Borrar Selección</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Lineal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Seleccionar un nombre para el archivo de referenciación (world file)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation>-modificado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Atención</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Una transformación Helmert requiere modificaciones en la capa raster.&lt;/p&gt;&lt;p&gt;El raster modificado será guardado en un archivo nuevo con su correspondiente archivo de referenciación (world file).&lt;/p&gt;&lt;p&gt;¿Está seguor que es esto lo que quiere?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Afinidad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Sin implementar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Una transformación por afinidad requiere cambiar el archivo raster original. Esto todavía no es soportado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt; La</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation>transformación aún no tiene soporte.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>No se puede escribir</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -10795,7 +11201,7 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
@@ -10827,6 +11233,11 @@
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -10849,17 +11260,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>No se puede acceder a la relación</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>No se puede acceder a la</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -10868,12 +11279,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>No Hay Soporte para GEOS</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -10883,12 +11294,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>No hay una columna de clave adecuada</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -10902,116 +11313,116 @@
 clave primaria) o que tenga una columna oid de PostgreSQL.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>El índice único en la columna</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>no es adecuado porque actualmente Qgis no soporta columnas de tipo no-int4 como clave de la tabla.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation>y</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation>Único índice basado en columnas</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation>no es adecuado porque actualmente Qgis no soporta columnas múltiples como clave de la tabla.
  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>No se encuentra una columna de clave</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>deriva de</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>y es adecuada.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation>y no es adecuada</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation>es de tipo</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation>y tiene la reserva adecuada)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation>y no tiene la reserva adecuada)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation>Nota:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>inicialmente adecuado pero no contiene datos únicos, por lo que no es aceptable.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>La vista que ha seleccionado contiene las siguientes columnas, ninguna de las cuales satisface las condiciones:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis necesita que la vista tenga una columna que pueda ser utilizada como clave única. Esta columna puede proceder de una columna de una tabla de tipo int4 y ser una clave primaria, tener una reserva  o bien ser una columna oid de PostgreSQL. Para un mejor funcionamiento la columna también debería estar indexada.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation>La vista</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>no tiene columnas adecuadas para usar como clave única.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>No hay una columna de clave adecuadas en la vista</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>Error al introducir (INSERT error)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Ha ocurrido un error durante la inserción de objetos espaciales</translation>
     </message>
@@ -11020,94 +11431,94 @@
         <source>The sql was:
 
 </source>
-        <translation>El sql fue:
+        <translation type="obsolete">El sql fue:
 
 </translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>Error SQL</translation>
+        <translation type="obsolete">Error SQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>Error al borrar (DELETE error)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Ha ocurrido un error durante el borrado del disco</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>Error de PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">Ha ocurrido un error al contactar con la base de datos PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete">La base de datos PostgresSQL ha devuelto:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation>Cuando se probaba:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Geometría de tipo desconocida</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation>Columna</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>en</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>tiene una geometría de tipo</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, que actualmente Qgis no soporta.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation>Qgis no ha podido determinar el tipo y el srid de columna</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. La anotación (log) de la base de datos fue:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>No se ha podido obtener el tipo ni el srid del tema</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11120,525 +11531,545 @@
         <translation>Propiedades del Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Título del Proyecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Título del proyecto por defecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Nombre descriptivo del proyecto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Unidades del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metros</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Pies</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Grados decimales</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Precisión</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Establece automáticamente el número de lugares decimales para el desplazamiento del ratón</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>El número de lugares decimales usado para el desplazamiento del ratón se establece automaticamente de manera que un movimiento de un solo píxel cambia la información que se muestra</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automática</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Estable el número de lugares decimales que se muestra con la posición del ratón</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manual</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Número de lugares decimales para la opción manual</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>lugares decimales</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalización</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Anchura de Línea:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Anchura de la línea en píxeles</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolerancia del Autoensamblaje:</translation>
+        <translation type="obsolete">Tolerancia del Autoensamblaje:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Tolerancia del autoensamblaje en unidades del mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Color de Línea:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Aspecto del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Seleccionar Color:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Color de Fondo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Proyección</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Activar proyección &quot;al vuelo&quot;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>A&amp;yuda</translation>
+        <translation type="obsolete">A&amp;yuda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>A&amp;plicar</translation>
+        <translation type="obsolete">A&amp;plicar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID:</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID:</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Selector de Proyección</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Proyección</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRS ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SR ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Sistema Espacial de Referencia</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>y todos los archivos</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>No Establecido</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Extensión del Raster:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Área rectortada:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparencia&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparencia&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Controlador:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Descripción del conjunto de datos (Dataset)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensiones:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Bandas:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Valor Sin Datos</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Tipo de Datos:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - 8 bits (números naturales)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - 16 bits (números naturales)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - 16 bits (números enteros)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - 32 bits (números naturales)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - 32 bits (números enteros)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - 32 bits (coma flotante )</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - 64 bits (coma flotante)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Int16 (números complejos)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Int32 (números complejos)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Float32 (números complejos)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Float64 (números complejos)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>No se puede determinar el tipo de datos raster.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Pirámides:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Sistema Espacial de Referencia de la Capa:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Sistema Espacial de Referencia del Proyecto:</translation>
+        <translation type="obsolete">Sistema Espacial de Referencia del Proyecto:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origen:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Tamaño de Píxel:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Estadísticas de la Banda:</translation>
+        <translation type="obsolete">Estadísticas de la Banda:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Propiedad</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Número de Banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>No hay Estadísticas</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Todavía no se han recogido estadísticas</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Valor Mín</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Valor Máx</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Rango</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Suma de cuadrados</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Desviación Estándar</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Suma de todas las celdas</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Celdas</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Acceso de escritura denegado</translation>
+        <translation type="obsolete">Acceso de escritura denegado</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Acceso de escritura denegado. Ajuste las propiedades del archivo e inténtelo de nuevo.
+        <translation type="obsolete">Acceso de escritura denegado. Ajuste las propiedades del archivo e inténtelo de nuevo.
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Ha fallado la construcción de pirámides.</translation>
+        <translation type="obsolete">Ha fallado la construcción de pirámides.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>El archivo no tiene permiso de escritura. Algunos formatos no se pueden escribir, solo se puede leer. Compruebe las propiedades e inténtelo de nuevo.</translation>
+        <translation type="obsolete">El archivo no tiene permiso de escritura. Algunos formatos no se pueden escribir, solo se puede leer. Compruebe las propiedades e inténtelo de nuevo.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Fase Magnética (Magphase) Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>La creación de pirámides no es soportada en este tipo de raster.</translation>
+        <translation type="obsolete">La creación de pirámides no es soportada en este tipo de raster.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>fuera de la extensión</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>nulo (sin datos)</translation>
     </message>
@@ -11646,65 +12077,94 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Escala de grises</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudocolor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Alucinante</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>No Establecido</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Columnas:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Filas:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>Valor Sin Datos:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notas para las Imágenes Multibanda&lt;/h3&gt;&lt;p&gt;Esta es una imagen multibanda. Seleccione visualizarla como una imagen de escala de grises o color (RGB). Para imágenes en color, puede asociar bandas a los colores de forma arbitraria. Por ejemplo, si tiene siete bandas en una imagen Landsat, puede asignarlas de la manera siguiente:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Azul Visible (0.45 a 0.52 micras) - no visualizada&lt;/li&gt;&lt;li&gt;Verde Visible (0.52 a 0.60 micras) - no visualizada&lt;/li&gt;&lt;/li&gt;Rojo Visible (0.63 a 0.69 micras) - asignada al rojo en la imagen&lt;/li&gt;&lt;li&gt;Infrarrojo Cercano (0.76 a 0.90 micras) - asignada al verde en la imagen&lt;/li&gt;&lt;li&gt;Infrarrojo Medioi (1.55 a 1.75 micras) - no visualizada&lt;/li&gt;&lt;li&gt;Infrarrojo Térmico (10.4 a 12.5 micras) - no visualizada&lt;/li&gt;&lt;li&gt;Infrarrojo Medio (2.08 a 2.35 micras) - asignada al azul en la imagen&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notas para las imágenes con Paleta&lt;/h3&gt; &lt;p&gt;Este tipo de imagen utiliza una paleta fija de color. Puede ajustar estos colores a diferentes combinaciones, por ej.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rojo - azul en la imagen&lt;/li&gt;&lt;li&gt;Verde - azul en la imagen&lt;/li&gt;&lt;li&gt;Azul - verden en la imagen&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Notas para las Imágenes de Escala de Grises&lt;/h3&gt; &lt;p&gt;Puede cambiar el formato de esta imagen de escala de grises a pseudocolor utilizando una rampa de color graduado generada automaticamente.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Acceso de escritura denegado</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Acceso de escritura denegado. Ajuste las propiedades del archivo e inténtelo de nuevo.
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Ha fallado la construcción de pirámides.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">El archivo no tiene permiso de escritura. Algunos formatos no se pueden escribir, solo se puede leer. Compruebe las propiedades e inténtelo de nuevo.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">La creación de pirámides no es soportada en este tipo de raster.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -11714,52 +12174,52 @@
         <translation>Propiedades de la Capa Raster</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Simbología</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Mostrar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparencia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Total&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Nada</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Imagen en Escala de Grises</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Imagen en Color</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Invertir Colores del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -11770,142 +12230,142 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Azul&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Verde&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Rojo&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Color</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Color del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Desviación Estándar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Gris</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Diapositiva</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Leyenda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Mostrar Nombre:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Fuente de la Capa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Columnas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Filas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Valor Sin Datos:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>Información Debug</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Visualización Según la Escala</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Escala máxima a la que se mostrará la capa.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Máximo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Escala mínima a la que se mostrará la capa.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Mínimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Sitema de Referencia Espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Cambiar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadatos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pirámides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Resolución de las Pirámides</translation>
     </message>
@@ -11918,7 +12378,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Descripción&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Las capas raster de elevada resolución pueden cargar despacio en QGIS. Creando copias de baja resolución de los datos (pirámides) se puede mejorar el rendimiento de forma considerable, ya que QGIS puede seleccionar la resolución más adecuada dependiendo del nivel de zum. Para ello debe tener permiso de escritura en el directorio donde están almacenados los datos originales sobre los que se van a construir las pirámides. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Nota: la construcción de pirámides puede alterar el archivo original de los datos, y una vez creados no podrán ser eliminadas.&lt;/span&gt;&lt;/p&gt;
@@ -11927,125 +12387,142 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Método de Remuestreo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Vecino Más Próximo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Crear Pirámides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histograma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Opciones</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Columnas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>¿Permitir valores fuera de rango?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Permitir Aproximación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Tipo de Gráfico</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Gráfico de línea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Gráfico de barras</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Actualizar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ayuda</translation>
+        <translation type="obsolete">&amp;Ayuda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>A&amp;plicar</translation>
+        <translation type="obsolete">A&amp;plicar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Descripción&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Las capas raster de elevada resolución pueden cargar despacio en QGIS. Creando copias de baja resolución de los datos (pirámides) se puede mejorar el rendimiento de forma considerable, ya que QGIS puede seleccionar la resolución más adecuada dependiendo del nivel de zum. Para ello debe tener permiso de escritura en el directorio donde están almacenados los datos originales sobre los que se van a construir las pirámides. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Nota: la construcción de pirámides puede alterar el archivo original de los datos, y una vez creados no podrán ser eliminadas.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Nota: la construcción de pirámides puede desvirtuar la imagen - realice siempre una copia de seguridad&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Comando no ejecutable</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>No se puede ejecutar el comando</translation>
+        <translation type="obsolete">No se puede ejecutar el comando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Empezando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
@@ -12053,107 +12530,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Inferior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Superior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Superior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Inferior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Marcas Abajo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Marcas Arriba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Cajetín</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>Barra de &amp;Escala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Crea una barra de escala que se muestra en la Vista del Mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Ilustraciones</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>metros/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>pies</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>grados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation>km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation>mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation>cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation>m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>pie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>grado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>desconocido</translation>
     </message>
@@ -12161,112 +12638,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Extensión de la Barra de Escala</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Pulsar para seleccionar el color</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Tamaño de la barra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Cambiar a numeros redondos al reajustar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Color de la barra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Superior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Superior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Inferior Izquierda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Inferior Derecha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Activar barra de escala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Estilo de la barra de escala:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Seleccionar el estilo de la barra de escala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Marcas Abajo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Marcas Arriba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Cajetín</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Ubicación:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta extensión dibuja una barra de escala en la Vista del Mapa. La opción de tamaño está prefijada y puede ser alterada por QGIS dependiendo del nivel de zum. El tamaño se establece de acuerdo con las unidades del mapa especificadas en las propiedades del proyecto.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -12274,124 +12751,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Se han econtrado %d coincidencias.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>No se han encontrado coincidencias.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Resultados de la búsqueda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Error al analizar la cadena de búsqueda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Sin Registros</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>La consulta no ha generado registros.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>¿Está seguro de que quiere eliminar la</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation>conexión y su configuración?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Confirmar Borrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>Proveedor WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>No se puede conectar al proveedor WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Seleccionar Capa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Debe seleccionar al menos una capa.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Sistema de Coordenadas de Referencia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation>No hay un sistema de coordenadas de referencia para las capas seleccionadas.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Sistema de Coordinas de Referencia (%1 available)</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>La respuesta es ininteligible. El</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>el proveedor ha dicho</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation>Servidores WMS proxy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Numerosos servidores WMS han sido añadidos a la lista de servidores. Los campos proxy se han dejado en blanco y si accede a internete a través de un servidor proxy necesitará rellenar los campos de manera individual con valores apropiados.&lt;/p&gt;</translation>
     </message>
@@ -12517,17 +12989,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12541,130 +13013,135 @@
         <translation>Símbolo Único</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Tapices de Relleno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Sin Relleno</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Anchura del Borde:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Color de Relleno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Color del borde:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Estilo del Borde:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Tamaño</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Símbolo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Etiqueta:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Nombre de Archivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Clase de Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Objetos Espaciales</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>Nombre de la relación de la BBDD</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Esquema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Nueva Conexión</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>¿Está seguor de que quiere eliminar la [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] conexión y sus ajustes?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Confirmar Borrado</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Añadir Archivos Shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Archivos Shape (*.shp);;Todos los archivos (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation>- Editar Nombres de Columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -12673,239 +13150,239 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>MOTIVO: El archivo no se puede abrir</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>MOTIVO: Uno o varios de los archivos del Shape (*.dbf,*shx) no se han encontrado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Ayuda General de la Interfaz:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Conexiones PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Nueva...] - crea una conexión nueva</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Editar...] - edita la conexión seleccionada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Eliminar] - elimina la conexión actual</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>-debe seleccionar una conexión que funcione para poder importar archivos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-cuando se cambian las conexiones del Esquema Global cambia en concordancia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Listado de Archivos Shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Añadir...] - abre un cuadro de diálogo y busca el/los archivo(s) para importar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Eliminar] - elimina el/los archivo(s) seleccionado(s) de la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Eliminar Todo] - elimina todos los archivos de la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - ID de referencia para los archivos shape que se van a importar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Utilizar (SRID) por Defecto] - establecer SRID a -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Columna de la Geometría] - nombre de la columna de la geometría en la base de datos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Utilizar [Nombre de la Columna de la Geometría] por defecto] - establece &quot;the_geom&quot; como el nombre de  la columna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Esquema Global] - establece el esquema para todos los archivos importados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Migrar] - migra el/los archivo(s) shape de la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Cerrar] - sale del programa
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Ayuda] - muestra esta ayuda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Migrar Archivos Shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Primero debe especificar una Conexión</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>La conexión ha fallado - Comprobar los ajustes y probar de nuevo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS no está disponible</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation>&lt;p&gt;La base de datos seleccionada no tiene instalado PostGIS, lo cual es necesario para almacenar los datos espaciales.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Primero debe añadir archivos shape a la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Migrando archivos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Progreso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problemas al insertar objetos espaciales del archivo:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nombre de la tabla sin validez.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>No se han detectado campos.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation>Comprobando si</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Los siguientes campos están duplicados:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Error al ejecutar SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation>&lt;/p&gt;&lt;p&gt;La base de datos ha dicho:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Migrar Archivos Shape - La Relación Existe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>El Archivo Shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>utilizará [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] relación para sus datos,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>que ya existen y posiblemente contenga datos.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Para evitar la pérdida de datos cambie el Nombre de la Relación de la BBDD</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>para este archivo shape en la listado del diálogo principal.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>¿Quiere sobreescribir la [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] relación?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Utilizar la tabla inferior para editar los nombres de columna. Asegúrese que ninguna de los nombres utilizados sea una palabra reservada de PostgreSQL</translation>
     </message>
@@ -12913,140 +13390,140 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Herramienta para migrar archivos shape a PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Herramienta para migrar archivos shape a PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Lista de Archivos Shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Añadir un archivo shape a la lista de archivos a migrar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Añadir</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Eliminir el archivo shape seleccionado de la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Eliminar todos los archivos shape de la lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Eliminar todo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Configurar el SRID al valor por defecto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Utilizar el SRID por Defecto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Configurar la columna de la geometría al valor por defecto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Utilizar el Valor por Defecto para la Columna de la Geometría</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Nombre de la Columna de la Geometría</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Esquema General</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Conexiones PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Crear una conexión nueva a PostGIS
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nueva</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Eliminar la conexión actual a Postgis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Conectar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Editar la conexión actual</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Editar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Migrar los archivos shape a PostGIS</translation>
+        <translation type="obsolete">Migrar los archivos shape a PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Migrar</translation>
+        <translation type="obsolete">Migrar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Cerrar</translation>
+        <translation type="obsolete">Cerrar</translation>
     </message>
 </context>
 <context>
@@ -13062,7 +13539,7 @@
         <translation>Migrar archivos shape a una base de datos PostgreSQL-PostGIS. El esquema y los nombres de los campos se pueden personalizar al importar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Migrar (Spit)</translation>
     </message>
@@ -13070,334 +13547,344 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Campo Clasificatorio:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabla de atributos -</translation>
+        <translation type="obsolete">Tabla de atributos -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Invertir Selección...</translation>
+        <translation type="obsolete">Invertir Selección...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Abortar</translation>
+        <translation type="obsolete">Abortar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Abrir tabla de atributos</translation>
+        <translation type="obsolete">&amp;Abrir tabla de atributos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Editar</translation>
+        <translation type="obsolete">Editar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Guardar como archivo shape...</translation>
+        <translation type="obsolete">Guardar como archivo shape...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>La capa no se puede añadir a</translation>
+        <translation type="obsolete">La capa no se puede añadir a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>El proveedor de datos para esta capa no da soporte para añadir temas.</translation>
+        <translation type="obsolete">El proveedor de datos para esta capa no da soporte para añadir temas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Capa no editable</translation>
+        <translation type="obsolete">Capa no editable</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>La capa activa no se puede editar. Elegir &apos;Comenzar edición&apos; en la barra de digitalización.</translation>
+        <translation type="obsolete">La capa activa no se puede editar. Elegir &apos;Comenzar edición&apos; en la barra de digitalización.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>El proveedor no da soporte para eliminar</translation>
+        <translation type="obsolete">El proveedor no da soporte para eliminar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>El proveedor de datos no da soporte para eliminar temas</translation>
+        <translation type="obsolete">El proveedor de datos no da soporte para eliminar temas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">La capa activa no se puede editar. Seleccione Editar sobre la capa, en el menú del botón derecho del ratón</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Ha fallado el comienzo de la edición</translation>
+        <translation type="obsolete">Ha fallado el comienzo de la edición</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>El proveedor no se puede abrir para editar</translation>
+        <translation type="obsolete">El proveedor no se puede abrir para editar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Terminar edición</translation>
+        <translation type="obsolete">Terminar edición</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>¿Quiere guardar los cambios?</translation>
+        <translation type="obsolete">¿Quiere guardar los cambios?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sí</translation>
+        <translation type="obsolete">&amp;Sí</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;No</translation>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Error</translation>
+        <translation type="obsolete">Error</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>No se pueden realizar cambios</translation>
+        <translation type="obsolete">No se pueden realizar cambios</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Problemas al desinstalar</translation>
+        <translation type="obsolete">Problemas al desinstalar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>No se pueden añadir los objetos espaciales.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>No se realizarán ningún tipo de cambios.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>No se pueden realizar los cambios en los atributos.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Sin embargo, se han añadido los objetos espaciales.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>No se pueden realizar los cambios en la geometría.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Sin embargo, se han realizado los cambiado de los atributos.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>No se pueden borrar los objetos espaciales.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Sin embargo, se han realizado los cambios en la geometría.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>No se puede recuperar objetos espaciales</translation>
+        <translation type="obsolete">No se puede recuperar objetos espaciales</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>El proveedor para la capa activa no puede recuperar la geometría de los objetos espaciales seleccionados. Esta versión no tiene esta capacidad.</translation>
+        <translation type="obsolete">El proveedor para la capa activa no puede recuperar la geometría de los objetos espaciales seleccionados. Esta versión no tiene esta capacidad.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>La capa actual no se puede editar. Seleccione Editar sobre la capa, en el menú del botón derecho del ratón.</translation>
+        <translation type="obsolete">La capa actual no se puede editar. Seleccione Editar sobre la capa, en el menú del botón derecho del ratón.</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Transparencia:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Símbolo Único</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Símbolo Graduado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Color Graduado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Valor Único</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Este botón abre el constructor de consultas de PostgreSQL y le permite crear un subconjunto de objetos espaciales de la capa para mostrar en la Vista del Mapa en vez de mostrarlos todos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>La consulta utilizada para limitar los objetos espaciales de la capa se muestra aquí. Actualmente solo tiene soporte para capas PostgreSQL. Para introducir o modificar una consulta, pulsar sobre le botón Constructor de Consultas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Índice Espacial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>La creación del índice espacial ha sido correcta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Ha fallado la creación del índice espacial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>General:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>Tipo de almacenamiento de esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Fuente de esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Tipo de geometría de los objetos espaciales en esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Número de objetos espaciales en esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>Posibilidades de edición de esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Extensión:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>En unidades del sistema espacial de referencia de esta capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMín,yMín</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation>: xMáx,yMáx</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>En unidades del sistema espacial de referencia del proyecto:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Sistema Espacial de Referencia de la Capa:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Sistema Espacial de Referencia del Proyecto (Salida):</translation>
+        <translation type="obsolete">Sistema Espacial de Referencia del Proyecto (Salida):</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Información del campo del atributo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Campo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Tamaño</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precisión</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13411,145 +13898,145 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Aplicar</translation>
+        <translation type="obsolete">Aplicar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>Aceptar</translation>
+        <translation type="obsolete">Aceptar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Simbología</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Tipo de leyenda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Transparencia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Mostrar el nombre</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Campo para mostrar en la herramienta de identificación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Establece el campo que se mostrará con la herramienta Identificación</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Mostrar campo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Utilice este control para indicar el campo que se situará en el nivel superior del cuadro de diálogo de Resultados de Identificación.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Utilizar la represenación dependiente de la escala</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Máximo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Mínimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Escala mínima a la que se mostrará la capa.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Escala máxima a la que se mostrará la capa.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Índice Espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Crear Índice Espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Crear</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Sistema Espacial de Referencia (SRS)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Cambiar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Subconjunto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Constructor de Consultas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadatos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etiquetas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Mostrar etiquetas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Acciones</translation>
     </message>
@@ -13600,7 +14087,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Añadir capa WFS</translation>
     </message>
@@ -13608,29 +14095,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>¿Está seguro de que quiere eleminar la</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation>conexión y su configuración?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Confirmar la eliminación</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Sí</translation>
+        <translation type="obsolete">Sí</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
 </context>
 <context>
@@ -13668,55 +14155,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation type="obsolete">Ayuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>&amp;Añadir</translation>
+        <translation type="obsolete">&amp;Añadir</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>&amp;Cerrar</translation>
+        <translation type="obsolete">&amp;Cerrar</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Conexiones </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Nuevo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Editar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>Co&amp;nectar</translation>
     </message>
@@ -13724,328 +14211,427 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation>URL:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>Excepción HTTP</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>Excepción del servicio WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>Excepción DOM</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>No se puede obtener habilidades (get capabilities) WMS: %1 en la línea %2 columna %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Probablemente se deba a una URL incorrecta del servidor WMS.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>No se puede obtener habilidades (get capabilities) WMS en el formato esperado (DTD): no se ha encontrado %1 o %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>No se puede obtener una Excepción del Servicio WMS en %1: %2 en la línea %3 columna %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>La solicitud contiene un Formato que no ofrece el servidor.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La solicitud contiene un CRS que no ofrece el servidor para una o más Capas.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La solicitud contiene un SRS que no ofrece el servidor para una o más Capas.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>La solicitud de obtención del mapa (GetMap) es para una Capa que no ofrece el servidor, o la solicitud de información del tema (GetFeatureInfo) es para una Capa que no se mustra en el mapa.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>La solicitud es para una Capa con un Estilo que no ofrece el servidor.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>La solicitud de información del tema (GetFeatureInfo)  se aplica a una capa declarada &quot;no consultable&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>La solicitud de información del tema (GetFeatureInfo) contiene valores no válidos de X o Y.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>El valor del parámetro (opcional) UpdateSequence en la consulta GetCapabilities es equivalente al valor actual del número de secuencia del servicio de actualización de los metadatos.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>El valor del parámetro (opcional) UpdateSequence en la consulta GetCapabilities es mayor que el valor actual del número de secuencia del servicio de actualización de los metadatos.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>La consulta no incluye un valor de muestra para la dimensión y el servidor no ha declarado un valor por defecto para esa dimensión.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>La consulta contiene un valor de muestra para la dimensión no válido.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>La solicitud es para una operación opcional no soportada por el servidor.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Código de error desconocido de un servidor post-1.3 WMS)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation>El productor WMS también ha generado información:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>Esto probablemente se deba a un fallo (&quot;bug&quot;) en el programa. Por favor, informe de este error.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Propiedades del Servidor:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Propiedad</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>Versión WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Título</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Resumen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Palabras Clave</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Recursos en Línea</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Persona de Contacto</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Cuotas</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Restricciones de Acceso</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Formatos de Imagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Formatos de Identificación</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Capas</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>Propiedades de la Capa:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Seleccionado</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Sí</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>No</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Visibilidad</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Visible</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Oculta</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Se Puede Identificar</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Puede ser Transparente</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Se Puede Acercar el Zum</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Cuenta en Cascada</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Anchura Fija</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Altura Fija</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>Marco de la WGS 84</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Disponible en CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Disponible en estilo</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Plantilla de Extensiones de QGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Plantilla de Extensión</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Plantilla de Extensiones de QGIS</translation>
+        <translation type="obsolete">Plantilla de Extensiones de QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;Aceptar</translation>
+        <translation type="obsolete">&amp;Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Plantilla de Extensión</translation>
+        <translation type="obsolete">Plantilla de Extensión</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;¡Bienvenido a su generador automático de extensiones!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este solo es un punto de arranque. Primero necesita modificar el código para hacer de él algo útil....continúe leyendo para obtener más información.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentación:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Es necesario que lea la documentación de la API de QGIS en el vínculo:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;En particular fíjese en las siguientes clases:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface es una clase básica abstracta (ABC) que especifica qué características de QGIS están disponibles públicamente para código de terceros y extensiones. QgisInterface es una implementación concreta de esta ABC. La mejor manera de realizar operaciones en QGIS es vía QGisInterface. Una instancia del QgisInterface se pasa a la extensión en el momento en que se carga. Consulte al equipo de desarrollo de QGIS si se requiere una funcionalidad de QGisInterface que no esté disponible.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin es una ABC que define la conducta que debe seguir su extensión. Siga leyendo para más detalles.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;¿Para qué sirven todos los archivos generados en el directorio de mi extensión?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este es el Makefile que se ha generado con las especificaciones de su extensión. Como puede ver especifica c++ incluidas las rutas (-I) y enlaces a librerías -l) a Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui y QGis Raster. Debería añadir su aplicación y su código fuente y dependencias específicas a este Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es la clase que &quot;encola&quot; su aplicación con QGIS. Como puede ver, ya existe un numeroso número de métodos implementados - incluyendo algunos ejemplos de cómo añadir capas raster o vectoriales a la Vista del Mapa de la aplicación principal. Esta clase es una concreción del interfaz QgisPlugin que es el que define el comportamiento requerido para una extensión. En particular, una extensión tiene un número de métodos estáticos y miembros, así que el QgsPluginManager el Administrado de Extensiones pueden identificar cada extensión, crear las entradas de menú apropiadas para él, etc. Dese cuenta que nada le impide crear múltiples barras de herramientas, iconos y entradas de menú para una extensión. Por defecto, se crea una entrada de menu y un botón en la barra de heramientas preconfigurado para llamar a la aplicación (run() method) de esta clase cuando se pulsa. Esta implementación facilitada por el Generador de Extensiones está bien documentada, por lo que puede ver el código para una mejor comprensión.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es una ABC implementada en Qt4 como un archivo de diseño de interfaz de usuario. Define la apariencia del menú de la extensión por defecto sin implementar ninguna aplicación lógica. Puede modificar este formulario para ajustarse a sus necesidades o puede eliminarlo si la extensión no necesita ningún menú (por ej. herramientas personalizadas).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es la clase en donde debería ir el diálogo de la aplicación lógica mencionada antes.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Este es el archivo de recursos Qt4 para su extensión. El archivo Make (Makefile) generado para su extensión está configurado para compilar el archivo de recursos, así que todo lo que necesita es añadir sus iconos adicionales utilizando un sencillo archivo en formato xml. Anote el espacio del cuadro del nombre de todos sus recursos, por ej.(&quot;:/[pluginname]/&quot;). Es importante utilizar el mismo prefijo para todos sus recursos. Le sugerimos que incluya también cualquier otra imagen y datos extra en este archivo de recursos.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Este es el icono que se utilizará para el menú de su extensión y para su barra de herramientas. Simplemente reemplace este icono por el suyo para distinguir su extensión del resto.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este archivo contiene la documentación que está leyendo&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Obteniendo ayuda para el desarrollo:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Para cuestiones y comentarios relativos a la plantilla del Constructor de Extensiones y crear sus propios objetos en QGIS utilizando la interfaz de extensiones, contacte con nosotros vía:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * lista de correo de desarrolladores de QGIS, o&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis en freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS se rige bajo la Gnu Public License. Si crea una extensión útil tenga en cuenta que puede contribuir con ella a la comunidad.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Diviértase y gracias por escoger QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;El Equipo QGIS&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;¡Bienvenido a su generador automático de extensiones!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este solo es un punto de arranque. Primero necesita modificar el código para hacer de él algo útil....continúe leyendo para obtener más información.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentación:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Es necesario que lea la documentación de la API de QGIS en el vínculo:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;En particular fíjese en las siguientes clases:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface es una clase básica abstracta (ABC) que especifica qué características de QGIS están disponibles públicamente para código de terceros y extensiones. QgisInterface es una implementación concreta de esta ABC. La mejor manera de realizar operaciones en QGIS es vía QGisInterface. Una instancia del QgisInterface se pasa a la extensión en el momento en que se carga. Consulte al equipo de desarrollo de QGIS si se requiere una funcionalidad de QGisInterface que no esté disponible.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin es una ABC que define la conducta que debe seguir su extensión. Siga leyendo para más detalles.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;¿Para qué sirven todos los archivos generados en el directorio de mi extensión?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este es el Makefile que se ha generado con las especificaciones de su extensión. Como puede ver especifica c++ incluidas las rutas (-I) y enlaces a librerías -l) a Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui y QGis Raster. Debería añadir su aplicación y su código fuente y dependencias específicas a este Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es la clase que &quot;encola&quot; su aplicación con QGIS. Como puede ver, ya existe un numeroso número de métodos implementados - incluyendo algunos ejemplos de cómo añadir capas raster o vectoriales a la Vista del Mapa de la aplicación principal. Esta clase es una concreción del interfaz QgisPlugin que es el que define el comportamiento requerido para una extensión. En particular, una extensión tiene un número de métodos estáticos y miembros, así que el QgsPluginManager el Administrado de Extensiones pueden identificar cada extensión, crear las entradas de menú apropiadas para él, etc. Dese cuenta que nada le impide crear múltiples barras de herramientas, iconos y entradas de menú para una extensión. Por defecto, se crea una entrada de menu y un botón en la barra de heramientas preconfigurado para llamar a la aplicación (run() method) de esta clase cuando se pulsa. Esta implementación facilitada por el Generador de Extensiones está bien documentada, por lo que puede ver el código para una mejor comprensión.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es una ABC implementada en Qt4 como un archivo de diseño de interfaz de usuario. Define la apariencia del menú de la extensión por defecto sin implementar ninguna aplicación lógica. Puede modificar este formulario para ajustarse a sus necesidades o puede eliminarlo si la extensión no necesita ningún menú (por ej. herramientas personalizadas).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Esta es la clase en donde debería ir el diálogo de la aplicación lógica mencionada antes.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Este es el archivo de recursos Qt4 para su extensión. El archivo Make (Makefile) generado para su extensión está configurado para compilar el archivo de recursos, así que todo lo que necesita es añadir sus iconos adicionales utilizando un sencillo archivo en formato xml. Anote el espacio del cuadro del nombre de todos sus recursos, por ej.(&quot;:/[pluginname]/&quot;). Es importante utilizar el mismo prefijo para todos sus recursos. Le sugerimos que incluya también cualquier otra imagen y datos extra en este archivo de recursos.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Este es el icono que se utilizará para el menú de su extensión y para su barra de herramientas. Simplemente reemplace este icono por el suyo para distinguir su extensión del resto.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Este archivo contiene la documentación que está leyendo&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Obteniendo ayuda para el desarrollo:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Para cuestiones y comentarios relativos a la plantilla del Constructor de Extensiones y crear sus propios objetos en QGIS utilizando la interfaz de extensiones, contacte con nosotros vía:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * lista de correo de desarrolladores de QGIS, o&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis en freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS se rige bajo la Gnu Public License. Si crea una extensión útil tenga en cuenta que puede contribuir con ella a la comunidad.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Diviértase y gracias por escoger QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;El Equipo QGIS&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Longitud:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">No</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Latitud:</translation>
+    </message>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Reemplazar con una breve descripción de la extensión</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_fr.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_fr.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_fr.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR Driver Manager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>Incapable d&apos;obtenir OGRDriverManager </translation>
     </message>
@@ -24,61 +24,107 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Entrez les coordonnées de carte </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Annuler</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Stopper</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Statut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+</context>
+<context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Aucun fournisseur de données</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Aucun plugin de fournisseur de données</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Aucune couche vecteur ne peut être importée. Vérifiez l&apos;installation de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Aucun plugin de fournisseur de données disponible. Aucune couche vecteur ne peut être chargée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Fichiers QGIS (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Ouvrir une couche soutenue par OGR </translation>
     </message>
@@ -88,192 +134,192 @@
         <translation type="obsolete">Erreur de lecture de fichier-projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> à la ligne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> colonne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> pour le fichier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Inpossible de sauvegarder le fichier</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Les expressions régulières sur des valeurs numériques ne sont pas comprises. Utilisez plutôt l&apos;opérateur de comparaison</translation>
+        <translation type="obsolete">Les expressions régulières sur des valeurs numériques ne sont pas comprises. Utilisez plutôt l&apos;opérateur de comparaison</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation> La colonne référencée n&apos;a pas été trouvée: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Division par zéro.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Aucune couche active</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Pour identifier des données, vous devez d&apos;abord activer une couche en cliquant sur son nom dans la légende</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Bande</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>action</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> les données ont été trouvées</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 donnée trouvée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Aucune donnée trouvée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Aucune donnée n&apos;a été trouvée au point où vous avez cliqué dans la couche active</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>N&apos;a pas pu identifier des objets sur </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>parce que</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Pour sélectionner des données, vous devez d&apos;abord activer une couche en cliquant sur son nom dans la légende</translation>
+        <translation type="obsolete">Pour sélectionner des données, vous devez d&apos;abord activer une couche en cliquant sur son nom dans la légende</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nouveau Centroïde</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nouveau Point</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nouveau sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Défaire le dernier point </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Fermer la ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Sélectionner un sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Sélectionnez une nouvelle position</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Sélectionner un segment de ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nouvelle position du sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Déselectionner</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Effacer un sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Dernier sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Sélectionnez un élément</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nouveau Secteur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Release sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Effacer la sélection / sélectionner le suivant</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Sélectionner une position sur la ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Couper la ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Déselectionner la ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Sélectionner un point de la ligne</translation>
     </message>
@@ -283,27 +329,27 @@
         <translation type="unfinished">Etiquette</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished">Longueur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -313,37 +359,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -369,12 +415,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -419,12 +465,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -439,32 +485,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -494,82 +540,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">La couche ne peut être ajoutée à</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Le fournisseur de données pour cette couche ne soutient pas l&apos;addition des données. </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Couche non éditable</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"> pied</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"> pieds</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">  degrés</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"> degrés</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> inconnu</translation>
     </message>
@@ -619,279 +848,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Couche non éditable</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Erreur</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Lignes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Points</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Base de données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Table</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -911,52 +1090,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -964,167 +1143,167 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Version </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>avec support PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(pas de support PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Plugins de fournisseurs de données disponibles</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>ce n&apos;est pas une source de données valide ou reconnue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>source de données invalide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Aucune couche sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Pour ouvrir une table d&apos;attribut, vous devez d&apos;abord sélectionner une couche dans la légende</translation>
+        <translation type="obsolete">Pour ouvrir une table d&apos;attribut, vous devez d&apos;abord sélectionner une couche dans la légende</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Pas de plugins MapLayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Aucun plugin MapLayer dans ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Pas de plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Aucun plugin trouvé dans ../plugins. Pour tester les plugins, démarrez QGIS depuis le répertoire source</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 est nommé %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Information sur le Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS a chargé le plugin suivant:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nom: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Version: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Description: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Impossible de charger le plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS est incapable de charger le plugin à partir de : %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Une nouvelle version de QGIS est disponible</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Vous utilisez une version de développement de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Vous utilisez la version courante de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Voulez-vous plus d&apos;information?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Information de version de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Impossible de récupérer la version courante depuis le serveur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Connection refusée - le serveur est peut-être indisponible</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Le serveur QGIS n&apos;a pas été trouvé</translation>
     </message>
@@ -1139,147 +1318,147 @@
         <translation type="obsolete">Impossible de se connecter au serveur de Version de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Couche Invalide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 est une couche invalide et ne peut être chargée.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Erreur de chargement de Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Il y a eu une erreur au chargement de %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Carte sauvegardée sous</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Choisissez un nom de fichier et sauvegarder l&apos;image de la carte sous</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Emprises:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problème lors de l&apos;effacement des données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Un problème est apparu lors de l&apos;effacement des données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Aucune couche vecteur sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>L&apos;effacement des données ne peut s&apos;appliquer qu&apos;à des couches vectorielles</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Pour effacer des données, vous devez sélectionner une couche vecteur dans la légende</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS est sous license GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Carte des légendes affichant toutes les couches actuellement posées sur le canevas. Cochez la case pour activer ou non une couche. Double-cliquez sur une couche dans la légende afin de modifier son apparence et ses propriétés.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Canevas de prévisualisation des cartes. Il peut être utilisé afin d&apos;afficher une représentation de l&apos;agrandissement courant du canevas des cartes. La zone agrandie est signalée par un rectangle rouge. Toutes les couches de la carte peuvent être ajoutées au canevas de prévisualisation.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Canevas des cartes. Cette zone sert à l&apos;affichage des couches rasters et vectorielles ajoutées à la carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Barre de progression affichant l&apos;état d&apos;avancement du rendu des couches et d&apos;autres opérations gourmandes en temps de CPU</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Affiche l&apos;échelle courante de la carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Montre les coordonnées du point sous le curseur dans l&apos;unité de la carte. L&apos;affichage est mis à jour à chaque mouvement de souris.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Rendu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Si elle est cochée, les couches de la carte sont actualisées (opérations de calcul et d&apos;affichage) à chaque commande de navigation sur la carte et à d&apos;autres évènements. Sinon, aucune actualisation n&apos;est faite. Cela vous permet d&apos;ajouter un grand nombre de couche et de les identifier avant le rendu à l&apos;écran.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Choisissez un fichier projet QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Impossible de sauvegarder le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Impossible de sauvegarder le projet sous</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Rendu de carte </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Cette icône montre si la projection en cours est permise ou pas.  Cliquez sur l&apos;icône pour afficher la boîte de dialogue de propriétés de projet pour modifier ce comportement. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Statut de la projection - cliquez pour ouvrir la boîte de dialogue de projection </translation>
     </message>
@@ -1289,9 +1468,9 @@
         <translation type="obsolete">Gardez appuyé pour projeter automatiquement des couches de différents systèmes de coordonnées </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Cartographeur pour créer des mises en page de carte</translation>
+        <translation>Cartographeur pour créer des mises en page de carte</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1359,304 +1538,304 @@
         <translation type="obsolete">Améliorations de l&apos;outil d&apos;exportation dans Mapserver </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Ouvrez une couche de vecteur gérée par OGR </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Sauvegarder sous</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Choisissez un fichier projet QGIS à ouvrir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Erreur de lecture du Projet QGIS </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Essayer de trouver les couches manquantes? </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Projet sauvegardé sous : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Sélection du navigateur QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Écrivez le nom d&apos;un navigateur internet à utiliser (par exemple, konqueror). </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Entrez le chemin complet si le navigateur n&apos;est pas dans votre PATH.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Ouvrez des données raster gérées par GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Options de lecture </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Installation de l&apos;interface graphique</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Vérification de la base de données </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Reconstitution des plugins chargés </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Initialisation des fichiers de filtre </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Reconstitution de l&apos;état des fenêtres</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS prêt!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nouveau Projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nouveau Projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Ouvrir un projet...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Ouvrir un projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Sauvegarder le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>S&amp;auvegarder le projet sous...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Sauvegarder le projet sous un nouveau nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>Im&amp;primer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Imprimer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Sauvegarder comme image...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Sauvegarder la carte comme image</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exporter la carte vers MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exporter vers MapServer en fichier .map</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Sortir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Sortir de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Ajouter une couche vecteur...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Ajouter une couche vecteur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Ajouter une couche raster...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Ajouter une couche raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Ajouter une couche PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Ajouter une couche PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nouvelle couche vectorielle...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Créer une nouvelle couche vectorielle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Supprimer la Couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Enlever une Couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Ajouter tout dans l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Montrer toutes les couches dans l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Enlever tout de l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Enlever toutes les couches de l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Afficher toutes les couches</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Montrer toutes les couches</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Cacher toutes les couches</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Cacher toutes les couches</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Propriétés du projet...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Affiche les propriétés du projet </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Options...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Changez les diverses options de QGIS </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Projection pré-établie...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Contrôlez les projections pré-établie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Table des matières de l&apos;Aide </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Documentation de l&apos;Aide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Site officiel de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Site officiel de QGIS</translation>
     </message>
@@ -1671,207 +1850,207 @@
         <translation type="obsolete">Visitez la page de QGIS SourceForge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>A propos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>A propos de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Vérifier la version de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Vérifiez si votre version de QGIS est à jour (exige l&apos;accès à Internet) </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Rafraîchir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Rafraîchir la carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Zoom +</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Zoom -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Zoomez sur l&apos;étendue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Zoomez sur l&apos;étendu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Zoomez sur la sélection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zoomez sur la sélection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Se déplacer dans la carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Se déplacer dans la carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Zoom précédent</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zoomez à la précédente étendue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Zoomez sur la couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zoomez sur la couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identifiez les données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Cliquez sur les données pour les identifier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Sélectionne les données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Ouvre la table</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation> Mesure la longueur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Mesure une ligne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Mesure d&apos;aire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Mesure une aire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Montre les signets</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nouveau signet...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nouveau signet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Ajouter une couche WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Ajoute une couche Web Mapping Server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Ajouter dans l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Ajoute la couche courante dans l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Gestionnaire de Plugin...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Ouvre le gestionnaire de plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Capturer le point</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Capturer les points</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Capturer la ligne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Capturer les lignes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Capturer le polygone</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Capturer les polygones</translation>
     </message>
@@ -1881,122 +2060,122 @@
         <translation type="obsolete">Effacer la sélection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Effacer la sélection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Ajoutez un sommet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Effacez un sommet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Déplacez le sommet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Fichier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Ouvrir un projet récent</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Vue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Préférences</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Fichier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Contrôlez Les Couches </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Aide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Numérisation </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navigateur de carte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Attributs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Prêt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Nouvelles données</translation>
+        <translation>Nouvelles données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Impossible d&apos;ouvrir le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Impossible de sauvegarder le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Choisissez un nom de fichier pour sauvegarder le projet QGIS sous</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: impossible de charger le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Impossible de charger le projet</translation>
     </message>
@@ -2011,416 +2190,571 @@
         <translation type="obsolete">Aucune couche à exporter.  Vous devez ajouter au moins une couche à la carte afin de pouvoir exporter la vue. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Changement de SVN depuis la dernière sortie de version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>La couche n&apos;est pas valide</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>La couche n&apos;est pas une couche valide et ne peut pas être ajoutée à la carte </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Sauvegarder ?</translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
         <source>Do you want to save the current project?</source>
-        <translation type="obsolete">Voulez-vous sauvegarder le projet courant ?</translation>
+        <translation type="unfinished">Voulez-vous sauvegarder le projet courant ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation> Contenu du presse-papier réglé sur: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation>n&apos;est pas une source raster valide ou identifiée  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> n&apos;est pas une source de données raster gérées</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Source de données non gérée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Entrer un nom pour le nouveau signet:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Impossible de créer le signet.  Votre base de données utilisateur est peut-etre manquante ou corrompue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Sauvegarder le projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Sauvegarder le projet sous un nouveau nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Sauvegarder la carte comme image</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>Définir les propriétés du projet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Zoom +</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Zoom -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Zoom sur l&apos;emprise</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Mesurer une aire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>Afficher les signets</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>Ajouter la couche courante à l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Commencer l&apos;édition de la couche courante</translation>
+        <translation type="obsolete">Commencer l&apos;édition de la couche courante</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Stopper l&apos;édition de la couche courante</translation>
+        <translation type="obsolete">Stopper l&apos;édition de la couche courante</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Vous pouvez modifier cette option plus tard en sélectionnant Options dans le menu Préférences (dans l&apos;Aide).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="601"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Le fournisseur ne supporte pas l&apos;effacement</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Le fournisseur de données ne supporte pas l&apos;effacement des propriétés</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Couche non éditable</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>Fenêtre principale</translation>
     </message>
@@ -2443,42 +2777,42 @@
         <translation>A propos de Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>A propos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Quoi de neuf</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Page d&apos;accueil de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>S&apos;inscire à la liste de discussion des utilisateurs de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Fournisseurs</translation>
     </message>
@@ -2488,61 +2822,61 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Quantum GIS est sous GNU General Public License&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Développeurs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS Développeurs&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>Sélection du navigateur QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation>Entrez le nom du navigateur internet à utiliser (par exemple, konqueror). Entrez le chemin complet du navigateur s&apos;il n&apos;est pas dans votre PATH. Vous pouvez modifier cette option plus tard en sélectionnant Options dans le menu Préférences (dans l&apos;Aide).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2575,22 +2909,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2770,7 +3104,7 @@
         <translation type="obsolete">&lt;center&gt;Exécuter l&apos;action&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2911,79 +3245,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>sélection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>sélectionnez et glissez-déplacez au dessus </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>affichez seulement les correspondances </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Erreur de recherche pour les caractères</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Résultats de la recherche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Vous avez fourni une chaîne de caractère de recherche vide.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Erreur durant la recherche</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Trouve %d dans les données.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Aucune donnée correspondante trouvée.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Arrêter l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Voulez-vous sauvegarder les modifications ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Erreur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">N&apos;a pas pu faire un commit des changements</translation>
     </message>
@@ -2991,42 +3325,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Voulez-vous vraiment effacer ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation> Êtes vous sûr de vouloir supprimer </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> signet ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Oui</translation>
+        <translation type="obsolete">&amp;Oui</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Non</translation>
+        <translation type="obsolete">&amp;Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -3098,22 +3432,22 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> pour lecture/écriture </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Choisissez un nom de fichier pour sauvegarder la carte sous</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Choisissez un nom de fichier pour sauvgarder la carte sous</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Erreur lors de l&apos;impression</translation>
     </message>
@@ -3123,17 +3457,17 @@
         <translation type="obsolete">Impossible de formater la boîte englobante (BoundingBox)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Impossible de rechercher</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Impossible d&apos;écraser la boîte englobante (BoundingBox)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Impossible de trouver la boîte englobante (BoundingBox)</translation>
     </message>
@@ -3143,87 +3477,87 @@
         <translation type="obsolete">Impossible de formater la traduction</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Impossible d&apos;écraser la traduction</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Impossible de trouver la traduction</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Erreur d&apos;entrée/sortie fichier</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Le choix de format papier ne correspond pas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>La taille de papier sélectionnée ne cadre pas avec les dimensions de la mise en page</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Grande image</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Pour créer une image</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation> requiert approximativement</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB de mémoire</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3357,32 +3691,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Carte %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Emprise (calculez l&apos;échelle) </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Echelle (calculez l&apos;emprise)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Rendu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Rectangle</translation>
     </message>
@@ -3468,22 +3802,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Impossible de charger l&apos;image.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Choisir un fichier</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3572,37 +3906,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Couches</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Groupe</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Combiner les couches sélectionnées</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Rendu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Rectangle</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">Légende</translation>
     </message>
@@ -3648,114 +3982,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Personnalisation</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Lettre (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Légal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Portrait</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Paysage</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Mémoire insuffisante</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation>QGIS est incapable de changer la taille du papier en raison d&apos;une mémoire insuffisante. Il vaudrait mieux éviter d&apos;utiliser le Cartographeur jusqu&apos;à ce que vous ayez relancer QGis.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etiquette</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Impossible de charger l&apos;image.</translation>
     </message>
@@ -3806,27 +4140,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Test de connexion</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation> Connecté à</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> a été réussi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation> connexion échouée - Vérifiez les options et réessayez</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3843,32 +4177,32 @@
         <translation>Information de connexion</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Hôte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Base de données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Nom d&apos;utilisateur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nom de la nouvelle connexion</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Mot de Passe</translation>
     </message>
@@ -3885,22 +4219,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="obsolete">Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -3908,12 +4242,12 @@
         <translation>Créer une nouvelle connexion PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -3959,32 +4293,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Échoué </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformée de </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation> avec l&apos;erreur: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -3992,17 +4326,17 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Coin inférieur gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Coin supérieur gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Coin supérieur droit</translation>
     </message>
@@ -4012,17 +4346,17 @@
         <translation>&amp;Décorations</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Créer un copyright qui sera disposé dans la carte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Coin Inférieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>Etiquette de Copyright</translation>
     </message>
@@ -4082,22 +4416,22 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="34"/>
@@ -4112,7 +4446,7 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -4139,85 +4473,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Supprimer la définition de la projection ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Supprimer une définition de projection n&apos;est pas réversible.  Voulez-vous vraiment la supprimer ? </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Abandon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nouveau</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Custom Projection</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Cette définition de la projection proj4 n&apos;est pas valide.  Veuillez donner un nom à la projection avant de cliquer sur sauvegarder. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Cette définition de la projection proj4 n&apos;est pas valide.  Veuillez ajouter les paramètres avant de cliquer sur sauvegarder. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Cette définition de la projection proj4 n&apos;est pas valide.  Veuillez ajouter un proj = la clause avant de cliquer sur sauvegarder.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Cette définition de l&apos;ellipsoïde proj4 n&apos;est pas valide.  Veuillez ajouter les ellips = la clause avant de cliquer sur sauvegarder. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Cette définition de la projection proj4 n&apos;est pas valide.  Veuillez corriger avant de cliquer sur sauvegarder. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Cette définition de la projection proj4 n&apos;est pas valide. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Nord et Est doivent être sous forme décimale. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Erreur interne (source de projection invalide?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Définition d&apos;une projection personnalisée</translation>
     </message>
@@ -4227,171 +4551,187 @@
         <translation>Définition</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Paramètres:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 sur 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nouveau</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Sauvegarder</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Effacer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nom:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Test</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformée de WGS84 à la projection choisie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Calculez</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Système de coordonnées du projet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Géographique / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Nord:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Est:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Vous pouvez définir votre projection personnalisée ici. La définition doit se conformer au format proj4 pour ce qui est de la spécification du Système de Référence Spatial.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Vous pouvez définir votre projection personnalisée ici. La définition doit se conformer au format proj4 pour ce qui est de la spécification du Système de Référence Spatial.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilisez les boîtes ci-dessous pour tester la définition de la projection que vous souhaitez créer. Entrez les coordonnées pour lesquelles la latitude/longitude et la définition de projection sont connues (par exemple en lisant la carte). Puis appuyez sur le bouton calculer pour voir si la projection que vous avez défini est juste.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilisez les boîtes ci-dessous pour tester la définition de la projection que vous souhaitez créer. Entrez les coordonnées pour lesquelles la latitude/longitude et la définition de projection sont connues (par exemple en lisant la carte). Puis appuyez sur le bouton calculer pour voir si la projection que vous avez défini est juste.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Ëtes-vous sûr de vouloir retirer la</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>connexion et tous les paramètres associés?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Confirmer l&apos;effacement</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Sélectionner une Table</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Vous devez sélectionner une table afin de pouvoir ajouter une Couche.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Mot de passe pour</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Entrez votre mot de passe s&apos;il vous plaît:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>La connexion a échoué</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation> Accédez à la relation </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> utilisation de sql;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -4400,72 +4740,72 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Couche de points</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Couche multi-points</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Couche de lignes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Couche multi-lignes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Couche de polygones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Couche multi-polygones</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Couche de géométries diverses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Couche de géométries</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>En attente du type de couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Type de couche inconnu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>La connexion à %1 et %2 a échoué. Soit la base de données est tombée en rade, soit vos préférences sont incorrectes.%3Vérifiez votre nom d&apos;utilisateur et votre mot de passe et réessayez. %4La base de donnée dit:%5%6</translation>
     </message>
@@ -4569,7 +4909,7 @@
 <context>
     <name>QgsDelimitedTextPlugin</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Délimiteur de texte</translation>
     </message>
@@ -4602,30 +4942,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Pas de nom de couche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Entrez s&apos;il vous plaît un nom de couche avant d&apos;ajouter la couche à la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Pas de délimiteur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Spécifiez s&apos;il vous plaît un délimiteur avant d&apos;analyser le fichier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Choisissez un fichier CSV à ouvrir</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -4637,185 +4987,185 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="obsolete">Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Aide sur l&apos;utilisation du plugin</translation>
+        <translation type="obsolete">Aide sur l&apos;utilisation du plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Ouvre l&apos;aide du plugin d&apos;importation de fichier CSV dans votre navigateur internet</translation>
+        <translation type="obsolete">Ouvre l&apos;aide du plugin d&apos;importation de fichier CSV dans votre navigateur internet</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Lister les en-têtes de ligne et mettre à jour les les champs X et Y</translation>
+        <translation type="obsolete">Lister les en-têtes de ligne et mettre à jour les les champs X et Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Lister l&apos;en-tête de ligne du fichier d&apos;entrée et rafraîchir les champs des listes déroulantes X et Y. Utilisez ce bouton pour rafraîchir les champs des listes si vous changez le délimiteur après avoir choisi le fichier CSV.</translation>
+        <translation type="obsolete">Lister l&apos;en-tête de ligne du fichier d&apos;entrée et rafraîchir les champs des listes déroulantes X et Y. Utilisez ce bouton pour rafraîchir les champs des listes si vous changez le délimiteur après avoir choisi le fichier CSV.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Crée une couche en utilisant les paramètres spécifiés et l&apos;ajoute à la carte. La boîte de dialogue reste ouverte afin d&apos;ajouter d&apos;autres couches.</translation>
+        <translation type="obsolete">Crée une couche en utilisant les paramètres spécifiés et l&apos;ajoute à la carte. La boîte de dialogue reste ouverte afin d&apos;ajouter d&apos;autres couches.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Fermer la boîte de dialogue</translation>
+        <translation type="obsolete">Fermer la boîte de dialogue</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Fermer la boîte de dialogue sans rien ajouter à la carte.</translation>
+        <translation type="obsolete">Fermer la boîte de dialogue sans rien ajouter à la carte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Champ X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nom du champ contenant les valeurs X</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nom du champ contenant les valeurs X. Choisissez un champ dans la liste. La liste est générée en listant l&apos;en-tête de ligne du fichier CSV.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Champ Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nom du champ contenant les valeurs Y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nom du champ contenant les valeurs Y. Choisissez un champ dans la liste. La liste est générée en listant l&apos;en-tête de ligne du fichier CSV.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nom de la couche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nom à afficher dans la légende de la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nom affiché dans la légende de la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Délimiteur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Délimiteur à utiliser lors de la séparation des champs dans le fichier texte. Le délimiteur peut contenir plusieurs caractères.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Délimiteur à utiliser lors de la séparation des champs dans le fichier texte. Le délimiteur peut contenir un ou plusieurs caractères.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Couche de Texte Délimité</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Fichier à texte délimité (CSV)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Chemin complet du fichier à texte délimité (CSV)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Chemin complet du fichier à texte délimité (CSV). Afin d&apos;analyser correctement les champs du fichier, le délimiteur doit être défini avant d&apos;entrée le nom du fichier. Utilisez le bouton Parcourir à la droite de ce champ afin de choisir le fichier d&apos;entrée.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Chercher le fichier CSV à analyser</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Utiliser le bouton Parcourir afin de renseigner le chemin complet de fichier CSV. Ce bouton ne sera activé qu&apos;une fois le délimiteur sélectionné. Une fois le fichier choisi, les listes déroulantes X et Y seront remplies avec les champs provenant du fichier CSV.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Ajouter une couche en utilisant le délimiteur, et les champs X et Y spécifiés</translation>
+        <translation type="obsolete">Ajouter une couche en utilisant le délimiteur, et les champs X et Y spécifiés</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>A&amp;nalyser</translation>
+        <translation type="obsolete">A&amp;nalyser</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>Ajouter une &amp;Couche</translation>
+        <translation type="obsolete">Ajouter une &amp;Couche</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Fermer</translation>
+        <translation type="obsolete">&amp;Fermer</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Echantillon de texte</translation>
     </message>
@@ -4834,150 +5184,117 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Sauvegardez la couche sous...</translation>
+        <translation type="obsolete">Sauvegardez la couche sous...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">Erreur</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Buffer sur les données</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Taille du buffer en unités de la carte:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nom de la table pour la couche de buffer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Créer un objet id unique</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>public</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Colonne géométrie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID de référence spatial:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Champ unique à utiliser comme identifiant des données:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schéma:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Ajouter la couche de buffer à la carte?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Faire un buffer pour les données dans la couche: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Paramètres</translation>
     </message>
@@ -5002,25 +5319,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Mots Réservés</translation>
     </message>
@@ -5035,7 +5352,7 @@
         <translation>Nom de colonne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ce shapefile contient des mots réservés.  Ceux-ci peuvent affecter l&apos;importation dans PostgreSQL.  Éditez la colonne ainsi aucun des mots réservés énumérés n&apos;est employé (cliquez sur une entrée nommée de colonne pour l&apos;éditer).  Vous pouvez également changer n&apos;importe quel autre nom de colonne si désiré. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -5043,17 +5360,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Statut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Nom de colonne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -5223,94 +5540,94 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>Outils &amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Créer une nouvelle couche GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Crée une nouvelle couche GPS et l&apos;ajoute à la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Sauvegarde le fichier GPS sous...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>Fichier d&apos;échange GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Ne peut créer le fichier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation> Impossible de créer le fichier GPS avec le nom donné.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation> Réessayez avec un autre nom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>répertoire.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX Loader</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Impossible de lire le fichier sélectionné.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Choisissez un fichier valide.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Ne peut commencer la procédure</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Ne peut lancer GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Données importées...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -5319,32 +5636,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Erreur d&apos;importation des données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Non supportée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation> Ce dispositif ne gère pas le téléchargement </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation> de</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Chargement des données...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -5353,22 +5670,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Erreur de chargement des données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation> Ce dispositif ne supporte pas le chargement de</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Chargement des données...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -5377,7 +5694,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Erreur de chargement des données</translation>
     </message>
@@ -5385,22 +5702,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Choisir un nom de fichier pour sauvegarder sous</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>Format d&apos;échange GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Sélectionnez un fichier GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Sélectionnez un fichier et un format pour l&apos;import</translation>
     </message>
@@ -5413,119 +5730,119 @@
         <translation>Outils GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Charger un fichier GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Fichier:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Types de données:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Points (Waypoints)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Itinéraires (Routes)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Voies (Tracks)</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importer un autre fichier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Fichier à importer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Type de données:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Fichier de sortie GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nom de la couche:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Télécharger depuis le récepteur GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Editer les périphériques</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Périphérique GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Fichier de sortie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Uploader vers le GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Couche de données:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
@@ -5550,69 +5867,69 @@
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5620,12 +5937,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
@@ -5633,34 +5950,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Point</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Ligne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polygone</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="obsolete">Annuler</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -5668,32 +5985,32 @@
         <translation>Nouvelle couche vecteur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Attributs:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Ajouter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Colonne 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Supprimer</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Format de fichier :</translation>
     </message>
@@ -5701,7 +6018,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Géoréférencer</translation>
     </message>
@@ -5772,27 +6089,27 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Géoréférencer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Fichier raster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Entrez les coordonnées mondiales</translation>
     </message>
@@ -5809,84 +6126,86 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Options de chaîne </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Méthode de rééchantillonnage: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Plus proche voisin </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Linéaire</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Cubique</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Employez 0 pour la transparence si nécessaire </translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>Symbole gradué</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Champ de classification:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Mode:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Nombre de Classes:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -5896,22 +6215,22 @@
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Valeur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Type</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Champ</translation>
     </message>
@@ -5977,77 +6296,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Outils</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Ajoute la carte sélectionné à la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Copie la carte sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Renomme la carte sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Efface la carte sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Région courante réglée sur la carte choisie </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Rafraîchir</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6055,256 +6374,256 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nouveau Point</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nouveau Centroïde</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Effacer un sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation> Gauche:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation> Milieu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete"> Droite:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Outils d&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nouvelle ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nouveau contour</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Déplacer le sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Ajouter un sommet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Déplace l&apos;élément</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Coupe la ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Efface l&apos;élément</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Editer les attributs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Point</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Couleur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Type</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Type</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Longueur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6380,32 +6699,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Annuler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6818,12 +7137,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Lancer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Stopper</translation>
     </message>
@@ -6833,144 +7152,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"> colonne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annuler</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7021,7 +7310,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7029,17 +7318,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Fichier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7047,22 +7336,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7070,42 +7359,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7113,7 +7402,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7121,7 +7410,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7129,69 +7418,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> colonne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7299,7 +7588,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
@@ -7324,129 +7613,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> colonne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7607,162 +7896,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7770,22 +8059,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7980,39 +8269,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Attention</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -8023,78 +8279,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> colonne</translation>
     </message>
@@ -8102,17 +8353,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Graticules</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Crée un graticule (une grille) et enregistre le résultat en tant que shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Créateur de graticule (grille)</translation>
     </message>
@@ -8178,110 +8429,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Réglage QGIS Plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Constructeur Graticule</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation> #000.00000;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Latitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Longitude:</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Intervalle de Latitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Intervalle de Longitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Ce plugin vous permet de construire un graticule shapefile que vous pouvez employer dans qgis. &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Entrez les unités en degrées décimaux&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Point</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Ligne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Origine (gauche inférieur)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Point de fin (supérieur droit)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Taille du graticule (unités en degrés)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Fichier de sortie (shape)</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8296,12 +8552,12 @@
         <translation>N&apos;a pas réussi à obtenir le texte d&apos;aide de la base de données </translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>L&apos;aide de QGIS n&apos;est pas installée</translation>
     </message>
@@ -8404,27 +8660,27 @@
         <translation type="obsolete">&lt;center&gt;Exécuter l&apos;action&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation> Résultats identifiés -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Donnée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">Valeur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8754,184 +9010,311 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Sélecteur de projection de couche </translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Défini la projection de cette couche:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cette couche semble n&apos;avoir aucune spécification de projection.  Par défaut, cette couche aura maintenant sa projection réglée à celle du projet, mais vous pouvez mofdifier ceci en choisissant une projection différente ci-dessous. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>groupe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Fermer</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">&amp;Zoomez sur l&apos;emprise de la couche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">&amp;Ajoutez à l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">&amp;Supprimez de l&apos;aperçu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>&amp;Mettre l&apos;item au-dessus</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Re&amp;nommez</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>&amp;Ajoutez au groupe</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation>&amp;Etendre tout</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>&amp;Réduire tout</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation>Montrez les groupes de fichiers</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">&amp;Permettre l&apos;édition</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Ouvrir la table d&apos;attributs</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Permettre l&apos;édition</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Enregistrer comme shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="455"/>
+        <source>&amp;Convert to...</source>
+        <translation type="obsolete">&amp;Converti en...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Aucune couche sélectionnée</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoomez sur l&apos;emprise de la couche</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Supprimer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Ouvrir la table d&apos;attributs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Enregistrer comme shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Lancer</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Rendu</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>Sélecteur de projection de couche </translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Table d&apos;attributs -</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>OK</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Sauvegardez la couche sous...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Défini la projection de cette couche:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cette couche semble n&apos;avoir aucune spécification de projection.  Par défaut, cette couche aura maintenant sa projection réglée à celle du projet, mais vous pouvez mofdifier ceci en choisissant une projection différente ci-dessous. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Commencez l&apos;édition échouée </translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>groupe</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Le fournisseur de données ne peut ouvrir pour l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Propriétés</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Arrêter l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zoomez sur l&apos;emprise de la couche</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Voulez-vous sauvegarder les modifications ?</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation>&amp;Ajoutez à l&apos;aperçu</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Oui</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>&amp;Supprimez de l&apos;aperçu</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Non</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Supprimer</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation>&amp;Mettre l&apos;item au-dessus</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">N&apos;a pas pu faire un commit des changements</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>Re&amp;nommez</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problèmes pendant le rollback</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>&amp;Ajoutez au groupe</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation>&amp;Etendre tout</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation>&amp;Réduire tout</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation>Montrez les groupes de fichiers</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation>&amp;Permettre l&apos;édition</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoomez sur l&apos;emprise de la couche</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Ouvrir la table d&apos;attributs</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Enregistrer comme shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Propriétés</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8992,58 +9375,53 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Ne peut dessiner</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>parce que</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zoomer afin d&apos;étendre à la couche sélectionnée</translation>
+        <translation type="obsolete">&amp;Zoomer afin d&apos;étendre à la couche sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Supprimer</translation>
+        <translation type="obsolete">&amp;Supprimer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Propriétés</translation>
+        <translation type="obsolete">&amp;Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>Basculez dans l&apos;aperçu</translation>
+        <translation type="obsolete">Basculez dans l&apos;aperçu</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Aucune donnée trouvée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -9054,34 +9432,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -9090,144 +9468,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exporter vers Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Fichier Map</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>N&apos;exporter que les informations de la COUCHE</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Carte</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Hauteur</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Largeur</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>pied</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>mètres</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>miles</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>pouces</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilomètres</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Unités</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Type d&apos;image</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>définie par l&apos;utilisateur</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -9247,47 +9610,47 @@
         <translation>Préfixe attaché à la carte, à la barre de réglage et aux noms de fichiers GIF créés en utilisant ce MapFile. Il devrait être assez court.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Définition de l&apos;Inteface Web</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>En-tête</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Pied de page</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Réglage</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -9312,43 +9675,45 @@
         <translation type="obsolete">Fichier-projet de QGIS à exporter vers le format de carte de MapServer </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Nom pour que le dossier de carte soit créé à partir du fichier-projet de QGIS </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Si vérifiée, seulement l&apos;information de couche sera traitée </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Choisissez un répertoire</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9386,35 +9751,10 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segments (en mètres)</translation>
+        <translation type="obsolete">Segments (en mètres)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9445,6 +9785,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segments (en mètres)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9541,17 +9917,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Test de connexion</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">La connexion vers %1 était parfaite</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9561,7 +9937,7 @@
 Information supplémentaire sur l&apos;erreur :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9775,27 +10151,27 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Coin Inférieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Coin Supérieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Coin Inférieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Décorations</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Crée une rose des vents qui est affichée sur la carte </translation>
     </message>
@@ -9805,17 +10181,17 @@
         <translation type="obsolete">Pixmap non trouvée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>En haut à gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Flêche Nord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9828,7 +10204,7 @@
         <translation type="obsolete">Pixmap non trouvée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9836,100 +10212,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Plugin Rose des Vents</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Angle</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Placement</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Donne la direction automatiquement</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Activer la rose des vents</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Coin Supérieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Coin Supérieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Coin Inférieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Coin Inférieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Placement à l&apos;écran</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Prévisualisation de la Rose des Vents</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Icône</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nouvel item</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9945,14 +10326,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9960,162 +10333,162 @@
         <translation>Options QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Rayon de recherche pour identifier les données</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Cacher l&apos;écran de démarrage (splash screen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Apparence</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Thème d&apos;&amp;Icône</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Thème</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Note: &lt;/b&gt;Le changement de thème ne prendra effet qu&apos;une fois QGIS redémarré</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Navigateur d&apos;Aide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Ouvrir les documents d&apos;aide avec</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Rendu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Mettre à jour l&apos;affichage après la lecture</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>L&apos;afffichage de la carte sera mise à jour (dessinée) après que les données soient lues depuis la source</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>données</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Placez à 0 pour ne pas mettre à jour l&apos;affichage jusqu&apos;à ce que toutes les données aient été lues)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Visibilité Initiale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Choisissez Global par défaut... </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Prompt pour la projection. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>La projection large par défaut du projet sera employée. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Aspect de couche par défaut (dépassé par les propriétés de projet) </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Couleur de fond d&apos;écran:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Sélection de la couleur:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Ecran de démarrage (Splash screen)</translation>
     </message>
@@ -10125,17 +10498,17 @@
         <translation type="obsolete">Anti-aliasing</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Les lignes semblent moins déchiquetées aux dépends d&apos;une certaine vitesse d&apos;exécution</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Par défaut les couches &amp;supplémentaires sont affichées</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Rafraîchir pendant le dessin</translation>
     </message>
@@ -10145,17 +10518,17 @@
         <translation type="obsolete">&amp;Sélection &amp;&amp; Mesure</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Outil de mesure</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Ellipsoïde pour des calculs de distance: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Rayon de recherche</translation>
     </message>
@@ -10187,62 +10560,62 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;jection</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Quand on charge une couche qui n&apos;a aucune information de projection </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>La projection par défaut ci-dessous sera emplo&amp;yée. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Note:&lt;/b&gt; Le navigateur doit être dans votre PATH ou vous pouvez indiquer le chemin complet ci-dessus </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Apparence</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Conserver le nom de la couche</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -10251,40 +10624,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Général</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10450,87 +10843,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Table &lt;b&gt;%1&lt;/b&gt; dans la base &lt;b&gt;%2&lt;/b&gt; sur l&apos;hôte &lt;b&gt;%3&lt;/b&gt;, utilisateur &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>La connexion a échoué</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>La connexion à la base de donnée a échoué:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Erreur de base de données</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Erreur à la lecture d&apos;un échantillon des valeurs du champ </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Résultat de requête</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>La clause WHERE a retourné</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>lignes.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>La requête a échoué</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Une erreur a été rencontrée lors de l&apos;exécution de la requête:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Pas d&apos;enregistrements</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>La requête que vous avez spécifiée a retourné 0 enregistrements. Les couches PostgreSQL doivent au moins contenir une propriété pour être valides.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10671,17 +11059,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Choisissez un répertoire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Pas de Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Aucun plugin QGIS trouvé dans</translation>
     </message>
@@ -10772,136 +11160,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Zoom +</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Zoom -</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Zoomez sur la couche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Zoomez sur la couche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Se déplacer dans la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Se déplacer dans la carte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Ajouter des points</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Capturer les points</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Effacer les points</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Effacer la sélection</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">Linéaire</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished">Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">Erreur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -10978,13 +11371,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Raster modifié:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -11007,17 +11405,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Impossible d&apos;accéder à la relation </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation> Impossible d&apos;accéder à </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -11026,12 +11424,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>GEOS non gérée!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -11040,12 +11438,12 @@
 Veuillez installer PostGIS avec le support GEOS (http://geos.refractions.net) </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Aucune colonne principale appropriée dans la table </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -11060,200 +11458,188 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>L&apos;index unique sur la colonne </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>n&apos;est pas convenable parce que Qgis ne soutient pas actuellement des colonnes du type non-int4 comme clef dans la table.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation> et</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation> l&apos;unique index des colonnes</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> n&apos;est pas convenable parce que Qgis ne gère pas actuellement les colonnes multiples comme clef de la table.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Incapable de trouver une colonne clé principale </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>  dérive de</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>et convient. </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation> et ne convient pas</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation> est de type</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> et possède une contrainte)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> et ne possède pas de contraintes)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>La vue que vous avez choisie a les colonnes suivantes, aucune ne satisfait les conditions ci-dessus: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis exige que la vue possède une colonne qui peut être employée comme clef unique.  Une telle colonne devrait être dérivée d&apos;une colonne de table du type int4 et être une clef primaire, possède une contrainte unique, ou soit une colonne d&apos;oid de PostgreSQL.  Pour améliorer l&apos;exécution la colonne devrait également être ordonnée. 
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation> La vue</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>ne possède pas de colonne pour utiliser comme clef unique.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Aucune colonne de clef primaire appropriée en vue</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Type geometry inconnu</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation> colonne</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>  dans</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>  possède une geometry du type</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, que QGIS ne peut gérer actuellement.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>, La communication de base de données était:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Incapable d&apos;obtenir le type et le srid des données </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11266,248 +11652,238 @@
         <translation>Propriétés du projet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Unités de carte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Mètres</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Pied</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Degrés décimaux</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Titre de projet par défaut</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Appliquer</translation>
+        <translation type="obsolete">&amp;Appliquer</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Général</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Largeur de ligne:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolérance de fractionnement:</translation>
+        <translation type="obsolete">Tolérance de fractionnement:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Couleur de ligne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automatique</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Place automatiquement le nombre de décimales dans l&apos;affichage de la position de la souris </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Les décimales qui sont employées pour la position de la souris sont automatiquement calculées de sorte que déplacer la souris d&apos;un Pixel donne un changement à l&apos;affichage d&apos;une position </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Place le nombre de décimales à utiliser pour l&apos;affichage de la position de la souris </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Le nombre de décimales pour l&apos;option manuelle </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>position des décimales </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Apparence de la carte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Sélection de la couleur:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Titre du projet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Projection</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Autorise la projection en marche </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Couleur de fond d&apos;écran:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Précision</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Numérisation </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation> QGIS SRSID:</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation> PostGIS SRID:</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Sélecteur de projection</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Projection</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Rechercher</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Trouver</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Système Spatial De Référence </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
@@ -11521,263 +11897,293 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Non renseigné</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Driver:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensions:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation> X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>  Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Bandes:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origine:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Taille du Pixel:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Ampleur du raster:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Secteur copié dans le presse-papier:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Vues d&apos;ensemble de pyramide:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statistiques de bande (si recueillies):</translation>
+        <translation type="obsolete">Statistiques de bande (si recueillies):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Valeur</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Bande</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Bande No</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Pas de stats</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Pas de stats encore collectées</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Valeur Min</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Valeur Max</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Plage</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Moyenne</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Somme des carrés</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Ecart-type</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Somme de toutes les cellules</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Compte des Cellules</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Accés interdit en écriture</translation>
+        <translation type="obsolete">Accés interdit en écriture</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Accés interdit en écriture. Ajustez les permissions sur les fichiers et recommencez.
+        <translation type="obsolete">Accés interdit en écriture. Ajustez les permissions sur les fichiers et recommencez.
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Type de Donnée:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - nombre entier non signé de huit bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - nombre entier non signé de seize bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - nombre entier signé de seize bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - nombre entier non signé de trente  deux bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_UInt32 - nombre entier signé de trente  deux bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - nombre à virgule flottante de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - nombre à virgule flottante de 64 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Nombre entier complexe de 16 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Nombre entier complexe de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Nombre complexe à virgule flottante de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Nombre complexe à virgule flottante de 64 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Ne peut déterminer le type de donnée raster.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparence&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparence&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Magphase moyenne</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Moyenne</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation> Système Spatial De Référence De la Couche:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation> Système Spatial De Référence Du Projet: </translation>
+        <translation type="obsolete"> Système Spatial De Référence Du Projet: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>La construction des pyramides a echoué.</translation>
+        <translation type="obsolete">La construction des pyramides a echoué.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Le dossier n&apos;était pas accessible en écriture.  Quelques formats ne peuvent pas être écrits, uniquement lus.  Vous pouvez également essayer de vérifier les permissions d&apos;accés et réessayer. </translation>
+        <translation type="obsolete">Le dossier n&apos;était pas accessible en écriture.  Quelques formats ne peuvent pas être écrits, uniquement lus.  Vous pouvez également essayer de vérifier les permissions d&apos;accés et réessayer. </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Des vues d&apos;ensemble des pyramides ne sont pas gérées sur ce type de couche.</translation>
+        <translation type="obsolete">Des vues d&apos;ensemble des pyramides ne sont pas gérées sur ce type de couche.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>En dehors de l&apos;emprise</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (pas de données)</translation>
     </message>
@@ -11787,17 +12193,17 @@
         <translation type="obsolete">&amp;Converti en...</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Description du jeu de données</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Aucune valeur de données </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11810,32 +12216,32 @@
         <translation type="obsolete">Pas de données:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notes sur l&apos;images multibande&lt;/h3&gt;&lt;p&gt;Ceci est une image multibande. Vous pouvez choisir le rendu entre le dégradé de gris et la couleur (RGB). pour les images en couleurs, vous pouvez associer les bandes avec les couleurs de manières arbitraires. Par exemple, si vous avez une image de sept bandes Landsat, vous pouvez choisir le rendu tel que:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bleu Visible (0.45 to 0.52 microns) - non tracé&lt;/li&gt;&lt;li&gt;Vert Visible (0.52 to 0.60 microns) - non tracé&lt;/li&gt;&lt;/li&gt;Rouge Visible (0.63 to 0.69 microns) - tracé en rouge dans l&apos;image&lt;/li&gt;&lt;li&gt;Proche Infrarouge (0.76 to 0.90 microns) - tracé en vert dans l&apos;image&lt;/li&gt;&lt;li&gt;Infrarouge Moyen (1.55 to 1.75 microns) - non tracé&lt;/li&gt;&lt;li&gt;Infrarouge Thermique (10.4 to 12.5 microns) - non tracé&lt;/li&gt;&lt;li&gt;Infrarouge Moyen (2.08 to 2.35 microns) - tracé en bleu dans l&apos;image&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notes sur l&apos;image décomposée&lt;/h3&gt; &lt;p&gt;Cette image utilise une palette de couleur fixée. Vous pouvez redéfinir ces couleurs dans différentes combinaisons e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rouge - bleue dans l&apos;image&lt;/li&gt;&lt;li&gt;Verte - bleue dans l&apos;image&lt;/li&gt;&lt;li&gt;Bleue - verte dans l&apos;image&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Notes sur l&apos;image en dégradé de gris&lt;/h3&gt; &lt;p&gt;Vous pouvez redéfinir ces couleurs en dégradé de gris dans une image en pseudo-couleurs en utilisant une palette de couleur automatiquement générée.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Dégradé de Gris</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudo-Couleurs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Phénomène Externe!?</translation>
     </message>
@@ -11850,35 +12256,64 @@
         <translation type="obsolete">Lignes:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Palette</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Non renseigné</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished">n/a</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Accés interdit en écriture</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Accés interdit en écriture. Ajustez les permissions sur les fichiers et recommencez.
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">La construction des pyramides a echoué.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Le dossier n&apos;était pas accessible en écriture.  Quelques formats ne peuvent pas être écrits, uniquement lus.  Vous pouvez également essayer de vérifier les permissions d&apos;accés et réessayer. </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Des vues d&apos;ensemble des pyramides ne sont pas gérées sur ce type de couche.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -11890,140 +12325,140 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Appliquer</translation>
+        <translation type="obsolete">&amp;Appliquer</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aide</translation>
+        <translation type="obsolete">&amp;Aide</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Général</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Source de la couche:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Nom affiché:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Légende:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Pas de donnée:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Convention des signes/symbologie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparence:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Rempli&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Aucun(e)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Palette de couleur inverse</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Bande</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Vert&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Rouge&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Bleu&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Couleur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Gris</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Ecarts-type</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Palette de Couleur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Métadonnées</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pyramides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Méthode de reéchantillonage</translation>
     </message>
@@ -12033,147 +12468,147 @@
         <translation type="obsolete">Magphase moyenne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Moyenne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Plus Proche Voisin</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Construire les pyramides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Résolutions de la pyramide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniature</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Colonnes:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Lignes:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Palette:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Mise à l&apos;échelle maximum à laquelle cette couche sera affiché.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Echelle minimum à laquelle cette couche sera affichée.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Système Spatial De Référence </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Changement </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histogramme</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Options</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>En dehors du domaine de validité ? </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Permettre l&apos;approximation</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Type de graphique</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Graphique en barre</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Graphique en ligne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Rafraîchir</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Affiché</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Image de dégradé</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Couleur d&apos;image</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>Informations de débogage</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Echelle visible</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Nombre de colonnes:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -12191,7 +12626,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;De grandes résolutions raster peuvent ralentir la navigation dans QGIS. En créant des copies des données à faible résolution (pyramides), les performances peuvent être considérablement améliorées en choisissant la résolution en fonction du seuil de zoom. Vous devez disposer de droits d&apos;écriture sur le répertoire où sont stockées les données originelles afin de construire les pyramides.&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Veuillez noter que la construction des pyramides risque d&apos;altérer le fichier original et ne peuvent être supprimées une fois créées.&lt;/span&gt;&lt;/p&gt;
@@ -12200,30 +12635,47 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;De grandes résolutions raster peuvent ralentir la navigation dans QGIS. En créant des copies des données à faible résolution (pyramides), les performances peuvent être considérablement améliorées en choisissant la résolution en fonction du seuil de zoom. Vous devez disposer de droits d&apos;écriture sur le répertoire où sont stockées les données originelles afin de construire les pyramides.&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Veuillez noter que la construction des pyramides risque d&apos;altérer le fichier original et ne peuvent être supprimées une fois créées.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Veuillez noter que la construction de pyramides risque de corrompre vos images - faîtes toujours une sauvegarde de vos données au préalable!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Impossible de lancer la commande</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Impossible de lancer la commande</translation>
+        <translation type="obsolete">Impossible de lancer la commande</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Lancer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Fait</translation>
     </message>
@@ -12231,107 +12683,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> mètres/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation> pieds</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation> degrés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> pied</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>  degrés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> inconnu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation> Coin Supérieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Coin Inférieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Coin Supérieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Coin Inférieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Marquage Inférieur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Marquage Supérieur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Barre</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Boîte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Décorations</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Crée une échelle graphique qui est montrée sur la carte </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Echelle graphique</translation>
     </message>
@@ -12339,112 +12791,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Plugin échelle graphique</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Coin Supérieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Coin Supérieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Coin Inférieur Gauche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Coin Inférieur Droit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Taille de la barre:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Placement:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Marquage Inférieur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Marquage Supérieur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Boîte</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Barre</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Sélectionnez le style d&apos;échelle graphique</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Couleur de la barre:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Style de l&apos;échelle graphique:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Activer l&apos;échelle graphique</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Arrondir automatiquement lors du changement de zoom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Cliquez pour sélectionner la couleur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ce plugin dessine une barre d&apos;échelle sur la carte.  Veuillez noter l&apos;option de taille ci-dessous est une taille &apos;préférée &apos;et peut devoir être changé par QGIS selon le niveau de la taille de zoom. Il est mesuré selon les unités de carte indiquées dans les propriétés de projet. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -12452,42 +12904,37 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Trouve %d comme données correspondantes.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Pas de données correspondantes trouvées.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Résultats de la recherche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Recherche les erreurs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Pas d&apos;enregistrements</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>La question que vous avez spécifié ne retourne aucun résulat. </translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
@@ -12502,84 +12949,84 @@
         <translation type="obsolete">JPEG</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation> Ëtes-vous sûr de vouloir retirer la</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> connection et tous les paramètres associés ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Confirmer l&apos;effacement</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS Provider</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Ne peut ouvrir le provider WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Sélectionnez la couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Vous devez choisir au moins une première couche.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Système de coordonnées de référence (%1 disponibles) </numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>  Ne comprend pas la réponse. La</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>le fournisseur dit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished">Système de coordonnées de référence</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12705,17 +13152,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12729,27 +13176,27 @@
         <translation>Symbole Unique</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Modèles de remplissage:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Point</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Taille</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Symbole</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Largeur de bordure externe:</translation>
     </message>
@@ -12759,65 +13206,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Couleur de remplissage:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Couleur de bordure externe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Style de bordure externe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Etiquette:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Ëtes-vous sûr de vouloir retirer le [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] connexion et tous les paramètres associés?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Confirmer l&apos;effacement</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Edition des noms de colonnes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -12826,279 +13278,279 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>RAISON:  Le fichier ne peut pas être ouvert </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>RAISON:  Un ou plusieurs fichiers Shapefile (*.dbf, *.shx) ont disparus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Interface général de l&apos;aide:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL Connexions:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[nouvelle...] - crée une nouvelle connexion</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Edition ...] - édite la connexion sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Supprime] - supprime la connexion sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- vous avez besoin de choisir une connexion qui fonctionne (se connecte correctement) afin d&apos;importer des fichiers </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>- quand vous changez le schéma global de connexion, vous changez également le schéma global en conséquence </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Liste des fichiers shapes:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Ajoutez ...] - ouvre une boîte de dialogue et choisissez le(s) fichier(s) à importer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Supprime] - supprime le(s) fichier(s) actuellement choisis dans la liste </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Supprimez tout] - supprime tous les fichiers de la liste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[ SRID ] - mettez en référence l&apos;identification pour que les shapefiles soient importés </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[(SRID) par défaut] - SRID réglé à -1 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Nom de colonne de la géométrie] - nom de la colonne de la géométrie dans la base de données </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Par défaut (nom de colonne de la géométrie) ] - nom de colonne réglé à &apos;the_geom&apos; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Schéma Global ] - placez le schéma pour que tous les dossiers soient importés dans </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importez] - importe les fichiers shape courants de la liste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Quittez] - quitte le programme
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Aide] - Affiche la boîte de dialogue de l&apos;aide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Importe les fichiers shapes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Vous devez spécifier une connexion en premier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Connexion échouée - Régler la connexion et réessayer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Vous devez ajouter des fichiers shapes à la liste en premier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Fichiers importés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Progression</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problème d&apos;insertion des données du fichier: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nom de table invalide.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Pas de champs détectés.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Les champs sont dupliqués:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Importation des fichiers shapes - Relation existante</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Le(s) fichier(s) shape(s):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>emploiera [ </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] relation pour ses données, </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>ce qui existe déjà et contient peut-être des données. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Pour éviter la perte de données changez &quot;le nom de relation de DB&quot; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>pour ce fichier Shape dans la liste principale de la boîte de dialogue. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Vous voulez écraser le [ </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] relation ?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Employez la table ci-dessous pour éditer des noms de colonne.  Assurez-vous qu&apos;aucune des colonnes n&apos;utilise un nom qui est un mot réservé par PostgreSQL </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Nom de fichier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Classe de données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Données</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>Nom de relation DB</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13106,137 +13558,137 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Outil d&apos;Importation de Shapefile dans PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Connexions PostGreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Supprimer</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Importer</translation>
+        <translation type="obsolete">Importer</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Liste des Shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Nom de la colonne géométrie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Tout enlever</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Schéma global</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Outil d&apos;Importation de Shapefile dans PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importer les shapefiles définis dans PostGIS</translation>
+        <translation type="obsolete">Importer les shapefiles définis dans PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Fermer</translation>
+        <translation type="obsolete">Fermer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Ajouter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Ajouter un shapefile à la liste des fichiers à importer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Enlever le shapefile sélectionné de la liste d&apos;importation</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Enlever tous les shapefiles de la liste d&apos;importation</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Utiliser le SRID par défaut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Mettre le SRID à sa valeur par défaut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Utiliser le nom de colonne géométrique par défaut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Mettre le nom de la colonne géométrique à sa valeur par défaut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nouveau</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Créer une nouvelle connexion PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Enlever la connexion PostGIS courante</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Connecter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Editer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Editer la connexion PostGIS courante</translation>
     </message>
@@ -13254,7 +13706,7 @@
         <translation>Importe des fichiers shape dans une base de donnée PostGIS-PostgreSQL. Les noms de schéma et de champ peuvent être adaptés aux besoins du client lors de l&apos;importation </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Fractionner</translation>
     </message>
@@ -13262,127 +13714,137 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Champ de classification:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Table d&apos;attributs -</translation>
+        <translation type="obsolete">Table d&apos;attributs -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Ouvrir la table d&apos;attributs</translation>
+        <translation type="obsolete">&amp;Ouvrir la table d&apos;attributs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Arrêter l&apos;édition</translation>
+        <translation type="obsolete">Arrêter l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Enregistrer comme shapefile...</translation>
+        <translation type="obsolete">Enregistrer comme shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Le fournisseur ne supporte pas l&apos;effacement</translation>
+        <translation type="obsolete">Le fournisseur ne supporte pas l&apos;effacement</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Le fournisseur de données ne supporte pas l&apos;effacement des propriétés</translation>
+        <translation type="obsolete">Le fournisseur de données ne supporte pas l&apos;effacement des propriétés</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Couche non éditable</translation>
+        <translation type="obsolete">Couche non éditable</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Voulez-vous sauvegarder les modifications ?</translation>
+        <translation type="obsolete">Voulez-vous sauvegarder les modifications ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Oui</translation>
+        <translation type="obsolete">&amp;Oui</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Non</translation>
+        <translation type="obsolete">&amp;Non</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Inverse la sélection...</translation>
+        <translation type="obsolete">Inverse la sélection...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Arrêt</translation>
+        <translation type="obsolete">Arrêt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Permettre l&apos;édition</translation>
+        <translation type="obsolete">Permettre l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>La couche ne peut être ajoutée à</translation>
+        <translation type="obsolete">La couche ne peut être ajoutée à</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Le fournisseur de données pour cette couche ne soutient pas l&apos;addition des données. </translation>
+        <translation type="obsolete">Le fournisseur de données pour cette couche ne soutient pas l&apos;addition des données. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>La couche courante n&apos;est pas éditable.  Choisissez &apos;Permettre l&apos;édition&apos; par un clic-droit. </translation>
+        <translation type="obsolete">La couche courante n&apos;est pas éditable.  Choisissez &apos;Permettre l&apos;édition&apos; par un clic-droit. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">La couche courante n&apos;est pas éditable.  Choisissez &apos;Permettre l&apos;édition&apos; par un clic-droit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Commencez l&apos;édition échouée </translation>
+        <translation type="obsolete">Commencez l&apos;édition échouée </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Le fournisseur de données ne peut ouvrir pour l&apos;édition</translation>
+        <translation type="obsolete">Le fournisseur de données ne peut ouvrir pour l&apos;édition</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Erreur</translation>
+        <translation type="obsolete">Erreur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>N&apos;a pas pu faire un commit des changements</translation>
+        <translation type="obsolete">N&apos;a pas pu faire un commit des changements</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Problèmes pendant le rollback</translation>
+        <translation type="obsolete">Problèmes pendant le rollback</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -13400,211 +13862,196 @@
         <translation type="obsolete">N&apos;a pu faire un commit des changements de geometry</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation> Transparence:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Symbole Unique</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Symbole Gradué</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Couleur Continue</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Valeur Unique</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Ce bouton ouvre le constructeur de requête PostgreSQL et vous permet de créer un sous-ensemble de propriétés à afficher dans la carte au lieu d&apos;afficher toutes les propriétés dans la couche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Se trouve ici la requête utilisée afin de limiter les propriétés affichées dans la couche. Pour l&apos;instant seules les couches PostgreSQL sont supportées. Pour modifier la requête, cliquez sur le bouton &quot;Constructeur de Requête&quot;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Index spatial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Création de l&apos;index spatial réussi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Création de l&apos;index spatial échoué</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Général:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation> Type de stockage de cette couche :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation> Type de la géométrie des données dans cette couche :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation> Le nombre de données dans cette couche :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation> Édition des possibilités de cette couche :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Emprise:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation> Dans les unités spatiales du système de référence de la couche: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation> xMin,yMin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation>  : xMax,yMax</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation> Dans les unités spatiales du système de référence du projet :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Système Spatial De Référence De la Couche: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Système Spatial De Référence Du Projet (Rendu): </translation>
+        <translation type="obsolete">Système Spatial De Référence Du Projet (Rendu): </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Information de champ d&apos;attribut: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Champ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Longueur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Précision</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Source pour cette couche : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13616,149 +14063,149 @@
         <translation>Propriétés de la Couche</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Type de légende:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="obsolete">Annuler</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Convention des signes</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Transparence:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Général</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Utiliser le Rendu dépendant de la mise à l&apos;échelle</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation> Mise à l&apos;échelle minimum à laquelle cette couche sera affichée.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation> Mise à l&apos;échelle maximum à laquelle cette couche sera affiché.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Nom affiché</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Utilisez ce contrôle afin de paramètrer quel champ doit être placé au dessus de la boîte de dialogue des Résultats d&apos;Identification.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Système Spatial De Référence </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Changement </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Champ affiché pour la boîte de dialogue des Résultats d&apos;Identification</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Ceci paramètre le champ affichage pour la boîte de dialogue des Résultats d&apos;Identification</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Champ affichage</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Sous-ensemble</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Constructeur de requête</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Index spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Créez un index spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Créez</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Métadonnées</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etiquettes</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Afficher les étiquettes</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Actions</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Appliquer</translation>
+        <translation type="obsolete">Appliquer</translation>
     </message>
 </context>
 <context>
@@ -13807,7 +14254,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13815,29 +14262,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirmer l&apos;effacement</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">Oui</translation>
+        <translation type="obsolete">Oui</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">Non</translation>
+        <translation type="obsolete">Non</translation>
     </message>
 </context>
 <context>
@@ -13870,55 +14317,50 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation type="unfinished">Aide</translation>
+        <translation type="obsolete">Aide</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation type="unfinished">&amp;Ajoutez</translation>
+        <translation type="obsolete">&amp;Ajoutez</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation type="unfinished">&amp;Fermer</translation>
+        <translation type="obsolete">&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished">Connexions au serveur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">&amp;Nouveau</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">Effacer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">Editer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished">C&amp;onnexion</translation>
     </message>
@@ -13931,282 +14373,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation> URL Éprouvé:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS service exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>N&apos;a pas pu obtenir les possibilités de WMS:  %1 à la ligne %2 colonne %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Ceci est probablement dû à une URL incorrecte du serveur WMS.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Ne pourrait pas obtenir les possibilités de WMS dans le format prévu (DTD):  pas de %1 ou %2 trouvé </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>N&apos;a pas pu obtenir l&apos;exception de service de WMS à %1:  %2 à la ligne %3 colonne %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>La demande contient un format non offert par le serveur. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La demande contient un CRS non offert par le serveur pour une ou plusieurs des couches de la demande. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La demande contient un SRS non offert par le serveur pour une ou plusieurs des couches de la demande. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>La demande de données de carte est pour une couche non offerte par le serveur, ou la demande d&apos;information sur les données est pour une couche non montrée sur la carte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>La demande est pour une couche dans un modèle non offert par le serveur. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>La demande d&apos;information sur les données est appliquée à une couche qui n&apos;est pas déclarée interrogeable.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>La demande d&apos;information sur les données contient une valeur inadmissible en X ou en Y. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>La valeur du paramètre (facultatif) de séquence dans la demande d&apos;information sur les données est égale à la valeur courante du nombre d&apos;ordre de mise à jour de méta-données de service. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>La valeur du paramètre (facultatif) de séquence dans la demande d&apos;information sur les données est une valeur courante plus grande que le nombre d&apos;ordre de mise à jour de méta-donnée de service. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>La demande n&apos;inclut pas une valeur de dimension d&apos;échantillon, et le serveur n&apos;a pas déclaré une valeur par défaut pour cette dimension. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>La demande contient une valeur inadmissible de dimension d&apos;échantillon. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>La demande est pour une opération facultative pas soutenue par le serveur. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(code d&apos;erreur inconnu d&apos;un serveur de post-1.3 WMS) </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation> Le fournisseur de WMS a également rapporté: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>  C&apos;est probablement dû à un bogue dans le rapport du programme QGIS. Reportez cette erreur. </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Propriétés du serveur :</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Propriétés</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Valeur</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS Version</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titre</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Abstrait</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Mots-clés</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Ressource en ligne</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Personne à contacter</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Honoraires </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Contraintes d&apos;accès</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Formats d&apos;image</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Formats reconnus</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Nombre de couches</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation> Propriétés de la Couche :</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Sélectionné</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Oui</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Non</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Visibilité</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Visible</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Cachée</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Peut identifier </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Peut être transparent</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Peut zoomer +</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Nombre de cascade</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Largeur fixée</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Hauteur fixée</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>Boîte de dialogue WGS 84</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Disponible dans CRS </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Disponible dans le modèle </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14259,47 +14701,141 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Réglage QGIS Plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Plugin de Réglage</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Réglage QGIS Plugin</translation>
+        <translation type="obsolete">Réglage QGIS Plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Plugin de Réglage</translation>
+        <translation type="obsolete">Plugin de Réglage</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annuler</translation>
+        <translation type="obsolete">&amp;Annuler</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt-A</translation>
+        <translation type="obsolete">Alt-A</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Longitude:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Non</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Latitude:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Remplacez ceci par une description courte de ce plugin </translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_id.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_id.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_id.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -24,32 +24,63 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation type="unfinished">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="136055884"/>
@@ -639,23 +670,23 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Tidak ada Penyedia Data</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Tidak ada Plugin Penyedia Data</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Tidak ada lapisan yang dapat dimuat. Periksa instalasi QGIS Anda</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Tidak ada plugin penyedia data tersedia. Tidak ada lapisan vektor dapat dimuat</translation>
     </message>
@@ -680,7 +711,7 @@
         <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Arsip QGIS (*.qgs)</translation>
     </message>
@@ -700,197 +731,192 @@
         <translation type="obsolete">Pilih arsip proyek QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished">Tidak ada lapisan aktif</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished">Untuk mengidentifikasi fitur-fitur, Anda harus memilih lapisan aktif dengan mengklik nama pada legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished">Band</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished">Tidak ada fitur ditemukan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished">Tidak ada fitur ditemukan di lapisan aktif pada titik yang Anda klik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">Untuk memilih fitur-fitur, Anda harus memilih lapisan aktif dengan mengklik nama pada legenda</translation>
+        <translation type="obsolete">Untuk memilih fitur-fitur, Anda harus memilih lapisan aktif dengan mengklik nama pada legenda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished">Sentroid baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished">Titik baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished">Hapus verteks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished"></translation>
     </message>
@@ -900,27 +926,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished">Panjang</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -930,37 +956,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -986,12 +1012,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1036,12 +1062,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1056,32 +1082,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1111,82 +1137,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Lapisan tidak dapat diedit</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished">km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">kaki</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">derajad</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1236,279 +1445,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Lapisan tidak dapat diedit</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Baris</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Titik-titik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Basisdata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1528,52 +1687,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1586,42 +1745,42 @@
         <translation type="obsolete">Lapisan-lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>dengan dukungan PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(tidak ada dukungan PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Plugin Penyedia Data tersedia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>tidak valid atau sumber data yang dikenal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Sumber Data Invalid</translation>
     </message>
@@ -1656,127 +1815,127 @@
         <translation type="obsolete">Simpan peta ke:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Tidak ada Lapisan Dipilih</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Untuk membuka tabel atribut, Anda harus memilih lapisan pada legenda</translation>
+        <translation type="obsolete">Untuk membuka tabel atribut, Anda harus memilih lapisan pada legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Tidak ada Plugin MapLayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Tidak ada plugin MapLayer pada ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Tidak ada Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Tidak ada plugin ditemukan pada ../plugins. Untuk memeriksa plugin, jalankan qgis dari direktori src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nama</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 diberi nama %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informasi Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS memuat plugin berikut ini:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nama: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versi: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Deskripsi: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Tidak bisa memuat plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS gagal memuat plugin dari: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Versi baru QGIS telah tersedia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Anda sedang menjalankan versi pengembangan QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Anda sedang menjalankan versi aktual QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Perlu informasi tambahankah Anda?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informasi Versi QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Gagal memperoleh informasi versi aktual dari server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Permintaan koneksi ditolak - mungkin server lagi mati</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Server QGIS tidak ditemukan</translation>
     </message>
@@ -1806,27 +1965,27 @@
         <translation type="obsolete">Lagi memuat plugin...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Lapisan tidak valid</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 adalah lapisan tidak valid dan tidak dapat dimuat.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Gagal memuat Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Ada masalah saat memuat %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Simpan imej peta ke</translation>
     </message>
@@ -1836,37 +1995,37 @@
         <translation type="obsolete">QGIS - Perubahan pada CVS Sejak Rilis Terakhir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Pilih sebuah nama arsip untuk menyimpan imej peta sebagai</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Eksten:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Masalah saat menghapus fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Sebuah masalah muncul saat menghapus fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Tidak ada Lapisan Vektor yang Dipilih</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Penghapusan fitur-fitur hanya berfungsi pada lapisan vektor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Untuk menghapus fitur-fitur, Anda harus memilih lapisan vektor dari legenda</translation>
     </message>
@@ -1876,52 +2035,52 @@
         <translation type="obsolete">QGIS prêt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS berlisensi GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legenda Peta yang menampilkan semua lapisan-lapisan sudah ada pada kanvas peta. Klik pada kotak-cek untuk menghidupkan atau mematikan sebuah lapisan. Klik-ganda lapisan pada legenda untuk mengubah tampilannya dan mengubah properti lain.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Kanvas previsualisasi peta. Kanvas ini dapat digunakan untuk menampilkan pelokasi peta yang akan memperlihatkan eksten aktual dari kanvas peta. Eksten aktual diperlihatkan sebagai kotak merah. Lapisan mana saja dapat ditambahkan pada kanvas previsualisasi.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Kanvas peta. Padanya lapisan raster maupun vektor diperlihatkan sebelum ditambahkan pada peta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Kotak progres yang memperlihatkan status lapisan perenderan dan operasi yang sangat membutuhkan waktu lainnya</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Memperlihatkan skala peta aktual</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Perlihatkan kordinat peta pada posisi kursor aktual. Layar secara kontinu diperbarui sering pergerakan mouse.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Render</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Saat ditandai, lapisan peta dirender sbg respon terhadap perintah navigasi peta dan event lainnya. Saat tidak ditandai, tidak ada proses render dilakukan. Ini mengijinkan Anda untuk menambahkan lapisan yang banyak dan mensimbolisasikannya sebelum proses render.</translation>
     </message>
@@ -2046,1051 +2205,1211 @@
         <translation type="obsolete">Arsip-arsip QGIS (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Memilih arsip proyek QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Gagal menyimpan proyek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Gagal menyimpan proyek ke</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation type="unfinished">Pilih arsip proyek QGIS untuk dibuka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished">Proyek &amp;Baru</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished">Proyek Baru</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished">&amp;Simpan Proyek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">Simpan Proyek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished">S&amp;impan Proyek sbg...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished">Cetak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished">Keluar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished">Tambah sebuah Vektor Layar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished">Tambah sebuah Lapisan Raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished">Tambah sebuah Lapisan QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished">Hapus Lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished">Tambah Semua Ke Previsualisasi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished">Hapus Semua Dari Previsualisasi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished">Perlihatkan Semua Lapisan-lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished">Perlihatkan semua lapisan-lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished">Sembunyikan Semua Lapisan-lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished">Tentang</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished">O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished">Tangkap Titik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished">Tangkap Garis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished">Tangkap Poligon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished">&amp;Arsip</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished">&amp;Tampak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished">&amp;Lapisan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished">&amp;Tentuan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished">Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Penyedia tidak mendukung penghapusan</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Penyedia data tidak mendukung penghapusan fitur-fitur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Lapisan tidak dapat diedit</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -3751,7 +4070,7 @@
         <translation type="obsolete">Tambah Lapisan Vektor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3774,22 +4093,22 @@
         <translation>Tentang Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Tentang</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Apa yang Baru</translation>
     </message>
@@ -3804,7 +4123,7 @@
         <translation type="obsolete">&lt;h2&gt;Para Kontributor QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation></translation>
     </message>
@@ -3816,17 +4135,17 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Halaman Web QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Bergabung dengan mailing list QGIS-User</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Penyedia-Penyedia</translation>
     </message>
@@ -3838,61 +4157,61 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -3925,22 +4244,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Aksi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -4140,7 +4459,7 @@
         <translation type="obsolete">&lt;center&gt;Exécuter l&apos;action&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4281,79 +4600,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Hentikan editing</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4361,42 +4680,32 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -4486,122 +4795,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation type="unfinished">Pilih sebuah nama arsip untuk menyimpan imej peta sebagai</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4765,32 +5074,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">Render</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4876,22 +5185,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4980,37 +5289,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation type="unfinished">Lapisan-lapisan</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">Render</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">Légende</translation>
     </message>
@@ -5061,114 +5370,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5219,27 +5528,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished">Coba koneksi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished">La connection a échoué - Vérifiez les paramètres et reéssayez</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5254,32 +5563,32 @@
         <translation>Informasi Koneksi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Basisdata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Nama-pengguna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nama</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nama koneksi baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Password</translation>
     </message>
@@ -5294,37 +5603,27 @@
         <translation>Simpan Password</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
-        <source>OK</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Batal</translation>
+        <translation type="obsolete">Batal</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
         <source>Create a New PostGIS connection</source>
         <translation>Ciptakan sebuah Koneksi PostGIS Baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation></translation>
     </message>
@@ -5403,32 +5702,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -5436,32 +5735,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Kiri Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation type="unfinished">Kiri Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation type="unfinished">Kanan Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Kanan Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5545,27 +5844,17 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation type="unfinished">Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -5592,85 +5881,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation type="unfinished">Baru</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5680,155 +5959,161 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation type="unfinished">Baru</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation type="unfinished">Hapus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation type="unfinished">Nama:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation type="unfinished">Coba</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Apakah Anda yakin hendak membuang </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>koneksi dan semua tentuan terasosiasi?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Konfirmasi Hapus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Pilih Tabel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Anda harus memilih sebuah tabel jika hendak menambah sebuah Lapisan.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Password untuk</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Silahkan memasukkan password Anda:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Koneksi gagal</translation>
     </message>
@@ -5843,90 +6128,90 @@
         <translation type="obsolete">Koneksi ke %1 pada %2 gagal. Bisa karena basisdata sedang jatuh atau tentuan anda tidak benar. %3 Periksa nama-pengguna dan password Anda dan coba lagi. %4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6055,7 +6340,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6068,30 +6353,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Nama lapisan kosong</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Silahkan memasukkan sebuah nama lapisan sebelum menambahkan lapisan tsb ke peta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Tidak ada delimiter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Silahkan menentukan sebuah delimiter sebelum memparsing arsip tsb</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Pilih sebuah arsip teks delimited untuk dibuka</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6103,70 +6398,70 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Batal</translation>
+        <translation type="obsolete">Batal</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Bantuan untuk menggunakan plugin tsb</translation>
+        <translation type="obsolete">Bantuan untuk menggunakan plugin tsb</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Buka bantuan Plugin Teks Delimited pada navigator hasil konfigurasi Anda</translation>
+        <translation type="obsolete">Buka bantuan Plugin Teks Delimited pada navigator hasil konfigurasi Anda</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Parse baris judul dan baharui daftar field X dan Y</translation>
+        <translation type="obsolete">Parse baris judul dan baharui daftar field X dan Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Parse baris judul arsip masukan dan segarkan daftar field X dan Y dari daftar field drop-down. Gunakan tombol ini untuk menyegarkan daftar field jikalau Anda mengubah delimiter setelah memilih arsip teks delimited.</translation>
+        <translation type="obsolete">Parse baris judul arsip masukan dan segarkan daftar field X dan Y dari daftar field drop-down. Gunakan tombol ini untuk menyegarkan daftar field jikalau Anda mengubah delimiter setelah memilih arsip teks delimited.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Ciptakan sebuah lapisan dengan menggunakan parameter yang telah ditentukan dan menambahkannya ke peta. Dialog tsb tetap terbuka untuk mengijinkan penambahan lapisan-lapisan lebih lanjut.</translation>
+        <translation type="obsolete">Ciptakan sebuah lapisan dengan menggunakan parameter yang telah ditentukan dan menambahkannya ke peta. Dialog tsb tetap terbuka untuk mengijinkan penambahan lapisan-lapisan lebih lanjut.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Tutup dialog tsb</translation>
+        <translation type="obsolete">Tutup dialog tsb</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Tutup dialog tsb tanpa menambahkan apa-apa pada peta.</translation>
+        <translation type="obsolete">Tutup dialog tsb tanpa menambahkan apa-apa pada peta.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Field X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nama field yang mengandung nilai-nilai x</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nama field yang mengandung nilai-nilai x. Pilih sebuah field dari daftar tsb. Daftar tsb dihasilkan dengan memparsing baris judul dari arsip teks delimited.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Field Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nama field yang mengandung nilai-nilai y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nama field yang mengandung nilai-nilai y. Pilih sebuah field dari daftar. Daftar tsb dihasilkan dengan memparsing baris judul dari arsip teks delimited.</translation>
     </message>
@@ -6187,117 +6482,97 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nama Lapisan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nama untuk diperlihatkan pada legenda peta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nama yang diperlihatkan pada legenda peta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Delimiter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Delimiter yang digunakan saat memisahkan field-field pada arsip teks. Delimiter tsb dapat lebih dari 1 karakter.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Delimiter yang digunakan saat memisahkan filed-field dalam arsip teks delimited. Panjang delimiter tsb boleh 1 karakter atau lebih.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Lapisan Teks Delimited</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Arsip teks delimited</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Path lengkap ke arsip teks delimited</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Path penuh ke arsip teks delimited. Supaya proses parse field-field dalam arsip benar, delimiter tsb harus didefinisikan sebelum memasukkan nam arsip. Gunakan tombol Navigasi persis di sebelah kanan field ini untuk memilih arsip masukan.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Navigasi untuk menemukan arsip teks delimited yang akan diproses</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Gunakan tombol ini untuk menavigasi lokasi arsip teks delimited. Tombol ini akan akan diaktifkan hingga sebuah delimiter dimasukkan pada kotak &lt;i&gt;Delimiter&lt;/i&gt;. Jika sebuah arsip dipilih, maka kotak drop-down field X dan Y akan diisi dengan arsip teks delimited.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Tambah lapisan dengan menggunakan field-field delimiter, arsip, dan x/y yang telah ditentukan</translation>
+        <translation type="obsolete">Tambah lapisan dengan menggunakan field-field delimiter, arsip, dan x/y yang telah ditentukan</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
-        <source>Alt+H</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Parse</translation>
+        <translation type="obsolete">&amp;Parse</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
-        <source>Alt+P</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Tambah Lapisan</translation>
+        <translation type="obsolete">&amp;Tambah Lapisan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
-        <source>Alt+A</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Tutup</translation>
+        <translation type="obsolete">&amp;Tutup</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
-        <source>Alt+C</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Contoh teks</translation>
     </message>
@@ -6316,97 +6591,54 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Fitur-fitur Bufer</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Batal</translation>
+        <translation type="obsolete">&amp;Batal</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6414,57 +6646,57 @@
         <translation type="obsolete">Tentuan Bufer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Jarak bufer dalam unit-unit peta:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nama tabel untuk lapisan berbufer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Ciptakan id objek unik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>publik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Kolom geometri:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID referensi spasial:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Field unik untuk digunakan sebagai id fitur:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Skema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Tambah lapisan berbufer ke peta?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Bufer fitur-fitur pada lapisan: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6811,25 +7043,20 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Kata-kata Kunci</translation>
     </message>
@@ -6844,7 +7071,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6852,17 +7079,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished">Status</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished">Indeks</translation>
     </message>
@@ -7065,154 +7292,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished">Batal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7220,22 +7447,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7248,7 +7475,7 @@
         <translation>Peralatan GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Memuat arsip GPX</translation>
     </message>
@@ -7267,37 +7494,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Arsip:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Tipe-tipe fitur:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Objektif-objektif</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Rute-rute</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Trek-trek</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Impor arsip lain</translation>
     </message>
@@ -7327,27 +7554,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Arsip yang hendak diimpor:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Tipe fitur:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Arsip keluaran GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nama lapisan:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Download dari GPS</translation>
     </message>
@@ -7375,27 +7602,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Edit divais-divais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Divais GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Arsip keluaran:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Upload ke GPS</translation>
     </message>
@@ -7423,96 +7650,86 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Lapisan data:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Batal</translation>
+        <translation type="obsolete">&amp;Batal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
-        <source>Alt+C</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7520,12 +7737,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
@@ -7538,34 +7755,34 @@
         <translation type="obsolete">Pilih tipe Geometri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tipe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Titik</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Garis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Poligon</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Batal</translation>
+        <translation type="obsolete">Batal</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -7573,17 +7790,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation type="unfinished">Tambah</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation type="unfinished">Kolom 1</translation>
     </message>
@@ -7593,17 +7810,17 @@
         <translation type="obsolete">Item Baru</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation type="unfinished">Buang</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation type="unfinished">Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7611,7 +7828,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7667,70 +7884,75 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7813,40 +8035,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished">Simbol graduasi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation type="unfinished">Field Klasifikasi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation type="unfinished">Mode:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -7856,22 +8075,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Nilai</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Field</translation>
     </message>
@@ -7937,77 +8156,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished">Peralatan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8015,251 +8234,251 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation type="unfinished">Titik baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation type="unfinished">Sentroid baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation type="unfinished">Hapus verteks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished">Baris baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished">Batas baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished">Geser verteks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished">Tambah verteks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished">Potong garis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished">Edit atribut-atribut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Titik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Garis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Warna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Indeks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Panjang</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8415,32 +8634,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Batal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8853,12 +9072,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8868,144 +9087,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Batal</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9056,7 +9245,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9064,17 +9253,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9082,22 +9271,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9105,42 +9294,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9148,7 +9337,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9156,7 +9345,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9164,69 +9353,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9334,7 +9523,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9359,129 +9548,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9642,162 +9831,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9805,22 +9994,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10015,39 +10204,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -10058,78 +10214,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10150,17 +10301,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10221,32 +10372,22 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished">Templet Plugin QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation type="unfinished">Konstruktor Gratikul</translation>
     </message>
@@ -10256,17 +10397,17 @@
         <translation type="obsolete">Asal (Kiri Inferior)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation type="unfinished">Bujur:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation type="unfinished">
 Lintang:</translation>
@@ -10284,7 +10425,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -10292,60 +10433,65 @@
         <translation type="obsolete">Ukuran Gratikul (unit dalam derajad)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation type="unfinished">Interval Bujur:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation type="unfinished">Interval Lintang:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished">Titik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished">Garis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished">Poligon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -10360,12 +10506,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10467,27 +10613,27 @@
         <translation type="obsolete">&lt;center&gt;Eksekusi aksi&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Fitur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">Nilai</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10867,184 +11013,266 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Tutup</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Buka tabel atribut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Simapan sbg shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Tidak ada Lapisan Dipilih</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Buka tabel atribut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Simapan sbg shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>QgsLegend</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabel atribut -</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Hentikan editing</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Buka tabel atribut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Simapan sbg shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -11128,58 +11356,48 @@
         <translation type="obsolete">Untuk mengidentifikasi fitur-fitur, Anda harus memilih lapisan aktif dengan mengklik nama pada legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zom ke eksten lapisan terpilih</translation>
+        <translation type="obsolete">&amp;Zom ke eksten lapisan terpilih</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Buang</translation>
+        <translation type="obsolete">&amp;Buang</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Properti-properti</translation>
+        <translation type="obsolete">&amp;Properti-properti</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Tidak ada fitur ditemukan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -11190,34 +11408,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished">Timpa Arsip?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -11226,144 +11444,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Ekspor ke Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Arsip peta</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Ekspor informasi LAPISAN saja</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Peta</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nama</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Tinggi</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Lebar</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>kaki</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>meter</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>mil</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>inchi</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>unit-unit</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Tipe imej</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>definisi-pengguna</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation></translation>
     </message>
@@ -11383,88 +11586,90 @@
         <translation>Prefix yang dilengketkan ke peta, kotak skala dan nama arsip GIF legenda diciptakan menggunakan ArsipPeta ini. Ini harus dijaga tetap pendek.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Definisi Antarmuka Web</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Judul</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Kaki</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Templet</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Batal</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Pilih sebuah direktori</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -11501,64 +11706,70 @@
 </context>
 <context>
     <name>QgsMeasure</name>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Bantuan</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished">Baru</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
         <source>Segments (in feet)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
         <source>Segments (in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
         <source>Segments</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsMeasureBase</name>
+    <name>QgsMeasureTool</name>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
-        <source>Measure</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
-        <source>Help</source>
-        <translation type="unfinished">Bantuan</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
-        <source>New</source>
-        <translation type="unfinished">Baru</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
-        <source>Cl&amp;ose</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
-        <source>Total:</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMessageViewer</name>
@@ -11666,12 +11877,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Coba koneksi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Koneksi ke %1 berlangsung sukses</translation>
     </message>
@@ -11681,7 +11892,7 @@
         <translation type="obsolete">La connection a échoué - Vérifiez les paramètres et reéssayez</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -11691,7 +11902,7 @@
 Informasi kesalahan tambahan:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11905,42 +12116,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Kiri Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation type="unfinished">Kanan Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Kanan Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished">Kiri Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11948,7 +12159,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11956,100 +12167,95 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished">Plugin Panah Utara</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation type="unfinished">Properti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation type="unfinished">Sudut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation type="unfinished">Penempatan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished">Aktifkan Panah Utara</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation type="unfinished">Kiri Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation type="unfinished">Kanan Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Kiri Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Kanan Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation type="unfinished">Penempatan pada layar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished">Visualisasi panah utara</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation type="unfinished">Ikon</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation type="unfinished">Item Baru</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
-        <source>&amp;Cancel</source>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt-F</translation>
-    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -12065,14 +12271,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -12080,57 +12278,52 @@
         <translation>Opsi-opsi QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Batal</translation>
+        <translation type="obsolete">&amp;Batal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Cari Radius untuk identifikasi Fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Sembunyikan layar splash saat pembukaan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Penampakan</translation>
     </message>
@@ -12140,27 +12333,27 @@
         <translation type="obsolete">&amp;Layar Splash</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Tema &amp;Ikon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Catatan: &lt;/b&gt;Perubahan tema akan kelihatan saat menjalankan QGIS berikutnya</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Navigator Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Buka dokumen bantuan dengan</translation>
     </message>
@@ -12170,7 +12363,7 @@
         <translation type="obsolete">&lt;b&gt;Catatan:&lt;/b&gt; Browser harus ada di PATH Anda atau Anda dapat menentukan &lt;br&gt; path penuh di atas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Render</translation>
     </message>
@@ -12180,22 +12373,22 @@
         <translation type="obsolete">&amp;Baharui Seiring Penggambaran</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Baharui layar setelah pembacaan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Layar Peta akan dibaharui (digambar) setelah banyak fitur dibaca dari sumber data</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Tentukan 0 untuk tidak membaharui layar hingga semua fitur berhasil dibaca)</translation>
     </message>
@@ -12242,12 +12435,12 @@
         <translation type="obsolete">&lt;b&gt;Catatan: &lt;/b&gt;Nilai yang lebih tinggi mengakibatkan simbol-simbol SVG lebih halus, tapi dapat memperlambat rendering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Visibilitas Inisial</translation>
     </message>
@@ -12274,137 +12467,137 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished">Penampakan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -12413,40 +12606,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Umum</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -12611,87 +12824,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabel &lt;b&gt;%1&lt;/b&gt; dalam basisdata &lt;b&gt;%2&lt;/b&gt; pada host &lt;b&gt;%3&lt;/b&gt;, pengguna &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Koneksi Gagal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Koneksi ke basisdata gagal:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Kesalahan basisdata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Gagal mengambil contoh nilai-nilai field</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Hasil Query</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Klausa where yang dikembalikan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>baris.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Query gagal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Kesalahan terjadi saat mengeksekusi query:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Tidak ada Rekord</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Query yang Anda tentukan menghasilkan rekord kosong. Lapisan-lapisan PostgreSQL yang valid harus mengandung paling tidak satu fitur.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12832,17 +13040,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Pilih sebuah direktori</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Tidak ada Plugin-plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Tidak ada plugin QGIS yang ditemukan di</translation>
     </message>
@@ -12943,136 +13151,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -13139,13 +13352,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -13168,41 +13386,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -13212,195 +13430,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -13413,44 +13619,39 @@
         <translation>Properti Proyek</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Unit Peta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Kaki</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Derajad Desimal</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Batal</translation>
+        <translation type="obsolete">&amp;Batal</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -13458,208 +13659,188 @@
         <translation type="obsolete">Judul</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Judul proyek default</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation type="unfinished">&amp;Aplikasikan</translation>
+        <translation type="obsolete">&amp;Aplikasikan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation type="unfinished">Umum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
-        <source>Snapping Tolerance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished">Presisi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13673,9 +13854,39 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Tidak Ditentukan</translation>
     </message>
@@ -13695,27 +13906,27 @@
         <translation type="obsolete">&amp;Enlever</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Pengendali:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensi-dimensi:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Band:</translation>
     </message>
@@ -13725,12 +13936,12 @@
         <translation type="obsolete">Proyeksi:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Asal:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Ukuran Piksel:</translation>
     </message>
@@ -13750,170 +13961,170 @@
         <translation type="obsolete">Biru</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Eksten Raster:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Daerah yang dipotong:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Previsualisasi piramid:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statistik Band (jika telah dikumpulkan):</translation>
+        <translation type="obsolete">Statistik Band (jika telah dikumpulkan):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Properti</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Nilai</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Band No</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Tidak ada Statistik</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Bleum ada statistik yang dikumpulkan</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Nilai Min</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Nilai Maks</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Rentang</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Rata-rata</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Jumlah kuadrat</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Standar Deviasi</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Jumlah semua sel-sel</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Hitungan Sel</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Akses tulis ditolak</translation>
+        <translation type="obsolete">Akses tulis ditolak</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Akses tulis ditolak. Atur permisi arsip dan coba lagi.
+        <translation type="obsolete">Akses tulis ditolak. Atur permisi arsip dan coba lagi.
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Tipe Data:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Integer 8 bit tak bertanda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Integer 16 bit tak bertanda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Integer 16 bit bertanda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Integer 32 bit tak bertanda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_UInt32 - Integer 32 bit bertanda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Floating point 32 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Floating point 64 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Int16 Kompleks</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Int32 Kompleks</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Float32 Kompleks</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Float64 Kompleks</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Tidak dapat menentukan tipe data raster.</translation>
     </message>
@@ -13928,67 +14139,47 @@
         <translation type="obsolete">&amp;Montrer dans l&apos;aperçu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparansi&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparansi&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Magphase Rata-rata</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Rata-rata</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14001,32 +14192,32 @@
         <translation type="obsolete">Tidak ada Data:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Catatan Imej Multiband&lt;/h3&gt;&lt;p&gt;Ini adalah imej multiband. Anda dapat memilih merender sbg skalaabu atau warna (RGB). Untuk imej berwarna, Anda dapat memasangkan band ke warna secara sembarangan. Misalnya, jika Anda memiliki 7 band imej landsat, Anda dapat memilih merender sebagai:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Biru Visibel (0.45 to 0.52 mikron) - tak terpeta ke &lt;/li&gt;&lt;li&gt;Hijau Visibel (0.52 to 0.60 mikron) - tak terpeta ke &lt;/li&gt;&lt;/li&gt;Merah Visibel (0.63 to 0.69 miron) - terpeta ke merah dalam imej &lt;/li&gt;&lt;li&gt;Dekat Inframerah (0.76 to 0.90 mikron) - terpeta ke hijau dalam imej &lt;/li&gt;&lt;li&gt;Inframerah Tengah (1.55 to 1.75 microns) - tak terpeta&lt;/li&gt;&lt;li&gt;Inframerah Termal (10.4 to 12.5 mikron) - tak terpeta&lt;/li&gt;&lt;li&gt;Inframerah Tengah (2.08 to 2.35 microns) - terpeta ke biru dalam imej&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Catatan Imej Berpalet&lt;/h3&gt; &lt;p&gt;Imej ini menggunakan warna palet tetap. Anda dapat mempetaulang warna-warna ini dalam kombinasi yang berbeda, misalnya&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Merah - biru dalam imej&lt;/li&gt;&lt;li&gt;Hijau - biru dalam imej&lt;/li&gt;&lt;li&gt;Biru - hijau dalam imej&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Catatan Imej Skalaabu&lt;/h3&gt; &lt;p&gt;Anda dapat mempetaulang skalaabu ini ke imej berwarna tipuan menggunakan warna bertingkat yang dihasilkan otomatis.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Skalaabu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Warna tipuan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Fenomena tak biasa</translation>
     </message>
@@ -14041,35 +14232,63 @@
         <translation type="obsolete">Baris-baris:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished">Tidak Ditentukan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Akses tulis ditolak</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Akses tulis ditolak. Atur permisi arsip dan coba lagi.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -14081,50 +14300,40 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Batal</translation>
+        <translation type="obsolete">&amp;Batal</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Aplikasikan</translation>
+        <translation type="obsolete">&amp;Aplikasikan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
-        <source>Alt+A</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Bantuan</translation>
+        <translation type="obsolete">&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
-        <source>F1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Umum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Sumber Lapisan:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Nama Layar:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legenda:</translation>
     </message>
@@ -14134,12 +14343,12 @@
         <translation type="obsolete">Perlihatkan info debug sebagai overlai di atas raster?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Tidak ada data:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Simobologi</translation>
     </message>
@@ -14149,52 +14358,52 @@
         <translation type="obsolete">Penampakan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparansi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Penuh&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Tidak ada</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Balikkan Peta Warna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Hijau&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Merah&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Biru&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Warna</translation>
     </message>
@@ -14204,17 +14413,17 @@
         <translation type="obsolete">Skalaabu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Abu-abu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Std Deviasi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Peta Warna</translation>
     </message>
@@ -14274,17 +14483,17 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Veuillez Noter :&lt;/font&gt; Simbologi Lanjutan belum diimplementasikan&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Piramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Metode Pengambilan Contoh Ulang</translation>
     </message>
@@ -14294,42 +14503,42 @@
         <translation type="obsolete">Magphase Rata-rata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Rata-rata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Tetangga Terdekat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Bangun Piramid-piramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Resolusi Piramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniatur</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Kolom:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Baris:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Palet:</translation>
     </message>
@@ -14370,92 +14579,92 @@
         <translation type="obsolete">Gunakan rendering bergantung skala</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maksimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Skala maksimum dimana lapisan ini akan diperlihatkan.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Skala minimum dimana lapisan ini akan diperlihatkan.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -14463,19 +14672,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -14483,36 +14702,21 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14520,107 +14724,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation type="unfinished">meter/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation type="unfinished">kaki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation type="unfinished">derajad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation type="unfinished">km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation type="unfinished">Kiri Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Kiri Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation type="unfinished">Kanan Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Kanan Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation type="unfinished">Tik Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation type="unfinished">Tik Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation type="unfinished">Batang</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation type="unfinished">Kotak</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14628,29 +14832,19 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation type="unfinished">Plugin Kotak Skala</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt-F</translation>
+        <translation type="obsolete">Alt-F</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -14665,27 +14859,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation type="unfinished">Kiri Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation type="unfinished">Kanan Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Kiri Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Kanan Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation type="unfinished">Ukuran batang:</translation>
     </message>
@@ -14695,62 +14889,62 @@
         <translation type="obsolete">Pilih Warna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation type="unfinished">Penempatan:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation type="unfinished">Tik Bawah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation type="unfinished">Tik Atas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation type="unfinished">Kotak</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation type="unfinished">Batang</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation type="unfinished">Pilih gaya kotak skala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation type="unfinished">Warna kotak:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation type="unfinished">Gaya kotak skala:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation type="unfinished">Aktifkan kotak skala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation type="unfinished">Secara otomatis bulatkan saat perubahan ukuran</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14771,124 +14965,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished">Tidak ada Rekord</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Apakah Anda yakin hendak membuang </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">koneksi dan semua tentuan terasosiasi?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Konfirmasi Hapus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation type="unfinished">Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation type="unfinished">Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15014,17 +15203,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -15154,27 +15343,27 @@
         <translation type="unfinished">Simbol Tunggal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished">Pola-pola Isi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished">Titik</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15184,343 +15373,348 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished">Isi Warna:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished">Warna Batas luar:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished">Gaya Batas luar:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished">Label:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Konfirmasi Hapus</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation type="unfinished">Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation type="unfinished">Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation type="unfinished">Batal</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished">Nama arsip</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished">Kelas Fitur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished">Fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished">Nama Relasi DB</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished">Skema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15528,32 +15722,32 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Alat Impor Shapefile ke PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Koneksi-koneksi PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Buang</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Impor</translation>
+        <translation type="obsolete">Impor</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Daftar Shapefile</translation>
     </message>
@@ -15583,107 +15777,107 @@
         <translation type="obsolete">Skema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Nama Kolom Geometri</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Buang Semua</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Skema Global</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Alat Import Shapefile ke PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Impor shapefile yang terdefinisi ke PostGIS</translation>
+        <translation type="obsolete">Impor shapefile yang terdefinisi ke PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Tutup</translation>
+        <translation type="obsolete">Tutup</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Tambah</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Tambah sebuah shapefile ke daftar arsip untuk diimpor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Buang shapefile yang terpilih dari daftar impor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Buang semua shapefile dari daftar impor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Gunakan SRID Default</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Tentukan SRID ke nilai default</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Gunakan Nama Kolom Geometri Default</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Tentukan nama kolom geometri ke nilai default</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Ciptakan koneksi PostGIS yang baru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Buang koneksi PostGIS aktual</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Koneksikan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Edit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Edit koneksi PostGIS aktual</translation>
     </message>
@@ -15701,7 +15895,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15735,15 +15929,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished">Field Klasifikasi:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -15758,9 +15962,9 @@
         <translation type="obsolete">Tidak ada fitur ditemukan di lapisan aktif pada titik yang Anda klik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabel atribut -</translation>
+        <translation type="obsolete">Tabel atribut -</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15768,9 +15972,9 @@
         <translation type="obsolete">&amp;Zoomer afin d&apos;étendre à la couche sélectionnée</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Buka tabel atribut</translation>
+        <translation type="obsolete">&amp;Buka tabel atribut</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15798,29 +16002,29 @@
         <translation type="obsolete">Mulai editing</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Hentikan editing</translation>
+        <translation type="obsolete">Hentikan editing</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Simapan sbg shapefile...</translation>
+        <translation type="obsolete">Simapan sbg shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Penyedia tidak mendukung penghapusan</translation>
+        <translation type="obsolete">Penyedia tidak mendukung penghapusan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Penyedia data tidak mendukung penghapusan fitur-fitur</translation>
+        <translation type="obsolete">Penyedia data tidak mendukung penghapusan fitur-fitur</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Lapisan tidak dapat diedit</translation>
+        <translation type="obsolete">Lapisan tidak dapat diedit</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15828,281 +16032,191 @@
         <translation type="obsolete">Lapisan aktual tidak dapat diedit. Pilih &apos;mulai editing&apos; pada item legenda dari menu klik kanan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Abort</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished">Simbol Tunggal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished">Simbol Graduasi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished">Warna Berkelanjutan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished">Nilai Unik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">Tombol ini membukan pembangun query PostgreSQL dan mengijinkan Anda untuk menciptakan sub himpunan fitur-fitur untuk ditampilkan pada kanvas peta bukannya memperlihatkan seluruh fitur dalam lapisan tsb</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished">Query tsb digunakan untuk membatasi fitur-fitur lapisan yang ditampilkan di sini. Fitur ini saat ini hanya berlaku pada lapisan-lapisan PostgreSQL. Untuk memasukkan atau mengubah query, klik pada tombol Pembangun Query</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished">Field</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished">Tipe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished">Panjang</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished">Presisi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16114,7 +16228,7 @@
         <translation>Properti Lapisan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Tipe Legenda:</translation>
     </message>
@@ -16126,7 +16240,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16136,137 +16250,137 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Batal</translation>
+        <translation type="obsolete">Batal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished">Transparansi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished">Umum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished">Maksimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished">Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished">Perlihatkan nama</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished">Gunakan kontrol ini untuk menentukan field mana yang ditempatkan pada level teratas dari kotak dialog Hasil-hasil Identifikasi.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished">Field layar dari kotak dialog Hasil-hasil Identifikasi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished">Ini menentukan field layar untuk kotak dialog Hasil-hasil Identifikasi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished">Field Layar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished">Pembangun Query</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished">Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished">Label-label</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished">Perlihatkan label-label</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished">Aksi-aksi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation type="unfinished">Aplikasikan</translation>
+        <translation type="obsolete">Aplikasikan</translation>
     </message>
 </context>
 <context>
@@ -16315,7 +16429,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16323,29 +16437,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Apakah Anda yakin hendak membuang </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">koneksi dan semua tentuan terasosiasi?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Konfirmasi Hapus</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">Ya</translation>
+        <translation type="obsolete">Ya</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">Tidak</translation>
+        <translation type="obsolete">Tidak</translation>
     </message>
 </context>
 <context>
@@ -16378,55 +16492,30 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation type="unfinished">Bantuan</translation>
+        <translation type="obsolete">Bantuan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">Hapus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">Edit</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16439,282 +16528,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">Properti</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished">Nilai</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished">Judul</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished">Ya</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished">Visibilitas</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished">Nama</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16728,16 +16817,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Templet Plugin QGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Templet Plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation type="unfinished">Templet Plugin QGIS</translation>
+        <translation type="obsolete">Templet Plugin QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation type="unfinished">Templet Plugin</translation>
+        <translation type="obsolete">Templet Plugin</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16758,33 +16928,37 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt-F</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">
+Lintang:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt-F</translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Tidak</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Bujur:</translation>
     </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation type="unfinished"></translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_it.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_it.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_it.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>Manager Driver OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>impossibile recuperare OGRDriverManager</translation>
     </message>
@@ -16,251 +16,292 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Inserire le coordinate mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Annulla</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Interrompi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Stato</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+</context>
+<context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Nessun supporto per i dati</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Nessun plugin per le sorgenti dati</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Nessun layer può essere caricato. Controllare l&apos;installazione di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nessun plugin disponibile per l&apos;accesso ai dati. Nessun layer può essere caricato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGis files (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Apri un layer supportato da OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> alla linea </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> colonna </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> per il file </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Impossibile salvare nel file </translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>L&apos;espressione regolare sui valori numerici non ha senso. Utilizzare al suo posto la comparazione.</translation>
+        <translation type="obsolete">L&apos;espressione regolare sui valori numerici non ha senso. Utilizzare al suo posto la comparazione.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Non è stata trovata la colonna di riferimento: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Divisione per zero.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Layer non attivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Per ottenere informazioni sugli oggetti occorre prima selezionare un layer attivandolo con un click sul nome in legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>azione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation>  geometrie trovate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 geometria trovata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Nessuna geometria individuata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Non è stato trovata alcuna geometria sul layer attivo nel punto del click</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Non riesco a identificare oggetti in</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation> perchè</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Per selezionare una geometria occorre prima selezionare un layer con un click sul nome in legenda</translation>
+        <translation type="obsolete">Per selezionare una geometria occorre prima selezionare un layer con un click sul nome in legenda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nuovo centroide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nuovo punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nuovo vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Annulla ultimo punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Chiudi linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Seleziona vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Scegli nuova posizione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Seleziona segmento di linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nuovo posizione del vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Rilascia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Elimina vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Rilascia vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Seleziona elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nuova locazione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Rilascia selezione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Elimina selezionato / seleziona il prossimo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Seleziona punto sulla linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Dividi la linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Rilascia la linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Seleziona un punto sulla linea</translation>
     </message>
@@ -270,27 +311,27 @@
         <translation>Etichetta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Lunghezza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Non riesco a spostare il segmento. E&apos; stata definita la tolleranza in Impostazioni -&gt; Proprietà Progetto -&gt; Generale?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Non riesco a spostare il vertice. E&apos; stata impostata la tolleranza in Impostazioni -&gt; Proprietà Progetto -&gt; Generale?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Errore nella lettura del file di progetto: </translation>
     </message>
@@ -300,37 +341,37 @@
         <translation>Per calcolare una trasformazione lineare servono almeno 2 punti.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Per calcolare una trasformazione Helmert sono necessari almeno 2 punti.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Per creare una trasformazione affine servono almeno 4 punti.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>Non riesco ad aprire la sorgente dati: </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Errore di analisi alla line </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>gestore formato GPS eXchange</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Ho riscontrato un errore nella trasformazione delle coordinate del punto secondo il sistema di riferimento. Non riesco a calcolare la lunghezza della linea.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Ho riscontrato un errore nella trasformazione delle coordinate del punto secondo il sistema di riferimento. Non riesco a calcolare l&apos;area del poligono.</translation>
     </message>
@@ -357,12 +398,12 @@
         <translation>Se GISBASE non è stato definito,  non sarà possibile utilizzare i dati GRASS.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation>Etichetta di Copyright</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation>Stampa le informazioni di copyright</translation>
     </message>
@@ -407,12 +448,12 @@
         <translation>Strumenti per caricare ed importare dati GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation>Layer GRASS</translation>
     </message>
@@ -427,32 +468,32 @@
         <translation>Crea una griglia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation>Freccia nord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation>Mostra una freccia orientata a nord sovrapposta alla mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation>[menunomeoggetto]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation>[descrizioneplugin]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation>Barra di scala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation>Genera una barra di scala</translation>
     </message>
@@ -482,82 +523,265 @@
         <translation>Versione 0.0001</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Il layer non può essere aggiunto </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Il data provider per questo layer non permette l&apos;aggiunta di nuovi elementi.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Vettoriale non modificabile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Errore</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"> piedi</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"> grado</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> sconosciuto</translation>
     </message>
@@ -607,279 +831,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Vettoriale non modificabile</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Errore</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Righe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Punti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Database</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabella</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -899,52 +1073,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -952,1242 +1126,1242 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versione </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> con supporto PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation> (privo di supporto PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Plugin per l&apos;accesso alle sorgenti dati</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>sorgente dati non valida o sconosciuta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Sorgente dati non valida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nessun layer selezionato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Per visualizzare un attributo di una tabella, è necessario prima selezionare un vettoriale dalla legenda</translation>
+        <translation type="obsolete">Per visualizzare un attributo di una tabella, è necessario prima selezionare un vettoriale dalla legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Mancato plugin MapLayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Nessun plugin MapLayer presente in ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Nessun plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Non esistono plugin nella cartella ./plugins. Per fare un test  di controllo eseguire qgis dalla cartella src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Il plugin %1 si chiama %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informazioni del plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS ha caricato il plugin:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nome: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versione: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Descrizione: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Non è possibile caricare il plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS non riesce caricare il plugin da: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>È disponibile una nuova versione di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Si sta utilizzando una versione di sviluppo di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Si sta utilizzando l&apos;ultima versione di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Si vogliono avere maggiori informazioni?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informazioni sulla versione di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Impossibile recuperare informazioni sulla versione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Connessione rifiutata - probabilmente il server è giù</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Non è possibile raggiungere il server QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Layer non valido</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 è un layer non valido e non può essere caricato.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Errore di caricamento plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Errore nel caricamento di %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Mappa salvata nel immagine</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Assegnare un nome all&apos;immagine</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Estensione: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problemi nel cancellare le geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Problemi durante l&apos;eliminazione delle geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nessun layer vettoriale selezionato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Le geometrie sono disponibili soltanto sui vettoriali</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Per cancellare una elemento occorre prima selezionare un layer vettoriale dalla legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS è distribuito sotto licenza GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Disegna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Impossibile salvare il progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Impossibile salvare il progetto in </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legenda che mostra tutti i layer attualmente presenti sulla mappa. Per abilitare/disabilitare la vista di un layer fare click sul relativo check box. Un doppio click su un layer permette di personalizzare l&apos;aspetto ed altre proprietà.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Vista panoramica. Quest&apos;area può essere utilizzata per visualizzare l&apos;estensione attualmente in uso dalla mappa. L&apos;estensione in uso è rappresentata da un rettangolo rosso. Qualsiasi layer può essere aggiunto in questa vista.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Area mappa. Questa è la zona dove raster e vettoriali vengono visualizzati e aggiunti alla mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Barra di progressione che mostra lo stato del ridisegnamento dei layer e moltre altre operazioni che richiedono tempo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Mostra la scala attualmente in uso sulla mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Mostra le coordinate della mappa nella posizione del cursore. L&apos;informazione viene aggiornata ad ogni spostamento del mouse.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Se selezionato, l&apos;area dedicata alla mappa ridisegna tutti i vettoriali con le relative proprietà. Se non selezionato, non avverà alcun ridisegnamento. Questo permette di aggiungere un gran numero di vettoriali e di cambiarne le proprietà prima che vengano disegnati.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Abilita il disegno della mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Questa icona mostra se il sistema di cambio di proiezione al volo è abilitato o meno. Fare click sull&apos;icona per avere le informazioni sulla proiezione e alterarne il comportamento.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Stato della proiezione - Click per aprire la finestra di diaologo della proiezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Map Composer per creare il layout della mappa</translation>
+        <translation>Map Composer per creare il layout della mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Supporto per il caricamento di un qualsiasi vettoriale supportato da OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Errore di lettura del progetto QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Provare a cercare i layer persi?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Apre un raster supportato da GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Salva con nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Seleziona un progetto QGIS da caricare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Seleziona un file di progetto QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Progetto salvato in:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Selezione del browser per QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>inserire il nome di un browser da utilizzare (es. konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Inserire il percorso completo del browser qualora non sia presente nel PATH.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Lettura impostazioni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Impostazioni Interfaccia grafica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Controllo database</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Recupero plugin caricati</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Inizializzazione filtri dei file</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Recupero stato della finestra</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS Pronto!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nuovo progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nuovo progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>Apri pr&amp;ogetto...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+o</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Apri un progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Salva Progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Salva progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>S&amp;alva Progetto con nome...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Salva Progetto con un nuovo nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>Stam&amp;pa...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+p</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Stampa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Salva come immagine...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Salva mappa come immagine</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Esporta per MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Esporta come MapServer .map file</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Esci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Esci da QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Aggiungi un layer vettoriale...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Aggiungi un layer vettoriale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Aggiungi un raster...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Aggiunge un raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Aggiungi un layer PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Aggiunge un layer PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nuovo Layer Vettoriale...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Crea un nuovo layer vettoriale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Elimina Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Rimuove un layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Aggiungi tutto alla vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Mostra tutti i layer nella vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Rimuovi tutto dalla vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Rimuove tutti i layer dalla vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Mostra tutti i layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Mostra tutti i layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Nascondi tutti i layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Nascondi tutti i layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Proprietà del Progetto...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Imposta le proprietà del progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Opzioni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Cambia le varie opzioni di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Proiezione personalizzata...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Gestisci proiezioni personalizzate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Aiuto contenuti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Aiuto Documentazione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Qgis Home Page</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Home Page</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Informazioni su QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Controlla Versione Qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Controlla se la versione di QGIS in uso è d&apos;aggiornare (è necessario il collegamento internet)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Aggiorna mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Ingrandisci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Rimpicciolisci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Vista massima</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Zoom alla massima estensione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Zoom su selezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zoom sulla selezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Sposta mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Sposta la mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Ultimo zoom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zoom all&apos;ultima estensione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Zoom sul layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zoom sul layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Informazioni geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Click su una geometria per ottenere le sue informazioni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Seleziona geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Apri Tabella</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Misura Linea </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Misura una linea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Calcola l&apos;area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Calcola un area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Mostra segnalibri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nuovo Segnalibro...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nuovo Segnalibro</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Aggiungi layer WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Aggiungi un layers WMS (Web Mapping Server)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Nella vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Aggiungi il layer corrente nella vista panoramica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Plugin Manager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Apri il manager di plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Avvia la modifica del layer in uso</translation>
+        <translation type="obsolete">Avvia la modifica del layer in uso</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Interrompi la modifica del layer in uso</translation>
+        <translation type="obsolete">Interrompi la modifica del layer in uso</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Inserisci punto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Inserisci punti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Inserisci linea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Inserisci linee</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Inserisci poligono</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl +/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Inserisci poligoni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Elimina selezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Aggiungi vertice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Elimina vertice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Sposta vertice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;File</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>Apri pr&amp;ogetti recenti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>Impo&amp;stazioni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>Ai&amp;uto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>File</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Gestisci Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Aiuto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalizza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navigazione mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Attributi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Pronto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Nuova geometria</translation>
+        <translation>Nuova geometria</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Impossibile aprire il progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Impossibile salvare il progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Scegliere un nome per il file con cui salvare il progetto QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: impossibile caricare il progetto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Impossibile caricare il progetto </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - cambiamenti nel SVN dall&apos;ultima versione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>E&apos; possibile cambiare questa opzione in un altro momento selezionando la voce Opzioni dal menu Impostazioni (Aiuto Browser tab).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Il layer non è valido</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Questo layer non è valido e non può essere aggiunto alla mappa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Salvare?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Contenuti del blocco appunti (clipboard) modificati in: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> non è una sorgente dati valida o riconosciuta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> non è una sorgente dati raster supportata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Sorgente dati non supportata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Inserire un nome per il nuovo segnalibro:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Impossibile creare il segnalibro. Il database utente potrebbe non essere presente o danneggiato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Mostra la maggior parte delle barre strumenti</translation>
     </message>
@@ -2198,7 +2372,7 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Nascondi la maggior parte delle barre strumenti</translation>
     </message>
@@ -2209,184 +2383,274 @@
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Taglia geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Taglia geometrie selezionate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Copia geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Copia le geometrie selezionate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Incolla Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Incolla geometrie selezionate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>Barre s&amp;trumenti...</translation>
+        <translation type="obsolete">Barre s&amp;trumenti...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
 Compilanto contro Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation>, in esecuzione contro Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Molti miglioramenti nell&apos;interfaccia</translation>
+        <translation>Molti miglioramenti nell&apos;interfaccia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Migliotamento nella modifica dei vettoriali e degli attributi</translation>
+        <translation>Migliotamento nella modifica dei vettoriali e degli attributi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Vuoi salvare il progetto corrente?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Vuoi salvare il progetto corrente?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1332"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">Supporto WMS</translation>
+        <translation>Supporto WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Migliorati gli strumenti di misurazione con il calcolo dell&apos;area</translation>
+        <translation>Migliorati gli strumenti di misurazione con il calcolo dell&apos;area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Ricerca per attributi</translation>
+        <translation>Ricerca per attributi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Nuova struttura della legenda</translation>
+        <translation>Nuova struttura della legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1344"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Refactoring delle API per permettere l&apos;uso delle librerie di QGIS in altre applicazioni di mappe</translation>
+        <translation>Refactoring delle API per permettere l&apos;uso delle librerie di QGIS in altre applicazioni di mappe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Migliorato lo strumento di esportazione per MapServer</translation>
+        <translation>Migliorato lo strumento di esportazione per MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1348"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Lo sfondo dell&apos;area mappa ora è personalizzabile</translation>
+        <translation>Lo sfondo dell&apos;area mappa ora è personalizzabile</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Trasparenza del layer vettoriale</translation>
+        <translation>Trasparenza del layer vettoriale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Antialiasing per i layer vettoriali</translation>
+        <translation>Antialiasing per i layer vettoriali</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">Supporto GRASS per tutte le piattaforme</translation>
+        <translation>Supporto GRASS per tutte le piattaforme</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1356"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Ottimizzazione supporto GRASS e comandi nella toolbox</translation>
+        <translation>Ottimizzazione supporto GRASS e comandi nella toolbox</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Ottimizzazione modifica vettoriali compreso copia/incolla, spostamento e modifica dei vertici</translation>
+        <translation>Ottimizzazione modifica vettoriali compreso copia/incolla, spostamento e modifica dei vertici</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">modifica layer Shapefile/OGR</translation>
+        <translation>modifica layer Shapefile/OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1362"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Opzione solo per visualizzare la tabella geometry_columns per la ricerca di layer PostGIS</translation>
+        <translation>Opzione solo per visualizzare la tabella geometry_columns per la ricerca di layer PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation>Errore di rete durante la comunicazione con il server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation>Errore di socket network sconosciuto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation>Impossibile comunicare con il server delle versioni di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Il gestore di questo formato dati non permette l&apos;eliminazione</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Non è possibile eliminare le geometrie per questo formato di dati</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Vettoriale non modificabile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Il layer selezionato non è modificabile. Selezionare &apos;Avvia modifica&apos; dalla barra strumenti per la digitalizzazione.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
         <source></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>FinestraPrincipale</translation>
     </message>
@@ -2409,52 +2673,52 @@
         <translation>Informazioni su Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Novità</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Home Page</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Iscrizione alla mailing list degli utenti QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Fornitori dati</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Sviluppatori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Sviluppatori QGIS&lt;/h2&gt;</translation>
     </message>
@@ -2465,44 +2729,44 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS è rilasciato sotto la licenza GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses/licenses.it.html&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>Sponsor QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Questa lista contiene coloro che hanno finanziato lo sviluppo di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Sito web</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>Selezione del browser per QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -2510,15 +2774,6 @@
 Qualora il browser non sia nel PATH di sistema occorre specificare il percorso completo.
 Questa impostazione può essere modificata in qualsiasi altro monemto tramite il menu Impostazioni (linguetta Aiuto Browser).</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2551,22 +2806,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2741,7 +2996,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Esegui azione</translation>
     </message>
@@ -2872,42 +3127,42 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>selezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>seleziona e sposta in alto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>visualizza solo i corrispondenti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Errore di analisi nella stringa cercata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Risultati della ricerca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>E&apos; stata richiesta la ricerca di una stringa vuota.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Errore durante la ricerca</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Trovate %d geometrie corrispondenti.</numerusform>
@@ -2915,37 +3170,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Non è stata trovata nessuna geometria che soddisfa la ricerca.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Interrompi modifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Vuoi salvare le modifiche?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Errore</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">Impossibile applicare le modifiche</translation>
     </message>
@@ -2953,42 +3208,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Si vuole davvero cancellare?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sì</translation>
+        <translation type="obsolete">&amp;Sì</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;No</translation>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Si vuole veramente cancellare il </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> segnalibro?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Errore durante l&apos;eliminazione del segnalibro</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Errore nel cancellare il </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> segnalibro dal database. Messaggio dal database:</translation>
@@ -3060,122 +3315,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Assegna un nome da dare all&apos;immagine</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Selezione un nome di file per salvare la mappa come</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> in lettura/scrittura</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Errore nella stampa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Impossibile cercare</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Impossibile sovrascrivere il box di contorno</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Impossibile trovare il box di contorno</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Impossibile sovrascrivere la traslazione</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Impossibile trovare la traslazione</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Errore di Input/Ouput nel file</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>La carta non corrisponde</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Le dimensioni scelte per la carta non corrispondono a quelle della composizione</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Immagine grande</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Per creare una immagine </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation> sono richiesti circa </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB di memoria</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - compositore di stampe</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Mappa 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Impossibile aprire </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>il formato</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>messaggio di avviso SVG </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Non mostrare più questo messaggio in futuro</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;La funzione di esportazione in SVG di Qgis ha diversi problemi, la maggior parte dei quali dipendono da mancanze e bachi contenuti nelle librerie QT4. Alcune note: il testo non appare nel file SVG a ci sono problemi con il box di contorno della mappa ed altri oggetti come la legenza o la barra di scala.&lt;/p&gt;Se la necessità è quella di avere un file vettoriale in output, il consiglio è quello di tentante la stampa in postscript qualora l&apos;output SVG non sia soddisfacente.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>Formato SVG</translation>
     </message>
@@ -3309,32 +3564,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Estensione (calcola scala)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Scala (calcola estensione)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Mappa %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">Disegna</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Rettangolo</translation>
     </message>
@@ -3420,22 +3675,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Impossibile caricare l&apos;immagine.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Selezionare un file</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Immagini (</translation>
     </message>
@@ -3524,37 +3779,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Layer</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Gruppo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Combina i layer selezionati</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">Disegna</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Rettangolo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Legenda</translation>
     </message>
@@ -3600,97 +3855,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Personalizza</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5  (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4  (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Verticale</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Orizzontale</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Memoria esaurita</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -3698,17 +3953,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etichetta</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished">Impossibile caricare l&apos;immagine.</translation>
     </message>
@@ -3759,27 +4014,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Prova connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Connessione a </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> avvenuta con successo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Connessione fallita Controllare che le impostazione siano corrette e provare nuovamente </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3796,32 +4051,32 @@
         <translation>Informazioni connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Nome del server</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Database</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Nome utente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nome per la nuova connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Password</translation>
     </message>
@@ -3838,22 +4093,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Annulla</translation>
+        <translation type="obsolete">Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -3861,12 +4116,12 @@
         <translation>Crea una nuova connessione PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Porta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -3907,32 +4162,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Fallito</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>trasformazione di </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>con l&apos;errore: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Il sistema di riferimento spaziale (SRS) non è valido. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Le coordinate non possono essere riproiettate. L&apos;SRS è: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Il sistema di riferimento spaziale (SRS) di destinazione non è valido. </translation>
     </message>
@@ -3940,32 +4195,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>In basso a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>In alto a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>In alto a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>In basso a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>Etichetta &amp;Copyright</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Crea una etichetta di copyright che verrà visualizzata sopra la mappa.</translation>
     </message>
@@ -4030,22 +4285,22 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -4060,7 +4315,7 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message encoding="UTF-8">
         <location filename="" line="0"/>
@@ -4092,85 +4347,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Elimina definizione della proiezione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>L&apos;eliminazione di un file progetto non è riversibile. Lo si vuole veramente cancellare?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Annulla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nuovo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Proiezione personalizzata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Questa proiezione proj4 non è valida. Per piacere correggerla prma di premere salva. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>La proiezione proj4 non è valida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Nord ed Est devono essere in cifre decimali.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>La prozione proj4 definita non è valida. Inserire il corretto nome della proiezione prima di salvare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>La definizione della proiezione pro4 non è valida. Aggiungere i parametri necessari prima di salvare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>La definizione proj4 non è valida. Inserire la clausola proj= prima di salvare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>L&apos;elissoide proj4 definito non è valido. Aggiungere la clausola ellips= prima di salvare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Errore interno (proiezione non valida?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definizione di una proiezione personalizzata</translation>
     </message>
@@ -4180,243 +4425,259 @@
         <translation>Definizione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nome:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametri:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 di 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nuovo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Salva</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Elimina</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Chiudi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Prova</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Trasforma da WGS84 alla proiezione selezionata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Calcola</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Proiezione del sistema di coordinate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geografica / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Nord:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Est:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;E&apos; possibile definire i propri sistemi di proiezione qui. La definizione deve essere conforme al formato proj4 necessario a specificare un Sistema di Riferimento Spaziale.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;E&apos; possibile definire i propri sistemi di proiezione qui. La definizione deve essere conforme al formato proj4 necessario a specificare un Sistema di Riferimento Spaziale.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilizzare le aree di testo qui sotto per effettuare un test della proiezione creata. Inserire coordinate lat/long e i relativi risultati nel sistema di proiezione scelto (ad esempio dalla lettura della mappa). A quel punto premere il bottone per il calcolo per controllare se i risultati coincidono&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilizzare le aree di testo qui sotto per effettuare un test della proiezione creata. Inserire coordinate lat/long e i relativi risultati nel sistema di proiezione scelto (ad esempio dalla lettura della mappa). A quel punto premere il bottone per il calcolo per controllare se i risultati coincidono&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Si vuole veramente rimuovere </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>tutti i parametri per la connessione?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Conferma eliminazione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Seleziona tabella</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Prima di aggiungere un vettoriale occorre selezionare una tabella.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Password per </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation type="unfinished">Prego inserire la password:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Connessione fallita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Accesso alla relazione </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> usando sql;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation> è fallito. Il database dice: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Layer punto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Layer multipunto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Layer linee</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Layer multilinee</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Layer poligonale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Layer multipoligono</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Layer con geometrie miste</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Layer di collezione di geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>In attesa per tipo di layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Tipo di layer sconosciuto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Connessione fallita (da %1 versi %2). Entrambi i database sono giù o le impostazioni sono sbagliate. %3 Controllare nome utente e password e provare nuovamente. %4 La risposta del database è: %5%6</translation>
     </message>
@@ -4540,7 +4801,7 @@
         <translation>i campi X e Y sono necessari e devono contenere le coordinare in unità decimali.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished">Testo &amp;delimitato</translation>
     </message>
@@ -4553,30 +4814,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Layer senza nome</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Inserire un nome al layer prima di aggiungerlo alla mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Nessun delimitatore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Inserire un delimitatore prima di analizzare il file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Selezionare un file di testo delimitato d&apos;aprire</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -4588,140 +4859,140 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Annulla</translation>
+        <translation type="obsolete">Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>Ai&amp;uto</translation>
+        <translation type="obsolete">Ai&amp;uto</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Aiuto sull&apos;utilizzo del plugin</translation>
+        <translation type="obsolete">Aiuto sull&apos;utilizzo del plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Apre, nel browser configurato, la guida d&apos;aiuto per il plugin file di testo delimitato. </translation>
+        <translation type="obsolete">Apre, nel browser configurato, la guida d&apos;aiuto per il plugin file di testo delimitato. </translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Processa</translation>
+        <translation type="obsolete">&amp;Processa</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Processa la riga di intestazione e aggiorna i campi X e Y dalla lista</translation>
+        <translation type="obsolete">Processa la riga di intestazione e aggiorna i campi X e Y dalla lista</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Processa la riga d&apos;intestazione del file di input e aggiorna i campi di X e Y dalla lista. Questo bottone aggiorna la lista dei campi possibili qualora il delimitatore cambi dopo aver selezionato un file di testo delimitato.</translation>
+        <translation type="obsolete">Processa la riga d&apos;intestazione del file di input e aggiorna i campi di X e Y dalla lista. Questo bottone aggiorna la lista dei campi possibili qualora il delimitatore cambi dopo aver selezionato un file di testo delimitato.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Aggiungi Layer</translation>
+        <translation type="obsolete">&amp;Aggiungi Layer</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Aggiunge un lauer utilizzando un file di testo delimitato e i relativi campi x/y specificati.</translation>
+        <translation type="obsolete">Aggiunge un lauer utilizzando un file di testo delimitato e i relativi campi x/y specificati.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Crea un layer utilizzando specifici parametri aggiungendolo alla mappa. La finestra di dialogo rimarrà aperta per permettere l&apos;aggiunta di altri layer.</translation>
+        <translation type="obsolete">Crea un layer utilizzando specifici parametri aggiungendolo alla mappa. La finestra di dialogo rimarrà aperta per permettere l&apos;aggiunta di altri layer.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Chiudi</translation>
+        <translation type="obsolete">&amp;Chiudi</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Chiude la finestra di dialogo</translation>
+        <translation type="obsolete">Chiude la finestra di dialogo</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Chiude la finestra di dialogo senza aggiungere altro alla mappa.</translation>
+        <translation type="obsolete">Chiude la finestra di dialogo senza aggiungere altro alla mappa.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Campo X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nome del campo che contiene i valori di X</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nome del campo che contiene i valori di X. Selezionare un campo dalla lista. La lista è generata dall&apos;analisi della riga di intestazione del file contenenete del testo delimitato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Campo Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nome del campo che contiene i valori di Y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nome del campo che contiene i valori di Y. Selezionare un campo dalla lista. La lista è generata dall&apos;analisi della riga di intestazione del file contenente il testo delimitato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Testo di esempio</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Layer di testo delimitato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>File di testo delimitato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Percorso completo del file di testo delimitato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Percorso completo dl file di testo delimitato. Per definire i campi del file da analizzare occorre prima dichiarere il delimitatore e successivamente caricare i file. 
 Per selezionare il file da caricare utilizzare il bottone Sfoglia.</translation>
@@ -4729,45 +5000,45 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Sfoglia il file system per trovare il file di testo delimitato da processare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Usa questo bottone per sfogliare il file system al fine di individuare il file di testo delimitato da caricare. Questo bottone non sarà abilitato fino a questo non verrà definito il carattere del delimitatore nell&apos;input area &lt;i&gt;Delimitatore&lt;/i&gt;. Una volta selezionato il file, scegliere i campi X e Y dai relativi menu a tendina popolati dalla lettura del file di testo delimitato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nome Layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nome da utilizzare nella mappa di riferimento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nome visualizzato nella legenda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Delimitatore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Delimitatore utilizzato per dividere in campi il file di testo. Il delimitatore può essere più di un carattere.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Delimitatore utilizzato per dividere in campi il file di testo. Il delimitatore può essere di 1 o più caratteri di lunghezza.</translation>
     </message>
@@ -4779,149 +5050,162 @@
 &lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Descrizione&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Selezionare un file contenente del testo delimitato completo di coordinate x e y che si vuole visualizzare come layer di punti.&lt;/p&gt;
 &lt;p&gt;Utilizzare il box con il nome del layer per stabilire il nome con cui comparirà nella legenda. Utilizzare il box con il delimitatore per stabilire quale sia quello utilizzato nel file  (e.s. spazio, virgola o tabulatore). Una volta completate le selezioni, premere il tasto per processare i dati e selezionare i campi che contengono le coordinate x e y del layer &lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Salva il layer come...</translation>
+        <translation type="obsolete">Salva il layer come...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished">Nota: le seguenti linee non sono state caricate in quanto Qgis non è in grado di capire i valore delle coordinate x e y:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Shapefile (*.shp)</translation>
+        <translation type="obsolete">Shapefile (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation>Errore nella creazione del campo </translation>
+        <translation type="obsolete">Errore nella creazione del campo </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation>Impossibile creare il layer</translation>
+        <translation type="obsolete">Impossibile creare il layer</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation>Errore nella creazione dello shapefile</translation>
+        <translation type="obsolete">Errore nella creazione dello shapefile</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation>Non è stato possibile creare lo shapefile (</translation>
+        <translation type="obsolete">Non è stato possibile creare lo shapefile (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation>Driver non trovato</translation>
+        <translation type="obsolete">Driver non trovato</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation> il driver è non disponibile</translation>
+        <translation type="obsolete"> il driver è non disponibile</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Buffer geometrie</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>Ai&amp;uto</translation>
+        <translation type="obsolete">Ai&amp;uto</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Distanza del buffer in unità mappa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nome della tabella per layer bufferizzato:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Crea un oggetto univoco di id</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>public</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation type="unfinished">Colonna delle geometrie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID di Riferimento Spaziale:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Campo univoco da utuilizzare come id geometrie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Aggiungere il layer bufferizzato alla mappa?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Buffer delle geometrie nel layer: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametri</translation>
     </message>
@@ -4946,25 +5230,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aiuto</translation>
+        <translation type="obsolete">&amp;Aiuto</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Parole riservate</translation>
     </message>
@@ -4979,7 +5263,7 @@
         <translation>Nome della colonna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo shapefile contiene parole riservate. Questo può avere effetti nell&apos;importazione in PostgreSQL. Modificare i nomi delle colonne così da eliminare la presenza delle parole chiave (click sul nome della colonna per modificare).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt; </translation>
     </message>
@@ -4987,17 +5271,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Stato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Nome della colonna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Indice</translation>
     </message>
@@ -5167,154 +5451,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>Strumenti &amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Crea nuovo layer GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Crea un nuovo layer GPX e lo mostra sulla mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Salva nuovo file GPX come ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS eXchange file (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Impossibile creare il file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>Impossibile creare il file GPX con il nome inserito. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>Provare nuovamente con un altro nome o in un&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>altra cartella.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>Caricatore GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Impossibile leggere il file selezionato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Si prega di riselezionare un file valido.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Impossibile avviare il processo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Impossibile eseguire GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Sto importando i dati...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Annulla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation>Impossibile importare i dati da %1!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Errore nell&apos;importare i dati</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Non supportato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>Questa periferica non supporta la funzione di download </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation>di </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Scaricamento dati ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation>Impossibile scaricare dati dal GPS!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Errore durante il download dei dati</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>Questa periferica non supporta l&apos;upload dei </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Caricamento dei dati ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation>Errore durante l&apos;operazione di upload dei dati sul GPS!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Errore nell&apos;upload dei dati</translation>
     </message>
@@ -5322,22 +5606,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Selezionare un nome con cui salvare il file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>formato GPS eXchange (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Selezionare file GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Selezionare file e formato da importare</translation>
     </message>
@@ -5350,124 +5634,124 @@
         <translation>Strumenti GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Carica file GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>File:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Tipo di dati:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Waypoints</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Route</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Track</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>importa un altro file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>File da importare:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Tipologia:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>file GPX in output:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nome layer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Download dal GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Modifica periferiche</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Periferica GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>File di output:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Porta:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Upload sul GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Dati layer:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>Ai&amp;uto</translation>
+        <translation type="obsolete">Ai&amp;uto</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
@@ -5476,7 +5760,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Il formato GPX - &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file &lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt; è un formato di file xml utilizzato per archiviare informazioni riguardo waypoint, route, e track.&lt;/span&gt;&lt;/p&gt;
@@ -5489,7 +5773,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS è in grado di importare esclusivamente file in formato GPX. Per tutti gli altri tipi di formati fa uso di GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;) convertendo in GPX. Questo implica che GPSBabel sia installato sullo stesso computer e possa essere eseguito da QGIS&lt;/span&gt;&lt;/p&gt;
@@ -5502,7 +5786,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Questo strumento serve a scaricare i dati da una periferica GPS. Selezionare la periferica GPS, la porta a cui è collegato, la tipologia di dato da scaricare, il nome da assegnare al nuovo layer, il nome del file GPX con cui archiviare i dati. Se la periferica non è presente in lista, o se si vuole modificare alcune impostazioni, è possibile modificare le periferiche.&lt;/span&gt;&lt;/p&gt;
@@ -5515,37 +5799,83 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Questo strumento serve a caricare i dati su una periferica GPS. Selezionare la periferica GPS, la porta a cui è collegato, e la tipologia di dato da caricare. Se la periferica non è presente in lista, o se si vuole modificare alcune impostazioni, è possibile modificare le periferiche.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Questo strumento, per il trasferimento dei dati, si appoggia al programma GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;). Qualora GPSBabel non sia installato ed eseguibile da  QGIS, questo strumento non sarà in grado di funzionare&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>URI sbagliata - si deve specificare il tipo di geometria.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>GPS eXchange file</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Attenzione: accesso richiesto in una posizione non valida in QgsGPXProvider::minValue(...)</translation>
+        <translation type="obsolete">Attenzione: accesso richiesto in una posizione non valida in QgsGPXProvider::minValue(...)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Attenzione: accesso richiesto in una posizione non valida in QgsGPXProvider::maxValue(...)</translation>
+        <translation type="obsolete">Attenzione: accesso richiesto in una posizione non valida in QgsGPXProvider::maxValue(...)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitalizzato in QGIS</translation>
     </message>
@@ -5553,12 +5883,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
@@ -5566,34 +5896,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Poligono</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Annulla</translation>
+        <translation type="obsolete">Annulla</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -5601,32 +5931,32 @@
         <translation type="unfinished">Nuovo layer vettoriale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Attributi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Aggiungi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Colonna 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Rimuovi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Formato file:</translation>
     </message>
@@ -5634,7 +5964,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Georeferenziatore</translation>
     </message>
@@ -5690,109 +6020,111 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georeferenziatore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Chiudi</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>File raster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Inseire le coordinate spaziali</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tramite questo plugin è possibile generare world file per i raster. E&apos; sufficente selezionare dei punti sul raster specificando le relative coordinate, e il plugin calcolerà i parametri per il world file. Maggiori coordinate verranno fornite e tanto maggiore sarà l&apos;accuratezza del risultato&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Opzioni distorsione (warp)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished">Metodo di ricampionamento:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Punti più vicini</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Lineare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Cubico</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Utilizzare 0 per la trasparenza dove necessario</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>Simbolo graduato</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Campo di classificazione:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Modalità:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Numero di classi:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -5802,22 +6134,22 @@
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Valore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Campo</translation>
     </message>
@@ -5883,77 +6215,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Strumenti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Aggiungi la mappa selezionata all&apos;area di lavoro</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Copia la mappa selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Rinomina la mappa selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Elimina la mappa selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Imposta la regione corrente con la mappa selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished">Impossibile copiare la mappa </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation>&lt;br&gt;comando: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation>Impossibile rinominare la mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Elimina mappa &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation>Impossibile eliminare la mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>Impossibile scrivere una nuova region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5961,256 +6293,256 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nuovo punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nuovo centroide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Elimina vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Sinistra: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Centrale: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Destra: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Strumenti di modifica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nuovo linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nuovo contorno</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Sposta vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Aggiungi vertice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Sposta elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Dividi linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Elimina elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Modifica attributi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Chiudi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished">L&apos;utente non è lo stesso proprietario del mapset: impossibile aprire il vettoriale in modifica..</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished">Impossibile aprire il vettoriale per aggiornarmenti.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>Tabella creata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished">Strumento non ancora implementato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished">Impossibile controllare record orfani: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>E&apos; stato individuato un record orfano nella tabella degli attributi: &lt;br&gt;Eliminare il record?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished">Impossibile eliminare record orfano: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation>Impossibile descrivere la tabella per il campo </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Colore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Indice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Lunghezza</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6286,32 +6618,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Annulla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Ok</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6725,12 +7057,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Esegui</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Interrompi</translation>
     </message>
@@ -6740,145 +7072,115 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished">) non trovato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
 alla linea </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"> colonna </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Annulla</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6929,7 +7231,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6937,17 +7239,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">File</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6955,22 +7257,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6978,42 +7280,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7021,7 +7323,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7029,7 +7331,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7037,70 +7339,70 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
 alla linea </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> colonna </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">Impossibile recuperare la region attuale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished">Impossibile controllare la region della mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7208,7 +7510,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
@@ -7233,130 +7535,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) non trovato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
 alla linea </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> colonna </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Nuovo mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7517,162 +7819,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Apri mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Nuovo mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Chiudi mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Aggiungi vettoriale GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Aggiungi raster GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Apri strumenti GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Visualizza Grass regione attuale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Modifica region GRASS attuale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Modifica vettoriale Grass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Aggiungi un vettoriale GRASS all&apos;area della mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Aggiungi un rasters GRASS all&apos;area mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Visualizza, nell&apos;area mappa, la region GRASS attuale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Modifica la region GRASS attuale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Modifica il vettoriale GRASS attualmente selezionato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation>VettorialeGrass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation>0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation>GRASS layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7680,22 +7982,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7890,39 +8192,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Attenzione</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -7933,79 +8202,74 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished">) non trovato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
 alla linea </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> colonna </translation>
     </message>
@@ -8013,17 +8277,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>Creatore di &amp;griglia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished">Crea una griglia e l&apos;archivia in uno shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Griglia</translation>
     </message>
@@ -8089,110 +8353,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Modello plugin QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Creatore di griglia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Latitudine:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Longitudine:</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Intervallo di latitudine:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Intervallo di longitudine:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Questo plugin genera una griglia uno shapefile che può essere utilizzata da sovrapporre alla mappa in uso da qgis.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Si prega di inserire tutte le unità in gradi decimali.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Linea</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Poligono</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Origine (in basso a sinistra)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Fine punto (in alto a destra)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Dimensione griglia (unità in gradi)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>File (shape) in output</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8207,12 +8476,12 @@
         <translation>Impossibile caricare il file di aiuto dal database</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>Database QGIS di aiuto non installato</translation>
     </message>
@@ -8311,27 +8580,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>Risultati individuati - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Geometria</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Valore</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Esegui azione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Derivato)</translation>
     </message>
@@ -8651,184 +8920,311 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Selezione proiezione layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo layer sembra essere privo di una specifica sulla sua proiezione. In questo caso l&apos;azione predefinita da Qgis è quella di assegnare al layer la proiezione del progetto. Questa operazione può essere comunque modificata assegnando al layer una proiezione&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>gruppo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Chiudi</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">&amp;Zoom all&apos;estensione del layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">&amp;Aggiungi alla panoramica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">&amp;Rimuovi dalla panoramica</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Rimuovi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>Crea all&apos;oggetto in ci&amp;ma</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">Permetti modific&amp;a</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Ri&amp;nomina</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>&amp;Aggiungi gruppo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation>&amp;Espandi tutto</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>&amp;Comprimi tutto</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished">Mostra gruppi</translation>
+    </message>
+    <message>
+        <location filename="../src/legend/qgslegend.cpp" line="438"/>
+        <source>&amp;Save as shapefile...</source>
+        <translation type="obsolete">&amp;Salva come shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Apri tabella attributi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Permetti Modifica</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Salva come shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nessun layer selezionato</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoom all&apos;estensione del layer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Rimuovi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Apri tabella attributi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salva come shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Esegui</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Output</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>Selezione proiezione layer</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabella attributo - </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>OK</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Salva il layer come...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo layer sembra essere privo di una specifica sulla sua proiezione. In questo caso l&apos;azione predefinita da Qgis è quella di assegnare al layer la proiezione del progetto. Questa operazione può essere comunque modificata assegnando al layer una proiezione&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Impossibile attivare modalità di modifica</translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>gruppo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Il gestore della sorgente dati non permette l&apos;apertura in modifica</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Proprietà</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Interrompi modifica</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zoom all&apos;estensione del layer</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Vuoi salvare le modifiche?</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation>&amp;Aggiungi alla panoramica</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Sì</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>&amp;Rimuovi dalla panoramica</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Rimuovi</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Errore</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation>Crea all&apos;oggetto in ci&amp;ma</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Impossibile applicare le modifiche</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation>Permetti modific&amp;a</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problemi durante il ripristino</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>Ri&amp;nomina</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>&amp;Aggiungi gruppo</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation>&amp;Espandi tutto</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation>&amp;Comprimi tutto</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation type="unfinished">Mostra gruppi</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished">Driver non trovato</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Salva come shapefile...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Errore nella creazione dello shapefile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoom all&apos;estensione del layer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Rimuovi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Apri tabella attributi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salva come shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Proprietà</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8889,58 +9285,53 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Non riesco a disegnare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>perchè</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zoom sul layer scelto</translation>
+        <translation type="obsolete">&amp;Zoom sul layer scelto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Proprietà</translation>
+        <translation type="obsolete">&amp;Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Rimuovi</translation>
+        <translation type="obsolete">&amp;Rimuovi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>Abilita in panoramica</translation>
+        <translation type="obsolete">Abilita in panoramica</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Nessuna geometria trovata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nessuna geometria individuata nel raggio d&apos;azione della ricerca. Da notare che attualmente non è possibile utilizzare lo strumento di identificazione su geometria non salvate.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -8952,34 +9343,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -8988,144 +9379,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Esporta per Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Map file</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Solo informazioni del layer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mappa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Altezza</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Largh.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>feet</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>meters</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>miles</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>inches</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometers</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Unità</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Tipo immag.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>userdefined</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -9145,88 +9521,90 @@
         <translation>I prefissi dei file GIF usati per mappa, barra di scala e legenda utilizzanti per il MapFile devono essere corti.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Definzione dell&apos;interfaccia web</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Titolo</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Piè pag.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Modello</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Aiuto</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancella</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Nome della mappa da creare dal file di progetto QGIS</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Se selezionato, solo le informazioni del layer saranno processate</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Percorso del MapServer template file</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Prefisso allegato alla mappa, barra di scala e legenda ai file GIS creati utilizzando questo MapFile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Percorso completo del file di progetto QGIS da esportare nel formato map di MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>file di progetto QGIS</translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9264,35 +9642,20 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segmenti (in metri)</translation>
+        <translation type="obsolete">Segmenti (in metri)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="91"/>
         <source>Incorrect measure results</source>
-        <translation>Risultati di misurazione non corretti</translation>
+        <translation type="obsolete">Risultati di misurazione non corretti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="99"/>
         <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation>&lt;p&gt;Questa mappa è definita con un sistema di coordinate geografico (latitude/longitude) ma l&apos;estensione della mappa suggerisce che attualmente si sta facendo uso di un altro sistema di proiezione (e.s. Mercatore) per tale motivo i risultati delle misurazione di line o aree risulta sbagliato.&lt;/p&gt;&lt;p&gt;Per risolver il problema occorre assegnare il giusto sistema di coordinate utilizzando la voce di menu &lt;tt&gt;Impostazioni:Progetto Proprietà&lt;/tt&gt;.</translation>
+        <translation type="obsolete">&lt;p&gt;Questa mappa è definita con un sistema di coordinate geografico (latitude/longitude) ma l&apos;estensione della mappa suggerisce che attualmente si sta facendo uso di un altro sistema di proiezione (e.s. Mercatore) per tale motivo i risultati delle misurazione di line o aree risulta sbagliato.&lt;/p&gt;&lt;p&gt;Per risolver il problema occorre assegnare il giusto sistema di coordinate utilizzando la voce di menu &lt;tt&gt;Impostazioni:Progetto Proprietà&lt;/tt&gt;.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9323,6 +9686,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segmenti (in metri)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Risultati di misurazione non corretti</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished">&lt;p&gt;Questa mappa è definita con un sistema di coordinate geografico (latitude/longitude) ma l&apos;estensione della mappa suggerisce che attualmente si sta facendo uso di un altro sistema di proiezione (e.s. Mercatore) per tale motivo i risultati delle misurazione di line o aree risulta sbagliato.&lt;/p&gt;&lt;p&gt;Per risolver il problema occorre assegnare il giusto sistema di coordinate utilizzando la voce di menu &lt;tt&gt;Impostazioni:Progetto Proprietà&lt;/tt&gt;.</translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9420,17 +9819,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Test connessione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">La connessione a %1 avvenuta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9441,7 +9840,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9655,42 +10054,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>In basso a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>In alto a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>In basso a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>In alto a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>Freccia &amp;nord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Crea una freccia orientata a nord da visualizzare sopra la mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Decorazioni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>Immagine della freccia a nord non trovata</translation>
     </message>
@@ -9698,7 +10097,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>Immagine non trovata</translation>
     </message>
@@ -9706,100 +10105,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished">Plugin Freccia del nord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Angolo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Posizionamento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Seleziona automaticamente la direzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished">Abilita la freccia nord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>In alto a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>In alto a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>In basso a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>In basso a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation type="unfinished">Posizione sullo schermo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished">Anteprima freccia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Icona</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nuovo elemento</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9815,14 +10219,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9830,252 +10226,252 @@
         <translation>Opzioni QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Ok</translation>
+        <translation type="obsolete">&amp;Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancella</translation>
+        <translation type="obsolete">&amp;Cancella</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Raggio di ricerca per individuare le geometrie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Nascondi lo splash screen all&apos;avvio</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>Interfacci&amp;a</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Icona del tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Nota: &lt;/b&gt;Il tema cambierà al prossimo riavvio di QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Browser</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Apri i documenti di aiuto con</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Refresh layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Aggiorna lo schermo dopo la lettura di </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>La mappa viene aggiornata (disegnata) dopo che tutti i dati sono stati recuperati dalle rispettive sorgenti</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>geometrie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Il valore 0 non aggiorna l&apos;immagine fino a che non sono stati letti tutti gli elementi)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Visiblità iniziale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Selezioni globali predefinite ...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Prompt per la proiezione.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Questa proiezione sarà utilizzata per tutto il progetto.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Splash screen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Aspetto predefinitaùo della mappa (sovrascritto dalle proprietà del progetto)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Colore di sfondo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Selezione del colore:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Aspetto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Prima lettera del nome del layer maiuscola</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Rende le linee meno dettagliate in favore di migliori prestazioni di disegno</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Per impostazione predefinita i nuovi la&amp;yer aggiunti alla mappa vengono visualizzati subito</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>Aggiorna d&amp;urante il disegno</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Strumenti di misurazione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Ellissoinde di calcolo delle distance:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Raggio di ricerca</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;iezione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Qualora venga caricato un layer privo di informazioni di proiezione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>La seguente proiezione v&amp;isualizzata qui sotto sarà utilizzata come proiezione predefinita.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt; Nota&lt;/b&gt;: il browser deve essere nel PATH di sistema oppure va specificato il percorso completo qui sotto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Disegno in corso</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questa selezione implica quella inversa creata dal comando &apos;rendi linee meno dettagliate&apos;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Risolvi problemii con i poligoni riempiti non correttamente</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Continua a ridisegnare la mappa mentre viene spostato il divisore legenda/mappa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>Strumenti &amp;mappa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -10088,40 +10484,60 @@
 &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Spostamento e zoom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Zoom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Zoom e centramento</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Niente</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Fattore di zoom:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Azione della rotellina del mouse:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Generale</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10287,87 +10703,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabella &lt;b&gt;%1&lt;/b&gt; del database &lt;b&gt;%2&lt;/b&gt; sul server &lt;b&gt;%3&lt;/b&gt;, utente &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Risultato della query</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Clausola di condizione (where) restituita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation> righe.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Interrogazione fallita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Ho riscontrato un errore mentre eseguivo la query:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Connessione fallita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Connessione al database fallita:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Errore database</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Impossibile recuperare dei valori di esempio dal campo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Nessun record presente</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>La query utilizzata restituisce valori nulli. Un vettoriale PostgreSQL valido deve avere almeno una geometria.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Impossibile recuperare esempi di valori dal campo usando SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10508,17 +10919,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation type="unfinished">Selezionare una cartella</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Non ci sono plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation type="unfinished">Non è possibile trovare plugin QGIS in </translation>
     </message>
@@ -10609,82 +11020,82 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Zoom avanti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Zoom indietro</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Zoom sul Layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Zoom sul Layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Sposta mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Sposta la mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Aggiungi punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Inserisci Punti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Elimina Punto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Elimina Selezione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Lineare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Specificare un nome per il world file</translation>
     </message>
@@ -10696,56 +11107,61 @@
         <translation type="obsolete">-modificato</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Una trasformazione Helmert richiede una modifica al raster&lt;/p&gt;&lt;p&gt;Il raster modificato verrà salvato in un nuovo file e verrà generato un word file associato.&lt;/p&gt;&lt;p&gt;Procedere con l&apos;operazione?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Affinare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Non implementato!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Una trasformazione affine richiede la modifica del file originale. Questa funzione non è ancora supportata&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt;La </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation> trasformazione non è supportata&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>Impossibile scrivere in </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished">-modificato</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -10812,13 +11228,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Raster modificato:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -10841,17 +11262,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Impossibile accedere alla relazione</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Impossibile accedere alla</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -10859,12 +11280,12 @@
 Il messaggio di errore generato dal database è:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Mancato supporto GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -10874,12 +11295,12 @@
 (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Nessuna colonna adattabile come chiave nella tabella</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -10893,149 +11314,149 @@
 oppure una colonna di tipo oid PostgreSQL.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>L&apos;indice univoco nella colonna</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>non adattabile in quanto Qgis attualmente non supporta tipi diversi da int4 come chiave da usare nella tabella
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation>and </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation>L&apos;indice univoco utilizzato nelle colonne </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> non è utilizzabile in quanto Qgis attualmente non supporta colonne multiple come chiavi da usare nella tabella.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Impossibile trovare una chiave di colonna</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation> deriva da </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>ed è utilizzabile.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation>e non è utilizzabile </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation>il tipo è </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation>ed è utilizzabile come vincolo)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> e non è utilizzabile come vincolo)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>La vista selezionata ha queste colonne, nessuna di esse soddisfa le seguenti condizioni:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis richiede che la vista abbia una colo nna utilizzabile come chiave univoca. Tale colonna deve derivare da una tabella con una colonna di tipo int4 ed essere una chiave primaria, essere univoca, oppure una colonna di tipo oid PostgreSQL. Inoltre, al fine di avere maggiori performance la colonna dovrebbe essere anche indicizzata.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation>La vista </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation> non ha una colonna utilizzabile come chiave univoca.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Nessuna colonnoa nella vista utilizzabile come chiave</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Tipo di geometria sconosciuto</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation>Colonna </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation> in </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation> ha una geometria di tipo </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, che attualmente Qgis non è in grado di supportare.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Il log del database era:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Impossibile recuperare la tipologia e l&apos;srid</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation>Nota: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>inizialmente sembrava adattabile ma non contiene valori univici, pertanto è stata scartata.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>errore di INSERT</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>E&apos; avvenuto un errore durante l&apos;operazione di inserimento</translation>
     </message>
@@ -11044,55 +11465,55 @@
         <source>The sql was:
 
 </source>
-        <translation>L&apos;sql era:</translation>
+        <translation type="obsolete">L&apos;sql era:</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>errore SQL</translation>
+        <translation type="obsolete">errore SQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>errore in DELETE</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>E&apos; accaduto un errore durante l&apos;operazione di eliminazione dal disco</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>errore PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">E&apos; avvenuto un errore durante il collegamento con il database PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete">Il database PostgreSQL restituito: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation>Durante la prova: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11105,524 +11526,544 @@
         <translation>Proprietà della proiezione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Unita mappà</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Piedi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Gradi decimali</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aiuto</translation>
+        <translation type="obsolete">&amp;Aiuto</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Titolo progetto predefinito</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Applica</translation>
+        <translation type="obsolete">&amp;Applica</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Generale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Larghezza linea:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolleranza di snapping:</translation>
+        <translation type="obsolete">Tolleranza di snapping:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Colore linea:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automatico</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Calcola automaticamente il numero di decimali per la visualizzazione della posizione del mouse sul display</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Il numero di cifre decimali utilizzate per visualizzare la posizione del mouse durante il suo trascinamento sullo schermo sono calcolate in modo tale che lo spostamento da un pixel ad un altro cambi rispetto alla posizione sullo schermo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Stabilisce il numero di cifre decimali durante lo spostamento del mouse sul display</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Numero della posizione dei decimali per l&apos;opzione manuale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>posizione dei decimali</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Aspetto della mappa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Seleziona colore:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Titolo progetto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Proiezione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Abilita la proiezione al volo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Colore di sfondo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Precisione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalizzazione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Descrizione del nome del progetto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Larghezza linea in pixel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Tolleranza di spostamento in unità mappa</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished">QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished">PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Selettore di proiezione</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Proiezione</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Trova</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Sistema di Riferimento Spaziale</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Non definito</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Driver:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensioni:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> Bande:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origine:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Dimensioni pixel:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Estesione Raster:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Area ritagliata: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Situazione piramide:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statistiche della banda (se ricavato):</translation>
+        <translation type="obsolete">Statistiche della banda (se ricavato):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Valore</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Nessuna banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Nessuna statistica</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Nessuna statistica ancora raccolta</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Valore minimo</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Valore massimo</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Intervallo</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Somma dei quadrati</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Deviazione standard</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Somma di tutte le celle</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Conta celle</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Permesso di scrittura negato</translation>
+        <translation type="obsolete">Permesso di scrittura negato</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Permesso di scrittura negato. Sistema i permessi dei file e prova ancora.
+        <translation type="obsolete">Permesso di scrittura negato. Sistema i permessi dei file e prova ancora.
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Tipo di dato:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Eight bit unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Sixteen bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Sixteen bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Thirty two bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Thirty two bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Thirty two bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Sixty four bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Non riesco a determinare il tipo di raster.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparenza&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparenza&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Media magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Sistema di riferimento spaziale del layer: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Sistema di riferimento spaziale del progetto: </translation>
+        <translation type="obsolete">Sistema di riferimento spaziale del progetto: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Errore nella creazione della piramide colori.</translation>
+        <translation type="obsolete">Errore nella creazione della piramide colori.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>al di fuori dell&apos;estensione</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>nullo (nessun dato)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Il file non è scrivibile. Alcuni formati non posso essere salvati in sola lettura. E&apos; necessario controllare i permessi a provare ancora.</translation>
+        <translation type="obsolete">Il file non è scrivibile. Alcuni formati non posso essere salvati in sola lettura. E&apos; necessario controllare i permessi a provare ancora.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>La creazione delle piramidi di riferimento non è supportata da questo tipo di raster.</translation>
+        <translation type="obsolete">La creazione delle piramidi di riferimento non è supportata da questo tipo di raster.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Descrizione del set di dati</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Nessun valore</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>e per tutti gli altri file</translation>
     </message>
@@ -11630,65 +12071,93 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Note immagine multibanda&lt;/h3&gt;&lt;p&gt;Questa è una immagine multibanda. E&apos; possibile disegnarla come una scala di grigi o colori (RGB). Per un colore immagine e&apos; possibile associare arbitrariamente bande ai colori. Ad esempio, nel caso di una immagine landsat a 7 bande, è possibile colorarla come:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Blu Visibile (da 0.45 a 0.52 micron) - non mappati&lt;/li&gt;&lt;li&gt;Verde Visibile (da 0.52 a 0.60 micron) - non mappati&lt;/li&gt;&lt;li&gt;Rosso Visibile (da 0.63 a 0.69 micron) - mappati da rosso nell&apos;immagine&lt;/li&gt;&lt;li&gt;Infrarosso vicino (da 0.76 a 0.90 micron) - mappato da verde nell&apos;immagine&lt;/li&gt;&lt;li&gt;Infrarosso medio (da 1.55 a 1.75 micron) - non mappato&lt;/li&gt;&lt;li&gt;Infrarosso termale (da 10.4 a 12.5 micron) - non mappato&lt;/li&gt;&lt;li&gt;Infrarosso medio (da 2.08 a 2.35 micron) - mappato da blu nell&apos;immagine&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Nota tavolazza immagine&lt;/h3&gt;&lt;p&gt;Questa immagine utilizza una tavolozza di colori fissa. E&apos; possibile rimappare questi colori in diverse combinazioni&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rosso - blu nell&apos;immagine&lt;/li&gt;&lt;li&gt;Verde-blu nell&apos;immagine&lt;/li&gt;&lt;li&gt;Blu-verde nell&apos;immagine&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Note immagine scala di grigi&lt;/h3&gt;&lt;p&gt;E&apos; possibile rimappare queste scale di grigio con dei pseudocolori utilizzando una rampa automatica di colori&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Scala di grigi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudo colore</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Freak Out</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Tavolozza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Non Impostato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Colonne: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Righe: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>Nessun valore: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>n/d</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Permesso di scrittura negato</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Permesso di scrittura negato. Sistema i permessi dei file e prova ancora.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Errore nella creazione della piramide colori.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Il file non è scrivibile. Alcuni formati non posso essere salvati in sola lettura. E&apos; necessario controllare i permessi a provare ancora.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">La creazione delle piramidi di riferimento non è supportata da questo tipo di raster.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -11700,270 +12169,270 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Applica</translation>
+        <translation type="obsolete">&amp;Applica</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Aiuto</translation>
+        <translation type="obsolete">&amp;Aiuto</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Generale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Sorgente raster:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Nome schermo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legenda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Nessun dato:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Simbologia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Trasparenza:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Pieno&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Nessuno</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Inverti la mappa colori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Verde&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Rosso&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blu&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Colore</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Grigio</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Deviazione standard</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Mappa colore</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Piramidi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Metodo di ricampionamento</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Il più vicino possibile</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Crea piramidi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Risoluzioni a piramide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniature</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Colonne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Righe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Tavolozza:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Massimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Scala massima secondo la quale il raster deve essere visualizzato. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Scala minima secondo la quale il raster deve essere visualizzato. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Sistema di riferimento spaziale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Cambia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Istogramma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Opzioni</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Al di fuori del confine OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Abilita approssimazione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Tipo diagramma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Diagramma a colonna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Diagramma a linea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Visualizzazione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Immagine a scala di grigi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Immagine colorata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -11971,12 +12440,12 @@
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt; Note&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>InfoDebug</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Visibilità in relazione alla scala</translation>
     </message>
@@ -11989,7 +12458,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Raster con definizione molto alta possono rallentare la navigazione in QGIS. Creando copie di dati a risoluzioni più basse (piramidi) le performance migliorano sensibilmente in quanto QGIS seleziona la risoluzione migliore in relazione al livello di zoom. Per generare le piramidi occorre però avere accesso in scrittura alla cartella dove i dati sono archiviati.&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Attenzione: la creazione delle piramidi può alterare i dati origianli e, una volta create non possono essere rimosse.&lt;/span&gt;&lt;/p&gt;
@@ -11998,35 +12467,52 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Conteggio colonna:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Raster con definizione molto alta possono rallentare la navigazione in QGIS. Creando copie di dati a risoluzioni più basse (piramidi) le performance migliorano sensibilmente in quanto QGIS seleziona la risoluzione migliore in relazione al livello di zoom. Per generare le piramidi occorre però avere accesso in scrittura alla cartella dove i dati sono archiviati.&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Attenzione: la creazione delle piramidi può alterare i dati origianli e, una volta create non possono essere rimosse.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;In seguito a questo avvertimento si consiglia sempre di fare prima una copia dei dati prima di procedere alla creazione delle piramidi.&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Impossibile eseguire il comando</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Impossibile eseguire il comando</translation>
+        <translation type="obsolete">Impossibile eseguire il comando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Avvio</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Fatto</translation>
     </message>
@@ -12034,107 +12520,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>. metri/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation> piedi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation type="unfinished"> gradi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation type="unfinished"> piede</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> grado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> sconosciuto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>In alto a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>In basso a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>In alto a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>In basso a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Porta in basso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Porta in alto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Box</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>Barra di &amp;Scala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Crea una barra di scala che verrà visualizzata sopra l&apos;area della mappa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Decorazioni</translation>
     </message>
@@ -12142,112 +12628,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Plugin barra di scala</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>In alto a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>In alto a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>In basso a sinistra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>In basso a destra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Dimesioni della barra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Posizione:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Porta in basso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Porta in alto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Box</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Selezionare lo stile della barra di scala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Colore della barra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Stile barra di scala:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Abilita barra di scala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Automaticamente arrotonda il numero durante il ridimensionamento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Click per selezionare il colore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo plugin genera una barra di scala sulla mappa. Le dimensioni proposte qui sotto sono quelle &apos;consigliate&apos; e possono essere modificate da QGIS in relazione al livello di zoom. Le misure utilizzate sono espresse secondo l&apos;unità mappa specificata nelle proprietà del progetto.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -12255,7 +12741,7 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Trovato %d geometrie corrispondenti.</numerusform>
@@ -12263,85 +12749,80 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Nessuna geometria trovata.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Risultati della ricerca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Errore nell&apos;analisi della stringa da cercare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Nessun record</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>La query specifica non ha restituito alcun record.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>Si vuole veramente rimuovere la </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> la connessione e tutti i parametri associati?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Conferma eliminazione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>Provider WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Impossibile aprire il provider WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Selezionare layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Occorre prima selezionare un layer.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Coordinate del Sistema di riferimento (%1 disponibile)</numerusform>
@@ -12349,32 +12830,32 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished">Impossibile capire la riposta.  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished">Messaggio del provider</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation>proxy WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Sono stati aggiunti diversi server WMS alla lista. Fare attenzone ai campi del proxy lasciati vuoti. Qualora si acceda ad internet tramite un proxy, occorre riempire i campi con i relativi valori.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Coordinate del Sistema di Riferimento</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation>Non sono disponibili coordinate di riferimento nella lista di layer selezionata.</translation>
     </message>
@@ -12500,17 +12981,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12524,90 +13005,95 @@
         <translation>Simbolo singolo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Motivi di riempimento:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Dimensione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Simbolo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Larghezza bordo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Colore di riempimento:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Colore contorno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Stile contorno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Etichetta:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Nessun riempimento</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Siamo sicuri di voler rimuovere [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] la connessione e tutti i parametri associati?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Conferma eliminazione</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Modifica i nomi della colonna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -12616,278 +13102,278 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>RAGIONE: il file non può essere aperto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>RAGIONE: Uno o entrambi i file shape (*.dbf, *.shx) non sono presenti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Interfaccia generale di aiuto:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Connessioni PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Nuova ...] - crea una nuova connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Modifica ...] - modifica la connessione attualmente selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Rimuovi] - rimuove la connessione attualmente selezionata</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- bisogna selezionare una connessione funzionante prima di poter importare file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>- mentre cambiando le connessioni cambiano di conseguenza anche il Global Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Lista degli shapefile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Aggiungi ... ] - apre una finestra di dialogo da cui poter sfogliare il file system e selezionare uno o più file da importare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Rimuovi] - rimuove dalla lista uno o più file selezionati</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Rimuovi tutto] - rimuove tutti i file della lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - ID del sistema di riferimento per i file shape da importare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Usa predefinito (SRID)] - assume il valore -1 per l&apos;SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Nome colonna geometria] - nome della colonna con la geometria presente nel database</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Usa predefinito (nome colonna geometria)] - assegna il nome &apos;the_geom&apos; alla colonna con la geometria</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Schema globale] - definisce lo schema con cui importare tutti i file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importa] - importa la lista dei file shape selezionati</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Esci] - Chiude il programma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Aiuto] - visualizza questa finestra di aiuto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Importa shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Prima si deve definire una connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Connessione fallita - Controllare i parametri e tentare ancora</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Prima si deve aggiungere uno shapefile dalla lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importa file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Annulla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Progresso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problema nell&apos;inserimento di elementi dal file:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nome di tabella non valido.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Nessun campo individuato.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Questi campi risultano duplicati:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Importa shapefile - Relazione esistente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Lo shapefile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>verrà usato [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] in relazione ad ogni dato,  </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>che sono già presenti e possibilimente contengono dati.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Per evitare la perdita di dati camba &apos;Nome relazione DB&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished">per questo shapefile nella lista principale dei file.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Vuoi sovrascrivere la relazione [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] ?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Usa la tabella qui sotto per modificare il nome delle colonne. Fa attenzione che nessuna delle colonne faccia uno di una parola chiave usata da PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Nome file</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Tipo di geometria</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>Nome del DB relazionale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Nuova Connessione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Aggiungi Shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Shapefiles (*.shp);;Tutti i file (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS non disponibile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il database scelto non ha una installazione PostGIS disponibile, questo è il requisito minimo per archiviare i dati di tipo spaziale&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation>Controllare se </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt; Errore nell&apos;esecuzione del SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation>&lt;/p&gt;&lt;p&gt;Messaggio del database:</translation>
     </message>
@@ -12895,137 +13381,137 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Utilità di importazione ESRI Shapefile in PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Connessioni PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Rimuovi</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Importa</translation>
+        <translation type="obsolete">Importa</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Lista Shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Noma della colonna delle geometrie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Rimuovi tutto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Schema globale</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Strumento di trasferimento Shapefile in PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importa ESRI Shape file in PostGIS</translation>
+        <translation type="obsolete">Importa ESRI Shape file in PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Chiudi</translation>
+        <translation type="obsolete">Chiudi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Aggiungi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Aggiungi uno shapefile nella lista di quelli da importare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Rimuovi lo shapefile selezionato dalla lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Rimuovi tutti gli shapefile dalla lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Usa il valore predefinito di SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Cambia il valore di SRID con quello predefinito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Usa il nome predefinito per la colonna delle geometrie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Cambia il valore della colonna con le geometrie con il valore predefinito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nuovo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Crea una nuova connessione PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Rimuovi la connessione PostGIS in uso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Connetti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Modifica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Modifica l&apos;attuale connessione PostGIS</translation>
     </message>
@@ -13043,7 +13529,7 @@
         <translation>Importa shapefile in un database PostgreSQL con estensioni PostGIS abilitate. Lo schema i nomi dei campi possono essere personalizzati durante l&apos;importazione</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -13051,334 +13537,344 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Campo classificazione:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabella attributo - </translation>
+        <translation type="obsolete">Tabella attributo - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Apri tabella attributi</translation>
+        <translation type="obsolete">&amp;Apri tabella attributi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Interrompi modifica</translation>
+        <translation type="obsolete">Interrompi modifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Salva come shapefile...</translation>
+        <translation type="obsolete">Salva come shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Il gestore di questo formato dati non permette l&apos;eliminazione</translation>
+        <translation type="obsolete">Il gestore di questo formato dati non permette l&apos;eliminazione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Non è possibile eliminare le geometrie per questo formato di dati</translation>
+        <translation type="obsolete">Non è possibile eliminare le geometrie per questo formato di dati</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Vettoriale non modificabile</translation>
+        <translation type="obsolete">Vettoriale non modificabile</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Vuoi salvare le modifiche?</translation>
+        <translation type="obsolete">Vuoi salvare le modifiche?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sì</translation>
+        <translation type="obsolete">&amp;Sì</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;No</translation>
+        <translation type="obsolete">&amp;No</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Inverti Selezione...</translation>
+        <translation type="obsolete">Inverti Selezione...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Interrompi</translation>
+        <translation type="obsolete">Interrompi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Permetti Modifica</translation>
+        <translation type="obsolete">Permetti Modifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>Il layer non può essere aggiunto </translation>
+        <translation type="obsolete">Il layer non può essere aggiunto </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Il data provider per questo layer non permette l&apos;aggiunta di nuovi elementi.</translation>
+        <translation type="obsolete">Il data provider per questo layer non permette l&apos;aggiunta di nuovi elementi.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Il layer in uso non è modificabile. Selezionare &apos;Permetti modifica&apos; dal nome nella lista in legenda attraverso il menu che compare con il bottone di destra.</translation>
+        <translation type="obsolete">Il layer in uso non è modificabile. Selezionare &apos;Permetti modifica&apos; dal nome nella lista in legenda attraverso il menu che compare con il bottone di destra.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Il layer in uso non è modificabile. Selezionare &apos;Permetti modifica&apos; dal nome nella lista in legenda attraverso il menu che compare con il bottone di destra</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Impossibile attivare modalità di modifica</translation>
+        <translation type="obsolete">Impossibile attivare modalità di modifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Il gestore della sorgente dati non permette l&apos;apertura in modifica</translation>
+        <translation type="obsolete">Il gestore della sorgente dati non permette l&apos;apertura in modifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Errore</translation>
+        <translation type="obsolete">Errore</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>Impossibile applicare le modifiche</translation>
+        <translation type="obsolete">Impossibile applicare le modifiche</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Problemi durante il ripristino</translation>
+        <translation type="obsolete">Problemi durante il ripristino</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Il layer selezionato non è modificabile. Selezionare &apos;Avvia modifica&apos; dalla barra strumenti per la digitalizzazione.</translation>
+        <translation type="obsolete">Il layer selezionato non è modificabile. Selezionare &apos;Avvia modifica&apos; dalla barra strumenti per la digitalizzazione.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Impossibile aggiungere i record inseriti.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>In questo momento non è possibile applicare altri tipi di modifiche.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Impossibile applicare le modifiche fatte sugli attributi.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Tuttavia, i record aggiunti saranno inserite OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Impossibile applicare i cambiamenti alle geometrie modificate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Tuttavia, i cambiamenti agli attributi saranno applicati OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Impossibile confermare l&apos;eliminazione dei record cancellati.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Tuttavia, le modifiche alle geometrie saranno applicate OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>Impossibile recuperare informazioni</translation>
+        <translation type="obsolete">Impossibile recuperare informazioni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>Il gestore dati del layer in uso non è in grado di recuperare le geometrie per i record selezionati. Questa versione del gestore dati non è in grado di gestire questa funzionalità.</translation>
+        <translation type="obsolete">Il gestore dati del layer in uso non è in grado di recuperare le geometrie per i record selezionati. Questa versione del gestore dati non è in grado di gestire questa funzionalità.</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Trasparenza: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Simbolo singolo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Simbolo graduato</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Colore continuo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Valore univoco</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">Questo bottone apre il query builder per PostgreSQL e permette di selezionare un sottoinsieme di geometrie da visualizzare sull&apos;area mappa piuttosto che visualizzare tutte quelle disponibili.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>La query utuilizzate per limitare le geometrie presenti nel layer è visualizzata qui sotto. Questa funzione attualemente è valida solo per i layer PostgreSQL. Per inserire o modificare la query, fare click sul bottone Query Builder.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Indice spaziale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Creazione dell&apos;indice spaziale avvenuta con successo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Impossibile creare l&apos;indice spaziale</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Generale:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>Tipo di archiviazione per questo layer : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Sorgente per questo layer : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Tipo di geometrie per i recordi in questo layer : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Numero di oggetti presenti in questo layer: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>Possibilità di modifica per questo layer : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Estensione:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>Unità del sistema di riferimento spaziale usato nel layer : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>Unità del sistema di riferimento spaziale usato nel progetto : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Sistema di Riferimento Spaziale del layer:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Sistema di Riferimento Spaziale (in output) del progetto: </translation>
+        <translation type="obsolete">Sistema di Riferimento Spaziale (in output) del progetto: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Informazioni sul campo attributi:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Campo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Lunghezza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precisione</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13390,149 +13886,149 @@
         <translation>Proprietà del vettoriale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Tipo di legenda:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Annulla</translation>
+        <translation type="obsolete">Annulla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Simbologia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Trasparenza:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Generale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Utilizzare una scala in relazione al rendering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Massimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Scala minima in corrispondenza della quale il layer deve essere visualizzato. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Scala massima in corrispondenza della quale il layer deve essere visualizzato. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Nome visualizzato</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Utilizzare questo controllo per stabilire quale campo deve essere visualizzato in cima alla lista nella finestra di dialogo dei risultati genenrata dall&apos;interrogazione via click.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Sistema di Riferimento Spaziale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Cambia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Campo visualizzato nella finestra di dialogo dei risultati dell&apos;identificazione</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Questa impostazione stabilisce il campo da visualizzare nella finestra di dialogo dei risultati dell&apos;identificazione.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Campo visualizzato</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Sottoinsieme</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Query Builder</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Indice Spaziale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Crea Indice Spaziale</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Crea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadati</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etichette</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Mostra etichette</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Azioni</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Applica</translation>
+        <translation type="obsolete">Applica</translation>
     </message>
 </context>
 <context>
@@ -13581,7 +14077,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Aggiungi layer WFS</translation>
     </message>
@@ -13589,29 +14085,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Si vuole veramente rimuovere la </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation> la connessione e tutti i parametri associati?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Conferma eliminazione</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Sì</translation>
+        <translation type="obsolete">Sì</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>No</translation>
+        <translation type="obsolete">No</translation>
     </message>
 </context>
 <context>
@@ -13644,55 +14140,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Aiuto</translation>
+        <translation type="obsolete">Aiuto</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>&amp;Aggiungi</translation>
+        <translation type="obsolete">&amp;Aggiungi</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>C&amp;hiudi</translation>
+        <translation type="obsolete">C&amp;hiudi</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Connessioni server</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Nuovo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Elimina</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Modifica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>C&amp;onnetti</translation>
     </message>
@@ -13705,328 +14201,427 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation>URL provata: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>Eccezione HTTP</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>Eccezione servizio WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>Eccezione DOM</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Impossibile recuperare la lista delle risorse del WMS: %1 alla linea %2 colonna %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Questo problema probabilmente è dovuto un indirizzo sbagliato del server WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Impossibile recuperare la lista delle risorse WMS nel formato atteso (DTD): nessun %1 o %2 trovato</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Impossibile recuperare il servizio WMS da %1:  %2 alla riga %3 colonna %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>La richieste contiene un formato non disponibile dal server.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La richiesta contiene un CRS non disponibile sul server per uno o più dei layer scelti.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>La richiesta contiene un SRS non disponibile sul server per uno o più dei layer scelti.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>La GetMap request è per un layer non disponibile sul server o la GetFeatureInfo request è per uno non visualizzato sulla mappa.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>La richiesta è per un layer in cui sitle non è disponibile sul server.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>La GetFeatureInfo request è stata fatta su un layer che non è stato dichiarato interrogabile.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>La GetFeatureInfo requeste contiene valori di X o Y non ritenuti validi.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>il valore (opzionale) di UpdateSequence parameter in GetCapabilities request equivale al valore attuale del service metadata update sequence number.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>il valore (opzionale) di UpdateSequence parameter in GetCapabilities request è maggiore rispetto al valore attuale del service metadata update sequence number.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>La richiesta non include un valore campione di dimensione, e il server non è in grado offrire un valore predefinito per tale dimensione.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>La richiesta contiene un valore sbagliato come campione di dimensione.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>La riquesta per una operazione opzionale non è supportata dal server.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Codice di errore sconosciuto nella post-1.3 WMS server)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation>Questo il report restituito dal fornitore WMS: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>Probabilmente questo è dovuto ad un buco nella programmazione di QGIS. Si prega di riportare l&apos;errore.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Proprietà server:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Proprietà</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Valore</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>Versione WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titolo</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Riassunto</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Parole chiave</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Risorsa online</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Persona di riferimento</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Tasse</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Vincoli di accesso</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Formati immagine</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Interroga formati</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Conteggio layer</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>Proprietà Layer: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Selezionato</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Sì</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>No</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Visibilità</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Visibile</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Nascosto</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/d</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Può interrogare</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Può essere trasparente</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Può ingrandire</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Conteggio a cascata</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Larghezza fissa</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Altezza fissa</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>Perimetro WGS 84 </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Disponibile in CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Disponibile nello stile</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Modello plugin QGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Modello plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Modello plugin QGIS</translation>
+        <translation type="obsolete">Modello plugin QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Modello plugin</translation>
+        <translation type="obsolete">Modello plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Annulla</translation>
+        <translation type="obsolete">&amp;Annulla</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt +C </translation>
+        <translation type="obsolete">Alt +C </translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Benvenuto nel generatore automatico di plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo è solo un punto di partenza. Ora serve modificare il codice per fare qualcosa di utile....e leggere una o più informazioni per poter cominciare.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentazione:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Prima di tutto occorre leggere per bene la documentazione delle API QGIS a questo indirizzo:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particolare bisogna fare attenzione alle classi:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface è una classe astratta di base (abstract base class - ABC) che specifica quali caratteristiche QGIS sono pubblicamente accessibili ed esposte a terze parti e a plugin. QgisInterface è una implementazione concreta di questa ABC. La via migliore per effettuare le operazioni in qgis è proprio tramite QGisInterface. E&apos; sufficente passare al plugin una instanza di QgisInterface nel momento in cui è caricata. Qualora qualche funzione richiesta non sia disponibile si consiglia di contattare il team di sviluppo di QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin è una ABC che definisce i comportamenti che un plugin deve avere. Consultare più avanti per maggiori dettagli.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Cosa sono i file presenti in una cartella di un plugin generato?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si tratta del Makefile generato con le specifiche del plugin. Contiene le specifiche c++ con i path inclusi (-I) e i collegamenti alle librerie (-l) Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui e QGis Raster. Occorre aggiungere al Makefile le dipendenze specifiche e i file sorgenti dell&apos;applicazione che si vuole creare.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questa è la casse che fa da &apos;collante&apos; fra la logica dell&apos;applicazione creata e QGIS. Al suo interno sono già implementati diversi - inclusi alcuni esempi su come aggiungere un raster o un layer vettoriale all&apos;area mappa principale. Questa classe è una istanza concreta dell&apos;interfaccia QgisPlugin che definisce i comportamenti necessari per un plugin. In particolare, un plugin ha un numero di metodi statici e attributi che QgsPluginManager e il caricatore logico di plugin può identificare per ogni plugin, creare una apposita voce nel menu ... ecc. Ciò però nulla vieta alla creazione di barre strumenti, icone e menu per un singolo plugin. Come azione predefinita viene offerto un singolo menu  ed un bottone nella barra strumenti che veine generato invocando il metodo run() della classe se selzionato. Questa impostazione predefinita è fornita dal creatore di plugin ed è ben documentata, basta pertanto riferirsi al codice per ulteriori consigli.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si tratta di una classe ABC implementata in Qt4 utilizzabile tramite Qt designer con un file &apos;ui&apos;. Definisce l&apos;aspetto predefinito di una finestra di dialog di plugin senza implementare nessuna logica applicativa. L&apos;aspetto di tale form può essere modifcata secondo qualsiasi tipo di esigenza o anche rimossa qualora il plugin da realizzare non necessiti una form utente (e.s. per MapTools personalizzati).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questa è la classe concreta dove la logica dell&apos;applicazione deve essere realizzata. A questo nulla sarà impossibile...&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Questo è il file con le risorse Qt4 per il plugin. Il Makefile generato per il plugin è pronto con tutto il necessario per la compilazione, il file delle risorse contiene tutte le informazioni addizionali necessarie come icone ed altro definite utilizzando un semplice file. Fare molta attenzione ai namespace utilizzati in tutte le risorse e.s. (&quot;:/[nomeplugin]/&quot;). E&apos; molto importante utilizzare questo prefisso per tutte  le risorse. Si consiglia di specificare, in questo file di risorse, qualsiasi altro  tipo di immagine e dati eseguibili run time.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Questa è l&apos;icona che verrà mostrata nella voce di menu della lista di plugin e come icona nella barra strumenti. Semplicemente sostituire questa icona con quella che distinguerà il plugin dagli altri.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo file contiene la documentazione che state leggendo ora!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Per domande e commenti in merito al creatore di modelli di plugin e/o creare nuove funzionalità in QGIS attraverso l&apos;interfaccia a plugin prendere contatto con:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * la mailinglist degli sviluppatori QGIS, o&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * in IRC (#qgis su freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS è distribuito sotto licenza GPL - Gnu Public License. Chiunque crei plugin utili deve restituire il suo contributo alla comunità.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Buon divertimento e grazie per aver scelto QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Il team di QGIS&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Benvenuto nel generatore automatico di plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo è solo un punto di partenza. Ora serve modificare il codice per fare qualcosa di utile....e leggere una o più informazioni per poter cominciare.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentazione:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Prima di tutto occorre leggere per bene la documentazione delle API QGIS a questo indirizzo:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particolare bisogna fare attenzione alle classi:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface è una classe astratta di base (abstract base class - ABC) che specifica quali caratteristiche QGIS sono pubblicamente accessibili ed esposte a terze parti e a plugin. QgisInterface è una implementazione concreta di questa ABC. La via migliore per effettuare le operazioni in qgis è proprio tramite QGisInterface. E&apos; sufficente passare al plugin una instanza di QgisInterface nel momento in cui è caricata. Qualora qualche funzione richiesta non sia disponibile si consiglia di contattare il team di sviluppo di QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin è una ABC che definisce i comportamenti che un plugin deve avere. Consultare più avanti per maggiori dettagli.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Cosa sono i file presenti in una cartella di un plugin generato?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si tratta del Makefile generato con le specifiche del plugin. Contiene le specifiche c++ con i path inclusi (-I) e i collegamenti alle librerie (-l) Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui e QGis Raster. Occorre aggiungere al Makefile le dipendenze specifiche e i file sorgenti dell&apos;applicazione che si vuole creare.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questa è la casse che fa da &apos;collante&apos; fra la logica dell&apos;applicazione creata e QGIS. Al suo interno sono già implementati diversi - inclusi alcuni esempi su come aggiungere un raster o un layer vettoriale all&apos;area mappa principale. Questa classe è una istanza concreta dell&apos;interfaccia QgisPlugin che definisce i comportamenti necessari per un plugin. In particolare, un plugin ha un numero di metodi statici e attributi che QgsPluginManager e il caricatore logico di plugin può identificare per ogni plugin, creare una apposita voce nel menu ... ecc. Ciò però nulla vieta alla creazione di barre strumenti, icone e menu per un singolo plugin. Come azione predefinita viene offerto un singolo menu  ed un bottone nella barra strumenti che veine generato invocando il metodo run() della classe se selzionato. Questa impostazione predefinita è fornita dal creatore di plugin ed è ben documentata, basta pertanto riferirsi al codice per ulteriori consigli.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Si tratta di una classe ABC implementata in Qt4 utilizzabile tramite Qt designer con un file &apos;ui&apos;. Definisce l&apos;aspetto predefinito di una finestra di dialog di plugin senza implementare nessuna logica applicativa. L&apos;aspetto di tale form può essere modifcata secondo qualsiasi tipo di esigenza o anche rimossa qualora il plugin da realizzare non necessiti una form utente (e.s. per MapTools personalizzati).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questa è la classe concreta dove la logica dell&apos;applicazione deve essere realizzata. A questo nulla sarà impossibile...&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomeplugin].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Questo è il file con le risorse Qt4 per il plugin. Il Makefile generato per il plugin è pronto con tutto il necessario per la compilazione, il file delle risorse contiene tutte le informazioni addizionali necessarie come icone ed altro definite utilizzando un semplice file. Fare molta attenzione ai namespace utilizzati in tutte le risorse e.s. (&quot;:/[nomeplugin]/&quot;). E&apos; molto importante utilizzare questo prefisso per tutte  le risorse. Si consiglia di specificare, in questo file di risorse, qualsiasi altro  tipo di immagine e dati eseguibili run time.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[nomepluginminuscolo].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Questa è l&apos;icona che verrà mostrata nella voce di menu della lista di plugin e come icona nella barra strumenti. Semplicemente sostituire questa icona con quella che distinguerà il plugin dagli altri.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Questo file contiene la documentazione che state leggendo ora!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Per domande e commenti in merito al creatore di modelli di plugin e/o creare nuove funzionalità in QGIS attraverso l&apos;interfaccia a plugin prendere contatto con:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * la mailinglist degli sviluppatori QGIS, o&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * in IRC (#qgis su freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS è distribuito sotto licenza GPL - Gnu Public License. Chiunque crei plugin utili deve restituire il suo contributo alla comunità.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Buon divertimento e grazie per aver scelto QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Il team di QGIS&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Longitudine:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">No</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Latitudine:</translation>
+    </message>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Questo testo va sostituito con una descrizione sulle funzioni del plugin</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_ja.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_ja.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_ja.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -24,32 +24,73 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation> 地図座標を入力</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>了解 (&amp;O)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>キャンセル (&amp;C)</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">停止</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">状態</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="136055884"/>
@@ -676,23 +717,23 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>データプロバイダ無し</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>データプロバイダプラグイン無し</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>ベクタレイヤがロードできません。 QGIS インストールを確認してください</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>データプロバイダプラグインがありません。ベクタレイヤがロードできません</translation>
     </message>
@@ -717,7 +758,7 @@
         <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGis ファイル (*.qgs)</translation>
     </message>
@@ -737,7 +778,7 @@
         <translation type="obsolete">QGIS プロジェクトファイルを選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>OGR  のサポートするレイヤを開く</translation>
     </message>
@@ -747,17 +788,17 @@
         <translation type="obsolete">プロジェクトファイル読み込み時にエラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>行</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>列</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>ファイル</translation>
     </message>
@@ -824,177 +865,172 @@
 いません。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>ファイルの保存に失敗</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished">アクティブレイヤ無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished">フィーチャを特定するには、凡例中のベクタレイヤを選択しアクティブにしてください</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished">バンド</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished">アクション</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished">フィーチャ無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished">アクティブレイヤのクリックした場所にはフィーチャが見つかりません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">フィーチャを選択するには、凡例中のベクタレイヤを選択しアクティブにしてください</translation>
+        <translation type="obsolete">フィーチャを選択するには、凡例中のベクタレイヤを選択しアクティブにしてください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished">新しいセントロイド</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished">新しい点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished">新しい頂点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished">最後のポイントをアンドゥー</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished">線を閉じる</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished">頂点を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished">新しい位置を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished">線分を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished">新しい頂点の位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished">解除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished">頂点を削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished">頂点を解除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished">要素を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished">新しい位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished">選択を解除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished">選択中のものを削除 / つぎのものを選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished">線上の位置を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished">線を分割</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished">線を解除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished">線上の点を選択</translation>
     </message>
@@ -1004,27 +1040,27 @@
         <translation type="unfinished">ラベル</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished">長さ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1034,37 +1070,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1090,12 +1126,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1140,12 +1176,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1160,32 +1196,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1215,82 +1251,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">レイヤは編集不可</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">エラー</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished">フィート</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">フィート</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">度</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">度</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished">不明</translation>
     </message>
@@ -1340,279 +1559,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">レイヤは編集不可</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">エラー</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">フィーチャ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">データベース</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">テーブル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1632,52 +1801,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1690,42 +1859,42 @@
         <translation type="obsolete">レイヤ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -- Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>バージョン</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>PostgreSQL サポート</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(PostgreSQL サポート無し)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>バージョン</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>利用可能なデータプロバイダプラグイン</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>は、有効なデータソースでは有りません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>無効なデータソース</translation>
     </message>
@@ -1765,127 +1934,127 @@
         <translation type="obsolete">地図の保存先:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>レイヤが選択されていません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>属性テーブルを開くには、凡例でレイヤを選択してください</translation>
+        <translation type="obsolete">属性テーブルを開くには、凡例でレイヤを選択してください</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>MapLayer プラグイン無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>../plugins/maplayer に MapLayer プラグインがありません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>プラグイン無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>../plugins にプラグイんがありません。プラグインをテストするには、qgis を src ディレクトリから開始してください</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>プラグイン %1 は %2 に名称変更されました</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>プラグイン情報</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS は以下のプラグインをロードしました: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>名称: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>バージョン: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>記述: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>プラグインがロードできません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS はプラグインをロードできませんでした: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>新しいバージョンの QGIS が出ています</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>これは開発バージョンの QGIS です</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>これは最新バージョンの QGIS です</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>もっと情報が欲しいですか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>QGIS バージョン情報</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>サーバから現在のバージョン情報が取得できませんでした</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>接続拒否 - サーバがダウンしているかもしれません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS サーバが見つかりません</translation>
     </message>
@@ -1915,27 +2084,27 @@
         <translation type="obsolete">プラグインをロード中...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>無効なレイヤ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1は無効なレイヤでロードできません。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>プラグインロード時のエラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>%1 をロード中にエラーが発生しました。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>地図画像を保存</translation>
     </message>
@@ -1945,37 +2114,37 @@
         <translation type="obsolete">QGIS - 最終リリースからの変更</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>ファイル名を選択し、画像として保存 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>エクステント:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>フィーチャ削除中の問題</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>フィーチャを削除中に問題が発生しました</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>ベクタレイヤが選択されていません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>フィーチャの削除はベクタレイヤでのみ有効です</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>フィーチャを削除するには、凡例中のベクタレイヤを選択してください</translation>
     </message>
@@ -1985,17 +2154,17 @@
         <translation type="obsolete">QGIS 対応済み</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS のライセンスは GNU 一般公衆利用許諾契約書(GNU General Public License) です</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses/licenses.ja.html</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>レンダ</translation>
     </message>
@@ -2080,72 +2249,72 @@
         <translation type="obsolete">QGis ファイル (*.qgis}</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>QGIS プロジェクトファイルを選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>プロジェクトが保存できません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>以下の場所にプロジェクトが保存できません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>地図キャンバスにある全てのレイヤの凡例。チェックボックスのクリックでレイヤの表示、非表示を切り替えます。凡例中のレイヤ名をダブルクリックして外観などの設定を変更します。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>全体図キャンバス。このキャンバスは、現在の地図キャンバスの位置を特定するために用いられます。現在の表示領域が赤の矩形で表示されます。全体図キャンバスには、任意のレイヤを表示することができます。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>地図キャンバス。ラスタやベクタの地図が追加された際には、ここに表示されます</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>プラグイン(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>レイヤのレンダリングなど、時間のかかる操作の状態を表示するプログレスバー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>現在の地図縮尺を表示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>現在のカーソル位置の座標を表示。マウスの動きに会わせて更新されます。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>チェックされている場合、地図レイヤはナビゲーションコマンドなどのイベント時にレンダリングされます。チェcっ腐れていない場合、レンダリングされません。これにより、レンダリングせずに多くのレイヤを追加してシンボル化することができます。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>地図レンダリングを循環</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>このアイコンは、自動投影をするかどうかを示します。設定を変えるにはアイコンをクリックして投影法設定ダイアログから変更してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>投影法の状態 - 投影法ダイアログを開く</translation>
     </message>
@@ -2155,9 +2324,9 @@
         <translation type="obsolete">異なる座標系からのレイヤから自動的に投影する</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">地図レイアウト作成の地図コンポーザー</translation>
+        <translation>地図レイアウト作成の地図コンポーザー</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -2225,49 +2394,49 @@
         <translation type="obsolete">Mapserver 出力ツールへの向上</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>OGR  のサポートするベクタレイヤを開く</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>QGIS プロジェクト読み込み時にエラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>見つからないレイヤを探しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>GDAL のサポートするラスタデータソースを開く</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>開く QGIS プロジェクトファイルを選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS ブラウザ選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>使用するウェブブラウザ(例 konqueror)を入力。
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>ブラウザが PATH 中にない場合、フルパスを入力。
@@ -2289,981 +2458,1136 @@
         <translation type="obsolete">同名のプロジェクトファイルは既に存在します。書き換えますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>プロジェクトを保存:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished">新規プロジェクト(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished">新規プロジェクト</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished">プロジェクトを保存(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished">Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">プロジェクトを保存</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished">プロジェクトを別名で保存(&amp;A)...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished">印刷 (&amp;P)...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished">印刷</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished">終了</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished">ベクタレイヤを追加</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished">ラスタレイヤを追加</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished">PostGIS レイヤの追加</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished">N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished">レイヤを除く</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished">オーバービューに全て追加</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished">オーバービューから全て削除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished">全てのレイヤを表示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished">全てのレイヤを表示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished">全てのレイヤを隠す</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished">QGIS ホームページ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished">About</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished">再読み込み</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished">縮小</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished">W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished">点を取得</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished">線を取得</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished">ポリゴンを取得</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished">ファイル(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished">ビュー(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished">レイヤ(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished">設定(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished">ヘルプ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished">エラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="601"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">プロバイダは削除をサポートしていません</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">データプロバイダがフィーチャの削除をサポートしていません</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">レイヤは編集不可</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -4134,7 +4458,7 @@
         <translation type="obsolete">現在のビューを地理空間ブックマークとして作成。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4157,22 +4481,22 @@
         <translation>Quantum GIS について</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>了解</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>About</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>バージョン</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>What&apos;s New</translation>
     </message>
@@ -4247,7 +4571,7 @@
         <translation type="obsolete">Peter Brewer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -4259,76 +4583,76 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses/licenses.ja.html&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS ホームページ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>QGIS-User メーリングリストに登録</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>提供者</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished">QGIS ブラウザ選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -4361,22 +4685,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">アクション</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">キャプチャ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -4591,7 +4915,7 @@
         <translation type="obsolete">&lt;center&gt;アクションを実行&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4742,79 +5066,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">編集を終了</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">変更を保存しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">エラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4822,42 +5146,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>本当に削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>はい(&amp;Y)</translation>
+        <translation type="obsolete">はい(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>いいえ(&amp;N)</translation>
+        <translation type="obsolete">いいえ(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>このブックマーク</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>を削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -5020,122 +5344,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>ファイル名を選択し、地図画像を保存 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>ファイル名を選択し、地図を保存</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>読み/書き</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5339,32 +5663,32 @@
         <translation type="obsolete">地図 %c</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>範囲 (縮尺を計算)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>縮尺(範囲を計算)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>地図 %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">レンダ</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5450,22 +5774,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5554,37 +5878,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>レイヤ</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>グループ</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">レンダ</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">凡例</translation>
     </message>
@@ -5635,114 +5959,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>カスタム</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>レター (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>縦</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>横</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished">ラベル</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5798,27 +6122,27 @@
         <translation type="obsolete">SPIT - ヘルプ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished">テスト接続</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished">接続に失敗しました。設定を確認してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5833,32 +6157,32 @@
         <translation>接続情報</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>ホスト</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>データベース</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>ユーザ名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>新規接続の名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>パスワード</translation>
     </message>
@@ -5875,22 +6199,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -5898,12 +6222,12 @@
         <translation>新規 PostGIS 接続を作成</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>ポート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -6000,32 +6324,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>失敗</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>次の変換</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>エラー:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6033,32 +6357,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished">右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6143,27 +6467,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>了解 (&amp;O)</translation>
+        <translation type="obsolete">了解 (&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル (&amp;C)</translation>
+        <translation type="obsolete">キャンセル (&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation type="unfinished">ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -6190,42 +6514,42 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>投影法の定義を削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>投影法定義の削除は取り消せません。削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>取り消し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>新規</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS カスタム投影法</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>proj4 投影法定義は不正です。保存する前に修正してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>この proj4 定義は正しくありません。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>北進と東進は10進数でなければなりません。</translation>
     </message>
@@ -6235,40 +6559,30 @@
         <translation type="obsolete">内部エラー(ソースの投影法が不正?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>proj4 投影法定義は不正です。保存する前に投影法に名前を付けてください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>proj4 投影法定義は不正です。保存する前にパラメータを追加してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>proj4 投影法定義は不正です。保存する前にproj=句を追加してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>proj4 投影法定義は不正です。保存する前にellips=句を追加してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
@@ -6278,7 +6592,7 @@
         <translation type="obsolete">フォーム1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>名称:</translation>
     </message>
@@ -6293,12 +6607,12 @@
         <translation type="obsolete">投影法ファミリー:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>カスタム投影法定義</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>パラメータ:</translation>
     </message>
@@ -6309,47 +6623,47 @@
         <translation type="obsolete">予想されるパラメータ:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 of 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>新規</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>保存</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>削除</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>閉じる</translation>
     </message>
@@ -6359,37 +6673,37 @@
         <translation>定義</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>テスト</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>WGS84 から選択した投影法へ変換</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>計算</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>投影座標系</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>地理学 / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>北:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>東:</translation>
     </message>
@@ -6410,64 +6724,70 @@
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>本当に</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>接続と関連する設定を削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>削除を確認</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>テーブルを選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>レイヤを追加するにはテーブルを選択してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>パスワード</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>パスワードを入力してください:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>接続失敗</translation>
     </message>
@@ -6482,90 +6802,90 @@
         <translation type="obsolete">%2 上の %1への接続は失敗しました。データベースがダウンしているか、設定が間違っています。 %3 ユーザー名とパスワードを確認してください。%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>リレーションへのアクセスは</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>sql を用いて;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation>失敗しました。データベースは:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished">Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6694,7 +7014,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6707,30 +7027,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>レイヤ名がありません</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>レイヤを地図に追加する前にレイヤ名を入力してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>デリミタがありません</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>ファイルをパースする前にデリミタを特定してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>デリミティッドテキストファイルを開く</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6742,70 +7072,70 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>プラグイン使用時のヘルプ</translation>
+        <translation type="obsolete">プラグイン使用時のヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>ブラウザでデリミティッドテキストプラグインのヘルプを開く</translation>
+        <translation type="obsolete">ブラウザでデリミティッドテキストプラグインのヘルプを開く</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>ヘッダ行をパースし、X と Y フィールドリストを更新</translation>
+        <translation type="obsolete">ヘッダ行をパースし、X と Y フィールドリストを更新</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>入力ファイルのヘッダ行をパースし、 X と Y フィールドのドロップダウンリストを再描画します。デリミタを変更する場合、デリミティッドテキストファイルを選択後にこのボタンを押してください。</translation>
+        <translation type="obsolete">入力ファイルのヘッダ行をパースし、 X と Y フィールドのドロップダウンリストを再描画します。デリミタを変更する場合、デリミティッドテキストファイルを選択後にこのボタンを押してください。</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>指定パラメータを用いてレイヤを作成し、地図に追加します。複数のレイヤを追加できるようダイアログは開いたままです。</translation>
+        <translation type="obsolete">指定パラメータを用いてレイヤを作成し、地図に追加します。複数のレイヤを追加できるようダイアログは開いたままです。</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>ダイアログを閉じる</translation>
+        <translation type="obsolete">ダイアログを閉じる</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>地図に何も追加せずダイアログを閉じる。</translation>
+        <translation type="obsolete">地図に何も追加せずダイアログを閉じる。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X フィールド&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>x 値を含むフィールドの名前</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>x 値を含むフィールドの名前。リストからフィールドを選択してください。リストはデリミティッドテキストファイルのヘッダ行をパースして作成されます。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y フィールド&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>y 値を含むフィールドの名前</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>y 値を含むフィールドの名前。リストからフィールドを選択してください。リストはデリミティッドテキストファイルのヘッダ行をパースして作成されます。</translation>
     </message>
@@ -6826,117 +7156,117 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>レイヤ名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>地図凡例中の名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>地図凡例中の名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>デリミタ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>テキストファイルのフィールドを区別するデリミタ。デリミタは複数キャラクタでも可。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>テキストファイルのフィールドを区別するデリミタ。デリミタは複数キャラクタでも可。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>デリミティッドテキストレイヤ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>デリミティッドテキストファイル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>デリミティッドテキストファイルへのフルパス</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>デリミティッドテキストファイルへのフルパス。ファイル中のフィールドを正しく処理するために、ファイル名を入力する前にデリミタを決定します。入力ファイルを選択するためにこのフィールドの右のブラウズボタンを使用してください。</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>処理するデリミティッドテキストファイルを探す</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>デリミティッドテキストファイルの場所を探すために使用します。このボタンは、&lt;i&gt;デリミタ&lt;/i&gt;ボックスに入力されるまで使用できません。ファイル選択後、デリミティッドテキストファイルからX と Y フィールドドロップダウンボックスに値が挿入されます。</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>指定のデリミタ、ファイル、x/y フィールドを使用してレイヤの追加</translation>
+        <translation type="obsolete">指定のデリミタ、ファイル、x/y フィールドを使用してレイヤの追加</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>パース</translation>
+        <translation type="obsolete">パース</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>レイヤを追加</translation>
+        <translation type="obsolete">レイヤを追加</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>閉じる</translation>
+        <translation type="obsolete">閉じる</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>サンプルテキスト</translation>
     </message>
@@ -6956,97 +7286,64 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>レイヤを別名で保存...</translation>
+        <translation type="obsolete">レイヤを別名で保存...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">エラー</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>フィーチャをバッファ化</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -7054,57 +7351,57 @@
         <translation type="obsolete">バッファ設定:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>地図の単位で距離をバッファ化:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>バッファレイヤのテーブル名:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>固有のオブジェクトIDを作成</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>公共</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>座標フィールド:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>空間参照ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>フィーチャIDを使う固有フィールド:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>スキーマ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>地図にバッファレイヤを追加しますか?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;レイヤ中のフィーチャをバッファ化: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7555,25 +7852,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>予約語</translation>
     </message>
@@ -7588,7 +7885,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7596,17 +7893,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished">状態</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished">インデックス</translation>
     </message>
@@ -7820,154 +8117,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished">キャンセル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7975,22 +8272,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8003,7 +8300,7 @@
         <translation>GPS ツール</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>GPX ファイルをロード</translation>
     </message>
@@ -8023,37 +8320,37 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>ファイル:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>フィーチャ種別:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>通過点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>ルート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>トラック</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>他のファイルをインポート</translation>
     </message>
@@ -8079,27 +8376,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>インポートするファイル:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>フィーチャ種別:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX 出力ファイル:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>レイヤ名:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>GPS からダウンロード</translation>
     </message>
@@ -8125,27 +8422,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>デバイスを編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS デバイス:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>出力ファイル:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>ポート:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>GPS にアップロード</translation>
     </message>
@@ -8173,96 +8470,91 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>データレイヤ:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8270,12 +8562,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>タイプ</translation>
     </message>
@@ -8288,34 +8580,34 @@
         <translation type="obsolete">ジオメトリ種別を選択</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>タイプ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>点</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>ライン</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>ポリゴン</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -8323,17 +8615,17 @@
         <translation>新規ベクターレイヤ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>属性:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>追加</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>コラム 1</translation>
     </message>
@@ -8343,17 +8635,17 @@
         <translation type="obsolete">新規アイテム</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>削除</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation type="unfinished">ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8361,7 +8653,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8417,22 +8709,22 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>地理参照</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>閉じる</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>ラスタファイル:</translation>
     </message>
@@ -8450,7 +8742,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>世界座標を入力</translation>
     </message>
@@ -8468,45 +8760,50 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>ワープ設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>サンプリング手法:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>最近傍</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>線形</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>キュービック</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>了解</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>必要に応じて透明に 0 を使用</translation>
     </message>
@@ -8587,40 +8884,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished">段階シンボル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation type="unfinished">モード:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation type="unfinished">段階の数:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -8630,22 +8924,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">値</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">フィールド</translation>
     </message>
@@ -8711,77 +9005,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished">ツール</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished">再読み込み</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8794,12 +9088,12 @@
         <translation type="obsolete">新しい頂点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>新しい点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>新しいセントロイド</translation>
     </message>
@@ -8864,7 +9158,7 @@
         <translation type="obsolete">解除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>頂点を削除</translation>
     </message>
@@ -8889,241 +9183,241 @@
         <translation type="obsolete">線上の点を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>左:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>中央:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">右:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished">新しい行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished">新しい境界</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished">頂点を移動</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished">頂点を追加</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished">線を分割</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished">属性を編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished">閉じる</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">ライン</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">色</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">インデックス</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">長さ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9334,32 +9628,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">キャンセル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">了解</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9772,12 +10066,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>実行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>停止</translation>
     </message>
@@ -9787,144 +10081,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">列</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">キャンセル</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9975,7 +10239,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9983,17 +10247,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10001,22 +10265,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10024,42 +10288,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10067,7 +10331,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10075,7 +10339,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10083,69 +10347,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">列</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10253,7 +10517,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10278,129 +10542,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">列</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10561,162 +10825,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10724,22 +10988,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10934,39 +11198,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -10977,78 +11208,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished">モジュール</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">GRASS ツール</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">列</translation>
     </message>
@@ -11109,17 +11335,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11180,32 +11406,32 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS プラグインテンプレート</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>了解 (&amp;O)</translation>
+        <translation type="obsolete">了解 (&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル (&amp;C)</translation>
+        <translation type="obsolete">キャンセル (&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>目盛ビルダ</translation>
     </message>
@@ -11230,17 +11456,17 @@
         <translation type="obsolete">始点(左下)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>緯度:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>経度:</translation>
     </message>
@@ -11257,7 +11483,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -11265,60 +11491,65 @@
         <translation type="obsolete">目盛の大きさ (度)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>緯度間隔:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>経度間隔:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished">ライン</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished">ポリゴン</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -11333,12 +11564,12 @@
         <translation>データベースからヘルプの取得に失敗</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>エラー</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>QGIS ヘルプデータベースがインストールされていません</translation>
     </message>
@@ -11440,27 +11671,27 @@
         <translation type="obsolete">&lt;center&gt;アクションを実行&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">フィーチャ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">値</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11840,215 +12071,307 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>レイヤ投影法選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>了解</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="" line="136055884"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
+&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
+&lt;p&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
+&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;レイヤの投影法を定義:&lt;/span&gt;&lt;/p&gt;
+&lt;p&gt;このレイヤには投影法が指定されていません。デフォルトでは、プロジェクトの投影法が適用されますが、下記から選択することもできます。&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">削除</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">属性テーブルを開く</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Shape ファイルとして保存...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">レイヤが選択されていません</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">実行</translation>
+        <location filename="" line="136055884"/>
+        <source>Form1</source>
+        <translation type="obsolete">フォーム1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">出力</translation>
+        <location filename="" line="136055884"/>
+        <source>CheckBox1</source>
+        <translation type="obsolete">チェックボックス1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
+        <location filename="" line="136055884"/>
+        <source>TextLabel1</source>
+        <translation type="obsolete">フォーム1</translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>レイヤ投影法選択</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>了解</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;レイヤの投影法を定義:&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;このレイヤには投影法が指定されていません。デフォルトでは、プロジェクトの投影法が適用されますが、下記から選択することもできます。&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">削除</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">属性テーブルを開く</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shape ファイルとして保存...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>QgsLegend</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">属性テーブル - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">レイヤを別名で保存...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">編集を終了</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">変更を保存しますか?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">はい(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">いいえ(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">エラー</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation type="unfinished">削除</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="" line="136055884"/>
-        <source>Form1</source>
-        <translation type="obsolete">フォーム1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
-        <source>CheckBox1</source>
-        <translation type="obsolete">チェックボックス1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">削除</translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel1</source>
-        <translation type="obsolete">フォーム1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">属性テーブルを開く</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shape ファイルとして保存...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -12186,58 +12509,48 @@
         <translation type="obsolete">ビュー範囲を投影中にエラー、手動で拡大してください。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>選択レイヤを全体表示</translation>
+        <translation type="obsolete">選択レイヤを全体表示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>削除</translation>
+        <translation type="obsolete">削除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>プロパティ</translation>
+        <translation type="obsolete">プロパティ</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">フィーチャ無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -12248,34 +12561,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished">ファイルを書き換えますか?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -12284,144 +12597,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Mapserver へエクスポート</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Map ファイル</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>レイヤ情報のみエクスポート</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>地図</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>高さ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>幅</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>フィート</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>メートル</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>マイル</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>インチ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>キロメートル</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>単位</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>画像タイプ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>ユーザー定義</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -12441,88 +12739,90 @@
         <translation>この地図ファイル名を、これから作成する地図・スケールバー・凡例のGIFファイルの名称の先頭に追加します。簡潔に。</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Web インターフェイス定義</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>ヘッダ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>フッタ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>テンプレート</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>ヘルプ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>了解</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">ディレクトリを選択</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -12569,36 +12869,6 @@
         <source>Total</source>
         <translation type="obsolete">合計</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -12634,6 +12904,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -12741,12 +13047,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>テスト接続</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">%1 への接続は成功しました</translation>
     </message>
@@ -12756,7 +13062,7 @@
         <translation type="obsolete">接続に失敗しました。設定を確認してください</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -12764,7 +13070,7 @@
         <translation>接続に失敗しました。設定を確認してください。エラー詳細情報:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12978,42 +13284,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished">左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13021,7 +13327,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13029,100 +13335,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>方位</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>プロパティ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>角度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>自動的に方向を設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>方位を使用</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>スクリーン上の位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>方位の位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>アイコン</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>新規アイテム</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>了解 (&amp;O)</translation>
+        <translation type="obsolete">了解 (&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル (&amp;C)</translation>
+        <translation type="obsolete">キャンセル (&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -13138,14 +13449,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -13153,7 +13456,7 @@
         <translation>QGIS オプション</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -13163,52 +13466,52 @@
         <translation type="obsolete">firebird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>円内を検索してフィーチャを特定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>起動時のスプラッシュスクリーンを隠す</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>外観</translation>
     </message>
@@ -13218,27 +13521,27 @@
         <translation type="obsolete">スプラッシュスクリーン</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>アイコンテーマ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>テーマ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;注記: &lt;/b&gt;テーマ変更は、次回の QGIS 起動時から有効ですお</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>ヘルプブラウザ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>別アプリケーションでヘルプを開く</translation>
     </message>
@@ -13248,7 +13551,7 @@
         <translation type="obsolete">&lt;b&gt;注記:&lt;/b&gt; ブラウザは PATH 内にあるか、フルパスを指定してください</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>レンダリング</translation>
     </message>
@@ -13258,22 +13561,22 @@
         <translation type="obsolete">描画中に更新</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>詠込み後に表示を更新</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>地図表示は、データソースから以下の数のフィーチャを読込んだ後に更新(描画)されます</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>フィーチャ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(全てのフィーチャが読込まれるまで更新しない場合は 0 にしてください)</translation>
     </message>
@@ -13320,12 +13623,12 @@
         <translation type="obsolete">&lt;b&gt;注記: &lt;/b&gt;値が大きいほど SVG シンボルは滑らかになりますが、レンダリングに時間がかかります</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>初期の可視設定</translation>
     </message>
@@ -13356,7 +13659,7 @@
         <translation type="obsolete">投影法</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>グローバルな既定値を選択...</translation>
     </message>
@@ -13366,12 +13669,12 @@
         <translation type="obsolete">投影法情報がないレイヤがロードされた時:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>投影法を尋ねる。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>既定の投影法を使用する。</translation>
     </message>
@@ -13381,122 +13684,122 @@
         <translation type="obsolete">下記のグローバル既定投影法を使用する。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished">選択色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished">外観</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -13505,40 +13808,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">一般</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -13703,87 +14026,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>ホスト &lt;b&gt;%3&lt;/b&gt; 上のデータベース &lt;b&gt;%2&lt;/b&gt; 中のテーブル &lt;b&gt;%1&lt;/b&gt;, ユーザ &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>クエリ結果</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>返ってきた where 句</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>行。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>クエリフィールド</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>クエリを実行中にエラーが発生しました:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>接続失敗</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>データベースへの接続に失敗:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>データベースエラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>フィールドのサンプル値取得に失敗</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>レコードがありません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>クエリの結果が0件でした。PostgreSQL レイヤは少なくとも一つの地物が必要です。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13924,17 +14242,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>ディレクトリを選択</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>プラグイン無し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>QGIS プラグインは見つかりませんでした</translation>
     </message>
@@ -14035,136 +14353,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished">縮小</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">線形</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished">ヘルマート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">エラー</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -14241,13 +14564,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>修正されたラスタ:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -14270,29 +14598,29 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>リレーションにアクセスできません</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>リレーションにアクセスできません</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation>データベースからのエラーメッセージは:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>GEOS サポートがありません!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -14301,12 +14629,12 @@
 PostGIS を GEOS サポート付きでインストールしてください (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -14316,195 +14644,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished">ビュー中に適切なキー行がありません</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -14517,44 +14833,44 @@
         <translation>プロジェクトのプロパティ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>地図単位</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>メーター</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>フィート</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>10進数の角度</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>ポート</translation>
+        <translation type="obsolete">ポート</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -14562,22 +14878,22 @@
         <translation type="obsolete">タイトル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>既定のプロジェクトファイル</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>適用 (&amp;A)</translation>
+        <translation type="obsolete">適用 (&amp;A)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>一般</translation>
     </message>
@@ -14587,17 +14903,17 @@
         <translation type="obsolete">設定をデジタイズ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>線幅:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>スナップの許容値:</translation>
+        <translation type="obsolete">スナップの許容値:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>線色: </translation>
     </message>
@@ -14607,133 +14923,123 @@
         <translation type="obsolete">カーソル表示精度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>自動</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>マウス位置表示の小数点以下桁数を自動的に設定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>マウスを1ピクセル移動時に位置表示に変化するよう自動調整される小数点以下桁数</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>手動</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>マウス位置表示の小数点以下桁数を設定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>マウス位置表示の小数点以下桁数を手動で設定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>小数点以下桁数</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>地図外観</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>選択色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>プロジェクトタイトル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>投影法</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>オンザフライ投影を有効にする</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished">精度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>投影法選択</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>投影法</translation>
     </message>
@@ -14748,42 +15054,42 @@
         <translation type="obsolete">空間参照ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Search</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Find</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">空間参照システム</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished">Id</translation>
     </message>
@@ -14797,9 +15103,39 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>未設定</translation>
     </message>
@@ -14819,27 +15155,27 @@
         <translation type="obsolete">削除</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>ドライバ:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>次元:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>バンド:</translation>
     </message>
@@ -14849,12 +15185,12 @@
         <translation type="obsolete">測地系:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>起源:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>ピクセルの大きさ:</translation>
     </message>
@@ -14874,169 +15210,169 @@
         <translation type="obsolete">青</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>ラスタ部分:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>切り取り範囲:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>ピラミッドオーバービュー:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>バンド統計 (収集済みの場合): </translation>
+        <translation type="obsolete">バンド統計 (収集済みの場合): </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>プロパティ</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>値</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>バンド</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>バンド番号</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>未統計化</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>まだ統計化されていません</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>最小値</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>最大値</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>範囲</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>平均値</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>スクエア合計</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>標準偏差</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>セル数合計</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>セル数を数える</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>書き込み権限がありません</translation>
+        <translation type="obsolete">書き込み権限がありません</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>書き込み権限がありません。ファイルパーミッションを設定して再度実行してください。</translation>
+        <translation type="obsolete">書き込み権限がありません。ファイルパーミッションを設定して再度実行してください。</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>データタイプ:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - 8 bit unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - 16 bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - 16 bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - 32 bit unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - 32 bit signed integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - 32 bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - 64 bit floating point </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>ラスタデータのタイプが判定できません。</translation>
     </message>
@@ -15051,67 +15387,67 @@
         <translation type="obsolete">オーバービューに表示</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;透明度&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;透明度&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>平均 Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>平均</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>レイヤ空間参照システム:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>プロジェクト空間参照システム:</translation>
+        <translation type="obsolete">プロジェクト空間参照システム:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>範囲外</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (no data)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>ピラミッド建設に失敗しました。</translation>
+        <translation type="obsolete">ピラミッド建設に失敗しました。</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>ファイルは書き込みができません。書き込み権限を確認してください。形式によっては読み取りのみで書き込みができないものがあります。</translation>
+        <translation type="obsolete">ファイルは書き込みができません。書き込み権限を確認してください。形式によっては読み取りのみで書き込みができないものがあります。</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>このラスタ種別では、ピラミッドオーバービューはサポートされていません。</translation>
+        <translation type="obsolete">このラスタ種別では、ピラミッドオーバービューはサポートされていません。</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15124,32 +15460,32 @@
         <translation type="obsolete">データ無し:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;マルチバンド画像に関する注記&lt;/h3&gt;&lt;p&gt;これはマルチバンド画像です。グレイスケールでもカラー (RGB) でもレンダリングすることができます。カラー画像の場合、各色にバンドを割り当てることができます。例えば、7バンドのランドサット画像がある場合、次のようにレンダリングすることができます:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;可視の青 (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;可視の緑 (0.52 to 0.60 microns) - マッピングしない&lt;/li&gt;&lt;/li&gt;可視の赤 (0.63 to 0.69 microns) - 画像中では赤にマッピング&lt;/li&gt;&lt;li&gt;近赤外線 (0.76 to 0.90 microns) - 画像中では緑にマッピング&lt;/li&gt;&lt;li&gt;中間赤外線 (1.55 to 1.75 microns) - マッピングしない&lt;/li&gt;&lt;li&gt;熱赤外線 (10.4 to 12.5 microns) - マッピングしない&lt;/li&gt;&lt;li&gt;中間赤外線 (2.08 to 2.35 microns) - 画像中では青にマッピング&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;パレット画像に関する注記&lt;/h3&gt; &lt;p&gt;この画像は固定カラーパレットをしています。色をリマップすることもできます。例えば、&lt;/p&gt;&lt;ul&gt;&lt;li&gt;赤 - 画像中の青&lt;/li&gt;&lt;li&gt;緑 - 画像中の青&lt;/li&gt;&lt;li&gt;青 - 画像中の緑&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;グレースケール画像の注記&lt;/h3&gt; &lt;p&gt;グレースケールの色は、自動的に生成される色ランプを使って原色画像を再構成することが出来ます。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>原色グレースケール</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>原色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>フリークアウト</translation>
     </message>
@@ -15164,35 +15500,62 @@
         <translation type="obsolete">列: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>パレット</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished">未設定</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">書き込み権限がありません</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">書き込み権限がありません。ファイルパーミッションを設定して再度実行してください。</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">ピラミッド建設に失敗しました。</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">ファイルは書き込みができません。書き込み権限を確認してください。形式によっては読み取りのみで書き込みができないものがあります。</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">このラスタ種別では、ピラミッドオーバービューはサポートされていません。</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -15204,50 +15567,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>適用</translation>
+        <translation type="obsolete">適用</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>一般</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>レイヤソース:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>表示名:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>凡例:</translation>
     </message>
@@ -15257,12 +15620,12 @@
         <translation type="obsolete">ラスタ上にオーバーレイとしてデバッグ情報を表示?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>データ無し:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>シンボル</translation>
     </message>
@@ -15272,27 +15635,27 @@
         <translation type="obsolete">外観</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>透明度:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;完全&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>なし</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>カラーマップを反転</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -15302,27 +15665,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>バンド</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>色</translation>
     </message>
@@ -15332,17 +15695,17 @@
         <translation type="obsolete">グレイスケール</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>グレイ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>標準偏差</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>カラーマップ</translation>
     </message>
@@ -15397,17 +15760,17 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;注記:&lt;/font&gt; 高度なシンボルは未実装!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>メタデータ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>ピラミッド</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>リサンプリング方法</translation>
     </message>
@@ -15417,42 +15780,42 @@
         <translation type="obsolete">平均 Magphase</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>平均</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>最近の近傍</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>ピラミッドの構築</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>ピラミッド解像度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>サムネイル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>行:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>列: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>パレット:</translation>
     </message>
@@ -15493,22 +15856,22 @@
         <translation type="obsolete">縮尺依存レンダリングを使用</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>最大 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>このレイヤを表示する最大縮尺。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>最小 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>このレイヤを表示する最小縮尺。</translation>
     </message>
@@ -15539,37 +15902,37 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>ヒストグラム</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>オプション</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>範囲外 OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>調整を許可</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>チャート種別</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>バーチャート</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>線画像</translation>
     </message>
@@ -15579,7 +15942,7 @@
         <translation type="obsolete">X 範囲:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>再読み込み</translation>
     </message>
@@ -15595,12 +15958,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>空間参照システム</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>変更</translation>
     </message>
@@ -15640,22 +16003,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -15663,19 +16026,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -15683,36 +16056,26 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>コマンドを実行できません</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>コマンドを実行できません</translation>
+        <translation type="obsolete">コマンドを実行できません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>開始</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>終了</translation>
     </message>
@@ -15720,107 +16083,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>メートル/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>フィート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>フィート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>不明</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>ティックダウン</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>ティックアップ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>バー</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>ボックス</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15828,29 +16191,29 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>スケールバープラグイン</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>了解 (&amp;O)</translation>
+        <translation type="obsolete">了解 (&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル (&amp;C)</translation>
+        <translation type="obsolete">キャンセル (&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15866,27 +16229,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>バーの大きさ:</translation>
     </message>
@@ -15896,62 +16259,62 @@
         <translation type="obsolete">色を選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>位置:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>ティックダウン</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>ティックアップ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>ボックス</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>バー</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>縮尺バーのスタイルを選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>バーの色:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>縮尺バースタイル:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>縮尺バーを使用</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>リサイズ時に自動的に四捨五入</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15972,124 +16335,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished">レコードがありません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">本当に</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">接続と関連する設定を削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">削除を確認</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation type="unfinished">はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation type="unfinished">いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16215,17 +16573,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -16376,27 +16734,27 @@
         <translation type="unfinished">共通シンボル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished">塗りつぶしパターン:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished">大きさ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished">シンボル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished">アウトライン幅: </translation>
     </message>
@@ -16406,65 +16764,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished">塗りつぶし色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished">アウトライン色: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished">アウトライン幅: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished">ラベル:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>接続 [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] と、関連する設定を取り除きますか?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>削除を確認</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - 行名を編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -16473,209 +16836,209 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>理由: ファイルを開くことができません</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>理由: Shapefile (*.dbf, *.shx) が見つかりません</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>一般的インターフェイスヘルプ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL 接続:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[新規 ...] - 新しい接続を作成</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[編集 ...] - 現在選択中の接続を編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[削除] - 現在選択中の接続を削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- ファイルをインポートするには、(適切に接続し) 動作する接続を選択する必要があります</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>- 接続を変更すると、グローバルスキーマも変更されます</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Shapefile 一覧:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[追加 ...] - ファイルダイアログからインポートしたいファイルを選択</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[削除] - 一覧から選択中のファイルを取り除く</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[全て削除] - 一覧中の全てのファイルを取り除く</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - インポートする Shapefile の参照 ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[既定 (SRID) を使用] - SRID を -1 に設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[ジオメトリ行名] - データベース中のジオメトリ行の名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[既定の (ジオメトリ行名) を使用] - 行名を &apos;the_geom&apos; に設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[グローバルスキーマ] - インポートする全てのファイルに適用されるスキーマを設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[インポート] - 一覧中の現在の Shapefile をインポート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[終了] - プログラムを終了
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[ヘルプ] - ヘルプダイアログを表示</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Shapefile をインポート</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>先に接続を決定してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>接続失敗 - 設定を確認して再度実行してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>先に Shapefile を一覧に追加してください</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>ファイルをインポート中</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>進行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>ファイルから地物を挿入中に問題:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>テーブル名が不正。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>フィールドが未選択。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>以下のフィールドが重複:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Shapefile をインポート - リレーションが存在します</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Shapefile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>このデータには [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] リレーションを使います、</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>これは既に存在していて、データもおそらく存在します。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>データロスを防ぐには、メインダイアログのファイル一覧にある、</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>この Shapefile の &quot;DB リレーション名&quot; を変更してください。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>リレーション [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] を上書きしますか?</translation>
     </message>
@@ -16685,7 +17048,7 @@
         <translation type="obsolete">リレーションは存在します</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>下のテーブルで行名を変更してください。行名に PostgreSQL 予約語を使用しないよう注意してください</translation>
     </message>
@@ -16700,67 +17063,67 @@
         <translation type="obsolete">ヘルプメッセージ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished">ファイル名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished">フィーチャクラス</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished">フィーチャ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished">DB リレーション名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished">スキーマ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16773,24 +17136,24 @@
         <translation type="obsolete">SPIT - Shape ファイルto PostGIS Import Tool</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL 接続</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>削除</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>インポート</translation>
+        <translation type="obsolete">インポート</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16823,22 +17186,22 @@
         <translation type="obsolete">スキーマ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>ジオメトリコラム名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>全て削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>グローバルスキーマ</translation>
     </message>
@@ -16850,95 +17213,95 @@
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>定義された Shapfile を PostGIS にインポート</translation>
+        <translation type="obsolete">定義された Shapfile を PostGIS にインポート</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>閉じる</translation>
+        <translation type="obsolete">閉じる</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>追加</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>インポートするファイル一覧に Shape ファイルを追加</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>インポート一覧から選択した Shape ファイルを削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>インポート一覧の Shape ファイルを全て削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>既定の SRID を使用</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>SRID を既定値に設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>既定のジオメトリコラム名を使用</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>ジオメトリコラム名を既定値に設定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>新規</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>新規 PostGIS 接続を作成</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>現在の PostGIS 接続を削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>接続</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>現在の PostGIS 接続を編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Shapefile to PostGIS Import Tool</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Shapefile 一覧</translation>
     </message>
@@ -16956,7 +17319,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17000,15 +17363,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished">フォーム1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -17023,9 +17396,9 @@
         <translation type="obsolete">アクティブレイヤのクリックした場所にはフィーチャが見つかりません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>属性テーブル - </translation>
+        <translation type="obsolete">属性テーブル - </translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17033,9 +17406,9 @@
         <translation type="obsolete">選択レイヤを全図表示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>属性テーブルを開く</translation>
+        <translation type="obsolete">属性テーブルを開く</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17063,29 +17436,29 @@
         <translation type="obsolete">編集を開始</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>編集を終了</translation>
+        <translation type="obsolete">編集を終了</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Shape ファイルとして保存...</translation>
+        <translation type="obsolete">Shape ファイルとして保存...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>プロバイダは削除をサポートしていません</translation>
+        <translation type="obsolete">プロバイダは削除をサポートしていません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>データプロバイダがフィーチャの削除をサポートしていません</translation>
+        <translation type="obsolete">データプロバイダがフィーチャの削除をサポートしていません</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>レイヤは編集不可</translation>
+        <translation type="obsolete">レイヤは編集不可</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17098,281 +17471,221 @@
         <translation type="obsolete">アクション</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>変更を保存しますか?</translation>
+        <translation type="obsolete">変更を保存しますか?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>はい(&amp;Y)</translation>
+        <translation type="obsolete">はい(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>いいえ(&amp;N)</translation>
+        <translation type="obsolete">いいえ(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation type="unfinished">取り消し</translation>
+        <translation type="obsolete">取り消し</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation type="unfinished">エラー</translation>
+        <translation type="obsolete">エラー</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished">共通シンボル</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished">目盛付きシンボル</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished">連続色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished">固有値</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">PostgreSQL クエリビルダを開き、地図キャンバス上に全ての地物ではなく一部だけ表示させることができます</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished">レイヤ上に表示される地物を制限するクエリ。現在は PostgreSQL レイヤのみサポートしています。クエリを入力または編集するには、クエリビルダのボタンをクリックしてください</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished">空間インデックス</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished">空間インデックスの作成に成功しました</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished">空間インデックスの作成に失敗しました</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished">一般:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished">レイヤ上の地物のジオメトリ種別:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished">レイヤ上の地物の数:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished">範囲:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished">レイヤの空間参照系の単位:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished">xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished"> プロジェクトの空間参照系の単位:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished">レイヤ空間参照系:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished">プロジェクト(出力)空間参照系:</translation>
+        <translation type="obsolete">プロジェクト(出力)空間参照系:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished">属性フィールド情報:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished">フィールド</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished">タイプ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished">長さ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished">精度</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -17384,7 +17697,7 @@
         <translation>レイヤプロパティ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>凡例タイプ: </translation>
     </message>
@@ -17396,7 +17709,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17411,12 +17724,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>了解</translation>
+        <translation type="obsolete">了解</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="obsolete">キャンセル</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17424,129 +17737,129 @@
         <translation type="obsolete">テキストラベル2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished">シンボル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished">透明度:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished">一般</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished">縮尺依存レンダリングを使用</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished">最大 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished">最小 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished">このレイヤを表示する最小縮尺。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished">このレイヤを表示する最大縮尺。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished">表示名</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished">結果の特定ダイアログの一番上にくるフィールドを設定するコントロールです。</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">空間参照システム</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished">変更</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished">特定結果ダイアログボックスのフィールドを表示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished">特定結果ダイアログボックスの表示フィールドを設定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished">フィールドを表示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished">クエリビルダ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished">空間インデックス</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished">空間インデックスの作成</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished">作成</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished">メタデータ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished">ラベル</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished">ラベルを表示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished">アクション</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation type="unfinished">適用</translation>
+        <translation type="obsolete">適用</translation>
     </message>
 </context>
 <context>
@@ -17610,7 +17923,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17618,29 +17931,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">本当に</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">接続と関連する設定を削除しますか?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">削除を確認</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">はい</translation>
+        <translation type="obsolete">はい</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">いいえ</translation>
+        <translation type="obsolete">いいえ</translation>
     </message>
 </context>
 <context>
@@ -17673,55 +17986,45 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation type="unfinished">ヘルプ</translation>
+        <translation type="obsolete">ヘルプ</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">新規 (&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">削除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">編集</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17734,282 +18037,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">プロパティ</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished">値</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished">タイトル</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished">はい</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished">いいえ</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished">可視性</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -18028,16 +18331,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS プラグインテンプレート</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">プラグインテンプレート</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS プラグインテンプレート</translation>
+        <translation type="obsolete">QGIS プラグインテンプレート</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>プラグインテンプレート</translation>
+        <translation type="obsolete">プラグインテンプレート</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -18059,33 +18443,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>了解 (&amp;O)</translation>
+        <translation type="obsolete">了解 (&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>キャンセル (&amp;C)</translation>
+        <translation type="obsolete">キャンセル (&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">経度:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">いいえ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">緯度:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>これを、プラグインの簡易説明に置き換えてください</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_lv.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_lv.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_lv.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="lv_LV">
+<!DOCTYPE TS><TS version="1.1">
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR draiveru pārvaldnieks</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>nav iespējams saņemt OGRDriverManager</translation>
     </message>
@@ -16,40 +16,91 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Ievadiet kartes koordinātas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;Labi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Atcelt</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Apturēt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Statuss</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;Labi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Atcelt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>QFileDialog</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>open files dialog</source>
         <translation type="obsolete">failu atvēršanas dialogs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>save new vector files dialog</source>
         <translation type="obsolete">jaunu vektorfailu saglabāšanas dialogs</translation>
     </message>
@@ -57,78 +108,78 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS faili (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Nav datu sniedzēja spraudņa</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Vektordatu slāņi nevar tikt ielādēti. Pārbaudiet savu QGIS instalāciju</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Nav datu sniedzēju</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nav datu sniedzēju spraudņu. Vektordatu slāņi nevar tikt ielādēti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Atvērt OGR atbalstītu slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Project file read error</source>
         <translation type="obsolete">Projekta faila nolasīšanas kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> rindā </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> kolonā </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> failam </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Nav iespējams saglabāt failu </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No proj4 projection string. Unable to set map units.</source>
         <translation type="obsolete">Nav Proj4 projekcijas rindiņas. Nav iespējams uzstādīt kartes vienības.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Unsupported map units of </source>
         <translation type="obsolete">Neatbalstītas kartes vienības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No oid column in table</source>
         <translation type="obsolete">Tabulai nav oid kolonnas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The table has no primary key nor oid column. 
 Qgis requires that the table either has a primary key 
 or has a column containing the PostgreSQL oid.
@@ -140,12 +191,12 @@
 Veiktspējas uzlabošanai ieteicams šo kolonnu indeksēt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No suitable key column in view</source>
         <translation type="obsolete">Skatam nav derīgas atslēgas kolonnas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The view has no column suitable for use as a unique key.
 
 Qgis requires that the view has a column that can be
@@ -162,12 +213,12 @@
 veiktspēju. </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No primary key column in table</source>
         <translation type="obsolete">Tabulai nav primārās atslēgas kolonnas.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The table has a primary key that is composed of 
 more than one column. Qgis does not currently 
 support this.</source>
@@ -175,177 +226,177 @@
 vairākām kolonnām. QGIS pagaidām to neatbalsta.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Unsupported key column type</source>
         <translation type="obsolete">Neatbalstīts atslēgas kolonnas tips</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Regulārajām izteiksmēm pret skaitļiem nav jēgas. Tā vietā izmantojiet salīdzināšanu.</translation>
+        <translation type="obsolete">Regulārajām izteiksmēm pret skaitļiem nav jēgas. Tā vietā izmantojiet salīdzināšanu.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Atskaites kolonna netika atrasta: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Dalīšana ar nulli.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Nav aktīvā slāņa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Lai identificētu objektus, jums vispirms jāzivēlas slānis, ko var izdarīt noklikšķinot uz tā nosaukuma leģendā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Kanāls</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>darbība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> objekti atrasti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 objekts atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Neviens objekts nav atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Vietā, kur Jūs norādījāt, aktīvajā slānī nekas netika atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Nebija iespejams identificēt objektus uz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>jo</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Lai izvēlētos objektus, Jums vispirms jāzivēlas slānis, ko var izdarīt noklikšķinot uz tā nosaukuma leģendā</translation>
+        <translation type="obsolete">Lai izvēlētos objektus, Jums vispirms jāzivēlas slānis, ko var izdarīt noklikšķinot uz tā nosaukuma leģendā</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Jauns centroīds</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Jauns punkts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Jauna virsotne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Atcelt pēdējo punktu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Noslēgt līniju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Izvēlieties virsotni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Izvēlieties jaunu novietojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Izvēlieties līnijas segmentu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Jauns virsotnes novietojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Atlaist</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Dzēst virsotni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Atlaist virsotni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Izvēlieties elementu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Jauns novietojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Atlaist izvēlēto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Dzēst izvēlēto / izvēlēties nākamo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Izvēlieties novietojumu uz līnijas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Sadalīt līniju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Atlaist līniju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Izvēlēties punktu uz līnijas</translation>
     </message>
@@ -355,27 +406,27 @@
         <translation>Birka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Garums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Platība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nebija iespējams pielipināt segmentu. Vai esat uzstādījis pielipšanas toleranci iekš Uzstādījumi -&gt; Projekta īpašības -&gt; Vispārējas īpašības?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nebija iespējams pielipināt virsotni. Vai esat uzstādījis pielipšanas toleranci iekš Uzstādījumi -&gt; Projekta īpašības -&gt; Vispārējas īpašības?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Projekta faila nolasīšanas kļūda: </translation>
     </message>
@@ -385,47 +436,47 @@
         <translation>Lineārai transformācijai ir nepieciešami vismaz divi punkti.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Helmerta transformācijai ir nepieciešami vismaz divi punkti.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Affine transformācijai ir nepieciešami vismaz četri punkti.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>Nav iespējams atvērt datu avotu: </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Parsēšanas kļūda līnijā </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>GPS apmaiņas formāta sniedzējs</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Mēģinot transformēt punktu, tika konstatēts koordinātu transofmācijas sistēmas izņēmums. Nav iespējams noteikt līnijas garumu.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Mēģinot transformēt punktu, tika konstatēts koordinātu transofmācijas sistēmas izņēmums. Nav iespējams noteikt poligona laukumu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation>Autortiesību birka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation>Parāda autortiesību informāciju</translation>
     </message>
@@ -470,12 +521,12 @@
         <translation>Rīki GPS datu ielādēšanai un importēšanai</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation>GRASS slānis</translation>
     </message>
@@ -490,32 +541,32 @@
         <translation>Izveido grādu tīklu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation>Ziemeļu bulta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation>Parāda ziemeļu virziena bultu uz kartes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation>[menuitemname]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation>[plugindescription]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation>Mērogjosla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation>Uzzīmē mērogjoslu</translation>
     </message>
@@ -567,82 +618,265 @@
         <translation>GRASS dati nebūs pieejami, ja GISBASE nebūs norādīts.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Nav iespējams pievienot slāni</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Slāņa datu sniedzējs neatbalsta objektu pievienošanu.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Slānis nav rediģējams</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Kļūda</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"> pēdas</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"> pēdas</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"> grādi</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"> grādi</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> nezināms</translation>
     </message>
@@ -692,279 +926,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Slānis nav rediģējams</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Kļūda</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Rindas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Punktos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Objekti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Datu bāze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabula</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -984,52 +1168,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1037,2482 +1221,2572 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Loading QGIS...</source>
         <translation type="obsolete">Ielādēju QGIS...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Setting up QGIS gui...</source>
         <translation type="obsolete">Uzstādu QGIS grafisko vidi...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Layers</source>
         <translation type="obsolete">Slāņi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Loading plugins...</source>
         <translation type="obsolete">Ielādēju spraudņus...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Setting theme...</source>
         <translation type="obsolete">Uzstādu tēmu...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS Ready</source>
         <translation type="obsolete">QGIS darbam gatavs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versija </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> ar PostgreSQL atbalsu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation> (bez PostgreSQL atbalsta)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS tiek izplatīts izmantojot GPL licenci</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Pieejamie datu sniedzēju spraudņi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No OGR Provider</source>
         <translation type="obsolete">Nav OGR sniedzēja</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No OGR data provider was found in the QGIS lib directory</source>
         <translation type="obsolete">OGR datu sniedzēja spraudnis QGIS lib mapē netika atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>ir nederīgs vai neatpazīts datu avots</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Nederīgs datu avots</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Nederīgs slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 ir nederīgs slānis un nevar tikt ielādēts.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No PostgreSQL Provider</source>
         <translation type="obsolete">Nav PostgreSQL sniedzēja</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No PostgreSQL data provider was found in the QGIS lib directory</source>
         <translation type="obsolete">PostgreSQL datu sniedzējs iekš QGIS lib mapes nav atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Izvēlieties faila nosaukumu ar kādu saglabāt kartes attēlu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Saglabāt kartes attēlu uz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nav izvēlēts slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Lai atvērtu atribūtu tabulu, Jums ir jāizvēlas slānis no slāņu saraksta</translation>
+        <translation type="obsolete">Lai atvērtu atribūtu tabulu, Jums ir jāizvēlas slānis no slāņu saraksta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problēma ar objektu dzēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Dzēšot objektus gadījās problēma</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nav izvēlēts vektordatu slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Objektu dzēšana darbojas tikai vektordatu slāņiem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Lai izdzēstu kādu objektu, Jums vispirms jāizvēlas vektordatu slānis no slāņu saraksta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Kļūda ielādējot spraudni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Gadījās kļūda ielādējot %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Nav MapLayer spraudņu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Nav MapLayer spraudņu iekš ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Nav spraudņu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Spraudņi iekš ../plugins nav atrasti. Lai notestētu spraudņus, startējiet QGIS no src mapes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Spraudni %1 sauc par %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Spraudņa informācija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS ielādēja sekojošu spraudni:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nosaukums: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versija: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Apraksts: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Spraudni nevar ielādēt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS nevarēja ielādēt spraudni no: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Ir pieejama jaunāka QGIS versija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Jūs lietojat QGIS izstrādes versiju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Jūs lietojat jaunāko QGIS versiju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Vai Jūs vēlaties sīkāku informāciju?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>QGIS versijas informācija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS - Changes in CVS Since Last Release</source>
         <translation type="obsolete">QGIS - izmaiņas pašreizējas versijas sistēmā (CVS) kopš pēdējā laidiena</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Nevaru saņemt informāciju par pašreizējo versiju no servera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Savienojums nav atļauts - serveris, iespējams, ir izslēgts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS serveris netika atrasts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Error reading from server</source>
         <translation type="obsolete">Kļūda nolasot no servera</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Unable to connect to the QGIS Version server</source>
         <translation type="obsolete">Nav iespējams pievienoties QGIS versijas serverim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Apjoms: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Kartes slāņu saraksts, kas parāda visus kartes skata rāmī esošos slāņus. 
 Uzklikšķiniet uz ķekškastes, lai parādītu / paslēptu slāni. Dubultklikšķis uz slāņa nosaukuma ļaus pielāgot tā attēlošanu un uzstādīt citus tā parametrus.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Kartes pārskata rāmis. Tas ļauj parādīt kartes pārskatu un pašreizējā kartes rāmī redzamā skata atrašanās vietu, kas redzams kā sarkans taisnstūris. Kartes pārskata rāmim var pievienot jebkuru kartes slāni.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Kartes audekls. Šeit tiek rādīti visi rastra un vektordatu slāņi, kad tos pievieno kartei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Spraudņi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Progresa josla rāda cik daudz no slāņiem jau ir parādīts, kā arī citu laikietilpīgu procesu paveikto daļu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Attēlo pašreizējo kartes mērogu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Rāda kartes koordinātas kursora atrašanās vietā. Koordinātas tiek nepārtraukti atjaunotas, ja pārvieto peli.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Renderēt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Ja atzīmēts, kartes slāņi tiek renderēti uzreiz tiklīdz kāda darbība tiek veikta. Ja nav atzīmēts, renderēšana nenotiek. Tas ļauj pievienot lielu daudzumu slāņu un uzstādīt tiem apzīmējumus pirms to attēlošanas kartē.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Izvēlieties QGIS projekta failu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Nav iespējams saglabāt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Nav iespējams saglabāt projektu uz </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Pārslēdz kartes renderēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Šī ikona rāda vai tūlītēja projekciju maiņa ir ieslēgta vai nē. Klikšķiniet uz ikonas, lai mainītu projekta īpašības.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Projekcijas statuss - klikšķiniet lai atvērtu projekcijas dialogu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>On the fly projection support to automatically project layers from different coordinate systems</source>
         <translation type="obsolete">Tūlītējas projekciju pārveidošanas atbalsts, lai automātiski pārveidotu projekcijas slāņiem ar citu koordinātu sistēmu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Karšu sastādītājs karšu izkārtojumu veidošanai</translation>
+        <translation>Karšu sastādītājs karšu izkārtojumu veidošanai</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toolbox for running GRASS tools from QGIS. The toolbox can be easily customized to add additional tools</source>
         <translation type="obsolete">Rīkkopa GRASS rīku darbināšanai no QGIS. Riikopu var viegli pielāgot jaunu rīku pievienošanai</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Handling of spatially enabled tables and views in PostgreSQL has been greatly improved. QGIS can now load any table in the database that contains a geometry column</source>
         <translation type="obsolete">PostgreSQL ir uzlabota telpisko datu glabāšana un apstrāde. QGIS var ielādēt jebkuru tabulu, kura satur ģeometrijas kolonnu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>PostgreSQL views containing a geometry column can be viewed in QGIS</source>
         <translation type="obsolete">PostgreSQL skati ar ģeometrikas kolonnām var tikt aplūkoti izmantojot QGIS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Raster graphing tool to produce a histogram for a raster layer</source>
         <translation type="obsolete">Rīks rastra slāņa histogrammas iegūšanai</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Raster query using the identify tool allows you to get the pixel values from a raster by making it the active layer and clicking on the point of interest</source>
         <translation type="obsolete">Rastra vaicājums izmantojot identificēšanas rīku ļauj noskaidrot atsevišķas rastra šūnas (pikseļa) vērtību. Izvēlieties rastra slāni un noklikšķiniet interesējošajā vietā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>User preferences provides customizable settings for the digitizing line width, color, and selection color</source>
         <translation type="obsolete">Lietotāja uzstādījumi piedāvā dažādus konfigurējamus parametrus kā, piemēram, digitizējamās līnijas platums, krasa un izvēlēto objektu krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New symbols for use with point layers are available from the layer properties dialog</source>
         <translation type="obsolete">Punktveida objektu attainošanai ir pieejami jauni simboli</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Spatial bookmarks allow you to create and manage bookmarks for an area on the map. Bookmarks are persistent and global; meaning they are available for all projects</source>
         <translation type="obsolete">Ģeogrāfiskās grāmatzīmes atļāuj Jums izveidot un pārvaldīt grāmatzīmes noteiktām vietām uz kartes. Grāmatzīmes ir pastāvīgas un pieejamas visiem projektiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Measure tool allows you to measure distances on the map with both segment length and total length displayed as you click</source>
         <translation type="obsolete">Attālumu mērīšanas rīks ļauj mērīt attālumus starp vietām un parāda gan segmenta garumu, gan kopējo attālumu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>GPX loading times and memory consumption for large GPX (GPS) files has been drastically reduced</source>
         <translation type="obsolete">Samazināts atmiņas patēriņš un ielādes laiks lieliem GPX (GPS) failiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Many enhancements to the digitizing tools have been made, including the ability to capture data straight into PostgreSQL/PostGIS, and improvements to the definition of attribute tables for newly created layers</source>
         <translation type="obsolete">Ir veikti daudzi uzlabojumi digitizēšanas rīkiem, ieskaitot tiešu datu ievadi PostgreSQL/PostGIS datubāzē. Tat ir uzlabota atribūtu definēšana jaunizveidotām tabulām</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The Raster Georeferencer plugin can be used to generate a world file for a raster. The plugin allows you to define known control points in the raster coordinate system. Once enough control points are defined, the world file can be generated and the raster properly displayed in QGIS or other GIS applications</source>
         <translation type="obsolete">Telpiskās piesaistes spraudnis var tikt izmantots rastra datu telpiskajai piesaistei izmantojot kontroles punktus ar zināmām koordinātām. Tiklīdz pietiekams kontrolpunktu skaits ir dots, ir iespējams rastra failu modificēt tā, lai tas tiktu pareizi rādīts iekš QGIS un jebkuras citas ĢIS programmas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Improvements to the Mapserver export tool</source>
         <translation type="obsolete">Uzlabojumi Mapserv eksportēšanas rīkā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Atvērt OGR atbalstītu vektordatu slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Saglabāt kā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Izvēlieties QGIS projekta failu ko atvērt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>QGIS projekta faila nolasīšanas kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Mēģini atrast trūkstošos slāņus?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Project file exists.</source>
         <translation type="obsolete">Projekta fails eksistē.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The given project file exists.  Do you wish to over-write it with a new one?</source>
         <translation type="obsolete">Piedāvātais projekta fails jau eksistē. Vai velaties to pārrakstīt ar jaunu?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Saglabāt projektu iekš:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS pārlūka izvēle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Ievadiet izmantojamā pārlūka nosaukumu (piem. konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Ievadiet pilnu ceļu, ja pārlūks nav iekš Jūsu ceļa (PATH).
 </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>You can change this option later by selecting Preferences from the Settings menu.</source>
         <translation type="obsolete">Jūs varat to mainīt vēlāk izvēloties Parametri no Iestatījumu izvēlnes.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Atvērt GDAL atbalstītu datu avotu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Jaunās iespējas</translation>
+        <translation>Jaunās iespējas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Warning</source>
         <translation type="obsolete">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Writing of the layer failed</source>
         <translation type="obsolete">Slāņa rakstīšana neizdevās</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Nav iespējams atvērt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Nav iespējams saglabāt projektu </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Nav iespējams ielādēt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Nav iespējams ielādēt projektu </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No Map Layers</source>
         <translation type="obsolete">Nav kartes slāņu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No layers to export. You must add at least one layer to the map in order to export the view.</source>
         <translation type="obsolete">Nav slāņu eksportēšanai. Jums ir jāpievieno vismaz viens kartes slānis, lai varētu veikt kartes skata eksportēšanu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Slānis ir nederīgs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Slānis nav derīgs un tādēļ to nevar pievienot kartei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Saglabāt?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
         <source>Do you want to save the current project?</source>
-        <translation type="obsolete">Vai Jūs vēlaties saglabāt projektu?</translation>
+        <translation type="unfinished">Vai Jūs vēlaties saglabāt projektu?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add all layers to the overview map</source>
         <translation type="obsolete">Pievienot visus slāņus pārskata kartei</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Remove all layers from the overview map</source>
         <translation type="obsolete">Noņemt visus slāņus no pārskata kartes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Rādīt visus slāņus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Slēpt visus slāņus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture points</source>
         <translation type="obsolete">Atlikt punktus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture lines</source>
         <translation type="obsolete">Atlikt līnijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture polygons</source>
         <translation type="obsolete">Atlikt laukumus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete selection</source>
         <translation type="obsolete">Dzēst izvēlēto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Starpliktuves saturu uzstādīt uz: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> ir nederīgs vai neatpazīts rastra datu avots</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> ir neatbalstīts rastra datu avots</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Neatbalstīts datu avots</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Jauna grāmatzīme</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Ievadiet nosaukumu jaunajai grāmatzīmei:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Nav iespējams izveidot grāmatzīmi. Jūsu lietotāju datubāze ir vai nu bojāta, vai tās vispār nav</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Uzstādījumu nolasīšana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Grafiskās vides uzstādīšana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Datu bāzes pārbaude</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Ielādēto spraudņu atjaunošana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Failu filtru inicializēšana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Loga statusa atjaunošana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS darbam gatavs!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Jauns projekts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Jauns projekts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Atvērt projektu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Atvērt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Saglabāt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Saglabāt projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Saglabāt projektu &amp;kā...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Saglabā projektu ar jaunu nosaukumu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Drunāt...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Drunāt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Saglabāt kā attēlu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Saglabā karti kā attēlu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Eksportēt uz MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Eksportēt kā MapServer .map failu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Iziet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Iziet no QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Pievienot vektordatu slāni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Pievieno vektordatu slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Pievienot rastra datu slāni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Pievieno rastra datu slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Pievienot PostGIS slāni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Pievieno PostGIS slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Jauns vektordatu slānis...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Izveido jaunu vektordatu slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Noņemt slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Noņem slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Pievienot visu pārskatam</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Rādīt visus slāņus pārskata kartē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Noņemt visu no pārskata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Noņem visus slāņus no pārskata kartes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Rādīt visus slāņus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Slēpt visus slāņus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Projekta īpašības...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Uzstāda projekta īpašības</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Opcijas...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Maina dažādas QGIS opcijas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Pielāgota projekcija...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Pārvaldīt pielāgotās projekcijas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Palīdzības saturs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Palīdzības dokumentācija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>QGIS mājaslapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS mājaslapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Par</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Par QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Pārbaudīt QGIS versiju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Pārbauda, vai izmantotā QGIS versija ir pati jaunākā (nepieciešama pieeja internetam)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Atjaunināt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Atjaunināt karti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Tuvināt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Tālināt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Tuvināt kopskatu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Tālināt līdz kopskatam</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Tuvināt līdz izvēlei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Tuvināt līdz izvēlei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Panoramēt karti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Velk karti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Pēdējā tāllummaiņa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Tuvina līdz iepriekšējam skatam</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Tuvināt līdz slānim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Tuvina līdz slānim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identificēt objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Klikšķiniet uz objektiem, lai tos identificētu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Izvēlēties objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Atvērt tabulu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Mērīt līniju </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Mēra līniju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Mērīt laukumu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Mēra laukumu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Rādīt grāmatzīmes</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Jauna grāmatzīme...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Pievienot WMS slāni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Pievieno WMS slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Pievienot pārskatam</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Pievienot pašreizējo slāni pārskata kartei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Spraudņu pārvaldnieks...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Atver spraudņu pārvaldnieku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Sākt pašreizējā slāņa labošanu</translation>
+        <translation type="obsolete">Sākt pašreizējā slāņa labošanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Beigt pašreizējā slāņa labošanu</translation>
+        <translation type="obsolete">Beigt pašreizējā slāņa labošanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Atlikt punktu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Atliek punktus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Atlikt līniju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Atliek līnijas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Atlikt laukumu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Atliek laukumus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete Seleced</source>
         <translation type="obsolete">Dzēst izvēlēto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Dzēst izvēlēto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Pievienot virsotni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Dzēst virsotni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Pārvietot virsotni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Fails</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Atvērt nesenos projektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Skats</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Uzstādījumi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Palīdzība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Fails</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Pārvaldīt slāņus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Palīdzība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitizēšana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Kartes navigācija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atribūti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Spraudņi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Gatavs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Izvēlieties nosaukumu ar kādu saglabāt QGIS projekta failu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - izmaiņas pašreizējas versijas sistēmā (SVN) kopš pēdējā laidiena</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Jūs varat izmainīt šo opciju vēlāk, izvēloties Opcijas no Uzstādījumu izvēlnes (Palīdzības pārlūkprogrammas cilne).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Rādīt rīkjoslas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Slēpt rīkjoslas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Izgriezt objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Izgriež izvēlētos objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopēt objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopē izvēlētos objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Ielītmēt objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Ielīmē izvēlētos objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Rīkjoslas...</translation>
+        <translation type="obsolete">&amp;Rīkjoslas...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
 Kompilēts ar Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation>, darbināts ar Qt </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Daudzi lietotaja saskarnes uzlabojumi</translation>
+        <translation>Daudzi lietotaja saskarnes uzlabojumi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Uzlabota vektoru un atribūtu rediģēšana</translation>
+        <translation>Uzlabota vektoru un atribūtu rediģēšana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Vai vēlaties saglabāt pašreizējo projektu?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Vai vēlaties saglabāt pašreizējo projektu?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">WMS atbalsts</translation>
+        <translation>WMS atbalsts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Uzlaboti mērīšanas rīki ar laukumu mērīšanu</translation>
+        <translation>Uzlaboti mērīšanas rīki ar laukumu mērīšanu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Atribūtu meklēšana</translation>
+        <translation>Atribūtu meklēšana</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Jauna leģendas struktūra</translation>
+        <translation>Jauna leģendas struktūra</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">QGIS API pārveidošana, lai to varētu izmantot kā bibliotēku kartēšanas programmās</translation>
+        <translation>QGIS API pārveidošana, lai to varētu izmantot kā bibliotēku kartēšanas programmās</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Uzlabots MapServer eksporta rīks</translation>
+        <translation>Uzlabots MapServer eksporta rīks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Pielāgojama kartes audekla fona krāsa</translation>
+        <translation>Pielāgojama kartes audekla fona krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Vektoru slāņu caurspīdīgums</translation>
+        <translation>Vektoru slāņu caurspīdīgums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Kropļojumnovērse vektoru slāņiem</translation>
+        <translation>Kropļojumnovērse vektoru slāņiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">GRASS atbalsts uz visām platformām</translation>
+        <translation>GRASS atbalsts uz visām platformām</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Uzlabots GRASS atbalsts un rīkkastes komandas</translation>
+        <translation>Uzlabots GRASS atbalsts un rīkkastes komandas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Uzlabota vektoru rediģēšana, ieskaitot kopēšanu/ielīmēšanu, virsotņu rediģēšanu</translation>
+        <translation>Uzlabota vektoru rediģēšana, ieskaitot kopēšanu/ielīmēšanu, virsotņu rediģēšanu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Shapefile/OGR slāņu rediģēšana</translation>
+        <translation>Shapefile/OGR slāņu rediģēšana</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Iespēja ielūkoties tikai ģeometrijas kolonnās PostGIS slāņos</translation>
+        <translation>Iespēja ielūkoties tikai ģeometrijas kolonnās PostGIS slāņos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation>Tīkla kļūda komunicējot ar serveri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation>Nezināma tīkla ligzdas kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation>Nav iespējams sazināties ar QGIS versijas serveri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
-        <translation>R</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
-        <translation>Ctrl+R</translation>
+        <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Sniedzējs neuztur dzēšanu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Datu sniedzējs neatbalsta objektu dzēšanu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Slānis nav rediģējams</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Aktīvais slānis ir nelabojams. Izvēlieties &quot;sākt labot&quot; no digitizēšanas rīkjoslas.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished">Mērogs </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Quantum GIS</source>
         <translation type="obsolete">Quantum GIS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;File</source>
         <translation type="obsolete">&amp;Fails</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Layer</source>
         <translation type="obsolete">&amp;Slānis</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;View</source>
         <translation type="obsolete">&amp;Skats</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Help</source>
         <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>File Management Toolbar</source>
         <translation type="obsolete">Failu pārvaldīšanas rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Data Toolbar</source>
         <translation type="obsolete">Datu rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show all layers</source>
         <translation type="obsolete">Rādīt visus slāņus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add to overview</source>
         <translation type="obsolete">Pievienot pārskata kartei</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Map Navigation Toolbar</source>
         <translation type="obsolete">Navigācijas rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture points</source>
         <translation type="obsolete">Atlikt punktus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Attribute Data Toolbar</source>
         <translation type="obsolete">Atribūtu datu rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Help Toolbar</source>
         <translation type="obsolete">Palīdzības rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Plugins Toolbar</source>
         <translation type="obsolete">Spraudņu rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open Project</source>
         <translation type="obsolete">Atvērt projektu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Open Project</source>
         <translation type="obsolete">&amp;Atvērt projektu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open a previously saved QGIS project file. The layers (raster and vector) stored in the project file will be loaded and displayed on the map canvas</source>
         <translation type="obsolete">Atvērt iepriekš saglabātu QGIS projekta failu. Saglabātie slāņi tiks automātiski ielādēti un parādīti</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Exit</source>
         <translation type="obsolete">Iziet</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>E&amp;xit</source>
         <translation type="obsolete">I&amp;ziet</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Close all layers and exit QGIS</source>
         <translation type="obsolete">Aizver visus slāņus un iziet no QGIS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a PostGIS Layer</source>
         <translation type="obsolete">Pievienot PostGIS slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a &amp;PostGIS Layer</source>
         <translation type="obsolete">Pievienot &amp;PostGIS slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a PostgreSQL layer to the map. This requires a properly configured and running PostgreSQL database and the PostGIS extensions.</source>
         <translation type="obsolete">Pievienot PostgreSQL slāni kartei. Lai to paveiktu, ir nepieciešams pareizi nokonfigurēts un strādājošs savienojums ar PostgreSQL datubāzi izmantojot PostGIS.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>D</source>
         <translation type="obsolete">D</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Refresh </source>
         <translation type="obsolete">Atsvaidzināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Refresh </source>
         <translation type="obsolete">&amp;Atsvaidzināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Refresh the map by clearing the map canvas and redrawing all visible layers</source>
         <translation type="obsolete">Atsvaidzina karti nodzēšot visus slāņus un pārrenderējot tos no jauna</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to full extent</source>
         <translation type="obsolete">Tālināt līdz kopskatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to &amp;full extent</source>
         <translation type="obsolete">Tālināt līdz &amp;kopskatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to the full extent of all layers on the map. This brings everything on the map into full view</source>
         <translation type="obsolete">Tālina līdz visu slāņu kopskatam. Tas ļauj aplūkot pilnīgi visu slāņu kopskatu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Map Navigation Tools</source>
         <translation type="obsolete">Kartes navigācijas rīki</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom in</source>
         <translation type="obsolete">Tuvināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom &amp;In</source>
         <translation type="obsolete">T&amp;uvināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom in on the map. Drag the mouse (hold down the left button) to draw a rectangle around the area you want to zoom to, then release the mouse.</source>
         <translation type="obsolete">Tuvina karti. Lai tuvinātu kartes apgabalu, nospiediet peles kreiso taustiņu un apvelkiet taisnstūri ap vēlamo apgabalu, tad atlaidiet peles kreiso taustiņu.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Pan</source>
         <translation type="obsolete">Vilkt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Pan</source>
         <translation type="obsolete">&amp;Vilkt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Pan the map view by dragging the mouse (hold down the left button). The area displayed will change after the mouse is released.</source>
         <translation type="obsolete">Ļauj vilkt kartes skatu izmantojot peli pieturot nospiesu peles kreiso taustiņu. Karte tiks pārzīmēta tiklīdz peles kreisais taustiņš tiks atlaists.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom out</source>
         <translation type="obsolete">Tālināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom &amp;Out</source>
         <translation type="obsolete">Tā&amp;lināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom out to view more of the map. Drag the mouse (hold down the left button) to draw a rectangle around an area. The current view will zoomed out and resized to &quot;fit&quot; in the rectangle.</source>
         <translation type="obsolete">Tālina karti, lai varētu redzēt vairāk nekā līdz šim. Turot nospiestu peles kreiso taustiņu, apvelkiet taisnstūri uz ekrāna. Pašreizējais skats tiks tālināts tiktāl, lai ievietotos norādītajā taisnstūrī.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to selected features</source>
         <translation type="obsolete">Tuvināt līdz izvēlētajiem objektiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Zoom to selected features</source>
         <translation type="obsolete">&amp;Tuvināt līdz izvēlētajiem objektiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to selected features in active layer</source>
         <translation type="obsolete">Tuvina līdz aktīvajā slānī izvēlētajiem objektiem</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to the extent of selected features on the active layer. The view will be zoomed so that all selected features are visible. If there are no selected features, the view is not changed.</source>
         <translation type="obsolete">Tālina līdz izvēlēto objektu kopskatam aktīvajā slānī. Skats tiks tālināts tā, lai visi izvēlētie objektu būtu redzami. Ja neviens objekts nav izvēlēts, tad skats netiks mainīts.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Identify</source>
         <translation type="obsolete">Identificēt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>I&amp;dentify</source>
         <translation type="obsolete">I&amp;dentificēt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Identify a feature on the active layer</source>
         <translation type="obsolete">Identificē objektu aktīvajā slānī</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Identify a feature on the active layer (the active layer is the highlighted layer in the legend). Idenify searches for features near where the mouse is clicked and displays information about the results. The search radius can be customized on the QGIS Preferences dialog.</source>
         <translation type="obsolete">Identificē objektu aktīvajā slānī (aktīvais slānis ir izgaismots leģendā). Identificēšanai tiek meklēti objekti, kas atrodas netālu no peles noklikšķināšanas vietas un pēc tam tiek parādīta informācija par tiem. Meklēšanas rādiuss var titk pielāgots QGIS uzstādījumu logā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>select features</source>
         <translation type="obsolete">izvēlēties objektus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select features on the active layer by dragging the mouse to create a box around the features of interest. When the mouse is released, the features are selected and drawn in a different color (default is yellow)</source>
         <translation type="obsolete">Objektus var izvēlēties aktīvajā slānī apvelkot ap tiem taisnstūri ar peli turot nospiestu peles kreiso taustiņu. Kad peles kreisais taustiņš tiks atlaists, izvēlētie objekti tiks iekrāsoti citā krāsā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture Point</source>
         <translation type="obsolete">Atlikt punktu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture Line</source>
         <translation type="obsolete">Atlikt līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture Polygon</source>
         <translation type="obsolete">Atlikt laukumu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;About Quantum GIS</source>
         <translation type="obsolete">&amp;Par Quantum GIS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Display the About QGIS dialog. About QGIS contains information about the current version, contributors, and available data provider plugins.</source>
         <translation type="obsolete">Parāda logu ar informāciju par Quantum GIS. Šis logs satur informāciju par versiju, tās izstrādātājiem un pieejamajiem datu sniedzējspraudņiem.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Test button</source>
         <translation type="obsolete">Testa poga</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a Vector Layer</source>
         <translation type="obsolete">Pievienot vektordatu slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a &amp;Vector Layer</source>
         <translation type="obsolete">Pievienot &amp;vektordatu slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a vector layer (e.g. Shapefile)</source>
         <translation type="obsolete">Pievienot vektordatu slāni (piem. Šeipfailu)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a vector layer to the map canvas. The supported formats are those provided by the OGR library. For a list of supported formats, see http://www.remotesensing.org/gdal/ogr/ogr_formats.html</source>
         <translation type="obsolete">Pievieno OGR bibliotēkas atbalstītu vektordatu slāni kartei. Atbalstīto formātu sarakstu Jūs varat aplūkot http://www.remotesensing.org/gdal/ogr/ogr_formats.html</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>V</source>
         <translation type="obsolete">V</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Attribute table</source>
         <translation type="obsolete">Atribūtu tabula</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Attribute table</source>
         <translation type="obsolete">&amp;Atribūtu tabula</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the attribute table for the selected layer</source>
         <translation type="obsolete">Atver izvēlētā slāņa atribūtu tabulu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the attribute table for the selected vector layer. The rows can be sorted by clicking on the column names in the header row.</source>
         <translation type="obsolete">Atver izvēlētā slāņa atribūtu tabulu. Dati var tikt sakārtoti pēc atiecīgās kolonnas noklikšķinot uz tās nosaukuma.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Previous</source>
         <translation type="obsolete">Iepriekšējais</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to &amp;previous extent</source>
         <translation type="obsolete">Tuvināt us &amp;iepriekšējo skatu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to last extent</source>
         <translation type="obsolete">Tuvināt iepriekšējam skatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to the last view. QGIS stores only one previous view so repeatedly clicking this button swaps the views.</source>
         <translation type="obsolete">Tuvina līdz iepriekšējam skatam. QGIS atceras tikai vienu iepriekšējo skatu, tādēļ atkārtota pogas nospiešana rādīs tikai šo un iepriekšējo skatu.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Test plugin functions</source>
         <translation type="obsolete">Testēt spraudņu funkcijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Preferences</source>
         <translation type="obsolete">Uzstādījumi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Preferences</source>
         <translation type="obsolete">&amp;Uzstādījumi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS User Preferences</source>
         <translation type="obsolete">QGIS lietotāja uzstādījumi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the options dialog to set QGIS preferences like web browser and identify search radius.</source>
         <translation type="obsolete">Atver logu, kas ļauj mainīt QGIS lietotāja uzstādījumus kā, piemēram, izmantoto tīmekļa pārlūkprogrammu, meklēšanas rādiusu u.c.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save Project</source>
         <translation type="obsolete">Saglabāt projektu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Save Project</source>
         <translation type="obsolete">&amp;Saglabāt projektu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save the current map as a QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
         <translation type="obsolete">Saglabā pašreizējo karti kā QGIS projektu. Vēlāk atverot šādu QGIS projektu, visi slāņi un to parametri tiek atjaunoti pašreizējā skatā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+S</source>
         <translation type="obsolete">Ctrl+S</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save Project As...</source>
         <translation type="obsolete">Saglabāt projektu kā...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save Project &amp;As...</source>
         <translation type="obsolete">Saglabāt projektu &amp;kā...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save the current map as a new QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
         <translation type="obsolete">Saglabā pašreizējo karti kā jaunu QGIS projektu. Vēlāk atverot šādu QGIS projektu, visi slāņi un to parametri tiek atjaunoti pašreizējā skatā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Project</source>
         <translation type="obsolete">Jauns projekts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;New Project</source>
         <translation type="obsolete">&amp;Jauns projekts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Start a new QGIS project</source>
         <translation type="obsolete">Sāk jaunu QGIS projektu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create a new, empty QGIS project. All layers will be removed from the map canvas and a blank canvas will be created.</source>
         <translation type="obsolete">Izveido jaunu, tukšu QGIS projektu. Visi lietošanā esošie kartes slāņi tiks aizvākti.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+N</source>
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Plugin Manager</source>
         <translation type="obsolete">Spraudņu pārvaldnieks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Plugin &amp;Manager</source>
         <translation type="obsolete">Spraudņu &amp;pārvaldnieks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Opens the Plugin Manager and allows you to view loaded plugins or load a new one. The Plugin Manager lists the available plugins and a description of the features each provides.</source>
         <translation type="obsolete">Atver spraudņu pārvaldnieku, kas ļauj aplūkot ielādētos spraudņus un ielādēt jaunus. Spraudņu pārvaldnieks parāda pieejamos spraudņus un to aprakstus.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Check QGIS Version</source>
         <translation type="obsolete">Pārbaudīt QGIS versiju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Check QGIS &amp;Version</source>
         <translation type="obsolete">Pārbaudīt QGIS &amp;versiju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Contacts the QGIS version server and provides information about the current version and any new features/changes available in the development version.</source>
         <translation type="obsolete">Savienojas ar QGIS versijas serveri un saņem informāciju par pašreizejo versiju un izstrādes versijas jaunajām iespējām vai izmaiņām.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Export As Mapserver file</source>
         <translation type="obsolete">Eksportēt kā Mapserv failu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Export As &amp;Mapserver file</source>
         <translation type="obsolete">Eksportēt kā &amp;Mapserv failu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Creates a Mapserver file (.map) from the current QGIS view. The .map file can be used to create a Mapserver project.</source>
         <translation type="obsolete">Izveido Mapserv failu (*.map) no pašreizējā QGIS skata. Šo .map failu var izmantot Mapserv projekta izveidei.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Export to MapServer</source>
         <translation type="obsolete">Eksportēt uz Mapserv</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a Raster Layer</source>
         <translation type="obsolete">Pievienot rastra datu slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add a &amp;Raster Layer</source>
         <translation type="obsolete">Pievienot &amp;rastra datu slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Adds a raster layer to the map canvas. Supported raster formats include most of those provided by the GDAL library. See http://www.remotesensing.org/gdal/formats_list.html</source>
         <translation type="obsolete">Pievieno kartei rastra datu slāni. Atbalstītie formāti ietver lielāko daļu GDAL bibliotēkas atbalstīto formātu. Vairāk informācijas iekš http://www.remotesensing.org/gdal/formats_list.html</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>R</source>
         <translation type="obsolete">R</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Action</source>
         <translation type="obsolete">Darbība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Contents</source>
         <translation type="obsolete">&amp;Saturs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS Help (HTML)</source>
         <translation type="obsolete">QGIS palīdzība (HTML)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the QGIS Help Contents in a web browser</source>
         <translation type="obsolete">Atver QGIS palīdzības satura rādītāju tīmekļa pārlūkprogrammā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS Home Page</source>
         <translation type="obsolete">QGIS mājaslapa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the QGIS home page in a web browser</source>
         <translation type="obsolete">Atver QGIS mājaslapu tīmekļa pārlūkprogrammā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS SourceForge Page</source>
         <translation type="obsolete">QGIS SourceForge lapa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the QGIS SourceForge project page in a web browser</source>
         <translation type="obsolete">Atver QGIS SourceForge projekta lapu tīmekļa pārlūkprogrammā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Export As Image</source>
         <translation type="obsolete">Eksportēt kā attēlu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save the current map view as a PNG image. The image size will be exactly the same as the size of the map canvas.</source>
         <translation type="obsolete">Saglabā pašreizējo skatu kā PNG attēlu. Attēla lielums būs tieši tāds pats kā kartei uz ekrāna.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Whats this?</source>
         <translation type="obsolete">Kas tas par ... ?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Whats this?</source>
         <translation type="obsolete">&amp;Kas tas par ... ?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Whats this? - Click this tool and then click on a toolbar button or menu item to get more information</source>
         <translation type="obsolete">Kas tas par ...? - Aktivizējiet šo rīku un tad klikšķiniet uz rīkjoslas pogas vai izvēlnes vienuma, lai saņemtu vairāk informācijas par to</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Shift+F1</source>
         <translation type="obsolete">Shift+F1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Project Properties</source>
         <translation type="obsolete">Projekta īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Set project properties, including map units</source>
         <translation type="obsolete">Uzstāda projekta īpašības, ieskaitot kartes vienības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Set properties for the current project, including map units</source>
         <translation type="obsolete">Uzstāda pašreizējā projekta īpašības, ieskaitot kartes vienības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Properties</source>
         <translation type="obsolete">Īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Properties</source>
         <translation type="obsolete">Ī&amp;pašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to layer</source>
         <translation type="obsolete">Tuvināt līdz slānim</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to &amp;layer</source>
         <translation type="obsolete">Tuvināt līdz &amp;slānim</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Print</source>
         <translation type="obsolete">Drunāt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Print</source>
         <translation type="obsolete">&amp;Drunāt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+P</source>
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add All To Overview</source>
         <translation type="obsolete">Pievienot visu pārskatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>+</source>
         <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Remove All From Overview</source>
         <translation type="obsolete">Noņemt visu no pārskata</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>-</source>
         <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show All Layers</source>
         <translation type="obsolete">Rādīt visus slāņus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>S</source>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Hide All Layers</source>
         <translation type="obsolete">Slēpt visus slāņus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Map Edit Tools</source>
         <translation type="obsolete">Kartes labošanas rīki</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Settings</source>
         <translation type="obsolete">&amp;Parametri</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Export As Image</source>
         <translation type="obsolete">&amp;Eksportēt kā attēlu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>P&amp;roject Properties</source>
         <translation type="obsolete">P&amp;rojekta īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Remove Layer</source>
         <translation type="obsolete">Noņemt slāni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toggle In Overview</source>
         <translation type="obsolete">Rādīt / slēpt pārskata kartē</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Vectorlayer</source>
         <translation type="obsolete">Jauns vektordatu slānis</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Bookmarks Toolbar</source>
         <translation type="obsolete">Grāmatzīmju rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture (digitise) a point on the current layer. The layer must be in edit mode.</source>
         <translation type="obsolete">Atliek (pievieno) punktu aktīvajam slānim. Slānim jābūt labošanas režīmā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture (digitise) a line on the current layer. The layer must be in edit mode.</source>
         <translation type="obsolete">Atliek (pievieno) līniju aktīvajam slānim. Slānim jābūt labošanas režīmā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture (digitise) a polygon on the current layer. The layer must be in edit mode.</source>
         <translation type="obsolete">Atliek (pievieno) laukumu aktīvajam slānim. Slānim jābūt labošanas režīmā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Measure</source>
         <translation type="obsolete">Mērīt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Measure distances on the map canvas.</source>
         <translation type="obsolete">Mēra attālumu kartē.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+M</source>
         <translation type="obsolete">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Properties for the selected layer, including rendering and projection settings.</source>
         <translation type="obsolete">Izvēlētā slāņa īpašības, ieskaitot renderēšanas un projekcijas parametrus.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to the extent of the active layer</source>
         <translation type="obsolete">Tālināt līdz aktīvā slāņa kopskatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open the Map Composer to create and print a map using the current layers and settings.</source>
         <translation type="obsolete">Atver kartes veidotāju, kas ļauj izveidot drukāšanai paredzētu karti izmantojot pašreizējos slāņus un parametrus.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add all layers to the overview map.</source>
         <translation type="obsolete">Pievienot visus slāņus pārskata kartei.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Remove all layers to the overview map.</source>
         <translation type="obsolete">Noņemt visus slāņus no pārskata kartes.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toggle the visibility of all layers to on and redraw the map.</source>
         <translation type="obsolete">Ieslēdz visu slāņu redzamību un pārzīmē karti.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toggle the visibility of all layers to off and clear the map.</source>
         <translation type="obsolete">Izslēdz visu slāņu redzamību un notīra karti.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Remove the active layer from the map.</source>
         <translation type="obsolete">Noņemt izvēlēto slāni no kartes.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add or remove the active layer to the Overview map.</source>
         <translation type="obsolete">Pievieno vai noņem aktīvo slāni no pārskata kartes.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create a new vector layer (shapefile) for editing.</source>
         <translation type="obsolete">Izveido jaunu vektordatu slāni (šeipfailu) labošanai.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>DebugHook</source>
         <translation type="obsolete">DebugHook</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Custom Projections</source>
         <translation type="obsolete">Izvēles projekcija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create or manage custom projection definitions.</source>
         <translation type="obsolete">Izveido vai maina izvēles projekciju parametrus.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show geospatial bookmarks</source>
         <translation type="obsolete">Rādīt ģeogrāfiskās grāmatzīmes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Geospatial bookmarks...</source>
         <translation type="obsolete">Ģeogrāfiskās grāmatzīmes...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show the spatial bookmarks dialog and zoom to a bookmark or delete unwanted bookmarks.</source>
         <translation type="obsolete">Parāda ģeogrāfisko grāmatzīmju dialogu, kas ļauj tuvināt skatu grāmatzīmei vai dzēst liekās grāmatzīmes.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create a new geospatial bookmark</source>
         <translation type="obsolete">Izveidot jaunu ģeogrāfisko grāmatzīmi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New geospatial bookmark...</source>
         <translation type="obsolete">Jauna ģeogrāfiskā grāmatzīme...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create a new geospatial bookmark for the current view</source>
         <translation type="obsolete">Izveido jaunu ģeogrāfisko grāmatzīmi pašreizējā skatā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+B</source>
         <translation type="obsolete">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create a new geospatial bookmark for the current view extent.</source>
         <translation type="obsolete">Izveido jaunu ģeogrāfisko grāmatzīmi pašreizējā skata kopumam.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>GalvenaisLogs</translation>
     </message>
@@ -3535,131 +3809,122 @@
         <translation>Par Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Labi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Par</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;p align=&quot;center&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;p&gt;
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</source>
         <translation type="obsolete">&lt;p align=&quot;center&quot;&gt;Quantum GIS izmanto GNU General Public License&lt;p&gt;
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS mājaslapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Pieteikties QGIS lietotāju vēstkopai</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Kas jauns</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Contributors</source>
         <translation type="obsolete">Izstrādātāji</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;h2&gt;QGIS Contributors&lt;/h2&gt;</source>
         <translation type="obsolete">&lt;h2&gt;QGIS izstrādātāji&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Sniedzēji</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Izstrādātāji</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt; QGIS izstrādātāji &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished">QGIS pārlūka izvēle</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Nosaukums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;QuantumGIS tiek izplatīts zem GNU vispārējās publiskās licences (GPL)&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsori</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -3692,22 +3957,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Darbība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">Tvert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -3721,12 +3986,12 @@
         <translation>Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Name</source>
         <translation type="obsolete">Nosaukums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Action</source>
         <translation type="obsolete">Darbība</translation>
     </message>
@@ -3841,7 +4106,7 @@
         <translation>Derīgi atribūtu nosaukumi šim slānim</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture</source>
         <translation type="obsolete">Tvert</translation>
     </message>
@@ -3869,12 +4134,12 @@
         <translation>Ievadiet atribūtu vērtības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>OK</source>
         <translation type="obsolete">Labi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Cancel</source>
         <translation type="obsolete">Atcelt</translation>
     </message>
@@ -3907,12 +4172,12 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;center&gt;Run action&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;Startēt darbību&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Startēt darbību</translation>
     </message>
@@ -3930,7 +4195,7 @@
         <translation>Sākt rediģēt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Stop editing</source>
         <translation type="obsolete">Beigt labot</translation>
     </message>
@@ -3950,7 +4215,7 @@
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete attribute</source>
         <translation type="obsolete">Dzēst atribūtu</translation>
     </message>
@@ -3960,7 +4225,7 @@
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New attribute</source>
         <translation type="obsolete">Jauns atribūts</translation>
     </message>
@@ -4058,81 +4323,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>izvēlēties</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>izvēlēties un pārvietot uz augšu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>rādīt tikai atbilstošos</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Meklēšanas virknes parsēšanas kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Meklēšanas rezultāti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Jūs esat norādījis tukšu meklēšanas virkni.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Meklēšanas kļūda</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Atrasti %d atbilstoši objekti.</numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Neviens atbilstošs objekts netika atrasts.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Vai Jūs velaties saglabāt izmaiņas?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4140,42 +4403,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Tiešām dzēst?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Vai Jūs tiešām vēlaties dzēst  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>  grāmatzīmi?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Jā</translation>
+        <translation type="obsolete">&amp;Jā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Nē</translation>
+        <translation type="obsolete">&amp;Nē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Kļūda dzēšot grāmatzīmi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Neizdevās dzēst </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> grāmatzīmi no datu bāzes. Datu bāze atbildēja:
@@ -4248,37 +4511,37 @@
 <context>
     <name>QgsCommunityRegPluginGuiBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QGIS Plugin QGIS Community Registration Plugin</source>
         <translation type="obsolete">QGIS spraudnis QGIS kopienas reģistrācijas spraudnis</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;OK</source>
         <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Alt+O</source>
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Cancel</source>
         <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Alt+C</source>
         <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>qgis.community.org</source>
         <translation type="obsolete">qgis.community.org</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin will register you on the community.qgis.org users map.&lt;/p&gt;
@@ -4291,47 +4554,47 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Home URL:</source>
         <translation type="obsolete">Mājaslapa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Email:</source>
         <translation type="obsolete">E-pasts:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Place Description:</source>
         <translation type="obsolete">Vietas apraksts:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Name:</source>
         <translation type="obsolete">Vārds:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Longitude (dec. degrees):</source>
         <translation type="obsolete">Garums (decimālajos grādos):</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Country:</source>
         <translation type="obsolete">Valsts:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Image URL (50x50):</source>
         <translation type="obsolete">Attēla saite (50x50):</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Latitude (dec. degrees):</source>
         <translation type="obsolete">Platums (decimālajos grādos):</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Get From Map</source>
         <translation type="obsolete">Iegūt no kartes</translation>
     </message>
@@ -4339,122 +4602,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> lasīšanai/rakstīšanai</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Izvēlieties faila nosaukumu ar kādu saglabāt kartes attēlu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Izvēlieties faila nosaukumu ar kādu saglabāt karti</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Kļūda drukājot</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Nevar meklēt</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Nevar pārrakstīt ietverošo robežu taisnstūri</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Nevar atrast ietverošo robežu taisnstūri</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Nevar pārrakstīt tulkojumu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Nevar atrast tulkojumu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Faila IO kļūda</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Papīrs neatbilst</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Izvēlētā papīra izmērs neatbilst salikuma izmēram</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Liels attēls</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Lai izveidotu attēlu, </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation> ir nepieciešams aptuveni </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> Mb atmiņas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - drukas salicējs</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Karte 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Nebija iespējams atvērt </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>formātā</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>SVG brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Turpmāk nerādīt šo paziņojumu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;QGIS SVG eksportēšanas rīkam ir vairākas problēmas sakarā ar kļūdām Qt4 SVG kodā. Piemēram, nedarbojas teksta izvade uz SVG, ir problēmas ar objektu pārklāšanos utml.&lt;/p&gt;&lt;p&gt;Ja jums ir nepieciešams vektoru-bāzēts izvads no QGIS un SVG izvads jūs neapmierina, iesakam izmantot PostScript izvadu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>SVG formāts</translation>
     </message>
@@ -4462,7 +4725,7 @@
 <context>
     <name>QgsComposerBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Map Composer</source>
         <translation type="obsolete">Karšu veidotājs</translation>
     </message>
@@ -4482,22 +4745,22 @@
         <translation>Vienums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toolbar_2</source>
         <translation type="obsolete">Rīkjosla_2</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toolbar</source>
         <translation type="obsolete">Rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Tools</source>
         <translation type="obsolete">Rīki</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open Template</source>
         <translation type="obsolete">Atvērt šablonu</translation>
     </message>
@@ -4507,12 +4770,12 @@
         <translation>&amp;Atvērt šablonu...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Save Template As</source>
         <translation type="obsolete">Saglabāt šablonu kā</translation>
     </message>
@@ -4522,7 +4785,7 @@
         <translation>Saglabāt šablonu &amp;kā...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Print</source>
         <translation type="obsolete">Drukāt</translation>
     </message>
@@ -4532,22 +4795,22 @@
         <translation>&amp;Drunāt...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+P</source>
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom to full extent</source>
         <translation type="obsolete">Tālināt līdz kopskatam</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom in</source>
         <translation type="obsolete">Tuvināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom out</source>
         <translation type="obsolete">Tālināt</translation>
     </message>
@@ -4592,7 +4855,7 @@
         <translation>Atjaunināt skatu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Action</source>
         <translation type="obsolete">Darbība</translation>
     </message>
@@ -4653,32 +4916,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Karte %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Kopskats (aprēķināt mērogu)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Mērogs (aprēķināt kopskatu)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Kešatmiņa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Renderēt</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Taisnstūris</translation>
     </message>
@@ -4764,22 +5027,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Nevar ielādēt bildi.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Izvēlieties failu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Bildes (</translation>
     </message>
@@ -4868,37 +5131,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Slāņi</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grupa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Kombinēt izvēlētos slāņus</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Kešatmiņa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Renderēt</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Taisnstūris</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Leģenda</translation>
     </message>
@@ -4936,7 +5199,7 @@
         <translation>Kolonna 1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
@@ -4949,97 +5212,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Pielāgots</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Portrets</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Ainava</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Nepietiek atmiņas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -5048,17 +5311,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Birka</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Nevar ielādēt bildi.</translation>
     </message>
@@ -5109,32 +5372,32 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>SPIT - Help</source>
         <translation type="obsolete">SPIT - Palīdzība</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Testēt savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Savienojums ar </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> bija sekmīgs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Savienojums neizdevās - Pārbaudiet uzstādījumus un mēģiniet vēlreiz </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5156,42 +5419,42 @@
         <translation>Savienojuma informācija</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Hosts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Datu bāze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Ports</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Lietotājvārds</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Parole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Jaunā savienojuma nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -5208,53 +5471,53 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>Labi</translation>
+        <translation type="obsolete">Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Atcelt</translation>
+        <translation type="obsolete">Atcelt</translation>
     </message>
 </context>
 <context>
     <name>QgsContColDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Continuous color</source>
         <translation type="obsolete">Vienlaidus krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Minimum Value:</source>
         <translation type="obsolete">Minimālā vērtība:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Outline Width:</source>
         <translation type="obsolete">Rāmja līnijas platums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Maximum Value:</source>
         <translation type="obsolete">Maksimālā vērtība:</translation>
     </message>
@@ -5262,17 +5525,17 @@
 <context>
     <name>QgsContextHelpBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Help</source>
         <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Close</source>
         <translation type="obsolete">&amp;Aizvērt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Alt+C</source>
         <translation type="obsolete">Alt+C</translation>
     </message>
@@ -5285,7 +5548,7 @@
         <translation>Vienlaidus krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
@@ -5318,32 +5581,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Neveiksmīgs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformēšana no</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>ar kļūdu: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Avota telpisko norāžu sistēma (SRS) nav derīga. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Koordinātu sistēma nevar tikt pārprojecēta. SRS ir: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Mērķa telpisko norāžu sistēma (SRS) nav derīga. </translation>
     </message>
@@ -5351,17 +5614,17 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Apakšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Augšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Augšējais labais</translation>
     </message>
@@ -5371,32 +5634,32 @@
         <translation>&amp;Dekorācijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;CopyrightLabel</source>
         <translation type="obsolete">&amp;Autortiesību iezīme</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Izveido autortiesību birku, ko attēlot uz kartes.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Copyright Label</source>
         <translation type="obsolete">Autortiesību iezīme</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>run</source>
         <translation type="obsolete">Darbināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Apakšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Autortiesību birka</translation>
     </message>
@@ -5409,7 +5672,7 @@
         <translation>Autortiesību birkas spraudnis</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:helvetica&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:19pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
@@ -5424,7 +5687,7 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&#xa9; QGIS 2004</source>
         <translation type="obsolete">© QGIS 2005</translation>
     </message>
@@ -5476,42 +5739,42 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message encoding="UTF-8">
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>© QGIS 2004</source>
         <translation type="obsolete">© QGIS 2005</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Apraksts&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ievadiet jūsu autortiesību birkas saturu. Šis spraudnis saprot vienkāršus HTML tagus izskata noformēšanai. Piemēram:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Izcelts teksts &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Slīpraksts &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(piezīme: &amp;amp;copy; dod autortiesību simbolu)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message encoding="UTF-8">
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -5541,90 +5804,80 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Dzēst projekcijas informāciju?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Projekcijas informācijas dzēšana ir neatgriezeniska darbība. Vai Jūs tiešām vēlaties to dzēst?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Jauns</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS pielāgotā projekcija</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Šī proj4 projekcijas definīcija ir nepareiza. Lūdzu ievadiet projekcijas nosaukumu pirms saglabāšanas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Šī proj4 projekcijas definīcija ir nepareiza. Lūdzu pievienojiet parametrus pirms saglabāšanas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Šī proj4 projekcijas definīcija ir nepareiza. Lūdzu pievienojiet proj= sadaļu pirms saglabāšanas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Šī proj4 elipsoīda definīcija nav pareiza. Lūdzu pievienjiet ellips= sadaļu pirms saglabāšanas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Šī proj4 projekcijas definīcija ir nepareiza. Lūdzu izlabojiet to pirms saglabāšanas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Šī proj4 projekcijas definīcija nav pareiza.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Ziemeļiem un Austrumiem ir jābūt decimālajā formā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Internal Error (source projection invalid?</source>
         <translation type="obsolete">Iekšēja kļūda (nepareiza avota projekcija?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Iekšēja kļūda (nepareiza avota projekcija?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Pielāgota projekcijas informācija</translation>
     </message>
@@ -5634,187 +5887,203 @@
         <translation>Definēt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametri:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 no 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Jauns</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Saglabāt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Dzēst</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Aizvērt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nosaukums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.</source>
         <translation type="obsolete">Šeit Jūs varat definēt savu pielāgoto projekciju. Definīcijai ir jābūt proj4 formātā.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Testēt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformēt no WGS84 uz izvēlēto projekciju</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Aprēķināt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Projekta koordinātu sistēma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Ģeogrāfisks / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Ziemeļi:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Austrumi:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.</source>
         <translation type="obsolete">Izmantojiet zemāk esošos teksta laukus jaunās projekcijas definīcijas pārbaudei. Ievadiet koordinātas, kurām avots un rezultāts ir zināmi (piem. nolasījumi no kartes). Nospiediet Aprēķināt pogu un salīdziniet rezultātu.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Šeit jūs varat definēt pielāgotu projekciju. Projekcijas definīcijai ir jābūt atbilstošai proj4 sintaksei.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Šeit jūs varat definēt pielāgotu projekciju. Projekcijas definīcijai ir jābūt atbilstošai proj4 sintaksei.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Šeit jūs varat notestēt jauno pielāgoto projekciju. Ievadiet koordinātas punktam, kura ģeogrāfiskās un projecētās koordinātas ir zināmas. Nospiediet aprēķināšanas pogu un salīdziniet rezultātu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Šeit jūs varat notestēt jauno pielāgoto projekciju. Ievadiet koordinātas punktam, kura ģeogrāfiskās un projecētās koordinātas ir zināmas. Nospiediet aprēķināšanas pogu un salīdziniet rezultātu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Vai Jūs tiešām vēlaties aizvākt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>savienojumu un visus ar to saistītos parametrus?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Apstiprināt dzēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Izvēlieties tabulu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Jums ir jāizvēlas tabula, lai varētu pievienot slāni.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Parole priekš</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Lūdzu, ievadiet paroli:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Savienošanās neizdevās</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4%5</source>
         <translation type="obsolete">Savienojums ar %1 uz %2 neveiksmīgs. Vai nu datubāze nedarbojas, vai Jūsu norādītie parametri ir nepareizi. %3 Pārbaudiet lietotājvārdu un paroli un mēģiniet vēlreiz. %4 %5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Pieeja relācijai </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> izmanojot sql; 
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -5823,72 +6092,72 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Tips</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Punktu slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Multipunktu slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Līniju slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Multilīniju slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Poligonu slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Multipoligonu slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Jauktas ģeometrijas slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Ģeometrijas kolekcijas slānis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Gaidam slāņa tipu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Nezināms slāņa tips</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Savienojums ar %1 uz %2 neizdevās. Vai nu datu bāze nestrādā, vai arī norādītie parametri ir nepareizi. %3 Pārbaudiet lietotājvārdu un paroli un mēģiniet vēlreiz. %4 Datu bāze atbildēja: %5%6</translation>
     </message>
@@ -5989,7 +6258,7 @@
         <translation>Atcelt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
@@ -6017,7 +6286,7 @@
         <translation>X un Y lauki ir obligāti un tiem jāsatur koordinātes decimālajās vienībās.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Atdalīts teksts</translation>
     </message>
@@ -6030,30 +6299,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Nav slāņa nosaukuma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Lūdzu ievadiet slāņa nosaukumu pirms tā pievienošanas kartei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Nav atdalītāja</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Lūdzu norādiet atdalītāju pirms faila apsrtādes</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Izvēlieties atdalītā teksta failu</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6065,190 +6344,190 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Atcelt</translation>
+        <translation type="obsolete">Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Palīdzība spraudņa lietošanā</translation>
+        <translation type="obsolete">Palīdzība spraudņa lietošanā</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Atver atdalīta teksta spraudņa palīdzību Jūsu tīmekļa pārlukprogrammā</translation>
+        <translation type="obsolete">Atver atdalīta teksta spraudņa palīdzību Jūsu tīmekļa pārlukprogrammā</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Pārsēt</translation>
+        <translation type="obsolete">&amp;Pārsēt</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Parsēt galvnes rindu un atjaunināt X un Y lauku sarakstu</translation>
+        <translation type="obsolete">Parsēt galvnes rindu un atjaunināt X un Y lauku sarakstu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Parsē galvnes rindu ievaddatu failam un atjaunina laukus X un Y lauku izvēlnēs. Izmantojiet  šo pogu tad, ja mainījāt atdalītājzīmi jau pēc tam, kad izvēlējāties atdalītā teksta failu.</translation>
+        <translation type="obsolete">Parsē galvnes rindu ievaddatu failam un atjaunina laukus X un Y lauku izvēlnēs. Izmantojiet  šo pogu tad, ja mainījāt atdalītājzīmi jau pēc tam, kad izvēlējāties atdalītā teksta failu.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Pievienot slāni</translation>
+        <translation type="obsolete">&amp;Pievienot slāni</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Pievienot slāni izmantojot atdalītāju, failu un norādītos x/y laukus</translation>
+        <translation type="obsolete">Pievienot slāni izmantojot atdalītāju, failu un norādītos x/y laukus</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Izveido slāni izmantojot norādītos parametrus un pievieno to kartei. Dialogs paliek atvērts, lai varētu pievienot vēl citus slāņus.</translation>
+        <translation type="obsolete">Izveido slāni izmantojot norādītos parametrus un pievieno to kartei. Dialogs paliek atvērts, lai varētu pievienot vēl citus slāņus.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>A&amp;izvērt</translation>
+        <translation type="obsolete">A&amp;izvērt</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Aizver dialogu</translation>
+        <translation type="obsolete">Aizver dialogu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Aizver dialogu un jaunu slāni kartei nepievieno.</translation>
+        <translation type="obsolete">Aizver dialogu un jaunu slāni kartei nepievieno.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X lauks&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>X vērtības saturošā lauka nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>X vērtības saturošā lauka nosaukums. Izvēlieties no saraksta. Saraksts tiek veidots parsējot ievaddatu faila galvnes rindu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y lauks&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Y vērtības saturošā lauka nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Y vērtības saturošā lauka nosaukums. Izvēlieties no saraksta. Saraksts tiek veidots parsējot ievaddatu faila galvnes rindu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Sāņa nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nosaukums, ko rādīt kartes leģendā</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nosaukums, kas tiks rādīts kartes leģendā</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Atdalītājs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Atdalītājs, kas ir izmantots datu atdalīšanai teksta failā. Atdalītājs var būt lielāks par vienu simbolu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Atdalītājs, kas ir izmantots datu atdalīšanai teksta failā. Atdalītājs var būt 1 vai vairāku simbolu liels.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Atdalīta teksta slānis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Atdalīta teksta fails</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Pilns ceļš līdz atdalīta teksta failam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Pilns ceļš līdz atdalītā teksta failam. Lai pareizi apstrādātu failu, nepieciešams atdalītāju definēt pirms faila nosaukuma ievadīšanas. Izmantojiet Pārlūkot pogu, lai izvēlētos ievaddatu failu.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Parlūkot, lai atrastu atdalītā teksta failu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Izmantojiet šo pogu, lai sameklētu atdalītā teksta failu. Šī poga tiks aktivizēta tikai tad, kad būs norādīts teksta atdalītājs &lt;i&gt;Atdalītāja&lt;/i&gt; lauciņā. Tiklīdz fails būs izvēlēts, X un Y lauciņu saraksti tiks piepildīti ar informāciju no faila.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Paraugs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
@@ -6270,153 +6549,166 @@
 &lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Apraksts&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Izvēlieties failu ar atdalītiem teksta laukiem ar x un y vērtībām, ko šis spraudnis pārvērtīs par pilnvērtīgu punktu datu slāni! &lt;/p&gt;
 &lt;p&gt;Slāņa nosaukuma lauciņā ierakstiet slāņa nosaukumu, ko izmantos leģendā. Atdalītājlauciņā norādiet failā izmantoto atdalītājsimbolu (piem. atstarpe, komats vai tabulācija). Atcerieties, ka šis lauciņš saprot regulārus izteicienus, tādēļ tabulācijas apzīmēšanai izmantojoet \t un tā tālāk. Pēc atdalītāja izvēlēšanās, nospiediet parsēšanas pogu un izvēlieties X un Y laukus.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Saglabāt slāni kā...</translation>
+        <translation type="obsolete">Saglabāt slāni kā...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>Piezīme: sekojošās rindas netika ielādētas, jo QGIS nevarēja noteikt vērtības X un Y koordinātām:
  </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Shapefiles (*.shp)</translation>
+        <translation type="obsolete">Shapefiles (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation>Kļūda lauka izveidē </translation>
+        <translation type="obsolete">Kļūda lauka izveidē </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation>Slāņa izveide bija neveiksmīga</translation>
+        <translation type="obsolete">Slāņa izveide bija neveiksmīga</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation>Kļūda veidojot shapefile</translation>
+        <translation type="obsolete">Kļūda veidojot shapefile</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation>Nebija iespējams izveidot shapefile (</translation>
+        <translation type="obsolete">Nebija iespējams izveidot shapefile (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation>Draiveris nav atrasts</translation>
+        <translation type="obsolete">Draiveris nav atrasts</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation> draiveris nav pieejams</translation>
+        <translation type="obsolete"> draiveris nav pieejams</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Izveidot buferi</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Buffer Settings:</source>
         <translation type="obsolete">Bufera veidošanas parametri:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Bufera platums kartes vienībās:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Bufera slāņa nosaukums:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Izveidot unikālu objekta ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>publisks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Ģeometrijas kolonna:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>Telpiskās norādes ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Unikāls lauks, ko lietot kā objekta ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Shēma:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Pievienot bufera slāni kartei?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Izveido buferi objektiem slānī: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametri</translation>
     </message>
@@ -6424,172 +6716,172 @@
 <context>
     <name>QgsDlgVectorLayerProperties</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Single Symbol</source>
         <translation type="obsolete">Atsevišķs simbols</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Graduated Symbol</source>
         <translation type="obsolete">Graduēts simbols</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Continuous Color</source>
         <translation type="obsolete">Nepārtraukta krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Unique Value</source>
         <translation type="obsolete">Unikāla vērtība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Single Marker</source>
         <translation type="obsolete">Atsevišķs marķieris</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Graduated Marker</source>
         <translation type="obsolete">Graduēts marķieris</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Unique Value Marker</source>
         <translation type="obsolete">Unikālas vērtības marķieris</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The source of the data (path name or database connection information)</source>
         <translation type="obsolete">Datu avots (ceļš vai datubāzes savienojums)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="obsolete">Šī poga atver PostgreSQL pieprasījumu veidotāju un atļauj izveidot attēlojamo objektu apakškopu tā vietā, lai attēlotu pilnīgi visus slāņa objektus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="obsolete">Pieprasījums, kas ir izmantots attēlojamo objektu izvēlei. Šī iespēja pagaitām ir pieejama tikai PostgreSQL slāņiem. Lai ievadītu vai labotu pieprasījumu, nospiediet uz Pieprasījumu veidotāja pogas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>In order for QGIS to support SVG markers under Windows, we need to build QGIS</source>
         <translation type="obsolete">Lai QGIS atbalstītu SVG apzīmējumus Windows vidē, QGIS ir jākompilē </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> using the commercial version of Qt. As this project is developed by volunteers</source>
         <translation type="obsolete">izmantojot QT komerciālo versiju. Tā kā šo produktu izstrādā brīvprātīgie, </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> donating their time, we don&apos;t have the financial resources to purchase Qt</source>
         <translation type="obsolete"> kas ziedo tam savu brīvo laiku, mums nav naudas, lai varētu iegādāties QT</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> commercial.  If you would like to help us, please visit the QGIS sourceforge</source>
         <translation type="obsolete">komerciālo versiju.  Ja vēlaties mums palīdzēt, apmeklējiet QGIS SourceForge lapu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> home page to make a donation</source>
         <translation type="obsolete"> un ziedojiet</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No SVG Support</source>
         <translation type="obsolete">Nav SVG atbalsta</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Spatial Index</source>
         <translation type="obsolete">Telpiskais indekss</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Creation of spatial index successfull</source>
         <translation type="obsolete">Telpiskā indeksa izveide sekmīgi pabeigta</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Creation of spatial index failed</source>
         <translation type="obsolete">Telpiskā indeksa izvede neveiksmīga</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>General:</source>
         <translation type="obsolete">Vispārējs:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="obsolete">Slāņa objektu ģeometrijas tips: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The number of features in this layer : </source>
         <translation type="obsolete">Objektu skaits slānī: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Extents:</source>
         <translation type="obsolete">Apjoms:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>In layer spatial reference system units : </source>
         <translation type="obsolete">Slāņa telpiskās norādes sistēmas vienībās: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>xMin,yMin </source>
         <translation type="obsolete">xMin,yMin </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> : xMax,yMax </source>
         <translation type="obsolete"> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>In project spatial reference system units : </source>
         <translation type="obsolete">Projekta telpiskās norādes sistēmas vienībās: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="obsolete">Slāņa telpisko norāžu sistēma:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Project (Output) Spatial Reference System:</source>
         <translation type="obsolete">Projekta (izvades) telpiskās norādes sistēma: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Attribute field info:</source>
         <translation type="obsolete">Atribūtu lauka informācija: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Field</source>
         <translation type="obsolete">Lauks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Type</source>
         <translation type="obsolete">Tips</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Length</source>
         <translation type="obsolete">Garums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Precision</source>
         <translation type="obsolete">Precizitāte</translation>
     </message>
@@ -6597,162 +6889,162 @@
 <context>
     <name>QgsDlgVectorLayerPropertiesBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Layer Properties</source>
         <translation type="obsolete">Slāņa īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Apply</source>
         <translation type="obsolete">Pielietot</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Legend type:</source>
         <translation type="obsolete">Leģendas tips:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Display name</source>
         <translation type="obsolete">Attēlošanas nosaukums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>General</source>
         <translation type="obsolete">Vispārējs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Layer source</source>
         <translation type="obsolete">Slāņa avots</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>TextLabel2</source>
         <translation type="obsolete">TekstaIezīme2</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Labels</source>
         <translation type="obsolete">Iezīmes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Display labels</source>
         <translation type="obsolete">Attēlot iezīmes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Help</source>
         <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Cancel</source>
         <translation type="obsolete">Atcelt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>OK</source>
         <translation type="obsolete">Labi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Symbology</source>
         <translation type="obsolete">Siboloģija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Visibility</source>
         <translation type="obsolete">Redzamība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Use scale dependent rendering</source>
         <translation type="obsolete">Izmantot no mēroga atkarīgu renderēšanu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Maximum 1:</source>
         <translation type="obsolete">Maksimālais mērogs 1:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="obsolete">Maksimālais mērogs pie kāda šis slānis tiks rādīts. </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Minimum 1:</source>
         <translation type="obsolete">Minimālais mērogs 1:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="obsolete">Minimālais mērogs pie kāda šis slānis tiks rādīts. </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Display field</source>
         <translation type="obsolete">Attēlošanas lauks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="obsolete">Rādīt lauku identificēto objektu dialogā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="obsolete">Uzstāda attēlošanas lauku priekš identificēšanas dialoga</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="obsolete">Izmantojiet šo kontroli, lai noteiktu kurš no laukiem tiks rādīts kā augšējais rezultātu identificēšanas logā.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Subset:</source>
         <translation type="obsolete">Apakškopa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Query Builder</source>
         <translation type="obsolete">Pieprasījumu veidotājs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Metadata</source>
         <translation type="obsolete">Metadati</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Actions</source>
         <translation type="obsolete">Darbības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Spatial Reference System</source>
         <translation type="obsolete">Telpisko norāžu sistēma</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Change</source>
         <translation type="obsolete">Mainīt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Spatial Index</source>
         <translation type="obsolete">Telpiskais indekss</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create Spatial Index</source>
         <translation type="obsolete">Izveidot telpisko indeksu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Create</source>
         <translation type="obsolete">Izveidot</translation>
     </message>
@@ -6770,7 +7062,7 @@
         <translation>Statuss</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Column name</source>
         <translation type="obsolete">Kolonnas nosaukums</translation>
     </message>
@@ -6780,32 +7072,32 @@
         <translation>Indekss</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used. You may also change any column name if desired.</source>
         <translation type="obsolete">Šis šeipfails satur rezervētos vārdus. Tas var ietekmēt datu ielādi PostgreSQL. Izlabojiet kolonnu nosaukumus tā, lai neviens no labajā pusē parādītajiem rezervētajiem vārdiem netiktu izmantots. Jūs varat mainīt jebkuru kolonnas nosaukumu, ja tā vēlaties.</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Rezervētie vārdi</translation>
     </message>
@@ -6820,7 +7112,7 @@
         <translation>Kolonnas nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Šis shapefile satur rezervētos vārdus. Tas var ietekmēt datu importēšanu PostgreSQL. Rediģējiet kolonnu nosaukumus tā, lai tie nebūt rezervētie vārdi (klikšķiniet uz kolonnas nosaukuma, lai to rediģētu). Tāpat jūs varat nomainīt jebkuras kolonnas nosaukumu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -6828,17 +7120,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Statuss</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Kolonnas nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Indekss</translation>
     </message>
@@ -6935,7 +7227,7 @@
         <translation>Aizvērt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;p&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;/p&gt;
 &lt;i&gt;%babel&lt;/i&gt; - the path to GPSBabel&lt;br&gt;
 &lt;i&gt;%in&lt;/i&gt; - the GPX filename when uploading or the port when downloading&lt;br&gt;
@@ -7019,94 +7311,94 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;GPS rīki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Izveidot jaunu GPX slāni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Izveido jaunu GPX slāni un parāda to uz kartes audekla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Saglabāt jauno GPX failu kā...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS apmaiņas fails (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Failu nebija iespējams izveidot</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>Nebija iespējams izveidot GPX failu ar doto nosaukumu. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>Mēģiniet vēlreiz ar citu nosaukumu vai citā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>mapē.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX lādētājs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Nav iespējams nolasīt izvēlēto failu.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Lūdzu izvēlieties derīgu failu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Nebija iespējams startēt procesu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Nebija iespējams startēt GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Datu importēšana...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -7115,32 +7407,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Kļūda importējot datus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Nav atbalstīts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>Iekārta neatbalsta lejuplādēšanu </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation>no </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Lejuplādēju datus...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -7149,22 +7441,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Kļūda lejuplādējot datus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>Iekārta neatbalsta augšuplādēšanu </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Augšuplādēju datus...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -7173,7 +7465,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Kļūda augšuplādējot datus</translation>
     </message>
@@ -7181,22 +7473,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Izvēlieties faila nosaukumu ar kādu saglabāt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS apmaiņas formāts (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Izvēlieties GPX failu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Izvēlieties importējamo failu un formātu</translation>
     </message>
@@ -7209,12 +7501,12 @@
         <translation>GPS rīki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Ielādēt GPX failu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;GPX is the &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/p&gt;
@@ -7229,42 +7521,42 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Fails:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Objektu tips:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Ceļapunkti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Maršruti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Ceļi</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importēt citu failu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;QGIS can only load GPX files by itself, but many other formats 
@@ -7287,32 +7579,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Importējamais fails:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Objektu tips:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX izvades fails:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Slāņa nosaukums:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Lejupielādēt no GPS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This tool will help you download data from a GPS device. Choose your 
@@ -7333,32 +7625,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Rediģēt iekārtas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS iekārta:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Izvades fails:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Ports:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Augšupielādēt uz GPS</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This tool will help you upload data from a GPX layer to a GPS device. 
@@ -7381,112 +7673,106 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Datu slānis:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX ir &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS apmaiņas failu formāts&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, kurš tiek izmantots informācijas par punktiem, ceļiem un maršrutiem glabāšanai.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Vispirms izvēlieties GPX failu un tad norādiet importējamos objektu tipus.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS var ielādēt GPX patstāvīgi, savukārt pārējos GPS failu formātus jākonvertē uz GPX izmantojot GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). Tam ir nepieciešams, lai GPSBabel būtu instalēts QGIS pieejamā vietā.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Izvēlieties GPS faila formātu un importējamo failu, izmantojamo objektu tipu, nosaukumu, ar kādu saglabāt jauniegūto GPX failu, un jaunā kartes slāņa nosaukumu. Visi formāti nevar glabāt punktus, ceļus un maršrutus, tādēļ atsevišķiem formātiem nepieejamie objektu tipi var būt nepieejami.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Šis rīks palīdzēs lejuplādēt datus no GPS aparāta. Izvēlieties GPS aparātu, portu, pie kura tas ir pievienots, lejuplādējamo objektu tipu, jaunā slāņa nosaukumu, un GPX faila nosaukumu, kur saglabāt datus.Ja iekārta nav sarakstā, vai arī vēlaties mainīt tās parametrus, ir iespējams arī labot aparātus.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Šis rīks izmanto GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) programmu datu pārraidei no aparāta. Ja jums nav uzinstalēta GPSBabel programma tādā vietā, kur QGIS to varētu viegli atrast, šis rīks nestrādās.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Šis rīks palīdzēs augšuplādēt datus no GPX faila uz GPS aparātu. Izvēlieties augšuplādējamo slāni, iekārtu un portu, pie kura tā ir pieslēgta. Ja iekārta sarakstā nav pieejama, vai arī vēlaties mainīt tās parametrus, izvēlieties rediģēt iekārtu.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Šis rīks izmanto GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) programmu datu pārraidei no aparāta. Ja jums nav uzinstalēta GPSBabel programma tādā vietā, kur QGIS to varētu viegli atrast, šis rīks nestrādās.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Nederīgs URI - jums jānorāda objektu tips.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>GPS apmaiņas fails</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Brīdiānjums: pieprasīta nederīga vieta iekš QgsGPXProvider::minValue(..)</translation>
+        <translation type="obsolete">Brīdiānjums: pieprasīta nederīga vieta iekš QgsGPXProvider::minValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Brīdiānjums: pieprasīta nederīga vieta iekš QgsGPXProvider::maxValue(..)</translation>
+        <translation type="obsolete">Brīdiānjums: pieprasīta nederīga vieta iekš QgsGPXProvider::maxValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitizēts iekš QGIS</translation>
     </message>
@@ -7494,12 +7780,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Tips</translation>
     </message>
@@ -7507,34 +7793,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tips</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punkts</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Līnija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Poligons</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>Labi</translation>
+        <translation type="obsolete">Labi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Atcelt</translation>
+        <translation type="obsolete">Atcelt</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -7542,37 +7828,37 @@
         <translation>Jauns vektordatu slānis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atribūti:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Pievienot</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Kolonna 1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Noņemt</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Faila formāts:</translation>
     </message>
@@ -7580,7 +7866,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Telpiskā piesaiste</translation>
     </message>
@@ -7636,27 +7922,27 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Telpiskā piesaiste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Aizvērt</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Rastra fails:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:helvetica&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;
@@ -7669,50 +7955,55 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Ievadīt koordinātas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Apraksts&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Šis spraudnis var ģenerēt telpiskās piesaistes failus rastra datiem. Norādot punktus un to reālās koordinātas, spraudnis izveidos pareizu piesaistes failu. Jo vairāk koordināšu kontrolpunktu norādīsiet, jo precīzāka būs rastra piesaiste.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Transformācijas parametri</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Transformācijas metode:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Tuvākais kaimiņš</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Lineārs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Kubisks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>Labi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Izmantot 0 caurspīdīgumam, ja nepieciešams</translation>
     </message>
@@ -7720,22 +8011,22 @@
 <context>
     <name>QgsGraMaDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>graduated Marker</source>
         <translation type="obsolete">graduēts marķieris</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Mode:</source>
         <translation type="obsolete">Režīms:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Number of Classes:</source>
         <translation type="obsolete">Klašu skaits:</translation>
     </message>
@@ -7743,27 +8034,27 @@
 <context>
     <name>QgsGraMaExtensionWidget</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Lower</source>
         <translation type="obsolete">Zemāk</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Upper</source>
         <translation type="obsolete">Augstāk</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Label</source>
         <translation type="obsolete">Iezīme</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Image</source>
         <translation type="obsolete">Attēls</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Scale
 Factor</source>
         <translation type="obsolete">Mērogs</translation>
@@ -7772,61 +8063,58 @@
 <context>
     <name>QgsGraSyDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>graduated Symbol</source>
         <translation type="obsolete">graduēts simbols</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Number of Classes:</source>
         <translation type="obsolete">Klašu skaits:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Mode:</source>
         <translation type="obsolete">Režīms:</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>graduēts simbols</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Režīms:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Klašu skaits:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -7836,22 +8124,22 @@
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Vērtība</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tips</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Lauks</translation>
     </message>
@@ -7917,77 +8205,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Rīki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Pievienot izvēlēto karti audeklam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopēt izvēlēto karti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Pārsaukt izvēlēto karti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Dzēst izvēlēto karti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Uzstādīt pašreizējo reģionu tā, lai tas atbilstu izvēlētajai kartei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Atsvaidzināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation>Nevar kopēt karti </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation>&lt;br&gt;komanda: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation>Nevar pārsaukt karti </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Dzēst karti &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation>Nevar dzēst karti </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>Nevar ierakstīt jaunu reģionu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7995,341 +8283,341 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New vertex</source>
         <translation type="obsolete">Jauna virsotne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Jauns punkts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Jauns centroīds</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select vertex</source>
         <translation type="obsolete">Izvēlieties virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select line segment</source>
         <translation type="obsolete">Izvēlieties līnijas segmentu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select position on line</source>
         <translation type="obsolete">Izvēlieties novietojumu uz līnijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select element</source>
         <translation type="obsolete">Izvēlieties elementu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Undo last point</source>
         <translation type="obsolete">Atcelt pēdējo punktu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Close line</source>
         <translation type="obsolete">Noslēgt līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete selected / select next</source>
         <translation type="obsolete">Dzēst izvēlēto / izvēlēties nākamo</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Release selected</source>
         <translation type="obsolete">Atlaist izvēlēto</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New location</source>
         <translation type="obsolete">Jauna vieta (location)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select new position</source>
         <translation type="obsolete">Izvēlieties jaunu novietojumu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New vertex position</source>
         <translation type="obsolete">Jauns virsotnes novietojums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Release</source>
         <translation type="obsolete">Atlaist</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Dzēst virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Release vertex</source>
         <translation type="obsolete">Atlaist virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Split the line</source>
         <translation type="obsolete">Sadalīt līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Release the line</source>
         <translation type="obsolete">Atlaist līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select point on line</source>
         <translation type="obsolete">Izvēlēties punktu uz līnijas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Pa kreisi: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Pa vidu: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Pa labi: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Rediģēšanas rīki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Jauna līnija</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Jauna robeža</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Pārvietot virsotni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Pievienot virsotni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Pārvietot elementu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Sadalīt līniju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Dzēst elementu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Rediģēt atribūtus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Aizvērt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation>Jūs neesat karšu kopas īpašnieks un tādēļ nav iespējams sākt rediģēt vektoru slāni.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation>Nevar atvērt vektorus atjaunināšanai.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Informācija</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>Tabula ir izveidota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Rīks vēl nav izstrādāts.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation>Nevar pārbaudīt bāreņa ierakstu: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>Tabulā ir palicis bāreņu ieraksts. &lt;br&gt;Dzēst ierakstu?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation>Nevar dzēst bāreņa ierakstu: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation>Nevar aprakstīt tabulu laukam </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punkts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Līnija</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Krāsa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tips</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Indekss</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tips</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Garums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8377,7 +8665,7 @@
         <translation>Kolonna 1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
@@ -8397,127 +8685,127 @@
         <translation>Izveidot / Modificēt tabulu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Tools</source>
         <translation type="obsolete">Rīki</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Toolbar</source>
         <translation type="obsolete">Rīkjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New line</source>
         <translation type="obsolete">Jauna līnija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F2</source>
         <translation type="obsolete">F2</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Close</source>
         <translation type="obsolete">Aizvērt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New point</source>
         <translation type="obsolete">Jauns punkts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F1</source>
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New boundary</source>
         <translation type="obsolete">Jauna robeža</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F3</source>
         <translation type="obsolete">F3</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New centroid</source>
         <translation type="obsolete">Jauns centroīds</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F4</source>
         <translation type="obsolete">F4</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Move vertex</source>
         <translation type="obsolete">Pārvietot virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F5</source>
         <translation type="obsolete">F5</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Add vertex</source>
         <translation type="obsolete">Pievienot virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F6</source>
         <translation type="obsolete">F6</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete vertex</source>
         <translation type="obsolete">Dzēst virsotni</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F7</source>
         <translation type="obsolete">F7</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Split line</source>
         <translation type="obsolete">Sadalīt līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F10</source>
         <translation type="obsolete">F10</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Move line</source>
         <translation type="obsolete">Pārvietot līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F9</source>
         <translation type="obsolete">F9</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Delete line</source>
         <translation type="obsolete">Dzēst līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F11</source>
         <translation type="obsolete">F11</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Edit attributes</source>
         <translation type="obsolete">Labot atribūtus</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>ActionGroup</source>
         <translation type="obsolete">DarbībuGrupa</translation>
     </message>
@@ -8535,32 +8823,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Labi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8974,12 +9262,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Darbināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Apturēt</translation>
     </message>
@@ -8989,145 +9277,115 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished">) nav atrasta.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
 rindā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"> kolonā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Atcelt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9178,7 +9436,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9186,17 +9444,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Fails</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9204,22 +9462,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9227,42 +9485,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9270,7 +9528,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9278,7 +9536,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9286,70 +9544,70 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
 rindā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> kolonā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">Nevar saņemt pašreizējo reģionu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished">Nevar pārbaudīt reģionu kartei </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9457,7 +9715,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
@@ -9482,130 +9740,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) nav atrasta.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
 rindā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> kolonā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Jauna karšu kopa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9766,162 +10024,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Atvērt karšu kopu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Jauna karšu kopa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Aizvērt karšu kopu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Pievienot GRASS vektoru slāni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Pievienot GRASS rastra slāni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Atvērt GRASS rīkus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Rādīt pašreizējo GRASS reģionu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Rediģēt pašreizējo GRASS reģionu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Rediģēt GRASS vektoru slāni</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Pievieno GRASS vektoru slāni kartes audeklam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Pievieno GRASS rastra slāni kartes audeklam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Parāda pašreizējo GRASS reģionu kā taisnstūri uz kartes audekla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Rediģēt pašreizējo GRASS reģionu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Rediģēt pašreiz izvēlēto GRASS vektoru slāni.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation>GRASSVektors</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation>0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation>GRASS slānis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9929,22 +10187,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10139,39 +10397,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Brīdinājums</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -10182,79 +10407,74 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation>Moduļi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation>Pārlūks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">GRASS rīki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished">) nav atrasta.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
 rindā </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> kolonā </translation>
     </message>
@@ -10262,52 +10482,52 @@
 <context>
     <name>QgsGrassToolsBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>GRASS Tools</source>
         <translation type="obsolete">GRASS rīki</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Modules</source>
         <translation type="obsolete">Moduļi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Column 1</source>
         <translation type="obsolete">Kolonna 1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Mapset</source>
         <translation type="obsolete">Jauns Mapset</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;New</source>
         <translation type="obsolete">&amp;Jauns</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+N</source>
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Open Mapset</source>
         <translation type="obsolete">Atvērt Mapset</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Open...</source>
         <translation type="obsolete">&amp;Atvērt...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
@@ -10315,17 +10535,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Grādu tīkla veidotājs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Izveido grādu tīklu un saglabā to kā shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Grādu tīkls</translation>
     </message>
@@ -10338,7 +10558,7 @@
         <translation>QGIS - Grādu tīkla veidotājs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
         <source>Please enter the file name before pressing OK!.</source>
         <translation type="obsolete">Ievadiet faila nosaukumu pirms spiest Labi!.</translation>
     </message>
@@ -10391,37 +10611,37 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS spraudņa paraugs</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Grādu tīkla veidotājs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/p&gt;
@@ -10436,100 +10656,105 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Origin (Lower Left)</source>
         <translation type="obsolete">Sākums (Apakšējais kreisais)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Platums:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Garums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>End point (Upper Right)</source>
         <translation type="obsolete">Beigu punkts (Augšējais labais)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Output (Shape) File</source>
         <translation type="obsolete">Izvades fails (šeipfails)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Graticule Size (units in degrees)</source>
         <translation type="obsolete">Tīkla vienības izmērs (grādos)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Platuma intervāls:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Garuma intervāls:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Šis spraudnis palīdzēs izveidot shapefile, ko ir iespējams attēlot uz kartes.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Lūdzu ievadiet visas vienības decimālajos grādos&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Tips</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punkts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Līnija</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Poligons</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Izcelsme (apakšējais kreisais)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Beigu punkts (augsējais labais)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Elementa izmers (grādos)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Izvades fails</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -10544,12 +10769,12 @@
         <translation>Neizdevās nolasīt palīdzības tekstu no datubāzes</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>QGIS palīdzības datubāze nav instalēta</translation>
     </message>
@@ -10636,8 +10861,6 @@
         <translation type="unfinished">
             <numerusform>Tīklā iestājās noildze pēc %1 sekunžu aktivitātes trūkuma.
 Tā var būt problēma ar jūsu tīkla savienojumu vai WMS serveri.</numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -10649,32 +10872,32 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;center&gt;Run action&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;Startēt darbību&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>Identificēšanas rezultāti - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Objekts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Vērtība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Startēt darbību</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Atvasināta)</translation>
     </message>
@@ -10702,12 +10925,12 @@
         <translation>Aizvērt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Feature</source>
         <translation type="obsolete">Objekts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Value</source>
         <translation type="obsolete">Vērtība</translation>
     </message>
@@ -10753,7 +10976,7 @@
         <translation>Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Source:</source>
         <translation type="obsolete">Avots:</translation>
     </message>
@@ -10788,7 +11011,7 @@
         <translation>Fonts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Font size units are in ...</source>
         <translation type="obsolete">Fontu izmēru vienības ir ...</translation>
     </message>
@@ -10833,12 +11056,12 @@
         <translation>Y nobīde (punktos):</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Offset units are in ...</source>
         <translation type="obsolete">Nobīdes vienības ir ...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Buffer Settings</source>
         <translation type="obsolete">Buferu parametri</translation>
     </message>
@@ -10853,7 +11076,7 @@
         <translation>Izmērs:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Buffer size is in ...</source>
         <translation type="obsolete">Bufera izmērs ir ...</translation>
     </message>
@@ -10868,7 +11091,7 @@
         <translation>punktos</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Alignment</source>
         <translation type="obsolete">Novietojums</translation>
     </message>
@@ -10923,12 +11146,12 @@
         <translation>Leņķis (grādi):</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&#xb0;</source>
         <translation type="obsolete">°</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Use best judgement when labels collide</source>
         <translation type="obsolete">Lietot vislabāko novietojumu, ja iezīmes pārklājas</translation>
     </message>
@@ -10978,22 +11201,22 @@
         <translation>Novietojums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Colour:</source>
         <translation type="obsolete">&amp;Krāsa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Font and Alignment</source>
         <translation type="obsolete">Fonti un novietojums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Buffer and Position</source>
         <translation type="obsolete">Buferi un novietojums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Advanced Data Defined Style</source>
         <translation type="obsolete">Datu definēts stils</translation>
     </message>
@@ -11054,95 +11277,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Darbināt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Izvade</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -11155,7 +11289,7 @@
         <translation>Labi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;
@@ -11176,95 +11310,311 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>grupēt</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
         <source>&amp;Properties</source>
-        <translation>Ī&amp;pašības</translation>
+        <translation type="obsolete">Ī&amp;pašības</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Tuvināt līdz slāņa kopskatam</translation>
+        <translation type="obsolete">&amp;Tuvināt līdz slāņa kopskatam</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
         <source>&amp;Add to overview</source>
-        <translation>&amp;Pievienot pārskata kartei</translation>
+        <translation type="obsolete">&amp;Pievienot pārskata kartei</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
         <source>&amp;Remove from overview</source>
-        <translation>&amp;Noņem no pārskata kartes</translation>
+        <translation type="obsolete">&amp;Noņem no pārskata kartes</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>&amp;Noņemt</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation>&amp;Pārcelt uz augšu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
         <source>&amp;Allow editing</source>
-        <translation>&amp;Atļaut labošanu</translation>
+        <translation type="obsolete">&amp;Atļaut labošanu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>Pā&amp;rsaukt</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>&amp;Pievienot grupu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>&amp;Izplest visu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>&amp;Sakļaut visu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>Rādīt failu grupas</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="438"/>
         <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Saglabāt kā shapefile...</translation>
+        <translation type="obsolete">&amp;Saglabāt kā shapefile...</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Atvērt atribūtu tabulu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Atļaut rediģēšanu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Saglabāt kā shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nav izvēlēts slānis</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLegendItemBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Form1</source>
         <translation type="obsolete">Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>CheckBox1</source>
         <translation type="obsolete">Ķekškaste1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>TextLabel1</source>
         <translation type="obsolete">TekstaIezīme1</translation>
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Tuvināt līdz slāņa kopskatam</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Noņemt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Atvērt atribūtu tabulu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Saglabāt kā shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">Ī&amp;pašības</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Atribūtu tabula - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Saglabāt slāni kā...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Rediģēšanas sākšana neizdevās</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Sniedzējs nevar tikt atvērts rediģēšanai</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Vai Jūs velaties saglabāt izmaiņas?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Jā</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nē</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Kļūda</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished">Draiveris nav atrasts</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Kļūda veidojot shapefile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Nebija iespējams izveidot shapefile (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished">Slāņa izveide bija neveiksmīga</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Tuvināt līdz slāņa kopskatam</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Noņemt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Atvērt atribūtu tabulu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Saglabāt kā shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">Ī&amp;pašības</translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -11323,12 +11673,12 @@
 <context>
     <name>QgsLocationCaptureWidget</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Captured Pos: </source>
         <translation type="obsolete">Noķertā pozīcija: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Current Pos: </source>
         <translation type="obsolete">Pašreizējā pozīcija: </translation>
     </message>
@@ -11336,42 +11686,42 @@
 <context>
     <name>QgsLocationCaptureWidgetBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Form1</source>
         <translation type="obsolete">Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>ZoomIn</source>
         <translation type="obsolete">Tuvināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Pan</source>
         <translation type="obsolete">Vilkt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Zoom Out</source>
         <translation type="obsolete">Tālināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Capture Pos</source>
         <translation type="obsolete">Noteikt atrašanos</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>OK</source>
         <translation type="obsolete">Labi</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Captured Pos:</source>
         <translation type="obsolete">Noķertā pozīcija: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Current Pos:</source>
         <translation type="obsolete">Pašreizējā pozīcija: </translation>
     </message>
@@ -11379,266 +11729,247 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No active layer</source>
         <translation type="obsolete">Nav aktīvā slāņa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="obsolete">Lai izvēlētos objektus, Jums vispirms jāzivēlas slānis, ko var izdarīt noklikšķinot uz tā nosaukuma leģendā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="obsolete">Lai identificētu objektus, Jums vispirms jāzivēlas slānis, ko var izdarīt noklikšķinot uz tā nosaukuma leģendā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Error when projecting the view extent, you may need to manually zoom to the region of interest.</source>
         <translation type="obsolete">Kļūda projecējot kartes skatu. Jums vajadzēs manuāli tuvināt līdz interesējošajam reģionam.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Nav iespējams zīmēt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>jo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="431"/>
         <source>Scale </source>
-        <translation>Mērogs </translation>
+        <translation type="obsolete">Mērogs </translation>
     </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Tuvināt līdz izvēlētā slāņa kopskatam</translation>
+        <translation type="obsolete">&amp;Tuvināt līdz izvēlētā slāņa kopskatam</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Noņemt</translation>
+        <translation type="obsolete">&amp;Noņemt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>Ī&amp;pašības</translation>
+        <translation type="obsolete">Ī&amp;pašības</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>Pārslēgt pārskatā</translation>
+        <translation type="obsolete">Pārslēgt pārskatā</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Neviens objekts nav atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Meklēšanas radiusā neviens objekts netika atrasts. Piezīme. Pagaidām nav iespējams lietot identificešanas rīku nesaglabātiem objektiem.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
 </context>
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
-        <translation>Map faila nosaukums</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
-        <translation>MapServer map faili (*.map);;Visi faili(*.*)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
-        <translation>Izvēlieties QGIS projekta failu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
-        <translation>QGIS projekta faili (*.qgs);;Visi faili (*.*)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
-        <translation>Pārrakstīt failu?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
-        <translation> eksistē. 
-Vai vēlaties to pārrakstīt?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
-        <translation type="unfinished"> eksistē. 
-Vai vēlaties to pārrakstīt?</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Eksportēt uz Mapserv</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Map fails</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Eksportēt tikai slāņa informāciju</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Karte</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Augstums</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Platums</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>pēdas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>metri</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>jūdzes</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>collas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometri</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Vienības</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Attēla tips</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>lietotāja definēts</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -11658,88 +11989,90 @@
         <translation>Priedēklis, kas tiks pievienots kartei, mērogjoslai un leģendas GIF failam. Tam vajadzētu būt īsam.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Tīmekļa saskarnes definīcija</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Galvene</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Kājene</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Sagatave</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Palīdzība</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;Labi</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>No QGIS faila veidojamā Map faila nosaukums</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Ja atzīmēts, tikai slāņu informācija tiks apstrādāta</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Ceļš līdz MapServer šablona failam</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Kartes, leģendas un mērogjoslas failiem pievienotais prefikss, kas tiks izmantots šim Map failam</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Plins ceļš līdz QGIS projeta failam, kurš tiks eksportēts uz MapServer Map failu</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>QGIS projekta fails</translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Izvēlieties mapi</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -11777,45 +12110,30 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Increment</source>
         <translation type="obsolete">Pieaugošs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Total</source>
         <translation type="obsolete">Kopā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segmenti (metros)</translation>
+        <translation type="obsolete">Segmenti (metros)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="91"/>
         <source>Incorrect measure results</source>
-        <translation>Nekorekti mērīšanas rezultāti</translation>
+        <translation type="obsolete">Nekorekti mērīšanas rezultāti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="99"/>
         <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation>&lt;p&gt; Šī karte ir definēta ar ģeogrāfisko koordinātu sistēmu (platums/garums), taču kartes apjoms liecina, ka patiesībā karte ir projecētā koordinātu sistēmā (piem. Merkatora). Ja tas ir tā, tad līniju un laukumu mērījumi dos nepareizus rezultātus.&lt;/p&gt;&lt;p&gt;Lai to izlabotu, norādiet pareizu koordinātu sistēmu, izmantojot &lt;tt&gt;Uzstādījumi -&gt; Projekta īpašības&lt;/tt&gt; izvēlni.</translation>
+        <translation type="obsolete">&lt;p&gt; Šī karte ir definēta ar ģeogrāfisko koordinātu sistēmu (platums/garums), taču kartes apjoms liecina, ka patiesībā karte ir projecētā koordinātu sistēmā (piem. Merkatora). Ja tas ir tā, tad līniju un laukumu mērījumi dos nepareizus rezultātus.&lt;/p&gt;&lt;p&gt;Lai to izlabotu, norādiet pareizu koordinātu sistēmu, izmantojot &lt;tt&gt;Uzstādījumi -&gt; Projekta īpašības&lt;/tt&gt; izvēlni.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -11835,7 +12153,7 @@
         <translation>Jauns</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Close</source>
         <translation type="obsolete">Aizvērt</translation>
     </message>
@@ -11851,6 +12169,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segmenti (metros)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Nekorekti mērīšanas rezultāti</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished">&lt;p&gt; Šī karte ir definēta ar ģeogrāfisko koordinātu sistēmu (platums/garums), taču kartes apjoms liecina, ka patiesībā karte ir projecētā koordinātu sistēmā (piem. Merkatora). Ja tas ir tā, tad līniju un laukumu mērījumi dos nepareizus rezultātus.&lt;/p&gt;&lt;p&gt;Lai to izlabotu, norādiet pareizu koordinātu sistēmu, izmantojot &lt;tt&gt;Uzstādījumi -&gt; Projekta īpašības&lt;/tt&gt; izvēlni.</translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -11871,12 +12225,12 @@
 <context>
     <name>QgsMessageViewerBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>SPIT Message</source>
         <translation type="obsolete">SPIT paziņojums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Close</source>
         <translation type="obsolete">Aizvērt</translation>
     </message>
@@ -11959,17 +12313,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Testēt savienojumu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Savienojums ar %1 sekmīgs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -11981,7 +12335,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12195,62 +12549,62 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Apakšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Augšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Apakšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorācijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;NorthArrow</source>
         <translation type="obsolete">&amp;Ziemeļu bulta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Izveido ziemeļu virziena bultu rādīšanai uz kartes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>North Arrow</source>
         <translation type="obsolete">Ziemeļu bulta</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>run</source>
         <translation type="obsolete">Darbināt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Pixmap Not Found</source>
         <translation type="obsolete">Pikseļkarte nav atrasta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Augšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Ziemeļu bulta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>Ziemeļu bultas pikseļkarte nav atrasta</translation>
     </message>
@@ -12258,12 +12612,12 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Pixmap Not Found</source>
         <translation type="obsolete">Pikseļkarte nav atrasta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>Pikseļkarte nav atrasta</translation>
     </message>
@@ -12271,100 +12625,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Ziemeļu bultas spraudnis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Īpašības</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Leņķis</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Novietojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Uzstādīt virzienu automātiski</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Ieslēgt ziemeļu bultu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Augšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Augšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Apakšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Apakšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Novietojums uz ekrāna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Ziemeļu bultas priekšapskate</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ikona</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Jauns vienums</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -12380,14 +12739,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -12395,207 +12746,207 @@
         <translation>QGIS īpašības</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Izskats</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Splash Screen</source>
         <translation type="obsolete">&amp;Uzplaiksnījumekrāns</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Paslēpt uzplaiksnījumekrānu pie startēšanas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Ikonu tēma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tēma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt; Piezīme: &lt;/b&gt; Tēmas izmaiņas stājas spēkā tikai pēc QGIS pārstartēšanas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>SVG Options</source>
         <translation type="obsolete">SVG īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>SVG oversampling factor</source>
         <translation type="obsolete">SVG precizitātes rādītājs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;A higher value gives smoother SVG symbols, but can slow down rendering</source>
         <translation type="obsolete">&lt;b&gt;Piezīme: &lt;/b&gt; Lielāka vērtība dod gludākus SVG simbolus, bet palēnina renderēšanu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Renderēšana</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Update During Drawing</source>
         <translation type="obsolete">&amp;Atjaunot zīmešanas laikā</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Atjaunot ekrānu pēc </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Karte tiks rādīta tikai pēctam, kad būs nolasīti </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>objektu nolasīšanas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Uzstādiet uz 0, lai neajaunotu ekrānu līdz visi objektu ir nolasīti)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;Selection</source>
         <translation type="obsolete">&amp;Izvēle</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Search Radius</source>
         <translation type="obsolete">Meklēšanas rādiuss</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Meklēšanas rādiuss objektu identificēšanai</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>Palīdzības &amp;pārlūkprogramma</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify &lt;br&gt;the full path above</source>
         <translation type="obsolete">&lt;b&gt; Piezīme: &lt;/b&gt; Pārlūkprogrammai ir jābūt iekš Jūsu ceļa (PATH), pretējā gadījumā &lt;br&gt; norādiet pilnu ceļu līdz tai</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Atvērt palīdzības dokumentus ar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Sākotnējā redzamība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New layers added to the map are not displayed</source>
         <translation type="obsolete">Jauni pievienotie slāņi netiek rādīti</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Projection</source>
         <translation type="obsolete">Projekcija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Izvēlieties globālo noklusējumu...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>When layer is loaded that has no projection information:</source>
         <translation type="obsolete">Ja slānim nav projekcijas informācijas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Jautāt projekcijas informāciju.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Tiks lietota projekta noklusējuma projekcija.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Global default projection displayed below will be used.</source>
         <translation type="obsolete">Tiks lietota globālā noklusējuma projekcija.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;<byte value="xd"/>
 &lt;b&gt;Note:&lt;/b&gt; Specify the value in thousandths.  The search radius is calculated as:&lt;br&gt;<byte value="xd"/>
 &amp;nbsp;&amp;nbsp;&lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;<byte value="xd"/>
@@ -12611,107 +12962,107 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Uzplaiksnījumekrāns</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Noklusējuma kartes izskats (Var mainīt projekta īpašībās)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Fona krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Atlases krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Izskats</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Nomainīt slāņa nosaukuma pirmo burtu pret lieto burtu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Padarīt līnijas smukākas uz zīmēšanas ātruma rēķina</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Pēc &amp;noklusējuma uzreiz rādīt no jauna pievienotos slāņus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Atjaunināt zīmēšanas laikā</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Mērīšanas rīks</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Attālumu mērīšanai izmantotais elipsoīds:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Meklēšanas radiuss</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;jekcija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Ja tiek ielādēts slānis bez projekcijas informācijas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>&amp;Tiks lietota globālā noklusējuma projekcija, kas ir parādīta zemāk.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Piezīme:&lt;/b&gt; Pārlūkam ir jāatrodas iekš jūsu PATH vai arī ir jānorāda pilns ceļš līdz tam</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Renderēšana</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Izvēloties šo iespēju, tiks atslēgta līniju nogludināšanas opcija&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Salabot problēmas ar nekorekti aizpildītiem poligoniem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>&amp;Kartes rīki</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -12724,45 +13075,65 @@
 &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Panoramēšana un tālummaiņa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Tuvināt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Tuvināt un pārcentrēt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Nedarīt neko</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Tuvināšanas pakāpe:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Peles ritenīša darbība:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Nepārtraukti atjaunināt karti kamēr tiek pārbīdīts kartes/leģendas atdalītājs</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -12928,87 +13299,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabula &lt;b&gt;%1&lt;/b&gt; datubāzē &lt;b&gt;%2&lt;/b&gt; uz hosta &lt;b&gt;%3&lt;/b&gt;, lietotājs &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Savienojums neizdevās</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Savienojums ar datubāzi neizdevās: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Datubāzes kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Neizdevās iegūt lauku paraugvērtības</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Pieprasīt rezultātu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>where nosacījums deva </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation> rindas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Pieprasījums neveiksmīgs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Izpildot pieprasījumu gadījās kļūda: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Nav ierakstu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Jūsu izveidotais pieprasījums nedeva ne vienu rezultātu. Derīgiem PostgreSQL slāņiem jāsatur vismaz viens objekts.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Neizdevās iegūt lauka vērtību paraugus izmantojot SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13149,17 +13515,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Izvēlieties mapi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Nav spraudņu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>QGIS spraudņi nav atrasti iekš </translation>
     </message>
@@ -13250,140 +13616,140 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Tuvināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Tālināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Tuvināt līdz slānim</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Tuvina līdz slānim</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Panoramēt karti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Panoramē karti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Pievienot punktu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Atliek punktus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Dzēst punktu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Dzēst izvēlēto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Lineārs</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmerta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Izvēlieties piesaistes faila nosaukumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation>-mainits</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Helmerta transformācijai ir nepieciešams modificēt rastra slāni.&lt;/p&gt;&lt;p&gt;Modificētais rastrs tiks saglabāts ar jaunu nosaukumu un telpiskās piesaistes fails tiks ģenerēts jaunajam failam.&lt;/p&gt;&lt;p&gt;Vai esat pārliecināts, ka velaties to darīt?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Affine</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Rīks vēl nav izstrādāts!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Affine transformācijai ir nepieciešams pārveidot orģinālo failu. Tas vēl nav atbalstīts.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation> transformācija vēl nav atbalstīta.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>Nebija iespējams rakstīt </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
         <source>Currently all modified files will be written in TIFF format.</source>
-        <translation type="obsolete">Pašlaik visi modificētie faili tiks saglabāti TIFF formātā.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13399,12 +13765,12 @@
         <translation>Transformācijas tips:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Linear</source>
         <translation type="obsolete">Lineāra</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Helmert</source>
         <translation type="obsolete">Helmerta</translation>
     </message>
@@ -13461,13 +13827,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Modificētais rastrs:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -13490,17 +13861,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Nevaru piekļūt relācijai</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Nevaru piekļūt </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -13508,12 +13879,12 @@
 Datubāzes ziņōtā kļūda bija: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Nav GEOS atbalsta!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -13522,12 +13893,12 @@
 Lūdzu instalējiet PostGIS ar GEOS atbalstu (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Tabulai nav derīgas atslēgas kolonnas</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -13541,153 +13912,153 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Unikālais kolonnas indekss</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>nav derīgs, jo QGIS neatbalsta ne-int4 atslēgas kolonnas.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation>un </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation>Unikālais indekss, kas bāzēts uz kolonnām </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> nav derīgs, jo QGIS pagaidām neatbalsta vairākas kolonnas kā tabulas atslēgu.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Nav iespējams atrast atslēgas kolonnu</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation> atvasināts no </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>un ir derīgs.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation>un nav derīgs </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation>tips ir </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> un ir derīgs ierobežojums)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation>  un nav derīga ierobežojuma)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Jūsu izvēlētajam skatam ir sekojošas kolonnas, no kurām ne viena neatbilst sekojošiem nosacījumiem:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>QGIS ir nepieciešams, lai skatam būtu kolonna, ko var izmantot kā atslēgas kolonnu. Šāda kolonna var būt no tabulas kolonnas ar tipu int4 un primāro atslēgu, tai var būt ierobežojums, ka tā ir unikāla, vai tā var būt PostgreSQL oid kolonna. Vektspējas uzlabošanai, to ir ieteicams indeksēt.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation>Skats </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>nesatur primārajai atslēgai derīgu kolonnu.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Skatam nav derīgas atslēgas kolonnas</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Nezināms ģeometrijas tips</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation>Kolonna </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation> iekš </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation> ir ģeometrijas tips </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, ko QGIS pagaidām neatbalsta.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Saruna ar datu bāzi bija šāda: 
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Nav iespējams saņemt objektu tipu un srid</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation>Piezīme: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>no sākuma izskatījās derīga, taču vēlāk atklājās, ka dati nav unikāli un tādēļ kolonna ir nederīga.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>INSERT kļūda</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Kļūda objektu ievietošanas laikā</translation>
     </message>
@@ -13696,58 +14067,58 @@
         <source>The sql was:
 
 </source>
-        <translation>SQL bija: 
+        <translation type="obsolete">SQL bija: 
 
 </translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>SQL kļūda</translation>
+        <translation type="obsolete">SQL kļūda</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>DELETE kļūda</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Kļūda dzēšot no diska</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>PostGIS kļūda</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">Kļūda pieslēdzoties PostgreSQL datu bāzei</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete">PostgreSQL datu bāzes abilde: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation>Mēģinot: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
-        <source>An error occured contacting the PostgreSQL database</source>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
-        <source>The PostgreSQL database returned: </source>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
-        <source>Qgis was unable to determine the type and srid of column </source>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13759,273 +14130,263 @@
         <translation>Projekta īpašības</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Kartes vienībās</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Pēdas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Decimālie grādi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Projekta noklusējuma nosaukums</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Pielietot</translation>
+        <translation type="obsolete">&amp;Pielietot</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Vispārējas īpašības</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Digitising Settings</source>
         <translation type="obsolete">Digitizēšanas parametri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Līnijas platums:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Snapošanas attālums:</translation>
+        <translation type="obsolete">Snapošanas attālums:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Līnijas krāsa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Cursor display precision</source>
         <translation type="obsolete">Kursora attēlošanas precizitāte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automātiska</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Automātiski uzstāda decimālo vietu skaitu kursora novietojuma precizitātei</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Decimālo virtu skaits tiek uzstādīts pietiekams tā, lai pārvietojot peli pa vienu pikseli, būtu redzama arī pārvietošanās uz ekrāna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuāla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Uzstāda decimālo vietu skaitu, ko izmanto kursora novietojuma precizitātes noteikšanai</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Decimālo vietu skaits manuālai uzstādīšanai</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>decimālas vietas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Kartes izskats</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Atlases krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Projekta nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Projekcija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Projekcijas pārveidošana pēc vajadzības</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Fona krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Precizitāte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitizēšana</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Aprakstošs projekta nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Līniju platums pikseļos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Pielipšanas tolerance kartes vienībās</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Building Projections List...</source>
         <translation type="obsolete">Veidoju projekciju sarakstu...</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Projekciju izvēle</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Projekcija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Coordinate Systems</source>
         <translation type="obsolete">Koordinātu sistēma</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Spatial Reference Id</source>
         <translation type="obsolete">Telpiskās norādes ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Meklēt</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Atrast</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Telpisko norāžu sistēma</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
@@ -14033,303 +14394,333 @@
 <context>
     <name>QgsPublishToWebDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Cancel</source>
         <translation type="obsolete">Atcelt</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Red</source>
         <translation type="obsolete">Sarkans</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Green</source>
         <translation type="obsolete">Zaļš</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Blue</source>
         <translation type="obsolete">Zils</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Neuzstādīts</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Rastra apjoms: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Izgriestais apgabals: </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;center&gt;&lt;b&gt;Raster Layer&lt;/b&gt;&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;Rasta slānis&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Caurspīdīgums&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Caurspīdīgums&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Dzinējs:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensijas:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> Kanāli: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Datu tips: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Astoņu bitu neiezīmētu veselu skaitļu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Sešpadsmit bitu neiezīmētu veselu skaitļu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Sešpadsmit bitu zīmētu veselu skaitļu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Trīsdesmit divu bitu nezīmētu veselu skaitļu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Trīsdesmit divu bitu zīmēts vesels skaitlis </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Trīsdesmit četru bitu daļskaitlis </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Sešdesmit četru bitu daļskaitlis </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Komplekss Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Komplekss Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Komplekss Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Komplekss Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Rastra tipu nebija iespējams noteikt.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Piramīdu pārskats:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Izcelsme:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Pikseļa izmērs:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Kanālu statsitika (ja ir):</translation>
+        <translation type="obsolete">Kanālu statsitika (ja ir):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Īpašība</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Vērtība</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Kanāls</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Kanāla Nr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Nav statistikas</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Statistika vēl nav savākta</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Min vērt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Maks vērt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Diapazons</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Vidējā vērtība</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Kvadrātu summa</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Standarta novirze</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Visu šūnu summa</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Šūnu skaits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Rakstīšanas atļauja liegta</translation>
+        <translation type="obsolete">Rakstīšanas atļauja liegta</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Rakstīšanas atļauja liegta. Izmaniet faila piekļuves tiesības un mēģiniet vēlreiz.
+        <translation type="obsolete">Rakstīšanas atļauja liegta. Izmaniet faila piekļuves tiesības un mēģiniet vēlreiz.
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Vidēji</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Slāņa telpisko norāžu sistēma: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Projekta telpisko norāžu sistēma: </translation>
+        <translation type="obsolete">Projekta telpisko norāžu sistēma: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Piramīdu izveidošana neizdevās.</translation>
+        <translation type="obsolete">Piramīdu izveidošana neizdevās.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Fails nav rakstāms. Dažus formātus var tikai lasīt, bet ne rakstīt. Jūs varat pārbaudīt faila piekļuves tiesības un mēģināt vēlreiz.</translation>
+        <translation type="obsolete">Fails nav rakstāms. Dažus formātus var tikai lasīt, bet ne rakstīt. Jūs varat pārbaudīt faila piekļuves tiesības un mēģināt vēlreiz.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Pārskata piramīdu veidošana šī tipa rastram nav atbalstīta.</translation>
+        <translation type="obsolete">Pārskata piramīdu veidošana šī tipa rastram nav atbalstīta.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>ārpus apjoma</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (nav datu)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Datu kopas apraksts</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Nav datu vērtība</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>un visi citi faili</translation>
     </message>
@@ -14337,80 +14728,108 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Columns:</source>
         <translation type="obsolete">Kolonnas:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Rows:</source>
         <translation type="obsolete">Rindas:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No Data:</source>
         <translation type="obsolete">Nav datu:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Daudzkanālu attēla piezīmes&lt;/h3&gt;&lt;p&gt;Šis ir daudzkanālu attēls. Jūs varat izvēlēties vai to attēlot kā pelēktoņu vai krās (RGB) attēlu. Krāsu attēliem Jūs varat norādīt krāsas pēc izvēles. Piemēram, ja Jums ir septiņkanālu landsat attēls, Jūs varat to attēlot šādi:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Redzamais zilais (0.45 to 0.52 microns) - nav&lt;/li&gt;&lt;li&gt;Redzamais zaļais (0.52 to 0.60 microns) - nav&lt;/li&gt;&lt;/li&gt;Redzamais sarkanais (0.63 to 0.69 mikroni) - attēlots kā sarkans&lt;/li&gt;&lt;li&gt;Tuvējais infrasarkanais (0.76 to 0.90 mikroni) - attēlots kā zaļais&lt;/li&gt;&lt;li&gt;Vidējais infrasarkanais (1.55 to 1.75 mikroni) - nav&lt;/li&gt;&lt;li&gt;Termiskais infrasarkanais (10.4 to 12.5 mikroni) - nav&lt;/li&gt;&lt;li&gt;Tālais infrasarkanais (2.08 to 2.35 mikroni) - attēlots kā zils&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Paletes attēla piezīmes&lt;/h3&gt; &lt;p&gt;Šim attēlam ir fiksēta krāsu palete. Jūs varat mainīt šīs krāsas dažādās kombinācijās, piem.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Sarkans - zils attēlā&lt;/li&gt;&lt;li&gt;Zaļš - zils attēlā&lt;/li&gt;&lt;li&gt;Zils - zaļš attēlā&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Pelēktoņu attēla piezīmes&lt;/h3&gt; &lt;p&gt;Jūs varat piešķirt pseidokrāsas krāsas šim pelēktoņu attēlam izmantojot automātiski ģenerētu krāsu skalu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Pelēktoņu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseidokrāsu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Izceļošs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Palete</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Neuzstādīts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Kolonnas: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Rindas: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>Nav datu vērtība: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>n/p</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Rakstīšanas atļauja liegta</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Rakstīšanas atļauja liegta. Izmaniet faila piekļuves tiesības un mēģiniet vēlreiz.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Piramīdu izveidošana neizdevās.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Fails nav rakstāms. Dažus formātus var tikai lasīt, bet ne rakstīt. Jūs varat pārbaudīt faila piekļuves tiesības un mēģināt vēlreiz.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Pārskata piramīdu veidošana šī tipa rastram nav atbalstīta.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -14422,290 +14841,290 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Pielietot</translation>
+        <translation type="obsolete">&amp;Pielietot</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Palīdzība</translation>
+        <translation type="obsolete">&amp;Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Siboloģija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Appearance</source>
         <translation type="obsolete">Izskats</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Caurspīdīgums:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Pilns&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Nav</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Inversas krāsas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>RGB</source>
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Kanāls</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Zaļš&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Sarkans&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Zils&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Krāsa</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Grayscale</source>
         <translation type="obsolete">Pelēktoņu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Pelēks</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Standarta novirze</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Krāsu karte</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show As</source>
         <translation type="obsolete">Rādīt kā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Three Band</source>
         <translation type="obsolete">Trīs kanālu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Single Band</source>
         <translation type="obsolete">Viena kanāla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Vispārējs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Attēlošanas nosaukums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Show debug info as overlay on raster?</source>
         <translation type="obsolete">Rādīt atkļūdošanas informāciju kā rastra pārklāju?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Slāņa avots:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Sīkatēls</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Kolonnas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Nav datu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Rindas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Leģenda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Palete:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Advanced Symbology</source>
         <translation type="obsolete">Paplašinātā simboloģija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Red</source>
         <translation type="obsolete">Sarkans</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Green</source>
         <translation type="obsolete">Zaļš</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Blue</source>
         <translation type="obsolete">Zils</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Behaviour</source>
         <translation type="obsolete">Izturēšanās</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Scale histogram to the limits defined above (displays all data)</source>
         <translation type="obsolete">Mērogot histogrammu līdz augstāk definētajām robežām (parāda visus datus)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Exclude values outside the above ranges (after color mapping)</source>
         <translation type="obsolete">Neiekļaut vērtības, kas atrodas ārpus reģiona (pēc krāsu piešķiršanas)</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Please Note :&lt;/font&gt; Advanced Symbology not implemented yet!&lt;/b&gt;</source>
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Piezīme :&lt;/font&gt; Paplašinātā simboloģija vēl nav izstrādāta!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadati</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Piramīdas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Transformācijas metode</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Vidējs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Tuvākais kaimiņš</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Veidot piramīdas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Piramīdu izšķirtspēja</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Visibility</source>
         <translation type="obsolete">Redzamība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Use scale dependent rendering</source>
         <translation type="obsolete">Izmantot no mēroga atkarīgu renderēšanu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maksimāli 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maksimālais mērogs pie kāda šis slānis tiks rādīts.  </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimāli 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimālais mērogs pie kāda šis slānis tiks rādīts.  </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -14716,17 +15135,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Telpisko norāžu sistēma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Mainīt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:22pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
@@ -14743,67 +15162,67 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histogramma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Parametri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Iekļaut ārpusreģiona datus?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Atļaut noapaļošanu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Grafika tips</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Stabiņu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Līniju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>X Range:</source>
         <translation type="obsolete">X robežas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Atsvaidzināt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Attēlot</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Pelēktoņu attēls</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Krāsu attēls</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -14814,12 +15233,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>AtkļūdošanasInformācija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Mērogatkarīga redzamība</translation>
     </message>
@@ -14832,7 +15251,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Apraksts&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Lielas izšķirtspējas rastra slāņi var palēnināt navigāciju QGIS programmā. To var novērst izveidojot zemākas izšķirtspējas datu kopijas (piramīdas), kas var jūtami uzlabot veiktspēju, jo QGIS izvēlēsies mērogam atbilstošākās izšķirtspējas attēlu. Jums ir jābūt rakstīšanas atļaujai tajā mapē, kur glabājas orģinālie dati. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Atcerieties, ka piramīdu veidošana var izmainīt orģinālo datu failu un piramīdas nav iespējams novākt.&lt;/span&gt;&lt;/p&gt;
@@ -14841,35 +15260,52 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Kolonnu skaits:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
-        <translation>Caurspīdīgs</translation>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Apraksts&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Lielas izšķirtspējas rastra slāņi var palēnināt navigāciju QGIS programmā. To var novērst izveidojot zemākas izšķirtspējas datu kopijas (piramīdas), kas var jūtami uzlabot veiktspēju, jo QGIS izvēlēsies mērogam atbilstošākās izšķirtspējas attēlu. Jums ir jābūt rakstīšanas atļaujai tajā mapē, kur glabājas orģinālie dati. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Atcerieties, ka piramīdu veidošana var izmainīt orģinālo datu failu un piramīdas nav iespējams novākt.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Atcerieties, ka piramīdu veidošana var sabojāt jūsu datus - vienmer pirms tam izveidojiet rezerves kopiju!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Nav iespējams darbināt komandu</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Nav iespējams darbināt komandu</translation>
+        <translation type="obsolete">Nav iespējams darbināt komandu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Startē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Darīts</translation>
     </message>
@@ -14877,122 +15313,122 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> metri/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation> pēdas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation> grādi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> pēdas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> grādi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> nezināms</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Augšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Apakšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Augšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Apakšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Ragi uz leju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Ragi uz augšu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Josla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Kaste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekorācijas</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&amp;ScaleBar</source>
         <translation type="obsolete">&amp;Mērogjosla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Izveido mērogjoslu attēlošanai uz kartes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Scale Bar</source>
         <translation type="obsolete">Mērogjosla</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>run</source>
         <translation type="obsolete">Darbināt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Mērogjosla</translation>
     </message>
@@ -15000,22 +15436,22 @@
 <context>
     <name>QgsScaleBarPluginGui</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Tick Down</source>
         <translation type="obsolete">Ragi uz leju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Tick Up</source>
         <translation type="obsolete">Ragi uz augšu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Box</source>
         <translation type="obsolete">Kaste</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Bar</source>
         <translation type="obsolete">Josla</translation>
     </message>
@@ -15023,32 +15459,32 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Mērogjoslas spraudnis</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;
@@ -15061,92 +15497,92 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Augšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Augšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Apakšējais kreisais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Apakšējais labais</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Joslas izmērs:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Select Colour</source>
         <translation type="obsolete">Izvēlieties krāsu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Novietojums:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Ragi uz leju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Ragi uz augšu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Kaste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Josla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Izvēlieties mērogjoslas stilu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Joslas krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Mērogjoslas stils:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Ieslēgt mērogjoslu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Automātiski noapaļot uz veseliem skaitļiem pie izmēra maiņas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Klikšķiniet, lai izvēlētos krāsu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Šis spraudnis uzzīmēs uz kartes mērogjoslu. Ievērojiet, ka zemāk norādītais izmērs ir &apos;ieteicamais&apos; izmērs un QGIS var ti izmainīt atkarībā no mēroga. Izmērs ir kartes vienībās, kas ir definētas kā projekta īpašības.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -15154,12 +15590,12 @@
 <context>
     <name>QgsScanGeometries</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Scanning Geometries</source>
         <translation type="obsolete">Skenēju ģeometriju</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>textLabel1</source>
         <translation type="obsolete">TekstaIezīme1</translation>
     </message>
@@ -15167,128 +15603,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Atrasti %d atbilstoši objekti.</numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Neviens atbilstošs objekts netika atrasts.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Meklēšanas rezultāti</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Meklēšanas virknes parsēšanas kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Nav ierakstu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Norādītais pieprasījums neatgrieza neivenu rezultātu.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>Vai Jūs tiešām vēlaties aizvākt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation>savienojumu un visus ar to saistītos parametrus?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Apstiprināt dzēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS sniedzējs</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Nebija iespējams atvērt WMS datu sniedzēju</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Izvēlieties slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Jums vispirms ir jāizvēlas vismaz viens slānis.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Koordinātu atskaites sistēma (%1 pieejamas)</numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>Nebija iespējams saprast atbildi.  Datu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>sniedzējs atbildēja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation>WMS starpniekserveri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Sarakstam ir pievienoti vairāki WMS serveri. Ievērojiet, ka starpniekserveru lauki ir atstāti tukši. Ja piekļūšanai internetam Jums ir nepieciešams izmantot starpniekservera pakalpojumus, aizpildiet atbilstošos starpniekservera konfigurācijas laukus.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Koordinātu atskaites sistēma</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation>Izvēlētajiem slāņiem koordinātu atskaites stitēma nav pieejama.</translation>
     </message>
@@ -15414,51 +15841,51 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
-        <translation>Mēģinot izpildīs šo SQL, datu bāze atgrieza kļūdu:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
-        <translation>Kļūda bija:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
-        <translation>... (pārējā SQL daļa ir nocirsta)</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsSiMaDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>QgsSiMaDialogBase</source>
         <translation type="obsolete">QgsSiMaDialogBase</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Directory</source>
         <translation type="obsolete">Direktorija</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Image</source>
         <translation type="obsolete">Attēls</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Scale Factor (%)</source>
         <translation type="obsolete">Mērogs (%)</translation>
     </message>
@@ -15466,62 +15893,62 @@
 <context>
     <name>QgsSiSyDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Single Symbol</source>
         <translation type="obsolete">Atsevišķs simbols</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Label:</source>
         <translation type="obsolete">Iezīme:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Outline Style:</source>
         <translation type="obsolete">Rāmja līnijas stils:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Fill Color:</source>
         <translation type="obsolete">Aizpildījuma krāsa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Outline color:</source>
         <translation type="obsolete">Rāmja līnijas krāsa:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Outline Width:</source>
         <translation type="obsolete">Rāmja līnijas platums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Fill Patterns:</source>
         <translation type="obsolete">Aizpildījuma raksts:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Clear</source>
         <translation type="obsolete">Attīrīt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Point</source>
         <translation type="obsolete">Punkts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Symbol</source>
         <translation type="obsolete">Simbols</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Size</source>
         <translation type="obsolete">Izmērs</translation>
     </message>
@@ -15534,95 +15961,100 @@
         <translation>Atsevišķs simbols</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Aizpildījuma raksts:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punkts</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Izmērs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Simbols</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Rāmja līnijas platums:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Aizpildījuma krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Rāmja līnijas krāsa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Rāmja līnijas stils:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Birka:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Bez aizpildījuma</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Vai Jūs tiešām vēlaties aizvākt [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] savienojumu un visus ar to saistītos parametrus?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Apstiprināt dzēšanu</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Rediģēt kolonnu nosaukumus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -15630,294 +16062,294 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>Iemesls: Failu nevar atvērt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>IEMESLS: Trūkst viens vai abi šeipfaila palīgfaili (*.dbf, *.shx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Vispārēja saskarnes palīdzība:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL savienojumi:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Jauns ...] - izveido jaunu savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Labot ...] - labo jau eksistējošu savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Aizvākt] - aizvāc jau eksistējošu savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- Jums ir nepieciešams strādājošs savienojums, lai varētu importēt failus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation> - ja maināt savienojumu, globālā shēma arī tiek mainīta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Šeipfailu saraksts:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Pievienot ...] - atver failu izvēles dialogu un ļauj sameklēt importējamo(s) failu(s)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Noņemt] - noņem izvlēlētos failus no saraksta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Noņemt visus] - noņem visus failus no saraksta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Atskaites ID importējamajam šeipfailam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Lietot noklusējuma (SRID)] - uzstāda SRID uz -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Ģeometrijas kolonnas nosaukums] - uzstāda ģeometrijas kolonnas nosaukumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Lietot noklusējuma (ģeometrijas kolonnas nosaukumu)] - uzstāda kolonnas nosaukumu uz &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Globālā shēma] - uzstāda shēmu visiem importējamajiem failiem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importēt] - importē saraksta aktīvo šeipfailu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Quit] - iziet no programmas
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Help] - Parāda šo informāciju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Importēt šeipfailus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Jums vispirms jānorāda savienojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Savienojums neizdevās - pārbaudiet konfigurāciju</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Jums vispirms jāpievieno šeipfaili sarakstam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importēju failus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Progress</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problēma ievietojot objektus no faila:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nepareizs tabulas nosaukums.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Nav izvēlēti lauki.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Sekojoši lauki ir duplikāti:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Importēt šeipfailu - sakarība eksistē</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Šeipfails:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>izmantos [ </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] relāciju datiem,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation> kas jau eksistē un, iespējams, satur datus. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Lai novērstu datu zudumu, nomainiet &quot;DB relācijas nosaukumu&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>šim šeipfailam galvenajā failu dialogā.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Vai Jūs vēlaties pārrakstīt [ </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation> ] relāciju?</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Relation Exists</source>
         <translation type="obsolete">Relācija eksistē</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Izmantojiet zemāk esošo tabulu kolonnu nosaukumu labošanai. Pārliecinieties, ka neviena kolonna nav nosaukta izmantojot PostgreSQL rezervētu vārdu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Error</source>
         <translation type="obsolete">Kļūda</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>HelpMessage</source>
         <translation type="obsolete">PalīdzībasPaziņojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Faila nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Objektu klase</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Objekti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>DB relācijas nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Shēma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Jauns savienojums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Pievienot shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Shapefiles (*.shp);;Visi faili (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS nav pieejams</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Izvēlētajai datu bāzei nav instalēts PostGIS atbalsts, taču tas ir nepieciešams telpisko datu glabāšanai.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation>Pārbaudu vai </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Kļūda izpildot SQL:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation>&lt;/p&gt;&lt;p&gt;Datu bāze atbildēja:</translation>
     </message>
@@ -15925,162 +16357,162 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Rīks datu pārnešanai no šeipfaila uz PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Rīks datu pārnešanai no šeipfaila uz PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Importēt</translation>
+        <translation type="obsolete">Importēt</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importēt norādītos šeipfailus iekš PostGIS</translation>
+        <translation type="obsolete">Importēt norādītos šeipfailus iekš PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Aizvērt</translation>
+        <translation type="obsolete">Aizvērt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Šeipfailu saraksts</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Pievienot</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Pievienot šeipfailu importējamo failu sarakstam</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Noņemt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Noņemt izvēlēto šeipfailu no importējamo failu saraksta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Noņemt visu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Noņemt visus šeipfailus no importējamo failu saraksta</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>File Name</source>
         <translation type="obsolete">Faila nosaukums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Feature Class</source>
         <translation type="obsolete">Objektu klase</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Features</source>
         <translation type="obsolete">Objekti</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>DB Relation Name</source>
         <translation type="obsolete">DB relācijas nosaukums</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Schema</source>
         <translation type="obsolete">Shēma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Globālā shēma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Lietot noklusējuma SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Uzstādīt SRID uz noklusējuma vērtību</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Izmantot noklusējuma ģeometrijas kolonnas nosaukumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Uzstādīt ģeometrijas kolonnas nosaukumu uz noklusējuma vērtību</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Ģeometrijas kolonnas nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL savienojumi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Jauns</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Izveidot jaunu PostGIS savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Noņemt pašreizejo PostGIS savienojumu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Pieslēgties</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Rediģēt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Labot pašreizējo PostGIS savienojumu</translation>
     </message>
@@ -16098,7 +16530,7 @@
         <translation>Importē shapefile formāta datus uz PostGIS datu bāzi PostgreSQL. Izmantotā shēma un lauku nosaukumi var tikt pielāgoti importēšanas laikā</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -16106,17 +16538,17 @@
 <context>
     <name>QgsUValDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Form1</source>
         <translation type="obsolete">Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
@@ -16124,17 +16556,17 @@
 <context>
     <name>QgsUValMaDialogBase</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Form1</source>
         <translation type="obsolete">Forma1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Klasifikācijas lauks:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>New Item</source>
         <translation type="obsolete">Jauns vienums</translation>
     </message>
@@ -16142,379 +16574,379 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Forma1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Klasifikācijas lauks:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No features found</source>
         <translation type="obsolete">Neviens objekts nav atrasts</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="obsolete">Vietā, kur Jūs norādījāt, aktīvajā slānī nekas netika atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Atribūtu tabula - </translation>
+        <translation type="obsolete">Atribūtu tabula - </translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;center&gt;&lt;b&gt;Vector Layer&lt;/b&gt;&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;Vektordatu slānis&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Atvērt atribūtu tabulu</translation>
+        <translation type="obsolete">&amp;Atvērt atribūtu tabulu</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Start editing</source>
         <translation type="obsolete">Sākt labot</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Beigt rediģēt</translation>
+        <translation type="obsolete">Beigt rediģēt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Saglabāt kā shapefile...</translation>
+        <translation type="obsolete">Saglabāt kā shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Sniedzējs neuztur dzēšanu</translation>
+        <translation type="obsolete">Sniedzējs neuztur dzēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Datu sniedzējs neatbalsta objektu dzēšanu</translation>
+        <translation type="obsolete">Datu sniedzējs neatbalsta objektu dzēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Slānis nav rediģējams</translation>
+        <translation type="obsolete">Slānis nav rediģējams</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>The current layer is not editable. Choose &apos;start editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Aktīvais slānis ir nelabojams. Izvēlieties &quot;sākt labot&quot; uzklikšķinot ar peles labo taustiņu uz slāņa nosaukuma leģendā</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>action</source>
         <translation type="obsolete">darbība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Vai Jūs velaties saglabāt izmaiņas?</translation>
+        <translation type="obsolete">Vai Jūs velaties saglabāt izmaiņas?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Jā</translation>
+        <translation type="obsolete">&amp;Jā</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Nē</translation>
+        <translation type="obsolete">&amp;Nē</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> features found</source>
         <translation type="obsolete"> objekti atrasti</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source> 1 feature found</source>
         <translation type="obsolete"> 1 objekts atrasts</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Pretēja izvēle...</translation>
+        <translation type="obsolete">Pretēja izvēle...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Atcelt</translation>
+        <translation type="obsolete">Atcelt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Atļaut rediģēšanu</translation>
+        <translation type="obsolete">Atļaut rediģēšanu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>Nav iespējams pievienot slāni</translation>
+        <translation type="obsolete">Nav iespējams pievienot slāni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Slāņa datu sniedzējs neatbalsta objektu pievienošanu.</translation>
+        <translation type="obsolete">Slāņa datu sniedzējs neatbalsta objektu pievienošanu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Pašreizējais slānis nav rediģējams. Izvēlieties &quot;atļaut rediģēšanu&quot; no labā klikšķa izvēlnes virs slāņa nosaukuma.</translation>
+        <translation type="obsolete">Pašreizējais slānis nav rediģējams. Izvēlieties &quot;atļaut rediģēšanu&quot; no labā klikšķa izvēlnes virs slāņa nosaukuma.</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Pašreizējais slānis nav rediģējams. Izvēlieties &quot;atļaut rediģēšanu&quot; no labā klikšķa izvēlnes virs slāņa nosaukuma</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Rediģēšanas sākšana neizdevās</translation>
+        <translation type="obsolete">Rediģēšanas sākšana neizdevās</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Sniedzējs nevar tikt atvērts rediģēšanai</translation>
+        <translation type="obsolete">Sniedzējs nevar tikt atvērts rediģēšanai</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Kļūda</translation>
+        <translation type="obsolete">Kļūda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Warning</source>
         <translation type="obsolete">Brīdinājums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Aktīvais slānis ir nelabojams. Izvēlieties &quot;sākt labot&quot; no digitizēšanas rīkjoslas.</translation>
+        <translation type="obsolete">Aktīvais slānis ir nelabojams. Izvēlieties &quot;sākt labot&quot; no digitizēšanas rīkjoslas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>Nebija iespējams saņemt objektus</translation>
+        <translation type="obsolete">Nebija iespējams saņemt objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>Slāņa sniedzējs nespēja saņemt izvēlēto objektu ģeometriju.  Šī datu sniedzēja versija to nespēj.</translation>
+        <translation type="obsolete">Slāņa sniedzējs nespēja saņemt izvēlēto objektu ģeometriju.  Šī datu sniedzēja versija to nespēj.</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Caurspīdīgums: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Atsevišķs simbols</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Graduēts simbols</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Nepārtraukta krāsa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Unikāla vērtība</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Šī poga atver PostgreSQL vaicājumu veidotāju un atļauj izveidot attēlojamo objektu apakškopu tā vietā, lai attēlotu pilnīgi visus slāņa objektus</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Vaicājums, kas ir izmantots attēlojamo objektu izvēlei. Šī iespēja pagaitām ir pieejama tikai PostgreSQL slāņiem. Lai ievadītu vai labotu vaicājumu, nospiediet uz Vaicājumu veidotāja pogas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Telpiskais indekss</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Telpiskā indeksa izveide sekmīgi pabeigta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Telpiskā indeksa izvede neveiksmīga</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Vispārējs:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>Slāņa glabāšanas tips : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Slāņa avots : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Slāņa objektu ģeometrijas tips: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Objektu skaits slānī : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>Slāņa labošanas iespējas : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Apjoms : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>Slāņa telpiskās norādes sistēmas vienībās : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>Projekta telpiskās norādes sistēmas vienībās : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Slāņa telpisko norāžu sistēma:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Projekta (izvades) telpiskās norādes sistēma: </translation>
+        <translation type="obsolete">Projekta (izvades) telpiskās norādes sistēma: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Atribūtu lauka informācija: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Lauks</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Tips</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Garums</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precizitāte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16526,169 +16958,169 @@
         <translation>Slāņa īpašības</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Leģendas tips:</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Layer source</source>
         <translation type="obsolete">Slāņa avots</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>F1</source>
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Settings</source>
         <translation type="obsolete">Parametri</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>Labi</translation>
+        <translation type="obsolete">Labi</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Atcelt</translation>
+        <translation type="obsolete">Atcelt</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>TextLabel2</source>
         <translation type="obsolete">TekstaIezīme2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Simboloģija</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Caurspīdīgums:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Vispārējs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Izmantot no mēroga atkarīgu renderēšanu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maksimālais mērogs 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimālais mērogs 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimālais mērogs pie kāda šis slānis tiks rādīts. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maksimālais mērogs pie kāda šis slānis tiks rādīts. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Attēlošanas nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Izmantojiet šo kontroli, lai noteiktu kurš no laukiem tiks rādīts kā augšējais rezultātu identificēšanas logā.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Telpisko norāžu sistēma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Mainīt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Rādīt lauku identificēto objektu dialogā</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Uzstāda attēlošanas lauku priekš identificēšanas dialoga</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Attēlošanas lauks</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Apakškopa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Vaicājumu veidotājs</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Telpiskais indekss</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Izveidot telpisko indeksu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Izveidot</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadati</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Birkas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Attēlot birkas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Darbības</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Pielietot</translation>
+        <translation type="obsolete">Pielietot</translation>
     </message>
 </context>
 <context>
@@ -16714,17 +17146,17 @@
         <translation>Maks</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Rivers</source>
         <translation type="obsolete">Upes</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>1000</source>
         <translation type="obsolete">1000</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>10000</source>
         <translation type="obsolete">10000</translation>
     </message>
@@ -16752,7 +17184,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Pievienot WFS slāni</translation>
     </message>
@@ -16760,29 +17192,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Vai Jūs tiešām vēlaties aizvākt </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation> savienojumu un visus ar to saistītos uzstādījumus?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Apstiprināt dzēšanu</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Jā</translation>
+        <translation type="obsolete">Jā</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Nē</translation>
+        <translation type="obsolete">Nē</translation>
     </message>
 </context>
 <context>
@@ -16815,55 +17247,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Palīdzība</translation>
+        <translation type="obsolete">Palīdzība</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>&amp;Pievienot</translation>
+        <translation type="obsolete">&amp;Pievienot</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>&amp;Aizvērt</translation>
+        <translation type="obsolete">&amp;Aizvērt</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Savienojumi ar serveriem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Jauns</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Dzēst</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Rediģēt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>&amp;Pieslēgties</translation>
     </message>
@@ -16876,282 +17308,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation>Mēģinātais URL: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP izņēmums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS servisa izņēmums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM izņēmums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Nebija iespējams saņemt WMS iespējas: %1 līnijā %2 kolonnā %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Tam par iemeslu, iespējams, ir kļūdains WMS servera URL.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Nebija iespējams saņemt WMS iespējas gaidītajā formātā (DTD): %1 vai %2 nav atrasts</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Nebija iespējams saņemt WMS servisa izņēmumu. %1: %2 līnijā %3 kolonnā %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Pieprasījums satur formātu, kādu serveris nepiedāvā.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Pieprasījums satur CRS, ko serveris nepiedāvā vienam vai vairākiem pieprasītajiem slāņiem.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Pieprasījums satur SRS, ko serveris nepiedāvā vienam vai vairākiem pieprasītajiem slāņiem.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>GetMap pieprasījums ir slānim, kuru serveris nepiedāvā, vai GetFeatureInfo pieprasījums ir slānim, kurš netiek rādīts kartē.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Pieprasījums ir slānim stilā, kuru serveris nepiedāvā.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>GetFeatureInfo pieprasījums ir lietots slānim, kurš nav deklarēts kā vaicājams.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>GetFeatureInfo pieprasījums satur nederīgu X vai Y vērtību.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>Vērtība (neobligātajam) UpdateSequence parametram iekš GetCapabilities pieprasījuma ir vienāda ar pašreizējo servisa metadatu UpdateSequence numuru.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>Vērtība (neobligātajam) UpdateSequence parametram iekš GetCapabilities pieprasījuma ir lielāka par pašreizējo servisa metadatu UpdateSequence numuru.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Pieprasījums nesatur parauga dimensijas vērtību un serveris nav deklarējis noklusējuma vērību šai dimensijai.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Pieprasījums satur nederīgu parauga dimensijas vērtību.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Pieprasījums ir priekš neobligātas darbības, kuru serveris neatbalsta.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Nezināms kļūdas kods no pēc-1.3 WMS servera)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation>WMS sniedzējs arī ziņoja: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>Iespējams, ka tas ir dēļ kļūdas QGIS programmā.  Lūdzu ziņojiet par to.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Servera īpašības:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Īpašība</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Vērtība</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS versija</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Virsraksts</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Kopsavilkums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Atslēgvārdi</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Tiešsaistes resurss</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Kontaktpersona</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Maksa</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Pieejas ierobežojumi</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Attēla formāti</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Identificēt formātus</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Slāņu skaits</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>Slāņu īpašības: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Atlasīts</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Jā</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nē</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Redzamība</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Redzams</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Slēpts</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/p</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Var identificēt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Var būt caurspīdīgs</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Var pietuvināt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Kaskāžu skaits</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Fiksēts platums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Fiksēts augstums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 ietverošais robežu taisnstūris</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Pieejams ar CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Pieejams ar stilu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nosaukums</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17159,25 +17591,106 @@
 <context>
     <name>SplashScreen</name>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>Version </source>
         <translation type="obsolete">Versija </translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS spraudņa paraugs</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Spraudņa paraugs</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS spraudņa paraugs</translation>
+        <translation type="obsolete">QGIS spraudņa paraugs</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Spraudņa paraugs</translation>
+        <translation type="obsolete">Spraudņa paraugs</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="" line="1"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin was generated using QGIS internal plugin template. Please modify it according to your needs.&lt;/p&gt;
@@ -17196,33 +17709,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;Labi</translation>
+        <translation type="obsolete">&amp;Labi</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Atcelt</translation>
+        <translation type="obsolete">&amp;Atcelt</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Garums:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Nē</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Platums:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Aizstājiet šo ar īsu spraudņa darbības aprakstu</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_mn.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_mn.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_mn.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR Хөтлөгч</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>OGRХөтлөгч Олдсонгүй</translation>
     </message>
@@ -16,62 +16,72 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Зургийн координат оруулах
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Хасах</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Өгөгдөл Нийлүүлэгч Алга</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Өгөгдөл Нийлүүлэгч Өргөтгөл Алга</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Вектор давхарга орохгүй. QGIS суулгаснаа шалгана уу</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Өгөгдөл нийлүүлэгч Өргөтгөл алга. Вектор давхарга орохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS файл (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>OGR Дэмжлэгтэй Вектор Давхарга Нээх</translation>
     </message>
@@ -81,302 +91,485 @@
         <translation type="obsolete">Төслийн файл уншихад алдав</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>  шугам дээр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>  багана</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>  файлд</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation> Файлд хадгалагдахгүй</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
+        <location filename="" line="0"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Тооны илэрхийлэл тохирохгүй тул харьцуулалт ашиглах.</translation>
+        <translation type="obsolete">Тооны илэрхийлэл тохирохгүй тул харьцуулалт ашиглах.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation> Лавлах бүхий багана олдсонгүй:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Тэгд хуваах үйлдэл.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Идэвхжсэн давхарга алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Объект тодорхойлохын тулд жагсаалтаас давхаргын нэр сонгож идэвхжүүлээрэй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Суваг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>үйлдэл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> объект олов</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 объект олов</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Объект олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Идэвжсэн давхаргад таны сонгосон цэгт объект олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Объект тодорхойлогдохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>учир нь</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
+        <location filename="" line="0"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Объект сонгохын тулд жагсаалтаас давхаргын нэр сонгож идэвхжүүлээрэй </translation>
+        <translation type="obsolete">Объект сонгохын тулд жагсаалтаас давхаргын нэр сонгож идэвхжүүлээрэй </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Шинэ хүндийн төв</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Шинэ цэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Шинэ оргил</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Сүүлийн цэгийг арилгах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Шугам хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Оргил сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Шинэ байрлал сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Хэрчим сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Шинэ оргилын байрлал</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Чөлөөлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Оргил хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Оргил чөлөөлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Элемент сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Шинэ байрлал</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Сонгосноо чөлөөлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Сонгосныг хасах / удаахийг сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Шугам дээр байрлал сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Шугам хуваах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Шугам чөлөөлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Шугам дээр цэг сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Урт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Талбай</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Хэрчмийг авсангүй. Тохируулга &gt; Төслийн шинж &gt; Ерөнхий-д зөвшөөрөгдөх хэмжээг заасан уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Оргилыг авсангүй. Тохируулга &gt; Төслийн шинж &gt;Ерөнхий-д зөвшөөрөгдөх хэмжээг заасан уу?</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Давхаргыг нэмж болохгүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Энэ давхаргад өгөгдөл нийлүүлэгч объект нэмэхийг зөвшөрөхгүй.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Давхаргыг засаж болохгүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Алдаа</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> м</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> км</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> мм</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> см</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"> foot</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">Fuß</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"> өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"> өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> мэдэгдэхгүй</translation>
     </message>
@@ -431,87 +624,27 @@
         <translation type="unfinished">Шошго</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Давхаргыг засаж болохгүй</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Алдаа</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -536,6 +669,16 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
         <source>Georeferencer</source>
         <translation type="unfinished">Геохолболт</translation>
@@ -551,12 +694,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -571,219 +714,219 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Мөр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Цэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Объект</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Өгөгдлийн сан</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Хүснэгт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -798,32 +941,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -853,17 +996,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
@@ -904,52 +1047,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -957,167 +1100,167 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation> QGIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>хувилбар</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>PostgreSQL-ийн дэмжлэгтэй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(PostgreSQL-ийн дэмжлэггүй)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Хувилбар</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Өгөгдөл нийлүүлэх Өргөтгөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>өгөгдлийн эх буруу, эсвэл танигдахгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Өгөгдлийн эх буруу</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Давхарга сонгогдоогүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="" line="0"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Чанарын хүснэгтийг нээхийн тулд давхаргыг нь сонгоõ</translation>
+        <translation type="obsolete">Чанарын хүснэгтийг нээхийн тулд давхаргыг нь сонгоõ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>MapLayer Plugins алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>.. /plugins/maplayer -д MapLayer plugins алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Plugins алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>../өргөтгөл-д Өргөтгөл олдсонгүй. Өргөтгөлийг шалгахын тулд src хавтсаас qgis-ийг эхлүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Өргөтгөл %1-ийн нэр %2 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Өргөтгөл мэдээлэл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS дараахи Өргөтгөл-д ачаалагдсан:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Нэр: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Хувилбар: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Тайлбар: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Өргөтгөлийг Ачаалах Боломжгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS нь %1-ээс Өргөтгөлийг ачаалах боломжгүй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>QGIS-ийн шинэ хувилбар гарлаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>QGIS-ийн хөгжүүлэх хувилбар ажиллаж байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>QGIS-ийн одоохи хувилбар ажиллаж байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Та илүү мэдээлэл авмаар байна уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>QGIS Хувилбарын Мэдээлэл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="" line="0"/>
         <source>Yes</source>
-        <translation>Тийм</translation>
+        <translation type="obsolete">Тийм</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="" line="0"/>
         <source>No</source>
-        <translation>Үгүй</translation>
+        <translation type="obsolete">Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Серверээс хувилбарын мэдээлэл авч болохгүй нь </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Холбогдоогүй - сервер унтарсан байх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS сервер олдсонгүй</translation>
     </message>
@@ -1132,147 +1275,147 @@
         <translation type="obsolete">QGIS Хувилбар сервэртэй холбогдохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Буруу Давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 алдаатай давхарга тул ачаалагдахгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Өргөтгөл Ачаалахын Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>%1-ийг ачаалахад алдаа гарав.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Зургийн дүрс хадгалсан </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Зургийн дүрс хадгалах файлын нэр сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation> Өргөтгөл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Объект хасахад үүсэх асуудал </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Объект хасах явцад үүссэн асуудал</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Вектор Давхарга Сонгоогүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Вектор давхарга дээр л объект хасаж болно</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Объект хасахын тулд вектор давхарга сонговол зохино</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>QGIS хамтлаг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.e-soum.mn/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Зургийн тавцанд нээгдсэн бүх давхаргын жагсаалт. Давхаргыг идэвхжүүлэх, эс идэвхжүүлэхдээ нэр дээр нь товш. Давхаргыг дэлгэцэнд харуулах, ажиллахын тулд угсраа товшилт хий. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Зураг заах тавцан. Энэ тавцанд тухайн үед дэлгэцэнд үзүүлсэн зургийн заагуур гарна. Одоо хэрэглэгдэж байгаа нь улаан тэгш өнцөгтөөр ялгагдана. Ямар ч давхаргыг зураг заах тавцанд нэмж оруулж болно.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Зургийн тавцан. Растер, вектор давхаргыг зурагт нэмэх, харах тавцан</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Өргөтгөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Орлуулах давхарга ба хугацаа шаардах үйлдлийн төлвийг үзүүлэх хөвөгч </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Тухайн зургийн хэмжээс</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Заагуур байршуулсан газрын зургийн солбицол. Хулганы хөдөлгөөнөөр өөрчлөгдөнө.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Орлуулга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Шалгах явцад зургийн навигацийн команд ба бусад үйлдлээр зургийн давхарга нь орлуулга болно. Шалгалтгүй бол орлуулга байхгүй. Энэ нь орлуулгаас өмнө олон тооны давхарга нэмэх, тэмдэглэх боломж олгоно.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>QGIS төслийн файл сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Төсөл хадгалагдаагүй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation> Төслийг хадгалаагүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Сэлгээний зургаар орлуулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Энэ тэмдэг зургийн проекц байгаа, эсэхийг харуулна. Тэмдэг дээр товшиж проекцтэй харьцах цонх гарган өөрчлөлт хийж болно.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Проекцийн төлөв - Проекцийн цонх нээхийн тулд товш</translation>
     </message>
@@ -1282,9 +1425,9 @@
         <translation type="obsolete">Хөвөгч проекцийн дэмжлэгтэйгээр ялгаатай координатын системээс давхаргуудыг автоматаар проекцлоно</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Зургийн эх бэлтгэх Зураг Бүтээгч</translation>
+        <translation>Зургийн эх бэлтгэх Зураг Бүтээгч</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -1352,431 +1495,431 @@
         <translation type="obsolete">Mapserver экспорт хэрэгслийн дэвшил</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Нээлттэй OGR-ийн дэмжлэгтэй вектор давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>QGIS Төсөл Уншихын Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Орхигдсон давхаргыг хайх уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>GDAL Дэмжлэгтэй Растер Өгөгдлийн Эх Нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Нэр өгч хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Нээх QGIS төслийн файлыг сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Төсөл хадгалсан:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Хайгчийг Сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Ашиглах вэб хайгчийн нэрийг оруулах  (konqueror г.м.).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Хэрэв Хайгч таны ЗАМД байхгүй бол байгаа замынх нь бүтэн нэрийг оруул.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Тохируулгыг унших</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>GUI-ийг тохируулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Өгөгдлийн санг шалгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Ачаалагдсан  өргөтгөлийг дахин сэргээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Файлын шүүлтүүрийг эхлүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Цонхны төлвийг дахин сэргээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS ажиллахад бэлэн!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Шинэ төсөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Шинэ Төсөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Төсөл Нээх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Нэг Төсөл Нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Төсөл Хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Төсөл Хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Төсөл Хадгалах &amp;Нэр...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Төслийг шинэ нэрээр Хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Хэвлэх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Хэвлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Дүрсээр Хадгалах...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Зургийг дүрсээр хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>MapServer уруу экспортлох ...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>MapServer-ийн .map файлд экспортлох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Гарах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>QGIS-аас гарах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Вектор Давхарга Нэмэх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Нэг Вектор Давхарга Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Растер Давхарга Нэмэх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Нэг Растер Давхарга Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>PostGIS Давхарга Нэмэх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Нэг PostGIS Давхарга Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Шинэ вектор давхарга...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Шинэ Вектор Давхарга Үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Давхаргыг Арилгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Давхаргыг Арилгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Бүгд-ийг Бүх Үзүүлбэрт Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Зургийн бүх давхаргыг үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Үзүүлбэрээс Бүгд-ийг Арилгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Зургийн үзүүлбэрээс бүх давхаргыг арилгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Бүх Давхаргыг Үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Бүх давхаргыг үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Бүх Давхаргыг Далдлах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Бүх давхаргыг далдлах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Төслийн Үзүүлэлт...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Төслийн үзүүлэлтийг тохируулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Хувилбарууд...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>QGIS-ийн янз бүрийн хувилбарыг өөрчлөх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Хэрэглэгчийн Проекц...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Хэрэглэгчийн проекцтэй ажиллах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Туслахын агуулга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Туслах баримт бичиг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Qgis Нүүр Хуудас</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Нүүр Хуудас</translation>
     </message>
@@ -1791,307 +1934,307 @@
         <translation type="obsolete">QGIS SourceForge хуудаст зочлох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Тухай</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>QGIS-ийн тухай</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>QGIS-ийн Хувилбарыг Шалгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Таны QGIS сүүлийн хувилбар мөн эсэхийг шалгах (Интернэт холболт хэрэгтэй)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Шинэчлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Зураг шинэчлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Томсгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Багасгах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Бүтэн хэмжээ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Бүгдийг багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Сонгосныг Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Сонгосныг үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Зураг бэлтгэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Зураг бэлтгэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Сүүлийнхийг Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Сүүлийн Хэсгийг Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Давхаргаар Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Давхаргаар Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Объект тодорхойлох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Объект дээр товшиж тодорхойлох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Объект сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Хүснэгт нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Шугам Хэмжих</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Нэг шугам хэмжих</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Талбай Хэмжих</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Нэг Талбай Хэмжих</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Хавчуулга үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Шинэ хавчуулга...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Шинэ Хавчуулга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>WMS давхарга нэмэх...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>WMS давхарга нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Үзүүлбэрт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Тухайн давхаргыг зурагт нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Өргөтгөлийн Менежер...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Өргөтгөлийн менежер нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="" line="0"/>
         <source>Start editing the current layer</source>
-        <translation>Давхарга өөрчлөх ажил эхлэх</translation>
+        <translation type="obsolete">Давхарга өөрчлөх ажил эхлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="" line="0"/>
         <source>Stop editing the current layer</source>
-        <translation>Давхарга өөрчлөх ажлыг зогсоох</translation>
+        <translation type="obsolete">Давхарга өөрчлөх ажлыг зогсоох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Цэг Оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Цэг Оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Шугам Оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Шугам Оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Полигон Оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Полигон Оруулах</translation>
     </message>
@@ -2101,122 +2244,122 @@
         <translation type="obsolete">Сонгосныг Хасах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Сонгосныг Хасах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Оргил Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Оргил Хасах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Оргил Шилжүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Сүүлийн төслийг нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Үзүүлбэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Тохируулга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Файл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Давхаргын удирдлага</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Туслах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Тоо болгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Зургийн навигаци</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Чанарын үзүүлэлт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Өргөтгөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Бэлэн</translation>
     </message>
     <message>
-        <location filename="" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Шинэ объект</translation>
+        <translation>Шинэ объект</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Төсөл нээгдэхгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation> Төсөл хадгалагдахгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>QGIS төслийн файлыг хадгалах нэр сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Төсөл ачаалагдахгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation> Төсөл ачаалагдахгүй байна</translation>
     </message>
@@ -2231,174 +2374,339 @@
         <translation type="obsolete">Экспортлох давхарга алга. Ядаж нэг давхарга зурагт нэмж байж экспортлогдоно.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Сүүлчийн хувилбараас хойш SVN-д хийгдсэн өөрчлөлт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Тохируулга цэсийн Горим - ийг сонгон үүнийг өөрчилж болно (Тусламж Хайгч таб).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Давхарга хүчингүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Давхарга хүчингүй тул зурагт нэмж болохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Хадгалах уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation> Гарын агуулга тохируулах: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> Хүчингүй, эсвэл танигдахгүй растер өгөгдлийн эх үүсвэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> растер өгөгдлийн эх үүсвэр дэмжигдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Дэмжигдэхгүй өгөгдлийн эх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Шинэ хавчуулгын нэрийг оруулах:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Хавчуулга үүсээгүй. Хэрэглэгчийн өгөгдлийн сан байхгүй эсвэл эвдэрсэн</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Объектийг авах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Сонгосон объектийг авах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Объектийг хувилах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Сонгосон объектийг хувилах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Объект оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Сонгосон объект оруулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="" line="0"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Энэ төслийг хадгалах уу?&lt;p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Энэ төслийг хадгалах уу?&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Нийлүүлэгч хасахыг дэмжихгүй </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Өгөгдөл нийлүүлэгч объект хасахыг дэмжихгүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Давхаргыг засаж болохгүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Энэ давхарга засагдахгүй. Тоонд оруулах багажийн жагсаалтаас &apos;Засвар эхлэх&apos;-ийг сонго.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>ГолЦонх</translation>
     </message>
@@ -2421,52 +2729,52 @@
         <translation>QGIS-ийн тухай</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Тухай</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Хувилбар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Юу Шинэ вэ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS (emap)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Нүүр Хуудас</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>QGIS-Хэрэглэгчийн жагсаалтанд бүртгүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Нийлүүлэгч</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Хөгжүүлэгч</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS Хөгжүүлэгч&lt;/h2&gt;</translation>
     </message>
@@ -2476,12 +2784,12 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Arial; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;QGIS хамтлаг, EMAP&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;http://www.e-soum.mn/&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Хайгч Сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -2490,36 +2798,36 @@
 Та дараа нь ТОХИРУУЛГА цэсээс ГОРИМ-ийг сонгон өөрчилж болно (Тусламж Хайгч таб).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Нэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2555,22 +2863,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Нэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2745,7 +3053,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Үйлдэл гүйцэтгэ</translation>
     </message>
@@ -2886,42 +3194,42 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>сонгоод эхэнд байрлуулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>зөвхөн давхацсаныг үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Дүрмийн алдааг хайх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Үр дүнг хайх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Та хайлтын хоосон мөр өгчихлөө. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Хайлтын алдаа</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>%d тохирох объект олов.</numerusform>
@@ -2929,37 +3237,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Тохирох объект олдсонгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Засвар зогсоох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Өөрчлөлтийг хадгалах уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">Өөрчлөлт хийгдээгүй</translation>
     </message>
@@ -2967,42 +3275,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Үнэхээр хасах уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="" line="0"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Тийм</translation>
+        <translation type="obsolete">&amp;Тийм</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="" line="0"/>
         <source>&amp;No</source>
-        <translation>&amp;Үгүй</translation>
+        <translation type="obsolete">&amp;Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Та үүнийг хасахдаа итгэлтэй байна уу </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> хавчуулга?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -3074,22 +3382,22 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Зургийн дүрс хадгалах файлын нэрийг сонго</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Зураг хадгалах файлын нэрийг сонго</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>унших/бичих</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Хэвлэлтийн алдаа</translation>
     </message>
@@ -3099,17 +3407,17 @@
         <translation type="obsolete">BoundingBox-ийг форматлаагүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Хайлт хийхгүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>BoundingBox дээр дарж бичэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>BoundingBox олдоогүй</translation>
     </message>
@@ -3119,87 +3427,87 @@
         <translation type="obsolete">Орчуулгыг форматлаагүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Орчуулга дээр дарж бичээгүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Орчуулга олдоогүй</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Файл Оруулах/Гаргах алдаа</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Тохиромжгүй цаас </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Сонгосон цаасны хэмжээ тохирохгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Том дүрс</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation> Зураг бүтээх</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>  circa хэрэгтэй </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> санах ойн MB</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3333,32 +3641,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Өргөтгөл (хэмжээсийг тооцоолох)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Хэмжээс (өргөтгөлийг тооцоолох)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Зураг %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Орлуулга</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Тэгшөнцөгт</translation>
     </message>
@@ -3444,22 +3752,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Зураг оруулаагүй.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Файл сонгох</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3548,37 +3856,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Давхарга</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Бүл</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Сонгосон давхаргыг нийлүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Орлуулга</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Тэгшөнцөгт</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">Тайлбар</translation>
     </message>
@@ -3624,97 +3932,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Хэрэглэгчийн</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 мм)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Захиа (8.5x11 инч)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Зөвшөөрөгдсөн (8.5x14 инч)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Босоо</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Хэвтээ</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Санах ойноос хэтрэв</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -3722,17 +4030,17 @@
  QGIS-ийг дахин эхлүүлэхээс нааш зураг бүрдүүлэгчийг ашиглаагүй нь дээр.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Шошго</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Зураг оруулаагүй.</translation>
     </message>
@@ -3783,27 +4091,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Тест холболт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Холбох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation>амжилттай</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Холбогдоогүй - Тохируулгыг шалгаад давтах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3818,32 +4126,32 @@
         <translation>Холболтын мэдээлэл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Эх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Өгөгдлийн сан</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Хэрэглэгчийн нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Шинэ холболтын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Нэвтрэх үг</translation>
     </message>
@@ -3858,24 +4166,24 @@
         <translation>Нэвтрэх үг хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
+        <location filename="" line="0"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
+        <location filename="" line="0"/>
         <source>Cancel</source>
-        <translation>Хасах</translation>
+        <translation type="obsolete">Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
+        <location filename="" line="0"/>
         <source>Help</source>
-        <translation>Туслах</translation>
+        <translation type="obsolete">Туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
+        <location filename="" line="0"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -3883,12 +4191,12 @@
         <translation>PostGIS-ийн шинэ холболт хийх  </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Порт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -3934,32 +4242,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Бүтэлгүйтэв</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>хувиргалт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>алдаатай:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -3967,32 +4275,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Зүүн доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Зүүн дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Баруун дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Баруун доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Зохиогчийн эрхийн тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Зурагт тавих зохиогчийн эрхийн тэмдэг бэлтгэнэ. </translation>
     </message>
@@ -4055,24 +4363,24 @@
         <translation>Зохиогчийн Эрхийн Тэмдэг Тавих</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -4080,9 +4388,9 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Beschreibung&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Geben Sie Ihr Copyright-Label unten ein. Dieses Plugin unterstützt einfaches HTML, um die Label zu formatieren. Zum Beispiel:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt;Fetter Text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Kursiv&amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(Merke: &amp;amp;copy; erzeugt ein Cpyright Symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
+        <location filename="" line="0"/>
         <source>Help</source>
-        <translation>Туслах</translation>
+        <translation type="obsolete">Туслах</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -4114,140 +4422,130 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Проекцийн тодорхойлолтыг хасах уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Хасагдсан проекцийн тодорхойлолт дахин сэргээгдэхгүй. Та хасахыг хүсч байна уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Таслах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Шинэ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Хэрэглэгчийн Проекц</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Энэ proj4 проекцийн тодорхойлолт буруу. Хадгалах товчлуур дарахаас өмнө засна уу.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Энэ proj4 проекцийн тодорхойлолт буруу. Хадгалах товчлуур дарахаас өмнө проекцийн нэрийг өгнө үү.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Энэ proj4 проекцийн тодорхойлолт буруу. Хадгалах товчлуур дарахаас өмнө үзүүлэлт нэмнэ үү.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Энэ proj4 проекцийн тодорхойлолт буруу. Хадгалах товчлуур дарахаас өмнө proj= clause өгнө үү.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Энэ proj4 элипсоидын тодорхойлолт буруу. Хадгалах товчлуур дарахаас өмнө ellips= clause өгнө үү. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Энэ proj4 элипсоидын тодорхойлолт буруу.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Northing ба Easthing бутархай тоогоор өгөх ёстой.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Дотоод алдаа (эх проекц алдаатай?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Нэр:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definition der Projektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Үзүүлэлт:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 von 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Шинэ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Хадгалах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Хаах</translation>
     </message>
@@ -4257,117 +4555,133 @@
         <translation>Тодорхойлох</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Testen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Von WGS84 zur ausgewählten Projektion transformieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Berechnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Projeziertes Koordinatensystem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geographisch/ WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Nord:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Ost:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <location filename="" line="0"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Hier können Sie Ihre eigenen Projektionen definieren. Sie müssen die Formatdefinition von proj4 einhalten.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Hier können Sie Ihre eigenen Projektionen definieren. Sie müssen die Formatdefinition von proj4 einhalten.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
+        <location filename="" line="0"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Benutzen Sie die Textboxen hierunter                         um Ihre Projektionsdefinition zu testen. Geben Sie eine Koordinate ein, von der der Lat/Long Wert und der transformierte Wert bekannt sind. (Beispielweise durch ablesen auf der Karte) Dann drücken Sie den &apos;Berechnen&apos; Knopf und überprüfen Sie die Genauigkeit des  Ergebnisses.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Benutzen Sie die Textboxen hierunter                         um Ihre Projektionsdefinition zu testen. Geben Sie eine Koordinate ein, von der der Lat/Long Wert und der transformierte Wert bekannt sind. (Beispielweise durch ablesen auf der Karte) Dann drücken Sie den &apos;Berechnen&apos; Knopf und überprüfen Sie die Genauigkeit des  Ergebnisses.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Та үүнийг хасахдаа итгэлтэй байна уу</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>alle damit verbunden Einstellungen löschen wollen?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Хасахаа баталгаажуулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="" line="0"/>
         <source>Yes</source>
-        <translation>Тийм</translation>
+        <translation type="obsolete">Тийм</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="" line="0"/>
         <source>No</source>
-        <translation>Үгүй</translation>
+        <translation type="obsolete">Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Хүснэгт Сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Давхарга нэмэхийн тулд хүснэгт сонговол зохино.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation> Нэвтрэх үг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Нэвтрэх үгээ оруулна уу:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Холболт бүтэлгүйтэв</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation> Хамааралд хандах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> sql ашиглах;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -4376,72 +4690,72 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Цэгт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Олон-цэгт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Шугаммөрт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Олон-шугаммөрт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Олонөнцөгт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Олон-олонөнцөгт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Холимог геометрт давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Геометр цуглах давхарга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Давхаргын төрлийн мэдээг хүлээж байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Давхаргын төрөл мэдэгдэхгүй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>%2 дээр %1-ийн холболт бүтэлгүйтэв. Өгөгдлийн сан хаагдсан, эсвэл таны тохируулга буруу байна.%3Хэрэглэгчийн нэр, нэвтрэх үгийг шалгаад давтан хий. %4Өгөгдлийн сангийн мэдээлэл:%5%6</translation>
     </message>
@@ -4565,7 +4879,7 @@
         <translation>Өнцгийн нэгжээр өгөгдөх солбицол болох X ба Y талбар зайлшгүй байвал зохино.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Товч бичиг</translation>
     </message>
@@ -4578,30 +4892,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Давхаргын нэр алга</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Давхаргыг зурагт нэмэхийн өмнө нэрийг нь оруул</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Тусгаарлагч алга</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Файл задлахаас өмнө тусгаарлагчийг заана уу</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Нээхээр завдаж буй товч бичгийн файл сонгох </translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -4611,187 +4935,187 @@
         <translation>Товч Бичгийн Файлаас Давхарга Үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
+        <location filename="" line="0"/>
         <source>Cancel</source>
-        <translation>Хасах</translation>
+        <translation type="obsolete">Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
+        <location filename="" line="0"/>
         <source>Help on using the plugin</source>
-        <translation>Өргөтгөл хэрэглэхэд туслах</translation>
+        <translation type="obsolete">Өргөтгөл хэрэглэхэд туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
+        <location filename="" line="0"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Таны бүрдүүлсэн хайгчаар Товч Бичгийн Өргөтгөлийн туслахыг нээх </translation>
+        <translation type="obsolete">Таны бүрдүүлсэн хайгчаар Товч Бичгийн Өргөтгөлийн туслахыг нээх </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
+        <location filename="" line="0"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Удиртгал мөрийг задлан X ба Y талбарын жагсаалтыг шинэчлэх</translation>
+        <translation type="obsolete">Удиртгал мөрийг задлан X ба Y талбарын жагсаалтыг шинэчлэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
+        <location filename="" line="0"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Оролтын файлын удиртгал мөрийг задлан X ба Y талбарын зөөх-оруулах жагсаалтыг шинэчлэх. Товч бичгийн файл сонгосны дараа тусгаарлагчийг өөрчилсөн бол энэ товчлуур ашиглан талбарын шинэчилсэн жагсаалтыг үзүүл.</translation>
+        <translation type="obsolete">Оролтын файлын удиртгал мөрийг задлан X ба Y талбарын зөөх-оруулах жагсаалтыг шинэчлэх. Товч бичгийн файл сонгосны дараа тусгаарлагчийг өөрчилсөн бол энэ товчлуур ашиглан талбарын шинэчилсэн жагсаалтыг үзүүл.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
+        <location filename="" line="0"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Заасан үзүүлэлтээр давхарга үүсгэж зурагт нэмэх. Харилцах цонх нээлттэй хэвээр үлдэж давхарга нэмэх боломж өгнө.</translation>
+        <translation type="obsolete">Заасан үзүүлэлтээр давхарга үүсгэж зурагт нэмэх. Харилцах цонх нээлттэй хэвээр үлдэж давхарга нэмэх боломж өгнө.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
+        <location filename="" line="0"/>
         <source>Close the dialog</source>
-        <translation>Харилцах цонх хаах</translation>
+        <translation type="obsolete">Харилцах цонх хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
+        <location filename="" line="0"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Зурагт ямар ч нэмэлт хийхгүйгээр харилцах цонх хаах.</translation>
+        <translation type="obsolete">Зурагт ямар ч нэмэлт хийхгүйгээр харилцах цонх хаах.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X Feld&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>x-ийн утгыг агуулах талбарын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>x-ийн утгыг агуулах талбарын нэр. Жагсаалтаас нэг талбар сонго. Товч бичгийн файлын удиртгал мөрийг задлан жагсаалт гаргана.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y Feld&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>y-ийн утга агуулах талбарын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>y-ийн утга агуулах талбарын нэр. Жагсаалтаас нэг талбар сонго. Товч бичгийн файлын удиртгал мөрийг задлан жагсаалт гаргана.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Давхаргын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Зургийн тайлбарт үзүүлэх нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Зургийн тайлбарт үзүүлэх нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Тусгаарлагч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Бичгэн файл доторхи талбарыг хуваахад ашиглах тусгаарлагч. Тусгаарлагч нэг тэмдэгтээс олон байж болно.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Товч бичгийн файл доторхи талбарыг хуваахад ашиглах тусгаарлагч. Тусгаарлагч 1 эсвэл түүнээс олон тэмдэгт байж болно.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Товч Бичгийн Давхарга</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Товч бичгийн файл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Товч бичгийн файлын бүтэн зам</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Товч бичгийн файлын бүтэн зам. Файл доторхи талбарыг тайлахын тулд файлын нэрийг өгөхөөс өмнө тусгаарлагчийг тодорхойлох ёстой.  Оролтын файлыг сонгохын тулд энэ талбарын баруун талын Хайх товчийг ашигла.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Боловсруулах товч бичгийн файлыг хайж олох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Товч бичгийн файлын байрлалыг хайхад энэ товчийг ашигла. &lt;/i&gt; цонхны &lt;i&gt; дотор хязгаарлагчийг оруулаагүй үед энэ товч идэвхжихгүй. Ямар нэг файл сонгосон л бол товч бичгийн файлын талбарууд X ба Y талбарын зөөх-оруулах цонхонд орно.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
+        <location filename="" line="0"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Тодорхой тусгаарлагч, файл болон x/y талбарыг ашиглан давхарга нэмэх</translation>
+        <translation type="obsolete">Тодорхой тусгаарлагч, файл болон x/y талбарыг ашиглан давхарга нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
+        <location filename="" line="0"/>
         <source>&amp;Help</source>
-        <translation>&amp;Туслах</translation>
+        <translation type="obsolete">&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
+        <location filename="" line="0"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
+        <location filename="" line="0"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Задлах</translation>
+        <translation type="obsolete">&amp;Задлах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
+        <location filename="" line="0"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
+        <location filename="" line="0"/>
         <source>&amp;Add Layer</source>
-        <translation>Давхарга &amp;Нэмэх</translation>
+        <translation type="obsolete">Давхарга &amp;Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <location filename="" line="0"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <location filename="" line="0"/>
         <source>&amp;Close</source>
-        <translation>&amp;Хаах</translation>
+        <translation type="obsolete">&amp;Хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Загвар бичиг</translation>
     </message>
@@ -4811,150 +5135,117 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="" line="0"/>
         <source>Save layer as...</source>
-        <translation>Давхарга хадгалах нэр... </translation>
+        <translation type="obsolete">Давхарга хадгалах нэр... </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
-        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Бүс тогтоох объект</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
+        <location filename="" line="0"/>
         <source>&amp;Help</source>
-        <translation>&amp;Туслах</translation>
+        <translation type="obsolete">&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
+        <location filename="" line="0"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Зургийн нэгжээр өгсөн бүсийн зай:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Бүст давхаргын хүснэгтийн нэр:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Объектод давтагдахгүй id өгөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>Нийтийн</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Геометрийн багана:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>Орон зайн лавлах ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Объектийн id болох давтагдахгүй талбар:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Бүдүүвч:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Бүст давхаргыг зурагт нэмэх үү?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Бүс тогтоох объектийн давхарга: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Үзүүлэлт</translation>
     </message>
@@ -4977,27 +5268,27 @@
         <translation>Индекс</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
+        <location filename="" line="0"/>
         <source>&amp;Help</source>
-        <translation>&amp;Туслах</translation>
+        <translation type="obsolete">&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
+        <location filename="" line="0"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Нөөц Үгс</translation>
     </message>
@@ -5012,7 +5303,7 @@
         <translation>Баганын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ Shapefile-д нөөц үгс байна. Эдгээр нь PostgreSQL руу гаргахад нөлөөлж магадгүй. Баруун талд жагсаасан нөөц үгсийг баганын нэрээс хасах засвар хий (засвар хийхдээ Баганын Нэр дээр хоёр товш). Хүсвэл өөр баганын нэрийг ч сольж болно. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -5020,17 +5311,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Төлөв</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Баганын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Индекс</translation>
     </message>
@@ -5200,94 +5491,94 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;Gps Хэрэгсэл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>GPX давхарга шинээр &amp;Үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>GPX давхарга шинээр үүсгэн зургийн тавцанд гаргах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Шинэ GPX файл хадгалах нэр...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS eXchange файл (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Файл үүсгэсэнгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation> Өгсөн нэрээр GPX файл үүсгэж болохгүй нь.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation> Өөр нэр өгөөд эсвэл өөр файлд оруулах гээд үз</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>хавтас.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX Ачаалагч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Сонгосон файл уншигдахгүй нь.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Алдаагүй файл сонго.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Боловсруулалт эхлэхгүй нь</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>GPSBabel эхлэхгүй нь!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Өгөгдөл оруулж байна...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -5296,32 +5587,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Өгөгдөл оруулахын алдаа</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Дэмжигдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation> Энэ төхөөрөмж татан авалтыг дэмжихгүй </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation> үүний</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Татан авч буй өгөгдөл...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -5330,22 +5621,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Өгөгдөл татан авалтын алдаа</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation> Энэ төхөөрөмж гаргахыг дэмжихгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Гаргаж буй өгөгдөл...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -5354,7 +5645,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Өгөгдөл гаргалтын алдаа</translation>
     </message>
@@ -5362,22 +5653,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Нэр өгч хадгалах файлаа сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS eXchange загвар (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>GPX файл сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Импортлох файл, загварыг сонгох</translation>
     </message>
@@ -5390,119 +5681,119 @@
         <translation>GPS Хэрэгсэл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>GPX файл ачаалах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Объектийн төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Өртөө</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Чиглэл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Мөр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Өөр файл импортлох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Импортлох файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Объектийн төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX гаралтын файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Давхаргын нэр:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>GPS-ээ татан авах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Төхөөрөмж засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS төхөөрөмж:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Гаралтын файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Порт:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>GPS-д гаргах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Өгөгдлийн давхарга:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -5525,71 +5816,66 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX давхаргыг GPS төхөөрөмжинд гаргахад энэ хэрэгсэл тусална. Гаргах давхарга, оруулах төхөөрөмж, холбох портыг сонго. Хэрэв төхөөрөмж жагсаалтанд ороогүй, эсвэл зарим тохируулгыг өөрчлөх хэрэгтэй бол засвар хийж болно. &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Энэ хэрэгсэл GPSBabel программ ашиглана (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) өгөгдөл дамжуулах. Хэрэв QGIS олох газар GPSBabel суулгаагүй бол энэ ажиллахгүй.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Туслах</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5597,12 +5883,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Төрөл</translation>
     </message>
@@ -5610,34 +5896,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Цэг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Шугам</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Олонталт</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
+        <location filename="" line="0"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
+        <location filename="" line="0"/>
         <source>Cancel</source>
-        <translation>Хасах</translation>
+        <translation type="obsolete">Хасах</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -5645,32 +5931,32 @@
         <translation>Шинэ Вектор Давхарга</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Үзүүлэлт:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Багана 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
+        <location filename="" line="0"/>
         <source>Help</source>
-        <translation>Туслах</translation>
+        <translation type="obsolete">Туслах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Файлын Загвар:</translation>
     </message>
@@ -5678,7 +5964,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Геохолболт</translation>
     </message>
@@ -5749,27 +6035,27 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Геохолболт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Растер файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Дэлхийн солбицол оруулах</translation>
     </message>
@@ -5788,104 +6074,106 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Хувиргах горим</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Хувиргах арга:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Ойрын хөрш</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Шугаман</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Шоон</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Нэвт харагдуулахад 0 хэрэглэх</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Ангиллын Талбар:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Горим:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Ангийн Тоо:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Утга</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Талбар</translation>
     </message>
@@ -5956,77 +6244,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Хэрэгсэл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Сонгосон зургийг тавцанд нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Сонгосон зураг хувилах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Сонгосон зургийн нэрийг өөрчлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Сонгосон зураг хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Одоохи бүсийг сонгосон зурагт буулгах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Сэргээх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6034,27 +6322,27 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Шинэ цэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Шинэ хүндийн төв</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Оргил хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation> Зүүн:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation> Дунд:</translation>
     </message>
@@ -6064,226 +6352,226 @@
         <translation type="obsolete"> Баруун:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Засварын багаж</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Шинэ мөр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Шинэ хил</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Оргил зөөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Оргил нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Элемент зөөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Шугам хуваах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Элемент хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Үзүүлэлт засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Цэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Шугам</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Өнгө</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Индекс</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Урт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6359,32 +6647,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6797,12 +7085,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Ажиллуулах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Зогсоох</translation>
     </message>
@@ -6812,144 +7100,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">  багана</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Хасах</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7000,7 +7258,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7008,17 +7266,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Файл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7026,22 +7284,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7049,42 +7307,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7092,7 +7350,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7100,7 +7358,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7108,69 +7366,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">  багана</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7278,7 +7536,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
@@ -7303,129 +7561,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">  багана</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Шинэ багцзураг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7586,162 +7844,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Багцзураг нээх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Шинэ багцзураг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Багцзураг хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>GRASS вектор давхарга нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>GRASS растер давхарга нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>GRASS цонх нээх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Одоогийн GRASS Мужийг Харуулах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Одоогийн GRASS Мужийг Засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>GRASS Вектор давхаргыг Засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>GRASS вектор давхаргыг зургийн тавцанд нэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>GRASS растер давхаргыг зургийн тавцанд нэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Одоогийн GRASS мужийг зургийн тавцанд тэгш өнцөгтөөр харуулах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Одоогийн GRASS мужийг засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Сонгосон GRASS вектор давхаргыг өөрчлөх.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7749,22 +8007,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7959,39 +8217,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Сэрэмжлүүлэг</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -8002,78 +8227,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">  багана</translation>
     </message>
@@ -8081,17 +8301,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Тор Үүсгэгч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Тор  (grid) үүсгэн shapefile болгон хадгалдаг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Тор</translation>
     </message>
@@ -8157,110 +8377,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS Өргөтгөлийн Загвар</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Тор Байгуулагч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Өргөрөг:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Уртраг:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Өргөрөгийн Зайц:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Уртрагийн Зайц:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Энэ өргөтгөл нь QGIS-ын үзүүлбэрт давхцуулан гаргаж болох торын shapefile үүсгэхэд тусална.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Бүх нэгжийг өнцгөөр оруулаарай&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Цэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Шугам</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Олонталт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Эхлэл (зүүн доод)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Төгсгөл (баруун дээд)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Торын зай (өнцгөөр)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Гаралтын (shape) файл</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8275,12 +8500,12 @@
         <translation>Туслах файлыг сангаас авахад бүтэлгүйтэв </translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>QGIS туслах сан суулгаагүй байна</translation>
     </message>
@@ -8379,27 +8604,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation> Дүнг Тодорхойлох - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Үйлдэл хийх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Уламжилсан)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Объект</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">Утга</translation>
     </message>
@@ -8729,184 +8954,281 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Давхаргын Проекц Сонгогч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Geben Sie die Projektion dieser Ebene an:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ давхаргын проекц тодорхойгүй тул төсөлд заасан проекцээр авлаа. Үүнийг та дараахи проекцээс сонгон өөрчилж болно.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>бүлэг</translation>
+    </message>
+    <message>
+        <location filename="" line="0"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Мөнчанар</translation>
+    </message>
+    <message>
+        <location filename="" line="0"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">Давхаргаар &amp;Багтаах</translation>
+    </message>
+    <message>
+        <location filename="" line="0"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">Үзүүлбэрт &amp;Нэмэх</translation>
+    </message>
+    <message>
+        <location filename="" line="0"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">Үзүүлбэрээс &amp;Хасах</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Хасах</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>Дээд төвшний объект &amp;Болгох</translation>
+    </message>
+    <message>
+        <location filename="" line="0"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">Засварыг &amp;Зөвшөөрөх</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Өөр&amp;нэр</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>бүлэг &amp;Нэмэх</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation>бүгдийг &amp;Өргөжүүлэх</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>бүгдийг &amp;Эвдэх</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation>Бүлэг файл үзүүлэх </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Давхарга сонгогдоогүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Хаах</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Давхаргаар &amp;Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Хасах</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">Тайлбарын хүснэгт &amp;Нээх</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shapefile болгон хадгалах...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Мөнчанар</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"> Тайлбарын хүснэгт - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Ажиллуулах</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Гаралт</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>Давхаргын Проекц Сонгогч</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>OK</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Geben Sie die Projektion dieser Ebene an:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ давхаргын проекц тодорхойгүй тул төсөлд заасан проекцээр авлаа. Үүнийг та дараахи проекцээс сонгон өөрчилж болно.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>бүлэг</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Мөнчанар</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>Давхаргаар &amp;Багтаах</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Засвар эхэлсэнгүй</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation>Үзүүлбэрт &amp;Нэмэх</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Нийлүүлэгч засвар хийхээр нээгдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>Үзүүлбэрээс &amp;Хасах</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Засвар зогсоох</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Хасах</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Өөрчлөлтийг хадгалах уу?</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation>Дээд төвшний объект &amp;Болгох</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Өөрчлөлт хийгдээгүй</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation>Засварыг &amp;Зөвшөөрөх</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">roll back-ийн явцад асуудал гарав</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>Өөр&amp;нэр</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Давхаргаар &amp;Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>бүлэг &amp;Нэмэх</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation>бүгдийг &amp;Өргөжүүлэх</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation>бүгдийг &amp;Эвдэх</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">Тайлбарын хүснэгт &amp;Нээх</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation>Бүлэг файл үзүүлэх </translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shapefile болгон хадгалах...</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Мөнчанар</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8967,48 +9289,43 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Зурагдсангүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>учир нь</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="" line="0"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>Сонгосон давхаргыг &amp;Багтаах</translation>
+        <translation type="obsolete">Сонгосон давхаргыг &amp;Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="" line="0"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="" line="0"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Мөнчанар</translation>
+        <translation type="obsolete">&amp;Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="" line="0"/>
         <source>Toggle in Overview</source>
-        <translation>Үзүүлбэр сэлгэх</translation>
+        <translation type="obsolete">Үзүүлбэр сэлгэх</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -9017,12 +9334,12 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Объект олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9030,65 +9347,40 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>Yes</source>
-        <translation type="unfinished">Тийм</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>No</source>
-        <translation type="unfinished">Үгүй</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -9098,112 +9390,112 @@
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>MapServer уруу гаргах</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Зургийн файл</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Зөвхөн ДАВХАРГА мэдээллийг гаргах</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Зураг</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Өндөр</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Өргөн</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>feet</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>метр</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>miles</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>inches</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>километр</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Нэгж</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Дүрсийн төрөл</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>хэрэглэгчийн</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -9223,47 +9515,47 @@
         <translation>MapFile-ийг ашиглан зургийн угтвар, хэмжээсийн зам, тайлбарын GIF файлнэрийг үүсгэсэн. Үүнийг хадгалавал зохино.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Вэб Холбоосын Тодорхойлолт</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Гарчиг</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Хөлчиг</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Загвар</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -9288,42 +9580,44 @@
         <translation type="obsolete">MapServer-ийн форматаар гаргах QGIS төслийн файл</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Зургийн файлын нэр нь QGIS төслийн файлаас үүснэ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Шалгагдвал зөвхөн давхаргын мэдээлэл боловсруулагдана</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Хавтас сонгох</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9362,35 +9656,10 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="" line="0"/>
         <source>Segments (in meters)</source>
-        <translation>Хэсэг (метрээр)</translation>
+        <translation type="obsolete">Хэсэг (метрээр)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9421,6 +9690,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Хэсэг (метрээр)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9517,7 +9822,7 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Туршилт холболт</translation>
     </message>
@@ -9527,7 +9832,7 @@
         <translation type="obsolete">%1-ийн холболт амжилттай</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9537,7 +9842,7 @@
 Алдааны талаархи нэмэлт мэдээлэл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9751,37 +10056,37 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Зүүн Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Баруун Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Баруун Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Зүүн Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Хойтзүг Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Зургийн тавцанд гарах хойтзүг тэмдэг үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Чимэглэл</translation>
     </message>
@@ -9791,7 +10096,7 @@
         <translation type="obsolete">Pixmap олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9804,7 +10109,7 @@
         <translation type="obsolete">Pixmap олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9812,100 +10117,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Хойтзүг Тэмдгийн Өргөтгөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Байршуулалт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Чиглэлийг автоматаар тохируулах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Хойтзүг Тэмдэг Зөвшөөрөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Зүүн Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Баруун Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Зүүн Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Баруун Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Дэлгэц дээрхи байршуулалт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Хойтзүг тэмдэг үзэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Лого</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Шинэ Зүйл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9921,14 +10231,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9936,187 +10238,187 @@
         <translation>QGIS Хувилбарууд</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="" line="0"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Объект Тодорхойлох Хайлтын Радиус</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Эхлэхэд дэлгэц гялсхийхийг болиулах </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Үзэгдэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Лого Сэдэв</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Сэдэв</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Тайлбар: &lt;/b&gt;Сэдэв солих нь дараагийн QGIS эхлэхэд үйлчилнэ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>Туслах &amp;Хайгч</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Туслах файл нээх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Харгалзуулах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Уншсаны дараа дэлгэцийг шинэчлэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Энэ олон объектийг эхээс нь уншсаны дараа зургийн дэлгэц шинэчлэгдэнэ (зурсны дагуу) </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>объект</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Бүх объектийг уншиж дуустад дэлгэцийг өөрчлөхгүйн тулд 0 өгөх)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Эхний Үзэгдэл</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Дэлхийн Заалтыг Сонгох ...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Проекцийн талаар асуух.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Төсөлд заасан проекцийг ашиглана.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Splash screen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Зураг Үзэгдэх Төлөв (Төслийн мөнчанарын цаана далдлагдсан)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Суурь Өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Өнгө Сонгох:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Үзэгдэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Давхаргын нэрийг том үсгээр бичих</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Зургийн үзүүлбэрт шугамын мурилзлыг багасгах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Өөрөөр заагаагүй бол зурагт нэмсэн шинэ дав&amp;харга дэлгэцэнд гарах ёстой</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>Зурах явцад &amp;Шинэчлэх</translation>
     </message>
@@ -10126,17 +10428,17 @@
         <translation type="obsolete">&amp;Сонгох &amp;&amp; Хэмжих</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Хэмжих багаж</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Зай бодоход хэрэглэх элипсоид:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Хайлтын радиус</translation>
     </message>
@@ -10170,94 +10472,114 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Про&amp;екц</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Давхаргыг ачаалах үед проекцийн мэдээлэл байгаагүй</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>Доор гар&amp;сан дэлхийн өгөгдсөн проекцийг ашиглана.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Тайлбар:&lt;/b&gt; Хайгч таны ЗАМД байх, эсвэл та замыг бүрэн зааж өгөх хэрэгтэй</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Харгалзуузлах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Үүнийг сонговол &apos;шугам цөөлөх&apos; боломжийг болиулна&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Олонталтын дүүргэлтээс үүссэн алдааг засах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
-        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
-        <source>&amp;Map tools</source>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Ерөнхий</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
-        <source>%</source>
-        <translation type="unfinished">%</translation>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10423,87 +10745,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabelle &lt;b&gt;%1&lt;/b&gt; өгөгдлийн санд &lt;b&gt;%2&lt;/b&gt; эхэд &lt;b&gt;%3&lt;/b&gt;, хэрэглэгч &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Холболт Бүтэлгүйтэв</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Өгөгдлийн санд холбогдсонгүй:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Өгөгдлийн сангийн алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Талбарын утгаас жишээ авах нь бүтсэнгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Хүсэлтийн Дүн</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation> Хариу дүгнэлт гарав</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation> мөрүүд.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Хүсэлт Бүтэлгүйтэв</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Хүсэлт биелүүлэх явцад алдаа гарав:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Бичлэг Алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Таны хүсэлтийн хариуд нэг ч бичлэг гарсангүй. PostgreSQL давхарга ядаж нэг объекттэй байх хэрэгтэй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10644,17 +10961,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Хавтас сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Өргөтгөл Алга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation> QGIS өргөтгөл олдсонгүй</translation>
     </message>
@@ -10745,133 +11062,138 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Томсгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Багасгах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Давхаргыг Багтаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Давхаргыг багтаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Пан Зураг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Зургийг пан болгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Цэг Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Цэг Авах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Цэг Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Сонгосныг Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">Шугаман</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished">Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished">Сэрэмжлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10949,15 +11271,20 @@
         <translation>Дэлхийн файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <location filename="" line="0"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Өөрчлөгдсөн растер:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -10980,29 +11307,29 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Хамааралд хандахгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation> Хандах боломжгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation> хамаарал. Өгөгдлийн сангаас гарсан алдааны мэдүүлэг:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>GEOS Дэмжлэг Алга!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -11011,12 +11338,12 @@
 GEOS дэмжлэгтэй PostGIS суулга (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Тохирох түлхүүр багана хүснэгтэнд алга</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -11031,182 +11358,182 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Баганы давтагдахгүй индекс  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>тохиромжгүйн учир нь QGIS int4 бус төрлийн баганыг түлхүүр болгохыг дэмжихгүйд оршино.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation> ба</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation> Баганад суурилсан давтагдахгүй индекс  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> тохиромжгүйн учир нь QGIS олон баганыг түлхүүр болгохыг дэмжихгүйд оршино.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Түлхүүр багана олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>  үүнээс гаргах </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>ба тохиромжтой.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation> ба тохиромжгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation> төрөл нь </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> ба тохиромжтой constraint бүхий)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> ба тохиромжтой constraint байхгүй)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Таны сонгосон үзүүлбэрт дараахи баганууд байгаа ч дээрх нөхцлийг хангах нь алга:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>QGIS үзүүлбэрт түлхүүр болох нэг багана байх шаардлагатай. Энэ багана нь int4 төрлийн анхдагч түлхүүр болж түүнд давтагдахгүй constraint байх, эсвэл PostgreSQL oid багана байх ёстой. Ажиллагааг сайжруулахын тулд энэ багана индексжсэн байх ёстой.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation> Үзүүлбэр </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>түлхүүр болгон ашиглах нэг ч багана алга.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Тохиромжтой түлхүүр багана үзүүлбэрт алга </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Геометрийн төрөл мэдэгдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation> Багана</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>  дотор </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>  байгаа геометрийн төрөл нь </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, одоогийн QGIS дэмжихгүй.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Өгөгдлийн сангийн холболтын log:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Объектийн төрөл ба srid олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation> Тайлбар: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>эхлээд тохирохоор байсан ч давтагдахгүй өгөгдөл агуулаагүй тул тохирохгүй.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>ОРУУЛАЛТ алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Объект оруулахад явцад гарсан алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
+        <location filename="" line="0"/>
         <source>The sql was:
 
 </source>
-        <translation>SQL нь:
+        <translation type="obsolete">SQL нь:
 
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
+        <location filename="" line="0"/>
         <source>SQL error</source>
-        <translation>SQL алдаа</translation>
+        <translation type="obsolete">SQL алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>ХАСАХ алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Дискээс хасах явцад гарсан алдаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>PostGIS алдаа</translation>
     </message>
@@ -11221,22 +11548,22 @@
         <translation type="obsolete"> PostgreSQL өгөгдлийн сангийн хариу:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11249,167 +11576,172 @@
         <translation>Төслийн Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Зургийн Нэгж</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Метр</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Feet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Аравт өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
+        <location filename="" line="0"/>
         <source>&amp;Help</source>
-        <translation>&amp;Туслах</translation>
+        <translation type="obsolete">&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
+        <location filename="" line="0"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Төслийн заасан нэр</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
+        <location filename="" line="0"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Өргөн барих</translation>
+        <translation type="obsolete">&amp;Өргөн барих</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
+        <location filename="" line="0"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Ерөнхий</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Шугамын Өргөн:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
+        <location filename="" line="0"/>
         <source>Snapping Tolerance:</source>
-        <translation>Snapping Tolerance:</translation>
+        <translation type="obsolete">Snapping Tolerance:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Шугамын Өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Автоматаар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Хулганы байрлалын цонхонд гарах аравтын оронг автоматаар тохируулна</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Хулганы байрлалын цонхонд гарах аравтын оронг автоматаар тохируулахдаа хулганыг нэг пикселээр шилжүүлэхэд байрлалын өөрчлөлт нь мэдэгдэж байх нөхцлийг хангана </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Гараар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Хулганы байрлалын цонхонд гарах аравтын оронг тохируулах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Гараар тохируулгад зориулсан аравтын орны тоо</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>аравтын орон</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Зургийн Үзүүлбэр</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Өнгө Сонгох:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Төслийн Нэр</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Проекц</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Проекцийн хувиргалтыг зөвшөөрөх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Дэвсгэр Өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Нарийвчлал</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Тоо болгох</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11417,352 +11749,367 @@
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation> QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation> PostGIS SRID:</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Проекц сонгох</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Проекц</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Хайх</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Олох</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>PostGIS SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Оронзайн Лавлах Систем</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Тохируулаагүй</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Драйвэр:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Хэмжээс:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>  Суваг:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Эхлэл:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Пикселийн хэмжээ:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation> Растер Өргөтгөл:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation> Хайчлагдсан талбай:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Пирамид үзүүлбэр:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="" line="0"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Сувгийн Статистик (хэрэв бүрдсэн бол):</translation>
+        <translation type="obsolete">Сувгийн Статистик (хэрэв бүрдсэн бол):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Утга</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Суваг</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Сувгийн Дугаар</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Статистик Алга</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Статистик хараахан бүрдээгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Бага Утга</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Их Утга</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Цараа</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Дундаж</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Квадратын нийлбэр</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Стандарт Хазайц</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Бүх нүдний нийлбэр</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Нүдний Тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="" line="0"/>
         <source>Write access denied</source>
-        <translation>Бичихээр хандаж болохгүй</translation>
+        <translation type="obsolete">Бичихээр хандаж болохгүй</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="" line="0"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Бичих эрх байхгүй. Файлд хандах зөвшөөрлөө тохируулаад давтан хий.
+        <translation type="obsolete">Бичих эрх байхгүй. Файлд хандах зөвшөөрлөө тохируулаад давтан хий.
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Өгөгдлийн Төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - 8 бит тэмдэггүй бүхэл тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation> GDT_UInt16 - 16 бит тэмдэггүй бүхэл тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - 16 бит тэмдэгтэй бүхэл тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - 32 бит тэмдэггүй бүхэл тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - 32 бит тэмдэгтэй бүхэл тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - 32 бит бутархай тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - 64 бит бутархай тоо</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Комплекс Int16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Комплекс Int32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Комплекс Float32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Комплекс Float64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Растер өгөгдлийн төрлийг тодорхойлж чадахгүй байна.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="" line="0"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Нэвтхаралт&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Нэвтхаралт&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Дундаж Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Дундаж</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation> Давхаргын Оронзайн Лавлах Систем:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="" line="0"/>
         <source>Project Spatial Reference System: </source>
-        <translation> Төслийн Оронзайн Лавлах Систем:</translation>
+        <translation type="obsolete"> Төслийн Оронзайн Лавлах Систем:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>өргөтгөлийн гадна</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>тэг (өгөгдөл үгүй)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="" line="0"/>
         <source>Building pyramids failed.</source>
-        <translation>Пирамид байгуулах бүтэлгүйтэв.</translation>
+        <translation type="obsolete">Пирамид байгуулах бүтэлгүйтэв.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="" line="0"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Файлд бичиж болохгүй. Зарим формат бичигдэхгүй, зөвхөн унших. Зөвшөөрлөө шалгаад дахин ороолдоод үзэж болно.</translation>
+        <translation type="obsolete">Файлд бичиж болохгүй. Зарим формат бичигдэхгүй, зөвхөн унших. Зөвшөөрлөө шалгаад дахин ороолдоод үзэж болно.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="" line="0"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Энэ төрлийн растерт пирамид байгуулах үзүүлбэр боломжгүй. </translation>
+        <translation type="obsolete">Энэ төрлийн растерт пирамид байгуулах үзүүлбэр боломжгүй. </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Багц Өгөгдлийн Тодорхойлолт</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Өгөгдлийн Утга Алга</translation>
     </message>
@@ -11773,7 +12120,7 @@
         <translation type="obsolete">ба бусад бүх файл</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished">ба бусад бүх файл</translation>
     </message>
@@ -11786,32 +12133,32 @@
         <translation type="obsolete">Өгөгдөл Алга:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;Энэ бол олон сувагт дүрс. Харцагаан буюу өнгөд харгалзуулан сонгож болно (RGB). Өнгөт дүрсийн хувьд сувгийг тохирох өнгөд харгалзуулна. Жишээ нь, хэрэв та 7 сувгийн landsat дүрстэй бол дараахи байдлаар харгалзуулж болно:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Үзэгдэх хөх (0.45 to 0.52 микрон) - гаргахгүй&lt;/li&gt;&lt;li&gt;Үзэгдэх ногоон (0.52 to 0.60 микрон) - гаргахгүй&lt;/li&gt;&lt;/li&gt;Үзэгдэх Улаан (0.63 to 0.69 микрон) - улаанаар гаргах&lt;/li&gt;&lt;li&gt;Ойрын Нилулаан  (0.76 to 0.90 microns) - ногооноор гаргах&lt;/li&gt;&lt;li&gt;Дунд Нилулаан (1.55 to 1.75 microns) - гаргахгүй&lt;/li&gt;&lt;li&gt;Дулааны Нилулаан (10.4 to 12.5 microns) - гаргахгүй&lt;/li&gt;&lt;li&gt;Дунд Нилулаан (2.08 to 2.35 microns) - хөхөөр гаргах&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;Энэ дүрс тогтсон өнгө ашиглана. Эдгээр өнгийг янз бүрээр нийлүүлэн зураг гаргаж болно.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Улаан - хөх дүрс&lt;/li&gt;&lt;li&gt;Ногоон - хөх дүрс&lt;/li&gt;&lt;li&gt;Хөх - ногоон дүрс&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Харцагаан Дүрсийн Тайлбар&lt;/h3&gt; &lt;p&gt;Автомат өнгийн хуваарийг ашиглан харцагаан дүрсийг өнгөөр гаргаж болно.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Харцагаан</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Хуурмагөнгө</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Бүдгэрүүлэх</translation>
     </message>
@@ -11826,32 +12173,61 @@
         <translation type="obsolete">Мөр:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Хуваарь</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Тохируулгагүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Бичихээр хандаж болохгүй</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Бичих эрх байхгүй. Файлд хандах зөвшөөрлөө тохируулаад давтан хий.
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Пирамид байгуулах бүтэлгүйтэв.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Файлд бичиж болохгүй. Зарим формат бичигдэхгүй, зөвхөн унших. Зөвшөөрлөө шалгаад дахин ороолдоод үзэж болно.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Энэ төрлийн растерт пирамид байгуулах үзүүлбэр боломжгүй. </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished">n/a</translation>
     </message>
@@ -11864,142 +12240,142 @@
         <translation>Растер Давхаргын Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
+        <location filename="" line="0"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Хэрэгжүүлэх</translation>
+        <translation type="obsolete">&amp;Хэрэгжүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
+        <location filename="" line="0"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
+        <location filename="" line="0"/>
         <source>&amp;Help</source>
-        <translation>&amp;Туслах</translation>
+        <translation type="obsolete">&amp;Туслах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
+        <location filename="" line="0"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Ерөнхий</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Давхаргын Эх:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Дэлгэц дэх Нэр:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Тайлбар:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Өгөгдөлгүй:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Тэмдэгзүй</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Нэвтхаралт:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Өнгөт Зургийг Урвуулах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Суваг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Ногоон&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Улаан&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Хөх&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Өнгө</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Саарал</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Стд Хазайц</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Өнгөт Зураг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Пирамид</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Хэсэгчлэх Арга</translation>
     </message>
@@ -12009,132 +12385,132 @@
         <translation type="obsolete">Дундаж Magphase</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Дундаж</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Ойрын Хөрш</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Пирамид Байгуулах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Пирамидын Нарийвчлал</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Thumbnail</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Багана:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Мөр:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Өнгөний Хуваарь:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Хамгийн Их 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation> Энэ давхаргыг үзүүлэх хамгийн их хэмжээс.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Хамгийн Бага 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation> Энэ давхаргыг үзүүлэх хамгийн бага хэмжээс.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Гистограм</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Хувилбарууд</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Хязгаараас гарах нь OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Ойролцооллыг Зөвшөөрөх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Графикийн Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Баганат график</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Шугаман График</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Сэргээх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Оронзайн Лавлах Систем</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Өөрчлөлт</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Дэлгэц</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Харцагаан Дүрс</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Өнгөт Дүрс</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -12146,17 +12522,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Хэмжээсээс Хамаарч Харагдах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="" line="0"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
@@ -12164,7 +12540,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Тодорхойлолт&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Өндөр нарийвчлалтай растер давхарга QGIS - ийн ажиллагааг удаашруулж болзошгүй. Бага нарийвчлалтай хуулбар (пирамид) гарган ажиллавал QGIS тухайн үеийн үзэгдэх төвшинд тохирсон нарийвчлалыг тогтоон хурдан ажиллаж болно. Та пирамид байгуулахын тулд эх мэдээ байгаа хавтас дотор бичих эрхтэй байх ёстой. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Пирамид байгуулах нь эх мэдээний файлыг өөрчилж болох ба нэгэнт байгуулагдвал арилгаж болохгүйг анхаарна уу.&lt;/span&gt;&lt;/p&gt;
@@ -12174,35 +12550,53 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Баганын Тоо:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Тодорхойлолт&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Өндөр нарийвчлалтай растер давхарга QGIS - ийн ажиллагааг удаашруулж болзошгүй. Бага нарийвчлалтай хуулбар (пирамид) гарган ажиллавал QGIS тухайн үеийн үзэгдэх төвшинд тохирсон нарийвчлалыг тогтоон хурдан ажиллаж болно. Та пирамид байгуулахын тулд эх мэдээ байгаа хавтас дотор бичих эрхтэй байх ёстой. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Пирамид байгуулах нь эх мэдээний файлыг өөрчилж болох ба нэгэнт байгуулагдвал арилгаж болохгүйг анхаарна уу.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Пирамид байгуулах нь эх мэдээг эвдэж болох тул эхлээд хуулбар хийж байх ёстойг анхаарна уу!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Команд ажиллахгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
+        <location filename="" line="0"/>
         <source>Unable to run the command</source>
-        <translation>Энэ команд ажиллахгүй байна</translation>
+        <translation type="obsolete">Энэ команд ажиллахгүй байна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Эхлэх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Хийгдсэн</translation>
     </message>
@@ -12210,107 +12604,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> метр/км</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation> өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> км</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> мм</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> см</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> м</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> foot</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> өнцөг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> мэдэгдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Зүүн Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Зүүн Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Баруун Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Баруун Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Доош Тэмдэглэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Дээш Тэмдэглэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Багана</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Хайрцаг</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Хэмжээсийн шугам</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Зургийн тавцанд гарах хэмжээсийг үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Чимэглэл</translation>
     </message>
@@ -12318,112 +12712,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Хэмжээсийн Өргөтгөл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Зүүн Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Баруун Дээд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Зүүн Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Баруун Доод</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Баганын хэмжээ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Байршуулах:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Доош Тэмдэглэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Дээш Тэмдэглэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Цонх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Багана</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Хэмжээсийн баганын загварыг сонгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Баганын өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Хэмжээсийн баганын загвар:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Хэмжээсийн баганыг зөвшөөрөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Хэмжээг өөрчлөхдөө автоматаар бүдүүвчилнэ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Өнгө сонгохдоо товш</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ өргөтгөл зураг хэмжээс тавина. Доор заах хэмжээний хувилбар нь &apos;хүсэл&apos; бөгөөд түүнийг QGIS багтаамжаас хамааран өөрчилж болно. Хэмжээ нь проекцэд заасан зургийн нэгжээр хэмжигдэнэ.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -12431,7 +12825,7 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>%d тохирох объект олдов.</numerusform>
@@ -12439,85 +12833,80 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Тохирох объект олдсонгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Хайлтын дүн</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Мөр танилтын алдааг хайх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Бичлэг үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Таны өгсөн хүсэлтийн хариуд нэг ч бичлэг олдсонгүй.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation> Та үүнийг арилгахдаа итгэлтэй байна уу </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> холболт ба холбогдох бүх тохируулга?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Хасахаа баталгаажуулах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="" line="0"/>
         <source>Yes</source>
-        <translation>Тийм</translation>
+        <translation type="obsolete">Тийм</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="" line="0"/>
         <source>No</source>
-        <translation>Үгүй</translation>
+        <translation type="obsolete">Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS Нийлүүлэг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>WMS Нийлүүлэгч нээгдсэнгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Давхарга Сонгох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Эхлээд ядаж нэг давхарга сонгох хэрэгтэй.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>Солбицолын Лавлах Систем (%1 байна)</numerusform>
@@ -12525,32 +12914,32 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>  Хариулт ойлгомжгүй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>нийлүүлэгчийн хэлснээр</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished">Солбицолын Лавлах Систем</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12676,17 +13065,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12700,27 +13089,27 @@
         <translation>Нэг Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Дүүргэх Дүрс:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Цэг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Хэмжээ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Тодруулах Өргөн:</translation>
     </message>
@@ -12730,65 +13119,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Дүүргэх Өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Тодруулах өнгө:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Тодруулах Загвар:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Шошго:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Дүүргэхгүй</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Та хасахдаа итгэлтэй байна уу [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] холболт болон холбогдох бүх тохируулгыг уу?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Хасахаа Баталгаажуулах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="" line="0"/>
         <source>Yes</source>
-        <translation>Тийм</translation>
+        <translation type="obsolete">Тийм</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="" line="0"/>
         <source>No</source>
-        <translation>Үгүй</translation>
+        <translation type="obsolete">Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Баганын Нэр Засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -12797,279 +13191,279 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>ШАЛТГААН: Файл нээгдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>ШАЛТГААН: Shapefile файлын (*.dbf, *.shx) нэг нь, эсвэл хоёулаа байхгүй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Ерөнхий Холбоосын Туслах:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL Холболт:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Шинэ...] - шинэ холболт үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Засах ...] - сонгосон холболтыг засах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Хасах] - сонгосон холболтыг хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- файл импортлохын тулд ажилладаг (холболт зохих ёсоор хийгдсэн) холболтыг сонгох хэрэгтэй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-холболтыг өөрчлөхөд Global Schema бас өөрчлөгдөнө</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Shapefile жагсаалт:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Нэмэх ...] - Файлтай харьцах цонх нээж импортлох файлаа хайх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Хасах] - сонгосон файлыг жагсаалтаас хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Бүгдийг Хасах]  -жагсаалтанд байгаа бүх файлыг хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Импортлох shape файлд зориулсан Лавлах ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Өгөгдсөн SRID Ашиглах] - SRID-г -1 болгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Геометрийн Баганын Нэр] - өгөгдлийн санд байгаа геометрийн баганын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Өгөгдсөн (Геометрийн Баганын Нэр)] - баганын нэрийг &apos;the_geom&apos; болгох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Glogal Schema]- импортлох бүх файлд энэ схемийг суулгах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Импорт] - жагсаалтанд байгаа одоогийн shapefile импортлох </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Гарах] - програмаас гарах
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Туслах] - туслахтай харилцах цонх гаргах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Shape файл Импортлох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Холболтыг эхлээд зааж өгөх хэрэгтэй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Холболт бүтэлгүйтэв - Тохируулгыг шалгаад давтан хий</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Эхлээд shape файлыг жагсаалтанд нэмэх хэрэгтэй</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Импортын файлууд</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Дэвшил</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Файлаас объект оруулахад алдаа гарав:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Хүснэгтийн нэр буруу.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Талбар байхгүй байна.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Дараах талбар давтагджээ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Shape файл Импортлох - Хамаарал Байна</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Shape файл:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>хэрэглэнэ [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] түүний өгөгдлийн хамаарал,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>, одоо байгаа, өгөгдөл байх магадлалтай.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Өгөгдөл алдагдахаас сэргийлж  &quot;ӨС Хамаарлын Нэр&quot;-ийг өөрчлөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>гол харилцах файлын жагсаалтанд байгаа Shape файлд зориулан.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Дарж бичмээр байна уу [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] хамаарал?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Баганын нэр засахдаа дараахи хүснэгт ашигла, Баганын нэрэнд PostgreSQL - ийн нөөц үгс орж болохгүйг анхаар</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Файлын нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Объектийн Анги</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Объект</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>ӨС Хамаарлын Нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Бүдүүвч</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13077,137 +13471,137 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - PostGIS Импорт Багажийн Shape Файл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL Холболт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
+        <location filename="" line="0"/>
         <source>Import</source>
-        <translation>Импорт</translation>
+        <translation type="obsolete">Импорт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
+        <location filename="" line="0"/>
         <source>Help</source>
-        <translation>Туслах</translation>
+        <translation type="obsolete">Туслах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Shape файлын жагсаалт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Геометрийн Баганын Нэр</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Бүгдийг Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Глобал Схем</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>PostGIS Импорт Багажийн Shapeфайл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
+        <location filename="" line="0"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Тодорхойлогдсон shape файлыг PostGIS-д импортлох</translation>
+        <translation type="obsolete">Тодорхойлогдсон shape файлыг PostGIS-д импортлох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
+        <location filename="" line="0"/>
         <source>Close</source>
-        <translation>Хаах</translation>
+        <translation type="obsolete">Хаах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>shape файлыг импортлох файлын жагсаалтанд нэмэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Сонгосон shape файлыг импортлох файлын жагсаалтаас хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Бүх shape файлыг импортлох файлын жагсаалтаас хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Өгөгдсөн SRID Ашиглах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>SRID урьдчилсан утга өгөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Өгөгдсөн Геомтрийн Баганын Нэр Ашиглах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Геомтрийн баганын урьдчилсан нэр өгөх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Шинэ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Шинэ PostGIS холболт үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Одоогийн PostGIS холболтыг салгах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Холбох</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Хянах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Одоогийн PostGIS холболтыг засах</translation>
     </message>
@@ -13225,7 +13619,7 @@
         <translation>PostGIS бүхий PostgreSQL өгөгдлийн санд shapefile импортлох. Ингэхдээ бүдүүвч, талбарын нэрийг сольж болно.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -13233,97 +13627,107 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Маягт1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Ангиллын Талбар:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="" line="0"/>
         <source>Attribute table - </source>
-        <translation> Тайлбарын хүснэгт - </translation>
+        <translation type="obsolete"> Тайлбарын хүснэгт - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="" line="0"/>
         <source>&amp;Open attribute table</source>
-        <translation>Тайлбарын хүснэгт &amp;Нээх</translation>
+        <translation type="obsolete">Тайлбарын хүснэгт &amp;Нээх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="" line="0"/>
         <source>Stop editing</source>
-        <translation>Засвар зогсоох</translation>
+        <translation type="obsolete">Засвар зогсоох</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="" line="0"/>
         <source>Save as shapefile...</source>
-        <translation>Shapefile болгон хадгалах...</translation>
+        <translation type="obsolete">Shapefile болгон хадгалах...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="" line="0"/>
         <source>Provider does not support deletion</source>
-        <translation>Нийлүүлэгч хасахыг дэмжихгүй </translation>
+        <translation type="obsolete">Нийлүүлэгч хасахыг дэмжихгүй </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="" line="0"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Өгөгдөл нийлүүлэгч объект хасахыг дэмжихгүй</translation>
+        <translation type="obsolete">Өгөгдөл нийлүүлэгч объект хасахыг дэмжихгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="" line="0"/>
         <source>Layer not editable</source>
-        <translation>Давхаргыг засаж болохгүй</translation>
+        <translation type="obsolete">Давхаргыг засаж болохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="" line="0"/>
         <source>Do you want to save the changes?</source>
-        <translation>Өөрчлөлтийг хадгалах уу?</translation>
+        <translation type="obsolete">Өөрчлөлтийг хадгалах уу?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="" line="0"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Тийм</translation>
+        <translation type="obsolete">&amp;Тийм</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="" line="0"/>
         <source>&amp;No</source>
-        <translation>&amp;Үгүй</translation>
+        <translation type="obsolete">&amp;Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="" line="0"/>
         <source>Invert Selection...</source>
-        <translation>Сонголтыг Урвуулах...</translation>
+        <translation type="obsolete">Сонголтыг Урвуулах...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="" line="0"/>
         <source>Abort</source>
-        <translation>Таслах</translation>
+        <translation type="obsolete">Таслах</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="" line="0"/>
         <source>Allow Editing</source>
-        <translation>Засвар зөвшөөрөх</translation>
+        <translation type="obsolete">Засвар зөвшөөрөх</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="" line="0"/>
         <source>Layer cannot be added to</source>
-        <translation>Давхаргыг нэмж болохгүй</translation>
+        <translation type="obsolete">Давхаргыг нэмж болохгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="" line="0"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Энэ давхаргад өгөгдөл нийлүүлэгч объект нэмэхийг зөвшөрөхгүй.</translation>
+        <translation type="obsolete">Энэ давхаргад өгөгдөл нийлүүлэгч объект нэмэхийг зөвшөрөхгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="" line="0"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Энэ давхарга засагдахгүй. Баруун товчлуураар гарах цэсэээс &apos;Засвар зөвшөөрөх&apos; -ийг сонго.</translation>
+        <translation type="obsolete">Энэ давхарга засагдахгүй. Баруун товчлуураар гарах цэсэээс &apos;Засвар зөвшөөрөх&apos; -ийг сонго.</translation>
     </message>
     <message>
         <location filename="" line="0"/>
@@ -13331,236 +13735,236 @@
         <translation type="obsolete">Энэ давхарга засагдахгүй. Баруун товчлуураар гарах цэсэээс &apos;Засвар зөвшөөрөх&apos; -ийг сонго</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="" line="0"/>
         <source>Start editing failed</source>
-        <translation>Засвар эхэлсэнгүй</translation>
+        <translation type="obsolete">Засвар эхэлсэнгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="" line="0"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Нийлүүлэгч засвар хийхээр нээгдэхгүй</translation>
+        <translation type="obsolete">Нийлүүлэгч засвар хийхээр нээгдэхгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="" line="0"/>
         <source>Error</source>
-        <translation>Алдаа</translation>
+        <translation type="obsolete">Алдаа</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="" line="0"/>
         <source>Could not commit changes</source>
-        <translation>Өөрчлөлт хийгдээгүй</translation>
+        <translation type="obsolete">Өөрчлөлт хийгдээгүй</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="" line="0"/>
         <source>Problems during roll back</source>
-        <translation>roll back-ийн явцад асуудал гарав</translation>
+        <translation type="obsolete">roll back-ийн явцад асуудал гарав</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="" line="0"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Энэ давхарга засагдахгүй. Тоонд оруулах багажийн жагсаалтаас &apos;Засвар эхлэх&apos;-ийг сонго.</translation>
+        <translation type="obsolete">Энэ давхарга засагдахгүй. Тоонд оруулах багажийн жагсаалтаас &apos;Засвар эхлэх&apos;-ийг сонго.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Нэмсэн объект ороогүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>Энэ үед бусад төрлийн өөрчлөлт хийгдэхгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Тайлбарын өөрчлөлт ороогүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Нэмсэн объект орлоо OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Геометрийн өөрчлөлт хийгдээгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Тайлбарын өөрчлөлт хийгдлээ OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Объектийн хасалт хийгдээгүй.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Геометрийн өөрчлөлт хийгдлээ OK.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="" line="0"/>
         <source>Cannot retrieve features</source>
-        <translation>Объект гарган авч чадахгүй нь</translation>
+        <translation type="obsolete">Объект гарган авч чадахгүй нь</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="" line="0"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>Энэ давхаргыг нийлүүлэгч сонгосон объектийн геометрийг гаргаж аваагүй. Нийлүүлэгчийн энэ хувилбар үүнийг хийх боломжгүй. </translation>
+        <translation type="obsolete">Энэ давхаргыг нийлүүлэгч сонгосон объектийн геометрийг гаргаж аваагүй. Нийлүүлэгчийн энэ хувилбар үүнийг хийх боломжгүй. </translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation> Нэвтхаралт: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Нэг Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Graduated Тэмдэг</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Үргэлжилсэн Өнгө</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Давтагдахгүй Утга</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Энэ товч PostgreSQL-ийн хүсэлт бүрдүүлэгчийг нээх ба ингэснээр давхарга дээрх бүх объектийг гаргахын оронд хэрэгтэй объктийн багц үүсгэх боломжтой болно</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Энд үзүүлж байгаа давхаргын объектийг цөөлөхөд Хүсэлтийг ашиглана. Одоохондоо PostgreSQL давхаргын хувьд энэ боломжтой. Хүсэлтийг оруулах, засахын тулд &apos;Хүсэлт Бүтээх&apos; товчлуурыг дар</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Оронзайн Индекс</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Оронзайн индекс амжилттай байгуулагдав</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Оронзайн индекс байгуулах нь бүтэлгүйтэв</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Ерөнхий:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation> Энэ давхаргын хадгалуурын төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation> Энэ давхаргын эх : </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation> Энэ давхаргын объектуудын геометрийн төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation> Энэ давхаргын объектуудын тоо:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation> Энэ давхаргын чадавхийг засах: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Өргөтгөл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation> Давхаргын оронзайн лавлах системийн нэгжээр :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation> Төслийн оронзайн лавлах системийн нэгжээр :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Давхаргын Оронзайн Лавлах Систем:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="" line="0"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Төслийн (Үр дүн) Оронзайн Лавлах Систем::</translation>
+        <translation type="obsolete">Төслийн (Үр дүн) Оронзайн Лавлах Систем::</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Аттрибут талбарын мэдээлэл:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Талбар</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Төрөл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Урт</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Нарийвчлал</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13572,149 +13976,149 @@
         <translation>Давхаргын Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Тайлбарын төрөл:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
+        <location filename="" line="0"/>
         <source>Help</source>
-        <translation>Туслах</translation>
+        <translation type="obsolete">Туслах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
+        <location filename="" line="0"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
+        <location filename="" line="0"/>
         <source>Cancel</source>
-        <translation>Хасах</translation>
+        <translation type="obsolete">Хасах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Тэмдэгзүй</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Нэвтхаралт:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Ерөнхий</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Хэмжээст холбосон хамаарлыг ашиглах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Хамгийн Их 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Хамгийн Бага 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation> Давхарга харуулах хамгийн бага хэмжээс.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation> Давхарга харуулах хамгийн их хэмжээс.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Дэлгэц дэх нэр</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Үр Дүнг Тодорхойлох харилцах цонхны дээд төвшинд байршуулах талбарыг заахдаа энэ контролийг ашигла.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Оронзайн Лавлах Систем</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Өөрчлөлт</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Үр дүнг Тодорхойлох харилцах цонхонд зориулсан дэлгэцийн талбар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Үр дүнг Тодорхойлох харилцах цонхонд зориулсан дэлгэцийн талбарыг тохируулах</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Дэлгэцийн талбар</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Дэдбагц</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Хүсэлт Бүтээгч</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Оронзайн Индекс</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Оронзайн Индекс Үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Үүсгэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadata (Мэдээллийн лавлах)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Шошго</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Шошго үзүүлэх</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Үйлдэл</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
+        <location filename="" line="0"/>
         <source>Apply</source>
-        <translation>Хэрэгжүүл</translation>
+        <translation type="obsolete">Хэрэгжүүл</translation>
     </message>
 </context>
 <context>
@@ -13763,7 +14167,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13771,30 +14175,20 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>Yes</source>
-        <translation type="unfinished">Тийм</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>No</source>
-        <translation type="unfinished">Үгүй</translation>
-    </message>
 </context>
 <context>
     <name>QgsWFSSourceSelectBase</name>
@@ -13829,57 +14223,27 @@
         <translation type="unfinished">Өөрчлөх ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished">&amp;Нэмэх</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished">Х&amp;аах</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished">Серверийн Холболт</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">&amp;Шинэ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished">Х&amp;олбох</translation>
     </message>
@@ -13887,282 +14251,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation> Tried URL:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP Exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS Service Exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM Exception</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>WMS -ийн боломжийг хэрэглэж болохгүй нь: %2 шугам дээрх %1, багана %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>WMS-Server URL буруу байснаас болсон байж магад.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>WMS -ийн форматын (DTD) боломжийг хэрэглэж болохгүй нь: %1 буюу %2 олдсонгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>%1-ээс WMS Service Exception авсангүй: %3 шугам дээр %2, багана %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Шаардлага дотор сэрвэрийн өгөхгүй Формат байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Шаардлага доторхи нэг болон олон давхаргад сэрвэрийн дэмжихгүй CRS байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Шаардлага доторхи нэг болон олон давхаргад сэрвэрийн дэмжихгүй SRS байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>GetMap сэрвэрийн дэмжихгүй Давхаргыг шаардаж байна, эсвэл GetFeatureInfo-ийн шаардлага зурагт харуулаагүй Давхаргад зориулсан байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Шаардлага сэрвэрийн дэмжихгүй Загварын Давхаргад зориулагдсан байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>GetFeatureInfo шаардлагыг хэсэглэх нь зарлагдаагүй Давхаргад тавьжээ.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>GetFeatureInfo шаардлагад X буюу Y алдаатай байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Шаардлагад загварын хэмжээсийн утга байхгүй байна, сэрвэрт үүнийг урьдчилан тогтоогоогүй байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Шаардлагад загварын хэмжээсийн утга буруу байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Шаардлага нь сэрвэрийн дэмжихгүй нэмэлт үйлдэлд зориулагджээ.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(post-1.3 WMS Сэрвэрээс үл мэдэгдэх алдааны коод)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation> WMS нийлүүлэгч тайлагнахдаа:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>  Энэ нь QGIS программын алдаанаас болсон байж магад. Энэ алдааг тайланд тусгана уу.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Сэрвэрийн Мөнчанар:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Мөнчанар</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Утга</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS Хувилбар</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Гарчиг</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Товчлол</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Түлхүүр үгс</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Интернэт дэх Нөөц</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Харилцах Хүн</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Төлбөр</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Хандах Constraints</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Дүрсийн Формат</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Формат Тодорхойлох</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Давхаргын Тоо</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation> Давхаргын Манчанар: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Сонгосон</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Тийм</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Үгүй</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Үзэгдэх</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Ил</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Далд</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Тодорхойлж Болно</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Нэвт Харагдана</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Томсгож Болно</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Cascade Тоо</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Тогтсон Өргөн</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Тогтсон Өндөр</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 Bounding Box</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>CRS-д байгаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Загвар байгаа</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Нэр</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>GetCapabilities шаардлага дахь UpdateSequence үзүүлэлтийн утга нь одоогийн үйлчилгээний метадатаг шинэчлэх дарааллын дугаартай тэнцүү байна.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>GetCapabilities-д шаардагдах ДараалалӨөрчлөх-ийн утга нь одоогийн үйлчилгээний метадатаг шинэчлэх дарааллын дугаараас их байна.    </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14229,47 +14593,128 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS Өргөтгөлийн Загвар</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Өргөтгөлийн Загвар</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
+        <location filename="" line="0"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS Өргөтгөлийн Загвар</translation>
+        <translation type="obsolete">QGIS Өргөтгөлийн Загвар</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
+        <location filename="" line="0"/>
         <source>Plugin Template</source>
-        <translation>Өргөтгөлийн Загвар</translation>
+        <translation type="obsolete">Өргөтгөлийн Загвар</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
+        <location filename="" line="0"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
+        <location filename="" line="0"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
+        <location filename="" line="0"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Хасах</translation>
+        <translation type="obsolete">&amp;Хасах</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
+        <location filename="" line="0"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
+        <location filename="" line="0"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ бол зөвхөн эхлэл. Үүнийг ямар нэг хэрэгтэй зүйл болгохын тулд та коодыг өөрчлөх хэрэгтэй....хэрхэн эхлэх талаар илүү мэдээлэл авах зүйлийг унш.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS API Документ одоо энд байна:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS нь is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Энэ бол зөвхөн эхлэл. Үүнийг ямар нэг хэрэгтэй зүйл болгохын тулд та коодыг өөрчлөх хэрэгтэй....хэрхэн эхлэх талаар илүү мэдээлэл авах зүйлийг унш.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS API Документ одоо энд байна:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS нь is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Үүнийг өргөтгөлийн үйлдлийн товч тайлбараар соль</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_nl.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_nl.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_nl.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16,251 +16,257 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+</context>
+<context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
-        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished"></translation>
     </message>
@@ -270,27 +276,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -300,37 +306,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -356,12 +362,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -406,12 +412,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -426,32 +432,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -481,82 +487,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -606,279 +795,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -898,52 +1037,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -951,1331 +1090,1476 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
-        <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2298,101 +2582,101 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2425,22 +2709,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2615,7 +2899,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2746,79 +3030,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2826,42 +3110,32 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -2933,122 +3207,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3182,32 +3456,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3293,22 +3567,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3397,37 +3671,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3473,114 +3747,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3631,27 +3905,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3666,32 +3940,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3706,37 +3980,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
         <source>Create a New PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3777,32 +4031,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -3810,32 +4064,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3898,31 +4152,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
@@ -3947,85 +4176,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4035,243 +4254,239 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4395,7 +4610,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4408,368 +4623,230 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
-        <source>Create a Layer from a Delimited Text File</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
-        <source>Cancel</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
-        <source>Help on using the plugin</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
-        <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
-        <source>Close the dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
-        <source>Close the dialog without adding anything to the map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
-        <source>&amp;Help</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
-        <source>Alt+H</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
-        <source>&amp;Parse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
-        <source>Alt+P</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
-        <source>&amp;Add Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
-        <source>Sample text</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4792,27 +4869,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4827,7 +4884,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4835,17 +4892,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5015,154 +5072,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5170,22 +5227,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5198,186 +5255,156 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
-        <source>&amp;OK</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
-        <source>Alt+O</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5385,12 +5412,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5398,67 +5425,52 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
         <source>New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5466,7 +5478,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5522,107 +5534,104 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
+    <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
-        <source>graduated Symbol</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
-        <source>Classification Field:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
-        <source>Mode:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
-        <source>Number of Classes:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5634,22 +5643,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5715,77 +5724,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5793,251 +5802,251 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6113,32 +6122,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6551,12 +6560,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6566,144 +6575,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6754,7 +6733,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6762,17 +6741,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6780,22 +6759,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6803,42 +6782,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6846,7 +6825,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6854,7 +6833,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6862,69 +6841,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7032,7 +7011,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7057,129 +7036,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7340,162 +7319,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7503,22 +7482,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7713,39 +7692,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -7756,78 +7702,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7835,17 +7776,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7906,110 +7847,90 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8024,12 +7945,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8126,27 +8047,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8456,184 +8377,256 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>QgsLegend</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8694,58 +8687,30 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
-    <name>QgsMapLayer</name>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
-        <source>&amp;Remove</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
-        <source>&amp;Properties</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -8756,180 +8721,155 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8949,88 +8889,90 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9067,62 +9009,68 @@
 </context>
 <context>
     <name>QgsMeasure</name>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMeasureBase</name>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
-        <source>Measure</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
-        <source>Help</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
-        <source>New</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
-        <source>Cl&amp;ose</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
-        <source>Total:</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9219,12 +9167,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9232,7 +9180,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9446,42 +9394,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9489,7 +9437,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9497,100 +9445,80 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
-        <source>&amp;OK</source>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9606,14 +9534,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9621,252 +9541,237 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
-        <source>&amp;Ok</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -9875,40 +9780,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10073,87 +9998,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10294,17 +10214,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10395,136 +10315,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -10589,13 +10514,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
-        <source>...</source>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
-        <source>Modified raster:</source>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10620,41 +10545,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -10664,195 +10589,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10865,523 +10778,466 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
-        <source>&amp;Apply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
-        <source>Snapping Tolerance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
-        <source>Band Statistics (if gathered):</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
-        <source>Write access denied</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
-        <source>Write access denied. Adjust the file permissions and try again.
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
-        <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11389,340 +11245,337 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsRasterLayerPropertiesBase</name>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
-        <source>Raster Layer Properties</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
-        <source>&amp;Cancel</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
-        <source>&amp;OK</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
-        <source>&amp;Apply</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
-        <source>Alt+A</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
-        <source>&amp;Help</source>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -11730,19 +11583,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -11750,36 +11613,21 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11787,107 +11635,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11895,112 +11743,92 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12008,124 +11836,109 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12251,17 +12064,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12275,368 +12088,363 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12644,137 +12452,117 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
-        <source>Import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
-        <source>Import the defined shapefiles to PostGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12792,7 +12580,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12800,329 +12588,214 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
-        <source>Attribute table - </source>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
-        <source>&amp;Open attribute table</source>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Stop editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
-        <source>Save as shapefile...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
-        <source>Provider does not support deletion</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
-        <source>Data provider does not support deleting features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Abort</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13134,150 +12807,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
-        <source>Apply</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorSymbologyWidgetBase</name>
@@ -13325,7 +12978,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13333,30 +12986,20 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsWFSSourceSelectBase</name>
@@ -13386,57 +13029,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13449,328 +13062,377 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>[pluginname]GuiBase</name>
+    <name>[pluginname]Gui</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
         <source>Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
-        <source>&amp;OK</source>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
+    <name>[pluginname]GuiBase</name>
+</context>
+<context>
+    <name>gpsPage</name>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation type="unfinished"></translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_pl_PL.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_pl_PL.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_pl_PL.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16,42 +16,42 @@
 <context>
     <name>KDChartParams</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Legend</source>
         <translation type="obsolete">Legenda</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Square</source>
         <translation type="obsolete">Kwadrat</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Diamond</source>
         <translation type="obsolete">Romb</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Circle</source>
         <translation type="obsolete">Koło</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>One pixel</source>
         <translation type="obsolete">Jeden piksel</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Four pixels</source>
         <translation type="obsolete">Cztery piksele</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ring</source>
         <translation type="obsolete">Okrąg</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Cross</source>
         <translation type="obsolete">Krzyż</translation>
     </message>
@@ -59,90 +59,141 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Wpisz koordynaty mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Anuluj</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Zatrzymaj</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Anuluj</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bottom Left</source>
         <translation type="obsolete">Lewy dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Top Left</source>
         <translation type="obsolete">Lewy górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Top Right</source>
         <translation type="obsolete">Prawy górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bottom Right</source>
         <translation type="obsolete">Prawy dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> metres/km</source>
         <translation type="obsolete"> metry/km</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> feet</source>
         <translation type="obsolete">stopa</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> degrees</source>
         <translation type="obsolete">stopnie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> metres</source>
         <translation type="obsolete">metry</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> km</source>
         <translation type="obsolete">km</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tick Down</source>
         <translation type="obsolete">Dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tick Up</source>
         <translation type="obsolete">Górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bar</source>
         <translation type="obsolete">Pasek</translation>
     </message>
@@ -150,12 +201,12 @@
 <context>
     <name>PluginGuiBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Copyright Label Plugin</source>
         <translation type="obsolete">Informacja o prawach autorskich</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:helvetica&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:19pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
@@ -170,82 +221,82 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Placement</source>
         <translation type="obsolete">Umiejscowienie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bottom Left</source>
         <translation type="obsolete">Lewy dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Top Left</source>
         <translation type="obsolete">Lewy górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bottom Right</source>
         <translation type="obsolete">Prawy dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Top Right</source>
         <translation type="obsolete">Prawy górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Orientation</source>
         <translation type="obsolete">Orientacja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Horizontal</source>
         <translation type="obsolete">Poziomo</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Vertical</source>
         <translation type="obsolete">Pionowo</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Enable Copyright Label</source>
         <translation type="obsolete">Włącz etykietę o prawach autorskich</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;OK</source>
         <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Alt+O</source>
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Cancel</source>
         <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Alt+C</source>
         <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS Plugin Template</source>
         <translation type="obsolete">Szablon wtyczki QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Graticule Builder</source>
         <translation type="obsolete">Generator siatki kartograficznej</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/p&gt;
@@ -257,82 +308,82 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Origin (Lower Left)</source>
         <translation type="obsolete">Początek (lewy dolny)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Latitude:</source>
         <translation type="obsolete">Szerokość:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Longitude:</source>
         <translation type="obsolete">Długość:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>End point (Upper Right)</source>
         <translation type="obsolete">Koniec (prawy górny)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Output (Shape) File</source>
         <translation type="obsolete">Wyjściowy plik (Shape)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Graticule Size (units in degrees)</source>
         <translation type="obsolete">Rozmiar siatki kartograficznej (w stopniach)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Latitude Interval:</source>
         <translation type="obsolete">Interwał szerokości:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Longitude Interval:</source>
         <translation type="obsolete">Interwał długości:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Properties</source>
         <translation type="obsolete">Właściwości</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Angle</source>
         <translation type="obsolete">Kąt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Placement on screen</source>
         <translation type="obsolete">Umiejscowienie na ekranie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Icon</source>
         <translation type="obsolete">Ikona</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Plugin Template</source>
         <translation type="obsolete">Szablon wtyczki</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin was generated using QGIS internal plugin template. Please modify it according to your needs.&lt;/p&gt;
@@ -349,12 +400,12 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Scale Bar Plugin</source>
         <translation type="obsolete">Skala</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;
@@ -367,57 +418,57 @@
 </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Size of bar:</source>
         <translation type="obsolete">Rozmiar paska:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Select Colour</source>
         <translation type="obsolete">Wybierz kolor</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Placement:</source>
         <translation type="obsolete">Umiejscowienie:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tick Down</source>
         <translation type="obsolete">Dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tick Up</source>
         <translation type="obsolete">Górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Box</source>
         <translation type="obsolete">Prostokąt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Bar</source>
         <translation type="obsolete">Pasek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Select the style of the scale bar</source>
         <translation type="obsolete">Wybierz styl dla paska skali</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Colour of bar:</source>
         <translation type="obsolete">Kolor paska skali:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Scale bar style:</source>
         <translation type="obsolete">Styl paska skali:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Enable scale bar</source>
         <translation type="obsolete">Włącz pasek skali</translation>
     </message>
@@ -425,17 +476,17 @@
 <context>
     <name>QFileDialog</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>open files dialog</source>
         <translation type="obsolete">okno otwarcia plików</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open an OGR Supported Data Source</source>
         <translation type="obsolete">Otwórz źródło danych obsługiwane przez OGR</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save file dialog</source>
         <translation type="obsolete">Okno zapisu pliku</translation>
     </message>
@@ -443,233 +494,228 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Pliki QGIS (*.qgs)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Choose a QGIS project file to open</source>
         <translation type="obsolete">Wybierz plik projektu QGIS do otwarcia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Choose a QGIS project file</source>
         <translation type="obsolete">Wybierz plik projektu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Brak wtyczek źródeł danych</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Warstwy wektorowe nie mogą zostać wczytane. Spawdź swoją instalację QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Brak źródeł danych</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nie są dostępne żadne wtyczki źródeł danych. Nie można wczytać wartstw wektorowych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Otwórz warstwę OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>przy linii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>kolumna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation type="unfinished">dla pliku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Nie mogę zapisać pliku</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Kolumna referencyjna nie została odnaleziona:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Dzielenie przez zero.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Brak aktywnej warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Aby identyfikować obiekty najpierw należy aktywować warstwę klikając na jej nazwę w legendzie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Kanał</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>akcja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation>znalezione obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation>1 znaleziony obiekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Nie znaleziono obiektów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Nie znaleziono żadnych obiektów na aktywnej warstwie w miejscu kliknięcia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Nie mogę zidentyfikować obiektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation> ponieważ</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Aby wybrać obiekty najpierw należy aktywować warstwę klikając na jej nazwę w legendzie</translation>
+        <translation type="obsolete">Aby wybrać obiekty najpierw należy aktywować warstwę klikając na jej nazwę w legendzie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nowy centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nowy punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nowy wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Cofnij ostatni punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Zakończ linię</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Wybierz wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Wybierz nową pozycję</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Wybierz segment linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nowa pozycja wierzchołka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Usuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Zaznacz element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nowa lokalizacja</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Usuń zaznaczone / zaznacz następne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Zaznacz pozycję na linii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Podziel linię</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Zaznacz punkt na linii</translation>
     </message>
@@ -679,27 +725,27 @@
         <translation>Etykieta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Długość</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Powierzchnia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -709,42 +755,42 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Value </source>
         <translation type="obsolete">Wartość</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -771,12 +817,12 @@
         <translation>Dane GRASS nie będą dostępne, jeśli nie wskażesz GISBASE.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -821,12 +867,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -841,32 +887,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -896,82 +942,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Warstwa nie jest w trybie edycji</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Błąd</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished">m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished">km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished">cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished">stopa</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">stopień</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">stopnie</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished">nieznany</translation>
     </message>
@@ -1021,279 +1250,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Warstwa nie jest w trybie edycji</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Błąd</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Rekordy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">punktach</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Obiekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Baza danych</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabela</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1313,52 +1492,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1366,573 +1545,578 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Loading QGIS...</source>
         <translation type="obsolete">Uruchamianie QGIS...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Setting up QGIS gui...</source>
         <translation type="obsolete">Konfigurowanie interfejsu QGIS...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Layers</source>
         <translation type="obsolete">Warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legenda mapy zawiera wszystkie aktualnie wyświetlane warstwy mapy. Zaznacz pole wyboru przy nazwie, aby włączyć lub wyłączyć warstwę. Podwójne kliknięcie otwiera okno do edycji parametrów wyświetlania i innych właściwości warstwy.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Okno podglądu mapy. W oknie tym wyświetlana jest lokalizacja i zasięg aktualnie prezentowanego fragmentu mapy. Bieżący zasięg zaznaczony jest czerwonym prostokątem. Do okna podglądu można dodać każdą warstę z mapy.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Okno mapy. Tutaj wyświetlane są warstwy rastrowe i wektorowe, które zostały dodane do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Pasek postępu informuje o postępie rysowania warstw oraz innych czasochłonnych operacji</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Wyświetla bieżącą skalę mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Pokazuje współrzędne pozycji wskazywanej przez kursor. Informacja ta jest aktualizowana na bieżąco podczas ruchu myszą.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Renderuj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Jeśli pole jest zaznaczone, to warstwy są odrysowywane na bieżąco w odpowiedzi na użycie narzędzi nawigacyjnych i inne zdarzenia. Umożliwia to dodanie wielu warstw i określenie dla nich symboli przed odrysowaniem.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Loading plugins...</source>
         <translation type="obsolete">Ładowanie wtyczek...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Setting theme...</source>
         <translation type="obsolete">Ustawianie tematu...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS Ready</source>
         <translation type="obsolete">QGIS jest gotowy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Wersja </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> z obsługą PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation> (bez obsługi PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS jest rozpowszechniany na zasadach określonych w Powszechnej Licencji Publicznej GNU</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Wersja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>PostGIS editing support in provider</source>
         <translation type="obsolete">Źródło PostGIS umożliwia edycję</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Improvement in project handling (loading and saving)</source>
         <translation type="obsolete">Poprawki w obsłudze projektu (wczytywanie i zapis)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Scale dependent rendering</source>
         <translation type="obsolete">Rysowanie zależne od skali</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Create new vector layer (shapefile) for editing</source>
         <translation type="obsolete">Utwórz nową warstwę wektorową (shapefile) do edycji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Windows installer</source>
         <translation type="obsolete">Instalator Windows</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Mac OSX binary</source>
         <translation type="obsolete">Binaria dla Mac OSX</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New options in the graticule builder plugin</source>
         <translation type="obsolete">Nowe opcje we wtyczce Generator siatki kartograficznej</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Man page</source>
         <translation type="obsolete">Strona man</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Dostępne wtyczki źródeł danych</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No OGR Provider</source>
         <translation type="obsolete">Brak dostawcy OGR</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No OGR data provider was found in the QGIS lib directory</source>
         <translation type="obsolete">Dostawca danych OGR nie został odnaleziony w katalogu lib programu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>nie jest poprawnym lub rozpoznawanym źródłem danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Niepoprawne źródło danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Niepoprawna warstwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 nie jest poprawną warstwą i nie może zostać wczytana.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No PostgreSQL Provider</source>
         <translation type="obsolete">Brak obsługi PostgreSQL</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No PostgreSQL data provider was found in the QGIS lib directory</source>
         <translation type="obsolete">Nie odnaleziono dostawcy danych PostgreSQL w katalogu lib programu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGis files (*.qgs)</source>
         <translation type="obsolete">Pliki QGIS (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Podaj nazwę pliku projektu QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Saved map to:</source>
         <translation type="obsolete">Zapisano mapę w:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Nie można zapisać projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Nie można zapisać projektu w </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Podaj nazwę pliku do którego zapisać obraz mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Obraz mapy zapisany do</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nie wybrano warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Aby otworzyć tabelę atrybutów, należy wybrać warstwę z legendy</translation>
+        <translation type="obsolete">Aby otworzyć tabelę atrybutów, należy wybrać warstwę z legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Wystąpił problem podczas usuwania obiektów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Wystąpił problem podczas usuwania obiektów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nie wybrano warstwy wektorowej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Usuwanie obiektów jest możliwe tylko z warstw wektorowych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Aby usunąć obiekt, najpierw należy wybrać warstwę wektorową z legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Błąd podczas ładowania wtyczki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Wystąpił błąd podczas ładowania %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Brak wtyczek MapLayers</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Nie znaleziono wtyczek MapLayer w ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Brak wtyczek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Nie znaleziono wtyczek w ../plugins. Aby przetestować wtyczki, uruchom qgis z katalogu src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Wtyczka %1 nazywa się %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informacja o wtyczce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis załadował następującą wtyczkę:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nazwa: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Wersja: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Opis: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Nie można załadować wtyczki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS nie może załadować wtyczki z: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Dostępna jest nowa wersja QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Pracujesz z wersją rozwojową QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Pracujesz z aktualną wersją QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Czy chcesz otrzymać więcej informacji?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informacje o wersji QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS - Changes in CVS Since Last Release</source>
         <translation type="obsolete">QGIS - zmiany w CVS od ostatniego wydania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Nie można pobrać z serwera informacji o aktualnej wersji</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Połączenie odrzucone - serwer może być wyłączony</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Nie można odnaleźć serwera QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Error reading from server</source>
         <translation type="obsolete">Błąd podczas odczytu danych z serwera</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Unable to connect to the QGIS Version server</source>
         <translation type="obsolete">Nie można połączyć sę z serwerem wersji QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Zasięg: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Wtyczki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Otwórz warstwę wektorową OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Zapisz jako</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Wybierz plik projektu QGIS do otwarcia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Błąd wczytywania projektu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Próbować znaleźć brakujące warstwy?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Wybór przeglądarki QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Wpisz nazwę przeglądarki, której chcesz użyć (np. konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation type="unfinished">Wpisz pełną ścieżkę, jeśli przeglądarki nie ma w ścieżce określonej przez zmienną PATH.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Otwórz rastrowe źródło danych GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Czytam ustawienia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Ustawienia GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Sprawdzanie bazy danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Przywracanie załadowanych wtyczek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Inicjalizacja filtrów plików</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Przywracanie stanu okna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS gotowy!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nowy projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nowy projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Otwórz projekt...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Otwórz projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Zapisz projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Zapisz projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Z&amp;apisz projekt jako...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A
@@ -1940,1654 +2124,1769 @@
 Zapisz projekt pod nową nazwą</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Zapisz projekt pod nową nazwą</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Drukuj...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Drukuj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Zapisz jako obraz...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Zapisz mapę jako obraz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Eksportuj jako mapę MapServera...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Eksportuj jako plik MapServer .map</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Zakończ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Wyjdź z QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Dodaj warstwę wektorową...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Dodaj warstwę wektorową</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Dodaj warstwę rastrową...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Dodaj warstwę rastrową</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Dodaj warstwę PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Dodaj warstwę PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nowa warstwa wektorowa...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Utwórz nową warstwę wektorową</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Usuń warstwę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Usuń warstwę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Dodaj wszystkie do podglądu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Pokaż wszystkie warstwy w podglądzie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Usuń wszystkie z podglądu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Usuń wszystkie warstwy z podglądu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Pokaż wszystkie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Pokaż wszystkie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Ukryj wszystkie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Ukryj wszystkie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Właściwości projektu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Ustaw właściwości projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Opcje...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Zmień opcje QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Własny układ współrzędnych...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Zarządzanie własnymi układami współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Zawartość pliku pomocy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Pomoc</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Strona domowa QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Strona domowa QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>O QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>O QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Sprawdź wersję Qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Sprawdź aktualność Twojej wersji QGIS (wymagane połączenie internetowe)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Odśwież</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Odśwież mapę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Powiększ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Pomniejsz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Cały zasięg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Powiększ do pełnego zasięgu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Powiększ do zaznaczonych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Powiększ do zaznaczonych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Przesuwanie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Przesuwanie mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Poprzedni widok</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Przejdź do ostatniego widoku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Powiększ do zasięgu warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Powiększ do zasięgu warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Informacje o obiekcie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Kliknij na obiekcie by uzyskać o nim informacje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Wybierz obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Otwórz tabelę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Pomiar odległości</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Pomiar odległości</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Pomiar powierzchni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Pomiar powierzchni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Pokaż zakładki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nowa zakładka...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nowa zakładka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Dodaj warstwę WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Dodaj warstwę Web Mapping Server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Podgląd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Dodaj aktualną warstwę do podglądu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Menedżer wtyczek...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Otwórz menedżer wtyczek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Rozpocznij edycję aktualnej warstwy</translation>
+        <translation type="obsolete">Rozpocznij edycję aktualnej warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Zakończ edycję aktualnej warstwy</translation>
+        <translation type="obsolete">Zakończ edycję aktualnej warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Dodaj linię</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Dodaj linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Dodaj poligon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Dodaj poligony</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Delete Seleced</source>
         <translation type="obsolete">Usuń zaznaczone</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Usuń zaznaczone</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Dodaj wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Usuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Przesuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Plik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Otwórz ostatnie projekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>W&amp;arstwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Ustawienia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Plik</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Zarządzaj warstwami</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Pomoc</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalizacja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atrybuty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Wtyczki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Gotowe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Nowe obiekty</translation>
+        <translation>Nowe obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Nie mogę otworzyć projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Nie mogę zapisać projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Wybierz nazwę by zapisać projekt QGIS jako</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Nie mogę załadować projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Nie mogę załadować projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - zmiany w SVN od ostatniego wydania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Możesz zmienić tą opcję później wybierając Opcje z menu Ustawienia (Przeglądarka pomocy).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Warstwa jest nieobsługiwana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Warstwa nie jest obsługiwana i nie może być dodana do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Zapisać?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Zawartość schowka ustawiona na:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> jest nieprawidłowym lub nierozpoznanym rastrowym źródłem danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> jest nieobsługiwanym rastrowym źródłem danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Nieobsługiwane źródło danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Wpisz nazwę nowej zakładki:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Nie mogę stworzyć zakładki. Brakuje Twojej bazy danych może być uszkodzona</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Kasuj obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Kasuj zaznaczone obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopiuj obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopiuj zaznaczone obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Wklej obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Wklej zaznaczone obiekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Paski narzędzi...</translation>
+        <translation type="obsolete">&amp;Paski narzędzi...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished">
 Compiled against Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished">, running against Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Wiele usprawnień interfejsu użytkownika</translation>
+        <translation>Wiele usprawnień interfejsu użytkownika</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Poprawiona edycja warstw i atrybutów</translation>
+        <translation>Poprawiona edycja warstw i atrybutów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Czy chcesz zapisać bieżący projekt?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Czy chcesz zapisać bieżący projekt?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1332"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">Wsparcie dla WMS</translation>
+        <translation>Wsparcie dla WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Udoskonalone narzędzia pomiaru z pomiarem powierzchni</translation>
+        <translation>Udoskonalone narzędzia pomiaru z pomiarem powierzchni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Wyszukiwanie po atrybutach</translation>
+        <translation type="unfinished">Wyszukiwanie po atrybutach</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Nowa struktura legendy</translation>
+        <translation>Nowa struktura legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Poprawione narzędzie eksportu do MapServer</translation>
+        <translation>Poprawione narzędzie eksportu do MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Przeźroczystość warstw wektorowych</translation>
+        <translation>Przeźroczystość warstw wektorowych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Antyaliasing warstw wektorowych</translation>
+        <translation>Antyaliasing warstw wektorowych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">Wsparcie dla GRASS na wszystkich platformach</translation>
+        <translation>Wsparcie dla GRASS na wszystkich platformach</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Edycja warstw shape/OGR</translation>
+        <translation>Edycja warstw shape/OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Źródło danych nie obsługuje operacji usuwania</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Źródło danych nie obsługuje operacji usuwania</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Warstwa nie jest w trybie edycji</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;File</source>
         <translation type="obsolete">&amp;Plik</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;View</source>
         <translation type="obsolete">&amp;Widok</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Layer</source>
         <translation type="obsolete">W&amp;arstwa</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Settings</source>
         <translation type="obsolete">&amp;Ustawienia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Help</source>
         <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>File Management Toolbar</source>
         <translation type="obsolete">Pasek narzędzi plików</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Data Toolbar</source>
         <translation type="obsolete">Pasek narzędzi danych</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Show all layers</source>
         <translation type="obsolete">Pokaż wszystkie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add to overview</source>
         <translation type="obsolete">Dodaj do podglądu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Map Navigation Toolbar</source>
         <translation type="obsolete">Pasek narzędzi nawigacji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Capture points</source>
         <translation type="obsolete">Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Attribute Data Toolbar</source>
         <translation type="obsolete">Pasek narzędzi atrybutów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Help Toolbar</source>
         <translation type="obsolete">Pasek pomocy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Plugins Toolbar</source>
         <translation type="obsolete">Pasek wtyczek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open Project</source>
         <translation type="obsolete">Otwórz projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Open Project</source>
         <translation type="obsolete">&amp;Otwórz projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open a previously saved QGIS project file. The layers (raster and vector) stored in the project file will be loaded and displayed on the map canvas</source>
         <translation type="obsolete">Otwórz poprzednio zapisany projekt QGIS. Warstwy (rastrowe i wektorowe) zapisane w projekcie zostaną wczytane i wyświetlone w oknie mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Exit</source>
         <translation type="obsolete">Zakończ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>E&amp;xit</source>
         <translation type="obsolete">Za&amp;kończ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Close all layers and exit QGIS</source>
         <translation type="obsolete">Zamknij wszystkie warstwy i zakończ pracę z QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a PostGIS Layer</source>
         <translation type="obsolete">Dodaj warstwę PostGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a &amp;PostGIS Layer</source>
         <translation type="obsolete">Dodaj warstwę &amp;PostGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a PostgreSQL layer to the map. This requires a properly configured and running PostgreSQL database and the PostGIS extensions.</source>
         <translation type="obsolete">Dodaj warstwę PostgreSQL do mapy. Wymagana jest poprawnie skonfigurowana i pracująca baza danych PostgreSQL oraz dodatek PostGIS.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>D</source>
         <translation type="obsolete">D</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Refresh </source>
         <translation type="obsolete">Odśwież</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Refresh </source>
         <translation type="obsolete">&amp;Odśwież</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Refresh the map by clearing the map canvas and redrawing all visible layers</source>
         <translation type="obsolete">Odświeża mapę wyczyszczając okno mapy i odrysowując wszystkie widoczne warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to full extent</source>
         <translation type="obsolete">Powiększ do pełnego zasięgu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to &amp;full extent</source>
         <translation type="obsolete">Powiększ do pełnego &amp;zasięgu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to the full extent of all layers on the map. This brings everything on the map into full view</source>
         <translation type="obsolete">Powiększa do pełnego zasięgu wszystkich warstw mapy. Powoduje wyświetlenie całego zasięgu mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Map Navigation Tools</source>
         <translation type="obsolete">Narzędzia nawigacyjne mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom in</source>
         <translation type="obsolete">Powiększ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom &amp;In</source>
         <translation type="obsolete">Pow&amp;iększ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom in on the map. Drag the mouse (hold down the left button) to draw a rectangle around the area you want to zoom to, then release the mouse.</source>
         <translation type="obsolete">Powiększenie mapy. Wciśnij lewy przycisk i przeciągnij myszą po mapie rysując prostokąt nad obszarem który chcesz powiększyć, a następnie zwolnij przycisk myszy.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Pan</source>
         <translation type="obsolete">Przesuń</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Pan</source>
         <translation type="obsolete">&amp;Przesuń</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Pan the map view by dragging the mouse (hold down the left button). The area displayed will change after the mouse is released.</source>
         <translation type="obsolete">Przesuwa mapę. Wciśnij lewy przycisk i przeciągnij myszą po mapie przesuwając ją w żądanym kierunku, a następnie zwolnij przycisk myszy.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom out</source>
         <translation type="obsolete">Pomniejsz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom &amp;Out</source>
         <translation type="obsolete">P&amp;omniejsz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom out to view more of the map. Drag the mouse (hold down the left button) to draw a rectangle around an area. The current view will zoomed out and resized to &quot;fit&quot; in the rectangle.</source>
         <translation type="obsolete">Pomniejszanie mapy. Wciśnij lewy przycisk i przeciągnij myszą po mapie rysując prostokąt, zwolnij przycisk. Bieżący widok zostanie zmniejszony i dopasowany do narysowanego prostokąta.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to selected features</source>
         <translation type="obsolete">Powiększ do selekcji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Zoom to selected features</source>
         <translation type="obsolete">Powiększ do &amp;selekcji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to selected features in active layer</source>
         <translation type="obsolete">Powiększenie do selekcji na aktywnej warstwie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to the extent of selected features on the active layer. The view will be zoomed so that all selected features are visible. If there are no selected features, the view is not changed.</source>
         <translation type="obsolete">Powiększa do zasięgu selekcji na aktywnej warstwie. Widok zostanie powiększony tak, aby wyświetlić wszystkie wybrane obiekty. Jeśli nie wybrano żadnych obiektów, widok się nie zmieni.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Identify</source>
         <translation type="obsolete">Zidentyfikuj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>I&amp;dentify</source>
         <translation type="obsolete">Z&amp;identyfikuj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Identify a feature on the active layer</source>
         <translation type="obsolete">Identyfikuj obiekt na aktywnej warstwie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Identify a feature on the active layer (the active layer is the highlighted layer in the legend). Idenify searches for features near where the mouse is clicked and displays information about the results. The search radius can be customized on the QGIS Preferences dialog.</source>
         <translation type="obsolete">Identyfikuje obiekt na aktywnej warstwie (aktywna warstwa jest podświetlona w legendzie). Narzędzie wyszukuje obiekty w miejscu kliknięcia na mapie i wyświetla wynik identyfikacji. Promień dla wyszukiwania można zmienić w oknie ustawień QGIS.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>select features</source>
         <translation type="obsolete">Wybierz obiekty</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Select features on the active layer by dragging the mouse to create a box around the features of interest. When the mouse is released, the features are selected and drawn in a different color (default is yellow)</source>
         <translation type="obsolete">Zaznacza obiekty na aktywnej warstwie poprzez narysowanie myszą prostokąta nad obszarem zainteresowań. Po zwolnieniu przycisku myszy obiekty znajdujące się w tym zasięgu zostaną odrysowane innym kolorem (domyślnie żółty)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Capture Point</source>
         <translation type="obsolete">Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Capture Line</source>
         <translation type="obsolete">Dodaj linię</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Capture Polygon</source>
         <translation type="obsolete">Dodaj poligon</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;About Quantum GIS</source>
         <translation type="obsolete">O Qu&amp;antum GIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Display the About QGIS dialog. About QGIS contains information about the current version, contributors, and available data provider plugins.</source>
         <translation type="obsolete">Wyświetla okno z informacją o programie QGIS. Są to informacje o wersji programu, autorach i dostępnych wtyczkach dla źródeł danych.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Test button</source>
         <translation type="obsolete">Przycisk test</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a Vector Layer</source>
         <translation type="obsolete">Dodaj warstwę wektorową</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a &amp;Vector Layer</source>
         <translation type="obsolete">Dodaj warstwę &amp;wektorową</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a vector layer (e.g. Shapefile)</source>
         <translation type="obsolete">Dodaj warstwę wektorową (np. Shapefile)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a vector layer to the map canvas. The supported formats are those provided by the OGR library. For a list of supported formats, see http://www.remotesensing.org/gdal/ogr/ogr_formats.html</source>
         <translation type="obsolete">Dodaje warstwę wektorową do mapy. Obsługiwane są formaty danych wspierane przez bibliotekę OGR. Listę obsługiwanych formatów możesz przejrzeć tutaj
 http://www.remotesensing.org/gdal/ogr/ogr_formats.html</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>V</source>
         <translation type="obsolete">V</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Attribute table</source>
         <translation type="obsolete">Tabela atrybutów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Attribute table</source>
         <translation type="obsolete">Tabela &amp;atrybutów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the attribute table for the selected layer</source>
         <translation type="obsolete">Otwórz tabelę atrybutów dla wybranej warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the attribute table for the selected vector layer. The rows can be sorted by clicking on the column names in the header row.</source>
         <translation type="obsolete">Otwiera tabelę atrybutów dla wybranej warstwy. Rekordy można sortować klikając na nagłówki kolumn.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Previous</source>
         <translation type="obsolete">Poprzedni</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to &amp;previous extent</source>
         <translation type="obsolete">&amp;Poprzedni zasięg</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to last extent</source>
         <translation type="obsolete">Poprzedni zasięg</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to the last view. QGIS stores only one previous view so repeatedly clicking this button swaps the views.</source>
         <translation type="obsolete">Powraca do ostataniego powiększenia. QGIS przechowuje tylko jeden ostatni widok, więc powtórne kliknięcie zamienia widoki.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Test plugin functions</source>
         <translation type="obsolete">Testuj funkcje wtyczki</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Preferences</source>
         <translation type="obsolete">Ustawienia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Preferences</source>
         <translation type="obsolete">&amp;Ustawienia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS User Preferences</source>
         <translation type="obsolete">Ustawienia użytkownika QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the options dialog to set QGIS preferences like web browser and identify search radius.</source>
         <translation type="obsolete">Otwiera okno do edycji ustawień QGIS, takich jak wybór przeglądarki WWW i określenie promienia dla narzędzia identyfikacji.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save Project</source>
         <translation type="obsolete">Zapisz projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Save Project</source>
         <translation type="obsolete">&amp;Zapisz projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save the current map as a QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
         <translation type="obsolete">Zapisuje bieżący projekt mapy. Projekt QGIS może być ponownie otwarty wraz ze wszystkimi zapisanymi warstwami i ich konfiguracją.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+S</source>
         <translation type="obsolete">Ctrl+S</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save Project As...</source>
         <translation type="obsolete">Zapisz projekt jako...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save Project &amp;As...</source>
         <translation type="obsolete">Z&amp;apisz projekt jako...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save the current map as a new QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
         <translation type="obsolete">Zapisuje mapę jako nowy projekt QGIS, który może być ponownie otwarty wraz ze wszystkimi zapisanymi warstwami i ich konfiguracją.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Project</source>
         <translation type="obsolete">Nowy projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;New Project</source>
         <translation type="obsolete">&amp;Nowy projekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Start a new QGIS project</source>
         <translation type="obsolete">Utwórz nowy projekt QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Create a new, empty QGIS project. All layers will be removed from the map canvas and a blank canvas will be created.</source>
         <translation type="obsolete">Tworzy nowy pusty projekt QGIS. Wszystkie aktualne warstwy będą usunięte i wyświetlone zostanie czyste okno mapy.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+N</source>
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Plugin Manager</source>
         <translation type="obsolete">Menadżer wtyczek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Plugin &amp;Manager</source>
         <translation type="obsolete">&amp;Menadżer wtyczek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Opens the Plugin Manager and allows you to view loaded plugins or load a new one. The Plugin Manager lists the available plugins and a description of the features each provides.</source>
         <translation type="obsolete">Otwiera okno menadżera wtyczek, w którym można przeglądać aktualnie załadowane wtyczki oraz dodawać nowe. W oknie tym prezentowane są dostępne wtyczki wraz z opisem ich funkcji.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Check QGIS Version</source>
         <translation type="obsolete">Sprawdź wersję QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Check QGIS &amp;Version</source>
         <translation type="obsolete">Sprawdź &amp;wersję QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Contacts the QGIS version server and provides information about the current version and any new features/changes available in the development version.</source>
         <translation type="obsolete">Łączy się z serwerem wersji QGIS i sprawdza czy dostępna jest nowa wersja. Pobiera informacje o nowościach i zmianach w nowej wersji.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Export As Mapserver file</source>
         <translation type="obsolete">Eksportuj jako plik dla Mapserver</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Export As &amp;Mapserver file</source>
         <translation type="obsolete">Eksportuj jako plik dla &amp;Mapserver</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Creates a Mapserver file (.map) from the current QGIS view. The .map file can be used to create a Mapserver project.</source>
         <translation type="obsolete">Tworzy plik dla Mapserver (.map) na podstawie aktualnego widoku mapy. Plik .map może być użyty do utworzenia projektu dla Mapserver.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Export to MapServer</source>
         <translation type="obsolete">Eksport dla MapServer</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a Raster Layer</source>
         <translation type="obsolete">Dodaj warstwę rastrową</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add a &amp;Raster Layer</source>
         <translation type="obsolete">Dodaj warstwę &amp;rastrową</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Adds a raster layer to the map canvas. Supported raster formats include most of those provided by the GDAL library. See http://www.remotesensing.org/gdal/formats_list.html</source>
         <translation type="obsolete">Dodaje warstwę rastrową do mapy. Obsługiwana jest większość formatów biblioteki GDAL. Zobacz http://www.remotesensing.org/gdal/formats_list.html</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>R</source>
         <translation type="obsolete">R</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Action</source>
         <translation type="obsolete">Akcja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Contents</source>
         <translation type="obsolete">&amp;Spis treści</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS Help (HTML)</source>
         <translation type="obsolete">Pomoc QGIS (HTML)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the QGIS Help Contents in a web browser</source>
         <translation type="obsolete">Otwórz pomoc QGIS w przeglądarce WWW</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS Home Page</source>
         <translation type="obsolete">Strona domowa QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the QGIS home page in a web browser</source>
         <translation type="obsolete">Otwórz stronę domową QGIS w przeglądarce WWW</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>QGIS SourceForge Page</source>
         <translation type="obsolete">Strona QGIS na SourceForge</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Open the QGIS SourceForge project page in a web browser</source>
         <translation type="obsolete">Otwórz stronę projektu QGIS na SourceForge</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Export As Image</source>
         <translation type="obsolete">Eksportuj jako obraz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Export As Image</source>
         <translation type="obsolete">&amp;Eksportuj jako obraz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Save the current map view as a PNG image. The image size will be exactly the same as the size of the map canvas.</source>
         <translation type="obsolete">Zapisuje bieżący widok mapy jako obraz PNG. Rozmiar zapisanego obrazu będzie dokładnie taki sam jak rozmiar okna mapy.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Whats this?</source>
         <translation type="obsolete">Co to jest?</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Whats this?</source>
         <translation type="obsolete">&amp;Co to jest?</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Whats this? - Click this tool and then click on a toolbar button or menu item to get more information</source>
         <translation type="obsolete">Co to jest? - Wybierz to narzędzie i kliknij na dowolny przycisk lub pozycję menu po więcej informacji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Shift+F1</source>
         <translation type="obsolete">Shift+F1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Project Properties</source>
         <translation type="obsolete">Właściwości projektu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>P&amp;roject Properties</source>
         <translation type="obsolete">Właściwości p&amp;rojektu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Set project properties, including map units</source>
         <translation type="obsolete">Ustawienia projektu, jednoski mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Set properties for the current project, including map units</source>
         <translation type="obsolete">Ustawienia właściwości bieżącego projektu, również jednostki mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Properties</source>
         <translation type="obsolete">Właściwości</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Properties</source>
         <translation type="obsolete">&amp;Właściwości</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Properties for the selected layer</source>
         <translation type="obsolete">Właściwości wybranej warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to layer</source>
         <translation type="obsolete">Powiększ do zasięgu warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to &amp;layer</source>
         <translation type="obsolete">Powiększ do &amp;warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Print</source>
         <translation type="obsolete">Drukuj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Print</source>
         <translation type="obsolete">&amp;Drukuj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+P</source>
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add All To Overview</source>
         <translation type="obsolete">Dodaj wszystkie do podglądu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>+</source>
         <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Remove All From Overview</source>
         <translation type="obsolete">Usuń wszystkie z podglądu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>-</source>
         <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Show All Layers</source>
         <translation type="obsolete">Pokaż wszystkie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>S</source>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Hide All Layers</source>
         <translation type="obsolete">Ukryj wszystkie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>H</source>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Map Edit Tools</source>
         <translation type="obsolete">Narzędzia edycji mapy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Remove Layer</source>
         <translation type="obsolete">Usuń warstwę</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Toggle In Overview</source>
         <translation type="obsolete">Dodaj do podglądu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Vectorlayer</source>
         <translation type="obsolete">Nowa warstwa wektorowa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished">Okno główne</translation>
     </message>
@@ -3610,154 +3909,154 @@
         <translation>O Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>O QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;p align=&quot;center&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;p&gt;
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</source>
         <translation type="obsolete">&lt;p align=&quot;center&quot;&gt;Quantum GIS jest rozpowszechniany na zasadach określonych w Powszechnej Licencji Publicznej GNU&lt;p&gt;
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Strona domowa QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Subskrybuj listę QGIS-User</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Wersja</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Co nowego</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Contributors</source>
         <translation type="obsolete">Autorzy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;h2&gt;QGIS Contributors&lt;/h2&gt;</source>
         <translation type="obsolete">&lt;h2&gt;Autorzy QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Gary E. Sherman</source>
         <translation type="obsolete">Gary E. Sherman</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Steve Halasz</source>
         <translation type="obsolete">Steve Halasz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tim Sutton</source>
         <translation type="obsolete">Tim Sutton</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Marco Hugentobler</source>
         <translation type="obsolete">Marco Hugentobler</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Denis Antipov</source>
         <translation type="obsolete">Denis Antipov</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Mark Coletti</source>
         <translation type="obsolete">Mark Coletti</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Jens Oberender</source>
         <translation type="obsolete">Jens Oberender</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Radim Blazek</source>
         <translation type="obsolete">Radim Blazek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Carl Anderson</source>
         <translation type="obsolete">Carl Anderson</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Masaru Hoshi</source>
         <translation type="obsolete">Masaru Hoshi</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Lars Luthman</source>
         <translation type="obsolete">Lars Luthman</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Peter Brewer</source>
         <translation type="obsolete">Peter Brewer</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Christoph Spoerri</source>
         <translation type="obsolete">Christoph Spoerri</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Gavin Macaulay</source>
         <translation type="obsolete">Gavin Macaulay</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tom Elwertowski</source>
         <translation type="obsolete">Tom Elwertowski</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Źródła danych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Programiści</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Programiści QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>Wybór przeglądarki QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -3766,22 +4065,22 @@
 Możesz zmienić tą opcję później wybierając Opcje z menu Ustawienia (zakładka Przeglądarka pomocy).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>Sponsorzy QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Sponsorzy QGIS, którzy przekazali pieniądze na rozwój projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Strona internetowa</translation>
     </message>
@@ -3792,26 +4091,17 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS jest dostępny na licencji GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsorzy</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -3844,22 +4134,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Akcja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -3873,12 +4163,12 @@
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Name</source>
         <translation type="obsolete">Nazwa</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Action</source>
         <translation type="obsolete">Akcja</translation>
     </message>
@@ -4016,12 +4306,12 @@
         <translation>Wprowadź wartość atrybutu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>OK</source>
         <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Cancel</source>
         <translation type="obsolete">Anuluj</translation>
     </message>
@@ -4054,12 +4344,12 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;center&gt;Run action&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;Uruchom akcję&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Uruchom akcję</translation>
     </message>
@@ -4072,7 +4362,7 @@
         <translation>Tabela atrybutów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Close</source>
         <translation type="obsolete">Zamknij</translation>
     </message>
@@ -4082,7 +4372,7 @@
         <translation>Rozpocznij edycję</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Stop editing</source>
         <translation type="obsolete">Zakończ edycję</translation>
     </message>
@@ -4200,79 +4490,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>zaznacz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>zaznacz i przenieś na górę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>pokaż tylko zaznaczone</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Rezultaty wyszukiwania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Błąd wyszukiwania</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Znaleziono %d pasujących obiektów.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Nie znaleziono pasujących obiektów.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Zakończ edycję</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Błąd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4280,42 +4570,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Czy na pewno usunąć?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Czy jesteś pewien, że mam usunąć</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> zakładkę?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Tak</translation>
+        <translation type="obsolete">&amp;Tak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Nie</translation>
+        <translation type="obsolete">&amp;Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Błąd podczas usuwania zakładki</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Nie powiodło się usunięcie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> zakładki z bazy danych. Komunikat bazy danych:
@@ -4389,27 +4679,27 @@
 <context>
     <name>QgsCommunityRegPluginGuiBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;OK</source>
         <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Alt+O</source>
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Cancel</source>
         <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Alt+C</source>
         <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Name:</source>
         <translation type="obsolete">Nazwa:</translation>
     </message>
@@ -4417,122 +4707,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>do odczytu/zapisu</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Podaj nazwę pliku do którego zapisać obraz mapy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Podaj nazwę pliku do którego zapisać mapę</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Błąd druku</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Nie mogę wyszukać</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished">Nie mogę nadpisać BoundingBox</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished">Nie mogę znaleźć BoundingBox</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Nie mogę nadpisać tłumaczenia</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Nie mogę znaleźć tłumaczenia</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Błąd wejścia/wyjścia</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Niewłaściwy papier </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Wybrany rozmiar papieru nie odpowiada rozmiarowi kompozycji</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Duży obraz</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Aby stworzyć obraz</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>potrzeba około</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation>MB pamięci</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished">QGIS - kompozytor wydruku</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Mapa 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Nie mogę otworzyć</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>format</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Nie pokazuj tego komunikatu ponownie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>Format SVG</translation>
     </message>
@@ -4555,12 +4845,12 @@
         <translation>Obiekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Toolbar</source>
         <translation type="obsolete">Pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tools</source>
         <translation type="obsolete">Narzędzia</translation>
     </message>
@@ -4570,7 +4860,7 @@
         <translation>&amp;Otwórz szablon ...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
@@ -4580,7 +4870,7 @@
         <translation>Zapisz szablon j&amp;ako...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Print</source>
         <translation type="obsolete">Drukuj</translation>
     </message>
@@ -4590,22 +4880,22 @@
         <translation>&amp;Drukuj...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+P</source>
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom to full extent</source>
         <translation type="obsolete">Powiększ do pełnego zasięgu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom in</source>
         <translation type="obsolete">Powiększ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Zoom out</source>
         <translation type="obsolete">Pomniejsz</translation>
     </message>
@@ -4706,32 +4996,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Mapa %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Zasięg (przelicz skalę)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Skala (przelicz powiększenie)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Renderuj</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Prostokąt</translation>
     </message>
@@ -4817,22 +5107,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Nie mogę załadować obrazu.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Wybierz plik</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Obrazy (</translation>
     </message>
@@ -4921,37 +5211,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Warstwy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grupa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Renderuj</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Prostokąt</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Legenda</translation>
     </message>
@@ -4989,7 +5279,7 @@
         <translation>Kolumna 1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
@@ -5002,97 +5292,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Własny</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Pionowo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Poziomo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Brak pamięci</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -5101,17 +5391,17 @@
   </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etykieta</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Nie mogę załadować obrazu.</translation>
     </message>
@@ -5162,27 +5452,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Test połączenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Połączenie z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> zakończone sukcesem</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Połączenie nieudane - sprawdź ustawienia i spróbuj ponownie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5202,42 +5492,42 @@
         <translation>Informacje o połączeniu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Baza danych</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Użytkownik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Hasło</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nazwa dla nowego połączenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -5254,53 +5544,53 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <translation type="obsolete">Anuluj</translation>
     </message>
 </context>
 <context>
     <name>QgsContColDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Continuous color</source>
         <translation type="obsolete">Ciągły kolor</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Minimum Value:</source>
         <translation type="obsolete">Wartość minimalna:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Outline Width:</source>
         <translation type="obsolete">Szerokość obrysu:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Maximum Value:</source>
         <translation type="obsolete">Wartość maksymalna:</translation>
     </message>
@@ -5313,7 +5603,7 @@
         <translation>Ciągły kolor</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
@@ -5346,32 +5636,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Nieudana</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformacja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>z błędem:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Źródłowy system referencyjny (SRS) jest nieprawidłowy.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Współrzędne nie mogą być przeliczone. Aktualny SRS:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Docelowy system referencyjny (SRS) jest nieprawidłowy.</translation>
     </message>
@@ -5379,32 +5669,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Lewy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Lewy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Prawy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Prawy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>Informa&amp;cja o prawach autorskich</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Tworzy etykietę o prawach autorskich wyświetlaną na mapie.</translation>
     </message>
@@ -5422,7 +5712,7 @@
         <translation>Informacja o prawach autorskich</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:helvetica&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:19pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
@@ -5484,37 +5774,37 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="34"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Wpisz Twoje informacje o prawach autorskich poniżej. Ta wtyczka umożliwia użycie podstawowych znaczników html do formatowania tekstu. Np.:&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Wytłuszczenie &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Kursywa &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(uwaga: &amp;amp;copy; wkleja symbol praw autorskich)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message encoding="UTF-8">
-        <location filename="" line="1634288755"/>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="41"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -5541,85 +5831,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Usunąć definicję układu współrzędnych?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Usunięcie definicji układu współrzędnych jest nieodwracalne. Czy chcesz ją usunąć?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nowy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>Własny układ współrzędnych QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definicja własnego układu współrzędnych</translation>
     </message>
@@ -5629,248 +5909,264 @@
         <translation>Definiuj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametry:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 z 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nowy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Zapisz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Usuń</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Zamknij</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nazwa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Testuj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Przekształć z WGS84 do wybranego układu współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Przelicz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation type="unfinished">Projektowany układ współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geograficzny /WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Północ:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Wschód:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Możesz tu zdefiniować swój własny układ współrzędnych. Definicja musi odpowiadać formatowi proj4  sprecyzującemu przestrzenny układ odniesienia.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Możesz tu zdefiniować swój własny układ współrzędnych. Definicja musi odpowiadać formatowi proj4  sprecyzującemu przestrzenny układ odniesienia.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Użyj  pól tekstowych poniżej by przetestować definicję układu współrzędnych, który stworzyłeś. Wpisz współrzędne szerokości i długości geograficznej i sprawdź rezultat w Twoim układzie współrzędnych (np. odczytany z mapy). Następnie wciśnij przycisk &quot;przelicz&quot;, by zobaczyć czy definicja układu współrzędnych, którą stworzyłeś jest dokładna.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Użyj  pól tekstowych poniżej by przetestować definicję układu współrzędnych, który stworzyłeś. Wpisz współrzędne szerokości i długości geograficznej i sprawdź rezultat w Twoim układzie współrzędnych (np. odczytany z mapy). Następnie wciśnij przycisk &quot;przelicz&quot;, by zobaczyć czy definicja układu współrzędnych, którą stworzyłeś jest dokładna.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Czy na pewno chcesz usunąć </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>połączenie i wszystkie związane z nim ustawienia?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Zatwierdź usunięcie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Wybierz Tabelę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Musisz wybrać tabelę aby dodać warstwę.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Hasło dla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Proszę podać hasło:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Połączenie nie powiodło się</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4%5</source>
         <translation type="obsolete">Połączenie z %1 na %2 nie powiodło się. Baza danych może być wyłączona lub Twoje ustawienia są nieprawidłowe. %3Sprawdź nazwę użytkownika oraz hasło i spróbuj ponownie. %4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Warstwa punktowa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Warstwa poligonowa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Czekam na typ warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Nieznany typ warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5971,7 +6267,7 @@
         <translation>Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
@@ -5999,7 +6295,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6012,30 +6308,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Brak nazwy warstwy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Proszę wprowadzić nazwę warstwy przed dodaniem jej do mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Brak separatora</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Proszę zdefiniować separator przez rozpoczęciem przetwarzania pliku</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Wybierz do otwarcia plik rozdzielany separatorem</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6047,125 +6353,105 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <translation type="obsolete">Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomoc</translation>
+        <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Pomoc dla użycia wtyczki</translation>
+        <translation type="obsolete">Pomoc dla użycia wtyczki</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Otwiera pomoc dla </translation>
+        <translation type="obsolete">Otwiera pomoc dla </translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Przetwarzaj</translation>
+        <translation type="obsolete">&amp;Przetwarzaj</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Dodaj warstwę</translation>
+        <translation type="obsolete">&amp;Dodaj warstwę</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Zamknij</translation>
+        <translation type="obsolete">&amp;Zamknij</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Zamknij okno</translation>
+        <translation type="obsolete">Zamknij okno</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Zamyka okno bez modyfikowania mapy.</translation>
+        <translation type="obsolete">Zamyka okno bez modyfikowania mapy.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X pole&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nazwa pola zawierającego wartość x</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nazwa pola zawierającego wartość x. Wybierz pole z listy. Lista generowana jest na podstawie pierwszego wiersza pliku rozdzielanego separatorem.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y pole&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nazwa pola zawierającego wartość y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nazwa pola zawierającego wartość y. Wybierz pole z listy. Lista generowana jest na podstawie pierwszego wiersza pliku rozdzielanego separatorem.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Przykładowy tekst</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
@@ -6180,220 +6466,223 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nazwa warstwy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nazwa do wyświetlenia w legendzie mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nazwa wyświetlana w legendzie mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Separator</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Zapisz warstwę jako...</translation>
+        <translation type="obsolete">Zapisz warstwę jako...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Pliki shape (*.shp)</translation>
+        <translation type="obsolete">Pliki shape (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation>Błąd tworzenia pola</translation>
+        <translation type="obsolete">Błąd tworzenia pola</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation>Błąd tworzenia warstwy</translation>
+        <translation type="obsolete">Błąd tworzenia warstwy</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation>Błąd tworzenia pliku shape</translation>
+        <translation type="obsolete">Błąd tworzenia pliku shape</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation>Plik shape nie może być utworzony (</translation>
+        <translation type="obsolete">Plik shape nie może być utworzony (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation>Nie znaleziono sterownika</translation>
+        <translation type="obsolete">Nie znaleziono sterownika</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation>sterownik nie jest dostępny</translation>
+        <translation type="obsolete">sterownik nie jest dostępny</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomoc</translation>
+        <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Buffer Settings:</source>
         <translation type="obsolete">Ustawienia bufora:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Odległość bufora w jednostkach mapy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nazwa tabeli dla buforowanej warstwy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Utwórz unikalny id obiektu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>publiczny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Kolumna geometrii:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID powiązania przestrzennego:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Pole unikalne do użycia jako id obiektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Czy dodać buforowaną warstwę do mapy?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Buforuj obiekty na warstwie: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametry</translation>
     </message>
@@ -6401,72 +6690,72 @@
 <context>
     <name>QgsDlgVectorLayerProperties</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>The source of the data (path name or database connection information)</source>
         <translation type="obsolete">Źródło danych (ścieżka lub połączenie z bazą danych)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="obsolete">Otwiera kreator zapytań PostgreSQL oraz pozwala utworzyć podzbiór obiektów do wyświetlenia na mapie, zamiast wyświetlania wszystkich obiektów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Single Symbol</source>
         <translation type="obsolete">Symbol pojedynczy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Graduated Symbol</source>
         <translation type="obsolete">Symbol stopniowy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Continuous Color</source>
         <translation type="obsolete">Kolor ciągły</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Unique Value</source>
         <translation type="obsolete">Wartość unikalna</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> using the commercial version of Qt. As this project is developed by volunteers</source>
         <translation type="obsolete">używając komertyjnej wersji Qt. Ponieważ projekt ten został stworzony przez wolontariuszy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> donating their time, we don&apos;t have the financial resources to purchase Qt</source>
         <translation type="obsolete">oferujących jedynie swój czas, nie posiadamy zasobów finansowych aby zakupić Qt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source> commercial.  If you would like to help us, please visit the QGIS sourceforge</source>
         <translation type="obsolete">Jeśli chciałbyś udzielić nam dotacji, proszę odwiedź stronę projektu QGIS na SourceForge</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No SVG Support</source>
         <translation type="obsolete">Brak obsługi SVG</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Field</source>
         <translation type="obsolete">Pole</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Type</source>
         <translation type="obsolete">Typ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Length</source>
         <translation type="obsolete">Długość</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Precision</source>
         <translation type="obsolete">Precyzja</translation>
     </message>
@@ -6474,197 +6763,197 @@
 <context>
     <name>QgsDlgVectorLayerPropertiesBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Layer Properties</source>
         <translation type="obsolete">Właściwości warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Help</source>
         <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Cancel</source>
         <translation type="obsolete">Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>OK</source>
         <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Apply</source>
         <translation type="obsolete">Zastosuj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Symbology</source>
         <translation type="obsolete">Symblika</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Legend type:</source>
         <translation type="obsolete">Rodzaj legendy:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>General</source>
         <translation type="obsolete">Ogólne</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Layer source</source>
         <translation type="obsolete">Źródło warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Visibility</source>
         <translation type="obsolete">Widoczność</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Use scale dependent rendering</source>
         <translation type="obsolete">Użyj rysowania zależnego od skali</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Maximum 1:</source>
         <translation type="obsolete">Maksymalna 1:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="obsolete">Maksymalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Minimum 1:</source>
         <translation type="obsolete">Minimalna 1:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="obsolete">Minimalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Display name</source>
         <translation type="obsolete">Nazwa wyświetlana</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Display field</source>
         <translation type="obsolete">Wyświetlaj pole</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="obsolete">Wyświetlaj pole w oknie wyników identyfikacji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="obsolete">Ustawia wyświetlanie pola w oknie wyników identyfikacji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="obsolete">Użyj tego narzędzia aby ustawić pola wyświetlane na górze w oknie wyników identyfikacji.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Subset:</source>
         <translation type="obsolete">Podzbiór:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Query Builder</source>
         <translation type="obsolete">Kreator zapytań</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Metadata</source>
         <translation type="obsolete">Metadane</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Count</source>
         <translation type="obsolete">Liczba</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>count</source>
         <translation type="obsolete">liczba</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Geometry type</source>
         <translation type="obsolete">Rodzaj geometrii</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>geom</source>
         <translation type="obsolete">geom</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Upper right</source>
         <translation type="obsolete">Prawy górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>ur</source>
         <translation type="obsolete">ur</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>ll</source>
         <translation type="obsolete">ll</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Lower left</source>
         <translation type="obsolete">Lewy dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Fields</source>
         <translation type="obsolete">Pola</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Field</source>
         <translation type="obsolete">Pole</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Type</source>
         <translation type="obsolete">Typ</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Length</source>
         <translation type="obsolete">Długość</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Precision</source>
         <translation type="obsolete">Precyzja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Labels</source>
         <translation type="obsolete">Etykiety</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Display labels</source>
         <translation type="obsolete">Wyświetlaj etykiety</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Actions</source>
         <translation type="obsolete">Akcje</translation>
     </message>
@@ -6682,7 +6971,7 @@
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Column name</source>
         <translation type="obsolete">Nazwa kolumny</translation>
     </message>
@@ -6692,32 +6981,32 @@
         <translation>Indeks</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used. You may also change any column name if desired.</source>
         <translation type="obsolete">Ten plik shapefile zawiera zarezerwowane słowa, co może mieć negatywny wpływ proces importu do PostgreSQL. Możesz dokonać edycji nazw kolumn, tak aby nie zawierały słów zarezerwowanych wyświetlonych z prawej strony. Możesz również zmienić nazwy pozostałych kolumn jeśli chcesz.</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomoc</translation>
+        <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Zarezerwowane Słowa</translation>
     </message>
@@ -6732,7 +7021,7 @@
         <translation>Nazwa Kolumny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6740,17 +7029,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Nazwa Kolumny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Indeks</translation>
     </message>
@@ -6822,12 +7111,12 @@
         <translation>Nazwa urządzenia:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Download command:</source>
         <translation type="obsolete">Polecenie pobierania:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>This is the command that will be used to download GPS data from the device. %in and %out will be replaced by the port and the GPX filename, respectively.</source>
         <translation type="obsolete">Polecenie, które będzie użyte do pobrania danych z urządzenia GPS. %do i %z będą odpowiednio zastąpione przez port oraz nazwę pliku GPX.</translation>
     </message>
@@ -6837,17 +7126,17 @@
         <translation>Nazwa urządzenia, która będzie wyświetlana w liście</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>This is the command that will be used to upload GPS data to the device. %in and %out will be replaced by the GPX filename and the port, respectively.</source>
         <translation type="obsolete">Polecenie, które będzie użyte do wysłania danych do urządzenia GPS. %do i %z będą odpowiednio zastąpione przez nazwę pliku oraz port GPX.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Upload command:</source>
         <translation type="obsolete">Polecenie wysyłania:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;p&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;/p&gt;
 &lt;i&gt;%babel&lt;/i&gt; - the path to GPSBabel&lt;br&gt;
 &lt;i&gt;%type&lt;/i&gt; - the flag for the feature type that is being transferred (-w, -r or -t)&lt;br&gt;
@@ -6953,93 +7242,93 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>Narzędzie &amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Utwórz nową warstwę GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Tworzy nową warstwę GPX i pokazuje ją w oknie mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Zapisz nowy plik GPX jako...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>plik wymiany z GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Nie mogę utworzyć pliku</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>Nie mogę utworzyć plku GPX z nadaną nazwą.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>Spróbuj ponownie z inną nazwą lub w innym</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>katalogu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>Import GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Nie mogę odczytać zaznaczonego pliku.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Zaznacz proszę prawidłowy plik.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Nie mogę uruchomić procesu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Nie mogę uruchomić GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importuję dane...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -7047,32 +7336,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Błąd pobierania danych</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Nieobsługiwane</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>To urządzenie nie umożliwia pobierania danych</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Pobieram dane...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -7081,22 +7370,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Błąd pobierania danych</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>To urządzenie nie umożliwia wgrywania </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Eksportuję dane...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -7105,7 +7394,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Błąd eksportu danych</translation>
     </message>
@@ -7113,22 +7402,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Wybierz nazwę pliku pod jaką mam zapisać</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>Format wymiany z GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Wybierz plik GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Wybierz plik i format do zaimportowania </translation>
     </message>
@@ -7141,124 +7430,124 @@
         <translation>Narzędzia GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Załaduj plik GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Plik:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Typy obiektów:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Punkty tras</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Trasy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Ślady</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Zaimportuj inny plik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Plik do zaimportowania:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Typ obiektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Wyjściowy plik GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nazwa warstwy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Pobierz z GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Edytuj urządzenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Urządzenie GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Plik wyjściowy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Załaduj do GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Warstwa danych:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomoc</translation>
+        <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
@@ -7267,7 +7556,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;Format wymiany z GPS&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, używany do zapisu informacji o punktach  (waypoints), trasach (routes), i śladach (tracks).&lt;/span&gt;&lt;/p&gt;
@@ -7280,7 +7569,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS może załadować tylko pliki GPX, lecz wiele innych formatów może być przekształcone do GPX przy pomocy programu GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). To wymaga, byś miał zainstalowany program GPSBabel i by QGIS mógł go znaleźć.&lt;/span&gt;&lt;/p&gt;
@@ -7293,7 +7582,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;To narzędzie pomoże Ci załadować dane z odbiornika GPS. Wybierz Twój odbiornik GPS, port do którego jest podłączony, typ danych jakie chcesz załadować, nazwę dla Twojej nowej warstwy, i nazwę pliku GPX pod jaką chcesz zapisać dane. Jeśli Twojego odbiornika nie ma na liście lub chcesz zmienić ustawienia, możesz edytować urządzenia.&lt;/span&gt;&lt;/p&gt;
@@ -7306,37 +7595,73 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;To narzędzie pomoże Ci wysłać dane z pliku GPX do odbiornika GPS. Wybierz warstwę, którą chcesz wysłać, typ danych, Twój odbiornik GPS i port do którego jest podłączony. Jeśli Twojego odbiornika nie ma na liście lub chcesz zmienić ustawienia, możesz edytować urządzenia.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;To narzędzie używa programu GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) do przesyłania danych. Jeśli nie QGIS nie znajdzie instalacji GPSBabel nie będziesz mógł go użyć.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Błąd - musisz określić typ danych.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>Plik wymiany GPS</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7344,12 +7669,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -7357,39 +7682,39 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Select Geometry type</source>
         <translation type="obsolete">Wybierz typ warstwy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Poligon</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <translation type="obsolete">Anuluj</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -7397,37 +7722,37 @@
         <translation>Nowa warstwa wektorowa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atrybuty:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Dodaj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Kolumna 1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Usuń</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Format pliku:</translation>
     </message>
@@ -7435,7 +7760,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7491,70 +7816,75 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Zamknij</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Raster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7562,17 +7892,17 @@
 <context>
     <name>QgsGraMaDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Mode:</source>
         <translation type="obsolete">Tryb:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Number of Classes:</source>
         <translation type="obsolete">Liczba klas:</translation>
     </message>
@@ -7580,27 +7910,27 @@
 <context>
     <name>QgsGraMaExtensionWidget</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Lower</source>
         <translation type="obsolete">Dolny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Upper</source>
         <translation type="obsolete">Górny</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Label</source>
         <translation type="obsolete">Etykieta</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Image</source>
         <translation type="obsolete">Obraz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Scale
 Factor</source>
         <translation type="obsolete">Mnożnik skali</translation>
@@ -7609,56 +7939,53 @@
 <context>
     <name>QgsGraSyDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Mode:</source>
         <translation type="obsolete">Tryb:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Number of Classes:</source>
         <translation type="obsolete">Liczba klas:</translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Tryb:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Liczba klas:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -7668,22 +7995,22 @@
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Wartość</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Pole</translation>
     </message>
@@ -7749,77 +8076,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Narzędzia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopiuj zaznaczoną mapę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Zmień nazwę zaznaczonej mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Usuń zaznaczoną mapę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Odświerz</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation>Nie mogę skopiować mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation>&lt;br&gt;komenda: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation>Nie mogę zmienić nazwy mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Usuń mapę &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation>Nie mogę usunąć mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7827,256 +8154,256 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nowy punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nowy centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Usuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Lewy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Środkowy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Prawy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nowa linia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nowy zasięg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Przesuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Dodaj wierzchołek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Przesuń element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Podziel linię</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Usuń element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Edytuj atrybuty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Zamknij</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Informacje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>Tabela została stworzona</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Narzędzie jeszcze niedostępne.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Kolor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Indeks</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Długość</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8124,7 +8451,7 @@
         <translation>Kolumna 1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
@@ -8144,127 +8471,127 @@
         <translation>Utwórz / Zmień tabelę</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Tools</source>
         <translation type="obsolete">Narzędzia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Toolbar</source>
         <translation type="obsolete">Pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New line</source>
         <translation type="obsolete">Nowa linia</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F2</source>
         <translation type="obsolete">F2</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Close</source>
         <translation type="obsolete">Zamknij</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New point</source>
         <translation type="obsolete">Nowy punkt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F1</source>
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New boundary</source>
         <translation type="obsolete">Nowy zasięg</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F3</source>
         <translation type="obsolete">F3</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New centroid</source>
         <translation type="obsolete">Nowy centroid</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F4</source>
         <translation type="obsolete">F4</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Move vertex</source>
         <translation type="obsolete">Przesuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F5</source>
         <translation type="obsolete">F5</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Add vertex</source>
         <translation type="obsolete">Dodaj wierzchołek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F6</source>
         <translation type="obsolete">F6</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Delete vertex</source>
         <translation type="obsolete">Usuń wierzchołek</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F7</source>
         <translation type="obsolete">F7</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Split line</source>
         <translation type="obsolete">Podziel linię</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F10</source>
         <translation type="obsolete">F10</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Move line</source>
         <translation type="obsolete">Przesuń linię</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F9</source>
         <translation type="obsolete">F9</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Delete line</source>
         <translation type="obsolete">Usuń linię</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F11</source>
         <translation type="obsolete">F11</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Edit categories</source>
         <translation type="obsolete">Edytuj kategorie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Edit attributes</source>
         <translation type="obsolete">Edytuj atrybuty</translation>
     </message>
@@ -8282,32 +8609,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8720,12 +9047,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Uruchom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Zatrzymaj</translation>
     </message>
@@ -8735,144 +9062,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">kolumna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Anuluj</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8923,7 +9220,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8931,17 +9228,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Plik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8949,22 +9246,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8972,42 +9269,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9015,7 +9312,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9023,7 +9320,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9031,69 +9328,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">kolumna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9201,7 +9498,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
@@ -9226,129 +9523,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">kolumna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9509,162 +9806,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9672,22 +9969,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9882,39 +10179,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Ostrzeżenie</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -9925,78 +10189,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">kolumna</translation>
     </message>
@@ -10004,22 +10263,22 @@
 <context>
     <name>QgsGrassToolsBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Column 1</source>
         <translation type="obsolete">Kolumna 1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+N</source>
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Ctrl+O</source>
         <translation type="obsolete">Ctrl+O</translation>
     </message>
@@ -10027,17 +10286,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10103,130 +10362,135 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Szablon wtyczki QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Generator siatki kartograficznej</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Origin (Lower Left)</source>
         <translation type="obsolete">Początek (lewy dolny)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Szerokość:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Długość:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>End point (Upper Right)</source>
         <translation type="obsolete">Koniec (prawy górny)</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Output (Shape) File</source>
         <translation type="obsolete">Wyjściowy plik (Shape)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Graticule Size (units in degrees)</source>
         <translation type="obsolete">Rozmiar siatki kartograficznej (w stopniach)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Interwał szerokości:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Interwał długości:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Linia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Poligon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -10241,12 +10505,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10343,32 +10607,32 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;center&gt;Run action&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;Uruchom akcję&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Obiekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Wartość</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Uruchom akcję</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10396,12 +10660,12 @@
         <translation>Zamknij</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Feature</source>
         <translation type="obsolete">Obiekt</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Value</source>
         <translation type="obsolete">Wartość</translation>
     </message>
@@ -10447,7 +10711,7 @@
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Source:</source>
         <translation type="obsolete">Źródło:</translation>
     </message>
@@ -10462,7 +10726,7 @@
         <translation>Domyślna etykieta:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Font and Alignment</source>
         <translation type="obsolete">Czcionka i wyrównanie</translation>
     </message>
@@ -10477,7 +10741,7 @@
         <translation>Czcionka</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Font size units are in ...</source>
         <translation type="obsolete">Rozmiar czcionki w ...</translation>
     </message>
@@ -10507,7 +10771,7 @@
         <translation>Kolor</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Alignment</source>
         <translation type="obsolete">Wyrównanie</translation>
     </message>
@@ -10567,17 +10831,17 @@
         <translation>°</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Use best judgement when labels collide</source>
         <translation type="obsolete">Użyj najlepszego dopasowania jeśli etykiety nachodzą</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Buffer and Position</source>
         <translation type="obsolete">Bufor i pozycja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Buffer Settings</source>
         <translation type="obsolete">Ustawienia bufora</translation>
     </message>
@@ -10592,7 +10856,7 @@
         <translation>Rozmiar:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Buffer size is in ...</source>
         <translation type="obsolete">Rozmiar bufora w ...</translation>
     </message>
@@ -10622,7 +10886,7 @@
         <translation>Przesunięcie Y (pts):</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Offset units are in ...</source>
         <translation type="obsolete">Przesunięcie w ...</translation>
     </message>
@@ -10662,7 +10926,7 @@
         <translation>Umiejscowienie:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="923"/>
         <source>&amp;Colour:</source>
         <translation type="obsolete">Kolor:</translation>
     </message>
@@ -10738,192 +11002,304 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>grupa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Właściwości</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">Powięks&amp;z do zasięgu warstwy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">Dod&amp;aj do podglądu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">Usuń z podglądu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Usuń</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Zamknij</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Zmień &amp;nazwę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>Dod&amp;aj grupę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/legend/qgslegend.cpp" line="438"/>
+        <source>&amp;Save as shapefile...</source>
+        <translation type="obsolete">Zapi&amp;sz jako plika shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Otwórz tabelę atrybutów</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Zapisz jako shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nie wybrano warstwy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="" line="1953721961"/>
+        <source>Form1</source>
+        <translation type="obsolete">Form1</translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Powięks&amp;z do zasięgu warstwy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Uruchom</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Usuń</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Wyjście</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Otwórz tabelę atrybutów</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Zapisz jako shapefile...</translation>
     </message>
-</context>
-<context>
-    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>OK</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Właściwości</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>QgsLegend</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>grupa</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabela atrybutów - </translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Właściwości</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Zapisz warstwę jako...</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>Powięks&amp;z do zasięgu warstwy</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation>Dod&amp;aj do podglądu</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>Usuń z podglądu</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Zakończ edycję</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Usuń</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Błąd</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>Zmień &amp;nazwę</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>Dod&amp;aj grupę</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation>Zapi&amp;sz jako plika shape...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="" line="1634288755"/>
-        <source>Form1</source>
-        <translation type="obsolete">Form1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Błąd tworzenia pliku shape</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Plik shape nie może być utworzony (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished">Błąd tworzenia warstwy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Powięks&amp;z do zasięgu warstwy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Usuń</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Otwórz tabelę atrybutów</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Zapisz jako shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Właściwości</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -10984,17 +11360,17 @@
 <context>
     <name>QgsLocationCaptureWidgetBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Form1</source>
         <translation type="obsolete">Form1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Pan</source>
         <translation type="obsolete">Przesuń</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>OK</source>
         <translation type="obsolete">OK</translation>
     </message>
@@ -11002,73 +11378,63 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No active layer</source>
         <translation type="obsolete">Brak aktywnej warstwy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="obsolete">Aby wybrać obiekty najpierw należy aktywować warstwę klikając na jej nazwę w legendzie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="obsolete">Aby identyfikować obiekty najpierw należy aktywować warstwę klikając na jej nazwę w legendzie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"> ponieważ</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Powiększ do zasięgu wybranej warstwy</translation>
+        <translation type="obsolete">&amp;Powiększ do zasięgu wybranej warstwy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Usuń</translation>
+        <translation type="obsolete">&amp;Usuń</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Właściwości</translation>
+        <translation type="obsolete">&amp;Właściwości</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Nie znaleziono obiektów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -11079,34 +11445,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -11115,144 +11481,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Eksport do formatu Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Plik mapy</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Eksportuj tylko informację o warstwie</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Wysokość</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Szerokość</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>stopnie</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>stopy</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>metry</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>mile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>cale</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometry</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Jednostki</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Obraz</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>użytkownika</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -11272,88 +11623,90 @@
         <translation>Prefiks dodany do nazw plików mapy, paska skali i legendy tworzonych podczas eksportu. Powinien być krótki.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Web Interface Definition</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Nagłówek</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Stopka</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Szablon</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>Plik projektu QGIS</translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Wybierz katalog</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -11391,35 +11744,10 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segmenty (w metrach)</translation>
+        <translation type="obsolete">Segmenty (w metrach)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -11439,7 +11767,7 @@
         <translation>Nowy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Close</source>
         <translation type="obsolete">Zamknij</translation>
     </message>
@@ -11455,6 +11783,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segmenty (w metrach)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -11475,12 +11839,12 @@
 <context>
     <name>QgsMessageViewerBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>SPIT Message</source>
         <translation type="obsolete">Komunikat SPIT</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Close</source>
         <translation type="obsolete">Zamknij</translation>
     </message>
@@ -11560,17 +11924,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Test połączenia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Połączenie z %1 powiodło się</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -11581,7 +11945,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11795,42 +12159,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Lewy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Prawy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Prawy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Lewy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished">&amp;Dekoracje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11838,7 +12202,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11846,100 +12210,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Właściwości</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Kąt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Umiejscowienie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Lewy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Prawy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Lewy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Prawy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Umiejscowienie na ekranie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ikona</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nowy</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -11955,14 +12324,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -11970,118 +12331,118 @@
         <translation>Ustawienia QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Wygląd</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Splash Screen</source>
         <translation type="obsolete">&amp;Ekran powitalny</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Nie pokazuj ekranu powitalnego przy starcie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Temat ikon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Temat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Uwaga: &lt;/b&gt;Zmiany dla tematu zostaną zastosowane po ponownym uruchomieniu QGIS</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>SVG Options</source>
         <translation type="obsolete">Opcje SVG</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;A higher value gives smoother SVG symbols, but can slow down rendering</source>
         <translation type="obsolete">&lt;b&gt;Uwaga: &lt;/b&gt;Wyższa wartość to bardziej wygładzone symbole SVG, ale również wolniejsze odrysowywanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Rysowywanie</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Update During Drawing</source>
         <translation type="obsolete">&amp;Odświeżanie podczas rysowania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Odśwież mapę po odczytaniu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Ekran mapy będzie odświeżany po wczytaniu podanej tu ilości obiektów</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>obiektów</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Podanie wartości 0 sprawi, że ekran nie będzie aktualizowany aż do zakończenia
 odczytu ze źródła danych)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Widoczność początkowa</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New layers added to the map are not displayed</source>
         <translation type="obsolete">Warstwy po dodaniu do mapy nie są wyświetlane</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Selection</source>
         <translation type="obsolete">&amp;Selekcja</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Search Radius</source>
         <translation type="obsolete">Promień wyszukiwania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Promień wyszukiwania dla identyfikacji obiektów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;<byte value="xd"/>
 &lt;b&gt;Note:&lt;/b&gt; Specify the value in thousandths.  The search radius is calculated as:&lt;br&gt;<byte value="xd"/>
 &amp;nbsp;&amp;nbsp;&lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;<byte value="xd"/>
@@ -12097,57 +12458,57 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>Przeglądarka &amp;Pomocy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify &lt;br&gt;the full path above</source>
         <translation type="obsolete">&lt;b&gt;Uwaga:&lt;/b&gt; Przeglądarka musi znajdować się w ścieżce określonej przez zmienną PATH&lt;br&gt;albo podaj pełną ścieżkę do przeglądarki</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Otwórz dokumenty pomocy w</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>firebird</source>
         <translation type="obsolete">firebird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;
 &lt;b&gt;Note:&lt;/b&gt; Specify the value in thousandths.  The search radius is calculated as:&lt;br&gt;
 &amp;nbsp;&amp;nbsp;&lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;
@@ -12163,137 +12524,137 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Wskaż domyślne globalnie...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Pytaj o układ współrzędnych.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Użyj domyślnego układu współrzędnych projektu.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Ekran powitalny</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Domyślny wygląd mapy (podrzędny do właściwości projektu)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Kolor tła:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Kolor zaznaczenia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Wygląd</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Nazwa warstwy od dużej litery</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Domyślnie nowo dodawane warstw&amp;y są wyświetlane</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Odświeżanie podczas rysowania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Narzędzie pomiaru</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Elipsoida do kalkulacji odległości:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Promień wyszukiwania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Układ &amp;współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Gdy dodawana warstwa nie posiada informacji o układzie współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>Użyj globalnego dom&amp;yślnego układu współrzędnych, wyświetlonego poniżej.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Uwaga:&lt;/b&gt;  Przeglądarka musi znajdować się w ścieżce określonej przez zmienną PATH&lt;br&gt;albo podaj pełną ścieżkę do przeglądarki powyżej</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished">Renderowanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Napraw problemy związane z nieprawidłowo wypełnionymi poligonami</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -12302,40 +12663,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Powiększ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Powiększ i wycentruj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Ogólne</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -12500,87 +12881,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabela &lt;b&gt;%1&lt;/b&gt; w bazie danych &lt;b&gt;%2&lt;/b&gt; na serwerze &lt;b&gt;%3&lt;/b&gt;, użytkownik &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Połączenie nie powiodło się</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Połączenie z bazą danych nie powiodło się:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Błąd bazy danych</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Pobranie przykładowych wartości z pola nie powiodło się</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Wyniki zapytania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Klauzula where zwróciła</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>rekordów.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Zapytanie nie powiodło się</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Wystąpił błąd podczas wykonywania zapytania:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Brak rekordów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Zapytanie nie zwróciło rekordów. Poprawna warstwa w PostgreSQL musi posiadać przynajmniej jeden obiekt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12721,17 +13097,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Wybierz katalog</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Brak wtyczek</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Nie znaleziono wtyczek QGIS</translation>
     </message>
@@ -12822,136 +13198,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Powiększ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Pomniejsz</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Powiększ do warstwy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Powiększ do warstwy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Przesuń mapę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Przesuń mapę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished">Dodaj punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Usuń punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Usuń zaznaczony</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Ostrzeżenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>Nie mogę zapisać do</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -13018,13 +13399,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -13047,41 +13433,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -13091,195 +13477,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -13292,253 +13666,243 @@
         <translation>Właściwości projektu</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Title</source>
         <translation type="obsolete">Tytuł</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Domyślna nazwa projektu</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>Pomo&amp;c</translation>
+        <translation type="obsolete">Pomo&amp;c</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Jednostki mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metry</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Stopy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Stopnie dziesiętne</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Zastosuj</translation>
+        <translation type="obsolete">&amp;Zastosuj</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Ogólne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Szerokość linii:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Odległość dociągania:</translation>
+        <translation type="obsolete">Odległość dociągania:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Kolor linii:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automatyczna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Ręczna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>miejsca dziesiętne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Wygląd mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Kolor zaznaczenia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Tytuł projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Układ współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Kolor tła:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Precyzja</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished">Digitalizacja</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Szerokość linii w pikselach</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation type="unfinished">Układ współrzędnych</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation type="unfinished">Szukaj</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
@@ -13546,27 +13910,27 @@
 <context>
     <name>QgsPublishToWebDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Cancel</source>
         <translation type="obsolete">Anuluj</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Server</source>
         <translation type="obsolete">Serwer</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Path to QGIS WMS server directory:</source>
         <translation type="obsolete">Ścieżka do katalogu serwera QGIS WMS:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Enter root password:</source>
         <translation type="obsolete">Wpisz hasło roota:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Project name:</source>
         <translation type="obsolete">Nazwa projektu:</translation>
     </message>
@@ -13574,307 +13938,317 @@
 <context>
     <name>QgsPublishToWebPlugin</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&amp;Publish to web</source>
         <translation type="obsolete">&amp;Publikuj w sieci</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Red</source>
         <translation type="obsolete">Czerwony</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Green</source>
         <translation type="obsolete">Zielony</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Blue</source>
         <translation type="obsolete">Niebieski</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Brak</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Zasięg rastra:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Obszar przycięcia:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;center&gt;&lt;b&gt;Raster Layer&lt;/b&gt;&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;Warstwa rastrowa&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Przezroczystość&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Przezroczystość&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Sterownik:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Wymiar:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Kanały:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Typ danych:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Nie można rozpoznać typu rastra.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Projection: </source>
         <translation type="obsolete">Projekcja:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Początek:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Rozmiar piksela:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statystyki kanału (jeśli zebrane):</translation>
+        <translation type="obsolete">Statystyki kanału (jeśli zebrane):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Właściwość</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Wartość</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Kanał</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Kanał nr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Brak statystyk</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Statystyki jeszcze nie zostały zebrane</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Minimum</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Maksimum</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Zakres</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Średnia</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Suma kwadratów</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Odchylenie standardowe</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Suma wszystkich cel</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Liczba cel</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Brak dostępu do zapisu</translation>
+        <translation type="obsolete">Brak dostępu do zapisu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Brak dostępu do zapisu. Dostosuj uprawnienia do pliku i spróbuj ponownie.</translation>
+        <translation type="obsolete">Brak dostępu do zapisu. Dostosuj uprawnienia do pliku i spróbuj ponownie.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13882,80 +14256,107 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Skala szarości</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudokolor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Columns:</source>
         <translation type="obsolete">Kolumny:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Rows:</source>
         <translation type="obsolete">Rekordy:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No Data:</source>
         <translation type="obsolete">Brak danych:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Brak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Kolumny:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Wiersze:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Brak dostępu do zapisu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Brak dostępu do zapisu. Dostosuj uprawnienia do pliku i spróbuj ponownie.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -13965,332 +14366,332 @@
         <translation>Właściwości warstwy rastrowej</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Symbolika</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Appearance</source>
         <translation type="obsolete">Wygląd</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Przezroczystość:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Pełny&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Brak</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>RGB</source>
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Kanał</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Zielony&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Czerwony&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Niebieski&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Kolor</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Grayscale</source>
         <translation type="obsolete">Skala szarości</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Szary</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Odchylenie standardowe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Show As</source>
         <translation type="obsolete">Pokaż jako</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Advanced Symbology</source>
         <translation type="obsolete">Symbolika zaawansowana</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Red</source>
         <translation type="obsolete">Czerwony</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Green</source>
         <translation type="obsolete">Zielony</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Blue</source>
         <translation type="obsolete">Niebieski</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Behaviour</source>
         <translation type="obsolete">Zachowanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Ogólne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniatura</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Kolumny:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Brak danych:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Rekordy:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legenda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Visibility</source>
         <translation type="obsolete">Widoczność</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Use scale dependent rendering</source>
         <translation type="obsolete">Użyj rysowania zależnego od skali</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maksymalna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maksymalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimalna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Show debug info as overlay on raster?</source>
         <translation type="obsolete">Czy wyświetlić informacje o błędach jako warstwę?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Źródło warstwy:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Nazwa wyświetlana:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadane</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Najbliższe sąsiedztwo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomoc</translation>
+        <translation type="obsolete">&amp;Pomoc</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Zastosuj</translation>
+        <translation type="obsolete">&amp;Zastosuj</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Zmień</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Opcje</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Poza zakresem OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Obraz w odcieniach szarości</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Obraz kolorowy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -14298,19 +14699,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -14318,36 +14729,21 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14355,107 +14751,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> metry/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>stopy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>stopnie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation>km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation>cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation>m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>stopa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>stopień</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>nieznany</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Lewy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Lewy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Prawy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Prawy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Pasek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Prostokąt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>Podziałka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Tworzy podziałkę, która będzie widoczna na mapie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekoracje</translation>
     </message>
@@ -14463,32 +14859,32 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Podziałka</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;
@@ -14501,92 +14897,92 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Lewy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Prawy górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Lewy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Prawy dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Rozmiar paska:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Select Colour</source>
         <translation type="obsolete">Wybierz kolor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Umiejscowienie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Dolny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Górny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Prostokąt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Pasek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Wybierz styl dla podziałki</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Kolor podziałki:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Styl podziałki:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Włącz podziałkę</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Kliknij by wybrać kolor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14594,124 +14990,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Znaleziono %d pasujących obiektów.</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished">Nie znaleziono pasujących obiektów.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Rezultaty wyszukiwania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Brak rekordów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>Czy na pewno chcesz usunąć </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation>połączenie i wszystkie związane z nim ustawienia?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Zatwierdź usunięcie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Wybierz warstwę</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Musisz najpierw wybrać co najmniej jedną warstwę.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14837,17 +15228,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -14856,27 +15247,27 @@
 <context>
     <name>QgsSiMaDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Directory</source>
         <translation type="obsolete">Katalog</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Image</source>
         <translation type="obsolete">Obraz</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Scale Factor (%)</source>
         <translation type="obsolete">Mnożnik skali (%)</translation>
     </message>
@@ -14884,52 +15275,52 @@
 <context>
     <name>QgsSiSyDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Single Symbol</source>
         <translation type="obsolete">Symbol pojedynczy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Label:</source>
         <translation type="obsolete">Etykieta:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Outline Style:</source>
         <translation type="obsolete">Styl obrysu:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Fill Color:</source>
         <translation type="obsolete">Kolor wypełnienia:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Outline color:</source>
         <translation type="obsolete">Kolor obrysu:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Outline Width:</source>
         <translation type="obsolete">Szerokość obrysu:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Fill Patterns:</source>
         <translation type="obsolete">Szablon wypełnienia:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Clear</source>
         <translation type="obsolete">Czyść</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Point</source>
         <translation type="obsolete">Punkt</translation>
     </message>
@@ -14942,373 +15333,378 @@
         <translation>Symbol pojedynczy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Szablon wypełnienia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished">Rozmiar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Szerokość obrysu:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>...</source>
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Kolor wypełnienia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Kolor obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Styl obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Etykieta:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished">Bez wypełnienia</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Zatwierdź usunięcie</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Nazwa pliku</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Obiekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schemat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Nowe połączenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15316,152 +15712,152 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Import z PostGIS do pliku shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Narzędzie importu danych z Shapefile do PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Import</translation>
+        <translation type="obsolete">Import</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importuj pliki shapefile do PostGIS</translation>
+        <translation type="obsolete">Importuj pliki shapefile do PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Zamknij</translation>
+        <translation type="obsolete">Zamknij</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Lista plików shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Dodaj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Dodaj plik shapefile do listy importowanych plików</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Usuń</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Usuń plik shapefile z listy importowanych plików</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Usuń wszystko</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Usuń wszystkie pliki shapefile z listy</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>File Name</source>
         <translation type="obsolete">Nazwa pliku</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Features</source>
         <translation type="obsolete">Obiekty</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Schema</source>
         <translation type="obsolete">Schemat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Główny schemat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Użyj domyślnego SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Ustaw domyślną wartość dla SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Użyj domyślnej nazwy dla kolumny z geometrią</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Ustaw domyślną wartość dla nazwy kolumny z geometrią</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Kolumna geometrii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Połączenia PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nowy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Utwórz nowe połączenie z PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Usuń bieżące połączenie z PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Połącz</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Edytuj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Edytuj bieżące połączenie z PostGIS</translation>
     </message>
@@ -15479,7 +15875,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15487,17 +15883,17 @@
 <context>
     <name>QgsUValDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Form1</source>
         <translation type="obsolete">Form1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
@@ -15505,17 +15901,17 @@
 <context>
     <name>QgsUValMaDialogBase</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Form1</source>
         <translation type="obsolete">Form1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Classification Field:</source>
         <translation type="obsolete">Pole klasyfikacji:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>New Item</source>
         <translation type="obsolete">Nowy</translation>
     </message>
@@ -15523,354 +15919,294 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Pole klasyfikacji:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No features found</source>
         <translation type="obsolete">Nie znaleziono obiektów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="obsolete">Nie znaleziono żadnych obiektów na aktywnej warstwie w miejscu kliknięcia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabela atrybutów - </translation>
+        <translation type="obsolete">Tabela atrybutów - </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;center&gt;&lt;b&gt;Vector Layer&lt;/b&gt;&lt;/center&gt;</source>
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;Warstwa wektorowa&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Otwórz tabelę atrybutów</translation>
+        <translation type="obsolete">&amp;Otwórz tabelę atrybutów</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Start editing</source>
         <translation type="obsolete">Rozpocznij edycję</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Zakończ edycję</translation>
+        <translation type="obsolete">Zakończ edycję</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Zapisz jako shapefile...</translation>
+        <translation type="obsolete">Zapisz jako shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Źródło danych nie obsługuje operacji usuwania</translation>
+        <translation type="obsolete">Źródło danych nie obsługuje operacji usuwania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Źródło danych nie obsługuje operacji usuwania</translation>
+        <translation type="obsolete">Źródło danych nie obsługuje operacji usuwania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Warstwa nie jest w trybie edycji</translation>
+        <translation type="obsolete">Warstwa nie jest w trybie edycji</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>The current layer is not editable. Choose &apos;start editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Wybrana warstwa nie jest w trybie edycji. Wybierz &apos;Rozpocznij edycję&apos; z menu podręcznego legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Nie</translation>
+        <translation type="obsolete">&amp;Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Przerwij</translation>
+        <translation type="obsolete">Przerwij</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Błąd</translation>
+        <translation type="obsolete">Błąd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Przeźroczystość:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Symbol pojedynczy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Symbol stopniowy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Kolor ciągły</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Wartość unikalna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Otwiera kreator zapytań PostgreSQL oraz pozwala utworzyć podzbiór obiektów do wyświetlenia na mapie, zamiast wyświetlania wszystkich obiektów</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Ogólne:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Pole</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Długość</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precyzja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -15882,164 +16218,164 @@
         <translation>Właściwości warstwy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Rodzaj legendy:</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Layer source</source>
         <translation type="obsolete">Źródło warstwy</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>F1</source>
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Settings</source>
         <translation type="obsolete">Ustawienia</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <translation type="obsolete">Anuluj</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Przeźroczystość:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Ogólne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Użyj rysowania zależnego od skali</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maksymalna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimalna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maksymalna skala, dla której wartstwa będzie wyświetlana.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Nazwa wyświetlana</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Użyj tego narzędzia aby ustawić pola wyświetlane na górze w oknie wyników identyfikacji.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Zmień</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Wyświetlaj pole w oknie wyników identyfikacji</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Ustawia wyświetlanie pola w oknie wyników identyfikacji</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Wyświetlaj pole</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Kreator zapytań</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadane</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etykiety</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Wyświetlaj etykiety</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Akcje</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Zastosuj</translation>
+        <translation type="obsolete">Zastosuj</translation>
     </message>
 </context>
 <context>
@@ -16065,12 +16401,12 @@
         <translation>Max</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>1000</source>
         <translation type="obsolete">1000</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>10000</source>
         <translation type="obsolete">10000</translation>
     </message>
@@ -16098,7 +16434,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16106,29 +16442,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Czy na pewno chcesz usunąć </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation>połączenie i wszystkie związane z nim ustawienia?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Zatwierdź usunięcie</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Tak</translation>
+        <translation type="obsolete">Tak</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
 </context>
 <context>
@@ -16161,55 +16497,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Pomoc</translation>
+        <translation type="obsolete">Pomoc</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation type="unfinished">Dodaj</translation>
+        <translation type="obsolete">Dodaj</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation type="unfinished">Zamknij</translation>
+        <translation type="obsolete">Zamknij</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">&amp;Nowy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Usuń</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Edytuj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16222,282 +16558,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">Właściwość</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished">Wartość</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Tytuł</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Słowa kluczowe</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Tak</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nie</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Widoczność</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Widoczny</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Ukryty</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nazwa</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16505,30 +16841,111 @@
 <context>
     <name>SplashScreen</name>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Quantum GIS - </source>
         <translation type="obsolete">Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>Version </source>
         <translation type="obsolete">Wersja </translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Szablon wtyczki QGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Szablon wtyczki</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Szablon wtyczki QGIS</translation>
+        <translation type="obsolete">Szablon wtyczki QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Szablon wtyczki</translation>
+        <translation type="obsolete">Szablon wtyczki</translation>
     </message>
     <message>
-        <location filename="" line="1634288755"/>
+        <location filename="" line="1953721961"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;This plugin was generated using QGIS internal plugin template. Please modify it according to your needs.&lt;/p&gt;
@@ -16547,33 +16964,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Anuluj</translation>
+        <translation type="obsolete">&amp;Anuluj</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Długość:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Szerokość:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation type="unfinished"></translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_pt_BR.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_pt_BR.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_pt_BR.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16,32 +16,83 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Entre as coordenadas do mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancelar</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Parar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Situação</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>QFileDialog</name>
     <message>
         <location filename="" line="136055884"/>
@@ -67,33 +118,33 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Arquivos QGis (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Nenhum plugin de acesso a dados encontrado</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Nenhuma camada vetorial pôde ser carregada. Verifique sua instalação do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Nenhum mecanismo de acesso a dados</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nenhum plugin de acesso a dados disponível. Nenhuma camada vetorial pôde ser carregada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Abrir uma camada vetorial OGR suportada</translation>
     </message>
@@ -103,17 +154,17 @@
         <translation type="obsolete">Erro na leitura do Projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>na linha</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>coluna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>para arquivo</translation>
     </message>
@@ -172,177 +223,172 @@
         <translation type="obsolete">A tabela possui uma chave primária composta de mais de uma coluna. QGIS não suporta esta situação.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished">Nenhuma camada ativa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished">Para identificar feições, você deve escolher uma camada ativa clicando em seu nome na legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished">Banda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished">ação</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished">Nenhuma feição encontrada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished">Nenhuma feição encontrada no ponto clicado da camada ativa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">Para selecionar feições, deve-se escolher uma camada ativa clicando em seu nome na legenda</translation>
+        <translation type="obsolete">Para selecionar feições, deve-se escolher uma camada ativa clicando em seu nome na legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished">Novo centróide</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished">Novo ponto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished">Novo vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished">Desfazer último ponto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished">Fechar linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished">Selecione vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished">Selecione nova posição</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished">Selecione segmento de linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished">Nova posição do vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished">Desmarcar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished">Desmarcar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished">Selecione elemento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished">Nova localidade</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished">Desmarcar selecionado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished">Excluir selecionado / selecione próximo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished">Selecione posição na linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished">Quebrar linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished">Desmarcar a linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished">Selecione ponto na linha</translation>
     </message>
@@ -352,27 +398,27 @@
         <translation type="unfinished">Rótulo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished">Tamanho</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -382,37 +428,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -438,12 +484,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -488,12 +534,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -508,32 +554,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -563,82 +609,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">A camada não pode ser editada</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"> pés</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">pés</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"> graus</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"> graus</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"> desconhecido</translation>
     </message>
@@ -688,279 +917,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">A camada não pode ser editada</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">linhas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Pontos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Feições</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Banco de Dados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabela</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -980,52 +1159,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1048,7 +1227,7 @@
         <translation type="obsolete">Camadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
@@ -1058,37 +1237,37 @@
         <translation type="obsolete">Carregando plugins...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>com suporte a PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(sem suporte a PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Plugins disponíveis de acesso a dados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>não é uma fonte de dados válida ou conhecida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Fonte de Dados Inválida</translation>
     </message>
@@ -1103,12 +1282,12 @@
         <translation type="obsolete">Nenhum mecanismo de acesso a OGR encontrado no diretório de bibliotecas do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Camada Inválida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 é uma camada inválida e não pode ser carregada.</translation>
     </message>
@@ -1128,137 +1307,137 @@
         <translation type="obsolete">Salvar mapa em:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nenhuma Camada Selecionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Para visualizar a tabela de atributos, deve-se selecionar uma camada na legenda</translation>
+        <translation type="obsolete">Para visualizar a tabela de atributos, deve-se selecionar uma camada na legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Erro Carregando Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Ocorreu um erro ao carregar %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Nenhum plugin MapLayer encontrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Nenhum plugin MapLayer encontrado em ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Nenhum plugin encontrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Nenhum plugin encontrado em ../plugins. Para testar os plugins, inicie o qgis a partir do diretório src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 chama-se %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informação sobre o plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS carregou o seguinte plugins:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nome: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versão: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Descrição: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Não foi possível carregar o plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS não conseguiu carregar o plugin a partir de: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Existe uma nova versão do QGIS disponível</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Você está executando uma versão de desenvolvimento do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Você está rodando a versão atual do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Gostaria de obter mais informações?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informações sobre a versão do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Impossível obter informações sobre a versão atual</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Conexão recusada - o servidor pode estar indisponível</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Servidor do QGIS não foi encontrado</translation>
     </message>
@@ -1273,7 +1452,7 @@
         <translation type="obsolete">Impossível conectar ao servidor de versões do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Imagem de mapa salva em</translation>
     </message>
@@ -1283,92 +1462,92 @@
         <translation type="obsolete">QGIS - Mudanças no CVS desde último lançamento</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Escolha um nome do arquivo para salvar a imagem do mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Extensão:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problema ao excluir feições</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Um problema ocorreu durante a exclusão das feições</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nenhuma camada vetorial selecionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Apagar feições funciona apenas em camadas vetoriais</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Para excluir feições. você precisa selecionar uma camada vetorial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS está sob a licença GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>A legenda do mapa mostra todas as camadas na área do mapa. Clique na caixa para ativar ou desativar a camada. Duplo clique em uma camada em sua legenda serve para customizar sua aparência e ajustar outras propriedades.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Visão geral da área do mapa. Esta área pode ser usado para mostrar um localizador na área total do mapa. A extensão atual é mostrada como um retângulo vermelho. Qualquer camada do mapa pode ser adicionada para a visão geral.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Área do mapa. Onde camadas vetoriais e raster são exibidas quando adicionadas ao mapa.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>A barra de progresso mostra o status da renderização das camadas e outras operações que levam muito tempo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Exibe a escala atual do mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Mostra as coordenadas do mapa na posição atual do cursor. O mostrador é atualizado continuamente com o deslocamento do mouse.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Desenhar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Quando marcadas, as camadas do mapa são renderezidas em resposta aos comandos de navegação pelo mapa e outros eventos. Quando não marcadas, nenhuma renderização será feita. Isso permite que você adicione um grande número de camadas e as altere antes de renderizá-las.</translation>
     </message>
@@ -1383,27 +1562,27 @@
         <translation type="obsolete">QGIS Pronto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Incapaz de salvar projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Incapaz de salvar projeto em</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Ativa a renderização do mapa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Este ícone mostra se as projeções em tempo real estão ativadas ou não. Clique neste ícone e visualize as propriedades da projeção e altere o seu comportamento.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Situação da projeção - Clique para abrir a janela de projeção</translation>
     </message>
@@ -1413,9 +1592,9 @@
         <translation type="obsolete">Projeções em tempo real podem automaticamente mudar a projeção das camadas de um sistema de coordenadas para outro</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Compositor de Mapas para criar o mapa final</translation>
+        <translation>Compositor de Mapas para criar o mapa final</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1483,1038 +1662,1193 @@
         <translation type="obsolete">Melhorias na ferramenta de exportação para Mapserver</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Abrir uma camada vetorial OGR suportada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Erro de leitura do projeto QGIS </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Tento encontrar as camadas que estão faltando?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Abrir uma fonte de dados raster GDAL suportada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished">&amp;Novo Projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished">Novo Projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished">Salvar &amp;Projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished">Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">Salvar Projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished">Salvar Projeto &amp;Como...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished">&amp;Imprimir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished">Imprimir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished">Sair</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished">Adicionar Camada Vetorial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished">Adicionar Camada Raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished">Adicionar Camada PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished">N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished">Remover camada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished">Adicionar tudo para o Overview</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished">Remover tudo do Overview</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished">Mostrar Todas as Camadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished">Exibir todas camadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished">Ocultar Todas as Camadas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished">Página do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished">Sobre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished">Atualizar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished">Afastar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished">W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished">Capturar Ponto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished">Capturar linha</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished">Capturar polígono</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished">&amp;Arquivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished">&amp;Exibir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished">&amp;Camada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished">&amp;Configurações</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished">&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation type="unfinished">Escolha um projeto QGIS para abrir</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation type="unfinished">Escolha um projeto do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="601"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">O provedor não suporta apagar o arquivo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">O provedor de dados não suporta apagar feições</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">A camada não pode ser editada</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
         <source></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -3364,7 +3698,7 @@
         <translation type="obsolete">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3387,22 +3721,22 @@
         <translation>Sobre o Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versão</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>O que há de Novo</translation>
     </message>
@@ -3417,7 +3751,7 @@
         <translation type="obsolete">&lt;h2&gt;Contribuidores QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -3429,76 +3763,76 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Página do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Increva-se na lista de discussão do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Provedores</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -3531,22 +3865,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Ação</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">Capture</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -3751,7 +4085,7 @@
         <translation type="obsolete">&lt;center&gt;Rodar ação&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3897,79 +4231,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Parar edição</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Você quer salvar as alterações?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3977,42 +4311,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Quer mesmo excluir?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sim</translation>
+        <translation type="obsolete">&amp;Sim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Não</translation>
+        <translation type="obsolete">&amp;Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -4174,122 +4508,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Escolha o nome do arquivo com a imagem do mapa atual</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Escolha um nome de arquivo para salvar o mapa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4478,32 +4812,32 @@
         <translation type="obsolete">Mapa %d</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Estender (calcula escala)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Escala (calcula extensão)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">Desenhar</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4589,22 +4923,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4693,37 +5027,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Camadas</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grupo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">Desenhar</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4774,114 +5108,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Personalizado</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Carta (8.5x11 polegadas)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 polegadas)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Retrato</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Paisagem</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished">Rótulo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4932,27 +5266,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished">Testar conexão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -4967,32 +5301,32 @@
         <translation>Informação da Conexão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Servidor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Banco de Dados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Usuário</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Nome da nova conexão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Senha</translation>
     </message>
@@ -5009,22 +5343,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Ajuda</translation>
+        <translation type="obsolete">Ajuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -5032,12 +5366,12 @@
         <translation>Criar nova conexão PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Porta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -5116,32 +5450,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Falhou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformar de</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>com erro:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -5149,32 +5483,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Inferior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Superior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Superior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Inferior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5259,29 +5593,24 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
@@ -5306,80 +5635,70 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Excluir definição de projeção?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Excluir a definição de projeção é irreversível. Quer mesmo excluir?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Abortar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Novo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>Projeção personalizada do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Esta definição de projeção não é válida. Corrija antes de pressionar salvar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
@@ -5389,7 +5708,7 @@
         <translation type="obsolete">Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nome:</translation>
     </message>
@@ -5404,12 +5723,12 @@
         <translation type="obsolete">Tipo de Projeção:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definição de projeção personalizada</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parâmetros:</translation>
     </message>
@@ -5421,47 +5740,47 @@
 Esperados:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 de 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Novo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Salvar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Excluir</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Fechar</translation>
     </message>
@@ -5471,100 +5790,106 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation type="unfinished">Testar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Tem certeza que deseja remover o </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>conexão e todos os ajustes associados ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Confirme a exclusão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Selecionar Tabela</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Você deve selecionar uma tabela para poder adicionar uma Camada.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Senha para</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Por favor, entre com sua senha:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>A conexão Falhou</translation>
     </message>
@@ -5574,90 +5899,90 @@
         <translation type="obsolete">Conexão com %1 em %2 falhou. Um dos dois esta desabilitado ou suas configurações estão incorretas. %3Verifique seu usuário e senha e tente novamente.%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Acesso a relação</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>Usando sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation>falhou. A base de dados reportou:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished">Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5786,7 +6111,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5799,30 +6124,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Sem nome de camada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Por favor, entre com o nome da camada antes de adicioná-la ao mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Sem delimitador</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Por favor, especifique um delimitador antes de analisar o arquivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Escolha um arquivos de texto delimitado para abrir</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -5834,185 +6169,185 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Ajuda sobre a utilização do plugin</translation>
+        <translation type="obsolete">Ajuda sobre a utilização do plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Abre a ajuda do plugin de arquivo texto delimitado no seu browser</translation>
+        <translation type="obsolete">Abre a ajuda do plugin de arquivo texto delimitado no seu browser</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Analisar a linha do cabeçalho a atualizar as listas de X e Y</translation>
+        <translation type="obsolete">Analisar a linha do cabeçalho a atualizar as listas de X e Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Analisa a linha de cabeçalho do arquivo de entrada e atualiza as listas dos campos X e Y. Utilize este botão para atualizar as listas caso o delimitador tenha sido modificado depois da seleção do arquivo.</translation>
+        <translation type="obsolete">Analisa a linha de cabeçalho do arquivo de entrada e atualiza as listas dos campos X e Y. Utilize este botão para atualizar as listas caso o delimitador tenha sido modificado depois da seleção do arquivo.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Cria uma camada usando os parâmetros especificados adicionando-o ao mapa. A janela permanece aberta permitindo a adição de mais camadas.</translation>
+        <translation type="obsolete">Cria uma camada usando os parâmetros especificados adicionando-o ao mapa. A janela permanece aberta permitindo a adição de mais camadas.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Fechar a janela</translation>
+        <translation type="obsolete">Fechar a janela</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Fecha a janela sem adicionar nada ao mapa.</translation>
+        <translation type="obsolete">Fecha a janela sem adicionar nada ao mapa.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Campo X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Nome do campo contendo valores de X</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nome do campo contendo valores de X. Escolha um campo da lista. A lista é gerada a partir da linha de cabeçalho do arquivo.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Campo Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Nome do campo contendo valores de Y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Nome do campo contendo valores de Y. Escolha um campo da lista. A lista é gerada a partir da linha de cabeçalho do arquivo.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Nome da camada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Nome para exibir na legenda do mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Nome exibido na legenda do mapa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Delimitador</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Delimitador usado ao separar os campos do arquivo texto. O delimitador pode possuir mais de um caractere.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Delimitador usado ao separar os campos do arquivo texto. O delimitador pode possuir um ou mais caracteres.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Camada de texto delimitado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Arquivo texto delimitado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Caminho completo para o arquivo de texto delimitado</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Caminho completo para o arquivo texto delimitado. Para analisar apropriadamente os campos do arquivo, o delimitador deve ser escolhido antes do arquivo. Use o botão procurar ao lado deste campo para escolher um arquivo de entrada.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Procurar arquivo de texto delimitado para processamento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Utilize este botão para procurar o arquivo texto delimitado. O botão não será habilitado enquanto um delimitador não houver sido escolhido no campo &lt;i&gt;Delimitador&lt;/i&gt;. Depois de escolhido um arquivo, as caixas de seleção X e Y serão preenchidas com os campos do arquivo texto.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Adicionar camada utilizando o delimitador, arquivo, e campos x/y especificados</translation>
+        <translation type="obsolete">Adicionar camada utilizando o delimitador, arquivo, e campos x/y especificados</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>E&amp;xtrair</translation>
+        <translation type="obsolete">E&amp;xtrair</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Adicionar Camada</translation>
+        <translation type="obsolete">&amp;Adicionar Camada</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Fechar</translation>
+        <translation type="obsolete">&amp;Fechar</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Texto de exemplo</translation>
     </message>
@@ -6032,97 +6367,59 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Feições do Buffer</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6130,57 +6427,57 @@
         <translation type="obsolete">Opções de Buffer:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Distância dos Buffers em unidades do mapa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Nome da tabela para a camada Buferizada:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Criar ID de objeto único</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>público</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Geometria da Coluna:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID de referência Espacial:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Campo absoluto para usar como ID de feição:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Esquema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Adicionar a camada buferizada para o mapa?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Buferizar as feições na camada: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6551,25 +6848,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Palavras abreviadas</translation>
     </message>
@@ -6584,7 +6881,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6592,17 +6889,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished">Situação</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished">Índice</translation>
     </message>
@@ -6783,154 +7080,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6938,22 +7235,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6966,7 +7263,7 @@
         <translation>Ferramentas de GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Carregar arquivo GPX</translation>
     </message>
@@ -6985,37 +7282,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Arquivo:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Tipos de Feições:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Waypoints</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Rotas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Trilhas</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importar outro arquivo</translation>
     </message>
@@ -7043,27 +7340,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Arquivo a ser importado:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Tipo de feição:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Arquivo GPX de saída:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Nome da camada:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Descarregar do GPS</translation>
     </message>
@@ -7088,27 +7385,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Editar dispositivos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Dispositivo GPS:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Arquivo de saída:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Porta:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Carregar no GPS</translation>
     </message>
@@ -7134,96 +7431,96 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Camada de dados:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7231,12 +7528,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
@@ -7244,34 +7541,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Ponto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linha</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polígono</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -7279,17 +7576,17 @@
         <translation>Nova camada vetorial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atributos:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Adicionar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Coluna 1</translation>
     </message>
@@ -7299,17 +7596,12 @@
         <translation type="obsolete">Novo Item</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Remover</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7317,7 +7609,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7373,22 +7665,22 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georreferenciar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Fechar</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Arquivo raster:</translation>
     </message>
@@ -7405,50 +7697,55 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Entre as coordenadas geográficas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Opções Warp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Método de reamostragem:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Vizinho mais próximo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Linear</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Cúbico</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Use 0 para transparência quando necessário</translation>
     </message>
@@ -7530,40 +7827,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished">Símbolo graduado</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation type="unfinished">Modo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation type="unfinished">Número de Classes:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -7573,22 +7867,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Valor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Campo</translation>
     </message>
@@ -7654,77 +7948,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished">Ferramentas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished">Atualizar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7737,12 +8031,12 @@
         <translation type="obsolete">Novo vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Novo ponto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Novo centróide</translation>
     </message>
@@ -7807,7 +8101,7 @@
         <translation type="obsolete">Desmarcar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Excluir vértice</translation>
     </message>
@@ -7832,241 +8126,241 @@
         <translation type="obsolete">Selecione ponto na linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Esquerdo: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Médio: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Direito: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished">Nova linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished">Nova borda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished">Mover vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished">Adicionar vértice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished">Dividir linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished">Editar atributos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished">Fechar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Ponto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Cor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Índice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Tamanho</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8272,32 +8566,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Ok</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8710,12 +9004,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Rodar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Parar</translation>
     </message>
@@ -8725,144 +9019,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">coluna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8913,7 +9177,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8921,17 +9185,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8939,22 +9203,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8962,42 +9226,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9005,7 +9269,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9013,7 +9277,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9021,69 +9285,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">coluna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9191,7 +9455,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9216,129 +9480,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">coluna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9499,162 +9763,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9662,22 +9926,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9872,39 +10136,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -9915,78 +10146,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished">Módulos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">Ferramentas GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">coluna</translation>
     </message>
@@ -10047,17 +10273,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10118,32 +10344,32 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Modelo de Plugin para o QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Gerador de Grade (Grid)</translation>
     </message>
@@ -10167,17 +10393,17 @@
         <translation type="obsolete">Origem (Inferior Esquerda)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Latitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Longitude:</translation>
     </message>
@@ -10194,7 +10420,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -10202,60 +10428,65 @@
         <translation type="obsolete">Tamanho do Quadriculado (unidades em graus)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Intervalo de latitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Intervalo de longitude:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished">Ponto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished">Linha</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished">Polígono</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -10270,12 +10501,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10378,27 +10609,27 @@
         <translation type="obsolete">&lt;center&gt;Rodar ação&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Feição</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">Valor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10778,214 +11009,311 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Seletor de Projeção para a Camada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="" line="136055884"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
+&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
+&lt;p&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
+&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
+&lt;p&gt;Esta camada parece não ter uma projeção especificada para ela. Por padrão esta camada terá a mesma projeção configurada no projeto, mas você alterá-la selecionando um dos outros tipos de projeção abaixo.&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Fechar</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Propriedades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Remover</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Abrir tabela de atributos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Rodar</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Salvar como shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Saída</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nenhuma Camada Selecionada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation>Seletor de Projeção para a Camada</translation>
+        <location filename="" line="136055884"/>
+        <source>Form1</source>
+        <translation type="obsolete">Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation>OK</translation>
+        <location filename="" line="136055884"/>
+        <source>CheckBox1</source>
+        <translation type="obsolete">CheckBox1</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Bitstream Vera Sans&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Esta camada parece não ter uma projeção especificada para ela. Por padrão esta camada terá a mesma projeção configurada no projeto, mas você alterá-la selecionando um dos outros tipos de projeção abaixo.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;</translation>
+        <source>TextLabel1</source>
+        <translation type="obsolete">TextLabel1</translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Remover</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Abrir tabela de atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salvar como shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
         <source>&amp;Properties</source>
         <translation type="unfinished">&amp;Propriedades</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabela de atributos - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation type="unfinished">&amp;Remover</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Parar edição</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Você quer salvar as alterações?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Sim</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Não</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegendItemBase</name>
     <message>
-        <location filename="" line="136055884"/>
-        <source>Form1</source>
-        <translation type="obsolete">Form1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
-        <source>CheckBox1</source>
-        <translation type="obsolete">CheckBox1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel1</source>
-        <translation type="obsolete">TextLabel1</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Remover</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Abrir tabela de atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salvar como shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Propriedades</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -11122,58 +11450,48 @@
         <translation type="obsolete">Ocorreu um erro ao visualizar a visão, você vai precisar usar o zoom manualmente na região de interesse.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zoom para a extensão da camada selecionada</translation>
+        <translation type="obsolete">&amp;Zoom para a extensão da camada selecionada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Remover</translation>
+        <translation type="obsolete">&amp;Remover</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Propriedades</translation>
+        <translation type="obsolete">&amp;Propriedades</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Nenhuma feição encontrada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -11184,34 +11502,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -11220,144 +11538,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportar para Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Arquivo Map</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Exportar apenas a informação da CAMADA</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Altura</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Largura</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>pés</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>metros</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>milhas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>polegadas</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>quilômetros</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Unidades</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Tipo de imagem</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>Definição do usuário</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -11377,88 +11680,90 @@
         <translation>Prefixo atachado ao mapa, barra de escalas e legendas arquivos GIF criados usando este MapFile. Deve ser mantido brevemente.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Definição de interface Web </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Cabeçalho</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Rodapé</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Modelo</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Escolha um diretório</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -11505,36 +11810,6 @@
         <source>Total</source>
         <translation type="obsolete">Total</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -11570,6 +11845,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -11679,17 +11990,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Testar conexão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">A Conexão para %1 foi um sucesso</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -11699,7 +12010,7 @@
 Informações adicionais do erro:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11913,42 +12224,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Inferior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Superior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Inferior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished">Superior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11956,7 +12267,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11964,100 +12275,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Plugin de Rosa do Ventos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Propriedades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Ângulo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Posicionamento</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Configurar a direção automaticamente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Habilitar Rosa dos Ventos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Superior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Superior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Inferior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Inferior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Posicionamento na Tela</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Pré-visualização da rosa dos ventos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ícone</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Novo Item</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -12073,14 +12389,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -12088,7 +12396,7 @@
         <translation>Opções do QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -12098,52 +12406,52 @@
         <translation type="obsolete">firebird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Ok</translation>
+        <translation type="obsolete">&amp;Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Raio de busca para identificação de Feições</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Não exibir a tela inicial (splash screen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>Apa&amp;rência</translation>
     </message>
@@ -12153,27 +12461,27 @@
         <translation type="obsolete">Tela de &amp;Abertura</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Ícone &amp;Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Nota:&lt;/b&gt;Mudanças no tema somente terão efeito na próxima vez que o QGIS for iniciado</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Navegador de Ajuda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Abrir ajuda com</translation>
     </message>
@@ -12183,7 +12491,7 @@
         <translation type="obsolete">&lt;b&gt;Nota:&lt;/b&gt; O navegador deve estar em seu PATH ou você pode &lt;br&gt;especificar seu caminho completo abaixo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Renderizar</translation>
     </message>
@@ -12193,22 +12501,22 @@
         <translation type="obsolete">Atuali&amp;zar Durante o Desenho</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Atualizar tela após renderizar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>A visualização do mapa será atualizada (desenhada) após este número de feições ter sido lido</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>feições</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Defina 0 para não atualizar a visualização até que todas as feições tenham sido lidas)</translation>
     </message>
@@ -12254,12 +12562,12 @@
         <translation type="obsolete">&lt;b&gt;Nota: &lt;/b&gt;Um valor mais alto dará um símbolo SVG mais suavizado, mas isso deixará a renderização mais lenta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Visibilidade Inicial</translation>
     </message>
@@ -12274,7 +12582,7 @@
         <translation type="obsolete">Projeção</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Selecione o Padrão Global</translation>
     </message>
@@ -12284,12 +12592,12 @@
         <translation type="obsolete">Quando é carregada uma camada que não tem informação de projeção:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Perguntar a projeção.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>A projeção padrão do projeto será usada.</translation>
     </message>
@@ -12299,122 +12607,122 @@
         <translation type="obsolete">A projeção padrão (global) mostrada a baixo será usada.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished">Cor da Seleção:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished">Aparência</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -12423,40 +12731,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Geral</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -12621,87 +12949,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabela &lt;b&gt;%1&lt;/b&gt; no banco de dados &lt;b&gt;%2&lt;/b&gt; no servidor &lt;b&gt;%3&lt;/b&gt;, usuário &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>A Conexão Falhou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Conexão com o banco de dados falhou:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Erro no banco de dados</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Falha ao pegar uma amostra dos valores da tabela</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Resultado da Consulta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>A cláusula where retornou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation> colunas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>A Consulta Falhou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Um erro ocorreu quando foi executada a consulta:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Nenhum registro encontrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>A consulta que você especificou retornou que não há nenhum registro encontrado. Camadas válidas do PostgreSQL precisam ter pelo menos uma feição.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12842,17 +13165,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Escolha um diretório</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Sem Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Nenhum plugin QGIS encontrado em</translation>
     </message>
@@ -12943,136 +13266,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished">Afastar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">Linear</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished">Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -13149,13 +13477,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Raster modificado:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -13178,17 +13511,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Impossível de acessar relação</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Impossível de acessar o </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -13196,12 +13529,12 @@
 A mensagem de erro do banco de dados foi:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Sem suporte ao GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -13211,12 +13544,12 @@
 (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -13226,195 +13559,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished">Sem chave de coluna adequada na visão</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -13427,62 +13748,62 @@
         <translation>Propriedades do Projeto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Unidade do Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metros</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Pés</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Graus Decimais</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Título padrão do projeto</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Aplicar</translation>
+        <translation type="obsolete">&amp;Aplicar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Geral</translation>
     </message>
@@ -13492,17 +13813,17 @@
         <translation type="obsolete">Configurações da Digitalização</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Largura da Linha:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolerância de Snapping:</translation>
+        <translation type="obsolete">Tolerância de Snapping:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Cor da Linha:</translation>
     </message>
@@ -13512,133 +13833,123 @@
         <translation type="obsolete">Mostrar precisão do cursor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automática</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Ajustar automaticamente o número de casas decimais na posição (geográfica) mostrada pelo mouse</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>O número de casas decimais que são usadas para mostrar a posição (geográfica) do mouse é automaticamente ajustada de forma a ser suficientemente precisa, dessa forma, ao mover na tela o mouse em um pixel resulta em uma mudança na posição.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manual</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Ajusta o número de casas decimais á ser usada para mostrar a posição (geográfica) do mouse</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>O número de casas decimais para a opção manual</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>casas decimais</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Aparência do Mapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Cor da Seleção:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Título do Projeto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Projeção</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Habilitar a aplicação de projeção em tempo real</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished">Precisão</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Seletor de Projeção</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Projeção</translation>
     </message>
@@ -13653,42 +13964,42 @@
         <translation type="obsolete">Referência Espacial Id</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Procurar</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Encontrar</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">Sistema de referência espacial</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished">ID</translation>
     </message>
@@ -13702,44 +14013,74 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Não Ajustado</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Driver:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensões:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> Bandas: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origem:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Tamanho do Pixel:</translation>
     </message>
@@ -13759,171 +14100,171 @@
         <translation type="obsolete">Azul</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Extensão do Raster: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Area clipada: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Visões da Pirâmide:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Estatísticas da Banda (se coletadas):</translation>
+        <translation type="obsolete">Estatísticas da Banda (se coletadas):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Propriedade</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>No da Banda</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Sem Informações</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Nenhuma informação coletada até o momento</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Val Min</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Val Máx</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Intervalo</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Média</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Soma das raízes</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Desvio Padrão</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Soma de todas as células</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Número de Células</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Acesso a escrita negado</translation>
+        <translation type="obsolete">Acesso a escrita negado</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Acesso a escrita negado. Ajuste as permissões do arquivo e tente novamente.
+        <translation type="obsolete">Acesso a escrita negado. Ajuste as permissões do arquivo e tente novamente.
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Tipo de Dados:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Inteiro de 8 bits sem sinal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Inteiro de 16 bits sem sinal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Inteiro de 16 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Inteiro de 32 bits sem sinal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Inteiro de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Ponto flutuante de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Ponto flutuante de 64 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Inteiro complexo de 16 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Inteiro complexo de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Ponto flutuante complexo de 32 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Ponto flutuante complexto de 64 bits</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Não foi possível determinar o tipo de dados do raster.</translation>
     </message>
@@ -13933,67 +14274,52 @@
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;Camada Raster&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparência&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparência&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Magphase Média</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Média</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Sistema de Referência Espacial da Camada: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Sistema de Referência Espacial do Projeto: </translation>
+        <translation type="obsolete">Sistema de Referência Espacial do Projeto: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>fora da extensão</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>nulo (sem dado)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14006,32 +14332,32 @@
         <translation type="obsolete">Nenhum Dado:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notas sobre imagens multibandas&lt;/h3&gt;&lt;p&gt; Esta é uma imagem multibanda. Pode-se escolher renderizá-la com escalas de cinza ou cores(RGB). Para imagens coloridas, pode-se associar bandas para cores arbitrárias. Por exemplo, tem-se uma imagem landsat de sete bandas, deve-se escolher renderizá-lo como:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Azul visível (0.45 a 0.52 mícrons) - não mapeado&lt;/li&gt;&lt;li&gt;Verde Visível (0.52 a 0.60 mícrons) - não mapeado&lt;/li&gt;&lt;/li&gt;Vermelho visível (0.63 a 0.69 mícrons) - não mapeado&lt;/li&gt;&lt;li&gt;Infravermelho Aproximado (0.76 a 0.90 mícrons) - mapeado para o verde na imagem&lt;/li&gt;&lt;li&gt;Semi-infravermelho (1.55 a 1.75 mícrons) - não mapeado&lt;/li&gt;&lt;li&gt;Infravermelho Térmico (10.4 a 12.5 mícrons) - não mapeado&lt;/li&gt;&lt;li&gt;Semi-infravermelho (2.08 a 2.35 mícrons) - mapeado para o azul na imagem&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Notas sobre imagem com paleta&lt;/h3&gt; &lt;p&gt;Esta imagem usa uma paleta de cores fixa. Pode-se remapear essas cores em diferentes combinações ex.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Vermelho - azul na imagem&lt;/li&gt;&lt;li&gt;Verde - azul na imagem&lt;/li&gt;&lt;li&gt;Azul - verde na imagem&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Notas para imagem com Escalas de cinza&lt;/h3&gt; &lt;p&gt;Pode-se remapear essas Escalas de cinza para uma imagem com pseudocores usando uma rampa gerada de cores automátcas.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Escalas de cinza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudocores</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Barbarizar</translation>
     </message>
@@ -14046,35 +14372,64 @@
         <translation type="obsolete">Linhas:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished">Não Ajustado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Acesso a escrita negado</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Acesso a escrita negado. Ajuste as permissões do arquivo e tente novamente.
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -14086,50 +14441,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Aplicar</translation>
+        <translation type="obsolete">&amp;Aplicar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
+        <translation type="obsolete">&amp;Ajuda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Geral</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Origem da Camada:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Identificação:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legenda:</translation>
     </message>
@@ -14139,12 +14494,12 @@
         <translation type="obsolete">Mostrar informações de debug cobrindo o raster ?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Nenhum Dado:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Simbologia</translation>
     </message>
@@ -14154,27 +14509,27 @@
         <translation type="obsolete">Aparência</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparência:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Cheio&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Nenhum</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Inverter Mapa de Cor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -14184,27 +14539,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Banda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Verde&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Vermelho&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Azul&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Cor</translation>
     </message>
@@ -14214,17 +14569,17 @@
         <translation type="obsolete">Escala de cinza</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Cinza</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Desvios padrões</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Cor do Mapa</translation>
     </message>
@@ -14284,17 +14639,17 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Atenção :&lt;/font&gt; Simbologia Avançada não implementada ainda!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pirâmides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Método de Redimensionamento</translation>
     </message>
@@ -14304,42 +14659,42 @@
         <translation type="obsolete">Magphase Média</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Média</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Vizinho mais Próximo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Construir Pirâmides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Resoluções das Pirâmides</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Pré-Visualização</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Colunas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Linhas:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta:</translation>
     </message>
@@ -14354,22 +14709,22 @@
         <translation type="obsolete">Usar renderização dependente da escala</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Máximo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Escala máxima em que a esta camada será mostrada. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Mínimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Escala mínima em que esta camada será mostrada. </translation>
     </message>
@@ -14399,37 +14754,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histograma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Opções</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Fora de Alcance OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Permitir Aproximação</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Tipo de Carta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Barra da Carta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Gráfico de Linha</translation>
     </message>
@@ -14439,27 +14794,27 @@
         <translation type="obsolete">Alcance X:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Atualizar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -14467,29 +14822,39 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">Sistema de referência espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation type="unfinished">Modificar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -14497,36 +14862,26 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Impossível executar comando</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Impossível executar o comando</translation>
+        <translation type="obsolete">Impossível executar o comando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Iniciando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Feito</translation>
     </message>
@@ -14534,107 +14889,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> metros/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>pés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation> graus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> pés</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> graus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> desconhecido</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Superior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Inferior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Superior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Inferior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Marca (tick) acima</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Marca (tick) abaixo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Caixa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14642,29 +14997,29 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Plugin de Barra de Escala</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -14683,27 +15038,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Superior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Superior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Inferior Esquerdo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Inferior Direito</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Tamanho da barra:</translation>
     </message>
@@ -14713,62 +15068,62 @@
         <translation type="obsolete">Selecionar Cor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Posicionamento:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Marca (tick) abaixo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Marca (tick) acima</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Caixa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Barra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Selecione o estilo da barra de escala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Cor da barra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Estilo da barra de escala:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Habilitar barra de escala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Arredondar números automaticamente ao redimensionar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14789,124 +15144,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished">Nenhum registro encontrado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Tem certeza que deseja remover o </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">conexão e todos os ajustes associados ?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirme a exclusão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation type="unfinished">Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation type="unfinished">Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15032,17 +15382,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -15152,27 +15502,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished">Padrões de Preenchimento:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished">Ponto</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished">Tamanho</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished">Símbolo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished">Espessura da borda:</translation>
     </message>
@@ -15182,273 +15532,278 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished">Cor de Preenchimento:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished">Cor da Borda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished">Estilo da Borda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished">Rótulo:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Você tem certeza que quer remover a [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] conexão e todos os ajustes associados?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Confirme a exclusão</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Editar Nomes das Colunas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation>O seguinte(s) Shapefile(s) não foi (foram) carregado(s):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>MOTIVO: O arquivo não pode ser aberto</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>RAZÃO: Um ou ambos arquivos do Shapefile (*.dbf, *.shx) não foram encontrados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Interface Geral de Ajuda:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Conexões PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Novo...] - criar uma nova conexão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Editar] - editar a conexão atualmente selecionada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Remover] - Remove a conexão atualmente selecionada</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>-você precisa selecionar a conexão que funciona (conecta corretamente) para conseguir importar arquivos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-quando mudar conexões o \&quot;Global Schema\&quot; também mudará de acordo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Lista de Shapefiles:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Adicionar...] - abrir uma caixa de diálogo e selecionar o(s) arquivo(s) para importar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Remover] - remove os arquivos atualmente selecionados da lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Remove Todos] - remove todos os arquivos da lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Referência ID para os shapefiles à serem importados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Usar Padrão (SRID)] - setar SRID para -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Nome da Coluna Geometria] - nome da coluna geometria no banco de dados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Usar Padrão (Nome da Coluna Geometria)] - seta o nome para &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Glogal Schema] - seta o esquema para todos os arquivos à serem importados em</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importar] - Importa os shapefiles atualmente na lista</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Sair] - sai do programa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Ajuda] - mostra essa caixa de ajuda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Omportar Shapefiles</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Você precisa especificar uma Conexão primeiro</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>A conexão falhou - Cheque a sua configuração e tente novamente</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Você precisa adicionar shapefiles para a lista primeiro</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importando arquivos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Progresso</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problema inserindo feições do arquivo:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nome de tabela inválido.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Nenhum campo detectado.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Os seguintes campos estão duplicados:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Importar Shapefiles - Existe Relação</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>O Shapefile:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>irá usar [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] relação com estes dados,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>e que já existem e possivelmente contém dados.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Para evitar a perda de dados mude o &quot;DB Relation Name&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>para este Shapefile na lista da caixa de diálogo principal.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Você quer salvar sobre a relação do arquivo [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] ?</translation>
     </message>
@@ -15458,72 +15813,72 @@
         <translation type="obsolete">Relação Existe</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Use a tabela abaixo para editar o nome das colunas. Tenha certeza que nenhuma das colunas tenha um nome que contenha uma palavra reservada do PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished">Nome do Arquivo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished">Classe da Feição</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished">Feições</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished">Nome Relacional DB</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished">Esquema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15531,32 +15886,32 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Ferramenta de importação Shapefile para PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Conexões PostgreSQL </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Remover</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Importar</translation>
+        <translation type="obsolete">Importar</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Ajuda</translation>
+        <translation type="obsolete">Ajuda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Lista Shapefile</translation>
     </message>
@@ -15586,107 +15941,107 @@
         <translation type="obsolete">Esquema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Nome da Coluna Geométrica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Remover Tudo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Esquema global</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Ferramenta de importação de Shapefile para PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importar os shapefiles selecionados para PostGIS</translation>
+        <translation type="obsolete">Importar os shapefiles selecionados para PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Fechar</translation>
+        <translation type="obsolete">Fechar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Adicionar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Adicionar um shapefile para a lista de arquivos a serem importados</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Remover o shapefile selecionado da lista de importação</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Remover todos os shapefiles da lista de importação</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Utilizar SRID Padrão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Definir o SRID para valor padrão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Utilizar o Nome da Coluna de Geometria Padrão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Definir o nome da coluna de geometria como valor padrão</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Novo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Criar uma nova conexão PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Remover a atual conexão PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Conectar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Editar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Editar a conexão PostGIS atual</translation>
     </message>
@@ -15704,7 +16059,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15748,15 +16103,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished">Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -15771,14 +16136,14 @@
         <translation type="obsolete">Nenhuma feição encontrada no ponto clicado da camada ativa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabela de atributos - </translation>
+        <translation type="obsolete">Tabela de atributos - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Abrir tabela de atributos</translation>
+        <translation type="obsolete">&amp;Abrir tabela de atributos</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15791,29 +16156,29 @@
         <translation type="obsolete">Iniciar edição</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Parar edição</translation>
+        <translation type="obsolete">Parar edição</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Salvar como shapefile...</translation>
+        <translation type="obsolete">Salvar como shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>O provedor não suporta apagar o arquivo</translation>
+        <translation type="obsolete">O provedor não suporta apagar o arquivo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>O provedor de dados não suporta apagar feições</translation>
+        <translation type="obsolete">O provedor de dados não suporta apagar feições</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>A camada não pode ser editada</translation>
+        <translation type="obsolete">A camada não pode ser editada</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15826,281 +16191,216 @@
         <translation type="obsolete">ação</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Você quer salvar as alterações?</translation>
+        <translation type="obsolete">Você quer salvar as alterações?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Sim</translation>
+        <translation type="obsolete">&amp;Sim</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Não</translation>
+        <translation type="obsolete">&amp;Não</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation type="unfinished">Abortar</translation>
+        <translation type="obsolete">Abortar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished">Símbolo Graduado</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished">Cor Contínua</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished">Valor absoluto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">Este botão abre a ferramenta de consulta do PostgreSQL e permite que você filtre os seus dados e crie um novo conjunto para visualizá-los no mapa, evitando assim a visualização de todas as informações</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished">A consulta usada para limitar as feições é mostrada aqui. Isto é atualmente suportado apenas nas camadas do PostgreSQL. Pressione Enter ou modifique a consulta clicando no botão Ferramenta de Consulta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished">Índice Espacial criado com sucesso</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished">A criação do Índice Espacial falhou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished">Geral:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished">Tipo de geometria de feições nesta camada:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished">Número de feições nesta camada: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished">Estender:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished">Sistema de unidades de referência espacial na camada</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished">xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished">Sistema de unidades de referência espacial no projeto</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished">Sistema de referência espacial na camada:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished">Sistema de referência espacial no Projeto (Saída)</translation>
+        <translation type="obsolete">Sistema de referência espacial no Projeto (Saída)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished">Informação do campo atributo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished">Campo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished">Tamanho</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished">Precisão</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16112,7 +16412,7 @@
         <translation>Propriedades da Camada</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Tipo de legenda:</translation>
     </message>
@@ -16124,7 +16424,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Ajuda</translation>
+        <translation type="obsolete">Ajuda</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16139,12 +16439,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16152,129 +16452,129 @@
         <translation type="obsolete">TextLabel2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished">Simbologia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished">Transparência:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished">Geral</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished">Máximo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished">Mínimo 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished">Identificação</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished">Use este controle para selecionar qual campo é colocado no nível mais alto na caixa de diálogo Identifique Resultados</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">Sistema de referência espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished">Modificar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished">Mostra o campo na caixa de diálogo Identifique Resultados</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished">Seleciona o campo a ser mostrado na caixa de diálogo Identifique Resultados</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished">Exibir campo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished">Ferramenta de Consulta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished">Criar índice espacial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished">Criar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished">Labels</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished">Mostrar rótulos</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished">Ações</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation type="unfinished">Aplicar</translation>
+        <translation type="obsolete">Aplicar</translation>
     </message>
 </context>
 <context>
@@ -16338,7 +16638,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16346,29 +16646,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Tem certeza que deseja remover o </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">conexão e todos os ajustes associados ?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirme a exclusão</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">Sim</translation>
+        <translation type="obsolete">Sim</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">Não</translation>
+        <translation type="obsolete">Não</translation>
     </message>
 </context>
 <context>
@@ -16399,57 +16699,42 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">&amp;Novo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">Editar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16462,282 +16747,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">Propriedade</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished">Valor</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished">Título</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished">Sim</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished">Não</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished">Visibilidade</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16751,16 +17036,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Modelo de Plugin para o QGIS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Modelo do Plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Modelo de Plugin para o QGIS</translation>
+        <translation type="obsolete">Modelo de Plugin para o QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Modelo do Plugin</translation>
+        <translation type="obsolete">Modelo do Plugin</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16782,33 +17148,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Cancelar</translation>
+        <translation type="obsolete">&amp;Cancelar</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Longitude:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Não</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Latitude:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Troque isso por uma breve descrição do que o plugin faz</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_ro.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_ro.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_ro.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR Driver Manager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>imposibil de accesat OGRDriverManager</translation>
     </message>
@@ -64,32 +64,83 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Introduceţi coordonatele hărţii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Renunţă</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Opreste</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Starea actuala</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Renunţă</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>QObject</name>
     <message>
         <location filename="../qgis_wms/kdchart/KDChartPolarPainter.cpp" line="791"/>
@@ -107,12 +158,12 @@
         <translation type="obsolete">Valoare </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Eroare interceptată în sistemul de coordonate la transformarea unui punct. Nu a fost posibilă calcularea lungimii liniei.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Eroare interceptată în sistemul de coordonate la transformarea unui punct. Nu a fost posibilă calcularea ariei poligonului.</translation>
     </message>
@@ -122,149 +173,149 @@
         <translation>Etichetă</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Nu există Plugin-uri pentru accesarea datelor
 Nu a fost găsit nici un Plugin pentru accesarea de date QGIS în</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Nu a putut fi încărcat nici un layer vectorial. Verificaţi instalarea QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Nici un furnizor de date</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Nu este disponibil nici un Plugin pentru accesarea de date. Nu a putut fi încărcat nici un layer vectorial</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Operaţiile logice nu au sens pentru valori numerice. Utilizaţi comparaţii.</translation>
+        <translation type="obsolete">Operaţiile logice nu au sens pentru valori numerice. Utilizaţi comparaţii.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Coloana respectivă nu afost gasită: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Împărţire la zero.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Deschide un layer OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Fişiere QGIS (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Nu există nici un layer activat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Pentru a putea indetifica obiecte, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Bandă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Lungime</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Suprafaţă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>acţiune</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> obiecte găsite</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 obiect găsit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Nici un  obiect nu a fost găsit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Nici un  obiect nu a fost găsit in stratul activ, în punctul selectat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Nu s-a putut identifica obiecte în</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>deoarece</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Pentru a putea selecta obiecte, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
+        <translation type="obsolete">Pentru a putea selecta obiecte, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nu s-a putut potrivi segmentul. Verificati toleranţa din Setari &gt; Opţiuni Proiect &gt; General?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nu s-a putut potrivi vertexul. Verificati toleranţa din Setari &gt; Opţiuni Proiect &gt; General?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Eroare la citire fişier proiect: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> la linia </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> coloana </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> pentru fisierul </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Nu se poate salva în fişier </translation>
     </message>
@@ -274,127 +325,127 @@
         <translation>Pentru o transformare liniară este nevoie de cel puţin 2 puncte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Pentru o transformare Helmert este nevoie de cel puţin 2 puncte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Pentru o transformare afină este nevoie de cel puţin 4 puncte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Centroid nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Punct nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Vertex nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Înapoi la starea anterioară</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Închide linia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Selectează vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Selectează poziţie nouă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Selectează segment</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Poziţie vertex nouă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Lasă Liber</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Sterge Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Lasă vertexul liber</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Selectează element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Locaţie nouă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Lăsare liber este selectat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Stergere este selectat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Selectează poziţia pe linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Împarte linia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Lăsare liberă a liniei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Selectează punct pe linie</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>Nu s-a putut accesa sursa de date: </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Eroare de parsare la linia </translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>Furnizor date pentru formatul GPS eXchange</translation>
     </message>
@@ -421,12 +472,12 @@
         <translation>Datele GRASS nu vor fi disponibile dacă nu specificaţi calea (GISBASE) către  instalarea GRASS.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -471,12 +522,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,32 +542,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -546,82 +597,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Stratul nu poate fi adaugat la</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Furnizorul  de date corespunzator acestui layer nu suporta adaugarea de obiecte.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Layerul nu este editabil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Eroare</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -671,279 +905,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Layerul nu este editabil</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Eroare</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Baza de date</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -963,52 +1147,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1016,52 +1200,52 @@
 <context>
     <name>QgisApp</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Verificare a bazei de date</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Setări de citire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Setare GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Reincarcare plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Initializare filtre pentru fisiere </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Reincarcare fereastra</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS este pregatit pentru utilizare!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>Proiect &amp;Nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N
@@ -1069,17 +1253,17 @@
 Proiect Nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Proiect Nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Deschide Proiect...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O
@@ -1087,17 +1271,17 @@
 Deschide Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Deschide Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Salvare Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S
@@ -1105,85 +1289,85 @@
 Salvare Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Salvare Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Sal&amp;vare Proiect ca...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A
 Salvare Proiect sub un nume nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Salvare Proiect sub un nume nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Imprimare...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P
 Imprimare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Salvare ca imagine...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I
 Salvare hartă ca imagine</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Salvare hartă ca imagine</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportare pentru MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M
 Exportare fisier .map pentru MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportare fisier .map pentru MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Iesire</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q
@@ -1191,17 +1375,17 @@
 Iesire din QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Iesire din QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Adaugă layer tip Vector...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V
@@ -1209,17 +1393,17 @@
 Adaugă layer tip Vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Adaugă layer tip Vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Adaugă layer tip Raster...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R
@@ -1227,17 +1411,17 @@
 Adaugă layer tip Raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Adaugă layer tip Raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Adaugă layer tip PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D
@@ -1245,17 +1429,17 @@
 Adaugă layer tip PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Adaugă layer tip PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Crează un nou layer tip Vector...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N
@@ -1263,34 +1447,34 @@
 Crează un nou layer tip Vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Crează un nou layer tip Vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Îndepărtează Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D
 Îndepărtează Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Îndepărtează Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation> Adaugă tot în Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+
@@ -1298,17 +1482,17 @@
  Adaugă toate straturile tematice în Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation> Adaugă toate straturile tematice în Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Elimină toate straturile tematice din Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-
@@ -1316,17 +1500,17 @@
 Elimină toate straturile tematice din Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Elimină toate straturile tematice din Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Arată toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S
@@ -1334,17 +1518,17 @@
 Arată toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Arată toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Ascunde toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H
@@ -1352,17 +1536,17 @@
 Ascunde toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Ascunde toate straturile tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Opţiuni Proiect...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P
@@ -1370,37 +1554,37 @@
 Setaţi Opţiuni Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Setaţi Opţiuni Proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Opţiuni...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Schimbaţi diverse opţiuni QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Proiecţie Customizată...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Administrare Proiecţii Customizate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Ajutor conţinut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?
@@ -1408,23 +1592,23 @@
 Documentaţie (Mac)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Documentaţie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Pagina QGIS Home</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H
@@ -1432,78 +1616,78 @@
 Pagina QGIS Home</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Pagina QGIS Home</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Despre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Despre Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Versiunea QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Verificaţi dacă Versiunea dvs. QGIS este cea mai recentă (este nevoie de access la Internet)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Actualizează</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R
 Actualizează</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Actualizează Harta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Apropiere</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++
 Apropiere</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Depărtare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-
 Depărtare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Vedere de ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F
@@ -1511,64 +1695,64 @@
 Vedere de ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Vedere de ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Apropiere de Selecţie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F
 Apropiere de Selecţie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Apropiere de Selecţie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Mişcare hartă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Mişcare hartă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Înapoi la ultimul nivel de zoom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Înapoi la ultimul nivel de zoom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Focusare pe Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Focusare pe Layer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identifică obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I
@@ -1576,61 +1760,61 @@
 Faceţi click pe obiecte pentru a le identifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Faceţi click pe obiecte pentru a le identifica</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Selectaţi Obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Deschide tabela de atribute</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Măsurare distanţe liniare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M
 Măsurare distanţe liniare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Măsurare distanţe liniare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Măsurare suprafaţă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J
 Măsurare suprafaţă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Măsurare suprafaţă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Arată bookmark-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B
@@ -1638,12 +1822,12 @@
 Arată bookmark-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Arată barele de unelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="601"/>
+        <location filename="../src/gui/qgisapp.cpp" line="602"/>
         <source>S</source>
         <comment>Show most toolbars</comment>
         <translation type="obsolete">S
@@ -1651,12 +1835,12 @@
 Arată barele de unelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Ascunde barele de unelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H
@@ -1664,45 +1848,45 @@
 Ascunde barele de unelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Bookmark Nou...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+BBookmark Nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Bookmark Nou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Adăugare layer WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W
 Adăugare layer generat de un Serviciu de Hărţi Web (WMS)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Adăugare layer generat de un Serviciu de Hărţi Web (WMS)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>În Vedere de Ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O
@@ -1710,37 +1894,37 @@
 Adaugă stratul tematic curent în Vedere de Ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Adaugă stratul tematic curent în Vedere de Ansamblu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Administrare plugin-uri...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Deschide fereastra de Administrare plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Începe editarea stratului curent</translation>
+        <translation type="obsolete">Începe editarea stratului curent</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Opreşte editarea stratului curent</translation>
+        <translation type="obsolete">Opreşte editarea stratului curent</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Vectorizare Punct</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.
@@ -1748,17 +1932,17 @@
 Vectorizare Punct</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Vectorizare Punct</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Vectorizare Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/
@@ -1766,24 +1950,24 @@
 Vectorizare Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Vectorizare Linie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Vectorizare Poligon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/
 Vectorizare Poligon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Vectorizare Poligon</translation>
     </message>
@@ -1793,589 +1977,589 @@
         <translation type="obsolete">Sterge Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Sterge Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Adaugă Vertex</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Şterge Vertex</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Mută Vertex</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Extragere Obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Extragere Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Copiere Obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Copiere Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Adăugare Obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Adăugare Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Fişier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Deschide Proiect Recent...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Vizualizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Unelte</translation>
+        <translation type="obsolete">&amp;Unelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>Strat &amp;Tematic</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Optiuni</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Fişier</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Administrare Straturi Tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Ajutor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitizare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navigaţie hartă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atribute</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Arată evoluţia randării hărţii sau a altor operaţii ce necesită mult timp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Arată scara curentă a hărţii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Arată coorinatele hartă ale poziţiei mausului. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Randare (Producere imagine)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Când sunt selectate, straturile sunt afişate. Când nu sunt selectate, straturile nu vor fi randate şi astfel se permite adaugarea unui mare număr de straturi înainte de randare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Schimbă opţiunea de randare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Această iconiţă arată daca proiecţia automată este selectată sau nu. Această opţiune este selectaă din fereatra de Opţiuni Proiect.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Proiectie - faceti click pentru a deschide fereastra de dialog pentru proiectii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Gata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Suprafata de afisare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Suprafata de previzualizare a hartii. Dimensiunea actuala a hartii este desenata cu un dreptunghi rosu. Orice layer poate fi adaugat in acest overview.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legenda hartii, ce arată toate straturile. Faceti click pe casuta de selectie pentru a arata sau a ascunde orice strat. Faceti dublu click pentru a customiza stratul respectiv.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Versiune </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> cu suport PostgreSQL </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>fara suport PostgreSQL </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
 Compilata cu Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation>, bazata pe Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS este licentiat sub GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Versiune</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Posibilitati noi</translation>
+        <translation>Posibilitati noi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1332"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">Suport WMS</translation>
+        <translation>Suport WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Editare date imbunatatita</translation>
+        <translation>Editare date imbunatatita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Creator de harti pentru definirea de harti pentru imprimare</translation>
+        <translation>Creator de harti pentru definirea de harti pentru imprimare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Unelte de masurare imbunatatite</translation>
+        <translation>Unelte de masurare imbunatatite</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Cautare atribute</translation>
+        <translation>Cautare atribute</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Structura noua a legendei</translation>
+        <translation>Structura noua a legendei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1344"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Un API ce permite utilizarea librariilor QGIS in alte aplicatii.</translation>
+        <translation>Un API ce permite utilizarea librariilor QGIS in alte aplicatii.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Export catre MapServer imbunatatit</translation>
+        <translation>Export catre MapServer imbunatatit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1348"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Culoarea de fundal este customizabila</translation>
+        <translation>Culoarea de fundal este customizabila</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Transparenta a straturilor tematice</translation>
+        <translation>Transparenta a straturilor tematice</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Antialiasing pentru straturi tip vector</translation>
+        <translation>Antialiasing pentru straturi tip vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">Support GRASS multiplatforma</translation>
+        <translation>Support GRASS multiplatforma</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1356"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Support pentru GRASS imbunatatit</translation>
+        <translation>Support pentru GRASS imbunatatit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Suport editare vector imbunatatit</translation>
+        <translation>Suport editare vector imbunatatit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Suport editare SHP/OGR</translation>
+        <translation>Suport editare SHP/OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1362"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Optiune citire doar a tabelei geometry_columns pentru un layer PostGIS</translation>
+        <translation>Optiune citire doar a tabelei geometry_columns pentru un layer PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Foarte multe imbunatatiri de interfata cu utilizatorul</translation>
+        <translation>Foarte multe imbunatatiri de interfata cu utilizatorul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Plugin-uri pentru accesarea datelor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Deschide un strat accesat de OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>nu este o sursa accesibila</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Sursa de date corupta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Layer corupt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 este un layer corupt si nu poate fi accesat.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Salvare Ca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Alegeţi un fisier de proiect QGIS </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Eroare de citire a fisierului proiect</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>inceracti sa gasiti straturi disparute?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Imposibil de citit proiectul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Alegeţi un fisier de proiect QGIS </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Proiect salvat in:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Imposibil de salvat proiectul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Imposibil de salvat proiectul in </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Imposibil de salvat proiectul </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Alegeţi un nume sub care să salvaţi proiectul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Imposibil de citit proiectul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation> Imposibil de citit proiectul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Alegeţi un nume sub care să salvaţi imaginea hartii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Harta salvata in:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nu există nici un layer selectat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Pentru a putea afisa tabela de atribute, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
+        <translation type="obsolete">Pentru a putea afisa tabela de atribute, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>A apruta o problema la stergerea de obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>A apruta o problema la stergerea de obiecte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nu este selectat nici un layer tip vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Stergerea de obiecte este posibila doar pentru straturi tip vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Pentru a sterge obiecte, trebuie ales un layer activ apăsînd pe numele lui în legendă</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Eroare la incarcare plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Eroare la incarcarea %1.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Nu există Plugin-uri pentru Straturi Harta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Nu există Plugin-uri pentru Straturi Harta in ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Nu există Plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Nu există Plugin-uri in ../plugins. Pentru a le putea testa, porniti QGIS din directorul sursa (src).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Pluginul %1 se numeste %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informatii plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGIS a incarcat dinamic urmatorul plugin:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Nume: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Versiune: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Descriere: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Nu se poate incarca acest plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS nu a putut incarca dinamic acest plugin din:  %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>O noua versiune QGIS este disponibila</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Rulati o versiune QGIS pentru dezvoltatori</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Felicitari. Rulati cea mai recenta versiune QGIS.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Ati dori mai multe informatii?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>Modificari QGIS de la utima versiune</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Nu se poate obtine legatura cu serverul de informatii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Conexiune refuzata - serverul poate fi inactiv</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Serverul QGIS nu este disponibil</translation>
     </message>
@@ -2390,140 +2574,230 @@
         <translation type="obsolete">Nu se poate face conexiunea cu serverul de versiune QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Selectarea Browser-ului pentru QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Introduceti numele browser-ului de Internet (de exemplu konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Introduceti calea absoluta, daca aplicatia nu se afla in variabila de system PATH</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Puteti modifica aceasta optiune mai tarziu selectand Optiuni din meniul de setari.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Layer corupt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Stratul tematic este corupt si nu poate fi adaugat in harta.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Salvare?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Doriti salvarea proiectului curent?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Doriti salvarea proiectului curent?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Dimensiuni: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Continutul clipboardului setat cu:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Deschide un strat tematic tip raster accesat de GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> nu este o sursa raster valida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation>  nu este o sursa raster accesibila</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Sursa de Date nu este suportata de QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Introduceţi numele noului bookmark:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Eroare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Nu se poate crea acest bookmark.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Layerul nu este editabil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Layerul curent nu este editabil. Apasati  &apos;Permisiune de Editare&apos; in bara de unelte pentru vectorizare.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
         <source></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>Fereastra Principală</translation>
     </message>
@@ -2541,32 +2815,32 @@
 <context>
     <name>QgsAbout</name>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>Sponsori QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>QGIS a fost sponsorizat de </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Website</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>Selectarea Browser-ului pentru QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -2580,17 +2854,17 @@
         <translation>Despre Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Despre</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Versiune</translation>
     </message>
@@ -2601,57 +2875,48 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS este licenţiat sub licenţa GNU General Public License&lt;/p&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS este licenţiat sub licenţa GNU General Public License&lt;/p&gt;&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Pagina QGIS Home</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Abonare la lista de mail a utilizatorilor QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Ce este nou</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Dezvoltatori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Dezvoltatori QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Furnizori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2684,22 +2949,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Nume</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -2874,7 +3139,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Executaţi acţiunea</translation>
     </message>
@@ -3005,42 +3270,42 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>selectaţi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>selectaţi şi aduceţi deasupra</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>arătaţi doar cele potrivite</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Eroarea la analizarea criteriului de căutare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Căutare în rezultate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Nu aţi introdus criteriul de căutare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Eroare la căutare</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Au fost găsite %d caracteristici.</numerusform>
@@ -3049,37 +3314,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Nu au fost găsite caracteristici corespunzătoare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Încetaţi editarea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Sunteţi sigur că doriţi să salvati?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Eroare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">Nu se pot salva modificarile efectuate.</translation>
     </message>
@@ -3087,42 +3352,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Sunteţi sigur că doriţi să ştergeţi?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Sunteţi sigur că doriţi să ştergeţi </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation> bookmark-ul?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Da</translation>
+        <translation type="obsolete">&amp;Da</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Nu</translation>
+        <translation type="obsolete">&amp;Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Eroare la ştergerea bookmark-ului</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Nu s-a reuşit ştergerea </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation>bookmark-ului din baza de date. Mesajul bazei de date a fost:
@@ -3195,122 +3460,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - setarea print-ului</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Harta 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Nu a putut fi deschis </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> pentru citire/scriere</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Eroare la printare</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Nu poate fi căutat</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Cadrul nu poate fi suprascris</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Cadrul nu poate fi găsit</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Translaţia nu poate fi suprascrisă</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Translaţia nu poate fi găsită</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Eroare IO la accesarea fişierului</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Hârtia nu este potrivită</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Formatul hârtiei alese nu se potriveşte cu dimensiunile print-ului</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Imagine mare</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation>Pentru a crea imaginea </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation> sunt necesare aprox </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB de memorie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>format</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Alegeţi un nume sub care să salvaţi imaginea hărţii</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>avertisment SVG</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Nu mai arătaţi acest mesaj</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Funcţia de export SVG în Qgis are câteva probleme datorate unor bug-uri şi deficienţe ale codului svg Qt4. De notat că textul nu apare în fişierul SVG şi exită probleme cu cadrull hărţii dacă acesta întretaie alte elemente precum legenda sau scara.&lt;/p&gt;Dacă doriţi un fişier de output cu date vectoriale din Qgis, puteţi încerca sa printaţi in PostScript, dacă output-ul SVG nu este satisfăcător. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Alegeţi un nume sub care să salvaţi harta</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>Format SVG</translation>
     </message>
@@ -3444,32 +3709,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Harta %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Dimensiune (calcul scară)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Scară (calcul dimensiune)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Afişare</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Dreptunghi</translation>
     </message>
@@ -3555,22 +3820,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Nu se poate încărca imaginea.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Imagini (</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Alegeţi un fişier</translation>
     </message>
@@ -3659,37 +3924,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Legendă</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Layere (Straturi)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grup</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Combină layerele selectate</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Randare (Producere imagine)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Dreptunghi</translation>
     </message>
@@ -3735,97 +4000,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Customizat</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Orientare Portret</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Orientare Peisaj</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Memorie sistem consumată</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -3834,17 +4099,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etichetă (Denumire)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Nu se poate încărca imaginea.</translation>
     </message>
@@ -3895,27 +4160,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Test conexiune</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Conectarea la </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> a fost efectuată</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Conexiunea a eşuat - Verificaţi setările </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -3947,64 +4212,64 @@
         <translation>Test conexiune</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Adresă (host)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Baza de date</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Nume Utilizator (Login)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Parola</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Numele conexiunii noi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>Ok</translation>
+        <translation type="obsolete">Ok</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Renunţare</translation>
+        <translation type="obsolete">Renunţare</translation>
     </message>
 </context>
 <context>
@@ -4043,32 +4308,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Sistemul de referinta spatial (SRS) nu este valid. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Coordinatele nu pot fi reproiectate. SRS: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Sistemul de referinta spatial (SRS) de destinatie nu este valid. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Esuat.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformare a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>cu eroarea: </translation>
     </message>
@@ -4076,32 +4341,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Stanga jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Stanga sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Dreapta sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Dreapta jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Eticheta Drepturi de Autor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Creaza o Eticheta Drepturi de Autor pentru a fi afisată in harta</translation>
     </message>
@@ -4176,27 +4441,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -4223,85 +4488,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Sterge definire proiectie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Stergerea proiectiei este definitiva. Sunteti sigur ca vreti sa o stergeti?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Renunta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Noua</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>Proiectie customizata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Acesta definire a proiectiei nu este valida. Introduceti un nume pentru aceasta proiectie inainte de a o salva.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Acesta definire a proiectiei nu este valida. Introduceti parametri aceastei proiectie inainte de a o salva.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Acesta definire a proiectiei nu este valida. Adaugati proj= inainte de a o salva.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Acesta definire a proiectiei nu este valida. Introduceti ellips= .</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Acesta definire a proiectiei nu este valida. Va rugam sa o corectati.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Acesta definire a proiectiei nu este valida.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Coordonatele pe Nord si Est trebuie sa fie in format decimal.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>eroare interna (este proiectia sursa valida?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definitie proiectie customizata</translation>
     </message>
@@ -4313,239 +4568,255 @@
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;aici se poate defini proiectia customizata. formatul trebuie sa fie conform cu proj4.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;aici se poate defini proiectia customizata. formatul trebuie sa fie conform cu proj4.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametri:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 din 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Noua</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Salvare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Ştergere</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Închidere</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Nume:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Test</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformare din WGS84 catre poiectia aleasa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilizati casutele de mai jos pentru a testa proiectia definita de dvs. Introduceti coordonatele de intrare si rezultatul acolo unde se cunoaste  (de ex. citind de pe o harta). Apoi apasati butonul de calculare ca sa vedeti daca transformarea este corecta.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Utilizati casutele de mai jos pentru a testa proiectia definita de dvs. Introduceti coordonatele de intrare si rezultatul acolo unde se cunoaste  (de ex. citind de pe o harta). Apoi apasati butonul de calculare ca sa vedeti daca transformarea este corecta.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Sistem de Coordonate Proiectate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geografic / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Coordonate estice</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Coordonate pe nord:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Calculează</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished">Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Sunteţi sigur că doriţi să ştergeţi  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"> conexiunea si toate setarile asociate?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirma stergerea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -4671,7 +4942,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4684,155 +4955,105 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
-        <source>Create a Layer from a Delimited Text File</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
-        <source>Cancel</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
-        <source>Help on using the plugin</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
-        <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
-        <source>Alt+H</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
-        <source>&amp;Parse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
-        <source>Alt+P</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
-        <source>&amp;Add Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation type="unfinished">Închideţi dialogul</translation>
+        <translation type="obsolete">Închideţi dialogul</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
-        <source>Close the dialog without adding anything to the map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Închidere</translation>
+        <translation type="obsolete">&amp;Închidere</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4847,217 +5068,179 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Selectati va rog un text continand coordonate x si y pe care doriti sa le transformati intr-un strat tip punct.&lt;/p&gt;&lt;p&gt;utilizati casuta de nume pentru a specifica numele stratului ce va apare in legenda. utilizati casuta de delimitare pentru a specifica caracterele ce servesc pentru delimitarea coordonatelor. Dupa accea apsati butonul pentru a selecta coloanele corespunzatoare.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Utilizati butonul pentru a selecta locatia fisierului. mai inainte alegeti un tip de delimitare din casuta &lt;i&gt;tip delimitare&lt;/i&gt;.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">Eroare</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation type="unfinished">&lt;h2&gt;Faceti un Buffer al obiectelor din stratul: &lt;/h2&gt;</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
 </context>
 <context>
@@ -5090,30 +5273,30 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Acest fişier shape contine cuvinte rezervate. Editati numele coloanelor pentru a evita folosirea unor astefel de cuvinte care poate afecta importul in PostGIS&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Cuvinte rezervate</translation>
     </message>
@@ -5121,17 +5304,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Starea actuala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Nume coloana </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -5301,154 +5484,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5456,22 +5639,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Alegeţi un nume de fişier pentru salvare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>formatul GPS eXchange (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Selectati fişierul GPX </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>alegeti fisierul si formatul pentru import</translation>
     </message>
@@ -5486,30 +5669,30 @@
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5520,40 +5703,40 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX este &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;formatul GPS eXchange&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, utilizat pentru transferul de waypoints, routes, si tracks.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Selectati un fisier GPX file si apoi selectati tipul obiectelor pe care doriti sa le incarcati.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX este &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;formatul GPS eXchange&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, utilizat pentru transferul de waypoints, routes, si tracks.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Selectati un fisier GPX file si apoi selectati tipul obiectelor pe care doriti sa le incarcati.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5564,30 +5747,30 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5598,30 +5781,30 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5632,38 +5815,74 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
-        <source>Bad URI - you need to specify the feature type.</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
-        <source>GPS eXchange file</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5671,12 +5890,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
@@ -5691,60 +5910,60 @@
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>Ok</translation>
+        <translation type="obsolete">Ok</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Renuţare</translation>
+        <translation type="obsolete">Renuţare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Format fişier:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Ştergeţi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atribute</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Adauga</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Tip</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punct</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Poligon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Coloana 1</translation>
     </message>
@@ -5752,7 +5971,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Ortorectificator</translation>
     </message>
@@ -5808,109 +6027,111 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Închidere</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation type="unfinished">Atribut pentru clasificare:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation type="unfinished">Mod:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -5920,22 +6141,22 @@
         <translation>Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Valoare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Atribut</translation>
     </message>
@@ -6001,77 +6222,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Actualizează</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6079,251 +6300,251 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation type="unfinished">Punct nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation type="unfinished">Centroid nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation type="unfinished">Sterge Vertex</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Închidere</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Punct</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Culoare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">Lungime</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6399,32 +6620,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Ok</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6837,12 +7058,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Rulează</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Opreste</translation>
     </message>
@@ -6852,144 +7073,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"> coloana </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7040,7 +7231,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7048,17 +7239,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Fişier</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7066,22 +7257,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7089,42 +7280,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7132,7 +7323,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7140,7 +7331,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7148,69 +7339,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> coloana </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7318,7 +7509,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
@@ -7343,129 +7534,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> coloana </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7629,162 +7820,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7792,22 +7983,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8005,39 +8196,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Atenţie</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -8048,78 +8206,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> coloana </translation>
     </message>
@@ -8127,17 +8280,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Creator Caroiaj</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>&amp;Crează un Caroiaj (grid) si il salveaza ca shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>Caroia&amp;je</translation>
     </message>
@@ -8198,110 +8351,115 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished">Matriţă pentru QGIS Plugin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished">Punct</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished">Linie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished">Poligon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8326,7 +8484,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Eroare</translation>
     </message>
@@ -8336,7 +8494,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8420,27 +8578,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Valoare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished">Executaţi acţiunea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8752,184 +8910,311 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>grup</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Închidere</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">Caracteristici</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">&amp;Zoomare la dimensiunile stratului</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete"> Adaugă în Zona de Previzualizare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">Elimină din Zona de Previzualizare</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>Ştergeţi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>Elementul cel mai de sus</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">Editaţi</translation>
+    </message>
+    <message>
+        <location filename="../src/legend/qgslegend.cpp" line="438"/>
+        <source>&amp;Save as shapefile...</source>
+        <translation type="obsolete">Salvare ca shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Redenumire</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>&amp;Adaugare Grup</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation>Expansiune</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>Restrangere</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation>Arata grupurile de fisiere</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Afiseaza Tabela de atribute</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Editaţi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Salvare ca shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nu există nici un layer selectat</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoomare la dimensiunile stratului</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">Ştergeţi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Afiseaza Tabela de atribute</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salvare ca shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Rulează</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">Caracteristici</translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Rezultat</translation>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabela de atribute- </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Nu se poate incepe editarea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Furnizorul  de date nu poate fi accesat pentru editare.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Încetaţi editarea</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Sunteţi sigur că doriţi să salvati?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Da</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Eroare</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Nu se pot salva modificarile efectuate.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Probleme la aducerea in starea anterioara (roll back)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation>grup</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation>Caracteristici</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zoomare la dimensiunile stratului</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation> Adaugă în Zona de Previzualizare</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation>Elimină din Zona de Previzualizare</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation>Ştergeţi</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation>Elementul cel mai de sus</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation>Editaţi</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation>Salvare ca shapefile...</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zoomare la dimensiunile stratului</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation>Redenumire</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation>&amp;Adaugare Grup</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">Ştergeţi</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation>Expansiune</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Afiseaza Tabela de atribute</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation>Restrangere</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Salvare ca shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation>Arata grupurile de fisiere</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">Caracteristici</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -8990,58 +9275,43 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished">deoarece</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation type="unfinished">Ştergeţi</translation>
+        <translation type="obsolete">Ştergeţi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation type="unfinished">Caracteristici</translation>
+        <translation type="obsolete">Caracteristici</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Nici un  obiect nu a fost găsit</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -9054,34 +9324,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -9090,134 +9360,119 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Renunţă</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation type="unfinished">Hartă</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation type="unfinished">Înălţime</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation type="unfinished">Unităţi</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9237,98 +9492,100 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation type="unfinished">Lăţime</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Alegeti un director</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9365,36 +9622,6 @@
 </context>
 <context>
     <name>QgsMeasure</name>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -9425,6 +9652,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -9517,17 +9780,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Test conexiune</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Conectarea la %1 a fost incununata de succes.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9538,7 +9801,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9752,42 +10015,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Stanga jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished">Stanga sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation type="unfinished">Dreapta sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Dreapta jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished">&amp;Decoratii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9795,7 +10058,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9803,100 +10066,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation type="unfinished">Unghi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation type="unfinished">Pozitionare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation type="unfinished">Stanga sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation type="unfinished">Dreapta sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Stanga jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Dreapta jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -9912,14 +10180,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -9927,137 +10187,137 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selectarea acetei optiuni va deselecta otiunea de a face liniile mai putin  in scari&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -10066,155 +10326,175 @@
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Nota:&lt;/span&gt; Specificati raza de cautare ca procent din latimea hartii.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">General</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10379,87 +10659,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10600,17 +10875,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Alegeti un director</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Nu există Plugin-uri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Nu s-a gasit nici un pluginul QGIS in: </translation>
     </message>
@@ -10701,138 +10976,143 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished">Apropiere</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished">Depărtare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished">Focusare pe Layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished">Focusare pe Layer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished">Mişcare hartă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished">Mişcare hartă</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished">.
 
 Vectorizare Punct</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished">Vectorizare Punct</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished">Sterge Obiecte Selectate</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished">Atenţie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">Eroare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -10874,7 +11154,7 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
@@ -10906,6 +11186,11 @@
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -10928,41 +11213,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -10972,195 +11257,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11173,248 +11446,233 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation type="unfinished">General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished">Precizie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished">Digitizare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
-        <source>Snapping Tolerance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Aplica</translation>
+        <translation type="obsolete">&amp;Aplica</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation type="unfinished">Căutare</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished">Sistem de referinta spatial</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished">Id</translation>
     </message>
@@ -11466,278 +11724,308 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>şi toate celelalte fişiere</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Nu este setat</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Dimensiuni raster: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Suprafaţa taiată: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Transparenta &lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Transparenta &lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Driver:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Descriere set date</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensiuni:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> Benzi: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Valoare pentru No-Data: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Tip date:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Nu s-a putut stabili tipul rasterului.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Previzualizare piramida</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Sistemul de referinta spatial al acestui layer: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Sistemul de referinta spatial al proiectului: </translation>
+        <translation type="obsolete">Sistemul de referinta spatial al proiectului: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origine:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Mărimea pixelului</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Statistici bandă (dacă există)</translation>
+        <translation type="obsolete">Statistici bandă (dacă există)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Caracteristică</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Valoare</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Bandă</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Nr. Bandă</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Statistici bandă inexistente</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Statisticile benzii nu au fost colectate inca</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Valoare Min</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Valoare Max</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Raza</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Suma pătratelor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Abaterea standard</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Suma tuturor celulelor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Nr. celulelor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Access tip scriere nu este permis</translation>
+        <translation type="obsolete">Access tip scriere nu este permis</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Access tip scriere nu este permis. Modificaţi permisiunile fişierului si încercaţi din nou.
+        <translation type="obsolete">Access tip scriere nu este permis. Modificaţi permisiunile fişierului si încercaţi din nou.
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Construcţia piramidelor a eşuat.</translation>
+        <translation type="obsolete">Construcţia piramidelor a eşuat.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Fişierul nu poate fi scris. Anumite formate nu pot fi decat citite, nu şi scrise. Puteti verifica si permisiunile fisierului pentru orice eventualitate.</translation>
+        <translation type="obsolete">Fişierul nu poate fi scris. Anumite formate nu pot fi decat citite, nu şi scrise. Puteti verifica si permisiunile fisierului pentru orice eventualitate.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Media Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Construcţia piramidelor nu este posibilă pentru acest tip de rater.</translation>
+        <translation type="obsolete">Construcţia piramidelor nu este posibilă pentru acest tip de rater.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>in afara dimensiunilor</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (lipsă date)</translation>
     </message>
@@ -11745,65 +12033,94 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Scara de gri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudo-culoare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Freak Out</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Nu este setat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta de culori</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Coloane: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Rînduri: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>Valoare pentru No-Data: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>nedisponibil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Note la Imagine Grayscale&lt;/h3&gt; &lt;p&gt;&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Access tip scriere nu este permis</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Access tip scriere nu este permis. Modificaţi permisiunile fişierului si încercaţi din nou.
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Construcţia piramidelor a eşuat.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Fişierul nu poate fi scris. Anumite formate nu pot fi decat citite, nu şi scrise. Puteti verifica si permisiunile fisierului pentru orice eventualitate.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Construcţia piramidelor nu este posibilă pentru acest tip de rater.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -11813,52 +12130,52 @@
         <translation>Caracteristici ale stratului Raster</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Simbolizare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Afisare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Transparenta: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Total&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Niciunul/Niciuna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Imagine gri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Imagine Color</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Paleta de culori inversata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -11866,142 +12183,142 @@
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Note&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Albastru&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Verde&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Roşu&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Bandă</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Culoare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Paleta de culori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Abaterea standard</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Gri</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Iconita</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Legendă:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta de culori</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Afisare nume</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Sursa Strat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Coloane: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Rînduri: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>No Data:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Vizibilitate dependenta de scara</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Scara maxima la care acest strat va fi afisat. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Scara minima la care acest strat va fi afisat. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Sistem de referinta spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Schimba</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Piramide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Rezoluţie piramida</translation>
     </message>
@@ -12014,128 +12331,134 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Metoda de Resampling</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>cel mai apropiat vecin</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Construieşte piramide</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histograma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Opţiuni</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Nr. coloane:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Afara din raza ok?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Permite aproximarea</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Tip de diagrama</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Diagrama tip linie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Diagrame cu bare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Actualizează</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Ajutor</translation>
+        <translation type="obsolete">&amp;Ajutor</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Aplica</translation>
+        <translation type="obsolete">&amp;Aplica</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt; {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12143,107 +12466,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Stanga jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation type="unfinished">Stanga sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation type="unfinished">Dreapta sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Dreapta jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished">&amp;Decoratii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12251,112 +12574,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation type="unfinished">Stanga sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation type="unfinished">Dreapta sus</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation type="unfinished">Stanga jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation type="unfinished">Dreapta jos</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -12364,7 +12687,7 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>Au fost găsite %d caracteristici.</numerusform>
@@ -12373,95 +12696,90 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished">Nu au fost găsite caracteristici corespunzătoare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished">Căutare în rezultate</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished">Eroarea la analizarea criteriului de căutare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Sunteţi sigur că doriţi să ştergeţi  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"> conexiunea si toate setarile asociate?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirma stergerea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Sistem de referinta spatial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -12470,22 +12788,22 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12611,17 +12929,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12635,368 +12953,373 @@
         <translation type="unfinished">Simbol Unic</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished">Dimensiuni linie exterioară:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished">Punct</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished">Dimensiuni</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">Confirma stergerea</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13004,139 +13327,129 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation type="unfinished">Adauga</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation type="unfinished">Ştergeţi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation type="unfinished">Conexiuni  PostGIS </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation type="unfinished">Noua</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Conectare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Editare</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
-        <source>Import the defined shapefiles to PostGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
-        <source>Import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Închidere</translation>
+        <translation type="obsolete">Închidere</translation>
     </message>
 </context>
 <context>
@@ -13152,7 +13465,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13160,334 +13473,344 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished">Form1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished">Atribut pentru clasificare:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Tabela de atribute- </translation>
+        <translation type="obsolete">Tabela de atribute- </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Invesare Selectie...</translation>
+        <translation type="obsolete">Invesare Selectie...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Renunta</translation>
+        <translation type="obsolete">Renunta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Afiseaza Tabela de atribute</translation>
+        <translation type="obsolete">&amp;Afiseaza Tabela de atribute</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Editaţi</translation>
+        <translation type="obsolete">Editaţi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Salvare ca shapefile...</translation>
+        <translation type="obsolete">Salvare ca shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>Stratul nu poate fi adaugat la</translation>
+        <translation type="obsolete">Stratul nu poate fi adaugat la</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Furnizorul  de date corespunzator acestui layer nu suporta adaugarea de obiecte.</translation>
+        <translation type="obsolete">Furnizorul  de date corespunzator acestui layer nu suporta adaugarea de obiecte.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Layerul nu este editabil</translation>
+        <translation type="obsolete">Layerul nu este editabil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Layerul curent nu este editabil. Apasati  &apos;Permisiune de Editare&apos; in bara de unelte pentru vectorizare.</translation>
+        <translation type="obsolete">Layerul curent nu este editabil. Apasati  &apos;Permisiune de Editare&apos; in bara de unelte pentru vectorizare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
+        <translation type="obsolete">Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
+        <translation type="obsolete">Furnizorul  de date corespunzator acestui layer nu suporta stergerea de obiecte.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Layerul curent nu este editabil. Apasati  &apos;Editare&apos; in bara de unelte pentru vectorizare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Nu se poate incepe editarea</translation>
+        <translation type="obsolete">Nu se poate incepe editarea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Furnizorul  de date nu poate fi accesat pentru editare.</translation>
+        <translation type="obsolete">Furnizorul  de date nu poate fi accesat pentru editare.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Încetaţi editarea</translation>
+        <translation type="obsolete">Încetaţi editarea</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Sunteţi sigur că doriţi să salvati?</translation>
+        <translation type="obsolete">Sunteţi sigur că doriţi să salvati?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Da</translation>
+        <translation type="obsolete">&amp;Da</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Nu</translation>
+        <translation type="obsolete">&amp;Nu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Eroare</translation>
+        <translation type="obsolete">Eroare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>Nu se pot salva modificarile efectuate.</translation>
+        <translation type="obsolete">Nu se pot salva modificarile efectuate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Probleme la aducerea in starea anterioara (roll back)</translation>
+        <translation type="obsolete">Probleme la aducerea in starea anterioara (roll back)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Obiectele adaugate nu pot fi salvate (nu se poate face commit).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>Nici o alta modificare nu va fi salvata pentru moment.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Atributele modificate nu pot fi salvate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Totusi, Obiectele adaugate au putut fi salvate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Geometriile obiectellor modificate nu au putut fi salvate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Totusi, Atributele modificate au putut fi salvate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Obiectele marcate pentru a fi sterse nu pot fi sterse definitiv.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Totusi, geometriile modificate au putut fi salvate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>Nu se pot accesa obiectele.</translation>
+        <translation type="obsolete">Nu se pot accesa obiectele.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>Furnizorul de date corespunzator stratului curent nu poate accesa geometria obiectelor selectate.  Vesriunea actuala a furnizorului de date nu poseda aceasta capacitate.</translation>
+        <translation type="obsolete">Furnizorul de date corespunzator stratului curent nu poate accesa geometria obiectelor selectate.  Vesriunea actuala a furnizorului de date nu poseda aceasta capacitate.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Layerul curent nu este editabil. Apasati  &apos;Editare&apos; in bara de unelte pentru vectorizare, sau mai puteti activa editarea facand click dreapta pe stratul corespunzator din legenda.</translation>
+        <translation type="obsolete">Layerul curent nu este editabil. Apasati  &apos;Editare&apos; in bara de unelte pentru vectorizare, sau mai puteti activa editarea facand click dreapta pe stratul corespunzator din legenda.</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Transparenta: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Simbol Unic</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Simbol Gradual</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>simbol continuu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Valoare unică</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Acest buton deschide fereastra pentru construirea interogarilor PostgreSQL si permite selectia unui subset de obiecte ce vor fi afisate pe harta mai degraba decat afisarea completa a tuturor obiectelor existente in acest strat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Interogarea utilizata pentru limitarea obiectelor afisate este aratata aici. Pentru modificare apasati butonul Constructie Interogare. functioneaza doar pentru un layer PostgeSQL.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Index Spatial</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Crearea indexului spatial a fost incununata de succes.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Crearea indexului spatial a esuat.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>General:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>Tipul de stocare al acestui strat este: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation>Sursa acestui strat este: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Tipul geometriei: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Numarul obiectelor din acest strat: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>Capacitatile de editare ale acestui layer: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Dimensiuni: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>Unitati de refererinta intra-layer:  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>Unitati de refererinta intra-proiect:  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Sistemul de referinta spatial al acestui layer: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Sistemul de referinta spatial al proiectului: </translation>
+        <translation type="obsolete">Sistemul de referinta spatial al proiectului: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Informatii despre atribute:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Atribut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Tip</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Lungime</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precizie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13501,145 +13824,145 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Aplica</translation>
+        <translation type="obsolete">Aplica</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>Ok</translation>
+        <translation type="obsolete">Ok</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Renuţare</translation>
+        <translation type="obsolete">Renuţare</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Simbolizare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Tip Legendă:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Transparenta: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>General</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Afisare nume</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Camp de afisare pentru casuta de Identificare rezultate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Acesta seteaza campul de afisare pentru casuta de Identificare rezultate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Camp de afisare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>A se utiliza pentru setarea atributului care va fi plasat in partea de sus a casutei de identificare rezultate.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Utilizeaza rasdare in functie de scara</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Scara minima la care acest strat va fi afisat. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Scara maxima la care acest strat va fi afisat. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Index Spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Creare index spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Creaza</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Sistem de referinta spatial</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Schimba</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Subset</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Creator de Interogari</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadate</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etichete</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Afişează etichetele</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Acţiuni</translation>
     </message>
@@ -13690,7 +14013,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Adăugare layer WFS</translation>
     </message>
@@ -13698,29 +14021,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Sunteţi sigur că doriţi să ştergeţi  </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation> conexiunea si toate setarile asociate?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Confirma stergerea</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Da</translation>
+        <translation type="obsolete">Da</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Nu</translation>
+        <translation type="obsolete">Nu</translation>
     </message>
 </context>
 <context>
@@ -13758,55 +14081,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Ajutor</translation>
+        <translation type="obsolete">Ajutor</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>&amp;Adauga</translation>
+        <translation type="obsolete">&amp;Adauga</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>&amp;Închidere</translation>
+        <translation type="obsolete">&amp;Închidere</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Conexiuni Server</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Nou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Ştergere</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Editare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>Conectare</translation>
     </message>
@@ -13814,328 +14137,417 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">Caracteristică</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Valoare</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titlu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished">Rezumat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Da</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished">nedisponibil</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Nume</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">Matriţă pentru QGIS Plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Matriţă Plugin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Matriţă pentru QGIS Plugin</translation>
+        <translation type="obsolete">Matriţă pentru QGIS Plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Renunţă</translation>
+        <translation type="obsolete">&amp;Renunţă</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Matriţă Plugin</translation>
+        <translation type="obsolete">Matriţă Plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Bine ati venit.  Acesta este un plugin generat automat.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Bine ati venit.  Acesta este un plugin generat automat.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Nu</translation>
+    </message>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>A se înlocui cu o scurtă descriere a functionalitatii acestui plugin</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_ru.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_ru.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_ru.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16,51 +16,67 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+</context>
+<context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Поставщики Данных Отсутствуют</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Компоненты (Плагины) Поставщика Данных Отсутствуют</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Не возможно загрузить векторные слои. Проверьте установку QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Компоненты (плагины) поставщика данных отсутствуют. Не возможно загрузить векторные слои</translation>
     </message>
@@ -85,7 +101,7 @@
         <translation type="obsolete">Нет</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS файлы (*.qgs)</translation>
     </message>
@@ -100,197 +116,187 @@
         <translation type="obsolete">Выберите имя сохраняемого файла</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
-        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished"></translation>
     </message>
@@ -300,27 +306,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -330,37 +336,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -386,12 +392,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -436,12 +442,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -456,32 +462,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -511,82 +517,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
@@ -636,279 +825,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -928,52 +1067,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -986,7 +1125,7 @@
         <translation type="obsolete">Слои</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS - </translation>
     </message>
@@ -1011,17 +1150,17 @@
         <translation type="obsolete">&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Версия</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>с поддержкой PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(без поддержки PostgreSQL)</translation>
     </message>
@@ -1036,12 +1175,12 @@
         <translation type="obsolete">Веб Страничка Проекта: http://sourceforge.net/projects/qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Версия</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Имеющеися Компоненты (Плагины) Поставщика Данных</translation>
     </message>
@@ -1056,12 +1195,12 @@
         <translation type="obsolete">Выберите один или более слоёв для добавления</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>не является действительным источником данных</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Не Действительный Источник Данных</translation>
     </message>
@@ -1101,114 +1240,114 @@
         <translation type="obsolete">Карта сохранена в:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Слой не выбран</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Чтобы открыть таблицу атрибутов, выберите слой в легенде</translation>
+        <translation type="obsolete">Чтобы открыть таблицу атрибутов, выберите слой в легенде</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Компонент (Плагин) MapLayer Отсутствует</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Компоненты (плагины) MapLayer в ../plugins/maplayer отсутствуют</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Нет Компонентов (Плагинов)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Компоненты (плагины) в ../plugins отсутствуют. Чтобы проверить компонент, запустите QGIS из src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Имя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Компонент (Плагин) %1 назван %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Информация о Компонентах (Плагинах)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>Загружен следующий компонент (плагин):</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Имя: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Версия: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Описание: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Невозможно Загрузить Компонент (Плагин)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>Невозможно загрузить компонент (плагин) из: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Новая версия QGIS доступна</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Данная версия QGIS является версией в разработке</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Данная версия QGIS является текущей</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Дополнительная Информация?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Информация о QGIS версии</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1216,17 +1355,17 @@
         <translation type="obsolete">QGIS - Изменения в CVS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Получить информацию о текущей версии невозможно</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Контакт с сервером невозможен - вероятность что сервер прекратил работу</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS сервер не найден</translation>
     </message>
@@ -1241,117 +1380,117 @@
         <translation type="obsolete">Контакт с QGIS сервером версий невозможен</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation type="unfinished">Данная программа лицнензирована по Универсальной Общественной Лицензии (GNU GPL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation type="unfinished">http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1361,1051 +1500,1211 @@
         <translation type="obsolete">QGIS файлы (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">Сохранить проект</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished">Выйти</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished">О программе</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished">Увеличить</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished">Файл</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished">Компоненты (Плагины)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
         <source></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -2615,7 +2914,7 @@
         <translation type="obsolete">&amp;Свойства</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2638,17 +2937,17 @@
         <translation>О Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Да</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>О программе</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Версия</translation>
     </message>
@@ -2658,7 +2957,7 @@
         <translation type="obsolete">Quantum GIS (qgis)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Что нового</translation>
     </message>
@@ -2719,81 +3018,81 @@
         <translation type="obsolete">Компоненты (Плагины)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -2826,22 +3125,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">Действие</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -3026,7 +3325,7 @@
 <context>
     <name>QgsAttributeTable</name>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3157,79 +3456,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3237,42 +3536,32 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -3344,122 +3633,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3603,32 +3892,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3714,22 +4003,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3818,37 +4107,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation type="unfinished">Слои</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3894,114 +4183,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4052,27 +4341,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -4087,32 +4376,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4127,37 +4416,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
         <source>Create a New PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4198,32 +4467,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -4231,32 +4500,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4319,31 +4588,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
@@ -4368,85 +4612,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4456,243 +4690,249 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation type="unfinished">Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation type="unfinished">Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4816,7 +5056,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4829,368 +5069,240 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
-        <source>Create a Layer from a Delimited Text File</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
-        <source>Cancel</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
-        <source>Help on using the plugin</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
-        <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
-        <source>Close the dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
-        <source>Close the dialog without adding anything to the map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
-        <source>Alt+H</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
-        <source>&amp;Parse</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
-        <source>Alt+P</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
-        <source>&amp;Add Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
-        <source>Sample text</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5215,25 +5327,10 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5248,7 +5345,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5256,17 +5353,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5436,154 +5533,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5591,22 +5688,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5619,186 +5716,161 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
-        <source>Alt+O</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
-        <source>&amp;Cancel</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5806,12 +5878,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5819,67 +5891,52 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
         <source>New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5887,7 +5944,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5943,107 +6000,104 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
+    <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
-        <source>graduated Symbol</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
-        <source>Classification Field:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
-        <source>Mode:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
-        <source>Number of Classes:</source>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6055,22 +6109,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6136,77 +6190,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6214,251 +6268,251 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6534,32 +6588,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">Да</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6972,12 +7026,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6987,144 +7041,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7175,7 +7199,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7183,17 +7207,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Файл</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7201,22 +7225,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7224,42 +7248,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7267,7 +7291,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7275,7 +7299,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7283,69 +7307,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7453,7 +7477,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7478,129 +7502,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7761,162 +7785,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -7924,22 +7948,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8134,39 +8158,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -8177,78 +8168,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8256,17 +8242,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8327,110 +8313,90 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -8445,12 +8411,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8547,27 +8513,27 @@
 <context>
     <name>QgsIdentifyResults</name>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8877,184 +8843,266 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
+    <name>QgsLayerProjectionSelectorBase</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>QgsLauncherPluginGuiBase</name>
+    <name>QgsLegend</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Свойства</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Открыть таблицу атрибутов</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Слой не выбран</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Открыть таблицу атрибутов</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Свойства</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>QgsLayerProjectionSelectorBase</name>
+    <name>QgsLegendLayerFile</name>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation type="unfinished">&amp;Свойства</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation type="unfinished">&amp;Удалить</translation>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Открыть таблицу атрибутов</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Свойства</translation>
+    </message>
 </context>
 <context>
     <name>QgsLineStyleDialogBase</name>
@@ -9123,58 +9171,48 @@
 <context>
     <name>QgsMapCanvas</name>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="unfinished">&amp;Изменить вид до полной данного слоя</translation>
+        <translation type="obsolete">&amp;Изменить вид до полной данного слоя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation type="unfinished">&amp;Удалить</translation>
+        <translation type="obsolete">&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation type="unfinished">&amp;Свойства</translation>
+        <translation type="obsolete">&amp;Свойства</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -9185,34 +9223,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished">Сохранить Поверх Файла?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -9221,144 +9259,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9378,88 +9401,90 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation type="unfinished">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -9496,62 +9521,68 @@
 </context>
 <context>
     <name>QgsMeasure</name>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMeasureBase</name>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
-        <source>Measure</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
-        <source>Help</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
-        <source>New</source>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
-        <source>Cl&amp;ose</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
-        <source>Total:</source>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9648,12 +9679,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -9661,7 +9692,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9875,42 +9906,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9918,7 +9949,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9926,100 +9957,80 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
-        <source>...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
-        <source>&amp;OK</source>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -10035,14 +10046,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -10050,252 +10053,237 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
-        <source>&amp;Ok</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -10304,40 +10292,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -10502,87 +10510,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10723,17 +10726,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation type="unfinished">Нет Компонентов (Плагинов)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10829,136 +10832,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished">Увеличить</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -11023,13 +11031,13 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
-        <source>...</source>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
-        <source>Modified raster:</source>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11054,41 +11062,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -11098,195 +11106,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11299,256 +11295,246 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
-        <source>&amp;Apply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
-        <source>Snapping Tolerance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11568,269 +11554,227 @@
         <translation type="obsolete">&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
-        <source>Band Statistics (if gathered):</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
-        <source>Write access denied</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
-        <source>Write access denied. Adjust the file permissions and try again.
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
-        <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11838,340 +11782,342 @@
 <context>
     <name>QgsRasterLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsRasterLayerPropertiesBase</name>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
-        <source>Raster Layer Properties</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
-        <source>&amp;Cancel</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
-        <source>&amp;OK</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
-        <source>&amp;Apply</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
-        <source>Alt+A</source>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
     <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Помощь</translation>
+        <translation type="obsolete">&amp;Помощь</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation type="unfinished">Настройка</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -12179,19 +12125,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -12199,36 +12155,21 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12236,107 +12177,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12344,112 +12285,92 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12457,124 +12378,119 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation type="unfinished">Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation type="unfinished">Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12700,17 +12616,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -12724,368 +12640,373 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation type="unfinished">Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation type="unfinished">Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished">Shapefiles файлы (*.shp);;Все файлы (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13093,137 +13014,117 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
-        <source>Import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
-        <source>Import the defined shapefiles to PostGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13241,7 +13142,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13249,32 +13150,37 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsVectorLayer</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
-        <source>Attribute table - </source>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
         <location filename="" line="136055884"/>
         <source>&amp;Zoom to extent of selected layer</source>
         <translation type="obsolete">&amp;Изменить вид до полной данного слоя</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation type="unfinished">&amp;Открыть таблицу атрибутов</translation>
+        <translation type="obsolete">&amp;Открыть таблицу атрибутов</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -13287,306 +13193,191 @@
         <translation type="obsolete">&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Stop editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
-        <source>Save as shapefile...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
-        <source>Provider does not support deletion</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
-        <source>Data provider does not support deleting features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Abort</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13598,150 +13389,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
-        <source>OK</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
-        <source>Apply</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorSymbologyWidgetBase</name>
@@ -13789,7 +13560,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13797,29 +13568,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">Да</translation>
+        <translation type="obsolete">Да</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">Нет</translation>
+        <translation type="obsolete">Нет</translation>
     </message>
 </context>
 <context>
@@ -13850,57 +13621,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13913,282 +13654,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished">Да</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished">Нет</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished">Имя</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14207,47 +13948,101 @@
     </message>
 </context>
 <context>
-    <name>[pluginname]GuiBase</name>
+    <name>[pluginname]Gui</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
         <source>Plugin Template</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
-        <source>&amp;OK</source>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>[pluginname]GuiBase</name>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
-        <source>Alt+O</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Нет</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation type="unfinished"></translation>
     </message>

Deleted: packages/qgis/branches/upstream/current/i18n/qgis_se.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_se.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_se.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17780 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1">
-<context>
-    <name>@default</name>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
-        <source>OGR Driver Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
-        <source>unable to get OGRDriverManager</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>KDChartParams</name>
-    <message>
-        <location filename="../qgis_wms/kdchart/KDChartParams.cpp" line="358"/>
-        <source>Legend</source>
-        <translation type="obsolete">Teckenförklaring</translation>
-    </message>
-</context>
-<context>
-    <name>MapCoordsDialogBase</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
-        <source>Enter map coordinates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
-        <source>X:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
-        <source>Y:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>Plugin</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bottom Right</source>
-        <translation type="obsolete">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bottom Left</source>
-        <translation type="obsolete">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Top Left</source>
-        <translation type="obsolete">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Top Right</source>
-        <translation type="obsolete">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> metres/km</source>
-        <translation type="obsolete">meter/km</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> feet</source>
-        <translation type="obsolete">feet</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> degrees</source>
-        <translation type="obsolete">grader</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> metres</source>
-        <translation type="obsolete">meter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> km</source>
-        <translation type="obsolete">km</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tick Down</source>
-        <translation type="obsolete">Upptick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tick Up</source>
-        <translation type="obsolete">Nertick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bar</source>
-        <translation type="obsolete">Streck</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Box</source>
-        <translation type="obsolete">Låda</translation>
-    </message>
-</context>
-<context>
-    <name>PluginGuiBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS Plugin Template</source>
-        <translation type="obsolete">QGIS-pluginmall</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>GPS Download File Importer</source>
-        <translation type="obsolete">Importerare för GPS-dumpfiler</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select the GPS dowload file that you would like to convert to a shapefile and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the minumum time gap to let the importer know what time interval should be used before starting a new feature. &lt;/p&gt;
-&lt;p&gt;Use the minimum distance gap to define what distance between two readings should be considered the start of a new feature.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Välj GPS-dumpfilen som du vill konvertera till en shapefile så gör detta plugin jobbet åt dig! &lt;/p&gt;
-&lt;p&gt;Använd det minsta tidsgapet för att ange vilket tidsintervall som ska användas innan en ny detalj påbörjas. &lt;/p&gt;
-&lt;p&gt;Använd det minsta avståndsgapet för att ange vilket avstånd mellan två läsningar som ska anses vara början på en ny detalj.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Input File:</source>
-        <translation type="obsolete">Indatafil:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Output (Shape) File:</source>
-        <translation type="obsolete">Utdatafil (Shapefile):</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Minimum time gap (s):</source>
-        <translation type="obsolete">Minsta tidsgap (s):</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Minimum distance gap (dd):</source>
-        <translation type="obsolete">Minsta avståndsgap (dd):</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>OK</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Graticule Builder</source>
-        <translation type="obsolete">Rutnätsbyggare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Detta plugin hjälper dig att bygga en shapefile med ett rutnät som du kan använda som förgrund i din kartvy.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Latitude Interval:</source>
-        <translation type="obsolete">Latitudintervall:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Longitude Interval:</source>
-        <translation type="obsolete">Longitudintervall:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This is a template for your plugin gui. Please modify this as needed.</source>
-        <translation type="obsolete">Detta är en mall för ditt plugin-gui. Ändra det du behöver.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select the GPS download file that you would like to convert to a shapefile and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the minumum time gap to let the importer know what time interval should be used before starting a new feature. &lt;/p&gt;
-&lt;p&gt;Use the minimum distance gap to define what distance between two readings should be considered the start of a new feature.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Välj GPS-dumpfilen som du vill konvertera till en shapefile så gör detta plugin jobbet åt dig! &lt;/p&gt;
-&lt;p&gt;Använd det minimala tidsgapet för att ange vilket tidsintervall som ska användas för att bestämma när en ny detalj påbörjas. &lt;/p&gt;
-&lt;p&gt;Använd det minimala avståndsgapet för att ange vilket avståndsintervall som ska användas för att bestämma när en ny detalj påbörjas. &lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Copyright Label Plugin</source>
-        <translation type="obsolete">Copyrighttext-plugin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:20pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Bold text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Italics&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Selected text can also be formatted using the &apos;Font&apos; button.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:20pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Skriv in din copyrighttext nedan. Detta plugin kan hantera enkel HTML-formattering i texten.  Till exempel:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Fet text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Kursiv text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message encoding="UTF-8">
-        <location filename="" line="136055884"/>
-        <source>© QGIS 2004</source>
-        <translation type="obsolete">© QGIS 2004</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Placement</source>
-        <translation type="obsolete">Placering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bottom Left</source>
-        <translation type="obsolete">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Top Left</source>
-        <translation type="obsolete">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bottom Right</source>
-        <translation type="obsolete">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Top Right</source>
-        <translation type="obsolete">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Orientation</source>
-        <translation type="obsolete">Rotation</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Horizontal</source>
-        <translation type="obsolete">Horisontell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Vertical</source>
-        <translation type="obsolete">Vertikal</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Enable Copyright Label</source>
-        <translation type="obsolete">Använd Copyrighttext</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>GPS Tools</source>
-        <translation type="obsolete">GPS-Verktyg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>GPX and LOC loader</source>
-        <translation type="obsolete">GPX- och LOC-laddare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX is the &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt;, which is used to store information about waypoints, routes, and tracks. LOC is the &lt;a href=&quot;http://www.geocaching.com&quot;&gt;geocaching.com&lt;/a&gt; waypoint format.&lt;/p&gt;
-&lt;p&gt;Select a GPX or LOC file and then select the feature types that you want to load.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX står för &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt;, och används för att lagra information om waypoints, rutter, och spår. LOC används av &lt;a href=&quot;http://www.geocaching.com&quot;&gt;geocaching.com&lt;/a&gt; för att lagra waypoints.&lt;/p&gt;
-&lt;p&gt;Välj en GPX- eller LOC-fil och välj sedan detaljtyperna som du vill ladda.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>File:</source>
-        <translation type="obsolete">Fil:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Feature types:</source>
-        <translation type="obsolete">Objekttyper:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Waypoints</source>
-        <translation type="obsolete">Waypoints</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Routes</source>
-        <translation type="obsolete">Rutter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tracks</source>
-        <translation type="obsolete">Spår</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select the GPS download file that you would like to convert to a shapefile and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the minumum time gap to let the importer know what time interval should be used before starting a new feature. &lt;/p&gt;
-&lt;p&gt;Use the minimum distance gap to define what distance between two readings should be considered the start of a new feature.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Välj GPS-dumpfilen som du vill konvertera till en shapefile så gör detta plugin jobbet åt dig! &lt;/p&gt;
-&lt;p&gt;Använd det minimala tidsgapet för att ange vilket tidsintervall som ska användas för att bestämma när ett nytt objekt påbörjas. &lt;/p&gt;
-&lt;p&gt;Använd det minimala avståndsgapet för att ange vilket avståndsintervall som ska användas för att bestämma när ett nytt objekt påbörjas. &lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>North Arrow Plugin</source>
-        <translation type="obsolete">Nordpilplugin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Properties</source>
-        <translation type="obsolete">Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Angle</source>
-        <translation type="obsolete">Vinkel</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show?</source>
-        <translation type="obsolete">Visa?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Placement on screen</source>
-        <translation type="obsolete">Placering på skärmen</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Preview of north arrow</source>
-        <translation type="obsolete">Förhandsvy av nordpil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Icon</source>
-        <translation type="obsolete">Ikon</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Item</source>
-        <translation type="obsolete">Ny Post</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Plugin Template</source>
-        <translation type="obsolete">Pluginmall</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This plugin was generated using QGIS internal plugin template. Please modify it according to your needs.&lt;/p&gt;
-&lt;p&gt;Tim Sutton&lt;/p&gt;
-&lt;p&gt;2004&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Detta plugin skapades med hjälp av QGIS&apos; interna pluginmall. Var vänlig att ändra det du behöver.&lt;/p&gt;
-&lt;p&gt;Tim Sutton&lt;/p&gt;
-&lt;p&gt;2004&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:23pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Bold text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Italics&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:20pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Skriv in din copyrighttext nedan. Detta plugin kan hantera enkel HTML-formattering i texten.  Till exempel:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Fet text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Kursiv text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:helvetica&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:19pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label.  For example:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Bold text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Italics&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:10pt;font-family:helvetica&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:19pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Skriv din copyright-text nedan. Du kan använda enkel HTML-formattering i din text, t.ex:&lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt;&amp;lt;B&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-weight:600&quot;&gt;Fet text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/B&amp;gt;&lt;br /&gt;&amp;lt;I&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family:Courier New;font-style:italic&quot;&gt;Kursiv text&lt;/span&gt;&lt;span style=&quot;font-family:Courier New&quot;&gt; &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;OK</source>
-        <translation type="obsolete">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Alt+O</source>
-        <translation type="obsolete">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Cancel</source>
-        <translation type="obsolete">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Alt+C</source>
-        <translation type="obsolete">Alt+C</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Enable North Arrow</source>
-        <translation type="obsolete">Aktivera nordpil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Load GPX or LOC</source>
-        <translation type="obsolete">Ladda GPX / LOC</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Import other file</source>
-        <translation type="obsolete">Importera annan fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS can only load GPX and LOC files by itself, but many other formats 
-can be converted to GPX using GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). This requires that you have GPSBabel installed where 
-QGIS can find it.&lt;/p&gt;
-&lt;p&gt;Select a GPS file format and the file that you want to import, the feature type 
-that you want to use, a GPX filename that you want to save the converted file as, 
-and a name for the new layer. All file formats can not store waypoints, routes, and 
-tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS kan bara ladda GPX- och LOC-filer, men många andra format  
-kan konverteras till GPX med GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). Detta kräver att du har GPSBabel installerat där QGIS 
-kan hitta det.&lt;/p&gt;
-&lt;p&gt;Välj en GPS-fil som du vill importera, detaljtypen som du vill använda, 
-ett filnamn som du vill spara den konverterade GPX-filen som 
-och ett namn för det nya lagret. Alla filformat kan inte lagra waypoints, rutter och spår, 
-så några detaljtyper är inaktiverade för en del filformat.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>File to import:</source>
-        <translation type="obsolete">Fil att importera:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Feature type:</source>
-        <translation type="obsolete">Objekttyp:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>GPX output file:</source>
-        <translation type="obsolete">GPX-fil (utdata):</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer name:</source>
-        <translation type="obsolete">Lagernamn:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Download from GPS</source>
-        <translation type="obsolete">Hämta från GPS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This tool will help you download data from a GPS device. Choose your 
-protocol, the device your GPS is connected to, the feature type you want 
-to download, a name for your new layer, and the GPX file where 
-you want to store the data.&lt;/p&gt;
-&lt;p&gt;This tool uses the program GPSBabel 
-(&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) to transfer the data. If you 
-don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Det här verktyget hjälper dig att hämta data från en GPS-enhet.. Välj ditt protokoll, 
-porten som din GPS är kopplad till, typen av objekt du vill ladda ner, 
-ett namn för ditt nya lager och namnet på den nya GPX-filen där du vill lagra datan.&lt;/p&gt;
-&lt;p&gt;Detta verktyg använder GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) 
-för att överföra data. Om du inte har GPSBabel installerat där QGIS kan hitta det så kommer
-detta verktyg inte att fungera.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Protocol:</source>
-        <translation type="obsolete">Protokoll:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Device file:</source>
-        <translation type="obsolete">Port:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Output file:</source>
-        <translation type="obsolete">Utdatafil:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Garmin</source>
-        <translation type="obsolete">Garmin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Magellan</source>
-        <translation type="obsolete">Magellan</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Upload to GPS</source>
-        <translation type="obsolete">Skicka till GPS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This tool will help you upload data from a GPX layer to a GPS device. 
-Choose the layer you want to upload, your protocol, and the device your 
-GPS is connected to.&lt;/p&gt;
-&lt;p&gt;This tool uses the program &lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;GPSBabel&lt;/a&gt; to transfer the data. If you don&apos;t 
-have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Det här verktyget hjälper dig att ladda upp data till en GPS-enhet. 
-Välj det GPS-lager du vill ladda upp, ditt protokoll och porten som din GPS 
-är kopplad till.&lt;/p&gt;
-&lt;p&gt;Detta verktyg använder programmet GPSBabel &lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;GPSBabel&lt;/a&gt; för att överföra 
-data. Om du inte har GPSBabel installerat där QGIS kan hitta det så kommer det här verktyget inte att fungera.
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Data layer:</source>
-        <translation type="obsolete">Datalager:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale Bar Plugin</source>
-        <translation type="obsolete">Skalplugin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Detta plugin ritar en skala på kartan. Notera att storleksinställningen nedan är en &apos;önskad&apos; storlek och kan behöva ändras 
-av QGIS beroende på zoomnivån. Storleken mäts i de kartenheter som anges i projektinställningarna.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Size of bar:</source>
-        <translation type="obsolete">Storlek:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Select Colour</source>
-        <translation type="obsolete">Välj färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Placement:</source>
-        <translation type="obsolete">Placering:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tick Down</source>
-        <translation type="obsolete">Nertick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tick Up</source>
-        <translation type="obsolete">Upptick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Box</source>
-        <translation type="obsolete">Låda</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Bar</source>
-        <translation type="obsolete">Streck</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Select the style of the scale bar</source>
-        <translation type="obsolete">Välj typ av skala</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Colour of bar:</source>
-        <translation type="obsolete">Färg på skala:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale bar style:</source>
-        <translation type="obsolete">Typ av skala:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Enable scale bar</source>
-        <translation type="obsolete">Aktivera skala</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Automatically snap to round number on resize</source>
-        <translation type="obsolete">Runda av till vettig storlek</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Load GPX file</source>
-        <translation type="obsolete">Ladda GPX-fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX is the &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/p&gt;
-&lt;p&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX står för &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt; och används för att lagra information om waypoints, rutter och spår.&lt;/p&gt;
-&lt;p&gt;Välj en GPX-fil och typen av objekt som du vill ladda.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS can only load GPX files by itself, but many other formats 
-can be converted to GPX using GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). This requires that you have GPSBabel installed where 
-QGIS can find it.&lt;/p&gt;
-&lt;p&gt;Select a GPS file format and the file that you want to import, the feature type 
-that you want to use, a GPX filename that you want to save the converted file as, 
-and a name for the new layer. All file formats can not store waypoints, routes, and 
-tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS kan bara ladda GPX-filer, men många andra filformat kan
-konverteras till GPX med GPSBabel  (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). Det kräver att du har GPSBabel installerat någonstans
-där QGIS kan hitta det.&lt;/p&gt;
-&lt;p&gt;Välj ett filformat för GPS-data som du vill importera från, typen av objekt som
-du vill använda, ett filnamn som du vill spara den konverterade GPX-filen som och
-ett namn för det nya lagret. Alla filformat kan inte lagra waypoints, rutter
-och spår, så en del objekttyper är inte tillgängliga för alla filformat.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Origin (Lower Left)</source>
-        <translation type="obsolete">Origo (nedre vänstra)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Latitude:</source>
-        <translation type="obsolete">Latitud:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Longitude:</source>
-        <translation type="obsolete">Longitud:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>End point (Upper Right)</source>
-        <translation type="obsolete">Ändpunkt (övre högra)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Output (Shape) File</source>
-        <translation type="obsolete">Utfil (Shapefile)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Graticule Size (units in degrees)</source>
-        <translation type="obsolete">Rutnätsstorlek (enheter i grader)</translation>
-    </message>
-</context>
-<context>
-    <name>QFileDialog</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>open files dialog</source>
-        <translation type="obsolete">öppna filer-dialog</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save file dialog</source>
-        <translation type="obsolete">Spara filer-dialog</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open an OGR Supported Data Source</source>
-        <translation type="obsolete">Öppna en OGR-Stödd Datakälla</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Overwrite File?</source>
-        <translation type="obsolete">Skriva över fil?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>%1 exists.%2Do you want to overwrite it?</source>
-        <translation type="obsolete">%1 finns redan. %2Vill du skriva över den?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Yes</source>
-        <translation type="obsolete">Ja</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No</source>
-        <translation type="obsolete">Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
-        <source>QGis files (*.qgs)</source>
-        <translation>QGis-filer (*.qgs)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Choose a file to open</source>
-        <translation type="obsolete">Välj en fil att öppna</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Choose a filename  to save</source>
-        <translation type="obsolete">Välj ett filnamn att spara som</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
-        <source>No Data Provider Plugins</source>
-        <comment>No QGIS data provider plugins found in:</comment>
-        <translation>Inga plugins för datakällor</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
-        <source>No vector layers can be loaded. Check your QGIS installation</source>
-        <translation>Inga vektorlager kan laddas. Kontrollera din QGIS-installation</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
-        <source>No Data Providers</source>
-        <translation>Inga datakällor</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
-        <source>No data provider plugins are available. No vector layers can be loaded</source>
-        <translation>Inga plugins för datakällor finns tillgängliga. Inga vektorlager kan laddas</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Choose a QGIS project file to open</source>
-        <translation type="obsolete">Välj en QGIS-projektfil att öppna</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Choose a filename to save</source>
-        <translation type="obsolete">Välj ett filnamn att spara som</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Choose a QGIS project file</source>
-        <translation type="obsolete">Välj en QGIS-projektfil</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
-        <source>Referenced column wasn&apos;t found: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
-        <source>Division by zero.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
-        <source>Open an OGR Supported Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
-        <source>No active layer</source>
-        <translation type="unfinished">Inget aktivt lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
-        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">Attributkommandon - möjlighet att köra ett externt program baserat på innehållet i ett lagers attributfält</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
-        <source>Band</source>
-        <translation type="unfinished">Band</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
-        <source>action</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
-        <source> features found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
-        <source> 1 feature found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
-        <source>No features found</source>
-        <translation type="unfinished">Inga objekt hittade</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
-        <source>No features were found in the active layer at the point you clicked</source>
-        <translation type="unfinished">Inga objekt hittades i det aktiva lagret där du klickade</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
-        <source>Could not identify objects on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
-        <source>because</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
-        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">För att välja objekt måste du välja ett aktivt lager genom att klicka på dess namn i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
-        <source> at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
-        <source> for file </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
-        <source>Unable to save to file </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
-        <source>New centroid</source>
-        <translation type="unfinished">Ny centroid</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
-        <source>New point</source>
-        <translation type="unfinished">Ny punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
-        <source>New vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
-        <source>Undo last point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
-        <source>Close line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
-        <source>Select vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
-        <source>Select new position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
-        <source>Select line segment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
-        <source>New vertex position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
-        <source>Release</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
-        <source>Delete vertex</source>
-        <translation type="unfinished">Radera nod</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
-        <source>Release vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
-        <source>Select element</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
-        <source>New location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
-        <source>Release selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
-        <source>Delete selected / select next</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
-        <source>Select position on line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
-        <source>Split the line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
-        <source>Release the line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
-        <source>Select point on line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
-        <source>Label</source>
-        <translation type="unfinished">Etikett</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
-        <source>Length</source>
-        <translation type="unfinished">Längd</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
-        <source>Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
-        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
-        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
-        <source>Project file read error: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
-        <source>Fit to a linear transform requires at least 2 points.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
-        <source>Fit to a Helmert transform requires at least 2 points.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
-        <source>Fit to an affine transform requires at least 4 points.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
-        <source>Couldn&apos;t open the data source: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
-        <source>Parse error at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
-        <source>GPS eXchange format provider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
-        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
-        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
-        <source>GRASS plugin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
-        <source>QGIS couldn&apos;t find your GRASS installation.
-Would you like to specify path (GISBASE) to your GRASS installation?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
-        <source>Choose GRASS installation path (GISBASE)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
-        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
-        <source>CopyrightLabel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
-        <source>Draws copyright information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
-        <source>Version 0.1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
-        <source>Version 0.2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
-        <source>Loads and displays delimited text files containing x,y coordinates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
-        <source>Add Delimited Text Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
-        <source>Georeferencer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
-        <source>Adding projection info to rasters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
-        <source>GPS Tools</source>
-        <translation type="unfinished">GPS-Verktyg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
-        <source>Tools for loading and importing GPS data</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
-        <source>GRASS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
-        <source>GRASS layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
-        <source>Graticule Creator</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
-        <source>Builds a graticule</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
-        <source>NorthArrow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
-        <source>Displays a north arrow overlayed onto the map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
-        <source>[menuitemname]</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
-        <source>[plugindescription]</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
-        <source>ScaleBar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
-        <source>Draws a scale bar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
-        <source>SPIT</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
-        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
-        <source>WFS plugin</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
-        <source>Adds WFS layers to the QGIS canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
-        <source>Version 0.0001</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
-        <source> km2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
-        <source> ha</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
-        <source> m2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
-        <source> m</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
-        <source> km</source>
-        <translation type="unfinished">km</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
-        <source> mm</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
-        <source> cm</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
-        <source> sq mile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
-        <source> sq ft</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
-        <source> mile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
-        <source> foot</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
-        <source> feet</source>
-        <translation type="unfinished">feet</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
-        <source> sq.deg.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
-        <source> degree</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
-        <source> degrees</source>
-        <translation type="unfinished">grader</translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
-        <source> unknown</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
-        <source>Received %1 of %2 bytes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
-        <source>Received %1 bytes (total unknown)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
-        <source>Not connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
-        <source>Looking up &apos;%1&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
-        <source>Connecting to &apos;%1&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
-        <source>Sending request &apos;%1&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
-        <source>Receiving reply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
-        <source>Response is complete</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
-        <source>Closing down connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Lagret kan inte redigeras</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
-        <source>Location: </source>
-        <comment>Metadata in GRASS Browser</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
-        <source>&lt;br&gt;Mapset: </source>
-        <comment>Metadata in GRASS Browser</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
-        <source>Location: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
-        <source>&lt;br&gt;Mapset: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
-        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
-        <source>Cannot open raster header</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
-        <source>Rows</source>
-        <translation type="unfinished">Rader</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
-        <source>Columns</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
-        <source>N-S resolution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
-        <source>E-W resolution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
-        <source>North</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
-        <source>South</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
-        <source>East</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
-        <source>West</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
-        <source>Format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
-        <source>Minimum value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
-        <source>Maximum value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
-        <source>Data source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
-        <source>Data description</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
-        <source>Comments</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
-        <source>Categories</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
-        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
-        <source>Points</source>
-        <translation type="unfinished">Punkter</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
-        <source>Lines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
-        <source>Boundaries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
-        <source>Centroids</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
-        <source>Faces</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
-        <source>Kernels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
-        <source>Areas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
-        <source>Islands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
-        <source>Top</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
-        <source>Bottom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
-        <source>yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
-        <source>no</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
-        <source>History&lt;br&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
-        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
-        <source>Features</source>
-        <translation type="unfinished">Objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
-        <source>Driver</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
-        <source>Database</source>
-        <translation type="unfinished">Databas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
-        <source>Table</source>
-        <translation type="unfinished">Tabell</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
-        <source>Key column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
-        <source>GISBASE is not set.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
-        <source> is not a GRASS mapset.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
-        <source>Cannot start </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
-        <source>Mapset is already in use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
-        <source>Temporary directory </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
-        <source> exist but is not writable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
-        <source>Cannot create temporary directory </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
-        <source>Cannot create </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
-        <source>Cannot remove mapset lock: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
-        <source>Cannot read raster map region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
-        <source>Cannot read vector map region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
-        <source>Cannot read region</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgisApp</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layers</source>
-        <translation type="obsolete">Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
-        <source>Quantum GIS - </source>
-        <translation>Quantum GIS -</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="obsolete">&amp;Zooma till det markerade lagrets utsträckning</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Open attribute table</source>
-        <translation type="obsolete">&amp;Öppna attributtabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Remove</source>
-        <translation type="obsolete">&amp;Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
-        <source>Version </source>
-        <translation>Version</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
-        <source> with PostgreSQL support</source>
-        <translation>med stöd för PostgreSQL</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
-        <source> (no PostgreSQL support)</source>
-        <translation>(inget stöd för PostgreSQL)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Web Page: http://qgis.sourceforge.net</source>
-        <translation type="obsolete">Websida: http://qgis.sourceforge.net</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Sourceforge Project Page: http://sourceforge.net/projects/qgis</source>
-        <translation type="obsolete">Projektsida på Sourceforge: http://sourceforge.net/projects/qgis</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
-        <source>Version</source>
-        <translation>Version</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
-        <source>Available Data Provider Plugins</source>
-        <translation>Tillgängliga plugins för datakällor</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Shapefiles (*.shp);;All files (*.*)</source>
-        <translation type="obsolete">Shapefiles (*.shp);;Alla filer(*.*)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Select one or more layers to add</source>
-        <translation type="obsolete">Markera ett eller flera lager som du vill lägga till</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
-        <source>is not a valid or recognized data source</source>
-        <translation>är inte en giltig eller känd datakälla</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
-        <source>Invalid Data Source</source>
-        <translation>Ogiltig Datakälla</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No OGR Provider</source>
-        <translation type="obsolete">Ingen OGR-källa</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No OGR data provider was found in the QGIS lib directory</source>
-        <translation type="obsolete">Ingen OGR-datakälla hittades i QGIS&apos; bibliotekskatalog</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No PostgreSQL Provider</source>
-        <translation type="obsolete">Ingen PostgreSQL-källa</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No PostgreSQL data provider was found in the QGIS lib directory</source>
-        <translation type="obsolete">Ingen PostgreSQL-datakälla hittades i QGIS&apos; bibliotekskatalog</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS -- Untitled</source>
-        <translation type="obsolete">Quantum GIS -- Namnlös</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS --</source>
-        <translation type="obsolete">Quantum GIS --</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Saved map to:</source>
-        <translation type="obsolete">Sparade karta som:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
-        <source>No Layer Selected</source>
-        <translation>Inget Lager Markerat</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
-        <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Du måste markera ett lager för att öppna en attributtabell</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
-        <source>No MapLayer Plugins</source>
-        <translation>Inga MapLayer-plugins</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
-        <source>No MapLayer plugins in ../plugins/maplayer</source>
-        <translation>Inga MapLayer-plugins i ../plugins/maplayer</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
-        <source>No Plugins</source>
-        <translation>Inga Plugins</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
-        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
-        <translation>Hittade inga plugins i ../plugins. För att testa plugins, starta qgis från källkodskatalogen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
-        <source>Plugin %1 is named %2</source>
-        <translation>Plugin %1 har namnet %2</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
-        <source>Plugin Information</source>
-        <translation>Plugininformation</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
-        <source>QGis loaded the following plugin:</source>
-        <translation>QGis laddade följande plugin:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
-        <source>Name: %1</source>
-        <translation>Namn: %1</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
-        <source>Version: %1</source>
-        <translation>Version: %1</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
-        <source>Description: %1</source>
-        <translation>Beskrivning: %1</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
-        <source>Unable to Load Plugin</source>
-        <translation>Kan inte Ladda Plugin</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
-        <source>QGIS was unable to load the plugin from: %1</source>
-        <translation>QGIS kunde inte ladda ett plugin från: %1</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
-        <source>There is a new version of QGIS available</source>
-        <translation>Det finns en ny version av QGIS tillgänglig</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
-        <source>You are running a development version of QGIS</source>
-        <translation>Du använder en utvecklingsversion av QGIS</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
-        <source>You are running the current version of QGIS</source>
-        <translation>Du använder den senaste versionen av QGIS</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
-        <source>Would you like more information?</source>
-        <translation>Vill du ha mer information?</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>QGIS Version Information</source>
-        <translation>Versionsinformation för QGIS</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>Yes</source>
-        <translation>Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
-        <source>No</source>
-        <translation>Nej</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS - Changes in CVS</source>
-        <translation type="obsolete">QGIS - Ändringar i CVS</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
-        <source>Unable to get current version information from server</source>
-        <translation>Kan inte hämta senaste versionen från servern</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
-        <source>Connection refused - server may be down</source>
-        <translation>Uppkoppling nekad - servern kanske är nere</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
-        <source>QGIS server was not found</source>
-        <translation>QGIS-servern hittades inte</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4124"/>
-        <source>Error reading from server</source>
-        <translation type="obsolete">Fel vid läsning från server</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4128"/>
-        <source>Unable to connect to the QGIS Version server</source>
-        <translation type="obsolete">Kan inte skapa en uppkopling mot QGIS&apos; versionsserver</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Loading QGIS...</source>
-        <translation type="obsolete">Laddar QGIS...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Setting up QGIS gui...</source>
-        <translation type="obsolete">Laddar användargränssnitt för QGIS...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Loading plugins...</source>
-        <translation type="obsolete">Laddar plugins...</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
-        <source>Invalid Layer</source>
-        <translation>Ogiltigt Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
-        <source>%1 is an invalid layer and cannot be loaded.</source>
-        <translation>%1 är ett ogiltigt lager och kan inte laddas.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
-        <source>Error Loading Plugin</source>
-        <translation>Fel vid Laddning av Plugin</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
-        <source>There was an error loading %1.</source>
-        <translation>Ett fel uppstod vid laddningen av %1.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>open files dialog</source>
-        <translation type="obsolete">öppna filer-dialog</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
-        <source>Saved map image to</source>
-        <translation>Sparade kartbild till</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS - Changes in CVS Since Last Release</source>
-        <translation type="obsolete">QGIS - Ändringar i CVS Sedan Senaste Utgåvan</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
-        <source>Choose a filename to save the map image as</source>
-        <translation>Välj ett filnamn att spara kartbilden som</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
-        <source>Extents: </source>
-        <translation>Utsträckning:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Web Page: http://qgis.org</source>
-        <translation type="obsolete">Websida: http://qgis.org</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
-        <source>Problem deleting features</source>
-        <translation>Problem med att radera objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
-        <source>A problem occured during deletion of features</source>
-        <translation>Ett problem uppstod under radering av objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
-        <source>No Vector Layer Selected</source>
-        <translation>Inget Vektorlager Markerat</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
-        <source>Deleting features only works on vector layers</source>
-        <translation>Radering av objekt fungerar bara på vektorlager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
-        <source>To delete features, you must select a vector layer in the legend</source>
-        <translation>För att radera ett objekt så måste du markera ett vektorlager i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS ready</source>
-        <translation type="obsolete">QGIS redo</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
-        <source>Quantum GIS is licensed under the GNU General Public License</source>
-        <translation>Quantum GIS är licensierad under GNU General Public License</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
-        <source>http://www.gnu.org/licenses</source>
-        <translation>http://www.gnu.org/licenses</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
-        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
-        <translation>Teckenförklaring som visar alla lager i kartvyn. Klicka på en checkbox för att aktivera eller inaktivera ett lager. Dubbelklicka på ett lager i teckenförklaringen för att ställa in dess utseende och ändra andra inställningar.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
-        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
-        <translation>Översiktskarta. Denna kartvy kan användas för att visa en översikt där den nuvarande kartvyn syns som en röd rektangel. Alla lager i kartan kan läggas till i översiktskartan.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
-        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
-        <translation>Kartvy. Det är här som raster- och vektorlager visas när de adderas till kartan</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
-        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
-        <translation>Förloppsindikator som visar statusen för rendering av lager och andra tidsintensiva operationer</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
-        <source>Displays the current map scale</source>
-        <translation>Visar den nuvarande kartskalan</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
-        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
-        <translation>Visar kartkoordinaterna vid den nuvarande pekarpositionen. Uppdateras kontinuerligt när musen flyttas.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
-        <source>Render</source>
-        <translation>Rendera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
-        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
-        <translation>När den här rutan är markerad så renderas kartlagren vid navigationskommandon och andra händelser com kräver en uppdatering av kartan. När den inte är markerad så renderas ingenting. Detta låter dig addera ett stort antal lager och ställa in deras symbologi innan du renderar dem.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Setting theme...</source>
-        <translation type="obsolete">Ställer in tema...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS Ready</source>
-        <translation type="obsolete">QGIS är redo</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>GEOS support in the OGR provider to refine selection of features via identify. This improves over the previous method of feature selection which used a simple MBR intersection check.</source>
-        <translation type="obsolete">Stöd för GEOS i OGR-datapluginet för att förbättra markering av objekt med Identifiera-verktyget. Tidigare versioner har använt en enkel MBR-snittsmetod.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>PostGIS editing support in provider</source>
-        <translation type="obsolete">Stöd för redigering i PostGIS-dataplugin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Vector dialog redesign to improve usability</source>
-        <translation type="obsolete">Vektordialogfönstret har en ny design för att förbättra användarvänligheten</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Improvement in project handling (loading and saving)</source>
-        <translation type="obsolete">Förbättringar i laddning och sparning av projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale dependent rendering</source>
-        <translation type="obsolete">Skalberoende rendering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>User option to load layers with out drawing them, thus allowing you to set scale dependency, etc without waiting for the initial draw to complete</source>
-        <translation type="obsolete">Möjlighet att ladda lager utan att rita dem, så att du kan göra inställningar för lagret utan att vänta på den första renderingen</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Attribute actions - the ability to run an external program based on the contents of an attribute field in a layer</source>
-        <translation type="obsolete">Attributkommandon - kör ett externt program baserat på innehållet i ett lagers attributfält</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Create new vector layer (shapefile) for editing</source>
-        <translation type="obsolete">Skapa nytt vektorlager (shapefile) för redigering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Windows installer</source>
-        <translation type="obsolete">Windowsinstallerare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Mac OSX binary</source>
-        <translation type="obsolete">Mac OSX-program</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New options in the graticule builder plugin</source>
-        <translation type="obsolete">Nya inställningar i rutnätsbyggaren</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Enhancements to the GPS plugin</source>
-        <translation type="obsolete">Förbättringar i GPS-pluginet</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Man page</source>
-        <translation type="obsolete">Man-sida</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGis files (*.qgs)</source>
-        <translation type="obsolete">QGis-filer (*.qgs)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
-        <source>Choose a QGIS project file</source>
-        <translation>Välj en QGIS-projektfil</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
-        <source>Unable to save project</source>
-        <translation>Kan inte spara projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
-        <source>Unable to save project to </source>
-        <translation>Kan inte spara projekt som</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
-        <source>&amp;Plugins</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
-        <source>Reading settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
-        <source>Setting up the GUI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
-        <source>Checking database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
-        <source>Restoring loaded plugins</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
-        <source>Initializing file filters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
-        <source>Restoring window state</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
-        <source>QGIS Ready!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
-        <source>&amp;New Project</source>
-        <translation type="unfinished">&amp;Nytt Projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
-        <source>Ctrl+N</source>
-        <comment>New Project</comment>
-        <translation type="unfinished">Ctrl+N</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
-        <source>New Project</source>
-        <translation type="unfinished">Nytt Projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
-        <source>&amp;Open Project...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
-        <source>Ctrl+O</source>
-        <comment>Open a Project</comment>
-        <translation type="unfinished">Ctrl+O</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
-        <source>Open a Project</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
-        <source>&amp;Save Project</source>
-        <translation type="unfinished">&amp;Spara Projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
-        <source>Ctrl+S</source>
-        <comment>Save Project</comment>
-        <translation type="unfinished">Ctrl+S</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
-        <source>Save Project</source>
-        <translation type="unfinished">Spara Projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
-        <source>Save Project &amp;As...</source>
-        <translation type="unfinished">Spara Projekt  &amp;Som...</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
-        <source>Ctrl+A</source>
-        <comment>Save Project under a new name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
-        <source>Save Project under a new name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
-        <source>&amp;Print...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
-        <source>Ctrl+P</source>
-        <comment>Print</comment>
-        <translation type="unfinished">Ctrl+P</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
-        <source>Print</source>
-        <translation type="unfinished">Skriv ut</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
-        <source>Save as Image...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
-        <source>Ctrl+I</source>
-        <comment>Save map as image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
-        <source>Save map as image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
-        <source>Export to MapServer Map...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
-        <source>M</source>
-        <comment>Export as MapServer .map file</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
-        <source>Export as MapServer .map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
-        <source>Exit</source>
-        <translation type="unfinished">Avsluta</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
-        <source>Ctrl+Q</source>
-        <comment>Exit QGIS</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
-        <source>Exit QGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
-        <source>Add a Vector Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
-        <source>V</source>
-        <comment>Add a Vector Layer</comment>
-        <translation type="unfinished">V</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
-        <source>Add a Vector Layer</source>
-        <translation type="unfinished">Lägg till ett Vektorlager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
-        <source>Add a Raster Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
-        <source>R</source>
-        <comment>Add a Raster Layer</comment>
-        <translation type="unfinished">R</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
-        <source>Add a Raster Layer</source>
-        <translation type="unfinished">Lägg till ett Rasterlager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
-        <source>Add a PostGIS Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
-        <source>D</source>
-        <comment>Add a PostGIS Layer</comment>
-        <translation type="unfinished">D</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
-        <source>Add a PostGIS Layer</source>
-        <translation type="unfinished">Lägg till ett PostGIS-lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
-        <source>New Vector Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
-        <source>N</source>
-        <comment>Create a New Vector Layer</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
-        <source>Create a New Vector Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
-        <source>Remove Layer</source>
-        <translation type="unfinished">Ta Bort Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
-        <source>Ctrl+D</source>
-        <comment>Remove a Layer</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
-        <source>Remove a Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
-        <source>Add All To Overview</source>
-        <translation type="unfinished">Lägg till Allt i Översikten</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
-        <source>+</source>
-        <comment>Show all layers in the overview map</comment>
-        <translation type="unfinished">+</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
-        <source>Show all layers in the overview map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
-        <source>Remove All From Overview</source>
-        <translation type="unfinished">Ta Bort Allt från Översikten</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
-        <source>-</source>
-        <comment>Remove all layers from overview map</comment>
-        <translation type="unfinished">-</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
-        <source>Remove all layers from overview map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
-        <source>Show All Layers</source>
-        <translation type="unfinished">Visa Alla Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
-        <source>S</source>
-        <comment>Show all layers</comment>
-        <translation type="unfinished">S</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
-        <source>Show all layers</source>
-        <translation type="unfinished">Visa alla lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
-        <source>Hide All Layers</source>
-        <translation type="unfinished">Göm Alla Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
-        <source>H</source>
-        <comment>Hide all layers</comment>
-        <translation type="unfinished">H</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
-        <source>Hide all layers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
-        <source>Project Properties...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
-        <source>P</source>
-        <comment>Set project properties</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
-        <source>Set project properties</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
-        <source>Options...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
-        <source>Change various QGIS options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
-        <source>Custom Projection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
-        <source>Manage custom projections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
-        <source>Help Contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
-        <source>F1</source>
-        <comment>Help Documentation</comment>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
-        <source>Help Documentation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
-        <source>Qgis Home Page</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
-        <source>Ctrl+H</source>
-        <comment>QGIS Home Page</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
-        <source>QGIS Home Page</source>
-        <translation type="unfinished">QGIS Hemsida</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
-        <source>About</source>
-        <translation type="unfinished">Om</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
-        <source>About QGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
-        <source>Check Qgis Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
-        <source>Check if your QGIS version is up to date (requires internet access)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
-        <source>Refresh</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
-        <source>Ctrl+R</source>
-        <comment>Refresh Map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
-        <source>Refresh Map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
-        <source>Zoom In</source>
-        <translation type="unfinished">Zooma In</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
-        <source>Ctrl++</source>
-        <comment>Zoom In</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
-        <source>Zoom Out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
-        <source>Ctrl+-</source>
-        <comment>Zoom Out</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
-        <source>Zoom Full</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
-        <source>F</source>
-        <comment>Zoom to Full Extents</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
-        <source>Zoom to Full Extents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
-        <source>Zoom To Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
-        <source>Ctrl+F</source>
-        <comment>Zoom to selection</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
-        <source>Zoom to selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
-        <source>Pan Map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
-        <source>Pan the map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
-        <source>Zoom Last</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
-        <source>Zoom to Last Extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
-        <source>Zoom To Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
-        <source>Zoom to Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
-        <source>Identify Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
-        <source>I</source>
-        <comment>Click on features to identify them</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
-        <source>Click on features to identify them</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
-        <source>Select Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
-        <source>Open Table</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
-        <source>Measure Line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
-        <source>Ctrl+M</source>
-        <comment>Measure a Line</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
-        <source>Measure a Line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
-        <source>Measure Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
-        <source>Ctrl+J</source>
-        <comment>Measure an Area</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
-        <source>Measure an Area</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
-        <source>Show Bookmarks</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
-        <source>B</source>
-        <comment>Show Bookmarks</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
-        <source>New Bookmark...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
-        <source>Ctrl+B</source>
-        <comment>New Bookmark</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
-        <source>New Bookmark</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
-        <source>Add WMS Layer...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
-        <source>W</source>
-        <comment>Add Web Mapping Server Layer</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
-        <source>Add Web Mapping Server Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
-        <source>In Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
-        <source>O</source>
-        <comment>Add current layer to overview map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
-        <source>Add current layer to overview map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
-        <source>Plugin Manager...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
-        <source>Open the plugin manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
-        <source>Capture Point</source>
-        <translation type="unfinished">Kopiera Punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
-        <source>.</source>
-        <comment>Capture Points</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
-        <source>Capture Points</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
-        <source>Capture Line</source>
-        <translation type="unfinished">Skapa Linje</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
-        <source>/</source>
-        <comment>Capture Lines</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
-        <source>Capture Lines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
-        <source>Capture Polygon</source>
-        <translation type="unfinished">Skapa Polygon</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
-        <source>Ctrl+/</source>
-        <comment>Capture Polygons</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
-        <source>Capture Polygons</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
-        <source>Delete Selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
-        <source>Add Vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
-        <source>Delete Vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
-        <source>Move Vertex</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
-        <source>&amp;File</source>
-        <translation type="unfinished">&amp;Arkiv</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
-        <source>&amp;Open Recent Projects</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
-        <source>&amp;View</source>
-        <translation type="unfinished">&amp;Vy</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
-        <source>&amp;Layer</source>
-        <translation type="unfinished">&amp;Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
-        <source>&amp;Settings</source>
-        <translation type="unfinished">&amp;Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
-        <source>File</source>
-        <translation type="unfinished">Arkiv</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
-        <source>Manage Layers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
-        <source>Digitizing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
-        <source>Map Navigation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
-        <source>Attributes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
-        <source>Plugins</source>
-        <translation type="unfinished">Plugins</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
-        <source>Toggle map rendering</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
-        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
-        <source>Projection status - Click to open projection dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
-        <source>Ready</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
-        <source>Open an OGR Supported Vector Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
-        <source>Save As</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
-        <source>Choose a QGIS project file to open</source>
-        <translation type="unfinished">Välj en QGIS-projektfil att öppna</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
-        <source>QGIS Project Read Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
-        <source>Try to find missing layers?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
-        <source>Unable to open project</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
-        <source>Saved project to:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
-        <source>Unable to save project </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
-        <source>Choose a filename to save the QGIS project file as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
-        <source>QGIS: Unable to load project</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
-        <source>Unable to load project </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
-        <source>QGIS - Changes in SVN Since Last Release</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
-        <source>QGIS Browser Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
-        <source>Enter the name of a web browser to use (eg. konqueror).
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
-        <source>Enter the full path if the browser is not in your PATH.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
-        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
-        <source>Layer is not valid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
-        <source>The layer is not a valid layer and can not be added to the map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
-        <source>Save?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
-        <source>Clipboard contents set to: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
-        <source>Open a GDAL Supported Raster Data Source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
-        <source> is not a valid or recognized raster data source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
-        <source> is not a supported raster data source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
-        <source>Unsupported Data Source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
-        <source>Enter a name for the new bookmark:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
-        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
-        <source>Ctrl+?</source>
-        <comment>Help Documentation (Mac)</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
-        <source>Show most toolbars</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="601"/>
-        <source>S</source>
-        <comment>Show most toolbars</comment>
-        <translation type="obsolete">S</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
-        <source>Hide most toolbars</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
-        <source>H</source>
-        <comment>Hide most toolbars</comment>
-        <translation type="obsolete">H</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
-        <source>Cut Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
-        <source>Cut selected features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
-        <source>Copy Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
-        <source>Copy selected features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
-        <source>Paste Features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
-        <source>Paste selected features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
-        <source>
-Compiled against Qt </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
-        <source>, running against Qt </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
-        <source>T</source>
-        <comment>Show most toolbars</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
-        <source>Ctrl+T</source>
-        <comment>Hide most toolbars</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
-        <source>Map coordinates at mouse cursor position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
-        <source></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgisAppBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS</source>
-        <translation type="obsolete">Quantum GIS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>File</source>
-        <translation type="obsolete">Arkiv</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>View</source>
-        <translation type="obsolete">Vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Tools</source>
-        <translation type="obsolete">&amp;Verktyg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Help</source>
-        <translation type="obsolete">&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>File Management Toolbar</source>
-        <translation type="obsolete">Verktyg för Filhantering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Data Toolbar</source>
-        <translation type="obsolete">Verktyg för Data</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Map Navigation Toolbar</source>
-        <translation type="obsolete">Verktyg för Kartnavigering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Attribute Data Toolbar</source>
-        <translation type="obsolete">Attributdataverktyg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open Project</source>
-        <translation type="obsolete">Öppna Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Exit</source>
-        <translation type="obsolete">Avsluta</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>E&amp;xit</source>
-        <translation type="obsolete">&amp;Avsluta</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a PostGIS Layer to the map</source>
-        <translation type="obsolete">Lägg till ett PostGIS-lager till kartan</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Refresh </source>
-        <translation type="obsolete">Rita om</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to full extent</source>
-        <translation type="obsolete">Visa allt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Map Navigation Tools</source>
-        <translation type="obsolete">Verktyg för Kartnavigering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom In</source>
-        <translation type="obsolete">Zooma In</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom &amp;In</source>
-        <translation type="obsolete">Zooma &amp;In</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Pan</source>
-        <translation type="obsolete">Flytta vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Pan</source>
-        <translation type="obsolete">&amp;Flytta vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom out</source>
-        <translation type="obsolete">Zooma ut</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom &amp;out</source>
-        <translation type="obsolete">Zooma &amp;ut</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Identify</source>
-        <translation type="obsolete">Identifiera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Identify a feature on the active layer</source>
-        <translation type="obsolete">Identifiera ett objekt i det aktiva lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>select features</source>
-        <translation type="obsolete">markera objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;About Quantum GIS</source>
-        <translation type="obsolete">&amp;Om Quantum GIS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Test button</source>
-        <translation type="obsolete">Testknapp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a vector layer</source>
-        <translation type="obsolete">Lägg till ett vektorlager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a vector layer (e.g. Shapefile)</source>
-        <translation type="obsolete">Lägg till ett vektorlager (t.ex. Shapefile)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Attribute table</source>
-        <translation type="obsolete">Attributtabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the attribute table for the selected layer</source>
-        <translation type="obsolete">Öppna attributtabellen för det markerade lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Action</source>
-        <translation type="obsolete">Kommando</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to last extent</source>
-        <translation type="obsolete">Zooma till senaste vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Test plugin functions</source>
-        <translation type="obsolete">Testa pluginfunktioner</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Options</source>
-        <translation type="obsolete">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGis options</source>
-        <translation type="obsolete">QGis-inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save Project</source>
-        <translation type="obsolete">Spara Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save Project As...</source>
-        <translation type="obsolete">Spara Projekt Som...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Plugin Manager</source>
-        <translation type="obsolete">Pluginhanterare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Check QGIS Version</source>
-        <translation type="obsolete">Kontrollera QGIS-Version</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a PostGIS Layer</source>
-        <translation type="obsolete">Lägg till ett PostGIS-lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to selected features</source>
-        <translation type="obsolete">Visa markerade objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to selected features in active layer</source>
-        <translation type="obsolete">Visa markerade objekt i det aktiva lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a Vector Layer</source>
-        <translation type="obsolete">Lägg till ett Vektorlager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Start a new QGIS project</source>
-        <translation type="obsolete">Starta ett nytt QGIS-projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Export current view as a Mapserver file</source>
-        <translation type="obsolete">Exportera vy till Mapserver-fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Export to MapServer</source>
-        <translation type="obsolete">Exportera till MapServer</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a Raster Layer</source>
-        <translation type="obsolete">Lägg till ett Rasterlager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Contents</source>
-        <translation type="obsolete">&amp;Innehåll</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS Help (HTML)</source>
-        <translation type="obsolete">QGIS-Hjälp (HTML)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Preferences</source>
-        <translation type="obsolete">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS User Preferences</source>
-        <translation type="obsolete">QGIS Användarinställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS Home Page</source>
-        <translation type="obsolete">QGIS Hemsida</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QGIS SourceForge Page</source>
-        <translation type="obsolete">QGIS SourceForge-sida</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Help Toolbar</source>
-        <translation type="obsolete">Hjälp-Verktygsrad</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open a previously saved QGIS project file. The layers (raster and vector) stored in the project file will be loaded and displayed on the map canvas</source>
-        <translation type="obsolete">Öppna en tidigare sparad QGIS-projektfil. Lagren (raster och vektorlager) sparade i projektfilen kommer att laddas och visas i kartvyn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close all layers and exit QGIS</source>
-        <translation type="obsolete">Stäng alla lager och avsluta QGIS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a PostgreSQL layer to the map. This requires a properly configured and running PostgreSQL database and the PostGIS extensions.</source>
-        <translation type="obsolete">Lägg till ett PostgreSQL-lager till kartan. Detta kräver en korrekt inställd och startad PostgreSQL-databas och PostGIS-tilläggen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Refresh the map by clearing the map canvas and redrawing all visible layers</source>
-        <translation type="obsolete">Uppdatera kartan genom att radera kartvyn och rita om alla synliga lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to the full extent of all layers on the map. This brings everything on the map into full view</source>
-        <translation type="obsolete">Zooma till den totala utsträckningen av alla lager på kartan. Detta visar allt på kartan i kartvyn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom in on the map. Drag the mouse (hold down the left button) to draw a rectangle around the area you want to zoom to, then release the mouse.</source>
-        <translation type="obsolete">Zooma in på kartan. Dra med musen (håll vänsterknappen nere) för att rita en rektangle runt ytan du vill zooma till och släpp sedan musen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Pan the map view by dragging the mouse (hold down the left button). The area displayed will change after the mouse is released.</source>
-        <translation type="obsolete">Panorera i kartvyn genom att dra med musen (håll vänsterknappen nere). Ytan som visas kommer att ändras efter att musen släps.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom out to view more of the map. Drag the mouse (hold down the left button) to draw a rectangle around an area. The current view will zoomed out and resized to &quot;fit&quot; in the rectangle.</source>
-        <translation type="obsolete">Zooma ut för att se mer av kartan. Dra med musen (håll vänsterknappen nere) för att rita en rektangel runt en yta. Den nuvarande vyn kommer att zoomas ut och förminskas för att &quot;få plats&quot; i rektangeln.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to the extent of selected features on the active layer. The view will be zoomed so that all selected features are visible. If there are no selected features, the view is not changed.</source>
-        <translation type="obsolete">Zooma till utsträckningen av de markerade objekten i det aktiva lagret. Vyn kommer att zoomas så att alla markerade objekt blir synliga. Om det inte finns några markerade objekt så ändras inte vyn.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Identify a feature on the active layer (the active layer is the highlighted layer in the legend). Idenify searches for features near where the mouse is clicked and displays information about the results. The search radius can be customized on the QGIS Preferences dialog.</source>
-        <translation type="obsolete">Identifiera ett objekt i det aktiva lagret (det aktiva lagret är markerat i teckenförklaringen). Identifiera söker efter objekt nära där musen klickas och visar information om resultaten. Sökradien kan ställas in i QGIS&apos; inställningsfönster.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Select features on the active layer by dragging the mouse to create a box around the features of interest. When the mouse is released, the features are selected and drawn in a different color (default is yellow)</source>
-        <translation type="obsolete">Välj objekt i det aktiva lagret genom att dra med musen för att skapa en ruta runt de intressanta objekten. När musen släpps så markeras objekten och ritas i en annan färg (standard är gul)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display the About QGIS dialog. About QGIS contains information about the current version, contributors, and available data provider plugins.</source>
-        <translation type="obsolete">Visar Om QGIS-dialogrutan. Om QGIS innehåller information om den nuvarande versionen, medarbetare och tillgängliga dataplugin.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a vector layer to the map canvas. The supported formats are those provided by the OGR library. For a list of supported formats, see http://www.remotesensing.org/gdal/ogr/ogr_formats.html</source>
-        <translation type="obsolete">Lägg till ett vektorlager till kartvyn. De format som stöds är de som tillhandahålls av OGR-biblioteket. För en lista på filformat, se http://www.remotesensing.org/gdal/ogr/ogr_formats.html</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the attribute table for the selected vector layer. The rows can be sorted by clicking on the column names in the header row.</source>
-        <translation type="obsolete">Öppna attributtabellen för det markerade vektorlagret. Raderna kan sorteras genom att klicka på kolumnnamnen i rubrikraden.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to the last view. QGIS stores only one previous view so repeatedly clicking this button swaps the views.</source>
-        <translation type="obsolete">Zooma till den senaste vyn. QGIS lagrar bara en föregående vy, så upprepat klickande på den här knappen gör att QGIS byter mellan två olika vyer.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the options dialog to set QGIS preferences like web browser and identify search radius.</source>
-        <translation type="obsolete">Öppna inställningsfönstret för att ange QGIS-inställningar som webläsare och sökradie för identifiering av objekt.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save the current map as a QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
-        <translation type="obsolete">Spara den nuvarande kartan som ett QGIS-projekt. Ett QGIS-projekt kan senare öppnas och alla lager och inställningar kommer att återskapas.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save the current map as a new QGIS project. A QGIS project can later be opened and all layers and setting will be restored.</source>
-        <translation type="obsolete">Spara den nuvarande kartan som ett nytt QGIS-projekt. Ett QGIS-projekt kan senare öppnas och alla lager och inställningar kommer att återskapas.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Create a new, empty QGIS project. All layers will be removed from the map canvas and a blank canvas will be created.</source>
-        <translation type="obsolete">Skapa ett nytt, tomt QGIS-projekt. Alla lager tas bort från kartan och en tom karta kommer att sparas.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Opens the Plugin Manager and allows you to view loaded plugins or load a new one. The Plugin Manager lists the available plugins and a description of the features each provides.</source>
-        <translation type="obsolete">Öppnar Pluginhanteraren och låter dig se laddade plugin och ladda nya. Pluginhanteraren visar en lista med alla tillgängliga plugin och en beskrivning av funktionerna de tillhandahåller.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Contacts the QGIS version server and provides information about the current version and any new features/changes available in the development version.</source>
-        <translation type="obsolete">Kontaktar QGIS&apos; versionsserver och tillhandahåller information om den nuvarande versionen och eventuella nya funktioner/ändringar i utvecklingsversionen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Creates a Mapserver file (.map) from the current QGIS view. The .map file can be used to create a Mapserver project.</source>
-        <translation type="obsolete">Skapar en Mapserver-fil (.map) från den nuvarande QGIS-vyn. Filen kan användas för att skapa ett Mapserver-projekt.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Adds a raster layer to the map canvas. Supported raster formats include most of those provided by the GDAL library. See http://www.remotesensing.org/gdal/formats_list.html</source>
-        <translation type="obsolete">Lägg till ett rasterlager till kartan. De rasterformat som stöds inkluderar de flesta som tillhandahålls av GDAL-biblioteket. Se http://www.remotesensing.org/gdal/formats_list.html</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the QGIS Help Contents in a web browser</source>
-        <translation type="obsolete">Öppna QGIS Hjälp i en webläsare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the QGIS home page in a web browser</source>
-        <translation type="obsolete">Öppna QGIS&apos; hemsida i en webläsare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Open the QGIS SourceForge project page in a web browser</source>
-        <translation type="obsolete">Öppna QGIS&apos; SourceForge-projektsida i en webläsare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save Map As Image</source>
-        <translation type="obsolete">Spara Karta Som Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save the current map view as a PNG image. The image size will be exactly the same as the size of the map canvas.</source>
-        <translation type="obsolete">Spara den nuvarande kartvyn som en PNG-bild. Bildstorleken kommer att vara exakt samma som storleken på kartvyn.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Whats this?</source>
-        <translation type="obsolete">Vad är det här?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Whats this? - Click this tool and then click on a toolbar button or menu item to get more information</source>
-        <translation type="obsolete">Vad är det här? - Klicka på det här verktyget och sedan på en knapp i verktygsraden för att få mer information</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Project Properties</source>
-        <translation type="obsolete">Projektegenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Set project properties, including map units</source>
-        <translation type="obsolete">Sätt projektegenskaper, inklusive kartenheter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Set properties for the current project, including map units</source>
-        <translation type="obsolete">Sätt egenskaper för det öppna projektet, inklusive kartenheter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Arkiv</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Layer</source>
-        <translation type="obsolete">&amp;Lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;View</source>
-        <translation type="obsolete">&amp;Vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Open Project</source>
-        <translation type="obsolete">&amp;Öppna Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Ctrl+O</source>
-        <translation type="obsolete">Ctrl+O</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a &amp;PostGIS Layer</source>
-        <translation type="obsolete">Lägg till ett &amp;PostGIS-lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Refresh </source>
-        <translation type="obsolete">&amp;Uppdatera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to &amp;full extent</source>
-        <translation type="obsolete">Visa &amp;allt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom in</source>
-        <translation type="obsolete">Zooma in</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom &amp;Out</source>
-        <translation type="obsolete">Zooma u&amp;t</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Zoom to selected features</source>
-        <translation type="obsolete">Visa &amp;markering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>I&amp;dentify</source>
-        <translation type="obsolete">I&amp;dentifiera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a &amp;Vector Layer</source>
-        <translation type="obsolete">Lägg till ett &amp;Vektorlager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Attribute table</source>
-        <translation type="obsolete">&amp;Attributtabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Previous</source>
-        <translation type="obsolete">Föregående</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to &amp;previous extent</source>
-        <translation type="obsolete">Zooma till &amp;föregående vy</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Preferences</source>
-        <translation type="obsolete">&amp;Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Save Project</source>
-        <translation type="obsolete">&amp;Spara Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Ctrl+S</source>
-        <translation type="obsolete">Ctrl+S</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Save Project &amp;As...</source>
-        <translation type="obsolete">Spara Projekt  &amp;Som...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Project</source>
-        <translation type="obsolete">Nytt Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;New Project</source>
-        <translation type="obsolete">&amp;Nytt Projekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Ctrl+N</source>
-        <translation type="obsolete">Ctrl+N</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Plugin &amp;Manager</source>
-        <translation type="obsolete">&amp;Pluginhanterare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Check QGIS &amp;Version</source>
-        <translation type="obsolete">Kontrollera QGIS-&amp;Version</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Export As Mapserver file</source>
-        <translation type="obsolete">Exportera Som Mapserver-fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Export As &amp;Mapserver file</source>
-        <translation type="obsolete">Exportera Som &amp;Mapserver-fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add a &amp;Raster Layer</source>
-        <translation type="obsolete">Lägg till ett &amp;Rasterlager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Export As Image</source>
-        <translation type="obsolete">Exportera Som Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>E&amp;xport As Image</source>
-        <translation type="obsolete">E&amp;xportera Som Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Whats this?</source>
-        <translation type="obsolete">&amp;Vad är det här?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Shift+F1</source>
-        <translation type="obsolete">Shift+F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Project &amp;Properties</source>
-        <translation type="obsolete">Projekt&amp;egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Properties</source>
-        <translation type="obsolete">Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Properties for the selected layer</source>
-        <translation type="obsolete">Egenskaper för det markerade lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to layer</source>
-        <translation type="obsolete">Zooma till lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Zoom to &amp;layer</source>
-        <translation type="obsolete">Zooma till &amp;lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Print</source>
-        <translation type="obsolete">Skriv ut</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Print</source>
-        <translation type="obsolete">S&amp;kriv ut</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Ctrl+P</source>
-        <translation type="obsolete">Ctrl+P</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Capture Point</source>
-        <translation type="obsolete">Kopiera Punkt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add All To Overview</source>
-        <translation type="obsolete">Lägg till Allt i Översikten</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Remove All From Overview</source>
-        <translation type="obsolete">Ta Bort Allt från Översikten</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>D</source>
-        <translation type="obsolete">D</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>V</source>
-        <translation type="obsolete">V</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>R</source>
-        <translation type="obsolete">R</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show All Layers</source>
-        <translation type="obsolete">Visa Alla Lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>S</source>
-        <translation type="obsolete">S</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Hide All Layers</source>
-        <translation type="obsolete">Göm Alla Lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>H</source>
-        <translation type="obsolete">H</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Capture Line</source>
-        <translation type="obsolete">Skapa Linje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Capture Polygon</source>
-        <translation type="obsolete">Skapa Polygon</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Map Edit Tools</source>
-        <translation type="obsolete">Kartredigeringsverktyg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show all layers</source>
-        <translation type="obsolete">Visa alla lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add to overview</source>
-        <translation type="obsolete">Lägg till i översikt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Capture points</source>
-        <translation type="obsolete">Skapa Punkter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Plugins Toolbar</source>
-        <translation type="obsolete">Pluginverktygsrad</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Export As Image</source>
-        <translation type="obsolete">&amp;Exportera Som Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>P&amp;roject Properties</source>
-        <translation type="obsolete">P&amp;rojektegenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Remove Layer</source>
-        <translation type="obsolete">Ta Bort Lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Toggle In Overview</source>
-        <translation type="obsolete">Toggla I Översikten</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Vectorlayer</source>
-        <translation type="obsolete">Nytt Vektorlager</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
-        <source>MainWindow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgisappbase.ui" line="102"/>
-        <source>Legend</source>
-        <translation type="unfinished">Teckenförklaring</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgisappbase.ui" line="135"/>
-        <source>Map View</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAbout</name>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="13"/>
-        <source>About Quantum GIS</source>
-        <translation>Om Quantum GIS</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
-        <source>Ok</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
-        <source>About</source>
-        <translation>Om</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
-        <source>Version</source>
-        <translation>Version</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS (qgis)</source>
-        <translation type="obsolete">Quantum GIS (qgis)</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
-        <source>What&apos;s New</source>
-        <translation>Nyheter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>License</source>
-        <translation type="obsolete">Licens</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>http://www.gnu.org/licenses</source>
-        <translation type="obsolete">http://www.gnu.org/licenses</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS is licensed under the GNU General Public License</source>
-        <translation type="obsolete">Quantum GIS är licensierad med GNU General Public License</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Contributors</source>
-        <translation type="obsolete">Medarbetare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;h3&gt;QGIS Contributors&lt;/h3&gt;
-&lt;ul&gt;
-&lt;li&gt;Gary E. Sherman&lt;br&gt;
-&lt;li&gt;Steve Halasz&lt;br&gt;
-&lt;li&gt;Tim Sutton&lt;br&gt;
-&lt;li&gt;Marco Hugentobler&lt;br&gt;
-&lt;li&gt;Denis Antipov&lt;br&gt;
-&lt;li&gt;Mark Coletti
-&lt;li&gt;Carl Anderson&lt;br&gt;
-&lt;li&gt;Masaru Hoshi&lt;br&gt;
-&lt;li&gt;Radim Blazek&lt;br&gt;
-&lt;p&gt;
-Apologies to anyone not included. Please let the project admin at qgis.sourceforge.net know if you have contributed but are not included in the acknowledgments.</source>
-        <translation type="obsolete">&lt;h3&gt;QGIS-medarbetare&lt;/h3&gt;
-&lt;ul&gt;
-&lt;li&gt;Gary E. Sherman&lt;br&gt;
-&lt;li&gt;Steve Halasz&lt;br&gt;
-&lt;li&gt;Tim Sutton&lt;br&gt;
-&lt;li&gt;Marco Hugentobler&lt;br&gt;
-&lt;li&gt;Denis Antipov&lt;br&gt;
-&lt;li&gt;Mark Coletti
-&lt;li&gt;Carl Anderson&lt;br&gt;
-&lt;li&gt;Masaru Hoshi&lt;br&gt;
-&lt;li&gt;Radim Blazek&lt;br&gt;
-&lt;p&gt;
-Vi ber om ursäkt om någon har glömts bort. Var vänlig kontakta projektadministratören på qgis.sourceforge.net om du har hjälpt till men inte står med i den här listan.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Plugins</source>
-        <translation type="obsolete">Plugins</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;h2&gt;QGIS Contributors&lt;/h2&gt;</source>
-        <translation type="obsolete">&lt;h2&gt;QGIS-medarbetare&lt;/h2&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Gary E. Sherman</source>
-        <translation type="obsolete">Gary E. Sherman</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Steve Halasz</source>
-        <translation type="obsolete">Steve Halasz</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tim Sutton</source>
-        <translation type="obsolete">Tim Sutton</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Marco Hugentobler</source>
-        <translation type="obsolete">Marco Hugentobler</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Denis Antipov</source>
-        <translation type="obsolete">Denis Antipov</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Mark Coletti</source>
-        <translation type="obsolete">Mark Coletti</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Jens Oberender</source>
-        <translation type="obsolete">Jens Oberender</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Radim Blazek</source>
-        <translation type="obsolete">Radim Blazek</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Carl Anderson</source>
-        <translation type="obsolete">Carl Anderson</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Masaru Hoshi</source>
-        <translation type="obsolete">Masaru Hoshi</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Lars Luthman</source>
-        <translation type="obsolete">Lars Luthman</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Peter Brewer</source>
-        <translation type="obsolete">Peter Brewer</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
-        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
-        <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p align=&quot;center&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;p&gt;
-&lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</source>
-        <translation type="obsolete">&lt;p align=&quot;center&quot;&gt;Quantum GIS är licensierat under GNU General Public License&lt;p&gt;
-&lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
-        <source>QGIS Home Page</source>
-        <translation>QGIS Hemsida</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
-        <source>Subscribe to the QGIS-User mailing list</source>
-        <translation>Prenumerera på maillistan QGIS-User</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
-        <source>Providers</source>
-        <translation>Dataplugin</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Christoph Spoerri</source>
-        <translation type="obsolete">Christoph Spoerri</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Gavin Macaulay</source>
-        <translation type="obsolete">Gavin Macaulay</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tom Elwertowski</source>
-        <translation type="obsolete">Tom Elwertowski</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
-        <source>Developers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
-        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
-        <source>QGIS Browser Selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
-        <source>Enter the name of a web browser to use (eg. konqueror).
-Enter the full path if the browser is not in your PATH.
-You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
-        <source>QGIS Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
-        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
-        <source>Website</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAddAttrDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
-        <source>Add Attribute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
-        <source>Type:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
-        <source>Name:</source>
-        <translation type="unfinished">Namn:</translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeActionDialog</name>
-    <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
-        <source>Action</source>
-        <translation type="unfinished">Kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
-        <source>Capture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
-        <source>Select an action</source>
-        <comment>File dialog window title</comment>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeActionDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
-        <source>Form1</source>
-        <translation>Formulär1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Action</source>
-        <translation type="obsolete">Kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
-        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
-        <translation>Denna lista innehåller alla kommandon som har definierats för det aktiva lagret. Lägg till kommandon genom att ange detaljerna i fälten nedan och sedan trycka på knappen Lägg till kommando. Kommandon kan redigeras genom att dubbelklicka på dem i listan.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
-        <source>Move up</source>
-        <translation>Flytta upp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
-        <source>Move the selected action up</source>
-        <translation>Flytta det markerade kommandot uppåt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
-        <source>Move down</source>
-        <translation>Flytta ner</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
-        <source>Move the selected action down</source>
-        <translation>Flytta det markerade kommandot neråt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
-        <source>Remove</source>
-        <translation>Ta bort</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
-        <source>Remove the selected action</source>
-        <translation>Ta bort det markerade kommandot</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
-        <source>Name:</source>
-        <translation>Namn:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
-        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
-        <translation>Ange namnet för ett kommando här. Namnet bör vara unikt (QGIS kommer att göra det unikt om det behövs).</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
-        <source>Enter the action name here</source>
-        <translation>Ange kommandonamnet här</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
-        <source>Action:</source>
-        <translation>Kommando:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
-        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
-        <translation>Ange kommandot här. Det kan vara ett godtyckligt program eller script som är tillgängligt på ditt system. När kommandot körs så kommer alla ord som börjar med % och namnet för ett attributfält att ersättas med värdet för det fältet. Specialtecknen %% kommer att ersättas med värdet för det markerade fältet. Dubbla citationstecken grupperar text till en enda parameter till programmet eller scriptet. Dubbla citationstecken ignoreras om de föregås av en backslash</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
-        <source>Enter the action command here</source>
-        <translation>Ange kommandot här</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
-        <source>Browse</source>
-        <translation>Bläddra</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
-        <source>Browse for action commands</source>
-        <translation>Bläddra efter kommandon</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
-        <source>Insert action</source>
-        <translation>Lägg till kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
-        <source>Inserts the action into the list above</source>
-        <translation>Lägg till kommandot i listan ovan</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
-        <source>Update action</source>
-        <translation>Uppdatera kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
-        <source>Update the selected action</source>
-        <translation>Uppdatera det markerade kommandot</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
-        <source>Insert field</source>
-        <translation>Lägg till fält</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
-        <source>Inserts the selected field into the action, prepended with a %</source>
-        <translation>Lägger till det markerade fältet i kommandot</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
-        <source>The valid attribute names for this layer</source>
-        <translation>Giltiga attributnamn för det här lagret</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
-        <source>Captures any output from the action</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
-        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
-        <source>Capture output</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
-        <source>Enter Attribute Values</source>
-        <translation>Ange Attributvärden</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>OK</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
-        <source>1</source>
-        <translation type="unfinished">1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
-        <source>Attribute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
-        <source>Value</source>
-        <translation type="unfinished">Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeTable</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;center&gt;Run action&lt;/center&gt;</source>
-        <translation type="obsolete">&lt;center&gt;Kör kommando&lt;/center&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
-        <source>Run action</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeTableBase</name>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
-        <source>Attribute Table</source>
-        <translation>Attributtabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
-        <source>Remove selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
-        <source>Move selected to top</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
-        <source>Ctrl+T</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
-        <source>Invert selection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
-        <source>Ctrl+S</source>
-        <translation type="unfinished">Ctrl+S</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
-        <source>Copy selected rows to clipboard (Ctrl+C)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
-        <source>Copies the selected rows to the clipboard</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
-        <source>Ctrl+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
-        <source>Ctrl+N</source>
-        <translation type="unfinished">Ctrl+N</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
-        <source>Ctrl+X</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
-        <source>Start editing</source>
-        <translation type="unfinished">Börja redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
-        <source>Stop editin&amp;g</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
-        <source>Alt+G</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
-        <source>Search for:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
-        <source>in</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
-        <source>Search</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
-        <source>Adva&amp;nced...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
-        <source>Alt+N</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
-        <source>New column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
-        <source>Delete column</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsAttributeTableDisplay</name>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
-        <source>select</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
-        <source>select and bring to top</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
-        <source>show only matching</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
-        <source>Search string parsing error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
-        <source>Search results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
-        <source>You&apos;ve supplied an empty search string.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
-        <source>Error during search</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
-        <source>Found %d matching features.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
-        <source>No matching features found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
-        <source>Name conflict</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
-        <source>The attribute could not be inserted. The name already exists in the table</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
-        <source>Stop editing</source>
-        <translation type="unfinished">Sluta redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsBookmarks</name>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
-        <source>Really Delete?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
-        <source>Are you sure you want to delete the </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source> bookmark?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
-        <source>Error deleting bookmark</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
-        <source>Failed to delete the </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
-        <source> bookmark from the database. The database said:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsBookmarksBase</name>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
-        <source>Geospatial Bookmarks</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
-        <source>Project</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
-        <source>Extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
-        <source>Id</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
-        <source>Close the dialog</source>
-        <translation type="unfinished">Stäng dialogrutan</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
-        <source>Delete the currently selected bookmark</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
-        <source>Delete</source>
-        <translation type="unfinished">Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
-        <source>Zoom to the currently selected bookmark</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
-        <source>Zoom To</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposer</name>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
-        <source> for read/write</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
-        <source>Error in Print</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
-        <source>Cannot seek</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
-        <source>Cannot overwrite BoundingBox</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
-        <source>Cannot find BoundingBox</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
-        <source>Cannot overwrite translate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
-        <source>Cannot find translate</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
-        <source>File IO Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
-        <source>Paper does not match</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
-        <source>The selected paper size does not match the composition size</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
-        <source>Big image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
-        <source>To create image </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
-        <source> requires circa </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
-        <source> MB of memory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
-        <source>Choose a filename to save the map image as</source>
-        <translation type="unfinished">Välj ett filnamn att spara kartbilden som</translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
-        <source>Choose a filename to save the map as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
-        <source>QGIS - print composer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
-        <source>Map 1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
-        <source>Couldn&apos;t open </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
-        <source>format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
-        <source>SVG warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
-        <source>Don&apos;t show this message again</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
-        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
-        <source>SVG Format</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
-        <source>MainWindow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
-        <source>General</source>
-        <translation type="unfinished">Allmänt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
-        <source>Composition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
-        <source>Item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
-        <source>&amp;Open Template ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
-        <source>Save Template &amp;As...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
-        <source>&amp;Print...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
-        <source>Zoom All</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
-        <source>Zoom In</source>
-        <translation type="unfinished">Zooma In</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
-        <source>Zoom Out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
-        <source>Add new map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
-        <source>Add new label</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
-        <source>Add new vect legend</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
-        <source>Select/Move item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
-        <source>Export as image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
-        <source>Export as SVG</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
-        <source>Add new scalebar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
-        <source>Refresh view</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
-        <source>Add Image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerLabelBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
-        <source>Label Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
-        <source>Box</source>
-        <translation type="unfinished">Låda</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
-        <source>Font</source>
-        <translation type="unfinished">Typsnitt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerMap</name>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
-        <source>Map %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
-        <source>Extent (calculate scale)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
-        <source>Scale (calculate extent)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
-        <source>Cache</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
-        <source>Render</source>
-        <translation type="unfinished">Rendera</translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
-        <source>Rectangle</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerMapBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
-        <source>Map options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
-        <source>&lt;b&gt;Map&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
-        <source>Set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
-        <source>Width</source>
-        <translation type="unfinished">Bredd</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
-        <source>Height</source>
-        <translation type="unfinished">Höjd</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
-        <source>Scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
-        <source>1 :</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
-        <source>Set map extent to current extent in QGIS map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
-        <source>Set Extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
-        <source>Line width scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
-        <source>Width of one unit in millimeters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
-        <source>Symbol scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
-        <source>Font size scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
-        <source>Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerPicture</name>
-    <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
-        <source>Cannot load picture.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
-        <source>Choose a file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
-        <source>Pictures (</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerPictureBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
-        <source>Picture Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
-        <source>Picture</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
-        <source>Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
-        <source>Angle</source>
-        <translation type="unfinished">Vinkel</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
-        <source>Width</source>
-        <translation type="unfinished">Bredd</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
-        <source>Height</source>
-        <translation type="unfinished">Höjd</translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerScalebarBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
-        <source>Barscale Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
-        <source>Segment size</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
-        <source>Number of segments</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
-        <source>Map units per scalebar unit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
-        <source>Unit label</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
-        <source>Map</source>
-        <translation type="unfinished">Karta</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
-        <source>Font</source>
-        <translation type="unfinished">Typsnitt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
-        <source>Line width</source>
-        <translation type="unfinished">Linjebredd</translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerVectorLegend</name>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
-        <source>Layers</source>
-        <translation type="unfinished">Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
-        <source>Group</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
-        <source>Combine selected layers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
-        <source>Cache</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
-        <source>Render</source>
-        <translation type="unfinished">Rendera</translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
-        <source>Rectangle</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
-        <source>Legend</source>
-        <translation type="unfinished">Teckenförklaring</translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposerVectorLegendBase</name>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
-        <source>Vector Legend Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
-        <source>Title</source>
-        <translation type="unfinished">Titel</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
-        <source>Map</source>
-        <translation type="unfinished">Karta</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
-        <source>Font</source>
-        <translation type="unfinished">Typsnitt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
-        <source>Box</source>
-        <translation type="unfinished">Låda</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
-        <source>Column 1</source>
-        <translation type="unfinished">Kolumn 1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
-        <source>Preview</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsComposition</name>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
-        <source>Custom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
-        <source>A5 (148x210 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
-        <source>A4 (210x297 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
-        <source>A3 (297x420 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
-        <source>A2 (420x594 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
-        <source>A1 (594x841 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
-        <source>A0 (841x1189 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
-        <source>B5 (176 x 250 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
-        <source>B4 (250 x 353 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
-        <source>B3 (353 x 500 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
-        <source>B2 (500 x 707 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
-        <source>B1 (707 x 1000 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
-        <source>B0 (1000 x 1414 mm)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
-        <source>Letter (8.5x11 inches)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
-        <source>Legal (8.5x14 inches)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
-        <source>Portrait</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
-        <source>Landscape</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
-        <source>Out of memory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
-        <source>Qgis is unable to resize the paper size due to insufficient memory.
- It is best that you avoid using the map composer until you restart qgis.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
-        <source>Label</source>
-        <translation type="unfinished">Etikett</translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
-        <source>Cannot load picture.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCompositionBase</name>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
-        <source>Composition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
-        <source>Paper</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
-        <source>Size</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
-        <source>Units</source>
-        <translation type="unfinished">Enheter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
-        <source>Width</source>
-        <translation type="unfinished">Bredd</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
-        <source>Height</source>
-        <translation type="unfinished">Höjd</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
-        <source>Orientation</source>
-        <translation type="unfinished">Rotation</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
-        <source>Resolution (dpi)</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsConnectionDialog</name>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
-        <source>Test connection</source>
-        <translation type="unfinished">Testa uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
-        <source>Connection to </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
-        <source> was successfull</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
-        <source>Connection failed - Check settings and try again </source>
-        <translation type="unfinished">Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
-        <source>General Interface Help:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsConnectionDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection Properties</source>
-        <translation type="obsolete">Uppkopplingsegenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
-        <source>Connection Information</source>
-        <translation>Uppkopplingsinformation</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
-        <source>Host</source>
-        <translation>Dator</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
-        <source>Database</source>
-        <translation>Databas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
-        <source>Username</source>
-        <translation>Användarnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
-        <source>Name of the new connection</source>
-        <translation>Namn för den nya uppkopplingen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
-        <source>Password</source>
-        <translation>Lösenord</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
-        <source>Test Connect</source>
-        <translation>Testa Uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
-        <source>Save Password</source>
-        <translation>Spara Lösenord</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
-        <source>Create a New PostGIS connection</source>
-        <translation>Skapa en ny PostGIS-uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
-        <source>Port</source>
-        <translation>Port</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
-        <source>5432</source>
-        <translation>5432</translation>
-    </message>
-</context>
-<context>
-    <name>QgsContColDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>continuous color</source>
-        <translation type="obsolete">kontinuerlig färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>color for minimum value</source>
-        <translation type="obsolete">färg för minsta värde</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>close</source>
-        <translation type="obsolete">stäng</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>apply</source>
-        <translation type="obsolete">utför</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>classification variable</source>
-        <translation type="obsolete">klassificeringsvariabel</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>color for maximum value</source>
-        <translation type="obsolete">färg för största värde</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display Name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Continuous color</source>
-        <translation type="obsolete">Kontinuerlig färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Classification Field:</source>
-        <translation type="obsolete">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Minimum Value:</source>
-        <translation type="obsolete">Minimalt Värde:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Maximum Value:</source>
-        <translation type="obsolete">Maximalt Värde:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline Width:</source>
-        <translation type="obsolete">Kantbredd:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-</context>
-<context>
-    <name>QgsContinuousColorDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
-        <source>Continuous color</source>
-        <translation type="unfinished">Kontinuerlig färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
-        <source>Maximum Value:</source>
-        <translation type="unfinished">Maximalt Värde:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
-        <source>Outline Width:</source>
-        <translation type="unfinished">Kantbredd:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
-        <source>Minimum Value:</source>
-        <translation type="unfinished">Minimalt Värde:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
-        <source>Classification Field:</source>
-        <translation type="unfinished">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
-        <source>Draw polygon outline</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCoordinateTransform</name>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
-        <source>Failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
-        <source>transform of</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
-        <source>with error: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
-        <source>The source spatial reference system (SRS) is not valid. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
-        <source>The coordinates can not be reprojected. The SRS is: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
-        <source>The destination spatial reference system (SRS) is not valid. </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCopyrightLabelPlugin</name>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
-        <source>&amp;Copyright Label</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
-        <source>Creates a copyright label that is displayed on the map canvas.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
-        <source>&amp;Decorations</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCopyrightLabelPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
-        <source>Copyright Label Plugin</source>
-        <translation type="unfinished">Copyrighttext-plugin</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
-        <source>Placement</source>
-        <translation type="unfinished">Placering</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
-        <source>Orientation</source>
-        <translation type="unfinished">Rotation</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
-        <source>Horizontal</source>
-        <translation type="unfinished">Horisontell</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
-        <source>Vertical</source>
-        <translation type="unfinished">Vertikal</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
-        <source>Enable Copyright Label</source>
-        <translation type="unfinished">Använd Copyrighttext</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message encoding="UTF-8">
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCustomProjectionDialog</name>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
-        <source>Delete Projection Definition?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
-        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
-        <source>Abort</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
-        <source>New</source>
-        <translation type="unfinished">Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
-        <source>QGIS Custom Projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
-        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
-        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
-        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
-        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
-        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
-        <source>This proj4 projection definition is not valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
-        <source>Northing and Easthing must be in decimal form.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
-        <source>Internal Error (source projection invalid?)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsCustomProjectionDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
-        <source>Custom Projection Definition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
-        <source>Define</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
-        <source>Parameters:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
-        <source>|&lt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
-        <source>&lt;</source>
-        <translation type="unfinished">&lt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
-        <source>1 of 1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
-        <source>&gt;</source>
-        <translation type="unfinished">&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
-        <source>&gt;|</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
-        <source>New</source>
-        <translation type="unfinished">Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
-        <source>Save</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
-        <source>Delete</source>
-        <translation type="unfinished">Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
-        <source>Name:</source>
-        <translation type="unfinished">Namn:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
-        <source>Test</source>
-        <translation type="unfinished">Testa</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
-        <source>Transform from WGS84 to the chosen projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
-        <source>Projected Corrdinate System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
-        <source>Geographic / WGS84</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
-        <source>East:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
-        <source>North:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
-        <source>Calculate</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDbSourceSelect</name>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
-        <source>Are you sure you want to remove the </source>
-        <translation>Är du säker på att du vill ta bort</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
-        <source> connection and all associated settings?</source>
-        <translation>uppkopplingen och alla tillhörande inställningar?</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>Confirm Delete</source>
-        <translation>Bekräfta Radering</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>Yes</source>
-        <translation>Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
-        <source>No</source>
-        <translation>Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
-        <source>Select Table</source>
-        <translation>Välj Tabell</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
-        <source>You must select a table in order to add a Layer.</source>
-        <translation>Du måste välja en tabell för att kunna lägga till ett Lager.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
-        <source>Password for </source>
-        <translation>Lösenord för</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
-        <source>Please enter your password:</source>
-        <translation>Skriv in ditt lösenord:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
-        <source>Connection failed</source>
-        <translation>Uppkopplingen avbröts</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.</source>
-        <translation type="obsolete">Upkopplingen till %1 på %2 avbröts. Antingen är databasen nere eller också är dina inställningar fel.%3Kontrollera ditt användarnamn och lösenord och försök igen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4%5</source>
-        <translation type="obsolete">Uppkopplingen till %1 på %2 misslyckades. Antingen är databasen nere eller så är dina inställningar felaktiga. %3Kontrollera ditt användarnamn och lösenord och försök igen. %4%5</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
-        <source>Sql</source>
-        <translation type="unfinished">Sql</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
-        <source>Point layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
-        <source>Multi-point layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
-        <source>Linestring layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
-        <source>Multi-linestring layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
-        <source>Polygon layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
-        <source>Multi-polygon layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
-        <source>Mixed geometry layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
-        <source>Geometry collection layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
-        <source>Waiting for layer type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
-        <source>Unknown layer type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
-        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
-        <source>Access to relation </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
-        <source> using sql;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
-        <source>
-has failed. The database said:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDbSourceSelectBase</name>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
-        <source>Add PostGIS Table(s)</source>
-        <translation>Lägg till PostGIS-tabell(er)</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
-        <source>Add</source>
-        <translation>Lägg till</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tables</source>
-        <translation type="obsolete">Tabeller</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection Information</source>
-        <translation type="obsolete">Uppkopplingsinformation</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
-        <source>Connect</source>
-        <translation>Koppla upp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
-        <source>New</source>
-        <translation>Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
-        <source>Edit</source>
-        <translation>Redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
-        <source>Delete</source>
-        <translation>Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
-        <source>PostgreSQL Connections</source>
-        <translation>PostgreSQL-uppkopplingar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Where Clause:</source>
-        <translation type="obsolete">Where-sats:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
-        <source>Tables:</source>
-        <translation>Tabeller:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
-        <source>Type</source>
-        <translation>Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
-        <source>Sql</source>
-        <translation>Sql</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
-        <source>Encoding:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDelAttrDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
-        <source>Delete Attributes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPlugin</name>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
-        <source>&amp;Add Delimited Text Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
-        <source>Add a delimited text file as a map layer. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
-        <source>The file must have a header row containing the field names. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
-        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
-        <source>&amp;Delimited text</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
-        <source>DelimitedTextLayer</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPluginGui</name>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
-        <source>No layer name</source>
-        <translation>Inget lagernamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
-        <source>Please enter a layer name before adding the layer to the map</source>
-        <translation>Ange ett lagernamn innan du lägger till lagret i kartan</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
-        <source>No delimiter</source>
-        <translation>Ingen separerare</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
-        <source>Please specify a delimiter prior to parsing the file</source>
-        <translation>Ange en separerare innan du läser filen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
-        <source>Choose a delimited text file to open</source>
-        <translation>Välj en separerad textfil att öppna</translation>
-    </message>
-</context>
-<context>
-    <name>QgsDelimitedTextPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
-        <source>Create a Layer from a Delimited Text File</source>
-        <translation>Skapa ett Lager från en Separerad Textfil</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Help</source>
-        <translation type="obsolete">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
-        <source>Help on using the plugin</source>
-        <translation>Hälp om användandet av detta plugin</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
-        <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Öppnar hjälpen för Separerad Text-pluginet i din inställda webläsare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Parse</source>
-        <translation type="obsolete">Läs</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
-        <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Läser rubrikraden och uppdaterar listorna för X- och Y-fälten</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
-        <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Läser rubrikraden i indatafilen och uppdaterar fälten i X- och Y-menyerna. Använd den här knappen för att uppdatera fältlistorna om du ändrar separeraren efter att ha valt den separerade textfilen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add Layer</source>
-        <translation type="obsolete">Lägg till Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
-        <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Lägg till lager med den separerare, fil, och x/y-fält som har angetts</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
-        <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Skapar ett lager med de angivna parametrarna och lägger till det till kartan. Fönstret fortsätter att vara öppet så att du kan lägga till fler lager.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
-        <source>Close the dialog</source>
-        <translation>Stäng dialogrutan</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
-        <source>Close the dialog without adding anything to the map.</source>
-        <translation>Stäng dialogrutan utan att lägga till något till kartan.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
-        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
-        <translation>&lt;p align=&quot;right&quot;&gt;X-fält&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
-        <source>Name of the field containing x values</source>
-        <translation>Namn på fältet som innehåller x-värden</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
-        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
-        <translation>Namn på fältet som innehåller x-värden. Välj ett fält från listan. Listan genereras genom att läsa rubrikraden i den separerade textfilen.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
-        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
-        <translation>&lt;p align=&quot;right&quot;&gt;Y-fält&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
-        <source>Name of the field containing y values</source>
-        <translation>Namn på fältet som innehåller y-värden</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
-        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
-        <translation>Namn på fältet som innehåller y-värden. Välj ett fält från listan. Listan genereras genom att läsa rubrikraden i den separerade textfilen.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select the file containing delimited text with lat/lon coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimeter box to specify what the delimeter is for your file (e.g. space, commar or tab). Note this box accepts regex entries so use \t for tab and so on. After choosing a delimeter, press the parse button to see what field names have been detected in your file.&lt;/p&gt;
-&lt;p&gt;Use the X and Y fields to specify which columns represent latitude and longitude..&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:18pt;font-weight:600&quot;&gt;Beskrinving&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Välj en fil som innehåller separerad text med lat/lon-koordinater som du vill använda som ett punktlager, så gör detta plugin jobbet åt dig! &lt;/p&gt;
-&lt;p&gt;Använd lagernamn-rutan för att ange namnet på det nya lagret. Använd separerar-rutan för att ange separeraren för din fil (t.ex. blanksteg, komma eller tab). Observera att denna ruta accepterar reguljära uttryck, så använd \t för tab osv. Efter att du har valt en separerare, tryck på läs-knappen för att se vilka fältnamn som har upptäckts i din fil. &lt;/p&gt;
-&lt;p&gt;Använd X- och Y-menyerna för att ange vilka kolumner som representerar latitud och longitud..&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
-        <source>Layer name</source>
-        <translation>Lagernamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
-        <source>Name to display in the map legend</source>
-        <translation>Namn som kommer att visas i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
-        <source>Name displayed in the map legend</source>
-        <translation>Namn som kommer att visas i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
-        <source>Delimiter</source>
-        <translation>Separerare</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
-        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
-        <translation>Separerare som ska användas för att dela upp textfilen i fält. Separeraren kan vara ett eller flera tecken.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
-        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
-        <translation>Separerare som ska användas för att dela upp textfilen i fält. Separeraren kan vara ett eller flera tecken.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
-        <source>Delimited Text Layer</source>
-        <translation>Separerad Text-Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
-        <source>Delimited text file</source>
-        <translation>Separerad textfil</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
-        <source>Full path to the delimited text file</source>
-        <translation>Hela sökvägen till den separerade textfilen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
-        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
-        <translation>Hela sökvägen till den separerade textfilen. För att kunna läsa fälten i filen så måste separeraren anges innan filnamnet. Använd knappen till höger om detta fälr för att välja indatafil.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
-        <source>Browse to find the delimited text file to be processed</source>
-        <translation>Leta efter den separerade textfilen som ska användas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
-        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
-        <translation>Använd den har knappen för att leta efter den separerade textfilen. Denna knapp kommer inte att aktiveras förrän en separerare har skrivits in i &lt;i&gt;Separerare&lt;/i&gt;-rutan. När en fil har valts så kommer X- och Y-menyerna att fyllas med fält från den separerade textfilen.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
-        <source>Alt+H</source>
-        <translation>Alt+H</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
-        <source>&amp;Parse</source>
-        <translation>&amp;Parsa</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
-        <source>Alt+P</source>
-        <translation>Alt+P</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
-        <source>&amp;Add Layer</source>
-        <translation>&amp;Lägg Till Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
-        <source>Alt+A</source>
-        <translation>Alt+A</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
-        <source>Alt+C</source>
-        <translation>Alt+C</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
-        <source>Sample text</source>
-        <translation>Exempeltext</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="260"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, commar or tab). Note this box accepts regular expressions so use \t for tab and so on. After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Välj en separerad textfil med x- och y-koordinater som du vill använda som ett punktlager så gör det här pluginet jobbet åt dig! &lt;/p&gt;
-&lt;p&gt;Använd lagernamnsfältet för att ange namnet i teckenförklaringen för det nya lagret. Använd separerarfältet för att ange vilken separerare som avänds i din fil (t.ex. mellanslag, komma eller tab). Notera att detta fält accepterar reguljära uttryck, så använd \t för tab och så vidare. Efter att du har valt en separerare kan du trycka på knappen &quot;Parsa&quot; och välja kolumnerna som innehåller x- och y-värdena för lagret.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDelimitedTextProvider</name>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
-        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDlgPgBufferBase</name>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
-        <source>Buffer features</source>
-        <translation>Spara objekt i buffer</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Buffer Settings:</source>
-        <translation type="obsolete">Bufferinställningar:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
-        <source>Buffer distance in map units:</source>
-        <translation>Bufferavstånd i kartenheter:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
-        <source>Table name for the buffered layer:</source>
-        <translation>Tabellnamn för det buffrade lagret:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
-        <source>Create unique object id</source>
-        <translation>Skapa unikt objekt-ID</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
-        <source>public</source>
-        <translation>publik</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
-        <source>Geometry column:</source>
-        <translation>Geometrikolumn:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
-        <source>Spatial reference ID:</source>
-        <translation>Rumsreferens-ID:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
-        <source>Unique field to use as feature id:</source>
-        <translation>Unikt fält att använda som objekt-ID:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
-        <source>Schema:</source>
-        <translation>Schema:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
-        <source>Add the buffered layer to the map?</source>
-        <translation>Lägg till det buffrade lagret till kartan?</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
-        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
-        <translation>&lt;h2&gt;Buffra objekt i lager: &lt;/h2&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
-        <source>Parameters</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsDlgVectorLayerProperties</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Single Symbol</source>
-        <translation type="obsolete">Enkel Symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Graduated Symbol</source>
-        <translation type="obsolete">Graderad Symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Continuous Color</source>
-        <translation type="obsolete">Kontinuerlig Färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Single Marker</source>
-        <translation type="obsolete">Enkel Markör</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Graduated Marker</source>
-        <translation type="obsolete">Graderad Markör</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Unique Value</source>
-        <translation type="obsolete">Unik Symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Unique Value Marker</source>
-        <translation type="obsolete">Unik Markör</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>The source of the data (path name or database connection information)</source>
-        <translation type="obsolete">Källan för datan (information om sökväg eller databasuppkoppling)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
-        <translation type="obsolete">Denna knapp öppnar frågebyggaren för PostgreSQL och låter dig skapa en delmängd av objekt som du kan visa i kartvyn istället för att visa alla objekt i lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
-        <translation type="obsolete">Frågan som används för att begränsa objekten i lagret visas här. Detta kan just nu enbart användas för PostgreSQL-lager. För att ange eller ändra frågan, klicka på Frågebyggarknappen</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Geometry type of the features in this layer</source>
-        <translation type="obsolete">Geometrityp för objekt i det här lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>The number of features in this layer</source>
-        <translation type="obsolete">Antal objekt i det här lagret</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>In order for QGIS to support SVG markers under Windows, we need to build QGIS</source>
-        <translation type="obsolete">För att QGIS ska kunna använda SVG-markörer i Windows så måste vi bygga QGIS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> using the commercial version of Qt. As this project is developed by volunteers</source>
-        <translation type="obsolete">med den kommersiella versionen av Qt. Eftersom det här projektet utvecklas av frivilliga</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> donating their time, we don&apos;t have the financial resources to purchase Qt</source>
-        <translation type="obsolete">som donerar sin tid, så har vi inte de finansiella resurserna för att köpa den</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> commercial.  If you would like to help us, please visit the QGIS sourceforge</source>
-        <translation type="obsolete">kommersiella versionen av Qt. Om du vill hjälpa oss, besök QGIS&apos; SourceForge-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source> home page to make a donation</source>
-        <translation type="obsolete">websida för att göra en donation</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No SVG Support</source>
-        <translation type="obsolete">Inget SVG-stöd</translation>
-    </message>
-</context>
-<context>
-    <name>QgsDlgVectorLayerPropertiesBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer Properties</source>
-        <translation type="obsolete">Lageregenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Apply</source>
-        <translation type="obsolete">Verkställ</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>General</source>
-        <translation type="obsolete">Allmänt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer source</source>
-        <translation type="obsolete">Lagerkälla</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel2</source>
-        <translation type="obsolete">TextEtikett2</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fields</source>
-        <translation type="obsolete">Fält</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Field</source>
-        <translation type="obsolete">Fält</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Type</source>
-        <translation type="obsolete">Typ</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Length</source>
-        <translation type="obsolete">Längd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Precision</source>
-        <translation type="obsolete">Precision</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Features</source>
-        <translation type="obsolete">Objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Count</source>
-        <translation type="obsolete">Antal</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>count</source>
-        <translation type="obsolete">antal</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Geometry type</source>
-        <translation type="obsolete">Geometrityp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>geom</source>
-        <translation type="obsolete">geom</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Upper right</source>
-        <translation type="obsolete">Övre högra</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>ur</source>
-        <translation type="obsolete">öh</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>ll</source>
-        <translation type="obsolete">ll</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Lower left</source>
-        <translation type="obsolete">Nedre vänstra</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Legend</source>
-        <translation type="obsolete">Teckenförklaring</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Legend type:</source>
-        <translation type="obsolete">Typ av teckenförklaring:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Labels</source>
-        <translation type="obsolete">Etiketter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display labels</source>
-        <translation type="obsolete">Visa etiketter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Help</source>
-        <translation type="obsolete">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>OK</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Symbology</source>
-        <translation type="obsolete">Symbologi</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Visibility</source>
-        <translation type="obsolete">Synlighet</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Use scale dependent rendering</source>
-        <translation type="obsolete">Använd skalberoende rendering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Maximum 1:</source>
-        <translation type="obsolete">Maximum 1:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Maximum scale at which this layer will be displayed. </source>
-        <translation type="obsolete">Största skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Minimum 1:</source>
-        <translation type="obsolete">Minimum 1:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Minimum scale at which this layer will be displayed. </source>
-        <translation type="obsolete">Minsta skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display field</source>
-        <translation type="obsolete">Titelfält</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display field for the Identify Results dialog box</source>
-        <translation type="obsolete">Titelfält för dialogrutan Identifiera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This sets the display field for the Identify Results dialog box</source>
-        <translation type="obsolete">Detta anger titelfältet för dialogrutan Identifiera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
-        <translation type="obsolete">Använd detta fält för att ange vilket attribut som placeras högst upp i dialogrutan Identifiera.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Subset:</source>
-        <translation type="obsolete">Delmängd:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Query Builder</source>
-        <translation type="obsolete">Frågebyggare</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Metadata</source>
-        <translation type="obsolete">Metadata</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Actions</source>
-        <translation type="obsolete">Kommandon</translation>
-    </message>
-</context>
-<context>
-    <name>QgsEditReservedWordsBase</name>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
-        <source>Edit Reserved Words</source>
-        <translation>Redigera Reserverade Ord</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
-        <source>Status</source>
-        <translation>Status</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Column name</source>
-        <translation type="obsolete">Kolumnnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
-        <source>Index</source>
-        <translation>Index</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used. You may also change any column name if desired.</source>
-        <translation type="obsolete">Denna shapefile innehåller reserverade ord. Dessa kan påverka importeringen till PostgreSQL. Redigera kolumnnamnen så att inga av de reserverade orden listade till höger används. Du kan också ändra andra kolumnnamn om du vill.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
-        <source>Reserved Words</source>
-        <translation>Reserverade Ord</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
-        <source>Column Name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsEditReservedWordsDialog</name>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
-        <source>Status</source>
-        <translation type="unfinished">Status</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
-        <source>Column Name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
-        <source>Index</source>
-        <translation type="unfinished">Index</translation>
-    </message>
-</context>
-<context>
-    <name>QgsEncodingFileDialog</name>
-    <message>
-        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
-        <source>Encoding:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsFillStyleWidgetBase</name>
-    <message>
-        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
-        <source>Form1</source>
-        <translation type="unfinished">Formulär1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
-        <source>Fill Style</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
-        <source>col</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
-        <source>Colour:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
-        <source>PolyStyleWidget</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPSDeviceDialog</name>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
-        <source>New device %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
-        <source>Are you sure?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
-        <source>Are you sure that you want to delete this device?</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPSDeviceDialogBase</name>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
-        <source>GPS Device Editor</source>
-        <translation>GPS-enhetsredigerare</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
-        <source>Device name:</source>
-        <translation>Enhetsnamn:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Download command:</source>
-        <translation type="obsolete">Nerladdningskommando:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This is the command that will be used to download GPS data from the device. %in and %out will be replaced by the port and the GPX filename, respectively.</source>
-        <translation type="obsolete">Det här är det kommando som kommer att användas för att ladda ner GPS-data från enheten. %in och %out kommer att ersättas med porten och GPX-filens namn.</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
-        <source>This is the name of the device as it will appear in the lists</source>
-        <translation>Detta är namnet på enheten så som det kommer att visas i listorna</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>This is the command that will be used to upload GPS data to the device. %in and %out will be replaced by the GPX filename and the port, respectively.</source>
-        <translation type="obsolete">Det här är det kommando som kommer att användas för att ladda upp GPS-data till enheten. %in och %out kommer att ersättas med GPX-filens namn och porten.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Upload command:</source>
-        <translation type="obsolete">Uppladdningskommando:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;/p&gt;
-&lt;i&gt;%babel&lt;/i&gt; - the path to GPSBabel&lt;br&gt;
-&lt;i&gt;%type&lt;/i&gt; - the flag for the feature type that is being transferred (-w, -r or -t)&lt;br&gt;
-&lt;i&gt;%in&lt;/i&gt; - the GPX filename when uploading or the port when downloading&lt;br&gt;
-&lt;i&gt;%out&lt;/i&gt; - the port when uploading or the GPX filename when downloading</source>
-        <translation type="obsolete">&lt;p&gt;I nerladdnings- och uppladdningskommandona kan det finnas speciella ord som kommer att bytas ut av QGIS när kommandona körs. Dessa ord är:&lt;/p&gt;
-&lt;i&gt;%babel&lt;/i&gt; - sökvägen till GPSBabel&lt;br&gt;
-&lt;i&gt;%type&lt;/i&gt; - flaggan för objekttypen som överförs (-w, -r eller -t)&lt;br&gt;
-&lt;i&gt;%in&lt;/i&gt; - GPX-filens namn vid uppladdning eller portens namn vid nerladdning&lt;br&gt;
-&lt;i&gt;%out&lt;/i&gt; - portens namn vid uppladdning eller GPX-filens namn vid nerladdning</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
-        <source>Update device</source>
-        <translation>Uppdatera enhet</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
-        <source>Delete device</source>
-        <translation>Radera enhet</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
-        <source>New device</source>
-        <translation>Ny enhet</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
-        <source>Commands</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
-        <source>Track download:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
-        <source>Route upload:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
-        <source>Waypoint download:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
-        <source>The command that is used to download routes from the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
-        <source>Route download:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
-        <source>The command that is used to upload waypoints to the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
-        <source>Track upload:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
-        <source>The command that is used to download tracks from the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
-        <source>The command that is used to upload routes to the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
-        <source>The command that is used to download waypoints from the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
-        <source>The command that is used to upload tracks to the device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
-        <source>Waypoint upload:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPSPlugin</name>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
-        <source>&amp;Gps Tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
-        <source>&amp;Create new GPX layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
-        <source>Creates a new GPX layer and displays it on the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
-        <source>&amp;Gps</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
-        <source>Save new GPX file as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
-        <source>GPS eXchange file (*.gpx)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
-        <source>Could not create file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
-        <source>Unable to create a GPX file with the given name. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
-        <source>Try again with another name or in another </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
-        <source>directory.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
-        <source>GPX Loader</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
-        <source>Unable to read the selected file.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
-        <source>Please reselect a valid file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
-        <source>Could not start process</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
-        <source>Could not start GPSBabel!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
-        <source>Importing data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
-        <source>Could not import data from %1!
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
-        <source>Error importing data</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
-        <source>Not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
-        <source>This device does not support downloading </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
-        <source>of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
-        <source>Downloading data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
-        <source>Could not download data from GPS!
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
-        <source>Error downloading data</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
-        <source>This device does not support uploading of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
-        <source>Uploading data...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
-        <source>Error while uploading data to GPS!
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
-        <source>Error uploading data</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPSPluginGui</name>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
-        <source>Choose a filename to save under</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
-        <source>GPS eXchange format (*.gpx)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
-        <source>Select GPX file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
-        <source>Select file and format to import</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPSPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
-        <source>GPS Tools</source>
-        <translation>GPS-Verktyg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
-        <source>Load GPX file</source>
-        <translation>Ladda GPX-fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX is the &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/p&gt;
-&lt;p&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;GPX står för &lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;GPS eXchange file format&lt;/a&gt; och används för att lagra information om waypoints, rutter och spår.&lt;/p&gt;
-&lt;p&gt;Välj en GPX-fil och typen av objekt som du vill ladda.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
-        <source>File:</source>
-        <translation>Fil:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
-        <source>Feature types:</source>
-        <translation>Objekttyper:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
-        <source>Waypoints</source>
-        <translation>Waypoints</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
-        <source>Routes</source>
-        <translation>Rutter</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
-        <source>Tracks</source>
-        <translation>Spår</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
-        <source>Import other file</source>
-        <translation>Importera annan fil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS can only load GPX files by itself, but many other formats 
-can be converted to GPX using GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). This requires that you have GPSBabel installed where 
-QGIS can find it.&lt;/p&gt;
-&lt;p&gt;Select a GPS file format and the file that you want to import, the feature type 
-that you want to use, a GPX filename that you want to save the converted file as, 
-and a name for the new layer. All file formats can not store waypoints, routes, and 
-tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;QGIS kan bara ladda GPX-filer, men många andra filformat kan
-konverteras till GPX med GPSBabel  (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;
-http://gpsbabel.sf.net&lt;/a&gt;). Det kräver att du har GPSBabel installerat någonstans
-där QGIS kan hitta det.&lt;/p&gt;
-&lt;p&gt;Välj ett filformat för GPS-data som du vill importera från, typen av objekt som
-du vill använda, ett filnamn som du vill spara den konverterade GPX-filen som och
-ett namn för det nya lagret. Alla filformat kan inte lagra waypoints, rutter
-och spår, så en del objekttyper är inte tillgängliga för alla filformat.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
-        <source>File to import:</source>
-        <translation>Fil att importera:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
-        <source>Feature type:</source>
-        <translation>Objekttyp:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
-        <source>GPX output file:</source>
-        <translation>GPX-fil (utdata):</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
-        <source>Layer name:</source>
-        <translation>Lagernamn:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
-        <source>Download from GPS</source>
-        <translation>Hämta från GPS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This tool will help you download data from a GPS device. Choose your 
-GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, 
-and the GPX file where you want to store the data. If your device isn&apos;t listed, or if 
-you want to change some settings, you can also edit the devices.&lt;/p&gt;
-&lt;p&gt;This tool uses the program GPSBabel 
-(&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) to transfer the data. If you 
-don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Detta verktyg hjälper dig att ladda ner data från en GPS-enhet. Välj din enhet, porten 
-som den är kopplad till, objekttypen som du vill ladda ner, ett namn för ditt nya lager 
-och en GPX-fil där du vill lagra datan. Om din enhet inte finns med i listan eller om 
-du vill ändra några inställningar så kan du också redigera enheterna.&lt;/p&gt;
-&lt;p&gt;Det här verktyget använder GPSBabel 
-(&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) för att överföra data. Om du 
-inte har GPSBabel installerat där QGIS kan hitta det så kommer inte det här verktyget att fungera.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
-        <source>Edit devices</source>
-        <translation>Redigera enheter</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
-        <source>GPS device:</source>
-        <translation>GPS-enhet:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
-        <source>Output file:</source>
-        <translation>Utdatafil:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
-        <source>Port:</source>
-        <translation>Port:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
-        <source>Upload to GPS</source>
-        <translation>Skicka till GPS</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;This tool will help you upload data from a GPX layer to a GPS device. 
-Choose the layer you want to upload, the device you want to upload it to, and the port 
-your device is connected to. 
-If your device isn&apos;t listed, or if you want to change some settings, you can also 
-edit the devices.&lt;/p&gt;
-&lt;p&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) 
-to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Detta verktyg hjälper dig att ladda upp data till en GPS-enhet. Välj lagret som su vill ladda upp, 
-enheten som du vill ladda upp det till och porten som din enhet är kopplad till. 
-Om din enhet inte finns med i listan eller om 
-du vill ändra några inställningar så kan du också redigera enheterna.&lt;/p&gt;
-&lt;p&gt;Det här verktyget använder GPSBabel 
-(&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;http://gpsbabel.sf.net&lt;/a&gt;) för att överföra data. Om du 
-inte har GPSBabel installerat där QGIS kan hitta det så kommer inte det här verktyget att fungera.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
-        <source>Data layer:</source>
-        <translation>Datalager:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
-        <source>Alt+O</source>
-        <translation>Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
-        <source>Alt+C</source>
-        <translation>Alt+A</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGPXProvider</name>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
-        <source>Bad URI - you need to specify the feature type.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
-        <source>GPS eXchange file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
-        <source>Digitized in QGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeomTypeDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeomTypeDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Select Geometry type</source>
-        <translation type="obsolete">Välj Geometrityp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
-        <source>Type</source>
-        <translation>Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
-        <source>Point</source>
-        <translation>Punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
-        <source>Line</source>
-        <translation>Linje</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
-        <source>Polygon</source>
-        <translation>Polygon</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
-        <source>New Vector Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
-        <source>File Format:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
-        <source>Remove</source>
-        <translation type="unfinished">Ta bort</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
-        <source>Attributes:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
-        <source>Add</source>
-        <translation type="unfinished">Lägg till</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
-        <source>Column 1</source>
-        <translation type="unfinished">Kolumn 1</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeorefPlugin</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
-        <source>&amp;Georeferencer</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeorefPluginGui</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
-        <source>Choose a raster file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
-        <source>Raster files (*.*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
-        <source>The selected file is not a valid raster file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
-        <source>You need to specify a file to georeference first.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
-        <source>World file exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
-        <source>&lt;p&gt;The selected file already seems to have a </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
-        <source>world file! Do you want to replace it with the </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
-        <source>new world file?&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeorefPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
-        <source>Georeferencer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
-        <source>Enter world coordinates</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
-        <source>Raster file:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGeorefWarpOptionsDialogBase</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
-        <source>Warp options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
-        <source>Resampling method:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
-        <source>Nearest neighbour</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
-        <source>Linear</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
-        <source>Cubic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
-        <source>Use 0 for transparency when needed</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraMaDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>graduated Marker</source>
-        <translation type="obsolete">graderad Markör</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Mode:</source>
-        <translation type="obsolete">Läge:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Classification Field:</source>
-        <translation type="obsolete">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Number of Classes:</source>
-        <translation type="obsolete">Antal Klasser:</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraMaExtensionWidget</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Lower</source>
-        <translation type="obsolete">Nedre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Upper</source>
-        <translation type="obsolete">Övre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Label</source>
-        <translation type="obsolete">Etikett</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Image</source>
-        <translation type="obsolete">Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale
-Factor</source>
-        <translation type="obsolete">Skal-
-Faktor</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraSyDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>graduated Symbol</source>
-        <translation type="obsolete">graderad symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>apply</source>
-        <translation type="obsolete">verkställ</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>mode</source>
-        <translation type="obsolete">läge</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>classification variable</source>
-        <translation type="obsolete">klassificeringsvariabel</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>close</source>
-        <translation type="obsolete">stäng</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>number of classes</source>
-        <translation type="obsolete">antal klasser</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display Name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Number of Classes:</source>
-        <translation type="obsolete">Antal Klasser:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Classification Field:</source>
-        <translation type="obsolete">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Mode:</source>
-        <translation type="obsolete">Läge:</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraSyExtensionWidget</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>lower</source>
-        <translation type="obsolete">undre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>upper</source>
-        <translation type="obsolete">övre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>label</source>
-        <translation type="obsolete">beteckning</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>outl_color</source>
-        <translation type="obsolete">kant_färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>outl_style</source>
-        <translation type="obsolete">kant_stil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>outl_width</source>
-        <translation type="obsolete">kant_bredd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>fill_color</source>
-        <translation type="obsolete">fyll_färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>fill_pattern</source>
-        <translation type="obsolete">fyll_mönster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SolidLine</source>
-        <translation type="obsolete">HelLinje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SolidPattern</source>
-        <translation type="obsolete">HeltMönster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Lower</source>
-        <translation type="obsolete">Nedre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Upper</source>
-        <translation type="obsolete">Övre</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Label</source>
-        <translation type="obsolete">Etikett</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline
-Color</source>
-        <translation type="obsolete">Kantfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline
-Style</source>
-        <translation type="obsolete">Kantstil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline
-Width</source>
-        <translation type="obsolete">Kantbredd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill
-Color</source>
-        <translation type="obsolete">Fyllningsfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill
-Pattern</source>
-        <translation type="obsolete">Fyllningsmönster</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGraduatedSymbolDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
-        <source>graduated Symbol</source>
-        <translation type="unfinished">graderad symbol</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
-        <source>Classification Field:</source>
-        <translation type="unfinished">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
-        <source>Mode:</source>
-        <translation type="unfinished">Läge:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
-        <source>Number of Classes:</source>
-        <translation type="unfinished">Antal Klasser:</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassAttributes</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
-        <source>Column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
-        <source>Value</source>
-        <translation type="unfinished">Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
-        <source>Field</source>
-        <translation type="unfinished">Fält</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
-        <source>ERROR</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassAttributesBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
-        <source>GRASS Attributes</source>
-        <translation>GRASS-Attribut</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
-        <source>Tab 1</source>
-        <translation>Tab 1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
-        <source>result</source>
-        <translation>resultat</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
-        <source>Update</source>
-        <translation>Uppdatera</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
-        <source>Update database record</source>
-        <translation>Uppdatera databas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
-        <source>New</source>
-        <translation>Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
-        <source>Add new category using settings in GRASS Edit toolbox</source>
-        <translation>Lägg till ny kategory med inställningarna i GRASS</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
-        <source>Delete</source>
-        <translation>Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
-        <source>Delete selected category</source>
-        <translation>Lägg till ny kategory med inställningarna i GRASS-Redigering</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassBrowser</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
-        <source>Tools</source>
-        <translation type="unfinished">Verktyg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
-        <source>Add selected map to canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
-        <source>Copy selected map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
-        <source>Rename selected map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
-        <source>Delete selected map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
-        <source>Set current region to selected map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
-        <source>Refresh</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
-        <source>Cannot copy map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
-        <source>&lt;br&gt;command: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
-        <source>Cannot rename map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
-        <source>Delete map &lt;b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
-        <source>Cannot delete map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
-        <source>Cannot write new region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
-        <source>New name</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassEdit</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
-        <source>Edit tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
-        <source>New point</source>
-        <translation type="unfinished">Ny punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
-        <source>New line</source>
-        <translation type="unfinished">Ny rad</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
-        <source>New boundary</source>
-        <translation type="unfinished">Ny gräns</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
-        <source>New centroid</source>
-        <translation type="unfinished">Ny centroid</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
-        <source>Move vertex</source>
-        <translation type="unfinished">Flytta nod</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
-        <source>Add vertex</source>
-        <translation type="unfinished">Lägg till nod</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
-        <source>Delete vertex</source>
-        <translation type="unfinished">Radera nod</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
-        <source>Move element</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
-        <source>Split line</source>
-        <translation type="unfinished">Dela linje</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
-        <source>Delete element</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
-        <source>Edit attributes</source>
-        <translation type="unfinished">Redigera attribut</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
-        <source>Left: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
-        <source>Middle: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
-        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
-        <source>Cannot open vector for update.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
-        <source>Info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
-        <source>The table was created</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
-        <source>Tool not yet implemented.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
-        <source>Cannot check orphan record: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
-        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
-        <source>Cannot delete orphan record: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
-        <source>Cannot describe table for field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
-        <source>Background</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
-        <source>Highlight</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
-        <source>Dynamic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
-        <source>Point</source>
-        <translation type="unfinished">Punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
-        <source>Line</source>
-        <translation type="unfinished">Linje</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
-        <source>Boundary (no area)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
-        <source>Boundary (1 area)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
-        <source>Boundary (2 areas)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
-        <source>Centroid (in area)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
-        <source>Centroid (outside area)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
-        <source>Centroid (duplicate in area)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
-        <source>Node (1 line)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
-        <source>Node (2 lines)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
-        <source>Disp</source>
-        <comment>Column title</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
-        <source>Color</source>
-        <comment>Column title</comment>
-        <translation type="unfinished">Färg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
-        <source>Type</source>
-        <comment>Column title</comment>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
-        <source>Index</source>
-        <comment>Column title</comment>
-        <translation type="unfinished">Index</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
-        <source>Column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
-        <source>Length</source>
-        <translation type="unfinished">Längd</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
-        <source>Next not used</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
-        <source>Manual entry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
-        <source>No category</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
-        <source>Right: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassEditBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
-        <source>GRASS Edit</source>
-        <translation>GRASS-Redigering</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
-        <source>Category</source>
-        <translation>Kategori</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
-        <source>Mode</source>
-        <translation>Läge</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
-        <source>Field (layer)</source>
-        <translation>Fält (lager)</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
-        <source>Settings</source>
-        <translation>Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
-        <source>Snapping in screen pixels</source>
-        <translation>Snappning i skärmpixlar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
-        <source>Symbology</source>
-        <translation>Symbologi</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
-        <source>Column 1</source>
-        <translation>Kolumn 1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Item</source>
-        <translation type="obsolete">Ny Post</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
-        <source>Table</source>
-        <translation>Tabell</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
-        <source>Add Column</source>
-        <translation>Lägg Till Kolumn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
-        <source>Create / Alter Table</source>
-        <translation>Skapa / Ändra Tabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tools</source>
-        <translation type="obsolete">Verktyg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Toolbar</source>
-        <translation type="obsolete">Verktygsrad</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New line</source>
-        <translation type="obsolete">Ny rad</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F2</source>
-        <translation type="obsolete">F2</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New point</source>
-        <translation type="obsolete">Ny punkt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F1</source>
-        <translation type="obsolete">F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New boundary</source>
-        <translation type="obsolete">Ny gräns</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F3</source>
-        <translation type="obsolete">F3</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New centroid</source>
-        <translation type="obsolete">Ny centroid</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F4</source>
-        <translation type="obsolete">F4</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Move vertex</source>
-        <translation type="obsolete">Flytta nod</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F5</source>
-        <translation type="obsolete">F5</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add vertex</source>
-        <translation type="obsolete">Lägg till nod</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F6</source>
-        <translation type="obsolete">F6</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Delete vertex</source>
-        <translation type="obsolete">Radera nod</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F7</source>
-        <translation type="obsolete">F7</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Split line</source>
-        <translation type="obsolete">Dela linje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F10</source>
-        <translation type="obsolete">F10</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Move line</source>
-        <translation type="obsolete">Flytta linje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F9</source>
-        <translation type="obsolete">F9</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Delete line</source>
-        <translation type="obsolete">Radera linje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F11</source>
-        <translation type="obsolete">F11</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Edit categories</source>
-        <translation type="obsolete">Redigera kategorier</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Edit attributes</source>
-        <translation type="obsolete">Redigera attribut</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
-        <source>Line width</source>
-        <translation type="unfinished">Linjebredd</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
-        <source>Marker size</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassElementDialog</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
-        <source>Ok</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
-        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
-        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
-        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
-        <source>Overwrite</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassMapcalc</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
-        <source>Mapcalc tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
-        <source>Add map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
-        <source>Add constant value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
-        <source>Add operator or function</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
-        <source>Add connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
-        <source>Select item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
-        <source>Delete selected item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
-        <source>Open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
-        <source>Save</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
-        <source>Save as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
-        <source>Addition</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
-        <source>Subtraction</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
-        <source>Multiplication</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
-        <source>Division</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
-        <source>Modulus</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
-        <source>Exponentiation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
-        <source>Equal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
-        <source>Not equal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
-        <source>Greater than</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
-        <source>Greater than or equal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
-        <source>Less than</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
-        <source>Less than or equal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
-        <source>And</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
-        <source>Or</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
-        <source>Absolute value of x</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
-        <source>Inverse tangent of x (result is in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
-        <source>Inverse tangent of y/x (result is in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
-        <source>Current column of moving window (starts with 1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
-        <source>Cosine of x (x is in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
-        <source>Convert x to double-precision floating point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
-        <source>Current east-west resolution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
-        <source>Exponential function of x</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
-        <source>x to the power y</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
-        <source>Convert x to single-precision floating point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
-        <source>Decision: 1 if x not zero, 0 otherwise</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
-        <source>Decision: a if x not zero, 0 otherwise</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
-        <source>Decision: a if x not zero, b otherwise</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
-        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
-        <source>Convert x to integer [ truncates ]</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
-        <source>Check if x = NULL</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
-        <source>Natural log of x</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
-        <source>Log of x base b</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
-        <source>Largest value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
-        <source>Median value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
-        <source>Smallest value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
-        <source>Mode value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
-        <source>1 if x is zero, 0 otherwise</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
-        <source>Current north-south resolution</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
-        <source>NULL value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
-        <source>Random value between a and b</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
-        <source>Round x to nearest integer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
-        <source>Current row of moving window (Starts with 1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
-        <source>Sine of x (x is in degrees)</source>
-        <comment>sin(x)</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
-        <source>Square root of x</source>
-        <comment>sqrt(x)</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
-        <source>Tangent of x (x is in degrees)</source>
-        <comment>tan(x)</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
-        <source>Current x-coordinate of moving window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
-        <source>Current y-coordinate of moving window</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
-        <source>Cannot get current region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
-        <source>Cannot check region of map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
-        <source>Cannot get region of map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
-        <source>No GRASS raster maps currently in QGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
-        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
-        <source>New mapcalc</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
-        <source>Enter new mapcalc name:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
-        <source>Enter vector name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
-        <source>The file already exists. Overwrite? </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
-        <source>Save mapcalc</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
-        <source>File name empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
-        <source>Cannot open mapcalc file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
-        <source>The mapcalc schema (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
-        <source>) not found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
-        <source>Cannot open mapcalc schema (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
-        <source>Cannot read mapcalc schema (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
-        <source>
-at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
-        <source>Output</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassMapcalcBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
-        <source>MainWindow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
-        <source>Output</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModule</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
-        <source>Run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
-        <source>Stop</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
-        <source>Module</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
-        <source>The module file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
-        <source>) not found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
-        <source>Cannot open module file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
-        <source>)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
-        <source>Cannot read module file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
-        <source>):
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
-        <source>
-at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
-        <source>Module </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
-        <source> not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
-        <source>Cannot find man page </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
-        <source>Not available, decription not found (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
-        <source>Not available, cannot open description (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
-        <source>Not available, incorrect description (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
-        <source>Cannot get input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
-        <source>Cannot find module </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
-        <source>Cannot start module: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
-        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
-        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
-        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
-        <source>GRASS Module</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
-        <source>Options</source>
-        <translation type="unfinished">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
-        <source>Output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
-        <source>Manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
-        <source>Run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
-        <source>View output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
-        <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
-        <source>TextLabel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleField</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
-        <source>Attribute field</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleFile</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
-        <source>File</source>
-        <translation type="unfinished">Arkiv</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
-        <source>:&amp;nbsp;missing value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
-        <source>:&amp;nbsp;directory does not exist</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleGdalInput</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
-        <source>Cannot find layeroption </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
-        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
-        <source>:&amp;nbsp;no input</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleInput</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
-        <source>Cannot find typeoption </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
-        <source>Cannot find values for typeoption </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
-        <source>Cannot find layeroption </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
-        <source>GRASS element </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
-        <source> not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
-        <source>Use region of this map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
-        <source>:&amp;nbsp;no input</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleOption</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
-        <source>:&amp;nbsp;missing value</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleSelection</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
-        <source>Attribute field</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassModuleStandardOptions</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
-        <source>Cannot find module </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
-        <source>Cannot start module </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
-        <source>Cannot read module description (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
-        <source>):
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
-        <source>
-at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
-        <source>Cannot find key </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
-        <source>Item with id </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
-        <source> not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
-        <source>Cannot get current region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
-        <source>Cannot check region of map </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
-        <source>Cannot set region of map </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassNewMapset</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
-        <source>GRASS database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
-        <source>GRASS location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
-        <source>Projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
-        <source>Default GRASS Region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
-        <source>Mapset</source>
-        <translation type="unfinished">Kartset</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
-        <source>Create New Mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
-        <source>Tree</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
-        <source>Comment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
-        <source>Database</source>
-        <translation type="unfinished">Databas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
-        <source>Location 2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
-        <source>User&apos;s mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
-        <source>System mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
-        <source>Location 1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
-        <source>Owner</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
-        <source>Enter path to GRASS database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
-        <source>The directory doesn&apos;t exist!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
-        <source>No writable locations, the database not writable!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
-        <source>Enter location name!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
-        <source>The location exists!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
-        <source>Selected projection is not supported by GRASS!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
-        <source>Cannot create projection.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
-        <source>Cannot reproject previously set region, default region set.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
-        <source>North must be greater than south</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
-        <source>East must be greater than west</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
-        <source>Regions file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
-        <source>) not found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
-        <source>Cannot open locations file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
-        <source>)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
-        <source>Cannot read locations file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
-        <source>):
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
-        <source>
-at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
-        <source>Cannot create QgsSpatialRefSys</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
-        <source>Cannot reproject selected region.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
-        <source>Cannot reproject region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
-        <source>Enter mapset name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
-        <source>The mapset already exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
-        <source>Database: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
-        <source>Location: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
-        <source>Mapset: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
-        <source>Create location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
-        <source>Cannot create new location: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
-        <source>Create mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
-        <source>Cannot create new mapset dircetory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
-        <source>Cannot open DEFAULT_WIND</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
-        <source>Cannot open WIND</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
-        <source>New mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
-        <source>New mapset successfully created, but cannot be opened: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
-        <source>New mapset successfully created and set as current working mapset.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassNewMapsetBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
-        <source>Column 1</source>
-        <translation type="unfinished">Kolumn 1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
-        <source>Example directory tree:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
-        <source>Database Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
-        <source>Database:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
-        <source>Select existing directory or create a new one:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
-        <source>Location</source>
-        <translation type="unfinished">Plats</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
-        <source>Select location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
-        <source>Create new location</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
-        <source>Location Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
-        <source>Projection Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
-        <source>Coordinate system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
-        <source>Projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
-        <source>Not defined</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
-        <source>Set current QGIS extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
-        <source>Set</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
-        <source>Region Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
-        <source>S</source>
-        <translation type="unfinished">S</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
-        <source>W</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
-        <source>E</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
-        <source>N</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
-        <source>New mapset:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
-        <source>Mapset Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
-        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
-        <source>Location:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
-        <source>Mapset:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassPlugin</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
-        <source>&amp;GRASS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
-        <source>GRASS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
-        <source>Open mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
-        <source>New mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
-        <source>Close mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
-        <source>Add GRASS vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
-        <source>Add GRASS raster layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
-        <source>Open GRASS tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
-        <source>Display Current Grass Region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
-        <source>Edit Current Grass Region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
-        <source>Edit Grass Vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
-        <source>Adds a GRASS vector layer to the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
-        <source>Adds a GRASS raster layer to the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
-        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
-        <source>Edit the current GRASS region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
-        <source>Edit the currently selected GRASS vector layer.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
-        <source>GrassVector</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
-        <source>0.1</source>
-        <translation type="unfinished">0.1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
-        <source>GRASS layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
-        <source>Create new Grass Vector</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
-        <source>GRASS Edit is already running.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
-        <source>New vector name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
-        <source>Cannot create new vector: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
-        <source>New vector created but cannot be opened by data provider.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
-        <source>Cannot start editing.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
-        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
-        <source>Cannot read current region: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
-        <source>Cannot open the mapset. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
-        <source>Cannot close mapset. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
-        <source>Cannot close current mapset. </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
-        <source>Cannot open GRASS mapset. </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassRegion</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
-        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
-        <source>Cannot read current region: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
-        <source>Cannot write region</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassRegionBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
-        <source>GRASS Region Settings</source>
-        <translation>GRASS Regioninställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
-        <source>N</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
-        <source>W</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
-        <source>E</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
-        <source>S</source>
-        <translation>S</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
-        <source>N-S Res</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
-        <source>Rows</source>
-        <translation>Rader</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
-        <source>Cols</source>
-        <translation>Kolumner</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
-        <source>E-W Res</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
-        <source>Color</source>
-        <translation>Färg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
-        <source>Width</source>
-        <translation>Bredd</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassSelect</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
-        <source>Select GRASS Vector Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
-        <source>Select GRASS Raster Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
-        <source>Select GRASS mapcalc schema</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
-        <source>Select GRASS Mapset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
-        <source>Cannot open vector on level 2 (topology not available).</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
-        <source>Choose existing GISDBASE</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
-        <source>Wrong GISDBASE, no locations available.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
-        <source>Wrong GISDBASE</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
-        <source>Select a map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
-        <source>No map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
-        <source>No layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
-        <source>No layers available in this map</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassSelectBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add GRASS Vector Layer</source>
-        <translation type="obsolete">Lägg till GRASS-Vektorlager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
-        <source>Gisdbase</source>
-        <translation>Gisdbase</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
-        <source>Location</source>
-        <translation>Plats</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
-        <source>Browse</source>
-        <translation>Bläddra</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
-        <source>Mapset</source>
-        <translation>Kartset</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
-        <source>Map name</source>
-        <translation>Kartnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
-        <source>Layer</source>
-        <translation>Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
-        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
-        <translation>Välj eller skriv ett kartnamn (specialtecknen &apos;*&apos; och &apos;?&apos; som matchar olike tecken accepteras för raster)</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
-        <source>Add GRASS Layer</source>
-        <translation>Lägg till GRASS-lager</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassShellBase</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
-        <source>GRASS Shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGrassTools</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
-        <source>Modules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
-        <source>Browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
-        <source>GRASS Tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
-        <source>GRASS Tools: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
-        <source>Cannot find MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
-        <source>GRASS Shell is not compiled.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
-        <source>The config file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
-        <source>) not found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
-        <source>Cannot open config file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
-        <source>)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
-        <source>Cannot read config file (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
-        <source>
-at line </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
-        <source> column </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGridMakerPlugin</name>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
-        <source>&amp;Graticule Creator</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
-        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
-        <source>&amp;Graticules</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGridMakerPluginGui</name>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
-        <source>QGIS - Grid Maker</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
-        <source>Longitude Interval is invalid - please correct and try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
-        <source>Latitude Interval is invalid - please correct and try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
-        <source>Longitude Origin is invalid - please correct and try again..</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
-        <source>Latitude Origin is invalid - please correct and try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
-        <source>End Point Longitude is invalid - please correct and try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
-        <source>End Point Latitude is invalid - please correct and try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
-        <source>Choose a filename to save under</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
-        <source>ESRI Shapefile (*.shp)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
-        <source>Please enter the file name before pressing OK!</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsGridMakerPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
-        <source>QGIS Plugin Template</source>
-        <translation type="unfinished">QGIS-pluginmall</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
-        <source>Graticule Builder</source>
-        <translation type="unfinished">Rutnätsbyggare</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
-        <source>Point</source>
-        <translation type="unfinished">Punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
-        <source>Line</source>
-        <translation type="unfinished">Linje</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
-        <source>Polygon</source>
-        <translation type="unfinished">Polygon</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
-        <source>Origin (lower left)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
-        <source>Latitude:</source>
-        <translation type="unfinished">Latitud:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
-        <source>#000.00000; </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
-        <source>Longitude:</source>
-        <translation type="unfinished">Longitud:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
-        <source>End point (upper right)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
-        <source>Graticle size (units in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
-        <source>Latitude Interval:</source>
-        <translation type="unfinished">Latitudintervall:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
-        <source>Longitude Interval:</source>
-        <translation type="unfinished">Longitudintervall:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
-        <source>Output (shape) file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsHelpViewer</name>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
-        <source>Quantum GIS Help - </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
-        <source>Failed to get the help text from the database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
-        <source>The QGIS help database is not installed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
-        <source>This help file does not exist for your language</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
-        <source>If you would like to create it, contact the QGIS development team</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
-        <source>Quantum GIS Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsHelpViewerBase</name>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
-        <source>QGIS Help</source>
-        <translation>QGIS Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
-        <source>&amp;Home</source>
-        <translation>&amp;Hem</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
-        <source>Alt+H</source>
-        <translation>Alt+H</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
-        <source>&amp;Forward</source>
-        <translation>&amp;Framåt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
-        <source>Alt+F</source>
-        <translation>Alt+F</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
-        <source>&amp;Back</source>
-        <translation>&amp;Bakåt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
-        <source>Alt+B</source>
-        <translation>Alt+B</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
-        <source>Alt+C</source>
-        <translation>Alt+C</translation>
-    </message>
-</context>
-<context>
-    <name>QgsHttpTransaction</name>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
-        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
-        <source>HTTP response completed, however there was an error: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
-        <source>Network timed out after %1 seconds of inactivity.
-This may be a problem in your network connection or at the WMS server.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
-        <source>HTTP transaction completed, however there was an error: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsIdentifyResults</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;center&gt;Run action&lt;/center&gt;</source>
-        <translation type="obsolete">&lt;center&gt;Kör kommando&lt;/center&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
-        <source>Identify Results - </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
-        <source>Feature</source>
-        <translation type="unfinished">Objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
-        <source>Value</source>
-        <translation type="unfinished">Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
-        <source>Run action</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
-        <source>(Derived)</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsIdentifyResultsBase</name>
-    <message>
-        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
-        <source>Identify Results</source>
-        <translation>Identifiera Resultat</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>OK</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Feature</source>
-        <translation type="obsolete">Objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Value</source>
-        <translation type="obsolete">Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLUDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
-        <source>Enter class bounds</source>
-        <translation>Ange begränsningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
-        <source>Lower value</source>
-        <translation>Lägsta värde</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
-        <source>-</source>
-        <translation>-</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
-        <source>Upper value</source>
-        <translation>Högsta värde</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLabelDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
-        <source>Form1</source>
-        <translation>Formulär1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Source:</source>
-        <translation type="obsolete">Källa:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
-        <source>Field containing label:</source>
-        <translation>Fält med etikett:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
-        <source>Default label:</source>
-        <translation>Standardetikett:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
-        <source>Preview:</source>
-        <translation>Förhandsvisning:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
-        <source>QGIS Rocks!</source>
-        <translation>QGIS Rocks!</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Default Style</source>
-        <translation type="obsolete">Standardstil</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
-        <source>Font Style</source>
-        <translation>Typsnittsstil</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
-        <source>Font</source>
-        <translation>Typsnitt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Font size units are in ...</source>
-        <translation type="obsolete">Typsnittsenheter är i ...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
-        <source>Points</source>
-        <translation>Punkter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
-        <source>Map units</source>
-        <translation>Kartenheter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
-        <source>%</source>
-        <translation>%</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
-        <source>Transparency:</source>
-        <translation>Genomskinlighet:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
-        <source>Colour</source>
-        <translation>Färg</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
-        <source>Position</source>
-        <translation>Position</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
-        <source>X Offset (pts):</source>
-        <translation>X-Position (pktr):</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
-        <source>Y Offset (pts):</source>
-        <translation>Y-Position (pktr):</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Offset units are in ...</source>
-        <translation type="obsolete">Positionsenheter är i ...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Buffer Settings</source>
-        <translation type="obsolete">Bufferinställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
-        <source>Buffer Labels?</source>
-        <translation>Använd Buffer?</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
-        <source>Size:</source>
-        <translation>Storlek:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Buffer size is in ...</source>
-        <translation type="obsolete">Bufferstorlek är i ...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
-        <source>Size is in map units</source>
-        <translation>Storlek är i kartenheter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
-        <source>Size is in points</source>
-        <translation>Storlek är i punkter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Alignment</source>
-        <translation type="obsolete">Justering</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
-        <source>Above</source>
-        <translation>Ovanför</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
-        <source>Over</source>
-        <translation>Över</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
-        <source>Left</source>
-        <translation>Vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
-        <source>Below</source>
-        <translation>Nedanför</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
-        <source>Right</source>
-        <translation>Höger</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
-        <source>Above Right</source>
-        <translation>Ovanför Höger</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
-        <source>Below Right</source>
-        <translation>Nedanför Höger</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
-        <source>Above Left</source>
-        <translation>Ovanför Vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
-        <source>Below Left</source>
-        <translation>Nedanför Vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
-        <source>Angle (deg):</source>
-        <translation>Vinkel (grader):</translation>
-    </message>
-    <message encoding="UTF-8">
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
-        <source>°</source>
-        <translation>°</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Use best judgement when labels collide</source>
-        <translation type="obsolete">Använd heuristik när etiketter överlappar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
-        <source>Data Defined Style</source>
-        <translation>Datadefinierad stil</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
-        <source>&amp;Font family:</source>
-        <translation>&amp;Typsnitt:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
-        <source>&amp;Italic:</source>
-        <translation>&amp;Kursiv:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
-        <source>&amp;Underline:</source>
-        <translation>&amp;Understruken:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
-        <source>&amp;Bold:</source>
-        <translation>&amp;Fet:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
-        <source>&amp;Size:</source>
-        <translation>&amp;Storlek:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
-        <source>X Coordinate:</source>
-        <translation>X-Koordinat:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
-        <source>Y Coordinate:</source>
-        <translation>Y-Koordinat:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
-        <source>Placement:</source>
-        <translation>Placering:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="923"/>
-        <source>&amp;Colour:</source>
-        <translation type="obsolete">&amp;Färg:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Font and Alignment</source>
-        <translation type="obsolete">Typsnitt och Justering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Buffer and Position</source>
-        <translation type="obsolete">Buffer och Position</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Advanced Data Defined Style</source>
-        <translation type="obsolete">Avancerad Datadefinierad Stil</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
-        <source>Font size units</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
-        <source>Font Alignment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
-        <source>Placement</source>
-        <translation type="unfinished">Placering</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
-        <source>Buffer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
-        <source>Buffer size units</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
-        <source>Offset units</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
-        <source>Data Defined Alignment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
-        <source>Data Defined Buffer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
-        <source>Data Defined Position</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
-        <source>Source</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLayerProjectionSelectorBase</name>
-    <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
-        <source>Layer Projection Selector</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLayerPropertiesBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer Properties</source>
-        <translation type="obsolete">Lageregenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>General</source>
-        <translation type="obsolete">Allmänt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel2</source>
-        <translation type="obsolete">Textetikett2</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer source</source>
-        <translation type="obsolete">Lagerkälla</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display Name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Symbology</source>
-        <translation type="obsolete">Symbologi</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline color</source>
-        <translation type="obsolete">Kantfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill Color</source>
-        <translation type="obsolete">Fyllningsfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Line width</source>
-        <translation type="obsolete">Linjebredd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Labels</source>
-        <translation type="obsolete">Etiketter</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Help</source>
-        <translation type="obsolete">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F1</source>
-        <translation type="obsolete">F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>OK</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLegend</name>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
-        <source>group</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
-        <translation type="unfinished">&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
-        <translation type="unfinished">&amp;Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLegendItemBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Form1</source>
-        <translation type="obsolete">Formulär1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>CheckBox1</source>
-        <translation type="obsolete">Checkruta1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel1</source>
-        <translation type="obsolete">Textetikett1</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLineStyleDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
-        <source>Select a line style</source>
-        <translation>Välj en linjestil</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
-        <source>Styles</source>
-        <translation>Stilar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>solid</source>
-        <translation type="obsolete">hel</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dash</source>
-        <translation type="obsolete">streck</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dot</source>
-        <translation type="obsolete">prick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dashdot</source>
-        <translation type="obsolete">streckprick</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dashdotdot</source>
-        <translation type="obsolete">streckprickprick</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLineStyleWidgetBase</name>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
-        <source>Form2</source>
-        <translation type="unfinished">Formulär2</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
-        <source>Outline Style</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
-        <source>Width:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
-        <source>Colour:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
-        <source>LineStyleWidget</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
-        <source>col</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMapCanvas</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No active layer</source>
-        <translation type="obsolete">Inget aktivt lager</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="obsolete">För att välja objekt måste du välja ett aktivt lager genom att klicka på dess namn i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="obsolete">Attributkommandon - möjlighet att köra ett externt program baserat på innehållet i ett lagers attributfält</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
-        <source>Could not draw</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
-        <source>because</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMapLayer</name>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zooma till det markerade lagrets utsträckning</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
-        <source>&amp;Properties</source>
-        <translation>&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMapToolIdentify</name>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
-        <source>No features found</source>
-        <translation type="unfinished">Inga objekt hittade</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
-        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
-        <source>- %1 features found</source>
-        <comment>Identify results window title</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
-    <name>QgsMapserverExport</name>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
-        <source>Name for the map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
-        <source>MapServer map files (*.map);;All files(*.*)</source>
-        <comment>Filter list for selecting files from a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
-        <source>Choose the QGIS project file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
-        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
-        <comment>Filter list for selecting files from a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
-        <source>Overwrite File?</source>
-        <translation type="unfinished">Skriva över fil?</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source> exists. 
-Do you want to overwrite it?</source>
-        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>No</source>
-        <translation type="unfinished">Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
-        <source> exists. 
-Do you want to overwrite it?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMapserverExportBase</name>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
-        <source>Export to Mapserver</source>
-        <translation>Exportera till MapServer</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
-        <source>Map file</source>
-        <translation>Kartfil</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
-        <source>Export LAYER information only</source>
-        <translation>Exportera endast LAGER-information</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
-        <source>Map</source>
-        <translation>Karta</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
-        <source>Height</source>
-        <translation>Höjd</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
-        <source>Width</source>
-        <translation>Bredd</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
-        <source>dd</source>
-        <translation>dd</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
-        <source>feet</source>
-        <translation>feet</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
-        <source>meters</source>
-        <translation>meter</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
-        <source>miles</source>
-        <translation>miles</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
-        <source>inches</source>
-        <translation>tum</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
-        <source>kilometers</source>
-        <translation>kilometer</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
-        <source>Units</source>
-        <translation>Enheter</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
-        <source>Image type</source>
-        <translation>Bildtyp</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
-        <source>gif</source>
-        <translation>gif</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
-        <source>gtiff</source>
-        <translation>gtiff</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
-        <source>jpeg</source>
-        <translation>jpeg</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
-        <source>png</source>
-        <translation>png</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
-        <source>swf</source>
-        <translation>swf</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
-        <source>userdefined</source>
-        <translation>userdefined</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
-        <source>wbmp</source>
-        <translation>wbmp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
-        <source>MinScale</source>
-        <translation>MinSkala</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
-        <source>MaxScale</source>
-        <translation>MaxSkala</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
-        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
-        <translation>Prefix för karta, skala och teckenförklaring GIF-filnamn  skapade med denna kartfil. Det bör vara kort.</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
-        <source>Web Interface Definition</source>
-        <translation>Webgränssnittsdefinition</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
-        <source>Header</source>
-        <translation>Sidhuvud</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
-        <source>Footer</source>
-        <translation>Sidfot</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
-        <source>Template</source>
-        <translation>Mall</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
-        <source>Name for the map file to be created from the QGIS project file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
-        <source>If checked, only the layer information will be processed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
-        <source>Path to the MapServer template file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
-        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
-        <source>Full path to the QGIS project file to export to MapServer map format</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
-        <source>QGIS project file</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
-    <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Välj en katalog</translation>
-    </message>
-</context>
-<context>
-    <name>QgsMarkerDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
-        <source>Choose a marker symbol</source>
-        <translation>Välj en markörsymbol</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
-        <source>Directory</source>
-        <translation>Katalog</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
-        <source>New Item</source>
-        <translation>Ny Post</translation>
-    </message>
-</context>
-<context>
-    <name>QgsMeasure</name>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMeasureBase</name>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
-        <source>Measure</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
-        <source>New</source>
-        <translation type="unfinished">Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
-        <source>Cl&amp;ose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
-        <source>Total:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMessageViewer</name>
-    <message>
-        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
-        <source>QGIS Message</source>
-        <translation>QGIS-Meddelande</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
-        <source>Don&apos;t show this message again</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsMessageViewerBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SPIT Message</source>
-        <translation type="obsolete">SPIT-Meddelande</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-</context>
-<context>
-    <name>QgsMySQLProvider</name>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
-        <source>Unable to access relation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
-        <source>Unable to access the </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
-        <source> relation.
-The error message from the database was:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
-        <source>No GEOS Support!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
-        <source>Your PostGIS installation has no GEOS support.
-Feature selection and identification will not work properly.
-Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
-        <source>Save layer as...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsNewConnection</name>
-    <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
-        <source>Test connection</source>
-        <translation>Testa uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
-        <source>Connection to %1 was successfull</source>
-        <translation type="obsolete">Uppkoplingen till %1 lyckades</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection failed - Check settings and try again </source>
-        <translation type="obsolete">Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
-        <source>Connection failed - Check settings and try again.
-
-Extended error information:
-</source>
-        <translation>Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen.
-
-Detaljerad felinformation:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
-        <source>Connection to %1 was successful</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsNewConnectionBase</name>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
-        <source>Create a New PostGIS connection</source>
-        <translation>Skapa en ny PostGIS-uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
-        <source>Connection Information</source>
-        <translation>Uppkopplingsinformation</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
-        <source>Host</source>
-        <translation>Dator</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
-        <source>Database</source>
-        <translation>Databas</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
-        <source>Username</source>
-        <translation>Användarnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
-        <source>Name of the new connection</source>
-        <translation>Namn för den nya uppkopplingen</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
-        <source>Password</source>
-        <translation>Lösenord</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
-        <source>Test Connect</source>
-        <translation>Testa Uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
-        <source>Save Password</source>
-        <translation>Spara Lösenord</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
-        <source>Port</source>
-        <translation>Port</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
-        <source>5432</source>
-        <translation>5432</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
-        <source>Only look in the &apos;public&apos; schema</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
-        <source>Only look in the geometry_columns table</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsNewHttpConnectionBase</name>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
-        <source>Create a New WMS connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
-        <source>Connection Information</source>
-        <translation type="unfinished">Uppkopplingsinformation</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
-        <source>URL</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
-        <source>Proxy Host</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
-        <source>Proxy Port</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
-        <source>Proxy User</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
-        <source>Proxy Password</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
-        <source>Your user name for the HTTP proxy (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
-        <source>Password for your HTTP proxy (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
-        <source>Name of the new connection</source>
-        <translation type="unfinished">Namn för den nya uppkopplingen</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
-        <source>HTTP address of the Web Map Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
-        <source>Name of your HTTP proxy (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
-        <source>Port number of your HTTP proxy (optional)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
-        <source>OK</source>
-        <translation type="unfinished">OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-</context>
-<context>
-    <name>QgsNorthArrowPlugin</name>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
-        <source>&amp;North Arrow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
-        <source>Creates a north arrow that is displayed on the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
-        <source>&amp;Decorations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
-        <source>North arrow pixmap not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsNorthArrowPluginGui</name>
-    <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
-        <source>Pixmap not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsNorthArrowPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
-        <source>North Arrow Plugin</source>
-        <translation type="unfinished">Nordpilplugin</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
-        <source>Properties</source>
-        <translation type="unfinished">Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
-        <source>Angle</source>
-        <translation type="unfinished">Vinkel</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
-        <source>Placement</source>
-        <translation type="unfinished">Placering</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
-        <source>Set direction automatically</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
-        <source>Enable North Arrow</source>
-        <translation type="unfinished">Aktivera nordpil</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
-        <source>Placement on screen</source>
-        <translation type="unfinished">Placering på skärmen</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
-        <source>Preview of north arrow</source>
-        <translation type="unfinished">Förhandsvy av nordpil</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
-        <source>Icon</source>
-        <translation type="unfinished">Ikon</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
-        <source>New Item</source>
-        <translation type="unfinished">Ny Post</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsOGRFactory</name>
-    <message>
-        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
-        <source>Wrong Path/URI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
-        <source>The provided path for the dataset is not valid.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsOptionsBase</name>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
-        <source>QGIS Options</source>
-        <translation>QGIS-Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Preferences</source>
-        <translation type="obsolete">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
-        <source>epiphany</source>
-        <translation>epiphany</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>firebird</source>
-        <translation type="obsolete">firebird</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
-        <source>galeon</source>
-        <translation>galeon</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
-        <source>konqueror</source>
-        <translation>konqueror</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
-        <source>mozilla</source>
-        <translation>mozilla</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
-        <source>opera</source>
-        <translation>opera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Preferred browser (used to open Help documents)</source>
-        <translation type="obsolete">Webläsare (används för att öppna Hjälp-dokument)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>The browser must be in your PATH or you can specify &lt;br&gt;the full path above</source>
-        <translation type="obsolete">Webläsaren måste vara i din PATH eller också kan du &lt;br&gt;ange hela sökvägen</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
-        <source>&amp;Ok</source>
-        <translation>&amp;Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
-        <source>Alt+O</source>
-        <translation>Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Map</source>
-        <translation type="obsolete">Karta</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
-        <source>Search Radius for Identifying Features</source>
-        <translation>Sökradie för identifiering av objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Value</source>
-        <translation type="obsolete">Värde</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;Specify the value in thousandths.  
-The search radius is calculated as:
-&lt;ul&gt; &lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;
-&lt;/ul&gt;
-By default QGIS uses a value of 5. Increase the value if you have trouble
-identifying features without zooming in very close.
-&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;Ange värdet i tusendelar.  
-Sökradien beröknas enligt formeln:
-&lt;ul&gt; &lt;i&gt;(Kartvyns Bredd) * ( Värde/1000.0)&lt;/i&gt;
-&lt;/ul&gt;
-Som standard använder QGIS värdet 5. Öka värdet om du har problem
-med att identifiera detaljer utan att zooma in väldigt nära.
-&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
-        <source>Hide splash screen at startup</source>
-        <translation>Göm splashfönstret vid start</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
-        <source>&amp;Appearance</source>
-        <translation>&amp;Utseende</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Splash Screen</source>
-        <translation type="obsolete">&amp;Splashbild</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
-        <source>&amp;Icon Theme</source>
-        <translation>&amp;Ikontema</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
-        <source>Theme</source>
-        <translation>Tema</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
-        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
-        <translation>&lt;b&gt;Not: &lt;/b&gt;Temaändringar sker inte förrän nästa gång QGIS startas</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
-        <source>Help &amp;Browser</source>
-        <translation>Hjälp&amp;läsare</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
-        <source>Open help documents with</source>
-        <translation>Öppna hjälpdokument med</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify &lt;br&gt;the full path above</source>
-        <translation type="obsolete">&lt;b&gt;Not:&lt;/b&gt; Läsaren måste finnas i din PATH, eller så kan du ange &lt;br&gt;hela sökvägen ovan</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
-        <source>&amp;Rendering</source>
-        <translation>&amp;Rendering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Update During Drawing</source>
-        <translation type="obsolete">&amp;Uppdatera Under Ritning</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
-        <source>Update display after reading</source>
-        <translation>Uppdatera skärmbild efter läsning</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
-        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
-        <translation>Kartbilden kommer att uppdateras efter att såhär många objekt har lästs från datakällan</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
-        <source>features</source>
-        <translation>objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
-        <source>(Set to 0 to not update the display until all features have been read)</source>
-        <translation>(Sätt till 0 för att inte uppdatera förrän alla objekt har lästs)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Selection</source>
-        <translation type="obsolete">&amp;Markering</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Search Radius</source>
-        <translation type="obsolete">Sökradie</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;
-&lt;b&gt;Note:&lt;/b&gt; Specify the value in thousandths.  The search radius is calculated as:&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;
-&lt;br&gt;
-By default QGIS uses a value of 5. Increase the value if you have trouble
-identifying features without zooming in very close.
-&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;
-&lt;b&gt;Notera:&lt;/b&gt; Ange värdet i tusendelar.  Formeln för sökradien är:&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&lt;i&gt;(Kartvyns bredd) * ( Värde/1000.0)&lt;/i&gt;
-&lt;br&gt;
-QGIS använder värdet 5 som standard. Öka värdet om du har problem 
-med att identifiera objekt utan att zooma in väldigt nära.
-&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SVG Options</source>
-        <translation type="obsolete">SVG-Inställningar</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SVG oversampling factor</source>
-        <translation type="obsolete">Översamplingsfaktor</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;b&gt;Note: &lt;/b&gt;A higher value gives smoother SVG symbols, but can slow down rendering</source>
-        <translation type="obsolete">&lt;b&gt;OBS: &lt;/b&gt;Ett högt värde ger mjukare SVG-symboler, men kan göra QGIS långsammare</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
-        <source>Initial Visibility</source>
-        <translation>Initial Synlighet</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New layers added to the map are not displayed</source>
-        <translation type="obsolete">Nya lager som läggs till i kartan visas inte</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;<byte value="xd"/>
-&lt;b&gt;Note:&lt;/b&gt; Specify the value in thousandths.  The search radius is calculated as:&lt;br&gt;<byte value="xd"/>
-&amp;nbsp;&amp;nbsp;&lt;i&gt;(Map View Width) * ( Value/1000.0)&lt;/i&gt;<byte value="xd"/>
-&lt;br&gt;<byte value="xd"/>
-By default QGIS uses a value of 5. Increase the value if you have trouble<byte value="xd"/>
-identifying features without zooming in very close.<byte value="xd"/>
-&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;
-&lt;b&gt;Notera:&lt;/b&gt; Ange värdet i tusendelar.  Formeln för sökradien är:&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&lt;i&gt;(Kartvyns bredd) * ( Värde/1000.0)&lt;/i&gt;
-&lt;br&gt;
-QGIS använder värdet 5 som standard. Öka värdet om du har problem 
-med att identifiera objekt utan att zooma in väldigt nära.
-&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
-        <source>&amp;Splash screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
-        <source>Default Map Appearance (Overridden by project properties)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
-        <source>Background Color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
-        <source>Selection Color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
-        <source>Appearance</source>
-        <translation type="unfinished">Utseende</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
-        <source>Capitalise layer name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
-        <source>Make lines appear less jagged at the expense of some drawing performance</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
-        <source>By default new la&amp;yers added to the map should be displayed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
-        <source>&amp;Update during drawing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
-        <source>Measure tool</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
-        <source>Ellipsoid for distance calculations:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
-        <source>Search radius</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
-        <source>Pro&amp;jection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
-        <source>Select Global Default ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
-        <source>When layer is loaded that has no projection information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
-        <source>Prompt for projection.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
-        <source>Project wide default projection will be used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
-        <source>Global default projection displa&amp;yed below will be used.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
-        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
-        <source>firefox</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
-        <source>mozilla-firefox</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
-        <source>Rendering</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
-        <source>Fix problems with incorrectly filled polygons</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
-        <source>Continuously redraw the map when dragging the legend/map divider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
-        <source>&amp;Map tools</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
-        <source>%</source>
-        <translation type="unfinished">%</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
-        <source>Panning and zooming</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
-        <source>Zoom</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
-        <source>Zoom and recenter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
-        <source>Nothing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
-        <source>Zoom factor:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
-        <source>Mouse wheel action:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPasteTransformationsBase</name>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
-        <source>Paste Transformations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
-        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
-        <source>Source</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
-        <source>Destination</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
-        <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
-        <source>Add New Transfer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsPatternDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>select a pattern</source>
-        <translation type="obsolete">välj ett mönster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>solid</source>
-        <translation type="obsolete">helfärgad</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>fdiag</source>
-        <translation type="obsolete">fdiag</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense4</source>
-        <translation type="obsolete">tät4</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>horiz</source>
-        <translation type="obsolete">horis</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense5</source>
-        <translation type="obsolete">tät5</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>diagcross</source>
-        <translation type="obsolete">diagkross</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense1</source>
-        <translation type="obsolete">tät1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense6</source>
-        <translation type="obsolete">tät6</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>vertical</source>
-        <translation type="obsolete">vertikal</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense7</source>
-        <translation type="obsolete">tät7</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>cross</source>
-        <translation type="obsolete">kross</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense2</source>
-        <translation type="obsolete">tät2</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>bdiag</source>
-        <translation type="obsolete">bdiag</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>dense3</source>
-        <translation type="obsolete">tät3</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>cancel</source>
-        <translation type="obsolete">avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>ok</source>
-        <translation type="obsolete">ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
-        <source>Select a fill pattern</source>
-        <translation>Välj ett fyllningsmönster</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
-        <source>No Fill</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPgGeoprocessing</name>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
-        <source>Buffer features in layer %1</source>
-        <translation>Buffra objekt i lager %1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
-        <source>Error connecting to the database</source>
-        <translation>Fel vid uppkoppling mot databas</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
-        <source>&amp;Buffer features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
-        <source>A new layer is created in the database with the buffered features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
-        <source>&amp;Geoprocessing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
-        <source>Unable to add geometry column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
-        <source>Unable to add geometry column to the output table </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
-        <source>Unable to create table</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
-        <source>Failed to create the output table </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
-        <source>No GEOS support</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
-        <source>Buffer function requires GEOS support in PostGIS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
-        <source>Not a PostgreSQL/PosGIS Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
-        <source> is not a PostgreSQL/PosGIS layer.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
-        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
-        <source>No Active Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
-        <source>You must select a layer in the legend to buffer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
-        <source>Create a buffer for a PostgreSQL layer. </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPgQueryBuilder</name>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
-        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
-        <translation>Tabell &lt;b&gt;%1&lt;/b&gt; i databasen &lt;b&gt;%2&lt;/b&gt; på datorn &lt;b&gt;%3&lt;/b&gt;, användare &lt;b&gt;%4&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
-        <source>Connection Failed</source>
-        <translation>Uppkopplingen Misslyckades</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
-        <source>Connection to the database failed:</source>
-        <translation>Uppkopplingen till databasen misslyckades:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
-        <source>Database error</source>
-        <translation>Databasfel</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
-        <source>Failed to get sample of field values</source>
-        <translation>Kunde inte hämta testvärden för fält</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
-        <source>Query Result</source>
-        <translation>Frågeresultat</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
-        <source>The where clause returned </source>
-        <translation>Where-satsen returnerade</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
-        <source> rows.</source>
-        <translation>rader.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
-        <source>Query Failed</source>
-        <translation>Frågan Misslyckades</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
-        <source>An error occurred when executing the query:</source>
-        <translation>Ett fel inträffade när frågan kördes:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
-        <source>No Records</source>
-        <translation>Inga Poster</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
-        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
-        <translation>Frågan som du angav gav noll poster som resultat. Giltiga PostgreSQL-lager måsta ha minst ett objekt.</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
-        <source>No Query</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
-        <source>You must create a query before you can test it</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
-        <source>Error in Query</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPgQueryBuilderBase</name>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
-        <source>PostgreSQL Query Builder</source>
-        <translation>PostgreSQL Frågebyggare</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
-        <source>Clear</source>
-        <translation>Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
-        <source>Test</source>
-        <translation>Testa</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
-        <source>Values</source>
-        <translation>Värden</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
-        <source>All</source>
-        <translation>Alla</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
-        <source>Sample</source>
-        <translation>Test</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
-        <source>Fields</source>
-        <translation>Fält</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
-        <source>Datasource:</source>
-        <translation>Datakälla:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
-        <source>Operators</source>
-        <translation>Operatorer</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
-        <source>=</source>
-        <translation>=</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
-        <source>IN</source>
-        <translation>IN</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
-        <source>NOT IN</source>
-        <translation>NOT IN</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
-        <source>&lt;</source>
-        <translation>&lt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
-        <source>&gt;</source>
-        <translation>&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
-        <source>%</source>
-        <translation>%</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
-        <source>&lt;=</source>
-        <translation>&lt;=</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
-        <source>&gt;=</source>
-        <translation>&gt;=</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
-        <source>!=</source>
-        <translation>!=</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
-        <source>LIKE</source>
-        <translation>LIKE</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
-        <source>AND</source>
-        <translation>AND</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
-        <source>ILIKE</source>
-        <translation>ILIKE</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
-        <source>OR</source>
-        <translation>OR</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
-        <source>NOT</source>
-        <translation>NOT</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
-        <source>SQL where clause</source>
-        <translation>SQL where-sats</translation>
-    </message>
-</context>
-<context>
-    <name>QgsPluginManager</name>
-    <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
-        <source>Choose a directory</source>
-        <translation>Välj en katalog</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
-        <source>No Plugins</source>
-        <translation>Inga Plugins</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
-        <source>No QGIS plugins found in </source>
-        <translation>Inga QGIS-plugins hittades i </translation>
-    </message>
-</context>
-<context>
-    <name>QgsPluginManagerBase</name>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
-        <source>QGIS Plugin Manger</source>
-        <translation>QGIS Pluginhanterare</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
-        <source>Name</source>
-        <translation>Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
-        <source>Description</source>
-        <translation>Beskrivning</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
-        <source>Library Name</source>
-        <translation>Biblioteksnamn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
-        <source>Plugin Directory</source>
-        <translation>Pluginkatalog</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
-        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
-        <translation>För att ladda ett plugin, klicka i rutan bredvid pluginet och klicka på Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
-        <source>Version</source>
-        <translation>Version</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
-        <source>&amp;Select All</source>
-        <translation>&amp;Markera Allt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
-        <source>Alt+S</source>
-        <translation>Alt+M</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
-        <source>C&amp;lear All</source>
-        <translation>Radera A&amp;lla</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
-        <source>Alt+L</source>
-        <translation>Alt+L</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
-        <source>&amp;Ok</source>
-        <translation>&amp;Ok</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
-        <source>Alt+O</source>
-        <translation>Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
-        <source>Alt+C</source>
-        <translation>Alt+S</translation>
-    </message>
-</context>
-<context>
-    <name>QgsPointDialog</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
-        <source>Zoom In</source>
-        <translation type="unfinished">Zooma In</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
-        <source>z</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
-        <source>Zoom Out</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
-        <source>Z</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
-        <source>Zoom To Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
-        <source>Zoom to Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
-        <source>Pan Map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
-        <source>Pan the map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
-        <source>Add Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
-        <source>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
-        <source>Capture Points</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
-        <source>Delete Point</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
-        <source>Delete Selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
-        <source>Linear</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
-        <source>Helmert</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
-        <source>Choose a name for the world file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
-        <source>-modified</source>
-        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
-        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
-        <source>Affine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
-        <source>Not implemented!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
-        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
-        <source>&lt;p&gt;The </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
-        <source> transform is not yet supported.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
-        <source>Could not write to </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPointDialogBase</name>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
-        <source>Georeferencer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
-        <source>Transform type:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
-        <source>Zoom in</source>
-        <translation type="unfinished">Zooma in</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
-        <source>Zoom out</source>
-        <translation type="unfinished">Zooma ut</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
-        <source>Zoom to the raster extents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
-        <source>Pan</source>
-        <translation type="unfinished">Flytta vy</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
-        <source>Add points</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
-        <source>Delete points</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
-        <source>Generate world file and load layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
-        <source>Generate world file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
-        <source>World file:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
-        <source>Modified raster:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPointStyleWidgetBase</name>
-    <message>
-        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
-        <source>Form3</source>
-        <translation type="unfinished">Formulär3</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
-        <source>Symbol Style</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
-        <source>Scale</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPostgresProvider</name>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
-        <source>Unable to access relation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
-        <source>Unable to access the </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
-        <source> relation.
-The error message from the database was:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
-        <source>No GEOS Support!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
-        <source>Your PostGIS installation has no GEOS support.
-Feature selection and identification will not work properly.
-Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
-        <source>No suitable key column in table</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
-        <source>The table has no column suitable for use as a key.
-
-Qgis requires that the table either has a column of type
-int4 with a unique constraint on it (which includes the
-primary key) or has a PostgreSQL oid column.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
-        <source>The unique index on column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
-        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
-        <source>and </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
-        <source>The unique index based on columns </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
-        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
-        <source>Unable to find a key column</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
-        <source> derives from </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
-        <source>and is suitable.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
-        <source>and is not suitable </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
-        <source>type is </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
-        <source> and has a suitable constraint)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
-        <source> and does not have a suitable constraint)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
-        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
-        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
-        <source>The view </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
-        <source>has no column suitable for use as a unique key.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
-        <source>No suitable key column in view</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
-        <source>Unknown geometry type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
-        <source>Column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
-        <source> in </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
-        <source> has a geometry type of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
-        <source>, which Qgis does not currently support.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
-        <source>. The database communication log was:
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
-        <source>Unable to get feature type and srid</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
-        <source>Note: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
-        <source>initially appeared suitable but does not contain unique data, so is not suitable.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
-        <source>INSERT error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
-        <source>An error occured during feature insertion</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
-        <source>DELETE error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
-        <source>An error occured during deletion from disk</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
-        <source>PostGIS error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
-        <source>When trying: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
-        <source>Qgis was unable to determine the type and srid of column </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
-        <source>An error occured contacting the PostgreSQL database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
-        <source>The PostgreSQL database returned: </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsProjectPropertiesBase</name>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
-        <source>Project Properties</source>
-        <translation>Projektegenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
-        <source>Map Units</source>
-        <translation>Kartenheter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
-        <source>Meters</source>
-        <translation>Meter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
-        <source>Feet</source>
-        <translation>Feet</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
-        <source>Decimal degrees</source>
-        <translation>Decimalgrader</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Title</source>
-        <translation type="obsolete">Titel</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
-        <source>Default project title</source>
-        <translation>Standardtitel för projekt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
-        <source>General</source>
-        <translation type="unfinished">Allmänt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
-        <source>Map Appearance</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
-        <source>Selection Color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
-        <source>Background Color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
-        <source>Precision</source>
-        <translation type="unfinished">Precision</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
-        <source>Automatically sets the number of decimal places in the mouse position display</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
-        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
-        <source>Automatic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
-        <source>Sets the number of decimal places to use for the mouse position display</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
-        <source>Manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
-        <source>The number of decimal places for the manual option</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
-        <source>decimal places</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
-        <source>Digitizing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
-        <source>Line Width:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
-        <source>Snapping Tolerance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
-        <source>Line Colour:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
-        <source>Project Title</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
-        <source>Projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
-        <source>Enable on the fly projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
-        <source>&amp;Apply</source>
-        <translation type="unfinished">&amp;Verkställ</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
-        <source>Descriptive project name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
-        <source>Line width in pixels</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
-        <source>Snapping tolerance in map units</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsProjectionSelector</name>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
-        <source>QGIS SRSID: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
-        <source>PostGIS SRID: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsProjectionSelectorBase</name>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
-        <source>Projection Selector</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
-        <source>Projection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
-        <source>Search</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
-        <source>QGIS SRSID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
-        <source>Find</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
-        <source>Postgis SRID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
-        <source>EPSG ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
-        <source>Spatial Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
-        <source>Id</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsPublishToWebDialogBase</name>
-    <message>
-        <location filename="../src/plugins/publish_to_web/qgspublishtowebdialogbase.ui" line="56"/>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-</context>
-<context>
-    <name>QgsRasterLayer</name>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
-        <source>Not Set</source>
-        <translation>Inte Satt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="obsolete">&amp;Zooma till det markerade lagrets utsträckning</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Remove</source>
-        <translation type="obsolete">&amp;Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
-        <source>Driver:</source>
-        <translation>Drivrutin:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
-        <source>Dimensions:</source>
-        <translation>Dimensioner:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
-        <source>X: </source>
-        <translation>X: </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
-        <source> Y: </source>
-        <translation> Y: </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
-        <source> Bands: </source>
-        <translation>Band:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Projection: </source>
-        <translation type="obsolete">Projektion: </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
-        <source>Origin:</source>
-        <translation>Origo:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
-        <source>Pixel Size:</source>
-        <translation>Pixelstorlek:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Red</source>
-        <translation type="obsolete">Röd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Green</source>
-        <translation type="obsolete">Grön</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Blue</source>
-        <translation type="obsolete">Blå</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
-        <source>Raster Extent: </source>
-        <translation>Rasterutsträckning:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
-        <source>Clipped area: </source>
-        <translation>Kapad yta:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
-        <source>Pyramid overviews:</source>
-        <translation>Pyramidöversikter:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
-        <source>Band Statistics (if gathered):</source>
-        <translation>Bandstatistik (om insamlad):</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
-        <source>Property</source>
-        <translation>Egenskap</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
-        <source>Value</source>
-        <translation>Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
-        <source>Band</source>
-        <translation>Band</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
-        <source>Band No</source>
-        <translation>Bandnr</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
-        <source>No Stats</source>
-        <translation>Ingen statistik</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
-        <source>No stats collected yet</source>
-        <translation>Ingen statistik har samlats in</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
-        <source>Min Val</source>
-        <translation>MinVärde</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
-        <source>Max Val</source>
-        <translation>MaxVärde</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
-        <source>Range</source>
-        <translation>Intervall</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
-        <source>Mean</source>
-        <translation>Medel</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
-        <source>Sum of squares</source>
-        <translation>Kvadratsumma</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
-        <source>Standard Deviation</source>
-        <translation>Standardavvikelse</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
-        <source>Sum of all cells</source>
-        <translation>Summa av alla celler</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
-        <source>Cell Count</source>
-        <translation>Cellantal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
-        <source>Write access denied</source>
-        <translation>Skrivåtkomst nekad</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
-        <source>Write access denied. Adjust the file permissions and try again.
-
-</source>
-        <translation>Skrivåtkomst nekad. Justera filrättigheterna och försök igen.</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
-        <source>Data Type:</source>
-        <translation>Datatyp:</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
-        <source>GDT_Byte - Eight bit unsigned integer</source>
-        <translation>GDT_Byte - Åttabitars ickenegativt heltal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
-        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
-        <translation>GDT_UInt16 - Sextonbitars ickenegativt heltal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
-        <source>GDT_Int16 - Sixteen bit signed integer </source>
-        <translation>GDT_Int16 - Sextonbitars heltal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
-        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
-        <translation>GDT_UInt32 - Trettiotvåbitars ickenegativt heltal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
-        <source>GDT_Int32 - Thirty two bit signed integer </source>
-        <translation>GDT_Int32 - Trettiotvåbitars heltal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
-        <source>GDT_Float32 - Thirty two bit floating point </source>
-        <translation>GDT_Float32 - Trettiotvåbitars flyttal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
-        <source>GDT_Float64 - Sixty four bit floating point </source>
-        <translation>GDT_Float64 - Sextiofyrabitars flyttal</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
-        <source>GDT_CInt16 - Complex Int16 </source>
-        <translation>GDT_CInt16 - Komplex Int16 </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
-        <source>GDT_CInt32 - Complex Int32 </source>
-        <translation>GDT_CInt32 - Komplex Int32 </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
-        <source>GDT_CFloat32 - Complex Float32 </source>
-        <translation>GDT_CFloat32 - Komplex Float32 </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
-        <source>GDT_CFloat64 - Complex Float64 </source>
-        <translation>GDT_CFloat64 - Komplex Float64 </translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
-        <source>Could not determine raster data type.</source>
-        <translation>Kunde inte bestämma rastertyp.</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;center&gt;&lt;b&gt;Raster Layer&lt;/b&gt;&lt;/center&gt;</source>
-        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Rasterlager&lt;/b&gt;&lt;/center&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show In &amp;Overview</source>
-        <translation type="obsolete">Visa i &amp;Översikt</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
-        <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Genomskinlighet&lt;/b&gt;&lt;/center&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
-        <source>Average Magphase</source>
-        <translation>Average Magphase</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
-        <source>Average</source>
-        <translation>Average</translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
-        <source>Dataset Description</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
-        <source>No Data Value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
-        <source>Layer Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
-        <source>Project Spatial Reference System: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
-        <source>Building pyramids failed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
-        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
-        <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
-        <source>out of extent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
-        <source>null (no data)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
-        <source>and all other files</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsRasterLayerProperties</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p align=&quot;center&quot;&gt;Columns:</source>
-        <translation type="obsolete">&lt;p align=&quot;center&quot;&gt;Kolumner:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p align=&quot;right&quot;&gt;Rows:</source>
-        <translation type="obsolete">&lt;p align=&quot;right&quot;&gt;Rader:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No Data:</source>
-        <translation type="obsolete">Ingen Data:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
-        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
-        <translation>&lt;h3&gt;Multibandbild&lt;/h3&gt;&lt;p&gt;Detta är en multibandbild. Du kan visa den i gråskala eller färg (RGB). För färgbilder kan du associera band med godtyckliga färger. Till exempel, om du har en 7-bands landsatbild så kan du välja att rendera den som:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Synligt Blått (0.45 till 0.52 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Synligt Grönt (0.52 till 0.60 mikroner) - inte associerad&lt;/li&gt;&lt;/li&gt;Synligt Rött (0.63 till 0.69 mikroner) - associerad till rött i bilden&lt;/li&gt;&lt;li&gt;Nära Infrarött (0.76 till 0.90 mikroner) - associerad till grönt i bilden&lt;/li&gt;&lt;li&gt;Medium Infrarött (1.55 till 1.75 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Värmeinfrarött (10.4 till 12.5 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Medium infrarött (2.08 till 2.35 mikroner) - associerad till blått i bilden&lt;/li&gt;&lt;/ul&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
-        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
-        <translation>&lt;h3&gt;Palettbild&lt;/h3&gt; &lt;p&gt;Den här bilden använder en indexerad palett. Du kan ändra de här färgerna i olika kombinationer, t.ex.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Röd - blått i bilden&lt;/li&gt;&lt;li&gt;Grön - blått i bilden&lt;/li&gt;&lt;li&gt;Blå - grönt i bilden&lt;/li&gt;&lt;/ul&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
-        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Gråskalebild&lt;/h3&gt; &lt;p&gt;Du kan omassociera dessa gråskalefärger till en pseudofärgbild med an automatgenererad färgramp.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
-        <source>Grayscale</source>
-        <translation>Gråskala</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
-        <source>Pseudocolor</source>
-        <translation>Pseudofärg</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
-        <source>Freak Out</source>
-        <translation>Freak Out</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Columns:</source>
-        <translation type="obsolete">Kolumner:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Rows:</source>
-        <translation type="obsolete">Rader:</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
-        <source>Not Set</source>
-        <translation type="unfinished">Inte Satt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
-        <source>Palette</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
-        <source>Columns: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
-        <source>Rows: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
-        <source>No-Data Value: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
-        <source>n/a</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsRasterLayerPropertiesBase</name>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
-        <source>Raster Layer Properties</source>
-        <translation>Rasterlageregenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
-        <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
-        <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
-        <source>&amp;Apply</source>
-        <translation>&amp;Verkställ</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
-        <source>Alt+A</source>
-        <translation>Alt+V</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
-        <source>F1</source>
-        <translation>F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
-        <source>General</source>
-        <translation>Allmänt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
-        <source>Layer Source:</source>
-        <translation>Lagerkälla:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
-        <source>Display Name:</source>
-        <translation>Namn:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
-        <source>Legend:</source>
-        <translation>Teckenförklaring:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show debug info as overlay on raster?</source>
-        <translation type="obsolete">Visa debuginfo ovanpå raster?</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p align=&quot;center&quot;&gt;Columns: &lt;/p&gt;</source>
-        <translation type="obsolete">&lt;p align=&quot;center&quot;&gt;Kolumner: &lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;p align=&quot;right&quot;&gt;Rows: &lt;/p&gt;</source>
-        <translation type="obsolete">&lt;p align=&quot;right&quot;&gt;Rader: &lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
-        <source>No Data:</source>
-        <translation>Ingen Data:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
-        <source>Symbology</source>
-        <translation>Symbologi</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Appearance</source>
-        <translation type="obsolete">Utseende</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
-        <source>Transparency:</source>
-        <translation>Genomskinlighet:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
-        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
-        <translation>&lt;p align=&quot;right&quot;&gt;Total&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
-        <source>None</source>
-        <translation>Ingen</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
-        <source>Invert Color Map</source>
-        <translation>Invertera färgkarta</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
-        <source>0%</source>
-        <translation>0%</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>RGB</source>
-        <translation type="obsolete">RGB</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
-        <source>Band</source>
-        <translation>Band</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
-        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
-        <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Grön&lt;/font&gt;&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
-        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
-        <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Röd&lt;/font&gt;&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
-        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
-        <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blå&lt;/font&gt;&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
-        <source>Color</source>
-        <translation>Färg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Grayscale</source>
-        <translation type="obsolete">Gråskala</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
-        <source>Gray</source>
-        <translation>Grå</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
-        <source>Std Deviations</source>
-        <translation>Standardavvikelser</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
-        <source>Color Map</source>
-        <translation>Färgkarta</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show As</source>
-        <translation type="obsolete">Visa Som</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Three Band</source>
-        <translation type="obsolete">Tre Band</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Single Band</source>
-        <translation type="obsolete">Ett Band</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-size:13pt;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-size:13pt;font-weight:600&quot;&gt;Anteckningar&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Advanced Symbology</source>
-        <translation type="obsolete">Avancerad Symbologi</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Red</source>
-        <translation type="obsolete">Röd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Green</source>
-        <translation type="obsolete">Grön</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Blue</source>
-        <translation type="obsolete">Blå</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Behaviour</source>
-        <translation type="obsolete">Beteende</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale histogram to the limits defined above (displays all data)</source>
-        <translation type="obsolete">Skala histogram till gränserna definierade ovan (visar all data)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Exclude values outside the above ranges (after color mapping)</source>
-        <translation type="obsolete">Exkludera värden utanför intervallen ovan (efter färgassociering)</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Please Note :&lt;/font&gt; Advanced Symbology not implemented yet!&lt;/b&gt;</source>
-        <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Notera :&lt;/font&gt; Avancerad Symbologi är inte implementerad än!&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Statistics</source>
-        <translation type="obsolete">Statistik</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
-        <source>Metadata</source>
-        <translation>Metadata</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Anteckningar&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
-        <source>Pyramids</source>
-        <translation>Pyramider</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
-        <source>Resampling Method</source>
-        <translation>Omsamplingsmetod</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="840"/>
-        <source>Average Magphase</source>
-        <translation type="obsolete">Average Magphase</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
-        <source>Average</source>
-        <translation>Average</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
-        <source>Nearest Neighbour</source>
-        <translation>Nearest Neighbour</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
-        <source>Build Pyramids</source>
-        <translation>Bygg Pyramider</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:24pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:24pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Stora rasterlager kan försämra navigationshastigheten i QGIS. Genom att skapa kopior av datan i mindre upplösningar (pyramider) så kan prestandan förbättras avsevärt när QGIS väljer den upplösning som passar bäst till den nuvarande zoom-nivån. Du måste ha skrivrättigheter i den katalogen där datan lagras för att kunna bygga pyramider. &lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Notera att pyramidbyggande kan ändra datafilerna, och när de väl har byggts så kan de inte tas bort.&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
-        <source>Pyramid Resolutions</source>
-        <translation>Pyramidupplösningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
-        <source>Thumbnail</source>
-        <translation>Bild</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
-        <source>Columns:</source>
-        <translation>Kolumner:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
-        <source>Rows:</source>
-        <translation>Rader:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
-        <source>Palette:</source>
-        <translation>Palett:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Andale Sans UI&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Andale Sans UI&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Anteckningar&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Andale Sans UI&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:21pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:11pt;font-family:Andale Sans UI&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot;&gt;&lt;span style=&quot;font-size:21pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Stora raster kan göra navigeringen i QGIS långsammare. Genom att skapa kopior i lägre upplösning (pyramider) så kan navigeringen göras avsevärt snabbare eftersom QGIS väljer den besta upplösningen beroende av zoomnivån. Du måste ha skrivrättigheter i katalogen som originaldatan är lagrad i för att kunna skapa pyramider. &lt;/p&gt;
-&lt;p&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Notera att pyramidbyggande kan ändra originaldatan, och när pyramiderna väl har skapats så kan de inte tas bort.&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Visibility</source>
-        <translation type="obsolete">Synlighet</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Use scale dependent rendering</source>
-        <translation type="obsolete">Använd skalberoende rendering</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
-        <source>Maximum 1:</source>
-        <translation>Maximum 1:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
-        <source>Maximum scale at which this layer will be displayed. </source>
-        <translation>Största skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
-        <source>Minimum 1:</source>
-        <translation>Minimum 1:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
-        <source>Minimum scale at which this layer will be displayed. </source>
-        <translation>Minsta skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
-        <source>Display</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
-        <source>Grayscale Image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
-        <source>Color Image</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
-        <source>DebugInfo</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
-        <source>Scale Dependent Visibility</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
-        <source>Spatial Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
-&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
-&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
-        <source>Histogram</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
-        <source>Options</source>
-        <translation type="unfinished">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
-        <source>Out Of Range OK?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
-        <source>Allow Approximation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
-        <source>Chart Type</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
-        <source>Line Graph</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
-        <source>Bar Chart</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
-        <source>Refresh</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsRunProcess</name>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
-        <source>Unable to run command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
-        <source>Unable to run the command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
-        <source>Starting</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
-        <source>Done</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsScaleBarPlugin</name>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
-        <source>Tick Down</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
-        <source>Tick Up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
-        <source>Bar</source>
-        <translation type="unfinished">Streck</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
-        <source>Box</source>
-        <translation type="unfinished">Låda</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
-        <source>&amp;Scale Bar</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
-        <source>Creates a scale bar that is displayed on the map canvas</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
-        <source>&amp;Decorations</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
-        <source> metres/km</source>
-        <translation type="unfinished">meter/km</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
-        <source> feet</source>
-        <translation type="unfinished">feet</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
-        <source> degrees</source>
-        <translation type="unfinished">grader</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
-        <source> km</source>
-        <translation type="unfinished">km</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
-        <source> mm</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
-        <source> cm</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
-        <source> m</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
-        <source> foot</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
-        <source> degree</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
-        <source> unknown</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsScaleBarPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
-        <source>Scale Bar Plugin</source>
-        <translation type="unfinished">Skalplugin</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
-        <source>Click to select the colour</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
-        <source>Size of bar:</source>
-        <translation type="unfinished">Storlek:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
-        <source>Automatically snap to round number on resize</source>
-        <translation type="unfinished">Runda av till vettig storlek</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
-        <source>Colour of bar:</source>
-        <translation type="unfinished">Färg på skala:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
-        <source>Top Left</source>
-        <translation type="unfinished">Uppe till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
-        <source>Top Right</source>
-        <translation type="unfinished">Uppe till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
-        <source>Bottom Left</source>
-        <translation type="unfinished">Nere till vänster</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
-        <source>Bottom Right</source>
-        <translation type="unfinished">Nere till höger</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
-        <source>Enable scale bar</source>
-        <translation type="unfinished">Aktivera skala</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
-        <source>Scale bar style:</source>
-        <translation type="unfinished">Typ av skala:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
-        <source>Select the style of the scale bar</source>
-        <translation type="unfinished">Välj typ av skala</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
-        <source>Tick Down</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
-        <source>Tick Up</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
-        <source>Box</source>
-        <translation type="unfinished">Låda</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
-        <source>Bar</source>
-        <translation type="unfinished">Streck</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
-        <source>Placement:</source>
-        <translation type="unfinished">Placering:</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsScanGeometries</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scanning Geometries</source>
-        <translation type="obsolete">Läser Geometrier</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>textLabel1</source>
-        <translation type="obsolete">textLabel1</translation>
-    </message>
-</context>
-<context>
-    <name>QgsSearchQueryBuilder</name>
-    <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
-        <source>Found %d matching features.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
-        <source>No matching features found.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
-        <source>Search results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
-        <source>Search string parsing error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
-        <source>No Records</source>
-        <translation type="unfinished">Inga Poster</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
-        <source>The query you specified results in zero records being returned.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsServerSourceSelect</name>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
-        <source>Are you sure you want to remove the </source>
-        <translation type="unfinished">Är du säker på att du vill ta bort</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
-        <source> connection and all associated settings?</source>
-        <translation type="unfinished">uppkopplingen och alla tillhörande inställningar?</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>Confirm Delete</source>
-        <translation type="unfinished">Bekräfta Radering</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>No</source>
-        <translation type="unfinished">Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
-        <source>WMS Provider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
-        <source>Could not open the WMS Provider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
-        <source>Select Layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
-        <source>You must select at least one layer first.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
-        <source>Coordinate Reference System (%1 available)</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
-        <source>Could not understand the response.  The</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
-        <source>provider said</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
-        <source>WMS proxies</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
-        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
-        <source>Coordinate Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
-        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsServerSourceSelectBase</name>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
-        <source>Add Layer(s) from a Server</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
-        <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
-        <source>Image encoding</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
-        <source>Layers</source>
-        <translation type="unfinished">Lager</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
-        <source>ID</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
-        <source>Title</source>
-        <translation type="unfinished">Titel</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
-        <source>Abstract</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
-        <source>Server Connections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
-        <source>&amp;New</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
-        <source>Delete</source>
-        <translation type="unfinished">Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
-        <source>Edit</source>
-        <translation type="unfinished">Redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
-        <source>C&amp;onnect</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
-        <source>Ready</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
-        <source>Coordinate Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
-        <source>Change ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
-        <source>Adds a few example WMS servers</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
-        <source>Add default servers</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsShapeFile</name>
-    <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
-        <source>The database gave an error while executing this SQL:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
-        <source>The error was:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
-        <source>... (rest of SQL trimmed)</source>
-        <comment>is appended to a truncated SQL statement</comment>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsSiMaDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>QgsSiMaDialogBase</source>
-        <translation type="obsolete">QgsSiMaDialogBase</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Image</source>
-        <translation type="obsolete">Bild</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale Factor</source>
-        <translation type="obsolete">Skalfaktor</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Directory</source>
-        <translation type="obsolete">Katalog</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Item</source>
-        <translation type="obsolete">Ny Post</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Scale Factor (%)</source>
-        <translation type="obsolete">Skalfaktor (%)</translation>
-    </message>
-</context>
-<context>
-    <name>QgsSiSyDialog</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SolidLine</source>
-        <translation type="obsolete">HelLinje</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>SolidPattern</source>
-        <translation type="obsolete">HeltMönster</translation>
-    </message>
-</context>
-<context>
-    <name>QgsSiSyDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Single Symbol</source>
-        <translation type="obsolete">Enstaka Symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Display Name</source>
-        <translation type="obsolete">Namn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Style</source>
-        <translation type="obsolete">Stil</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill color</source>
-        <translation type="obsolete">Fyllningsfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Width</source>
-        <translation type="obsolete">Bredd</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline color</source>
-        <translation type="obsolete">Kantfärg</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Pattern</source>
-        <translation type="obsolete">Mönster</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Apply</source>
-        <translation type="obsolete">Verkställ</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline</source>
-        <translation type="obsolete">Kant</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill</source>
-        <translation type="obsolete">Fyllning</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Label</source>
-        <translation type="obsolete">Etikett</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Label:</source>
-        <translation type="obsolete">Etikett:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline Style:</source>
-        <translation type="obsolete">Kantstil:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill Color:</source>
-        <translation type="obsolete">Fyllnadsfärg:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline color:</source>
-        <translation type="obsolete">Kantfärg:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Outline Width:</source>
-        <translation type="obsolete">Kantbredd:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Fill Patterns:</source>
-        <translation type="obsolete">Fyllningsmönster:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Clear</source>
-        <translation type="obsolete">Radera</translation>
-    </message>
-</context>
-<context>
-    <name>QgsSingleSymbolDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
-        <source>Single Symbol</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
-        <source>Fill Patterns:</source>
-        <translation type="unfinished">Fyllningsmönster:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
-        <source>Point</source>
-        <translation type="unfinished">Punkt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
-        <source>Size</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
-        <source>Symbol</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
-        <source>Outline Width:</source>
-        <translation type="unfinished">Kantbredd:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
-        <source>Fill Color:</source>
-        <translation type="unfinished">Fyllnadsfärg:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
-        <source>Outline color:</source>
-        <translation type="unfinished">Kantfärg:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
-        <source>Outline Style:</source>
-        <translation type="unfinished">Kantstil:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
-        <source>Label:</source>
-        <translation type="unfinished">Etikett:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
-        <source>No Fill</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsSpit</name>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
-        <source>File Name</source>
-        <translation type="unfinished">Filnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
-        <source>Feature Class</source>
-        <translation type="unfinished">Objektklass</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
-        <source>Features</source>
-        <translation type="unfinished">Objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
-        <source>DB Relation Name</source>
-        <translation type="unfinished">DB-relationsnamn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
-        <source>Schema</source>
-        <translation type="unfinished">Schema</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
-        <source>Are you sure you want to remove the [</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
-        <source>] connection and all associated settings?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>Confirm Delete</source>
-        <translation type="unfinished">Bekräfta Radering</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
-        <source>No</source>
-        <translation type="unfinished">Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
-        <source> - Edit Column Names</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
-        <source>The following Shapefile(s) could not be loaded:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
-        <source>REASON: File cannot be opened</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
-        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
-        <source>General Interface Help:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
-        <source>PostgreSQL Connections:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
-        <source>[New ...] - create a new connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
-        <source>[Edit ...] - edit the currently selected connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
-        <source>[Remove] - remove the currently selected connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
-        <source>-you need to select a connection that works (connects properly) in order to import files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
-        <source>-when changing connections Global Schema also changes accordingly</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
-        <source>Shapefile List:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
-        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
-        <source>[Remove] - remove the currently selected file(s) from the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
-        <source>[Remove All] - remove all the files in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
-        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
-        <source>[Use Default (SRID)] - set SRID to -1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
-        <source>[Geometry Column Name] - name of the geometry column in the database</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
-        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
-        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
-        <source>[Import] - import the current shapefiles in the list</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
-        <source>[Quit] - quit the program
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
-        <source>[Help] - display this help dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
-        <source>Import Shapefiles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
-        <source>You need to specify a Connection first</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
-        <source>Connection failed - Check settings and try again</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
-        <source>You need to add shapefiles to the list first</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
-        <source>Importing files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
-        <source>Progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
-        <source>Problem inserting features from file:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
-        <source>Invalid table name.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
-        <source>No fields detected.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
-        <source>The following fields are duplicates:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
-        <source>Import Shapefiles - Relation Exists</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
-        <source>The Shapefile:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
-        <source>will use [</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
-        <source>] relation for its data,</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
-        <source>which already exists and possibly contains data.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
-        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
-        <source>for this Shapefile in the main dialog file list.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
-        <source>Do you want to overwrite the [</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
-        <source>] relation?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
-        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
-        <source>New Connection</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
-        <source>Add Shapefiles</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
-        <source>Shapefiles (*.shp);;All files (*.*)</source>
-        <translation type="unfinished">Shapefiles (*.shp);;Alla filer(*.*)</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
-        <source>PostGIS not available</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
-        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
-        <source>Checking to see if </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
-        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
-        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsSpitBase</name>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
-        <source>SPIT - Shapefile to PostGIS Import Tool</source>
-        <translation>SPIT - Shapefile-till-PostGIS importeringsverktyg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
-        <source>PostgreSQL Connections</source>
-        <translation>PostgreSQL-uppkopplingar</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
-        <source>Remove</source>
-        <translation>Ta bort</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Edit ...</source>
-        <translation type="obsolete">Redigera ...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New ...</source>
-        <translation type="obsolete">Ny ...</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Connection</source>
-        <translation type="obsolete">Uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
-        <source>Import</source>
-        <translation>Importera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quit</source>
-        <translation type="obsolete">Avsluta</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
-        <source>Shapefile List</source>
-        <translation>Shapefile-lista</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>File Name</source>
-        <translation type="obsolete">Filnamn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Feature Class</source>
-        <translation type="obsolete">Objektklass</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Features</source>
-        <translation type="obsolete">Objekt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>DB Relation Name</source>
-        <translation type="obsolete">DB-relationsnamn</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Schema</source>
-        <translation type="obsolete">Schema</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Use Default</source>
-        <translation type="obsolete">Använd Standard</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
-        <source>Geometry Column Name</source>
-        <translation>Namn på Geometrikolumn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
-        <source>SRID</source>
-        <translation>SRID</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Add ...</source>
-        <translation type="obsolete">Lägg till ...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
-        <source>Remove All</source>
-        <translation>Ta Bort Alla</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
-        <source>Global Schema</source>
-        <translation>Globalt Schema</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
-        <source>Shapefile to PostGIS Import Tool</source>
-        <translation>Shapefile-till-PostGIS-verktyg</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
-        <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importera de definierade shapefilerna till PostGIS</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
-        <source>Add</source>
-        <translation>Lägg till</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
-        <source>Add a shapefile to the list of files to be imported</source>
-        <translation>Lägg till en shapefile till listan av filer som ska importeras</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
-        <source>Remove the selected shapefile from the import list</source>
-        <translation>Ta bort en shapefile från importeringslistan</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
-        <source>Remove all the shapefiles from the import list</source>
-        <translation>Ta bort alla shapefiles från importeringslistan</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
-        <source>Use Default SRID</source>
-        <translation>Använd standardvärde för SRID</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
-        <source>Set the SRID to the default value</source>
-        <translation>Sätt SRID till standardvärde</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
-        <source>Use Default Geometry Column Name</source>
-        <translation>Använd Standardkolumnnamn för Geometri</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
-        <source>Set the geometry column name to the default value</source>
-        <translation>Sätt kolumnnamnet för geometri till standardvärde</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
-        <source>New</source>
-        <translation>Ny</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
-        <source>Create a new PostGIS connection</source>
-        <translation>Skapa en PostGIS-uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
-        <source>Remove the current PostGIS connection</source>
-        <translation>Ta bort nuvarande PostGIS-uppkoppling</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
-        <source>Connect</source>
-        <translation>Koppla upp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
-        <source>Edit</source>
-        <translation>Redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
-        <source>Edit the current PostGIS connection</source>
-        <translation>Ändra den nuvarande PostGIS-uppkopplingen</translation>
-    </message>
-</context>
-<context>
-    <name>QgsSpitPlugin</name>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
-        <source>&amp;Import Shapefiles to PostgreSQL</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
-        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
-        <source>&amp;Spit</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsUValDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Form1</source>
-        <translation type="obsolete">Formulär1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Classification Field:</source>
-        <translation type="obsolete">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Item</source>
-        <translation type="obsolete">Ny Post</translation>
-    </message>
-</context>
-<context>
-    <name>QgsUValMaDialogBase</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Form1</source>
-        <translation type="obsolete">Formulär1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Classification Field:</source>
-        <translation type="obsolete">Klassifikationsfält:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>New Item</source>
-        <translation type="obsolete">Ny Post</translation>
-    </message>
-</context>
-<context>
-    <name>QgsUniqueValueDialogBase</name>
-    <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
-        <source>Form1</source>
-        <translation type="unfinished">Formulär1</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
-        <source>Classification Field:</source>
-        <translation type="unfinished">Klassifikationsfält:</translation>
-    </message>
-</context>
-<context>
-    <name>QgsVectorLayer</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No features found</source>
-        <translation type="obsolete">Inga objekt hittade</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>No features were found in the active layer at the point you clicked</source>
-        <translation type="obsolete">Inga objekt hittades i det aktiva lagret där du klickade</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Tabledisplaytribute table - </source>
-        <translation type="obsolete">Tabledisplaytribute table - </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
-        <source>Attribute table - </source>
-        <translation>Attributtabell -</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Zoom to extent of selected layer</source>
-        <translation type="obsolete">&amp;Zooma till det markerade lagrets utsträckning</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
-        <source>&amp;Open attribute table</source>
-        <translation>&amp;Öppna attributtabell</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Properties</source>
-        <translation type="obsolete">&amp;Egenskaper</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&amp;Remove</source>
-        <translation type="obsolete">&amp;Radera</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>&lt;center&gt;&lt;b&gt;Vector Layer&lt;/b&gt;&lt;/center&gt;</source>
-        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Vektorlager&lt;/b&gt;&lt;/center&gt;</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Show In &amp;Overview</source>
-        <translation type="obsolete">Visa I &amp;Översikt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Start editing</source>
-        <translation type="obsolete">Börja redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Stop editing</source>
-        <translation>Sluta redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
-        <source>Save as shapefile...</source>
-        <translation>Spara som shapefile...</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
-        <source>Provider does not support deletion</source>
-        <translation>Datapluginet stödjer inte radering</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
-        <source>Data provider does not support deleting features</source>
-        <translation>Datapluginet stödjer inte radering av objekt</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
-        <source>Layer not editable</source>
-        <translation>Lagret kan inte redigeras</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>The current layer is not editable. Choose &apos;start editing&apos; in the legend item right click menu</source>
-        <translation type="obsolete">Det markerade lagret kan inte redigeras. Välj &apos;Börja redigera&apos; i popupmenyn i teckenförklaringen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Abort</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>Do you want to save the changes?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
-        <source>&amp;No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
-        <source>Could not commit the added features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
-        <source>No other types of changes will be committed at this time.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
-        <source>Could not commit the changed attributes.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
-        <source>However, the added features were committed OK.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
-        <source>Could not commit the changed geometries.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
-        <source>However, the changed attributes were committed OK.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
-        <source>Could not commit the deleted features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
-        <source>However, the changed geometries were committed OK.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsVectorLayerProperties</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>single symbol</source>
-        <translation type="obsolete">Enstaka symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>graduated symbol</source>
-        <translation type="obsolete">graderad symbol</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>continuous color</source>
-        <translation type="obsolete">kontinuerlig färg</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
-        <source>Transparency: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
-        <source>Single Symbol</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
-        <source>Graduated Symbol</source>
-        <translation type="unfinished">Graderad Symbol</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
-        <source>Continuous Color</source>
-        <translation type="unfinished">Kontinuerlig Färg</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
-        <source>Unique Value</source>
-        <translation type="unfinished">Unik Symbol</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
-        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
-        <translation type="unfinished">Denna knapp öppnar frågebyggaren för PostgreSQL och låter dig skapa en delmängd av objekt som du kan visa i kartvyn istället för att visa alla objekt i lagret</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
-        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
-        <translation type="unfinished">Frågan som används för att begränsa objekten i lagret visas här. Detta kan just nu enbart användas för PostgreSQL-lager. För att ange eller ändra frågan, klicka på Frågebyggarknappen</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
-        <source>Spatial Index</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
-        <source>Creation of spatial index successfull</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
-        <source>Creation of spatial index failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
-        <source>General:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
-        <source>Storage type of this layer : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
-        <source>Source for this layer : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
-        <source>Geometry type of the features in this layer : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
-        <source>The number of features in this layer : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
-        <source>Editing capabilities of this layer : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
-        <source>Extents:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
-        <source>In layer spatial reference system units : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
-        <source>xMin,yMin </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
-        <source> : xMax,yMax </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
-        <source>In project spatial reference system units : </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
-        <source>Layer Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
-        <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
-        <source>Attribute field info:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
-        <source>Field</source>
-        <translation type="unfinished">Fält</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
-        <source>Type</source>
-        <translation type="unfinished">Typ</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
-        <source>Length</source>
-        <translation type="unfinished">Längd</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
-        <source>Precision</source>
-        <translation type="unfinished">Precision</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsVectorLayerPropertiesBase</name>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
-        <source>Layer Properties</source>
-        <translation>Lageregenskaper</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
-        <source>Legend type:</source>
-        <translation>Typ av teckenförklaring:</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Layer source</source>
-        <translation type="obsolete">Lagerkälla</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
-        <source>Help</source>
-        <translation>Hjälp</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>F1</source>
-        <translation type="obsolete">F1</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Settings</source>
-        <translation type="obsolete">Inställningar</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
-        <source>OK</source>
-        <translation>OK</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
-        <source>Cancel</source>
-        <translation>Avbryt</translation>
-    </message>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>TextLabel2</source>
-        <translation type="obsolete">TextEtikett2</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
-        <source>Symbology</source>
-        <translation type="unfinished">Symbologi</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
-        <source>Transparency:</source>
-        <translation type="unfinished">Genomskinlighet:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
-        <source>General</source>
-        <translation type="unfinished">Allmänt</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
-        <source>Use scale dependent rendering</source>
-        <translation type="unfinished">Använd skalberoende rendering</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
-        <source>Maximum 1:</source>
-        <translation type="unfinished">Maximum 1:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
-        <source>Minimum 1:</source>
-        <translation type="unfinished">Minimum 1:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
-        <source>Minimum scale at which this layer will be displayed. </source>
-        <translation type="unfinished">Minsta skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
-        <source>Maximum scale at which this layer will be displayed. </source>
-        <translation type="unfinished">Största skala vid vilken detta lager kommer att visas.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
-        <source>Display name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
-        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
-        <translation type="unfinished">Använd detta fält för att ange vilket attribut som placeras högst upp i dialogrutan Identifiera.</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
-        <source>Spatial Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
-        <source>Change</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
-        <source>Display field for the Identify Results dialog box</source>
-        <translation type="unfinished">Titelfält för dialogrutan Identifiera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
-        <source>This sets the display field for the Identify Results dialog box</source>
-        <translation type="unfinished">Detta anger titelfältet för dialogrutan Identifiera</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
-        <source>Display field</source>
-        <translation type="unfinished">Titelfält</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
-        <source>Subset</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
-        <source>Query Builder</source>
-        <translation type="unfinished">Frågebyggare</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
-        <source>Spatial Index</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
-        <source>Create Spatial Index</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
-        <source>Create</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
-        <source>Metadata</source>
-        <translation type="unfinished">Metadata</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
-        <source>Labels</source>
-        <translation type="unfinished">Etiketter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
-        <source>Display labels</source>
-        <translation type="unfinished">Visa etiketter</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
-        <source>Actions</source>
-        <translation type="unfinished">Kommandon</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
-        <source>Apply</source>
-        <translation type="unfinished">Verkställ</translation>
-    </message>
-</context>
-<context>
-    <name>QgsVectorSymbologyWidgetBase</name>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
-        <source>Form2</source>
-        <translation type="unfinished">Formulär2</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
-        <source>Label</source>
-        <translation type="unfinished">Etikett</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
-        <source>Min</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
-        <source>Max</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
-        <source>Symbol Classes:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
-        <source>Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
-        <source>Mode:</source>
-        <translation type="unfinished">Läge:</translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
-        <source>Field:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsWFSPlugin</name>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
-        <source>&amp;Add WFS layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsWFSSourceSelect</name>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
-        <source>Are you sure you want to remove the </source>
-        <translation type="unfinished">Är du säker på att du vill ta bort</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
-        <source> connection and all associated settings?</source>
-        <translation type="unfinished">uppkopplingen och alla tillhörande inställningar?</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>Confirm Delete</source>
-        <translation type="unfinished">Bekräfta Radering</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>No</source>
-        <translation type="unfinished">Nej</translation>
-    </message>
-</context>
-<context>
-    <name>QgsWFSSourceSelectBase</name>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
-        <source>Title</source>
-        <translation type="unfinished">Titel</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
-        <source>Abstract</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
-        <source>Coordinate Reference System</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
-        <source>Change ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished">Hjälp</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
-        <source>F1</source>
-        <translation type="unfinished">F1</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
-        <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
-        <source>Server Connections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
-        <source>&amp;New</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
-        <source>Delete</source>
-        <translation type="unfinished">Radera</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
-        <source>Edit</source>
-        <translation type="unfinished">Redigera</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
-        <source>C&amp;onnect</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
-        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsWmsProvider</name>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
-        <source>Tried URL: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
-        <source>HTTP Exception</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
-        <source>WMS Service Exception</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
-        <source>DOM Exception</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
-        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
-        <source>This is probably due to an incorrect WMS Server URL.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
-        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
-        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
-        <source>Request contains a Format not offered by the server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
-        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
-        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
-        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
-        <source>Request is for a Layer in a Style not offered by the server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
-        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
-        <source>GetFeatureInfo request contains invalid X or Y value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
-        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
-        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
-        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
-        <source>Request contains an invalid sample dimension value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
-        <source>Request is for an optional operation that is not supported by the server.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
-        <source>(Unknown error code from a post-1.3 WMS server)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
-        <source>The WMS vendor also reported: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
-        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
-        <source>Server Properties:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
-        <source>Property</source>
-        <translation type="unfinished">Egenskap</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
-        <source>Value</source>
-        <translation type="unfinished">Värde</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
-        <source>WMS Version</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
-        <source>Title</source>
-        <translation type="unfinished">Titel</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
-        <source>Abstract</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
-        <source>Keywords</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
-        <source>Online Resource</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
-        <source>Contact Person</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
-        <source>Fees</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
-        <source>Access Constraints</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
-        <source>Image Formats</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
-        <source>Identify Formats</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
-        <source>Layer Count</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
-        <source>Layer Properties: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
-        <source>Selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
-        <source>Yes</source>
-        <translation type="unfinished">Ja</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
-        <source>No</source>
-        <translation type="unfinished">Nej</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
-        <source>Visibility</source>
-        <translation type="unfinished">Synlighet</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
-        <source>Visible</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
-        <source>Hidden</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
-        <source>n/a</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
-        <source>Can Identify</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
-        <source>Can be Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
-        <source>Can Zoom In</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
-        <source>Cascade Count</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
-        <source>Fixed Width</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
-        <source>Fixed Height</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
-        <source>WGS 84 Bounding Box</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
-        <source>Available in CRS</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
-        <source>Available in style</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
-        <source>Name</source>
-        <translation type="unfinished">Namn</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
-        <source>Layer cannot be queried.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>SplashScreen</name>
-    <message>
-        <location filename="" line="136055884"/>
-        <source>Quantum GIS - </source>
-        <translation type="obsolete">Quantum GIS - </translation>
-    </message>
-</context>
-<context>
-    <name>[pluginname]GuiBase</name>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
-        <source>QGIS Plugin Template</source>
-        <translation type="unfinished">QGIS-pluginmall</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
-        <source>&amp;OK</source>
-        <translation type="unfinished">&amp;OK</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
-        <source>Alt+O</source>
-        <translation type="unfinished">Alt+O</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
-        <source>&amp;Cancel</source>
-        <translation type="unfinished">&amp;Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
-        <source>Plugin Template</source>
-        <translation type="unfinished">Pluginmall</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>pluginname</name>
-    <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
-        <source>Replace this with a short description of the what the plugin does</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-</TS>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_sk.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_sk.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_sk.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1503"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>Správca ovládača OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1503"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>nie je možné získať údaje z OGRDriverManager</translation>
     </message>
@@ -16,30 +16,40 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Vložte mapové súradnice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušiť</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Plugin</name>
@@ -715,23 +725,23 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Žiadne nástroje na prístup k údajom</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Žiadne zásuvné moduly na prístup k údajom</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Nie je možné nahrať žiadne vektorové vrstvy. Skontrolujte vašu inštaláciu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Žiadne zásuvné moduly na prístup k údajom nie sú k dispozícii. Žiadne vektorové vrstvy nemôžu byť nahraté</translation>
     </message>
@@ -756,7 +766,7 @@
         <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2876"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGIS súbory (*.qgs)</translation>
     </message>
@@ -828,7 +838,7 @@
 v súčastnosti nepodporuje.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2285"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Otvoriť vrstvu podporovanú knižnicou OGR</translation>
     </message>
@@ -838,17 +848,17 @@
         <translation type="obsolete">Chyba pri čítaní súboru projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation> v riadku </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation> stĺpec </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation> pre súbor </translation>
     </message>
@@ -880,22 +890,22 @@
 lepší výkon).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Nie je možné uložiť súbor</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Regulárne výrazy nemajú pri numerických hodnotách zmysel. Namiesto toho použite porovnávanie hodnôt.</translation>
+        <translation type="obsolete">Regulárne výrazy nemajú pri numerických hodnotách zmysel. Namiesto toho použite porovnávanie hodnôt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation> Stĺpec na ktorý smeroval odkaz sa nenašiel: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Delenie nulou.</translation>
     </message>
@@ -905,177 +915,177 @@
         <translation type="obsolete">Nepodporovaný typ kľúčového stĺpca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Žiadna vrstva nie je aktívna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>Na to, aby bolo možné identifikovať objekty, je potrebné najskôr vybrať aktívnu vrstvu kliknutím na jej meno v okne Legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>akcia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation> objektov nájdených</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1 objekt nájdený</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Nenašli sa žiadne objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>V bode, na ktorý ste klikli sa v aktívnej vrstve nenašli žiadne objekty </translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>Na to, aby bolo možné identifikovať objekty, je potrebné najskôr vybrať aktívnu vrstvu kliknutím na jej meno v okne Legenda</translation>
+        <translation type="obsolete">Na to, aby bolo možné identifikovať objekty, je potrebné najskôr vybrať aktívnu vrstvu kliknutím na jej meno v okne Legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Nemožno identifikovať objekty na</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>z nasledujúceho dôvodu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Nový centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Nový bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Nový uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Posledný bod späť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Uzavrieť líniu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Vybrať uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Vybrať novú polohu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Vybrať líniový úsek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Nová poloha uzla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Uvoľniť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Vymazať uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Uvoľniť uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Vybrať element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Nová lokalita (location)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Uvoľniť vybrané</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Vymazať vybrané / vybrať ďalšie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Vybrať polohu na línii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Rozdeliť líniu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Uvoľniť líniu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Vybrať bod na línii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Rozloha</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Úsek nemožno zamerať. Je správne nastavená tolerancia v Nastavenia &gt; Vlastnosti projektu &gt; Všeobecné?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Nemožno zamerať uzol. Je správne nastavená tolerancia v Nastavenia &gt; Vlastnosti projektu &gt; Všeobecné?</translation>
     </message>
@@ -1085,7 +1095,7 @@
         <translation>Popis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation> Chyba pri čítaní súboru projketu:</translation>
     </message>
@@ -1095,47 +1105,47 @@
         <translation> Na lineárnu transformáciu sú potrebné najmenej dva body.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Na Helmertovu transformáciu sú potrebné najmenej dva body.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Na afinnú transformáciu sú potrebné najmenej štyri body.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation> Nemožno otvoriť zdroj údajov:</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation> Chyba pri parse v riadku</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>Správca údajov vo formáte GPS eXchange</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished">Pri pokuse o transformáciu bodu bola zachytená výnimka súradnicového systému. Dĺžku línie nemožno vypočítať.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished">Pri pokuse o transformáciu bodu bola zachytená výnimka súradnicového systému. Plochu polygónu nemožno vypočítať.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation>Označenie autorských práv</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation>Vypíše na plátno informáciu o autorských právach</translation>
     </message>
@@ -1180,12 +1190,12 @@
         <translation>Nástroje na nahratie a import údajov GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation>vrstva GRASSu</translation>
     </message>
@@ -1200,32 +1210,32 @@
         <translation>Vytvorí súradnicovú sieť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation>Smerová ružica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation>Zobrazí na mape smerovú ružicu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation>[názovpoložkymenu]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation>[popiszásuvnéhomodulu]</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation>Grafická mierka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation>Vykreslí grafickú mierku</translation>
     </message>
@@ -1277,152 +1287,152 @@
         <translation>Údaje GRASSu nebudú dostupné pokiaľ nebude určená GISBASE.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
         <source>Not a vector layer</source>
         <translation>Nie je vektorová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
         <source>The current layer is not a vector layer</source>
         <translation>Táto vrstva nie je vektorovou vrstvou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
         <source>Layer not editable</source>
         <translation>Vrstva nie je upravovateľná</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
         <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
         <translation>Túto vektorovú vrstvu nemožno upravovať. Aby ju bolo možné upravovať je potrebné kliknúť pravý tlačidlom myši na meno vrstvy a zaškrtnúť &apos;Povoliť úpravy&apos;.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
         <source>Wrong editing tool</source>
         <translation>Nesprávny naástroj na úpravy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
         <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
         <translation>Na túto vektorovú vrstvu nemožno používať nástroj &apos;Ziskať bod&apos;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
         <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
         <translation>Na túto vektorovú vrstvu nemožno používať nástroj &apos;Ziskať líniu&apos;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
         <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
         <translation>Na túto vektorovú vrstvu nemožno používať nástroj &apos;Ziskať polygón&apos;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
         <source>Change geometry</source>
         <translation>Zmena geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
         <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
         <translation>Správca údajov pre aktruálnu vrstvu neumožňuje meniť geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
         <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
         <translation type="unfinished">Nemožno upravovať vektorovú vrstvu. Použite položku &apos;Začať upravovať&apos; v kontextovom menu v Legende</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
         <source>Could not open SRS database </source>
-        <translation>Nemožno otvoriť databázu so SRS </translation>
+        <translation type="obsolete">Nemožno otvoriť databázu so SRS </translation>
     </message>
     <message>
         <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
         <source>&lt;br&gt;Error(</source>
-        <translation>&lt;br&gt;Chyba(</translation>
+        <translation type="obsolete">&lt;br&gt;Chyba(</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"> km2</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation> ha</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"> m2</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation> km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"> štv. míľ</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"> štv. stôp</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"> míľ</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation> stopa</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation> stopy</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"> štv. stupň.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation> stupeň</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation>stupne</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation> neznáma</translation>
     </message>
@@ -1472,209 +1482,209 @@
         <translation type="unfinished">Zatvára sa spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished">Lokalita: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished">&lt;br&gt;Súbor máp: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation>Lokalita: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished">&lt;br&gt;Súbor máp: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation>&lt;b&gt;Raster&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation>Nemožno otvoriť hlavičku rastra</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation>Riadkov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation>Stĺpcov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation>Rozlíšenie (S-J)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation>Rozlíšenie (V-Z)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation>Sever</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation>Juh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation>Východ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation>Západ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation>Formát</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation>Minimálna hodnota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation>Maximálna hodnota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation>Zdroj údajov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation>Popis údajov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation>Komentáre</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished">Kategórie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished">&lt;b&gt;Vektor&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation>Body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation>Línie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished">Hranice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished">Centroidy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished">Faces</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished">Kernels</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished">Oblasti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished">Ostrovy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished">Vrch</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished">Spodok</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation>áno</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation>nie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation>História&lt;br&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation>&lt;b&gt;Vrstva&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation>Objekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation>Ovládač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation>Databáza</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation>Tabuľka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation>Stĺpec s kľúčom</translation>
     </message>
@@ -1694,65 +1704,203 @@
         <translation type="unfinished">Nemožno spustiť </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation>Súbor máp (mapset) sa už používa.</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation>Dočasný adresár </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation> existuje, ale nemožno do neho zapisovať</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation>Nemožno vytvoriť dočasný adresár </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation>Nemožno vytvoriť </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished">Nemožno odobrať zámok súboru máp (mapsetu): </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished">Nemožno čítať región rastrovej mapy</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished">Nemožno čítať región vektorovej mapy</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished">Nemožno čítať región</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1019"/>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
         <source>Unable to open </source>
         <translation>Nemožno otvoriť </translation>
     </message>
     <message>
         <location filename="../src/gui/qgsproject.cpp" line="1140"/>
         <source>Cannot get extents from </source>
-        <translation type="unfinished">Nemožno získať rozsah z </translation>
+        <translation type="obsolete">Nemožno získať rozsah z </translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Vrstva nemôže byť pridaná</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Tento nástroj na prístup k údajom nepodporuje pridávanie objektov.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisApp</name>
@@ -1762,42 +1910,42 @@
         <translation type="obsolete">Vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>verzia </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation> s podporou PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation> (bez podpory PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>verzia </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Dostupné zásuvné moduly na prístup k údajom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1920"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>nie je platný alebo rozpoznaný zdroj údajov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5049"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Chybný zdroj údajov</translation>
     </message>
@@ -1837,127 +1985,127 @@
         <translation type="obsolete">Uložiť mapu do:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3383"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Nie je vybratá žiadna vrstva</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="3357"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Pred otvorením tabuľky atribútov je nutné vybrať vrstvu v okne Legenda</translation>
+        <translation type="obsolete">Pred otvorením tabuľky atribútov je nutné vybrať vrstvu v okne Legenda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3840"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Žiadne zásuvné moduly na prácu s vrstvou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3840"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Žiadne zásuvné moduly na prácu s vrstvou v adresári ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3938"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Žiadne zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3939"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>V adresári ../plugins sa nenašli žiadne zásuvné moduly. Na odskúšanie zásuvných modulov spustite qgis z adresára src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3981"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3981"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Zásuvný modul %1 má názov %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4004"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Informácie o zásuvných moduloch</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4005"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis načítal nasledujúci zásuvný modul:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4005"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Meno: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4005"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Verzia: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4006"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Popis: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4025"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Nie je možné nahrať zásuvný modul</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4026"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS nemohol nahrať zásuvný modul z: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4086"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>K dispozícii je nová verzia QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4092"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Používate vývojovú verziu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4096"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Používate aktuálnu verziu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4101"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Prajete si viac informácií?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4148"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Informácie o verzii QGIS</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="4103"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="4103"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4120"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Zo servera nie je možné získať informáciu o aktuálnej verzii</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4134"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Spojenie odmietnuté - server je zrejme vypnutý</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4137"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Nebol nájdený server QGIS</translation>
     </message>
@@ -1987,27 +2135,27 @@
         <translation type="obsolete">Nahrávam zásuvné moduly...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2027"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Chybná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2027"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 je chybná vrstva a nemôže byť nahratá.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3798"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Chyba pri nahrávaní zásuvného modulu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3798"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Pri nahrávaní %1 sa vyskytla chyba.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3166"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Uložiť obrázok mapy do</translation>
     </message>
@@ -2017,12 +2165,12 @@
         <translation type="obsolete">QGIS - zmeny v CVS od posledného vydania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3121"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Vyberte meno súboru, do ktorého sa má uložiť obrázok mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4605"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Rozsah: </translation>
     </message>
@@ -2032,27 +2180,27 @@
         <translation type="obsolete">Web Page: http://qgis.org</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3371"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problém pri mazaní objektov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3372"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Pri mazaní objektov sa vyskytol problém</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3377"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Nie je vybratá žiadna vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3378"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Mazanie objektov funguje iba pri vektorových vrstvách</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3384"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Na vymazanie objektu je treba vybrať vektorovú vrstvu v okne Legenda</translation>
     </message>
@@ -2062,17 +2210,17 @@
         <translation type="obsolete">QGIS pripravené</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS je šírený pod licenciou GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Vykresľovanie</translation>
     </message>
@@ -2157,57 +2305,57 @@
         <translation type="obsolete">QGIS súbory (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2798"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Vyberte súbor QGIS projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2929"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Nie je možné uložiť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2930"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Nie je možné uložiť projekt do </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Okno Legenda, ktoré zobrazuje všetky vrstvy nachádzajúce sa na mapovom plátne. Kliknutím na zaškrtávacie políčko sa zapne alebo vypne vrstva. Dvojklikom na vrstvu v okne Legenda možno prispôsobiť jej vzhľad a nastaviť ostatné vlastnosti.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Okno Mapový prehľad. Táto oblasť môže byť použitá na zobrazenie polohy mapy, kde vidno práve vyobrazený výrez z mapy. Aktuálne zobrazený rozsah je znázornený červeným obdĺžnikom. Do mapového prehľadu je možné pridať ktorúkoľvek vrstvu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Mapové plátno. Toto je oblasť, kde sa zobrazujú vektorové a rastrové vrstvy pridané do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>Zásuvné &amp;moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Ukazovateľ priebehu, ktorý zobrazuje stav vykresľovania vrstiev a iných časovo náročných operácií</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Zobrazuje aktuálnu mierku mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Ukazuje mapové súradnice aktuálnej pozície kurzora. Pri pohybe myši je údaj plynule aktualizovaný.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Pokiaľ je políčko zaškrtnuté, mapové vrstvy sú vykresľované v náväznosti na príkazy mapovej navigácie a ďalšie udalosti. Ak nie je zaškrtnuté, nič sa nevykresľuje. To dovoľuje pridať veľké množstvo vrstiev a upraviť ich symboliku ešte pred ich vykreslením.</translation>
     </message>
@@ -2252,32 +2400,32 @@
         <translation type="obsolete">Údajové sady s názvami súborov v UTF8, Kanji a CJK sú odteraz načítavané správne</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1717"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Otvoriť vektorovú vrstvu podporovanú knižnicou OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2744"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Chyba pri čítaní QGIS projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4933"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Otvoriť rastrový zdroj údajov podporovaný knižnicou GDAL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Prepínač vykresľovania mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Táto ikona ukazuje, či je povolený (zapnutý) priamy prevod medzi mapovými zobrazeniami. Kliknutím na túto ikonu sa otvorí dialóg Vlastnosti projektu, kde je možné zmeniť toto nastavenie.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Stav zobrazenia - kliknutím sa otvorí menu mapových zobrazení</translation>
     </message>
@@ -2287,9 +2435,9 @@
         <translation type="obsolete">Podpora zobrazovania &quot;za jazdy&quot; slúži na automatické premietanie vrstiev z rôznych súradnicových systémov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Skladateľ máp na tvorbu mapových výstupov</translation>
+        <translation type="unfinished">Skladateľ máp na tvorbu mapových výstupov</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -2357,7 +2505,7 @@
         <translation type="obsolete">Zdokonalený nástroj na export pre Mapsever</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2746"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Pokúsiť sa nájsť chýbajúce vrstvy?</translation>
     </message>
@@ -2387,12 +2535,12 @@
         <translation type="obsolete">Mierka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2515"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Uložiť ako</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2614"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Vyberte súbor QGIS projektu, ktorý chcete otvoriť</translation>
     </message>
@@ -2407,24 +2555,24 @@
         <translation type="obsolete">Dané meno súboru projektu už existuje.  Želáte si prepísať týmto projektom?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2922"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Projekt uložený do:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4222"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Výber prehliadača</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4223"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Vložte meno prehliadača www stránok, ktorý sa má používať (napr. konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4224"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Vložte úplnú cestu k prehliadaču, ak nie je v premennej PATH.
@@ -2436,7 +2584,7 @@
         <translation type="obsolete">Toto nastavenie je možné neskôr zmeniť v dialógu Vlastnosti z menu Nastavenia.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1331"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
         <translation>Nové vlastnosti</translation>
     </message>
@@ -2451,22 +2599,22 @@
         <translation type="obsolete">Zapisovanie vrstvy zlyhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2763"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Nie je možné otvoriť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2936"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>Nie je možné uložiť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2998"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Nie je možné načítať projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2999"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>Nemožno načítať projekt</translation>
     </message>
@@ -2481,24 +2629,24 @@
         <translation type="obsolete">Žiadne vrstvy na export. Na to, aby bolo možné exportovať pohľad, je potrebné pridať do mapy aspoň jednu vrstvu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5162"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Neplatná vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5163"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Táto vrstva nie je platnou vrstvou a nemôže byť pridaná do mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4427"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Uložiť?</translation>
     </message>
     <message>
-        <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
         <source>Do you want to save the current project?</source>
-        <translation type="obsolete">Uložiť aktuálny projekt?</translation>
+        <translation type="unfinished">Uložiť aktuálny projekt?</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -2511,12 +2659,12 @@
         <translation type="obsolete">Odobrať všetky vrstvy z mapového prehľadu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Ukázať všetky vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Skryť všetky vrstvy</translation>
     </message>
@@ -2541,42 +2689,42 @@
         <translation type="obsolete">Vymazať výber</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4888"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>Obsah schránky uložený do: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5048"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation>nie je platný, alebo rozpoznaný zdroj údajov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5237"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation>nie je podporovaný zdroj údajov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5238"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Nepodporovaný zdroj údajov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5317"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nová záložka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5318"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Vložte meno novej záložky:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5335"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5335"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Nie je možné vytvoriť záložku. Databáza používateľa chýba, alebo je poškodená</translation>
     </message>
@@ -2591,12 +2739,12 @@
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nový projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Otvoriť projekt...</translation>
     </message>
@@ -2606,17 +2754,17 @@
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Otvoriť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Uložiť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Uložiť projekt &amp;ako...</translation>
     </message>
@@ -2626,7 +2774,7 @@
         <translation type="obsolete">Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Uložiť projekt pod novým menom</translation>
     </message>
@@ -2641,7 +2789,7 @@
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Tlačiť</translation>
     </message>
@@ -2656,7 +2804,7 @@
         <translation type="obsolete">I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Uložiť mapu ako obrázok</translation>
     </message>
@@ -2671,12 +2819,12 @@
         <translation type="obsolete">M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportuje ako súbor .map určený pre MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Koniec</translation>
     </message>
@@ -2686,12 +2834,12 @@
         <translation type="obsolete">Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Ukončiť QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Pridať vektorovú vrstvu</translation>
     </message>
@@ -2701,7 +2849,7 @@
         <translation type="obsolete">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Pridať rastrovú vrstvu</translation>
     </message>
@@ -2711,7 +2859,7 @@
         <translation type="obsolete">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Pridať vrstvu PostGIS</translation>
     </message>
@@ -2721,7 +2869,7 @@
         <translation type="obsolete">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Odobrať vrstvu</translation>
     </message>
@@ -2731,7 +2879,7 @@
         <translation type="obsolete">Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Odoberie vrstvu</translation>
     </message>
@@ -2746,12 +2894,12 @@
         <translation type="obsolete">N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Vytvoriť novú vektorovú vrstvu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Pridať všetky do Prehľadu</translation>
     </message>
@@ -2761,12 +2909,12 @@
         <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Ukázať všetky vrstvy v Prehľade mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Odobrať všetky z Prehľadu</translation>
     </message>
@@ -2776,12 +2924,12 @@
         <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Odoberať všetky vrstvy z Prehľadu mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Ukázať všetky vrstvy</translation>
     </message>
@@ -2791,7 +2939,7 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Skryť všetky vrstvy</translation>
     </message>
@@ -2811,7 +2959,7 @@
         <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Nastaviť vlastnosti projektu</translation>
     </message>
@@ -2826,7 +2974,7 @@
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Zmeniť rôzne vlastnosti QGIS</translation>
     </message>
@@ -2841,12 +2989,12 @@
         <translation type="obsolete">Alt+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Správa vlastných kartografických zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Obsah Pomocníka</translation>
     </message>
@@ -2856,12 +3004,12 @@
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Sprievodná dokumentácia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Domovská stránka Qgis</translation>
     </message>
@@ -2871,7 +3019,7 @@
         <translation type="obsolete">Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>Domovská stránka QGIS</translation>
     </message>
@@ -2891,27 +3039,27 @@
         <translation type="obsolete">Navštívi stránku QGIS na SourceForge</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>O programe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>O programe QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Skontrolovať verziu Qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Skontroluje, či je vaša verzia QGIS aktuálna (to vyžaduje prístup k internetu)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Obnoviť</translation>
     </message>
@@ -2921,12 +3069,12 @@
         <translation type="obsolete">Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Obnoviť mapu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Priblížiť</translation>
     </message>
@@ -2936,7 +3084,7 @@
         <translation type="obsolete">z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Oddialiť</translation>
     </message>
@@ -2946,7 +3094,7 @@
         <translation type="obsolete">Z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Celá mapa</translation>
     </message>
@@ -2956,12 +3104,12 @@
         <translation type="obsolete">f</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Zmeniť pohľad na veľkosť celej mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Na veľkosť výberu</translation>
     </message>
@@ -2971,62 +3119,62 @@
         <translation type="obsolete">F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zmení pohľad na veľkosť výberu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Posun mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Posunúť mapu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Predchádzajúci pohľad</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Predchádzajúci pohľad</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Na veľkosť vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zmení pohľad na veľkosť vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identifikovať objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Kliknutím na objekty ich možno identifikovať</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Vybrať objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Otvoriť tabuľku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation> Merať vzdialenosť</translation>
     </message>
@@ -3036,12 +3184,12 @@
         <translation type="obsolete">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Meranie vzdialeností</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Meranie rozlohy</translation>
     </message>
@@ -3051,7 +3199,7 @@
         <translation type="obsolete">Alt+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Merať rozlohu</translation>
     </message>
@@ -3066,7 +3214,7 @@
         <translation type="obsolete">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Ukázať záložky</translation>
     </message>
@@ -3081,17 +3229,17 @@
         <translation type="obsolete">Pridať vrstvu WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Pridať vrstvu z Web Mapping Server-a</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>Do Prehľadu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Pridať aktívnu vrstvu do Prehľadu mapy</translation>
     </message>
@@ -3101,12 +3249,12 @@
         <translation type="obsolete">Správca zásuvných modulov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Otvoriť správcu zásuvných modulov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Získať bod</translation>
     </message>
@@ -3116,12 +3264,12 @@
         <translation type="obsolete">.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Získať body</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Získať líniu</translation>
     </message>
@@ -3131,12 +3279,12 @@
         <translation type="obsolete">/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Získať línie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Získať polygón</translation>
     </message>
@@ -3146,72 +3294,72 @@
         <translation type="obsolete">Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Získať polygóny</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Súbor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>Pohľa&amp;d</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Nastavenia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Súbor</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Správa vrstiev</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalizácia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Navigácia na mape</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Atribúty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Pripravený</translation>
     </message>
@@ -3221,338 +3369,338 @@
         <translation type="obsolete">Zmazať vybrané</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Zmazať vybrané</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Pridať uzol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Vymazať uzol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Premiestniť uzol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Zmeny v SVN od ostatného vydania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nový projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>&amp;Tlačiť...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Uložiť ako obrázok...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportovať ako mapu pre MapServer...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Pridať vektorovú vrstvu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Pridať rastrovú vrstvu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Pridať vrstvu PostGIS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nová vektorová vrstva...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Vlastnosti projektu...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Vlastnosti...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Vlastné zobrazenia...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nová záložka...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Pridať vrstvu WMS...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Správca zásuvných modulov...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Čítajú sa nastavenia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Nastavuje sa grafické používateľské rozhranie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Kontroluje sa databáza</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Obnovujú sa nahraté zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Inicializujú sa filtre súborov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Obnovuje sa stav okna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS pripravený!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>Nedávno &amp;otvorené projekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2875"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Vyberte meno súboru do ktorého sa uloží súbor projektu QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Uložiť projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
@@ -3560,91 +3708,91 @@
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="644"/>
         <source>Start editing the current layer</source>
-        <translation>Začať upravovať aktuálnu vrstvu</translation>
+        <translation type="obsolete">Začať upravovať aktuálnu vrstvu</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="649"/>
         <source>Stop editing the current layer</source>
-        <translation>Ukončiť úpravy v aktuálnej vrstve</translation>
+        <translation type="obsolete">Ukončiť úpravy v aktuálnej vrstve</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4225"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Voľbu možno upraviť neskôr vybratím položky Možnosti z menu Nastavenia (záložka Prehliadač Pomocníka).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Vystrihnúť objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Vystrihnúť vybrané objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopírovať objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopírovať vybrané objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Vložiť objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Vloží vybrané objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
 Kompilované s knižnicou Qt </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation> , spustené na knižnici Qt </translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="4428"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Prajete si uložiť tento projekt?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Prajete si uložiť tento projekt?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Zobraziť väčšinu panelov s nástrojmi</translation>
     </message>
@@ -3655,7 +3803,7 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Skryť väčšinu panelov s nástrojmi</translation>
     </message>
@@ -3668,111 +3816,111 @@
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="776"/>
         <source>&amp;Toolbars...</source>
-        <translation>&amp;Panely nástrojov...</translation>
+        <translation type="obsolete">&amp;Panely nástrojov...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">Podpora WMS</translation>
+        <translation type="unfinished">Podpora WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Rozšírené možnosti práce na úpravu vektorových vrstiv a tabuľky atribútov</translation>
+        <translation type="unfinished">Rozšírené možnosti práce na úpravu vektorových vrstiv a tabuľky atribútov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Vylepšené nástroje na meranie s možnosťou merania rozlohy</translation>
+        <translation type="unfinished">Vylepšené nástroje na meranie s možnosťou merania rozlohy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Vyhľadávanie v atribútoch</translation>
+        <translation type="unfinished">Vyhľadávanie v atribútoch</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1344"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Nová štruktúra legendy</translation>
+        <translation type="unfinished">Nová štruktúra legendy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Upravené API dovoľujúce využiť knižnice QGIS v mapovacích aplikáciách</translation>
+        <translation type="unfinished">Upravené API dovoľujúce využiť knižnice QGIS v mapovacích aplikáciách</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1348"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Zdokonalený nástroj na export pre MapServer</translation>
+        <translation type="unfinished">Zdokonalený nástroj na export pre MapServer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Možnosť prispôsobenia farby pozadia</translation>
+        <translation type="unfinished">Možnosť prispôsobenia farby pozadia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Priehľadnosť vektorových vrstiev</translation>
+        <translation type="unfinished">Priehľadnosť vektorových vrstiev</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Vyhladzovanie (antialiasing) vektorových vrstiev</translation>
+        <translation type="unfinished">Vyhladzovanie (antialiasing) vektorových vrstiev</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1356"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">Podpora GRASSu na všetkých platformách</translation>
+        <translation type="unfinished">Podpora GRASSu na všetkých platformách</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Rozšírená podpora GRASSu a nové príkazy v nástrojoch GRASSu</translation>
+        <translation type="unfinished">Rozšírená podpora GRASSu a nové príkazy v nástrojoch GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Rozšírená podpora pre úpravy vektorových vrstiev s možnosťou kopírovania/vkladania, zameriavania a úpravy uzlových bodov</translation>
+        <translation type="unfinished">Rozšírená podpora pre úpravy vektorových vrstiev s možnosťou kopírovania/vkladania, zameriavania a úpravy uzlových bodov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1362"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Možnosť úprava vrstiev vo formáte Shapefile/OGR</translation>
+        <translation type="unfinished">Možnosť úprava vrstiev vo formáte Shapefile/OGR</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Pri hľadaní vrstiev PostGIS možnosť len nahliadnuť do tabuľky geometry_columns</translation>
+        <translation type="unfinished">Pri hľadaní vrstiev PostGIS možnosť len nahliadnuť do tabuľky geometry_columns</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1366"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Mnohé vylepšenia užívateľského rozhrania</translation>
+        <translation type="unfinished">Mnohé vylepšenia užívateľského rozhrania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4140"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation>Chyba siete pri komunikácii so serverom</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4143"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation>Neznáma chyba sieťového spojenia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4148"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation>Nemožno nadviazať spojenie so serverom QGIS Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation>T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation>Ctrl+T</translation>
@@ -3780,63 +3928,158 @@
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="946"/>
         <source>Current map scale</source>
-        <translation>Aktuálna mierka mapy</translation>
+        <translation type="obsolete">Aktuálna mierka mapy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation>Mapové súradnice polohy kurzora myši</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1334"/>
         <source>Numerous bug fixes</source>
-        <translation>množstvo opravených chýb</translation>
+        <translation type="obsolete">množstvo opravených chýb</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1336"/>
         <source>Improvements in how segment lengths appear in the measure tool.  The current segment length is shown/updated in the list of segments</source>
-        <translation>vylepšené zobrazovanie úsekov dĺžok zobrazujúcich sa v nástroji na meranie.  Aktuálna dĺžka úseku sa zobrazuje/je aktualizovaná v zozname úsekov</translation>
+        <translation type="obsolete">vylepšené zobrazovanie úsekov dĺžok zobrazujúcich sa v nástroji na meranie.  Aktuálna dĺžka úseku sa zobrazuje/je aktualizovaná v zozname úsekov</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1338"/>
         <source>Improvement to zoom-in speed for rasters</source>
-        <translation>rýchlejšie približovanie rastrov</translation>
+        <translation type="obsolete">rýchlejšie približovanie rastrov</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1340"/>
         <source>Improve line/area measuring behaviour when the user has been informed that they are probably using the wrong projection for the map canvas</source>
-        <translation type="unfinished">zdkokonalené správanie merania línií a plôch &amp;ndash; používateľ je informovaný, že pre mapu na plátne pravdepodobne používa nesprávne mapové zobrazenie</translation>
+        <translation type="obsolete">zdkokonalené správanie merania línií a plôch &amp;ndash; používateľ je informovaný, že pre mapu na plátne pravdepodobne používa nesprávne mapové zobrazenie</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1342"/>
         <source>Added tooltips to the scale and coordinate position displays in the status bar</source>
-        <translation>pridané nástrojové tipy pre mierku a polohu súradníc zobrazujúcu sa v stavovom riadku</translation>
+        <translation type="obsolete">pridané nástrojové tipy pre mierku a polohu súradníc zobrazujúcu sa v stavovom riadku</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1344"/>
         <source>Removed ugly console on WIN32 when not debugging</source>
-        <translation>odstránená nepekná konzola vo WIN32 (okrem režimu Debug)</translation>
+        <translation type="obsolete">odstránená nepekná konzola vo WIN32 (okrem režimu Debug)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1346"/>
         <source>Added icons to all GRASS tools. All GRASS tools are now on the toolbar</source>
-        <translation>pridané ikony pre všetky nástroje GRASSu. Všetky nástroje sú odteraz v paneli nástrojov</translation>
+        <translation type="obsolete">pridané ikony pre všetky nástroje GRASSu. Všetky nástroje sú odteraz v paneli nástrojov</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1348"/>
         <source>New GRASS modules added to the GRASS toolbox</source>
-        <translation>do Nástrojov GRASSu boli pridané nové moduly GRASSu</translation>
+        <translation type="obsolete">do Nástrojov GRASSu boli pridané nové moduly GRASSu</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1350"/>
         <source>The GRASS plugin is now fully internationalized</source>
-        <translation>zásuvný modul GRASSu je plne lokalizovateľný</translation>
+        <translation type="obsolete">zásuvný modul GRASSu je plne lokalizovateľný</translation>
     </message>
     <message>
         <location filename="../src/gui/qgisapp.cpp" line="1352"/>
         <source>Launcher plugin added to core plugins </source>
-        <translation>medzi jadrové zásuvné moduly bol pridaný zásuvný modul Spúšťač</translation>
+        <translation type="obsolete">medzi jadrové zásuvné moduly bol pridaný zásuvný modul Spúšťač</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished">Mierka </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Správca údajov nepodporuje mazanie</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Správca údajov nepodporuje mazanie objektov</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Vrstva nie je upravovateľná</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished">Aktuálna vrstva nie je upravovateľná. V lište Digitalizácia kliknite na ikonu &apos;Začať úpravy&apos;.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -4721,7 +4964,7 @@
         <translation type="obsolete">Vytvorí novú geopriestorovú záložku na rozsah aktuálneho pohľadu.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>HlavneOkno</translation>
     </message>
@@ -4898,7 +5141,7 @@
         <translation>&lt;h2&gt;Vývojári QGIS&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS Výber prehliadača</translation>
     </message>
@@ -4912,7 +5155,7 @@
 Túto voľbu je možné neskôr upraviť vybratím položky Vlastnosti v menu Nastavenia.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -4927,22 +5170,22 @@
 Quantum GIS je šírený pod licenciou GNU General Public License&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>Sponzori QGISu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Nasledujúci ľudia sponzorovali QGIS finančným príspevkom do fondu na vývoj a ostatné výdavky projektu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Domovská stránka</translation>
     </message>
@@ -5035,22 +5278,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation>Názov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation>Akcia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation>Sledovať</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation>Výber akcie</translation>
@@ -5265,7 +5508,7 @@
         <translation type="obsolete">&lt;center&gt;Spustiť akciu&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Spustiť akciu</translation>
     </message>
@@ -5446,42 +5689,42 @@
         <translation type="obsolete">Vý&amp;ber</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>označiť</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>označiť a preniesť navrch</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>ukázať len zodpovedajúce</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Chyba pri kontrole reťazca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Výsledky hľadania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Zadali ste prázdny reťazec.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Chyba počas hľadania</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation>
             <numerusform>Našiel sa %d zodpovedajúci objekt.</numerusform>
@@ -5490,37 +5733,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Nenašli sa žiadne zodpovedajúce objekty.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation>Konflikt názov</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation>Nemožno vložiť atribút. Rovnaký názov už v tabuľke existuje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation>Ukončiť úpravy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation>Prajete si uložiť zmeny?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation>Nemožno odoslať zmeny </translation>
     </message>
@@ -5528,42 +5771,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Skutočne zmazať?</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Áno</translation>
+        <translation type="obsolete">&amp;Áno</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Nie</translation>
+        <translation type="obsolete">&amp;Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Ste si istý, že chcete vymazať záložku </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Chyba pri odstraňovaní záložky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation> Zlyhal pokus o odstránenie záložky</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> z databázy. Správa z databázy:
@@ -5726,22 +5969,22 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Vyberte meno súboru, do ktorého sa má uložiť obrázok mapy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Vyberte meno súboru do ktorého sa má uložiť mapa</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>na čítanie/zápis</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Chyba pri tlači</translation>
     </message>
@@ -5751,17 +5994,17 @@
         <translation type="obsolete">Nemožno formátovať BoundingBox (obdĺžnik ohraničenia)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished">Nemožno požadovať</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Nemožno prepísať BoundingBox (obdĺžnik ohraničenia)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Nemožno nájsť BoundingBox (obdĺžnik ohraničenia)</translation>
     </message>
@@ -5771,87 +6014,87 @@
         <translation type="obsolete">Nemožno formátovať prevod</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Nemožno prepísať prevod</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Nemožno nájsť prevod</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Vstupno/výstupná chyba súboru</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Nezodpovedá veľkosť papiera</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Vybraná veľkosť papiera nezodpovedá veľkosti kompozície</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Priveľký obrázok</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation> Na vytvorenie obrázka</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>  je potrebných približne</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB pamäte</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>Upozornenie (SVG)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Nabudúce už túto správu nezobrazovať</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Funkcia na export do SVG funguje v QGISe problematicky kvôli chybám a nedostatkom v kóde knižnice Qt4. V dôsledku týchto chýb sa v SVG súboroch neobjavuje text, objavujú sa problémy s vymedzením vymedzujúceho obdĺžnika mapy obsahujúceho aj položky ako legendu alebo grafickú mierku.&lt;/p&gt;V prípade, ak ako výstup z QGISu potrebujete vektorovo orientovaný súbor a výstup vo formáte SVG nie je uspokojivý, odporúča sa využiť tlač do PostScriptu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - Skladateľ tlačových výstupov</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Mapa 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Nemožno otvoriť </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>formát</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>Formát SVG</translation>
     </message>
@@ -6060,32 +6303,32 @@
         <translation type="obsolete">Mapa %d</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Rozsah (vypočíta mierku)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Mierka (vypočíta rozsah)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Mapa %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Z vyrovnávacej pamäte</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Prekresľovať</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Iba obdĺžnik</translation>
     </message>
@@ -6176,22 +6419,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Nemožno nahrať obrázok.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Vybrať súbor</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Obrázky (</translation>
     </message>
@@ -6280,37 +6523,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Skupina</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Zlúčiť vybrané vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Z vyrovnávacej pamäte</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Prekresľovať</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Iba obdĺžnik</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Legenda</translation>
     </message>
@@ -6361,97 +6604,97 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Vlastné</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 palcov)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 palcov)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Na výšku</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Na šírku</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Nedostaok voľnej pamäte</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -6460,17 +6703,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Popis</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Nemožno nahrať obrázok.</translation>
     </message>
@@ -6526,27 +6769,27 @@
         <translation type="obsolete">SPIT - Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Vyskúšať spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>Spojenie s </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> bolo úspešné</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Spojenie zlyhalo - skontrolujte nastavenia a skúste znova </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -6563,32 +6806,32 @@
         <translation>Informácie o spojení</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Hostiteľ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Databáza</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Meno používateľa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Meno nového spojenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Heslo</translation>
     </message>
@@ -6605,22 +6848,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Zrušiť</translation>
+        <translation type="obsolete">Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -6628,12 +6871,12 @@
         <translation>Vytvoriť nové PostGIS spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -6730,32 +6973,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Zlyhala</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformácia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>s nasledujúcou chybou:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Neplatný zdrojový priestorový referenčný systém (SRS). </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Súradnice nemožno previesť. SRS je:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Cieľový priestorový referenčný systém (SRS) nie je platný. </translation>
     </message>
@@ -6763,17 +7006,17 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Vľavo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Vľavo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Vpravo hore</translation>
     </message>
@@ -6788,7 +7031,7 @@
         <translation type="obsolete">&amp;Označenie autorských práv</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Vytvorí označenie autorských práv zobrazujúce sa na mapovom plátne.</translation>
     </message>
@@ -6798,12 +7041,12 @@
         <translation type="obsolete">Označenie autorských práv</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Označenie autorských práv</translation>
     </message>
@@ -6883,27 +7126,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message encoding="UTF-8">
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -6946,62 +7189,62 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Vymazať definíciu zobrazenia?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Vymazanie definície zobrazenia je nevratné. Naozaj si želáte vymazať ju?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Prerušiť</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Nová</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Vlastné zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Táto definícia mapového zobrazenia pre proj4 nie je správna. Pred stlačením tlačidla Uložiť je potrebné ju opraviť.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Táto definícia mapového zobrazenia pre proj4 nie je správna. Pred stlačením tlačidla Uložiť je potrebné dať zobrazeniu nejaké meno.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Táto definícia mapového zobrazenia pre proj4 nie je správna. Pred stlačením tlačidla Uložiť je potrebné doplniť príslušné parametre zobrazenia.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Táto definícia mapového zobrazenia pre proj4 nie je správna. Pred stlačením tlačidla Uložiť je potrebné pridať do definície klauzulu &quot;proj=&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Táto definícia elipsoidu pre proj4 nie je správna. Pred stlačením tlačidla Uložiť je potrebné pridať klauzulu &quot;ellips=&quot;.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Táto definícia mapového zobrazenia pre proj4 nie je správna.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Northing (posun na sever) a Easting (posun na východ) musia byť vo forme desatinného čísla.</translation>
     </message>
@@ -7011,19 +7254,19 @@
         <translation type="obsolete">Vnútorná chyba (chybný zdroj mapového zobrazenia?)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Vnútorná chyba (chybný zdroj mapového zobrazenia?)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
         <source> of </source>
-        <translation> z </translation>
+        <translation type="obsolete"> z </translation>
     </message>
     <message>
         <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
         <source>* of </source>
-        <translation>* z </translation>
+        <translation type="obsolete">* z </translation>
     </message>
 </context>
 <context>
@@ -7034,7 +7277,7 @@
         <translation type="obsolete">Formular1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Názov:</translation>
     </message>
@@ -7054,12 +7297,12 @@
         <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Definícia vlastného zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametre:</translation>
     </message>
@@ -7071,37 +7314,37 @@
 parametre:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 z 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Nové</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Uložiť</translation>
     </message>
@@ -7111,12 +7354,12 @@
         <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Vymazať</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Zatvoriť</translation>
     </message>
@@ -7131,37 +7374,37 @@
         <translation type="obsolete">Tu je možné definovať vlastné (mapové) zobrazenie. Definícia musí zodpovedať proj4 formátu špecifikácie priestorového súradnicového systému.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Skúška</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformovať z WGS84 do vybraného zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Vypočítať</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Súradnicový systém zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Zemepisný / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Sever:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Východ:</translation>
     </message>
@@ -7185,63 +7428,79 @@
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Tu je možné nadefinovať vlastné (mapové) zobrazenie. Definícia musí zodpovedať formátu proj4 na určenie priestorového súradnicového systému.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Tu je možné nadefinovať vlastné (mapové) zobrazenie. Definícia musí zodpovedať formátu proj4 na určenie priestorového súradnicového systému.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Tieto textové polia slúžia na odskúšanie definície novovytvoreného zobrazenia. Vložte súradnicu so známou hodnotou zemepisnej dĺžky aj šírky (možno ju zistiť napríklad odčítaním z mapy) a následným stlačením tlačidla Vypočítať si možno overiť, či je daná definícia nového zobrazenia zadaná správne (možno skontrolovať či predpokladané a vypočítané súradnice sú zhodné).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Tieto textové polia slúžia na odskúšanie definície novovytvoreného zobrazenia. Vložte súradnicu so známou hodnotou zemepisnej dĺžky aj šírky (možno ju zistiť napríklad odčítaním z mapy) a následným stlačením tlačidla Vypočítať si možno overiť, či je daná definícia nového zobrazenia zadaná správne (možno skontrolovať či predpokladané a vypočítané súradnice sú zhodné).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Ste si istý, že chcete odstrániť spojenie </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation> a všetky s ním súvisiace nastavenia?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Potvrdenie mazania</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Vyberte tabuľku</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Aby bolo možné pridať vrstvu, je treba najskôr vybrať tabuľku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Heslo pre</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Prosím, vložte vaše heslo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Spojenie zlyhalo</translation>
     </message>
@@ -7256,19 +7515,19 @@
         <translation type="obsolete">Spojenie k databáze %1 na %2 zlyhalo. Databáza je mimo prevádzky, alebo sú nesprávne vaše nastavenia.%3Skontrolujte meno uživateľa a heslo a skúste znova.%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Prístup k relácii </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>s použitím sql;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -7277,72 +7536,72 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Bodová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Multi-bodová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Multi-polygónová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Polygónová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Vrstva zväzku línií</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Vrstva multi-zväzku línií</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Čaká sa na typ vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Neznámy typ vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Spojenie k databáze %1 na %2 zlyhalo. Databáza je mimo prevádzky, alebo sú nesprávne vaše nastavenia.%3Skontrolujte meno používateľa a heslo a skúste znova.%4Výstup z databázy:%5%6</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Vrstva so zmiešanou geometriou</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished">Vrstva s kolekciou geometrie</translation>
     </message>
@@ -7451,7 +7710,7 @@
 <context>
     <name>QgsDelimitedTextPlugin</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>&amp;Oddelený text</translation>
     </message>
@@ -7489,30 +7748,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Žiadne meno vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Vložte prosím meno vrstvy skôr, než ju pridáte do mapy </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Žiadny oddeľovač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Prosím uveďte oddeľovač skôr než sa bude preskúmavať súbor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Vyberte súbor s oddeleným textom</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -7524,7 +7793,7 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Zrušiť</translation>
+        <translation type="obsolete">Zrušiť</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -7534,180 +7803,180 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Pomocník pri používaní zásuvného modulu</translation>
+        <translation type="obsolete">Pomocník pri používaní zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Otvorí pomocníka pre zásuvný modul pre spracovanie textového súboru s oddeleným textom (Delimited Text File) vo vami nastavenom prehliadači</translation>
+        <translation type="obsolete">Otvorí pomocníka pre zásuvný modul pre spracovanie textového súboru s oddeleným textom (Delimited Text File) vo vami nastavenom prehliadači</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Preskúmať riadok s hlavičkou a zaktualizovať zoznamy polí X a Y</translation>
+        <translation type="obsolete">Preskúmať riadok s hlavičkou a zaktualizovať zoznamy polí X a Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Preskúma hlavičkový riadok vstupného súboru a zaktualizuje polia X a Y v rozbaľovacom menu. Tlačidlo na obnovenie zoznamov polí sa používa, ak sa po vybratí súboru s oddeleným textom zmenil znak oddeľovača.</translation>
+        <translation type="obsolete">Preskúma hlavičkový riadok vstupného súboru a zaktualizuje polia X a Y v rozbaľovacom menu. Tlačidlo na obnovenie zoznamov polí sa používa, ak sa po vybratí súboru s oddeleným textom zmenil znak oddeľovača.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Vytvorí vrstvu s použitím uvedených parametrov a pridá ju do mapy. Dialóg zostáva otvorený, aby bolo možné pridať ďalšie vrstvy.</translation>
+        <translation type="obsolete">Vytvorí vrstvu s použitím uvedených parametrov a pridá ju do mapy. Dialóg zostáva otvorený, aby bolo možné pridať ďalšie vrstvy.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Zatvoriť dialóg</translation>
+        <translation type="obsolete">Zatvoriť dialóg</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Zatvorí tento dialóg bez toho, žeby čosi bolo pridané do mapy.</translation>
+        <translation type="obsolete">Zatvorí tento dialóg bez toho, žeby čosi bolo pridané do mapy.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Pole X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Meno poľa obsahujúceho x-ové hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Meno poľa obsahujúceho x-ové hodnoty. Pole vyberte zo zoznamu. Zoznam je vytvorený na základe preskúmania hlavičkového riadku súboru s oddeleným textom.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Pole Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Meno poľa obsahujúceho y-ové hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Meno poľa obsahujúceho y-ové hodnoty. Pole vyberte zo zoznamu. Zoznam je generovaný na základe preskúmania hlavičkového riadku súboru s oddeleným textom.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Meno vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Meno, ktoré sa objaví v mapovej legende</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Názov zobrazený v okne Legenda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Oddeľovač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Oddeľovač používaný na oddelenie jednotlivých polí v textovom súbore. Oddeľovač sa môže skladať aj viac než z jedného znaku.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Oddeľovač používaný na oddelenie jednotlivých polí v textovom súbore s oddeleným textom. Oddeľovač sa môže skladať z jedného alebo viac znakov.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Vrstva z oddeleného textu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Súbor s oddeleným textom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Úplná cesta k textovému súboru s oddeleným textom</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Úplná cesta k textovému súboru s oddeleným textom (Delimited Text File). Na to, aby bolo možné preskúmať polia v súbore, musí byť najskôr (prv než meno súboru) správne nastavený oddeľovač textu. Na výber vstupného súboru možno použiť tlačidlo napravo od tohoto poľa.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Prechádzať a nájsť súbor s oddeleným textom, ktorý bude spracovaný</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Toto tlačidlo slúži na nájdenie umiestnenia, kde sa nachádza súbor s oddeleným textom. Tlačidlo nebude prístupné kým nebude vyplnené pole &lt;i&gt;Oddeľovač&lt;/i&gt;. Po vybratí súboru budú automaticky (podľa obsahu súboru s oddeleným textom) naplnené aj rozbaľovacie menu s poliami X a Y.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Pridať vrstvu použijúc rozdeľovník, súbor a špecifikáciu x/y polí</translation>
+        <translation type="obsolete">Pridať vrstvu použijúc rozdeľovník, súbor a špecifikáciu x/y polí</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Preskúmať</translation>
+        <translation type="obsolete">&amp;Preskúmať</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>Prid&amp;ať vrstvu</translation>
+        <translation type="obsolete">Prid&amp;ať vrstvu</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Zatvoriť</translation>
+        <translation type="obsolete">&amp;Zatvoriť</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Vzorka textu</translation>
     </message>
@@ -7746,20 +8015,33 @@
 &lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Popis&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Vyberte súbor s oddeleným textom obsahujúcim x-ové a y-ové súradnice, ktorý chcete použiť ako vrstvu bodov a tento zásuvný modul sa o ostatné už postará sám! &lt;/p&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Popis&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Vyberte súbor s oddeleným textom obsahujúcim x-ové a y-ové súradnice, ktorý chcete použiť ako vrstvu bodov a tento zásuvný modul sa o ostatné už postará sám! &lt;/p&gt;
 &lt;p&gt;Pole Meno vrstvy vrstvy určuje meno novej vrstvy v okne Legenda. Do poľa Oddeľovač sa zadáva znak oddeľovača používaného vo vašom súbore (napr. medzera, čiarka alebo tabulátor). Nezabudnite, že toto políčko akceptuje regulárne výrazy, takže pre tabulátor je potrebné použiť \t . Po zadaní oddeľovača, kliknite na tlačidlo Preskúmať a vyberte stĺpce obsahujúce x-ové a a y-ové hodnoty danej vrstvy.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
 </translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
         <source>Save layer as...</source>
-        <translation>Uložiť vrstvu ako...</translation>
+        <translation type="obsolete">Uložiť vrstvu ako...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>Poznámka: nasledujúce riadky neboli nahraté pretože QGIS nedokázal rozpoznať hodnoty pre súradnice x a y:
@@ -7769,70 +8051,70 @@
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Súbory ESRI Shape (*.shp)</translation>
+        <translation type="obsolete">Súbory ESRI Shape (*.shp)</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
         <source>Error creating field </source>
-        <translation>Chyba pri vytváraní pola </translation>
+        <translation type="obsolete">Chyba pri vytváraní pola </translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
         <source>Layer creation failed</source>
-        <translation>Vytvorenie vrstvy zlyhalo</translation>
+        <translation type="obsolete">Vytvorenie vrstvy zlyhalo</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
         <source>Error creating shapefile</source>
-        <translation>Chyba pri vytváraní súboru Shape</translation>
+        <translation type="obsolete">Chyba pri vytváraní súboru Shape</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
         <source>The shapefile could not be created (</source>
-        <translation>Súbor Shape nemožno vytvoriť (</translation>
+        <translation type="obsolete">Súbor Shape nemožno vytvoriť (</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
         <source>Driver not found</source>
-        <translation>Ovládač sa nenašiel</translation>
+        <translation type="obsolete">Ovládač sa nenašiel</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
         <source> driver is not available</source>
-        <translation> ovládač nie je dostupný</translation>
+        <translation type="obsolete"> ovládač nie je dostupný</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Tvorba okolia (buffera) objektov</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -7840,57 +8122,57 @@
         <translation type="obsolete">Nastavenie okolia (buffera):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Veľkosť okolia (buffera) v mapových jednotkách:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Meno tabuľky pre vrstvu s okolím (bufferom):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Vytvoriť objekt s jedinečným id</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>public</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Stĺpec s geometriou:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>ID priestorového ref. systému:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Jedinečné pole použiť ako id objektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schéma:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Pridať do mapy vrstvu s okolím (bufferom)?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Vytvoriť okolie (buffer) objektov vrstvy: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametre</translation>
     </message>
@@ -8341,25 +8623,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Rezervované slová</translation>
     </message>
@@ -8374,7 +8656,7 @@
         <translation>Meno stĺpca</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento súbor shape obsahuje rezervované slová. Tieto môžu mať vplyv na import do databázy PostgreSQL. Upravte mená stĺpcov tak, aby nebolo použité žiadne z rezervovaných slov uvedených napravo (upraviť ho možno kliknitím na položku Meno stĺpca). Taktiež možno zmeniť meno aj ľubovoľného ďalšieho stĺpca.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -8382,17 +8664,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Stav</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Meno stĺpca</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -8607,22 +8889,22 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;Nástroje GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>Vytvoriť &amp;novú vrstvu GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Vytvorí novú vrstvu GPX a zobrazí ju v mapovom pohľade</translation>
     </message>
@@ -8632,74 +8914,74 @@
         <translation type="obsolete">Nástroje GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Uložiť novú vrstvu GPX ako...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>Výmennný súbor GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Nemožno vytvoriť súbor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation> Nemožno vytvoriť súbor GPX s daným menom.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation> Zmeňte meno súboru alebo adresár a skúste</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>znova.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>Nahrávač GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Vybraný súbor nemožno prečítať.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Prosím vyberte platný súbor.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Nemožno spustiť proces</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Nemožno spustiť GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importujú sa údaje...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Zrušiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -8707,32 +8989,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Chyba pri importe údajov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Nepodporované</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation> Toto zariadenie nepodporuje stiahnutie (download) údajov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation> z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Sťahujú sa údaje...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -8740,22 +9022,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Chyba pri sťahovaní údajov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation> Toto zariadenie nepodporuje nahrávanie (upload) z </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Nahrávajú sa údaje...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -8763,7 +9045,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Chyba pri nahrávaní údajov</translation>
     </message>
@@ -8771,22 +9053,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Vyberte meno súboru do ktorého sa bude ukladať</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>Výmennný súbor GPS (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Vyberte súbor GPX</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Vyberte súbor a formát na import</translation>
     </message>
@@ -8799,7 +9081,7 @@
         <translation>Nástroje na prácu s GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Nahrať GPX súbor</translation>
     </message>
@@ -8818,37 +9100,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Súbor:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Typy objektov:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Orientačné body (waypoints)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Cesty (routes)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Stopy (tracks)</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importovať iný súbor</translation>
     </message>
@@ -8879,27 +9161,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Súbor na import:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Typ objektu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Výstupný súbor GPX:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Názov vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Stiahnuť z GPS</translation>
     </message>
@@ -8927,27 +9209,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Upraviť zariadenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS zariadenie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Výstupný súbor:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Nahrať do GPS</translation>
     </message>
@@ -8976,29 +9258,29 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Vrstva údajov:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -9024,7 +9306,7 @@
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
@@ -9033,7 +9315,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX znamená &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt; (výmenný formát GPS), ktorý sa používa na ukladanie informácií o orientačných bodoch (waypoints), cestách (routes) a stopách (tracks).&lt;/span&gt;&lt;/p&gt;
@@ -9046,7 +9328,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS sám o sebe môže iba nahrávať (načítavať) GPX súbory, ale s použitím nástroja GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;) je možné skonvertovať do GPX mnoho ďalších formátov. Na to je potrebné, aby bol GPSBabel nainštalovaný tam, kde ho môže QGIS nájsť.&lt;/span&gt;&lt;/p&gt;
@@ -9059,7 +9341,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Tento nástroj vám pomôže stiahnuť údaje zo zariadenia GPS. Vyberte zariadenie GPS, port ku ktorému je pripojené, typ objektov, ktorý sa má sťahovať, meno novej vrstvy a súboru GPX, kam sa údaje majú uložiť. Ak vaše zariadenie nie je v zozname, alebo ak je potrebné zmeniť niektoré nastavenia, je možné tento zoznam aj vlastnosti zariadení upraviť (prispôsobiť).&lt;/span&gt;&lt;/p&gt;
@@ -9072,37 +9354,83 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Tento nástroj vám pomôže nahrať údaje zo súboru GPX do zariadenia GPS. Vyberte vrstvu, ktorú chcete nahrať, zariadenie do ktorého ju chcete nahrať, a port, ku ktorému je zariadenie pripojené. Ak vaše zariadenie nie je v zozname, alebo ak je potrebné zmeniť niektoré nastavenia, je možné tento zoznam aj vlastnosti zariadení upraviť (prispôsobiť).&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Tento nástroj využíva na prenos údajov program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;). Tento nástroj nebude fungovať pokiaľ nie je GPSBabel nainštalovaný v adresári dostupnom pre QGIS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Chybné URI - je potrebné manuálne určiť typ objektu.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>Súbor GPS eXchange</translation>
     </message>
     <message>
         <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished">Upozornenie: prístup požadovaný na chybnú pozíciu v QgsGPXProvider::minValue(..)</translation>
+        <translation type="obsolete">Upozornenie: prístup požadovaný na chybnú pozíciu v QgsGPXProvider::minValue(..)</translation>
     </message>
     <message>
         <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished">Upozornenie: prístup požadovaný na chybnú pozíciu v QgsGPXProvider::maxValue(..)</translation>
+        <translation type="obsolete">Upozornenie: prístup požadovaný na chybnú pozíciu v QgsGPXProvider::maxValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitalizované v QGISe</translation>
     </message>
@@ -9110,12 +9438,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -9128,34 +9456,34 @@
         <translation type="obsolete">Vyberte geometrický typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Línia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polygón</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Zrušiť</translation>
+        <translation type="obsolete">Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -9163,17 +9491,17 @@
         <translation>Nová vektorová vrstva</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Atribúty:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Pridať</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation type="unfinished">Stĺpec 1</translation>
     </message>
@@ -9183,17 +9511,17 @@
         <translation type="obsolete">Nová položka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Odobrať</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Formát súboru:</translation>
     </message>
@@ -9201,7 +9529,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Georeferencer</translation>
     </message>
@@ -9272,22 +9600,22 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georerenčný modul</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Zatvoriť</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Rastrový súbor:</translation>
     </message>
@@ -9305,7 +9633,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Vložte world súradnice</translation>
     </message>
@@ -9336,45 +9664,50 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento zásuvný dokáže vygenerovať world súbory pre rastre. Stačí vybrať body a určiť ich skutočné world súradnice, a modul vypočíta parametre world súboru. Viac súradníc umožňuje dosiahnuť lepšie výsledky.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation type="unfinished">Voľby zakrivenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Prevzorkovacia metóda:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Metóda najbližšieho suseda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Lineárna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Kubická</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Ak bude treba, použiť 0 pre priehľadnosť</translation>
     </message>
@@ -9459,36 +9792,46 @@
     <message>
         <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
         <source>Empty</source>
-        <translation>Prázdny</translation>
+        <translation type="obsolete">Prázdny</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
         <source>Equal Interval</source>
-        <translation>Rovnaký interval</translation>
+        <translation type="obsolete">Rovnaký interval</translation>
     </message>
 </context>
 <context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>stupňovaný symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Triediť podľa poľa:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Mód:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Počet tried:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -9498,22 +9841,22 @@
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation>Stĺpec</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Pole</translation>
     </message>
@@ -9579,77 +9922,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Nástroje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Pridať vybranú mapu na plátno</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Vymazať vybranú mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Obnoviť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopírovať vybranú mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Premenovať vybranú mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Nastaviť aktuálny región na rozsah vybranej mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation> Nemožno skopírovať mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation> &lt;br&gt;príkaz:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation> Nemožno premenovať mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Odstrániť mapu &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation> Nemožno odstrániť mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>Nemožno zapísať nový región</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation>Nové meno</translation>
     </message>
@@ -9662,12 +10005,12 @@
         <translation type="obsolete">Nový uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Nový bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Nový centroid</translation>
     </message>
@@ -9732,7 +10075,7 @@
         <translation type="obsolete">Uvoľniť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Vymazať uzol</translation>
     </message>
@@ -9757,12 +10100,12 @@
         <translation type="obsolete">Vybrať bod na línii</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation> Ľavé tlačidlo: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation> Stredné tlačidlo: </translation>
     </message>
@@ -9772,32 +10115,32 @@
         <translation type="obsolete"> Pravé tlačidlo: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Nástroje na úpravy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Nová línia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Nové ohraničenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Presunúť uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Pridať uzol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Rozdeliť líniu</translation>
     </message>
@@ -9812,196 +10155,196 @@
         <translation type="obsolete">Vymazať líniu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Upraviť atribúty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Zatvoriť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Posun prvku</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Vymazať prvok</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation>Nie ste vlastníkom tohto súboru máp (mapsetu), vektorovú vrstvu nemožno otvoriť pre úpravy.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished">Nemožno otvoriť vektorovú mapu pre update.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished">Info</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished">Tabuľka bola vytvorená</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Nástroj nie je zatiaľ implementovaný.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation>Nemožno skontrolovať osirelý záznam: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>V tabuľke atribútov ostal osirelý záznam. &lt;br&gt;Zmazať tento záznam?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation>Nemožno zmazať osirelý záznam: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished">Nemožno opísať tabuľku pre pole </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation>Pozadie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation>Zvýraznenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished">Dynamický</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation>Línia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation>Ohraničenie (nie oblasť)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation>Ohraničenie (1 oblasť)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation>Ohraničenie (2 oblasti)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation>Centroid (v oblasti)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation>Centroid (mimo oblasti)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished">Centroid (dvojník v oblasti)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished">Uzol (1 línia)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished">Uzol (2 línie)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished">Zobraz</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation>Farba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation>Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation>Stĺpec</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation>Najbližšie nepoužité</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation>Ručné vkladanie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation>Bez kategórie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished">Pravé: </translation>
     </message>
@@ -10212,32 +10555,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation>Zrušiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished">&lt;font color=&apos;red&apos;&gt;Vložte meno!&lt;/font&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished">&lt;font color=&apos;red&apos;&gt;Toto je meno zdroja!&lt;/font&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation>&lt;font color=&apos;red&apos;&gt;Existuje!&lt;/font&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished">Prepísať</translation>
     </message>
@@ -10681,12 +11024,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Spustiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Zastaviť</translation>
     </message>
@@ -10696,149 +11039,154 @@
         <translation>Modul</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation>Súbor modulu (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation>) sa nenašiel.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation>Nemožno otvoriť súbor modulu (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation>)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation>Nemožno čítať súbor modulu (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation>): 
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
 na riadku </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation>Modul </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation> sa nenašiel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished">Nemožno nájsť manuálovú stránku </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished">Nedostupné, popis sa nenašiel (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished">Nedostupné, nemožno otvoriť popis (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation> stĺpec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished">Nedostupné, nesprávny popis (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished">Nemožno získať vstupný región</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
         <source>Input </source>
-        <translation>Vstup </translation>
+        <translation type="obsolete">Vstup </translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
         <source> outside current region!</source>
-        <translation> je mimo aktuálneho regiónu!</translation>
+        <translation type="obsolete"> je mimo aktuálneho regiónu!</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
         <source>Use input region</source>
-        <translation type="unfinished">Použite región vstupu</translation>
+        <translation type="obsolete">Použite región vstupu</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Continue</source>
-        <translation>Pokračovať</translation>
+        <translation type="obsolete">Pokračovať</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cancel</source>
-        <translation>Zrušiť</translation>
+        <translation type="obsolete">Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
         <source>Output </source>
-        <translation type="unfinished">Výstup </translation>
+        <translation type="obsolete">Výstup </translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
         <source> exists! Overwrite?</source>
-        <translation> esistuje! Prepísať?</translation>
+        <translation type="obsolete"> esistuje! Prepísať?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation>Nemožno nájsť modul </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation>Nemožno spustiť modul: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation>&lt;B&gt;Úspešne dokončené&lt;/B&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation>&lt;B&gt;Dokončené s chybami&lt;/B&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation>&lt;B&gt;Modul havaroval alebo bol zabitý&lt;/B&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassModuleBase</name>
@@ -10886,7 +11234,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished">Atribútové pole</translation>
     </message>
@@ -10894,17 +11242,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation>Súbor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation>:&amp;nbsp;chýbajúca hodnota</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation>:&amp;nbsp;adresár neexistuje</translation>
     </message>
@@ -10912,22 +11260,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished">Nemožno nájsť voľbu pre vrstvu </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished">Ovládač PostGIS nepodporuje schémy!&lt;br&gt;Bude použitý iba názov tabuľky.&lt;br&gt;To môže viesť k chybnému výsledku pokiaľ má viacero tabuliek to isté meno&lt;br&gt;v jednej databáze.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation>:&amp;nbsp;žiadny vstup</translation>
     </message>
@@ -10935,42 +11283,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished">Nemožno nájsť voľbu type </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished">Nemožno nájsť hodnoty pre voľbu typ </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished">Nemožno nájsť voľbu vrstva </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished">GRASS prvok </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"> nie je podporovaný</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished">Použite región tejto mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation>:&amp;nbsp;žiaden vstup</translation>
     </message>
@@ -10978,7 +11326,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation>:&amp;nbsp;chýbajúca hodnota</translation>
     </message>
@@ -10986,7 +11334,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished">Atribútové pole</translation>
     </message>
@@ -10994,71 +11342,71 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished">Nemožno nájsť modul </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation>Nemožno spustiť modul </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation>Nemožno prečítať popis k modulu (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation>):
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
 na riadku </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"> stĺpec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished">Nemožno nájsť kľúč </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished">Položka s id </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"> sa nenašla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">Nemožno zistiť aktuálny región</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished">Nemožno skontrolovať región mapy </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished">Nemožno nastaviť región mapy </translation>
     </message>
@@ -11166,7 +11514,7 @@
         <translation type="unfinished">Vybrané mapové zobraznie nie je podporované GRASSom!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
@@ -11191,131 +11539,131 @@
         <translation type="unfinished">Východ musí mať väčšiu hodnotu ako západ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished">Súbor s regiónom (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) sa nenašiel.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished">Nemožno otvoriť súbor s lokalitami (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation>)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished">Nemožno čítať súbor s lokalitami (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished">):
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
 v riadku </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"> stĺpec </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished">Nemožno vytvoriť QgsSpatialRefSys</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished">Nemožno reprojektovať vybraný región.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished">Nemožno prezobraziť región</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished">Zadajte názov súboru máp (mapsetu)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished">Súbor máp (mapset) už existuje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation>Databáza: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation>Lokalita: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished">Súbor máp (mapset): </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished">Vytvoriť lokalitu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished">Nemožno vytvoriť novú lokalitu: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished">Vytvoriť mapset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished">Nemožno vytvoriť nový adresár s mapsetmi!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished">Nemožno otvoriť DEFAULT_WIND</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished">Nemožno otvoriť WIND</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Nový súbor máp (mapset)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished">Nový mapset bol úspečšne vytvorený ale nemožno ho otvoriť: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished">Nový mapset bol úspešne vytvorený a nastavený ako súčasný pracovný mapset.</translation>
     </message>
@@ -11476,162 +11824,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Otvoriť súbor máp (mapset)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Nový súbor máp (mapset)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Zatvoriť súbor máp (mapset)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Pridať vektorovú vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Pridať rastrovú vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Otvoriť nástroje GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Zobraziť aktuálny región GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Upraviť aktuálny región GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Upraviť vektorovú vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Na mapové plátno pridá vektorovú vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Na mapové plátno pridá rastrovú vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Zobrazí na mapovom plátne aktuálny región GRASSu ako obdĺžnik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Upraví aktuálny región GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Upraví vybranú vektorovú vrstvu GRASSu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished">GrassVektor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation>0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation>Vrstva GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished">GRASS úpravy už prebiehajú.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished">Nemožno vytvoriť nový vektor: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished">Nový vektor vytvorený, ale nemôže byť otvorený správcom údajov.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished">Nemožno začať upravovať.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished">GISDBASE, LOCATION_NAME alebo MAPSET nie je nastavený, nemožno zobraziť aktuálny región.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished">Nemožno čítať aktuálny región: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished">Nemožno otvoriť tento súbopr máp. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished">Nemožno zavrieť súbor máp. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished">Nemožno zavrieť aktuálny súbor máp. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished">Nemožno otvoriť súbor máp GRASSu. </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished">Vytvoriť novú vektor. vrstvu GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished">Nové meno vektora</translation>
     </message>
@@ -11639,22 +11987,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished">GISDBASE, LOCATION_NAME alebo MAPSET nie je nastavený, nemožno zobraziť aktuálny región.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished">Nemožno čítať aktuálny región: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished">Nemožno zapísať región</translation>
     </message>
@@ -11853,32 +12201,32 @@
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
         <source>Warning</source>
-        <translation>Upozornenie</translation>
+        <translation type="obsolete">Upozornenie</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
         <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished">GRASS Shell nie je podporovaný pod Windows.</translation>
+        <translation type="obsolete">GRASS Shell nie je podporovaný pod Windows.</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
         <source>GRASS shell is not supported</source>
-        <translation type="unfinished">GRASS shell nie je podporovaný</translation>
+        <translation type="obsolete">GRASS shell nie je podporovaný</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
         <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished">Nemožno otvoriť pseudo terminál</translation>
+        <translation type="obsolete">Nemožno otvoriť pseudo terminál</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
         <source>Cannot fork shell</source>
-        <translation type="unfinished">Nemožno forknut shell</translation>
+        <translation type="obsolete">Nemožno forknut shell</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
         <source>Cannot open slave file in child process</source>
-        <translation type="unfinished">Nemožno otvoriť slave súbor v child procese</translation>
+        <translation type="obsolete">Nemožno otvoriť slave súbor v child procese</translation>
     </message>
 </context>
 <context>
@@ -11892,79 +12240,79 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation>Moduly</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation>Prehliadač</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation>Nástroje GRASSu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation>Nástroje GRASSu: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation>Nemožno nájsť MSYS (</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
         <source>Cannot start MSYS (</source>
-        <translation>Nemožno spustiť MSYS (</translation>
+        <translation type="obsolete">Nemožno spustiť MSYS (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished">GRASS Shell nie je skompilovaný.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation>Konfiguračný súbor (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation>) sa nenašiel.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished">Nemožno otvoriť konfiguračný súbor (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation>)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation>Nemožno čítať konfiguračný súbor (</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
 na riadku </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"> stĺpec </translation>
     </message>
@@ -12030,7 +12378,7 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Súradnicové siete</translation>
     </message>
@@ -12040,7 +12388,7 @@
         <translation type="obsolete">&amp;Tvorba súradnicovej siete</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Vytvorí súradnicovú sieť (mriežku) a výsledok uloží ako súbor shape</translation>
     </message>
@@ -12050,7 +12398,7 @@
         <translation type="obsolete">Tvorba súradnicovej siete</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Tvorba súradnicovej siete</translation>
     </message>
@@ -12116,32 +12464,32 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS šablóna zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Tvorba siete zemepisných súradníc</translation>
     </message>
@@ -12163,12 +12511,12 @@
         <translation type="obsolete">Počiatok (ľavý dolný)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Geogr. šírka:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Geogr. dĺžka:</translation>
     </message>
@@ -12185,7 +12533,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -12193,12 +12541,12 @@
         <translation type="obsolete">Veľkosť siete (jednotky v stupňoch)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Interval medzi rovnobežkami: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Interval medzi poludníkmi:</translation>
     </message>
@@ -12218,12 +12566,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;
 &lt;p&gt;Tento zásuvný modul vám pomôže zostrojiť súbor shape so zemepisnou sieťou, ktorú možno preložiť cez mapy vo vašom mapovom prehliadači QGIS.&lt;/p&gt;
@@ -12231,45 +12579,50 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Línia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polygón</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Počiatok (ľavý dolný roh)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Koncový bod (pravý horný roh)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Veľkosť siete (v desiatkových stupňoch)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Výstupný (shape) súbor</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -12284,12 +12637,12 @@
         <translation>Zlyhal pokus získať pomocný text z databázy</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>Databáza Pomocníka QGIS nie je nainštalovaná</translation>
     </message>
@@ -12441,27 +12794,27 @@
         <translation type="obsolete">&lt;center&gt;Vykonať akciu&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>Výsledky identifikácie - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Spustiť akciu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Odvodené)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
@@ -12846,17 +13199,17 @@
     <message>
         <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
         <source>Run...</source>
-        <translation>Spustiť...</translation>
+        <translation type="obsolete">Spustiť...</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
         <source>&amp;Run...</source>
-        <translation>&amp;Spustiť...</translation>
+        <translation type="obsolete">&amp;Spustiť...</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
         <source>&amp;Launcher</source>
-        <translation type="unfinished">&amp;Spúšťač</translation>
+        <translation type="obsolete">&amp;Spúšťač</translation>
     </message>
 </context>
 <context>
@@ -12864,17 +13217,17 @@
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
         <source>QGIS Launcher</source>
-        <translation type="unfinished">QGIS Spúšťač programov</translation>
+        <translation type="obsolete">QGIS Spúšťač programov</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
         <source>&amp;Close</source>
-        <translation>&amp;Zatvoriť</translation>
+        <translation type="obsolete">&amp;Zatvoriť</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
         <source>Alt+C</source>
-        <translation type="unfinished">Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
@@ -12882,52 +13235,52 @@
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Spustí externý príkaz alebo program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Spustí externý príkaz alebo program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
         <source>Command</source>
-        <translation>Príkaz</translation>
+        <translation type="obsolete">Príkaz</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
         <source>Select program tor execute</source>
-        <translation type="unfinished">Vyberte program na spustenie</translation>
+        <translation type="obsolete">Vyberte program na spustenie</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
         <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished">Nalistujte a vyberte program ktorý bude spúťať tento zásuvný modul</translation>
+        <translation type="obsolete">Nalistujte a vyberte program ktorý bude spúťať tento zásuvný modul</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
         <source>Run the selected program/command</source>
-        <translation>Spustiť vybraný program/príkaz</translation>
+        <translation type="obsolete">Spustiť vybraný program/príkaz</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
         <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished">Spustiť vybraný program/príkaz a zobraziť výstup</translation>
+        <translation type="obsolete">Spustiť vybraný program/príkaz a zobraziť výstup</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
         <source>Run</source>
-        <translation>Spustiť</translation>
+        <translation type="obsolete">Spustiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
         <source>Output</source>
-        <translation>Výstup</translation>
+        <translation type="obsolete">Výstup</translation>
     </message>
     <message>
         <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
         <source>Clear Command List</source>
-        <translation>Vyčistiť zoznam príkazov</translation>
+        <translation type="obsolete">Vyčistiť zoznam príkazov</translation>
     </message>
 </context>
 <context>
@@ -12964,69 +13317,69 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>skupina</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="414"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Vlastnosti</translation>
+        <translation type="obsolete">&amp;Vlastnosti</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="416"/>
         <source>&amp;Add to overview</source>
-        <translation>Prid&amp;ať do prehľadu</translation>
+        <translation type="obsolete">Prid&amp;ať do prehľadu</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="417"/>
         <source>&amp;Remove from overview</source>
-        <translation>Odob&amp;rať z prehľadu</translation>
+        <translation type="obsolete">Odob&amp;rať z prehľadu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odobrať</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation>&amp;Premiestniť položku do najvyššej úrovne</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>Preme&amp;novať</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>Prid&amp;ať skupinu</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>&amp;Rozbaliť</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>&amp;Zabaliť</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="415"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation>Pohľad na veľkosť &amp;vrstvy</translation>
+        <translation type="obsolete">Pohľad na veľkosť &amp;vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>Ukázať skupiny súborov</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="424"/>
         <source>&amp;Allow editing</source>
-        <translation>&amp;Povoliť úpravy</translation>
+        <translation type="obsolete">&amp;Povoliť úpravy</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -13046,8 +13399,18 @@
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="438"/>
         <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Uložiť ako súbor Shape...</translation>
+        <translation type="obsolete">&amp;Uložiť ako súbor Shape...</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Nie je vybratá žiadna vrstva</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLegendItemBase</name>
@@ -13068,6 +13431,187 @@
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Pohľad na veľkosť &amp;vrstvy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Odobrať</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">Otvoriť &amp;tabuľku atribútov</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Uložiť ako shape súbor...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Vlastnosti</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished">Nie je vektorová vrstva</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Tabuľka atribútov -</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Uložiť vrstvu ako...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished">Ovládač sa nenašiel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Chyba pri vytváraní súboru Shape</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Súbor Shape nemožno vytvoriť (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished">Vytvorenie vrstvy zlyhalo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Pokus o úpravy zlyhal</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Správca sa nedá otvoriť pre zápis</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Ukončiť úpravy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Prajete si uložiť zmeny?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Nemožno odoslať zmeny </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problémy v priebehu návratu do východzieho stavu (roll back)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Pohľad na veľkosť &amp;vrstvy</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Odobrať</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">Otvoriť &amp;tabuľku atribútov</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Uložiť ako shape súbor...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Vlastnosti</translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -13202,19 +13746,19 @@
         <translation type="obsolete">Chyba pri plánovaní rozsahu (hraníc) tohoto pohľadu, možno bude potrebné nastaviť pohľad na oblasť vášho záujmu ručne.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Nemožno vykresľovať</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>z nasledovného dôvodu</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
         <source>Scale </source>
-        <translation>Mierka </translation>
+        <translation type="obsolete">Mierka </translation>
     </message>
 </context>
 <context>
@@ -13222,38 +13766,38 @@
     <message>
         <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>Pohľa&amp;d na veľkosť označenej vrstvy</translation>
+        <translation type="obsolete">Pohľa&amp;d na veľkosť označenej vrstvy</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Odobrať</translation>
+        <translation type="obsolete">&amp;Odobrať</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Vlastnosti</translation>
+        <translation type="obsolete">&amp;Vlastnosti</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
         <source>Toggle in Overview</source>
-        <translation>Prepnúť do Prehľadu</translation>
+        <translation type="obsolete">Prepnúť do Prehľadu</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Nenašli sa žiadne objekty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;V okruhu danom poloemor vyhľadávania sa nenašli žiadne objekty.&lt;/p&gt;&lt;p&gt;Poznámka: V súčasnosti nie je možné využívať nástroj identifikácie na neuložené objekty.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation>
@@ -13266,12 +13810,12 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation>Prepísať súbor?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation> existuje. 
@@ -13280,52 +13824,52 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
         <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished">Vyberte meno súboru pre exportovaný súbor map</translation>
+        <translation type="obsolete">Vyberte meno súboru pre exportovaný súbor map</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
         <source>Mapserver files (*.map)</source>
-        <translation>Súbory pre Mapserver (*.map)</translation>
+        <translation type="obsolete">Súbory pre Mapserver (*.map)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
         <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished">QGIS Pomocník - Export pre Mapserver</translation>
+        <translation type="obsolete">QGIS Pomocník - Export pre Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished">Meno pre súbor map</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation>Súbory map pre MapServer (*.map);;Všetky súbory(*.*)</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation>Vyberte súbor QGIS projektu</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation>Súbory projektov QGIS (*.qgs);;Všetky súbory (*.*)</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -13335,112 +13879,112 @@
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportovať ako Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Mapový súbor</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Exportovať len informáciu o VRSTVE</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Výška</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Šírka</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>feet</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>meters</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>miles</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>inches</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometers</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Jednotky</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Typ obrázku</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>userdefined</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -13460,47 +14004,47 @@
         <translation>Predpona pripojená k názvom GIF súborov mapy, grafickej mierky a legendy vytvorených použitím tohoto mapového súboru. Mala by byť krátka.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Definícia webového rozhrania</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Hlavička</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Pätička</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Šablóna</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomocník</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Zrušiť</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -13525,42 +14069,52 @@
         <translation type="obsolete">Súbor projektu QGIS pre export do mapového formátu MapServer-a</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Meno mapového súboru, ktorý má byť vytvorený na základe súboru projektu pre QGIS </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Pokiaľ je zaškrtnuté, bude len spracovaná informácia o vrstve</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Cesta k súboru so šablónou pre MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished">Predpona pripojená k mape, mená súborov GIS s grafickou mierkou a legendou vytvorené s použitím tohoto MaFile</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Úplná cesta k súboru projektu QGIS určeného na export do formátu map pre MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished">Súbor vo formáte projektu QGIS</translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialog</name>
     <message>
         <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
         <source>Choose a directory</source>
-        <translation>Vybrať adresár</translation>
+        <translation type="obsolete">Vybrať adresár</translation>
     </message>
 </context>
 <context>
@@ -13616,32 +14170,32 @@
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
         <source>Segments (in meters)</source>
-        <translation>Úseky (v metroch)</translation>
+        <translation type="obsolete">Úseky (v metroch)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
         <source>Incorrect measure results</source>
-        <translation>Nesprávny výsledok merania</translation>
+        <translation type="obsolete">Nesprávny výsledok merania</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
         <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation>&lt;p&gt;Táto mapa je definovaná so zemepisným súradnicovým systémom (šírka/dĺžka) ale z rozsahu mapy vyplýva, že je to už mapový súradnicový systém (napr. Mercator). Ak je tomu tak, výsledky z merania dĺžky a rozlohy nebudú správne.&lt;/p&gt;&lt;p&gt;To možno napraviť explicitným zadaním správneho súradnicového systému v dialógovom okne Nastavenia projektu - menu &lt;tt&gt;Nastavenia: Nastavenia projektu&lt;/tt&gt;.</translation>
+        <translation type="obsolete">&lt;p&gt;Táto mapa je definovaná so zemepisným súradnicovým systémom (šírka/dĺžka) ale z rozsahu mapy vyplýva, že je to už mapový súradnicový systém (napr. Mercator). Ak je tomu tak, výsledky z merania dĺžky a rozlohy nebudú správne.&lt;/p&gt;&lt;p&gt;To možno napraviť explicitným zadaním správneho súradnicového systému v dialógovom okne Nastavenia projektu - menu &lt;tt&gt;Nastavenia: Nastavenia projektu&lt;/tt&gt;.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
         <source>Segments (in feet)</source>
-        <translation>Úseky (v stopách)</translation>
+        <translation type="obsolete">Úseky (v stopách)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
         <source>Segments (in degrees)</source>
-        <translation>Úseky (v stupňoch)</translation>
+        <translation type="obsolete">Úseky (v stupňoch)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
         <source>Segments</source>
-        <translation>Úseky</translation>
+        <translation type="obsolete">Úseky</translation>
     </message>
 </context>
 <context>
@@ -13678,6 +14232,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Úseky (v metroch)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished">Úseky (v stopách)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished">Úseky (v stupňoch)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished">Úseky</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Nesprávny výsledok merania</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished">&lt;p&gt;Táto mapa je definovaná so zemepisným súradnicovým systémom (šírka/dĺžka) ale z rozsahu mapy vyplýva, že je to už mapový súradnicový systém (napr. Mercator). Ak je tomu tak, výsledky z merania dĺžky a rozlohy nebudú správne.&lt;/p&gt;&lt;p&gt;To možno napraviť explicitným zadaním správneho súradnicového systému v dialógovom okne Nastavenia projektu - menu &lt;tt&gt;Nastavenia: Nastavenia projektu&lt;/tt&gt;.</translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -13787,7 +14377,7 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Vyskúšať spojenie</translation>
     </message>
@@ -13802,7 +14392,7 @@
         <translation type="obsolete">Spojenie zlyhalo - skontrolujte nastavenia a skúste znova</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -13813,7 +14403,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation>Spojenie k databáze %1 bolo úspešné</translation>
     </message>
@@ -14027,22 +14617,22 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Vľavo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Vpravo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Doplnky</translation>
     </message>
@@ -14052,7 +14642,7 @@
         <translation type="obsolete">Smerová &amp;ružica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Vytvoriť smerovú ružicu zobrazujúcu sa na mapovom plátne</translation>
     </message>
@@ -14067,17 +14657,17 @@
         <translation type="obsolete">Obrázok sa nenašiel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Vľavo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Smerová ružica</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>Obrázok smerovej ružice sa nenašiel</translation>
     </message>
@@ -14090,7 +14680,7 @@
         <translation type="obsolete">Obrázok sa nenašiel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>Obrázok sa nenašiel</translation>
     </message>
@@ -14098,100 +14688,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Zásuvný modul na tvorbu smerovej ružice</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Vlastnosti</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Uhol</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Zapnúť smerovú ružicu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Vľavo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Vpravo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Vľavo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Umiestnenie na obrazovke</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Náhľad na smerovú ružicu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Umiestnenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ikona</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Nová položka</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Nastaviť smer automaticky</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -14211,7 +14806,7 @@
     <message>
         <location filename="../src/gui/qgsoptions.cpp" line="242"/>
         <source>Choose a browser</source>
-        <translation>Vyberte prehliadač</translation>
+        <translation type="obsolete">Vyberte prehliadač</translation>
     </message>
 </context>
 <context>
@@ -14222,7 +14817,7 @@
         <translation>QGIS Vlastnosti</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -14232,52 +14827,52 @@
         <translation type="obsolete">firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
         <source>&amp;Ok</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Polomer vyhľadávania pre identifikáciu objektov</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Pri štarte skryť úvodnú upútavku</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Vzhľad</translation>
     </message>
@@ -14287,27 +14882,27 @@
         <translation type="obsolete">Úvodná &amp;upútavka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>Téma (&amp;ikony)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Téma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Poznámka: &lt;/b&gt;Zmena témy sa prejaví až po najbližšom spustení QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Prehliadač Pomocníka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Na prehliadanie dokumentov Pomocníka používať program</translation>
     </message>
@@ -14317,7 +14912,7 @@
         <translation type="obsolete">&lt;b&gt;Poznámka:&lt;/b&gt; K programu na prehliadanie musí byť nastavená cesta (PATH), alebo je potrebné ju určiť v poli nad týmto textom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>Vy&amp;kresľovanie</translation>
     </message>
@@ -14327,22 +14922,22 @@
         <translation type="obsolete">&amp;Aktualizovať počas vykresľovania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Aktualizovať pohľad po načítaní</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Mapový pohľad bude aktualizovaný (vykreslený) potom, čo takýto počet objektov bude načítaný zo zdroja údajov</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>objektov</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Nastavenie 0 neaktualizuje pohľad pokým nebudú načítané všetky objekty)</translation>
     </message>
@@ -14388,12 +14983,12 @@
         <translation type="obsolete">&lt;b&gt;Poznámka: &lt;/b&gt;Vyššie hodnoty poskytujú jemnejšie SVG symboly, ale môžu spomaliť vykresľovanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Počiatočná viditeľnosť</translation>
     </message>
@@ -14440,7 +15035,7 @@
         <translation type="obsolete">Mapové zobrazenie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Nastaviť predvolené zobrazenie ...</translation>
     </message>
@@ -14450,12 +15045,12 @@
         <translation type="obsolete">Keď je nahrávaná vrstva bez informácie o zobrazení:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Spýtať sa na zobrazenie.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Bude použité zobrazenie nastavené vo vlastnostiach projektu.</translation>
     </message>
@@ -14465,37 +15060,37 @@
         <translation type="obsolete">Bude použité hlavné zobrazenie uvedené dolu.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Prednastavený vzhľad mapy (potlačený nastavením vlastností projektu)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Farba pozadia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Farba výberu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>Úvodná &amp;upútavka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Aktualizovať počas vykresľovanie</translation>
     </message>
@@ -14510,7 +15105,7 @@
         <translation type="obsolete">Anti-aliasing</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Vyhladiť čiary na úrok nižšieho výkonu vykresľovania </translation>
     </message>
@@ -14520,17 +15115,17 @@
         <translation type="obsolete">&amp;Výber a meranie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Nástroj na meranie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Elipsoid pre výpočty vzdialenosti:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Polomer vyhľadávania</translation>
     </message>
@@ -14561,67 +15156,67 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Mapové &amp;zobrazenie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>Keď je nahrávaná vrstva bez informácie o zobrazení</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>Bude použité &amp;predvolené zobrazenie uvedené dolu.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;Poznámka:&lt;/b&gt; K programu na prehliadanie musí byť nastavená cesta (PATH), alebo je potrebné ju určiť v poli nad týmto textom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>Zobrazovať (vykresľovať) &amp;novopridané vrstvy do mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Vzhľad</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Meno vrstvy písať s veľkým začiatočným písmenom</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Vykresľovanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Výber tejto voľby zruší voľbu &apos;Vyhladiť čiary&apos;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Vyhnúť sa problému s nesprávne vypĺňanými polygónmi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Pre posúvaní oddeľovača legendy a mapy priebežne prekresľovať mapu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>&amp;Mapové nástroje</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -14630,40 +15225,60 @@
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Určuje polomer vyhľadávania v percentách zo šírky mapy.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Posun a zmena pohľadu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Približovanie/oddaľovanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Približovanie/oddaľovanie a vycentrovanie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Žiadna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Miera zväčšenia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Funkcia kolieska myši:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -14844,88 +15459,88 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabuľka &lt;b&gt;%1&lt;/b&gt; v databáze &lt;b&gt;%2&lt;/b&gt; na hostiteľovi &lt;b&gt;%3&lt;/b&gt;, používateľ &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Výsledok dopytu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Klauzula WHERE vrátila</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>riadkov.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Dopyt zlyhal</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Pri vykonávaní dopytu nastala chyba:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Spojenie zlyhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Spojenie k databáze zlyhalo:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Chyba databázy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Zlyhal pokus získať z polí vzorku hodnôt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Žiadne záznamy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Výsledkom vami určeného dopytu sú nulové (žiadne) záznamy. Platné vrstvy PostgreSQL však musia mať aspoň jeden objekt.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Nepodarilo sa získať vzorku údajov z jednotlivých polí s použitím SQL dopytu:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
         <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation>&lt;/p&gt;&lt;p&gt;Hlásenie o chybe: </translation>
+        <translation type="obsolete">&lt;/p&gt;&lt;p&gt;Hlásenie o chybe: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation>Žiadny dopyt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished">Je potrebné najprv vytvoriť dopyt predtým než ho budete testovať</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation>Chyba v dopyte</translation>
     </message>
@@ -15066,17 +15681,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Vybrať adresár</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Žiadne zásuvné moduly</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Nenašli sa žiadne zásuvné moduly adresári </translation>
     </message>
@@ -15177,140 +15792,140 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Priblížiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Oddialiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Pohľad na veľkosť vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Zmeniť pohľad na veľkosť vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Posun mapy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Posunúť mapu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Pridať bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Získať body</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Zmazať bod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Zmazať vybrané</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Lineárna</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmertova</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished">Vyberte meno world súboru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Upozornenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Helmertova transformácia vyžaduje úpravy v tejto rastrovej vrstve.&lt;/p&gt;&lt;p&gt;Pozmenený raster bude uložený v novom súbore a world súbor bude vygenerovaný pre tento nový súbor.&lt;/p&gt;&lt;p&gt;Ste si istý, že chcete vykonať túto operáciu?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Afinná</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Neimplementované!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Afinná transformácia vyžaduje zmeniť pôvodný rastrový súbor. Táto funkcia zatiaľ nie je implementovaná.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation> transformácia nie je zatiaľ podporovaná.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation>Nemožno zapisovať do </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="332"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
         <source>Currently all modified files will be written in TIFF format.</source>
-        <translation type="obsolete">V súčastnosti všetky zmenené súbory budú uložené vo formáte TIFF.</translation>
+        <translation type="unfinished">V súčastnosti všetky zmenené súbory budú uložené vo formáte TIFF.</translation>
     </message>
 </context>
 <context>
@@ -15388,13 +16003,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Pozmenený raster:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -15417,17 +16037,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Nie je možné pristúpiť k relácii</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Nemožno pristúpiť k relácii </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -15436,12 +16056,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Bez podpory GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -15450,12 +16070,12 @@
 Prosím nainštalujte PostGIS s podporou GEOSu (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>V tabuľke nie je žiadny vhodný kľúčový stĺpec</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -15470,169 +16090,169 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Tento jedinečný index v stĺpci</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>je nevhodný, pretože Qgis v súčasnosti nepodporuje ako kľúč tabuľky stĺpce iného typu ako int4.
  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation> a</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation> Tento jedinečný index založený na stĺpcoch</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> je nevhodný, pretože Qgis v súčasnosti nepodporuje ako kľúč tabuľky viacero stĺpcov.
  </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Nie je možné nájsť kľúčový stĺpec</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>  odvodený od</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>a je vhodný.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation> a nie je vhodný</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation>  typ je</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> a má vhodné obmedzenie)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> a nemá vhodné obmedzenie)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Pohľad, ktorý bol vybratý má nasledujúce stĺpce, žiadny z nich nevyhovuje vyššie uvedeným podmienkam:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis vyžaduje, aby pohľad mal stĺpec, ktorý možno použiť ako jedinečný kľúč. Taký stĺpec by mal byť odvodený z tabuľky zo stĺpca typu int4 a byť primárnym kľúčom, mať obmedzenie jedinečnosti, alebo byť stĺpcom PostgreSQL oid. Pre zlepšenie výkonu by stĺpec mal byť indexovaný.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation>  Tento pohľad</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>nemá žiadny stĺpec použiteľný ako jedinečný kľúč.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Žiadny vhodný kľúčový stĺpec v aktuálnom pohľade</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Neznámy typ geometrie</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation> Stĺpec</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>  v</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>  obsahuje typ geometrie</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, s ktorým Qgis zatiaľ nevie pracovať.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>. Správa z komunikácie s databázou:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Nie je možné získať typ objektu a srid</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation> Poznámka:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>na začiatku sa javil ako vhodný, ale neobsahuje jedinečné údaje a preto vhodný nie je.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>Chyba pri príkaze INSERT</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Nastala chyba počas v kladania objektov</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>Chyba pri prákaze DELETE</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Nastala chyba pri vymazávaní z disku</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>Chyba PostGIS</translation>
     </message>
@@ -15651,32 +16271,32 @@
         <source>The sql was:
 
 </source>
-        <translation>SQL dopyt bol:
+        <translation type="obsolete">SQL dopyt bol:
 
 </translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>Chyba SQL</translation>
+        <translation type="obsolete">Chyba SQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation>Pri pokuse: </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished">Qgis nedokázal rozpoznať typ a srid stĺpca </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -15702,44 +16322,44 @@
         <translation>Vlastnosti projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Mapové jednotky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Metre</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Stopy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Desiatkové stupne</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -15747,32 +16367,32 @@
         <translation type="obsolete">Názov projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Štandardný názov projektu</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Použiť</translation>
+        <translation type="obsolete">&amp;Použiť</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Názov projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Vzhľad mapy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Farba výberu:</translation>
     </message>
@@ -15782,37 +16402,37 @@
         <translation type="obsolete">Presnosť zobrazovania polohy kurzora</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automaticky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Automaticky nastaví počet počet desatinných miest v zobrazovaní polohy myši (kurzora)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Počet desatinných miest, ktoré sú použité pri zobrazovaní polohy myši je automaticky nastavený tak, aby posun myši o jeden pixel spôsobil zmenu v zobrazovanej polohe </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Ručne</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Nastaví počet desatinných miest použitých pri zobrazovaní polohy myši</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Počet desatinných miest pre ručnú voľbu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>desatinné miesta</translation>
     </message>
@@ -15822,27 +16442,27 @@
         <translation type="obsolete">Nastavenie digitalizácie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Farba línie:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Hrúbka línie:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Tolerancia zameriavania:</translation>
+        <translation type="obsolete">Tolerancia zameriavania:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Mapové zobrazenie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Povoliť priamy prevod medzi zobrazeniami</translation>
     </message>
@@ -15852,50 +16472,55 @@
         <translation type="obsolete">Súradnicové systémy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Všeobecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalizácia</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Presnosť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Farba pozadia:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Popisný názov projektu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Hrúbka čiary v pixeloch</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Tolerancia zameriavania v mapových jednotkách</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID:</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>Postgis SRID:</translation>
     </message>
@@ -15907,28 +16532,28 @@
     <message>
         <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
         <source>User Defined Coordinate Systems</source>
-        <translation>Súradnicové systémy definované používateľom</translation>
+        <translation type="obsolete">Súradnicové systémy definované používateľom</translation>
     </message>
     <message>
         <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
         <source>Geographic Coordinate Systems</source>
-        <translation>Zemepisné súradnicové systémy</translation>
+        <translation type="obsolete">Zemepisné súradnicové systémy</translation>
     </message>
     <message>
         <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
         <source>Projected Coordinate Systems</source>
-        <translation>Mapové súradnicové systémy</translation>
+        <translation type="obsolete">Mapové súradnicové systémy</translation>
     </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Výber zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Zobrazenie</translation>
     </message>
@@ -15943,50 +16568,80 @@
         <translation type="obsolete">Id priestorového referenčného systému</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Vyhľadávanie</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Nájsť</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Názov zobrazenia</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Priestorový referenčný systém</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Nenastavené</translation>
     </message>
@@ -16006,27 +16661,27 @@
         <translation type="obsolete">&amp;Odobrať</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Ovládač:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Rozmery:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Kanály: </translation>
     </message>
@@ -16036,12 +16691,12 @@
         <translation type="obsolete">Projekcia:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Počiatok:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Veľkosť pixela:</translation>
     </message>
@@ -16061,172 +16716,172 @@
         <translation type="obsolete">Modrá</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Rozsah rastra:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation> Vystrihnutá oblasť:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Prehľad pyramíd:</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Kanálová štatistika (pokiaľ je zozbieraná):</translation>
+        <translation type="obsolete">Kanálová štatistika (pokiaľ je zozbieraná):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Vlastnosť</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation type="unfinished">Kanál č. </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Žiadna štatistika</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Zatiaľ neboli zozbierané žiadne štatistické údaje</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Minimálna hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Maximálna hodnota</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Rozpätie (valencia)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Priemer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Rozptyl</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Štandardná odchýlka</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Suma všetkých buniek</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Počet buniek</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
         <source>Write access denied</source>
-        <translation>Zápis odmietnutý</translation>
+        <translation type="obsolete">Zápis odmietnutý</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Zápis odmietnutý. Rozšírte práva súboru a skúste znova.
+        <translation type="obsolete">Zápis odmietnutý. Rozšírte práva súboru a skúste znova.
 
 
 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Typ údajov:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - 8 bitový unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - 16 bitový unsigned integer </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - 16 bitový signed integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - 32 bitový unsigned integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - 32 bitový signed integer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - 32 bitový floating point</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - 64 bitový floating point</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Nemožno rozpoznať typ rastrových údajov.</translation>
     </message>
@@ -16243,52 +16898,52 @@
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Priehľadnosť&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Priehľadnosť&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished">Priemerná Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Priemer</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Referenčný priestorový systém vrstvy: </translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Referenčný priestorový systém projektu: </translation>
+        <translation type="obsolete">Referenčný priestorový systém projektu: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>mimo rozsahu</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (žiadne údaje)</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
         <source>Building pyramids failed.</source>
-        <translation>Tvorba pyramíd zlyhala.</translation>
+        <translation type="obsolete">Tvorba pyramíd zlyhala.</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Súbor nie je zapisovateľný. Niektoré formáty nemožno zapisovať, iba čítať. Skontrolujte práva a skúste znova.</translation>
+        <translation type="obsolete">Súbor nie je zapisovateľný. Niektoré formáty nemožno zapisovať, iba čítať. Skontrolujte práva a skúste znova.</translation>
     </message>
     <message>
         <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Pri tomto type rastra nie je možné zostaviť pyramídy.</translation>
+        <translation type="obsolete">Pri tomto type rastra nie je možné zostaviť pyramídy.</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -16301,17 +16956,17 @@
         <translation type="obsolete">&amp;Konvertovať na...</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Popis súpravy údajov</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Údaj bez hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>a všetky ostatné súbory</translation>
     </message>
@@ -16324,32 +16979,32 @@
         <translation type="obsolete">Žiadne údaje:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Poznámky k viackanálovým snímkam&lt;/h3&gt;&lt;p&gt; Toto je viackanálová snímka. Je možné ju vykresľovať v odtieňoch šedej, alebo farebne (RGB). Pri farebných snímkach je možné jednotlivým kanálom priraďovať farby ľubovoľne. Napríklad sedem kanálovú snímku z družice Landsat možno zobraziť nasledovne:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;viditeľná modrá (0.45 až 0.52 Microns) - nezobrazená&lt;/li&gt;&lt;li&gt;viditeľná zelená (0.52 až 0.60 Microns) - nezobrazená&lt;/li&gt;&lt;li&gt;viditeľná červená (0.63 až 0.69 Microns) - v obrázku zobrazená ako červená&lt;/li&gt;&lt;li&gt;v blízkosti infračervenej (0.76 až 0.90 Microns) - v obrázku zobrazená ako zelená.&lt;/li&gt;&lt;li&gt;stredná infračervená (1.55 až 1.75 Microns) - nezobrazená&lt;/li&gt;&lt;li&gt;termálna infračervená (10.4 až 12.5 Microns) - nezobrazená&lt;/li&gt;&lt;li&gt;stredná infračervená (2.08 až 2.35 Microns) - zobrazená ako modrá&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Poznámky k snímkam s paletou&lt;/h3&gt; &lt;p&gt;Táto snímka (obrázok) používa fixnú paletu farieb. Tieto farby je možné zobraziť rôzne napr.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Červená - na obrázku ako modrá&lt;/li&gt;&lt;li&gt;Zelená - na obrázku ako modrá&lt;/li&gt;&lt;li&gt;Modrá - na obrázku ako zelená&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Poznámky k snímke v odtieňoch šedej&lt;/h3&gt; &lt;p&gt;Obrázok v odtieňoch šedej je možné zobraziť pseudofarbami (nepravými farbami) automaticky vygenerovanými farebnou rampou.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Odtiene šedej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Nepravé farby</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation type="unfinished">Freak Out</translation>
     </message>
@@ -16364,35 +17019,65 @@
         <translation type="obsolete">Riadky:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Paleta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Nenastavené</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation>Stĺpce: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation>Riadky: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation>Prázdna hodnota: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>--</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Zápis odmietnutý</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Zápis odmietnutý. Rozšírte práva súboru a skúste znova.
+
+
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Tvorba pyramíd zlyhala.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Súbor nie je zapisovateľný. Niektoré formáty nemožno zapisovať, iba čítať. Skontrolujte práva a skúste znova.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Pri tomto type rastra nie je možné zostaviť pyramídy.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -16404,50 +17089,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Použiť</translation>
+        <translation type="obsolete">&amp;Použiť</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Pomocník</translation>
+        <translation type="obsolete">&amp;Pomocník</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Všeobecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Zdroj vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Zobraziť meno:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation> Legenda:</translation>
     </message>
@@ -16457,12 +17142,12 @@
         <translation type="obsolete">Ukázať info pre ladenie ako prekryv rastra?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Žiadne údaje:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Symbolika</translation>
     </message>
@@ -16472,27 +17157,27 @@
         <translation type="obsolete">Vzhľad</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Priehľadnosť:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Úplná&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Žiadna</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Invertovať farby v mape</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -16502,27 +17187,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Kanál</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Zelená&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Červená&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Modrá&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Farba</translation>
     </message>
@@ -16532,17 +17217,17 @@
         <translation type="obsolete">Odtiene šedej</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Šedá</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Štandardná odchýlka</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Farebná škála</translation>
     </message>
@@ -16602,7 +17287,7 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Neprehliadnite prosím:&lt;/font&gt; Vyššia symbolika - dosiaľ neimplementovaná&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadáta</translation>
     </message>
@@ -16617,52 +17302,52 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pyramídy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Metóda prevzorkovania</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Priemer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Metóda najbližšieho suseda</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Vytvoriť pyramídy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Pyramídové rozlíšenia </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Miniatúry</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Stĺpce:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Riadky:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Paleta:</translation>
     </message>
@@ -16703,22 +17388,22 @@
         <translation type="obsolete">Používať vykresľovanie v závislosti od mierky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximálna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maximálna mierka pri ktorej bude táto vrstva zobrazená.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimálna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimálna mierka pri ktorej bude táto vrstva zobrazená.</translation>
     </message>
@@ -16747,37 +17432,37 @@
 &lt;/body&gt;&lt;/html&gt;(new line)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Stĺpcový graf (histogram)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Voľby</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Mimo rozsah, OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Dovoliť aproximáciu (odhad)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Typ grafu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Stĺpcový</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Čiarový</translation>
     </message>
@@ -16787,17 +17472,17 @@
         <translation type="obsolete">X rozsah:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Obnoviť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Priestorový referenčný systém</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Zmeniť</translation>
     </message>
@@ -16819,17 +17504,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Zobraziť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Obrázok v odtieňoch šedej</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Farebný obrázok</translation>
     </message>
@@ -16844,12 +17529,12 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Viditeľnosť v závislosti od mierky</translation>
     </message>
@@ -16870,12 +17555,12 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Počet stĺpcov:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -16894,7 +17579,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Popis&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Vrstvy s vyšším rozlíšením môžu spomaliť navigáciu  v QGIS-e. Vytvorením kópie údajov v nižšom rozlíšení (pyramíd) je možné badateľne zvýšiť výkon tým, že QGIS vyberie najvhodnejšie rozlíšenie v závislosti od úrovne pohľadu. Pri tvorbe pyramíd je potrebné mať práva na zápis do adresára, kde sú uložené pôvodné údaje.&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Pri tvorbe pyramíd treba brať do úvahy, že pyramídy môžu nahradiť pôvodný súbor s údajmi a pokiaľ sú už raz vytvorené, nemožno ich odobrať.&lt;/span&gt;&lt;/p&gt;
@@ -16903,30 +17588,47 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
         <translation type="unfinished">Priehľadná</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Popis&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Vrstvy s vyšším rozlíšením môžu spomaliť navigáciu  v QGIS-e. Vytvorením kópie údajov v nižšom rozlíšení (pyramíd) je možné badateľne zvýšiť výkon tým, že QGIS vyberie najvhodnejšie rozlíšenie v závislosti od úrovne pohľadu. Pri tvorbe pyramíd je potrebné mať práva na zápis do adresára, kde sú uložené pôvodné údaje.&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Pri tvorbe pyramíd treba brať do úvahy, že pyramídy môžu nahradiť pôvodný súbor s údajmi a pokiaľ sú už raz vytvorené, nemožno ich odobrať.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Pri tvorbe pyramíd treba brať do úvahy, že môžu poškodiť pôvodný súbor - vždy je treba spraviť záložnú kópiu vašich údajov!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Nie je možné spustiť príkaz</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Nie je možné spustiť príkaz</translation>
+        <translation type="obsolete">Nie je možné spustiť príkaz</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Štartuje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Dokončené</translation>
     </message>
@@ -16934,97 +17636,97 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation> metre/kilometer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>stopy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>stupne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation>km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> stopa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> stupeň</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> neznáma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Vľavo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Vľavo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Vpravo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Čiarka dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Čiarka hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Lišta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Rám</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Doplnky</translation>
     </message>
@@ -17034,7 +17736,7 @@
         <translation type="obsolete">&amp;Grafická mierka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Vytvorí grafickú mierku zobrazovanú na mapovom plátne</translation>
     </message>
@@ -17044,7 +17746,7 @@
         <translation type="obsolete">Grafická mierka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Grafická mierka</translation>
     </message>
@@ -17052,29 +17754,29 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Grafická mierka</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -17090,27 +17792,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Vľavo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Vpravo hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Vľavo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Vpravo dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Veľkosť grafickej mierky:</translation>
     </message>
@@ -17120,62 +17822,62 @@
         <translation type="obsolete">Vybrať farbu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Umiestnenie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Čiarka dole</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Čiarka hore</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Rám</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Lišta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Vybrať vzhľad grafickej mierky</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Farba grafickej mierky:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Vzhľad grafickej mierky:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Zapnúť grafickú mierku</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Pri zmene veľkosti automaticky skočiť na okrúhle číslo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Kliknutím vyberiete farbu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento zásuvný modul vykreslí na mape grafickú mierku. Prosím nezabúdajte, že tu nastavovaná veľkosť je veľkosť uprednostňovaná, no môže byť nahradená inou v závislosti od nastavenia úrovne pohľadu. Veľkosť je posudzovaná vzhľadom na mapové jednotky nastavené vo Vlastnostiach projektu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -17196,7 +17898,7 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation>
             <numerusform>Našlo sa %d zodpovedajúci objekt.</numerusform>
@@ -17205,65 +17907,65 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Nenašli sa žiadne zodpovedajúce objekty.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Výsledky vyhľadávania</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Chyba pri kontrole reťazca</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Žiadne záznamy</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Dopyt ktorý ste zadali vrátil nula záznamov.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
         <source>Search query builder</source>
-        <translation>Tvorba dopytov pre vyhľadávanie</translation>
+        <translation type="obsolete">Tvorba dopytov pre vyhľadávanie</translation>
     </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>Ste si istý, že chcete odstrániť </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> spojenie a všetky pričlenené nastavenia?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Potvrdenie mazania</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Vybrať vrstvu</translation>
     </message>
@@ -17278,22 +17980,22 @@
         <translation type="obsolete">JPEG</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Je treba najskôr vybrať aspoň jednu vrstvu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>Nástroj na prístup k údajom WMS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Nemožno otvoriť Nástroj na prístup k údajom WMS</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation>
             <numerusform>Referenčný súradnicový systém (dostupný %1)</numerusform>
@@ -17302,32 +18004,32 @@
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished">Odpoveď nemožno vyhodnotiť.  </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished">Odpoveď providera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished">WMS proxy servery</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Niekoľko WMS serverov bolo pridaných do zoznamu serverov. Nezabudnite, že polia pre proxy ostali prázdne a pokiaľ sa pripájate do internetu prostredníctvom proxy servera budete musieť polia proxy s príslušnými hodnotami nastaviť zvlášť.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Referenčný súradnicový systém</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished">Nie sú dostupné žiadne referenčné súradnicové systémy pre túto množinu vrstiev, ktorú ste vybrali.</translation>
     </message>
@@ -17483,17 +18185,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation>Databáza vrátila chyby pri vykonávaní SQL dopytu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation>Chybové hlásenie:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation>... (zvyšok SQL odrezaný)</translation>
@@ -17648,27 +18350,27 @@
         <translation>Jeden symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Vzorka výplne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Bod</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Veľkosť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Hrúbka obrysu:</translation>
     </message>
@@ -17678,65 +18380,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Farba výplne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Farba obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Štýl obrysu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Popis:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Bez výplne</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Naozaj chcete odstrániť spojenie [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] a všetky s ním previazané nastavenia?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Potvrdenie mazania</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Upraviť mená stĺpcov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -17745,102 +18452,102 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>DÔVOD: Súbor sa nedá otvoriť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>DÔVOD: Jeden alebo oba súbory shape (*.dbf, *.shx) chýbajú</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Pomocník k hlavnému rozhraniu:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Spojenia PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Nové ...] - vytvoriť nové spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Upraviť ...] - upraviť práve vybraté spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Odstrániť] - odstrániť práve vybraté spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>-aby bol umožnený import súborov je potrebné vybrať fungujúce spojenie (pripojiť sa správne)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-keď sa menia spojenia Global Schema sa mení vzhľadom na ne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Zoznam súborov shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Pridať ...] - otvorí Dialóg so súbormi, kde je možné nalistovať a vybrať požadovaný/é súbor(y) na import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Odobrať] - odoberie zo zoznamu vybraný/é súbory</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Odobrať všetko] - zo zoznamu odoberie všetky súbory</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Referenčné ID pre importované súbory shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Použiť predvolené (SRID)] - nastaví SRID na -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Meno stĺpca s geometriou] - meno stĺpca v databáze obsahujúceho geometriu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Použiť predvolené (Meno stĺpca s geometriou)] - nastaví meno stĺpca na &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Globálna schéma] - nastaví schému, do ktorej budú importované všetky súbory</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Import] - naimportuje súbory shape z aktuálneho zoznamu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Koniec] - ukončí program
@@ -17848,107 +18555,107 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Pomocník] - zobrazí tento pomocný text</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Importovať súbory shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Najprv je potrebné vybrať Spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Spojenie zlyhalo - skontrolujte nastavenia a skúste znova</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Najskôr je potrebné pridať do zoznamu súbory shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importujú sa súbory</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Zrušiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Priebeh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Pri vkladaní objektov zo súboru nastal problém:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Nesprávny názov tabuľky.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Nenašli sa žiadne polia.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Nasledujúce polia sú zdvojené:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Import súborov shape - Relácia existuje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Súbor shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished">použije reláciu [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished">] pre svoje údaje,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished">ktoré už existujú a pravdepodobne obsahujú údaje.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Aby bolo možné vyhnúť sa strate údajov, je potrebné zmeniť &quot;DB relation Name&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>pre tento súbor shape v hlavnom dialógu zoznamu súborov.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Chcete prepísať reláciu [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>]?</translation>
     </message>
@@ -17958,7 +18665,7 @@
         <translation type="obsolete">Relácia existuje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Použite tabuľku dole na úpravu názvov stĺpcov. Uistite sa, že názov žiadneho stĺpca neobsahuje rezervované slovo PostgreSQL</translation>
     </message>
@@ -17968,67 +18675,67 @@
         <translation type="obsolete">Chyba</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Meno súboru</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Trieda objektu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Objekty</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished">Názov relácie v databáze</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Nové spojenie</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Pridať súbory Shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Súbory Shape (*.shp);;Všetky súbory (*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS nie je dostupný</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Vybraná databáza nemá nainštalované rozšírenie PostGIS, ktoré je nevyhnutné na ukladanie priestorových údajov.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished">Zisťuje sa či </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Chyba pri vykonávaní SQL dopytu:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished">&lt;/p&gt;&lt;p&gt;Hlásenie z databázy:</translation>
     </message>
@@ -18036,32 +18743,32 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Nástroj na import súboru shape do PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Spojenia PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Odobrať</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Import</translation>
+        <translation type="obsolete">Import</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Zoznam súborov shape</translation>
     </message>
@@ -18091,107 +18798,107 @@
         <translation type="obsolete">Schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Meno stĺpca s geometriou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Odobrať všetko</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Globálna schéma</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Nástroj na import súboru shape do PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importovať určený súbor shape do PostGIS</translation>
+        <translation type="obsolete">Importovať určený súbor shape do PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Zatvoriť</translation>
+        <translation type="obsolete">Zatvoriť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Pridať</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Pridať súbor shape do zoznamu importovaných súborov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Odobrať označený súbor shape zo zoznamu importovaných súborov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Odobrať všetky shape súbory zo zoznamu súborov určených na import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Použiť štandardný SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Nastaviť SRID na obvyklú hodnotu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Použiť štandardné meno stĺpca s geometriou</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Pridať shape súbor do zoznamu importovaných súborov</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Nové</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Vytvoriť spojenie PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Odobrať aktuálne spojenie PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Pripojiť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Upraviť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Upraviť toto spojenie PostGIS</translation>
     </message>
@@ -18214,7 +18921,7 @@
         <translation type="obsolete">Import súborov Shape do PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -18258,15 +18965,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Jedinečná hodnota</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Hodnotiace kritérium:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -18283,7 +19000,7 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
         <source>Attribute table - </source>
-        <translation>Tabuľka atribútov -</translation>
+        <translation type="obsolete">Tabuľka atribútov -</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18293,7 +19010,7 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
         <source>&amp;Open attribute table</source>
-        <translation>Otvoriť &amp;tabuľku atribútov</translation>
+        <translation type="obsolete">Otvoriť &amp;tabuľku atribútov</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18323,27 +19040,27 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
         <source>Stop editing</source>
-        <translation>Ukončiť úpravy</translation>
+        <translation type="obsolete">Ukončiť úpravy</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
         <source>Save as shapefile...</source>
-        <translation>Uložiť ako shape súbor...</translation>
+        <translation type="obsolete">Uložiť ako shape súbor...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
         <source>Provider does not support deletion</source>
-        <translation>Správca údajov nepodporuje mazanie</translation>
+        <translation type="obsolete">Správca údajov nepodporuje mazanie</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Správca údajov nepodporuje mazanie objektov</translation>
+        <translation type="obsolete">Správca údajov nepodporuje mazanie objektov</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
         <source>Layer not editable</source>
-        <translation>Vrstva nie je upravovateľná</translation>
+        <translation type="obsolete">Vrstva nie je upravovateľná</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18358,17 +19075,17 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
         <source>Do you want to save the changes?</source>
-        <translation>Prajete si uložiť zmeny?</translation>
+        <translation type="obsolete">Prajete si uložiť zmeny?</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Áno</translation>
+        <translation type="obsolete">&amp;Áno</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
         <source>&amp;No</source>
-        <translation>&amp;Nie</translation>
+        <translation type="obsolete">&amp;Nie</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18378,22 +19095,22 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
         <source>Allow Editing</source>
-        <translation>Povoliť úpravy</translation>
+        <translation type="obsolete">Povoliť úpravy</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
         <source>Layer cannot be added to</source>
-        <translation>Vrstva nemôže byť pridaná</translation>
+        <translation type="obsolete">Vrstva nemôže byť pridaná</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Tento nástroj na prístup k údajom nepodporuje pridávanie objektov.</translation>
+        <translation type="obsolete">Tento nástroj na prístup k údajom nepodporuje pridávanie objektov.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Aktuálna vrstva nie je upravovateľná. Vyberte &apos;Povoliť úpravy&apos; z rozbaľovacieho menu, ktoré sa otvorí po kliknutí  pravým tlačidlom myši v okne Legenda.</translation>
+        <translation type="obsolete">Aktuálna vrstva nie je upravovateľná. Vyberte &apos;Povoliť úpravy&apos; z rozbaľovacieho menu, ktoré sa otvorí po kliknutí  pravým tlačidlom myši v okne Legenda.</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/src/gui/qgsvectorlayer.cpp" line="1836"/>
@@ -18403,37 +19120,37 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
         <source>Invert Selection...</source>
-        <translation>Invertovať výber...</translation>
+        <translation type="obsolete">Invertovať výber...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
         <source>Abort</source>
-        <translation>Prerušiť</translation>
+        <translation type="obsolete">Prerušiť</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
         <source>Start editing failed</source>
-        <translation type="unfinished">Pokus o úpravy zlyhal</translation>
+        <translation type="obsolete">Pokus o úpravy zlyhal</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
         <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished">Správca sa nedá otvoriť pre zápis</translation>
+        <translation type="obsolete">Správca sa nedá otvoriť pre zápis</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
         <source>Error</source>
-        <translation>Chyba</translation>
+        <translation type="obsolete">Chyba</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
         <source>Could not commit changes</source>
-        <translation>Nemožno odoslať zmeny </translation>
+        <translation type="obsolete">Nemožno odoslať zmeny </translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
         <source>Problems during roll back</source>
-        <translation>Problémy v priebehu návratu do východzieho stavu (roll back)</translation>
+        <translation type="obsolete">Problémy v priebehu návratu do východzieho stavu (roll back)</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18453,57 +19170,57 @@
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Aktuálna vrstva nie je upravovateľná. V lište Digitalizácia kliknite na ikonu &apos;Začať úpravy&apos;.</translation>
+        <translation type="obsolete">Aktuálna vrstva nie je upravovateľná. V lište Digitalizácia kliknite na ikonu &apos;Začať úpravy&apos;.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Nemožno zapísať pridané objekty.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>Žiadne iné typy zmien nebudú zapísané.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Nemožno zapísať zmeny atribútov.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Avšak pridané objekty boli zapísané v poriadku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Nemožno zapísať zmenené geometrie.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Avšak zmenené atribúty boli zapísané v poriadku.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Nemožno zapísať vymazanie objektov.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Avšak zmeny geometrií boli zapísané v poriadku.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
         <source>Cannot retrieve features</source>
-        <translation>Nemožno prebrať objekty</translation>
+        <translation type="obsolete">Nemožno prebrať objekty</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>  Správca (provider) pre aktuálnu vrstvu nemôže prebrať geometriu pre vybrané objekty. Táto verzia providera neobsahuje túto vlastnosť (funkciu).</translation>
+        <translation type="obsolete">  Správca (provider) pre aktuálnu vrstvu nemôže prebrať geometriu pre vybrané objekty. Táto verzia providera neobsahuje túto vlastnosť (funkciu).</translation>
     </message>
 </context>
 <context>
@@ -18524,27 +19241,27 @@
         <translation type="obsolete">Spojitá farba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>Priehľadnosť: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Jeden symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Odstupňovaný symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Spojitá farba</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Jedinečná hodnota</translation>
     </message>
@@ -18554,12 +19271,12 @@
         <translation type="obsolete">Zdroj údajov (cesta k súboru alebo informácie o databázovom spojení)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">Týmto tlačidlom sa otvára nástroj na tvorbu dopytov pre PostgreSQL, čo umožňuje vytvoriť na rozdiel od zobrazenia všetkých objektov vrstvy, len určitú podskupinu objektov, ktoré sa zobrazia na mapovom plátne </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished">Tu sa zobrazuje dopyt použitý na vymedzenie objektov vo vrstve. V súčasnosti sú dopyty podporované len pre vrstvy PostgreSQL. Zadávať, alebo upravovať dopyt možno kliknutím na tlačidlo Tvorba dopytov</translation>
     </message>
@@ -18579,120 +19296,130 @@
         <translation type="obsolete">Značka jedinečnej hodnoty</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Priestorový index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Vytvorenie priestorového indexu bolo úspešné</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Vytvorenie priestorového indexu zlyhalo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Všeobecné:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation> Typ uloženia tejto vrstvy:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>Geometrický typ objektov v tejto vrstve: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>Počet objektov v tejto vrstve: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation> Možnosti úprav tejto vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Rozsah:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation> V jednotkách referenčného priestorového systému vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>V jednotkách priestorového referenčného systému projektu: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>Priestorový referenčný systém vrstvy:</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Referenčný súradnicový systém projektu (výstupný):</translation>
+        <translation type="obsolete">Referenčný súradnicový systém projektu (výstupný):</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Informácia o atribútovom poli:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Pole</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Presnosť</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation> Zdroj pre túto vrstvu:</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units: </source>
-        <translation>V jednotkách priestorového referenčného systému projektu: </translation>
+        <translation type="obsolete">V jednotkách priestorového referenčného systému projektu: </translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
         <source> (Invalid transformation of layer extents) </source>
-        <translation> (Neplatná tranformácia rozsahu vrstvy) </translation>
+        <translation type="obsolete"> (Neplatná tranformácia rozsahu vrstvy) </translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished">Komentár</translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayerPropertiesBase</name>
@@ -18702,7 +19429,7 @@
         <translation>Vlastnosti vrstvy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Druh legendy:</translation>
     </message>
@@ -18714,7 +19441,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18729,12 +19456,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Zrušiť</translation>
+        <translation type="obsolete">Zrušiť</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -18742,129 +19469,129 @@
         <translation type="obsolete">TextLabel2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Symbolika</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Priehľadnosť:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Všeobecné</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Používať vykresľovanie v závislosti od mierky</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximálna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimálna 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minimálna mierka pri ktorej bude táto vrstva zobrazená.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Maximálna mierka pri ktorej bude táto vrstva zobrazená.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Zobraziť meno</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Používa sa na nastavenie poľa, ktoré bude umiestnené na najvyššej úrovni dialógového okna Výsledky identifikácie.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Priestorový referenčný systém</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Zmeniť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Pole zobrazované v dialógovom okne Výsledky identifikácie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Týmto sa nastaví pole zobrazované v dialógovom okne Výsledky identifikácie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Zobrazované pole</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Podskupina</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Tvorba dopytov</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Priestorový index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Vytvoriť priestorový index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Vytvoriť</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Meta údaje</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Popisy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Zobraziť popisy</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Akcie</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Použiť</translation>
+        <translation type="obsolete">Použiť</translation>
     </message>
 </context>
 <context>
@@ -18928,7 +19655,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>&amp;Pridať vrstvu WFS</translation>
     </message>
@@ -18936,29 +19663,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Ste si istý, že chcete odstrániť spojenie </translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation>  a všetky s ním súvisiace nastavenia?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Potvrdenie mazania</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Áno</translation>
+        <translation type="obsolete">Áno</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Nie</translation>
+        <translation type="obsolete">Nie</translation>
     </message>
 </context>
 <context>
@@ -18969,59 +19696,59 @@
         <translation type="obsolete">Dialóg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Spojenia</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Nové</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Vymazať</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Upraviť</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>&amp;Pripojiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Pomocník</translation>
+        <translation type="obsolete">Pomocník</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>Prid&amp;ať</translation>
+        <translation type="obsolete">Prid&amp;ať</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>&amp;Zatvoriť</translation>
+        <translation type="obsolete">&amp;Zatvoriť</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation type="unfinished">Alt+Z</translation>
+        <translation type="obsolete">Alt+Z</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
@@ -19057,282 +19784,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Vlastnosti servera:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Vlastnosť</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Hodnota</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>Verzia WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Názov</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Abstrakt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Kľúčové slová</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Online zdroje</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Kontaktná osoba</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Poplatky</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Obmedzenia prístupu</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Formát obrázkov</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Počet vrstiev</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>Vlastnosti vrstvy: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Vybrané</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Áno</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nie</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Viditeľnosť</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Viditeľná</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Skrytá</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>--</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Dostupná v CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Dostupná v štýle</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Meno</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP výnimka</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished">Použité URL: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>Výnimka služby WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM výnimka</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Nemožno získať WMS službu: %1 na riadku %2 stĺpec %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Je to spôsobené pravdepodobne nesprávnym URL servera WMS.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Nemožno získať WMS službu v očakávanom formáte (DTD): žiadny %1 alebo %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Nemožno získať WMS službu Výnimka na %1: %2 v riadku %3 stĺpec %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Požiadavka obsahuje Format, ktorý tento server neponúka.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Požiadavka obsahuje CRS (referenčný súradnicový systém) ktorý nie je v ponuke servera pre jednu alebo viac vrstiev v tejto požiadavke.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Požiadavka obsahuje priestorový referenčný systém, ktorý nie je v ponuke servera pre jednu alebo viac vrstiev v požiadavke.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>Požiadavka GetMap je pre vrstvu, ktorú server neponúka, alebo požiadavka GetFeatureInfo je pre vrstvu, ktorá nie je na mape.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Požiadavka je na vrstvu v štýle ktorý neponúka tento server.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>Požiadavka GetFeatureInfo je použitá na vrstvu, ktorá nie je uvedená ako dopytovateľná.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>Požiadavka GetFeatureInfo obsahuje chybné hodnoty X alebo Y.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished">Hodnota (voliteľného) parametra UpdateSequence v požiadavke GetCapabilities je rovnaká s aktuálnou hodnotou service metadata update sequence number.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished">Hodnota (voliteľného) parametra UpdateSequence v požiadavke GetCapabilities je väčšia ako aktuálna hodnota service metadata update sequence number.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Požiadavka neobsahuje vzorku hodnoty veľkosti a server neurčil predvolenú hodnotu pre takýto rozmer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Požiadavka obsahuje neplatnú vzorku hodnoty rozmeru.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Požiadavka smeruje na voliteľnú operáciu, ktorú tento server nepodporuje.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Neznámy chybový kód z post-1.3 WMS servera)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation> Správa od poskytovateľa WMS: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>  Je to pravdepodobne spôsobené chybou v programe QGIS. Prosím oznámte túto chybu.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished">Identifikácia formátov</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished">Možno identifikovať</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Môže byť priehľadná</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished">Možno priblížiť</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished">Kaskádové počítanie (počet)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Pevná sírka</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Pevná výška</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 vymedzujúci/ohraničujúci obdĺžnik</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2394"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished">Na vrstvu nemožno robiť dopyty.</translation>
     </message>
@@ -19351,16 +20078,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS šablóna zásuvného modulu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Šablóna zásuvného modulu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS šablóna zásuvného modulu</translation>
+        <translation type="obsolete">QGIS šablóna zásuvného modulu</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Šablóna zásuvného modulu</translation>
+        <translation type="obsolete">Šablóna zásuvného modulu</translation>
     </message>
     <message>
         <location filename="build/qgisdev/qgis_08/Release-0_8_0/i18n/build/qgisdev/qgis_unstable/i18n" line="0"/>
@@ -19381,33 +20189,33 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Zrušiť</translation>
+        <translation type="obsolete">&amp;Zrušiť</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished">                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Vitajte vo vašom autmaticky vygenerovanom zásuvnom module!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je iba štartovací bod. Teraz je potrebné upraviť kód tak aby vykonával niečo užitočné....čítajte ďalej a získajte viac informácií na začiatok.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentácia:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Je naozaj potrebné, aby ste si prečítali dokumentáciu ku QGIS API rozhraniu nachádzajúcu sa na:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface je abstraktná základná trieda (abstract base class - ABC) určujúca ktoré verejne dostupné funkcie (vlastnosti) QGIS sú prístupné aj kódu aplikácií a zásuvných modulov tretích strán. QgisInterface je konkrétna implementácia tejto abstraktnej základnej triedy. Upredňostnovaný spôsob ako nakladať s operáciami QGISu je prostredníctvom QGisInterface. Inštancia QgisInterface je prepustená zásuvnému modulu keď sa nahrá. Prosím kontaktujte vývojársky tím QGISu pokiaľ požadovaná funkcionalita v QGisInterface nie je dostupná.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin je ABC ktoré definuje požadované správanie sa zásuvného modulure, ktoré musí prevádzkovať. Viac detailov sa dozviete nižšie.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Načo slúžia všetky tie súbory v mojom adresári vygenerovanom pre zásovnom modulerated?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je generovaný Makefile špecifikácia pre váš zásuvný modul. Uvidíte že špecifikuje cesty k c++ include (-I) a prilinkovanie knižnice -l) ku Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui a QGis Raster. Mali by ste pridať vaše špecifické závislosti a súbory so zdrojovým kódom k tomuto Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je trieda, ktorá sprostredkuje &apos;lepidlo&apos; medzi vašou vlastnou aplikačnou logikou a aplikáciou QGIS. Uvidíte, že množstvo metód je už implementovaných pre vás - vrátane nejakých príkladov ako pridať rastrovú, alebo vektorovú vrstvu na mapové plátno hlavnej aplikácie. Táto trieda je konkrétnou inštanciou rozhrania QgisPlugin ktoré definuje požadované správanie zásuvného modulu. Predovšetkým, zásuvný modul má množstvo statických metóda členov, takže logika QgsPluginManager a nahrávača zásuvných modulov môže identifikovaťkaždý zásuvný modul, vytvoriť mu príslušnú položku v menu, atď. Všimnite si že nie je nič čo by vám bránilo vytvoriť viacero ikon na panely nástrojov a vicero položiek v menu pre jeden zásuvný modul. Štandardne je vytvorená jedna polžka v menu a jedno tlačidlo na paneli nástrojov a je predkonfigurovaný tak aby volal metódu run() v tejto triede keď je vybraný. Táto štandardná implementácia poskytovaná pre vás tvorcom zásuvných modulov je odbre dokumentovaná takže pre ďalšie rady vás prosím odkazujem na kód.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je Abstraktná základná trieda (Abstract Base Class) implementovaná v Qt4 fashion ako súbor &apos;ui&apos; Qt designera. Definuje vzhľad štandardného dialógového okna zásuvného modulu bez implementácie akejkoľvek aplikačnej logiky. Môžete upraviť tento formulár aby vyhovoval vaším potrebám alebo ho úplne odstrániť ak váš zásuvný modul nepotrebuje  zobrazovať formulárt pre používateľa (napr. pre vlasnté mapové nástroje).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je konkrétna trieda, kde aplikačná logika vyššie zmieneného dilógu by mala ísť. Tu je váš skutočný svet....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Toto je súbor zdrojov Qt4 pre váš zásuvný modul. Súbor Makefile vygenerovaný pre váš zásuvný modul je všetko nastavené na kompiláciu zdorjového súboru takže jediné, čo potrebujete , je pridať vaše ďalšie ikony atď s použitím jednoduchého súboru vo formáte XML. Poznačte si menný pristor použitý pre všetky vaše zdroje t.j. (&quot;:/[pluginname]/&quot;). Je to dôležité používať predponu pre všetky vaše zdroje. Navrhujeme vám zaradiť všetky ostatné obrázky a údaje potrebné za behu programu do súboru zdrojov tiež.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;To je ikona ktorá sa použije pre položku v menu pre váš zásuvný modul a ikonu v na paneli nástrojov. Jednoducho nahraďte túto ikonu s vašou vlastnou aby ste váš ásuvný modul urobili odlišný od zvyšku.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento súbopr obsahuje dukumentáciu, ktorú práve teraz čítate!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Získanie vývojárskej pomoci:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Pre otázky a komentáre súviasiace so šablónou pre tvorbu zásubvných modulov a tvorbu vašich vlastností v QGISe s využitím rozhrania zásuvného modulu prosím kontaktujte nás cez:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * e-mailová konferencia pre vývojárov QGISu, alebo&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (kanál #qgis na freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS je šírený pod licenciou Gnu Public License. Ak vytvoríte užitočný zásuvný modul, prosím zvážte jeho prispením späť do spoločenstva.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Prajeme veľa zábavy aďakujeme, že ste sa rozhodli pre QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;QGIS tím&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">                                  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Vitajte vo vašom autmaticky vygenerovanom zásuvnom module!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je iba štartovací bod. Teraz je potrebné upraviť kód tak aby vykonával niečo užitočné....čítajte ďalej a získajte viac informácií na začiatok.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentácia:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Je naozaj potrebné, aby ste si prečítali dokumentáciu ku QGIS API rozhraniu nachádzajúcu sa na:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;:http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;: http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface je abstraktná základná trieda (abstract base class - ABC) určujúca ktoré verejne dostupné funkcie (vlastnosti) QGIS sú prístupné aj kódu aplikácií a zásuvných modulov tretích strán. QgisInterface je konkrétna implementácia tejto abstraktnej základnej triedy. Upredňostnovaný spôsob ako nakladať s operáciami QGISu je prostredníctvom QGisInterface. Inštancia QgisInterface je prepustená zásuvnému modulu keď sa nahrá. Prosím kontaktujte vývojársky tím QGISu pokiaľ požadovaná funkcionalita v QGisInterface nie je dostupná.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin je ABC ktoré definuje požadované správanie sa zásuvného modulure, ktoré musí prevádzkovať. Viac detailov sa dozviete nižšie.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Načo slúžia všetky tie súbory v mojom adresári vygenerovanom pre zásovnom modulerated?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je generovaný Makefile špecifikácia pre váš zásuvný modul. Uvidíte že špecifikuje cesty k c++ include (-I) a prilinkovanie knižnice -l) ku Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui a QGis Raster. Mali by ste pridať vaše špecifické závislosti a súbory so zdrojovým kódom k tomuto Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je trieda, ktorá sprostredkuje &apos;lepidlo&apos; medzi vašou vlastnou aplikačnou logikou a aplikáciou QGIS. Uvidíte, že množstvo metód je už implementovaných pre vás - vrátane nejakých príkladov ako pridať rastrovú, alebo vektorovú vrstvu na mapové plátno hlavnej aplikácie. Táto trieda je konkrétnou inštanciou rozhrania QgisPlugin ktoré definuje požadované správanie zásuvného modulu. Predovšetkým, zásuvný modul má množstvo statických metóda členov, takže logika QgsPluginManager a nahrávača zásuvných modulov môže identifikovaťkaždý zásuvný modul, vytvoriť mu príslušnú položku v menu, atď. Všimnite si že nie je nič čo by vám bránilo vytvoriť viacero ikon na panely nástrojov a vicero položiek v menu pre jeden zásuvný modul. Štandardne je vytvorená jedna polžka v menu a jedno tlačidlo na paneli nástrojov a je predkonfigurovaný tak aby volal metódu run() v tejto triede keď je vybraný. Táto štandardná implementácia poskytovaná pre vás tvorcom zásuvných modulov je odbre dokumentovaná takže pre ďalšie rady vás prosím odkazujem na kód.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je Abstraktná základná trieda (Abstract Base Class) implementovaná v Qt4 fashion ako súbor &apos;ui&apos; Qt designera. Definuje vzhľad štandardného dialógového okna zásuvného modulu bez implementácie akejkoľvek aplikačnej logiky. Môžete upraviť tento formulár aby vyhovoval vaším potrebám alebo ho úplne odstrániť ak váš zásuvný modul nepotrebuje  zobrazovať formulárt pre používateľa (napr. pre vlasnté mapové nástroje).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Toto je konkrétna trieda, kde aplikačná logika vyššie zmieneného dilógu by mala ísť. Tu je váš skutočný svet....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;Toto je súbor zdrojov Qt4 pre váš zásuvný modul. Súbor Makefile vygenerovaný pre váš zásuvný modul je všetko nastavené na kompiláciu zdorjového súboru takže jediné, čo potrebujete , je pridať vaše ďalšie ikony atď s použitím jednoduchého súboru vo formáte XML. Poznačte si menný pristor použitý pre všetky vaše zdroje t.j. (&quot;:/[pluginname]/&quot;). Je to dôležité používať predponu pre všetky vaše zdroje. Navrhujeme vám zaradiť všetky ostatné obrázky a údaje potrebné za behu programu do súboru zdrojov tiež.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;To je ikona ktorá sa použije pre položku v menu pre váš zásuvný modul a ikonu v na paneli nástrojov. Jednoducho nahraďte túto ikonu s vašou vlastnou aby ste váš ásuvný modul urobili odlišný od zvyšku.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tento súbopr obsahuje dukumentáciu, ktorú práve teraz čítate!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Získanie vývojárskej pomoci:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Pre otázky a komentáre súviasiace so šablónou pre tvorbu zásubvných modulov a tvorbu vašich vlastností v QGISe s využitím rozhrania zásuvného modulu prosím kontaktujte nás cez:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * e-mailová konferencia pre vývojárov QGISu, alebo&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (kanál #qgis na freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS je šírený pod licenciou Gnu Public License. Ak vytvoríte užitočný zásuvný modul, prosím zvážte jeho prispením späť do spoločenstva.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Prajeme veľa zábavy aďakujeme, že ste sa rozhodli pre QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;QGIS tím&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Zameňte tento text s opisom činnosti daného zásuvného modulu</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_sv.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_sv.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_sv.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR Drivrutinshanterare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>Kan ej öppna OGR Drivrutinshanterare</translation>
     </message>
@@ -24,33 +24,74 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Skriv kartkoordinater</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>
 Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Avbryt</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Stanna</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Avbryt</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="136055884"/>
@@ -827,7 +868,7 @@
         <translation type="obsolete">Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGis-filer (*.qgs)</translation>
     </message>
@@ -842,23 +883,23 @@
         <translation type="obsolete">Välj ett filnamn att spara som</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Inga plugins för datakällor</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Inga vektorlager kan laddas. Kontrollera din QGIS-installation</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Inga datakällor</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Inga plugins för datakällor finns tillgängliga. Inga vektorlager kan laddas</translation>
     </message>
@@ -880,220 +921,220 @@
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>Reguljärt uttryck på siffervärde är ej meningsfullt. Använd jämförelse istället.</translation>
+        <translation type="obsolete">Reguljärt uttryck på siffervärde är ej meningsfullt. Använd jämförelse istället.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>Refererad kolumn hittades ej:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>Division med noll.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Öppna ett OGR lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>Inget aktivt lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>För att identifiera objekt måste du välja aktivt lager genom att klicka på namnet i teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>kommando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation>objekt hittade</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation>ett objekt hittat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>Inga objekt hittade</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>Inga objekt hittades i det aktiva lagret där du klickade</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation>Kunde inte identifiera objekt på</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>för att</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>För att välja objekt måste du välja ett aktivt lager genom att klicka på dess namn i teckenförklaringen</translation>
+        <translation type="obsolete">För att välja objekt måste du välja ett aktivt lager genom att klicka på dess namn i teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>på rad</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>kolumn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>för fil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Kan ej spara till fil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>Ny centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>Ny punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>Ny nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>Ångra senaste punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>Avsluta linje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>Välj nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>Välj ny position</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>Välj linjesegment</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>Ny nodposition</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>Släpp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>Radera nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>Släpp nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>Välj element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>Ny plats</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>Släpp vald</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>Ta bort vald / välj nästa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>Välj positon på linje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>Dela linjen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>Släpp linjen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>Välj punkt på linje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation>Längd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation>Area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Kunde inte fästa segment. Har du ställt in toleransen i Inställningar &gt; Projektegenskaper &gt; Allmänt?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation>Kunde inte fästa nod. Har du ställt in toleransen i Inställningar &gt; Projektegenskaper &gt; Allmänt?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation>Projektfil läsfel:</translation>
     </message>
@@ -1103,27 +1144,27 @@
         <translation>Anpassa till en linjär transform kräver minst 2 punkter.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation>Anpassa till en Helmerttransform kräver minst 2 punkter.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation>Anpassa till en affin transform kräver minst 4 punkter.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation>Kunde inte öppna datakällan:</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation>Tolkningsfel på rad</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation>GPS eXchange format datakälla</translation>
     </message>
@@ -1133,12 +1174,12 @@
         <translation>Etikett</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation>Fick fel vid transformering av koordinatsystem vid en punkt. Kan inte beräkna linjelängd.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation>Fick fel vid transformering av koordinatsystem vid en punkt. Kan inte beräkna polygonarea.</translation>
     </message>
@@ -1165,12 +1206,12 @@
         <translation>GRASS data finns inte tillgängligt om GISBASE inte är specificerat.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation>CopyrightMärke</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation>Ritar information om upphosvrätt</translation>
     </message>
@@ -1215,12 +1256,12 @@
         <translation>Verktyg för att läsa in och impotrera GPS-data</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation>GRASS-lager</translation>
     </message>
@@ -1235,32 +1276,32 @@
         <translation>Bygger ett rutnät</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation>Nordpil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation>Visar en nordpil på kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation>Skalstreck</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation>Ritar ett skalstreck</translation>
     </message>
@@ -1290,472 +1331,605 @@
         <translation>Version 0.0001</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
         <source>Not a vector layer</source>
-        <translation>Inte ett vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
         <source>The current layer is not a vector layer</source>
-        <translation>Aktivt lager är inte ett vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">Lager kan inte läggas till</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">Datakälla för detta lager stödjer inte tillägg av objekt.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
         <source>Layer not editable</source>
-        <translation>Lagret kan inte redigeras</translation>
+        <translation type="unfinished">Lagret kan inte redigeras</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
         <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
-        <translation>Kan inte redigera vektorlagret. För att göra det redigerabart, högerklicka på lagret i teckenförklaringen och kryssa för &apos;Tillåt redigering&apos;.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
         <source>Wrong editing tool</source>
-        <translation>Fel redigeringsverktyg</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
         <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation>Kan inte använda verktyget &apos;Skapa punkt&apos; på detta vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
         <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation>Kan inte använda verktyget &apos;Skapa linje&apos; på detta vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
         <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation>Kan inte använda verktyget &apos;Skapa polygon&apos; på detta vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
         <source>Error</source>
-        <translation>Fel</translation>
+        <translation type="unfinished">Fel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation>Ändra geometri</translation>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation>Datakällan för detta lager tillåter inte att geometrierna ändras</translation>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation>Kan inte redigera vektorlagret. Välj  &apos;Börja redigera&apos; i teckenförklaringens meny</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation>Kunde inte öppna SRS-databasen </translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation>&lt;br&gt;Fel(</translation>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
-        <translation> km2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
-        <translation> ha</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
-        <translation> m2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
-        <translation> m</translation>
+        <translation type="unfinished"> m</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
-        <translation> km</translation>
+        <translation type="unfinished">km</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
-        <translation> mm</translation>
+        <translation type="unfinished"> mm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
-        <translation> cm</translation>
+        <translation type="unfinished"> cm</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
-        <translation> mile2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
-        <translation> fot2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
-        <translation> mile</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
-        <translation> fot</translation>
+        <translation type="unfinished"> fot</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
-        <translation> fot</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
-        <translation> grad2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
-        <translation> grader</translation>
+        <translation type="unfinished"> grader</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
-        <translation> grader</translation>
+        <translation type="unfinished">grader</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
-        <translation> obekant</translation>
+        <translation type="unfinished"> obekant</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
         <source>Received %1 of %2 bytes</source>
-        <translation>Tog emot %1 av %2 bytes</translation>
+        <translation type="unfinished">Tog emot %1 av %2 bytes</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
         <source>Received %1 bytes (total unknown)</source>
-        <translation>Tog emot %1 bytes (okänd totalsumma)</translation>
+        <translation type="unfinished">Tog emot %1 bytes (okänd totalsumma)</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
         <source>Not connected</source>
-        <translation>Ej uppkopplad</translation>
+        <translation type="unfinished">Ej uppkopplad</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
         <source>Looking up &apos;%1&apos;</source>
-        <translation>Slår upp &apos;%1&apos;</translation>
+        <translation type="unfinished">Slår upp %1</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
         <source>Connecting to &apos;%1&apos;</source>
-        <translation>Kopplar upp till &apos;%1&apos;</translation>
+        <translation type="unfinished">Kopplar upp till %1</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
         <source>Sending request &apos;%1&apos;</source>
-        <translation>Skickar förfrågan &apos;%1&apos;</translation>
+        <translation type="unfinished">Skickar förfrågan %1</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
         <source>Receiving reply</source>
-        <translation>Tar emot svar</translation>
+        <translation type="unfinished">Tar emot svar</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
         <source>Response is complete</source>
-        <translation>Svaret är komplett</translation>
+        <translation type="unfinished">Svaret är komplett</translation>
     </message>
     <message>
         <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
         <source>Closing down connection</source>
-        <translation>Stänger uppkoppling</translation>
+        <translation type="unfinished">Stänger uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
-        <source>GISBASE is not set.</source>
-        <translation>GISBASE är ej satt.</translation>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
-        <source> is not a GRASS mapset.</source>
-        <translation> är inte ett GRASS kartset.</translation>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
-        <source>Cannot start </source>
-        <translation>Kan inte starta </translation>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
-        <source>Mapset is already in use.</source>
-        <translation>Kartset används redan.</translation>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
-        <source>Temporary directory </source>
-        <translation>Temporärt bibliotek </translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
-        <source> exist but is not writable</source>
-        <translation> finns men är ej skrivbart</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
-        <source>Cannot create temporary directory </source>
-        <translation>Kan inte skapa temporärt bibliotek </translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
-        <source>Cannot create </source>
-        <translation>Kan inte skapa </translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
-        <source>Cannot remove mapset lock: </source>
-        <translation>Kan inte ta bort låsning av kartset: </translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
-        <source>Warning</source>
-        <translation>Varning</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
-        <source>Cannot read raster map region</source>
-        <translation>Kan inte läsa rasterkartans region</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
-        <source>Cannot read vector map region</source>
-        <translation>Kan inte läsa vektorkartans region</translation>
-    </message>
-    <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
-        <source>Cannot read region</source>
-        <translation>Kan inte läsa region</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Rader</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Punkter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">Objekt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">Databas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Tabell</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varning</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisApp</name>
@@ -1765,7 +1939,7 @@
         <translation type="obsolete">Lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
@@ -1790,17 +1964,17 @@
         <translation type="obsolete">&amp;Radera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Version </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>med stöd för PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(inget stöd för PostgreSQL)</translation>
     </message>
@@ -1815,12 +1989,12 @@
         <translation type="obsolete">Projektsida på Sourceforge: http://sourceforge.net/projects/qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Tillgängliga plugins för datakällor</translation>
     </message>
@@ -1835,12 +2009,12 @@
         <translation type="obsolete">Markera ett eller flera lager som du vill lägga till</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>är inte en giltig eller känd datakälla</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Ogiltig Datakälla</translation>
     </message>
@@ -1880,114 +2054,114 @@
         <translation type="obsolete">Sparade karta som:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Inget Lager Markerat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Du måste markera ett lager i teckenförklaringen för att öppna en attributtabell</translation>
+        <translation type="obsolete">Du måste markera ett lager i teckenförklaringen för att öppna en attributtabell</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Inga MapLayer-plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Inga MapLayer-plugins i ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Inga Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Hittade inga plugins i ../plugins. För att testa plugins, starta qgis från källkodskatalogen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 har namnet %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Plugininformation</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis laddade följande plugin:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Namn: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Version: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Beskrivning: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Kan inte Ladda Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS kunde inte ladda ett plugin från: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Det finns en ny version av QGIS tillgänglig</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Du använder en utvecklingsversion av QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Du använder den senaste versionen av QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Vill du ha mer information?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Versionsinformation för QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1995,17 +2169,17 @@
         <translation type="obsolete">QGIS - Ändringar i CVS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Kan inte hämta senaste versionen från servern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Uppkoppling nekad - servern kanske är nere</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>QGIS-servern hittades inte</translation>
     </message>
@@ -2035,22 +2209,22 @@
         <translation type="obsolete">Laddar plugins...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Ogiltigt Lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 är ett ogiltigt lager och kan inte laddas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Fel vid Laddning av Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Ett fel uppstod vid laddningen av %1.</translation>
     </message>
@@ -2060,7 +2234,7 @@
         <translation type="obsolete">öppna filer-dialog</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Sparade kartbild till</translation>
     </message>
@@ -2070,12 +2244,12 @@
         <translation type="obsolete">QGIS - Ändringar i CVS Sedan Senaste Utgåvan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Välj ett filnamn att spara kartbilden som</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Utsträckning:</translation>
     </message>
@@ -2085,27 +2259,27 @@
         <translation type="obsolete">Websida: http://qgis.org</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Problem med att radera objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Ett problem uppstod under radering av objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Inget Vektorlager Markerat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Radering av objekt fungerar bara på vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>För att radera ett objekt så måste du markera ett vektorlager i teckenförklaringen</translation>
     </message>
@@ -2115,52 +2289,52 @@
         <translation type="obsolete">QGIS redo</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS är licensierad under GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Teckenförklaring som visar alla lager i kartvyn. Klicka på en checkbox för att aktivera eller inaktivera ett lager. Dubbelklicka på ett lager i teckenförklaringen för att ställa in dess utseende och ändra andra inställningar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Översiktskarta. Denna kartvy kan användas för att visa en översikt där den nuvarande kartvyn syns som en röd rektangel. Alla lager i kartan kan läggas till i översiktskartan.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Kartvy. Det är här som raster- och vektorlager visas när de adderas till kartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Förloppsindikator som visar statusen för rendering av lager och andra tidsintensiva operationer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Visar den nuvarande kartskalan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Visar kartkoordinaterna vid den nuvarande pekarpositionen. Uppdateras kontinuerligt när musen flyttas.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Rendera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>När den här rutan är markerad så renderas kartlagren vid navigationskommandon och andra händelser com kräver en uppdatering av kartan. När den inte är markerad så renderas ingenting. Detta låter dig addera ett stort antal lager och ställa in deras symbologi innan du renderar dem.</translation>
     </message>
@@ -2245,397 +2419,397 @@
         <translation type="obsolete">QGis-filer (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Välj en QGIS-projektfil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Kan inte spara projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Kan inte spara projekt som</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>Läser inställningar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>Ställer in GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>Kollar databas</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>Återställer laddade plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>Initialiserar filfilter</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>Återställer fönstertillstånd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS Klar!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>&amp;Nytt projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>Nytt projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>&amp;Öppna projekt...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>Öppna ett projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>&amp;Spara projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation>Spara projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>Sp&amp;ara projekt som...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation>Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>Spara projekt i ett annat namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>Skriv &amp;ut...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>Skriv ut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>Spara som bild...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>Spara karta som bild</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>Exportera till MapServer karta...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>Exportera som MapServer .map fil</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>Avsluta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>Avsluta QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>Lägg till vektorlager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>Lägg till ett vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>Lägg till rasterlager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>Lägg till ett rasterlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>Lägg till ett PostGIS-lager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation>D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>Lägg till ett PostGIS-lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>Nytt vektorlager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation>N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>Skapa nytt vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>Ta bort lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>Ta bort ett lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>Lägg till allt i översikten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation>+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>Visa alla lager i översiktskartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>Ta bort allt från översikten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>Ta bort alla lager från översiktskartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>Visa alla lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation>S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>Visa alla lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>Göm alla lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation>H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>Göm alla lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>Projektegenskaper...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>Ställ in projektegenskaper</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>Alternativ...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>Ändra olika QGIS-alternativ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>Anpassad projektion...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>Hantera anpassade projektioner</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>Hjälpinnehåll</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>Hjälptext</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>Qgis hemsida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation>Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Hemsida</translation>
     </message>
@@ -2650,307 +2824,307 @@
         <translation type="obsolete">Besök QGIS SourceForge sida</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>Om</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>Om QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>Kontrollera Qgis version</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Kontrollera om din QGIS version är aktuell (kräver internetuppkoppling)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>Uppdatera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>Uppdatera karta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>Zooma In</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation>Ctrl++</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>Zooma ut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation>Ctrl+-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>Zooma hela</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation>F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>Zooma till hela utsträckningen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>Zooma till vald</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>Zooma till vald</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>Panorera karta</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>Panorera kartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>Zooma senaste</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>Zooma till senaste utsträckningen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>Zooma till lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>Zooma till lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>Identifiera objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>Klicka på objekt för att identifiera dem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>Välj objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>Öppna tabell</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>Mät linje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation>Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>Mät en linje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>Mät area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>Mät en area</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>Visa bokmärken</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>Nytt bokmärke...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>Nytt bokmärke</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>Lägg till WMS-lager...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation>W</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>Lägg till Web Mapping Server-lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>I översikten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation>O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>Lägg till nuvarande lager i översiktskartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>Pluginhanterare...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>Öppna pluginhanteraren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
+        <location filename="../src/app/qgisapp.cpp" line="705"/>
         <source>Start editing the current layer</source>
-        <translation>Börja redigera nuvarande lager</translation>
+        <translation type="obsolete">Börja redigera nuvarande lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
+        <location filename="../src/app/qgisapp.cpp" line="710"/>
         <source>Stop editing the current layer</source>
-        <translation>Avluta editering av nuvarande lager</translation>
+        <translation type="obsolete">Avluta editering av nuvarande lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>Skapa punkt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>Skapa punkter</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>Skapa linje</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>Skapa linjer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>Skapa polygon</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation>Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>Skapa polygoner</translation>
     </message>
@@ -2960,114 +3134,114 @@
         <translation type="obsolete">Ta bort vald</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>Ta bort vald</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>Lägg till nod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>Ta bort nod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>Flytta nod</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>&amp;Arkiv</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>&amp;Öppna senaste projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>&amp;Visa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>&amp;Lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>&amp;Inställningar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjälp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>Arkiv</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>Hantera lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>Hjälp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>Digitalisering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>Kartnavigering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Toggla kartritande</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Denna bild visar om projektion är på eller av. Klicka bilden för at öppna projekt egenskaper för att ändra detta.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Projektionsstatus - Klicka för att öppna projektionsdialog</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>Klar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1331"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">Nya objekt</translation>
+        <translation>Nya objekt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -3075,9 +3249,9 @@
         <translation type="obsolete">Projektion stödjer automatisk projicering av lager från olika koordinatsystem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1338"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Kartkomponerare för att skapa kartor</translation>
+        <translation>Kartkomponerare för att skapa kartor</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -3145,199 +3319,199 @@
         <translation type="obsolete">Förbättringar av Mapserver exportverktyg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Öppna ett vektorlager som OGR stödjer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Spara som</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Välj en QGIS-projektfil att öppna</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>QGIS-projekt läsfel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Försök hitta saknade lager?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>Kan inte öppna projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Sparade projekt i:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation> Kunde inte spara projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>Välj ett filnamn som QGIS projektifl skall sparas som</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: Kan inte ladda projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation> Kan inte ladda projekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - Ändringar i SVN sedan förra släppta versionen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS val av bläddrare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Skriv in namnet på bläddraren som du vill använda (tex firefox, konqueror).
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Skriv in hela sökvägen om din bläddrare inte finns i systemets sökväg.
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation>Du kan ändra detta alternativ senare genom att välja Alternativ från menyn Inställningar (Hjälpflik).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>Lager är ej giltigt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Lagret är inte ett giltigt lager och kan inte läggas till kartan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>Spara?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation> Klippbordet innehåller nu:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Öppna ett rasterlager som GDAL stöder</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation> är inte en giltig eller igenkänd källa till rasterdata</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation> är inte en rasterkälla som stöds</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>Datakälla som ej stöds</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>Skriv in ett namn för det nya bokmärket:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>Fel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>Kunde ej skapa bokmärke. Din användardatabas kanske saknas eller är korrupt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation>Ctrl+?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation>Klipp objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation>Klipp valda objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation>Kopiera objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation>Kopiera valda objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation>Klistra in objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation>Klistra in valt objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation>
  Kompilerad med Qt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation> , kör med Qt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
+        <location filename="../src/app/qgisapp.cpp" line="4459"/>
         <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Vill du spara aktivt projekt?&lt;/p&gt;</translation>
+        <translation type="obsolete">&lt;p&gt;Vill du spara aktivt projekt?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation>Visa de flesta verktygsraderna</translation>
     </message>
@@ -3348,7 +3522,7 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation>Göm de flesta verktygsraderna</translation>
     </message>
@@ -3359,127 +3533,217 @@
         <translation type="obsolete">G</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
+        <location filename="../src/app/qgisapp.cpp" line="852"/>
         <source>&amp;Toolbars...</source>
-        <translation>Verk&amp;tygsrader...</translation>
+        <translation type="obsolete">Verk&amp;tygsrader...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1366"/>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
         <source>Many user interface improvements</source>
-        <translation type="obsolete">Många förbättringar av användargränssnittet</translation>
+        <translation>Många förbättringar av användargränssnittet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
         <source>Improved vector and attribute editing</source>
-        <translation type="obsolete">Förbättrad redigering av vektorer och attribut</translation>
+        <translation>Förbättrad redigering av vektorer och attribut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1334"/>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
         <source>WMS support</source>
-        <translation type="obsolete">WMS support</translation>
+        <translation>WMS support</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1340"/>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
         <source>Improved measure tools with area measuring</source>
-        <translation type="obsolete">Förbättrade mätverktyg med areamätning</translation>
+        <translation>Förbättrade mätverktyg med areamätning</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1342"/>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
         <source>Attribute searching</source>
-        <translation type="obsolete">Sökning i attribut</translation>
+        <translation>Sökning i attribut</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1344"/>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
         <source>New legend structure</source>
-        <translation type="obsolete">Ny struktur på teckenförklaringen</translation>
+        <translation>Ny struktur på teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1346"/>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
         <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
-        <translation type="obsolete">Ny uppdelning av API så QGIS bibliotek kan användas i kartapplikationer</translation>
+        <translation>Ny uppdelning av API så QGIS bibliotek kan användas i kartapplikationer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1348"/>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
         <source>Improved MapServer export tool</source>
-        <translation type="obsolete">Förbättrad MapSever exportverktyg</translation>
+        <translation>Förbättrad MapSever exportverktyg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1350"/>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
         <source>Map canvas background color is customizable</source>
-        <translation type="obsolete">Möjlighet att ändra bakgrundsfärg på kartvyn</translation>
+        <translation>Möjlighet att ändra bakgrundsfärg på kartvyn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1352"/>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
         <source>Vector layer transparency</source>
-        <translation type="obsolete">Genomskinlighet för vektorlager</translation>
+        <translation>Genomskinlighet för vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1354"/>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
         <source>Antialiasing for vector layers</source>
-        <translation type="obsolete">Kantutjämning för vektorlager</translation>
+        <translation>Kantutjämning för vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1356"/>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
         <source>GRASS support in all platforms</source>
-        <translation type="obsolete">GRASS stöd på alla plattformar</translation>
+        <translation>GRASS stöd på alla plattformar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1358"/>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
         <source>Enhanced GRASS support and toolbox commands</source>
-        <translation type="obsolete">Förbättrat GRASS-stöd och verktygslåda</translation>
+        <translation>Förbättrat GRASS-stöd och verktygslåda</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1360"/>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
         <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
-        <translation type="obsolete">Förbättrad vektorredigering, inkluderat klipp/klistra, fästning och nodeditering</translation>
+        <translation>Förbättrad vektorredigering, inkluderat klipp/klistra, fästning och nodeditering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1362"/>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
         <source>Shapefile/OGR layer editing</source>
-        <translation type="obsolete">Redigering av Shapefile/OGR-lager</translation>
+        <translation>Redigering av Shapefile/OGR-lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1364"/>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
         <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
-        <translation type="obsolete">Val att bara söka i geometry_columns-tabellen för PostGIS-lager</translation>
+        <translation>Val att bara söka i geometry_columns-tabellen för PostGIS-lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
         <source>Network error while communicating with server</source>
         <translation>Nätverksfel vid kommunikation med servern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
         <source>Unknown network socket error</source>
         <translation>Okänt nätverksfel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>Unable to communicate with QGIS Version server</source>
         <translation>Kan inte skapa en uppkopling mot QGIS versionsserver</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation>T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
-        <translation>Nuvarande kartskala</translation>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation>Datapluginet stödjer inte radering</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation>Datapluginet stödjer inte radering av objekt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation>Lagret kan inte redigeras</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation>Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i verktygsraden för digitalisering.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished">Skala </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
-        <translation>Kartkoordinatera vid markörens position</translation>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -4254,7 +4518,7 @@
         <translation type="obsolete">Nytt Vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>Huvudfönster</translation>
     </message>
@@ -4277,17 +4541,17 @@
         <translation>Om Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Om</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
@@ -4297,7 +4561,7 @@
         <translation type="obsolete">Quantum GIS (qgis)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Nyheter</translation>
     </message>
@@ -4421,7 +4685,7 @@
         <translation type="obsolete">Peter Brewer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -4433,17 +4697,17 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS Hemsida</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Prenumerera på maillistan QGIS-User</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Dataplugin</translation>
     </message>
@@ -4463,12 +4727,12 @@
         <translation type="obsolete">Tom Elwertowski</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>Utvecklare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS Utvecklare&lt;/h2&gt;</translation>
     </message>
@@ -4478,12 +4742,12 @@
         <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Arial; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;Quantum GIS är licensierat under GNU General Public License&lt;/p&gt;&lt;p align=&apos;center&apos; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Sans Serif; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation>QGIS val av bläddrare</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
@@ -4492,22 +4756,22 @@
 Du kan ändra detta alternativ senare genom att välja Alternativ från menyn Inställningar (Hjälpflik).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation>QGIS sponsorer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation>Följande personer har sponsrat QGIS genom att bidra med pengar och andra utvecklingkostnader</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation>Nätplats</translation>
     </message>
@@ -4518,26 +4782,17 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS är licensierad genom GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation>Sponsorer</translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -4570,25 +4825,25 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
-        <translation>Namn</translation>
+        <translation type="unfinished">Namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
-        <translation>Kommando</translation>
+        <translation type="unfinished">Kommando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
-        <translation>Skapa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
-        <translation>Välj ett kommando</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4785,7 +5040,7 @@
         <translation type="obsolete">&lt;center&gt;Kör kommando&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation>Kör kommando</translation>
     </message>
@@ -4931,123 +5186,123 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>välj</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>välj och flytta högst upp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>visa bara överensstämmande</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>Tolkningsfel i söksträngen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>Sökresultat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>Du har angett en tom söksträng.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>Fel vid sökning</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
-        <translation>
+        <translation type="unfinished">
             <numerusform>Hittade %d överensstämmande objekt.</numerusform>
-            <numerusform>Hittade %d överensstämmande objekt.</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>Inga överensstämmande objekt hittade.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
-        <translation>Namnkonflikt</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
-        <translation>Attributet kunde inte läggas till. Namnet finns redan i tabellen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
-        <translation>Sluta redigera</translation>
+        <translation type="unfinished">Sluta redigera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
-        <translation>Vill du spara ändringarna?</translation>
+        <translation type="unfinished">Vill du spara ändringarna?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
-        <translation>Fel</translation>
+        <translation type="unfinished">Fel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
-        <translation>Kunde inte föra in förändringar</translation>
+        <translation type="unfinished">Kunde inte föra in förändringar</translation>
     </message>
 </context>
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Verkligen ta bort?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Är du säker du vill ta bort</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>bokmärket?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Ja</translation>
+        <translation type="obsolete">&amp;Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Nej</translation>
+        <translation type="obsolete">&amp;Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation>Fel vid borttagning av bokmärke</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation>Misslyckades att ta bort</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation> bokmärket från databasen. Databasen angav:
@@ -5120,12 +5375,12 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation> för läsning/skrivning</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation>Fel vid utskrift</translation>
     </message>
@@ -5135,17 +5390,17 @@
         <translation type="obsolete">Kan inte formge BoundingBox</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation>Kan inte söka</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation>Kan inte skriva över BoundingBox</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation>Kan inte hitta BoundingBox</translation>
     </message>
@@ -5155,97 +5410,97 @@
         <translation type="obsolete">Kan inte formge translateringen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation>Kan inte skriva över translateringen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation>Kan inte hitta translateringen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation>Fil I/O-fel</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation>Papper överensstämmer ej</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation>Valt pappersformat överensstämmer ej med storleken på kompositionen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation>Stor bild</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation> för att skapa bild</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation>  kräver ungefär</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation> MB minne</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Välj ett filnamn att spara kartbilden som</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Välj ett filnamn att spara kartan som</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation>SVG varning</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation>Visa inte detta meddelande igen</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation>&lt;p&gt;QGIS SVG exportfunktione innehåller flera fel, pga fel och brister i Qt4:s SVG-kod. Till exempel syns inte text i SVG-filen, och det är problem med att kartans begränsningsruta klipper andra saker, såsom innehållsförteckning och skala.&lt;/p&gt;Om du behöver en vektorbaserad utskrift från QGIS, föreslår vi att du försöker skriva till PostScript, om du inte är nöjd med resultatet från SVG.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation>QGIS - Utskriftskomponerare</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation>Karta 1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation>Kunde inte öppna </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation>format</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation>SVG-format</translation>
     </message>
@@ -5379,32 +5634,32 @@
 <context>
     <name>QgsComposerMap</name>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Karta %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Utsträckning (beräkna skala)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Skala (beräkna utsträckning)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation>Rendera</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation>Rektangel</translation>
     </message>
@@ -5490,22 +5745,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation>Kan inte ladda bild.</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation>Välj en fil</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation>Bilder (</translation>
     </message>
@@ -5594,37 +5849,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Lager</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Grupp</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation>Kombinera valda lager</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation>Cache</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation>Rendera</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation>Rektangel</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation>Teckenförklaring</translation>
     </message>
@@ -5670,12 +5925,12 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Anpassad</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>
 
@@ -5684,87 +5939,87 @@
 A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Porträtt</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Landskap</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation>Slut på minne</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
@@ -5773,17 +6028,17 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation>Etikett</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation>Kan inte ladda bild.</translation>
     </message>
@@ -5834,27 +6089,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>Testa uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation> Uppkoppling till</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation> lyckades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5876,32 +6131,32 @@
         <translation>Uppkopplingsinformation</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Dator</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>Databas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Användarnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Namn för den nya uppkopplingen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Lösenord</translation>
     </message>
@@ -5918,22 +6173,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -5941,12 +6196,12 @@
         <translation>Skapa en ny PostGIS-uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -6060,32 +6315,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Misslyckades</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>transformera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation> med felet:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation>Källans Spatial Reference System (SRS) är ej giltig. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation>Koordinaterna kan inte projiceras. SRS är: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation>Mottagande Spatial Reference System (SRS) är ej giltig. </translation>
     </message>
@@ -6093,32 +6348,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Nere till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Uppe till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Uppe till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation>Nere till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation>&amp;Copyrighttext</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Skapar en text om upphovsskydd som visas på kartbladet.</translation>
     </message>
@@ -6193,27 +6448,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -6251,85 +6506,75 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Ta bort projektionsdefinition?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Att ta bort en projektionsdefinition går ej att ångra. Vill du ta bort den?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Ny</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS Anpassade projektioner</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig. Vänligen ge projektionen ett namn innan du väljer spara.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig. Vänligen lägg till parametrar innan du sparar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig. Vänligen lägg till en &apos;proj=&apos;-del innan du sparar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig. Vänligen lägg till en &apos;ellips=&apos;-del innan du sparar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig. Vänligen rätta innan du sparar.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Denna proj4-projektionsdefinition är ej giltig.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Northing och Easthing måste vara i decimal form.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation>Internt fel (källprojektion ogiltig?)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation> av </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation>* av </translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Anpassad projektionsdefinition</translation>
     </message>
@@ -6341,153 +6586,169 @@
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Du kan definiera dina egna anpassade projektioner här. Definitionen måste vara på proj4-format för att ange ett &apos;Spatial Reference System&apos;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Du kan definiera dina egna anpassade projektioner här. Definitionen måste vara på proj4-format för att ange ett &apos;Spatial Reference System&apos;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Parametrar:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 av 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Ny</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Spara</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Radera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Stäng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Namn:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Testa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Transformera från WGS84 till vald projektion</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Använd textrutan nedan för att testa din skapade projektion. Skriv in koordinatera där både lat/long (i WGS84) och det projicerade resultatet är känt (till exempel genom att läsa från en karta). Tryck sedan på &apos;Beräkna&apos; för att kontrollera om projektionen stämmer.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Använd textrutan nedan för att testa din skapade projektion. Skriv in koordinatera där både lat/long (i WGS84) och det projicerade resultatet är känt (till exempel genom att läsa från en karta). Tryck sedan på &apos;Beräkna&apos; för att kontrollera om projektionen stämmer.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Projicerat koordinatsystem</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Geografisk / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Östlig:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Nordlig:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Beräkna</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Är du säker på att du vill ta bort</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>uppkopplingen och alla tillhörande inställningar?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Bekräfta Radering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Välj Tabell</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Du måste välja en tabell för att kunna lägga till ett Lager.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Lösenord för</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Skriv in ditt lösenord:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Uppkopplingen avbröts</translation>
     </message>
@@ -6502,89 +6763,89 @@
         <translation type="obsolete">Uppkopplingen till %1 på %2 misslyckades. Antingen är databasen nere eller så är dina inställningar felaktiga. %3Kontrollera ditt användarnamn och lösenord och försök igen. %4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>Punktlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>Flerpunktslager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation>Linjeföljdslager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation>Flerlinjeföljdslager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>Polygonlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation>Flerpolygonlager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation>Lager med blandad geometri</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation>Geometrisamlingslager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>Väntar på lagertyp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>Obekant lagertyp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation>Uppkoppling %1 till %2 misslyckades. Antingen är databasen nere, eller så är dina inställnnigar fel.%3Kolla användarnamn och lösenord och försök igen.%4Databasen sa:%5%6</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation> Åtkomst till relationen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> med sql;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
@@ -6732,7 +6993,7 @@
         <translation>X och Y fält måste finnas, och de skall innehålla kordinater på decimal form.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>Separera&amp;d text</translation>
     </message>
@@ -6745,30 +7006,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Inget lagernamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Ange ett lagernamn innan du lägger till lagret i kartan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Ingen separerare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Ange en separerare innan du läser filen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Välj en separerad textfil att öppna</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished">Läs</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6780,7 +7051,7 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6790,12 +7061,12 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Hälp om användandet av detta plugin</translation>
+        <translation type="obsolete">Hälp om användandet av detta plugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Öppnar hjälpen för Separerad Text-pluginet i din inställda webläsare</translation>
+        <translation type="obsolete">Öppnar hjälpen för Separerad Text-pluginet i din inställda webläsare</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6805,12 +7076,12 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Läser rubrikraden och uppdaterar listorna för X- och Y-fälten</translation>
+        <translation type="obsolete">Läser rubrikraden och uppdaterar listorna för X- och Y-fälten</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Läser rubrikraden i indatafilen och uppdaterar fälten i X- och Y-menyerna. Använd den här knappen för att uppdatera fältlistorna om du ändrar separeraren efter att ha valt den separerade textfilen.</translation>
+        <translation type="obsolete">Läser rubrikraden i indatafilen och uppdaterar fälten i X- och Y-menyerna. Använd den här knappen för att uppdatera fältlistorna om du ändrar separeraren efter att ha valt den separerade textfilen.</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6820,12 +7091,12 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Lägg till lager med den separerare, fil, och x/y-fält som har angetts</translation>
+        <translation type="obsolete">Lägg till lager med den separerare, fil, och x/y-fält som har angetts</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Skapar ett lager med de angivna parametrarna och lägger till det till kartan. Fönstret fortsätter att vara öppet så att du kan lägga till fler lager.</translation>
+        <translation type="obsolete">Skapar ett lager med de angivna parametrarna och lägger till det till kartan. Fönstret fortsätter att vara öppet så att du kan lägga till fler lager.</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6835,40 +7106,40 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Stäng dialogrutan</translation>
+        <translation type="obsolete">Stäng dialogrutan</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Stäng dialogrutan utan att lägga till något till kartan.</translation>
+        <translation type="obsolete">Stäng dialogrutan utan att lägga till något till kartan.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X-fält&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Namn på fältet som innehåller x-värden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Namn på fältet som innehåller x-värden. Välj ett fält från listan. Listan genereras genom att läsa rubrikraden i den separerade textfilen.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y-fält&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Namn på fältet som innehåller y-värden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Namn på fältet som innehåller y-värden. Välj ett fält från listan. Listan genereras genom att läsa rubrikraden i den separerade textfilen.</translation>
     </message>
@@ -6890,112 +7161,112 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Lagernamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Namn som kommer att visas i teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Namn som kommer att visas i teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Separerare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Separerare som ska användas för att dela upp textfilen i fält. Separeraren kan vara ett eller flera tecken.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Separerare som ska användas för att dela upp textfilen i fält. Separeraren kan vara ett eller flera tecken.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Separerad Text-Lager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Separerad textfil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Hela sökvägen till den separerade textfilen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Hela sökvägen till den separerade textfilen. För att kunna läsa fälten i filen så måste separeraren anges innan filnamnet. Använd knappen till höger om detta fälr för att välja indatafil.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Leta efter den separerade textfilen som ska användas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Använd den har knappen för att leta efter den separerade textfilen. Denna knapp kommer inte att aktiveras förrän en separerare har skrivits in i &lt;i&gt;Separerare&lt;/i&gt;-rutan. När en fil har valts så kommer X- och Y-menyerna att fyllas med fält från den separerade textfilen.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Parsa</translation>
+        <translation type="obsolete">&amp;Parsa</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Lägg Till Lager</translation>
+        <translation type="obsolete">&amp;Lägg Till Lager</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
+        <translation type="obsolete">&amp;Stäng</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Exempeltext</translation>
     </message>
@@ -7022,96 +7293,109 @@
 &lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Välj en separerad textfil med x- och y-koordinater som du vill använda som ett punktlager så gör det här pluginet jobbet åt dig! &lt;/p&gt;
 &lt;p&gt;Använd lagernamnsfältet för att ange namnet i teckenförklaringen för det nya lagret. Använd separerarfältet för att ange vilken separerare som avänds i din fil (t.ex. mellanslag, komma eller tab). Efter att du har valt en separerare kan du trycka på knappen &quot;Parsa&quot; och välja kolumnerna som innehåller x- och y-värdena för lagret.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Spara lager som...</translation>
+        <translation type="obsolete">Spara lager som...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation>OBS: Följande rad laddades inte, eftersom Qgis inte kunde bestämma värde för x och y-koordinaterna:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation>Fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="829"/>
         <source>Error creating field </source>
-        <translation> Fel vid skapandet av fält</translation>
+        <translation type="obsolete"> Fel vid skapandet av fält</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="902"/>
         <source>Layer creation failed</source>
-        <translation>Fel vid skapandet av lager</translation>
+        <translation type="obsolete">Fel vid skapandet av lager</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="908"/>
         <source>Error creating shapefile</source>
-        <translation> Fel vid skapandet av shapefil</translation>
+        <translation type="obsolete"> Fel vid skapandet av shapefil</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="910"/>
         <source>The shapefile could not be created (</source>
-        <translation>Shapefilen kunde inte skapas (</translation>
+        <translation type="obsolete">Shapefilen kunde inte skapas (</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="918"/>
         <source>Driver not found</source>
-        <translation>Drivrutin hittades inte</translation>
+        <translation type="obsolete">Drivrutin hittades inte</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="919"/>
         <source> driver is not available</source>
-        <translation> drivrutin finns ej</translation>
+        <translation type="obsolete"> drivrutin finns ej</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="752"/>
         <source>Shapefiles (*.shp)</source>
         <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation>Shapefiler (*.shp)</translation>
+        <translation type="obsolete">Shapefiler (*.shp)</translation>
     </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Spara objekt i buffer</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -7119,57 +7403,57 @@
         <translation type="obsolete">Bufferinställningar:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Bufferavstånd i kartenheter:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Tabellnamn för det buffrade lagret:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Skapa unikt objekt-ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>publik</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Geometrikolumn:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>Rumsreferens-ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Unikt fält att använda som objekt-ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Lägg till det buffrade lagret till kartan?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Buffra objekt i lager: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>Parametrar</translation>
     </message>
@@ -7515,25 +7799,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Reserverade Ord</translation>
     </message>
@@ -7548,7 +7832,7 @@
         <translation>Kolumnnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Denna shapefil innehåller reservade ord. Dessa kan påverka import in i PostgreSQL. Redigera kolumnnamnen så att inga av der reservade ord som visas till höger används. Klicka på ett Kolumnnamn för att redigera. Du kan även ändra andra kolumnnamn om du vill.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -7556,17 +7840,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>Kolumnnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>Index</translation>
     </message>
@@ -7769,94 +8053,94 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>&amp;GPS-Verktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>&amp;Skapa nytt GPX-lager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>Skapar ett nytt GPX-lager och visar det på kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>&amp;Gps</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>Spara ny GPX-fil som...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS eXchange fil (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>Kunde inte skapa fil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation> Kunde inte skapa GPX-fil med givet namn.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation> Försök igen med ett nytt namn eller i ett annat</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>bibliotek.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX Laddare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>Kunde inte läsa vald fil.
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>Vänligen välj en giltig fil.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>Kunde inte starta process</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>Kunde inte starta GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>Importerar data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -7865,32 +8149,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>Fel vid import av data</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>Stöds ej</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation> Denna enhet stödjer inte hämtning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation> av</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>Hämtar data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -7899,22 +8183,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>Fel vid hämtning av data</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation> Denna enhet stödjer ej att skicka</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>Skickar data...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -7923,7 +8207,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>Skicka data gav fel</translation>
     </message>
@@ -7931,22 +8215,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>Välj ett filnamn att spara till</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS eXchange format (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>Välj GPX-fil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>Välj fil och format att importera</translation>
     </message>
@@ -7959,7 +8243,7 @@
         <translation>GPS-Verktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Ladda GPX-fil</translation>
     </message>
@@ -7979,37 +8263,37 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Fil:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Objekttyper:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Brytpunkter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Rutter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Spår</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Importera annan fil</translation>
     </message>
@@ -8041,27 +8325,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Fil att importera:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Objekttyp:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX-fil (utdata):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Lagernamn:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Hämta från GPS</translation>
     </message>
@@ -8091,27 +8375,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Redigera enheter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS-enhet:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Utdatafil:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Port:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Skicka till GPS</translation>
     </message>
@@ -8140,29 +8424,29 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Datalager:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
@@ -8187,7 +8471,7 @@
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
@@ -8196,7 +8480,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, som används för att spara information om brytpunkter, rutter och spår.&lt;/span&gt;&lt;/p&gt;
@@ -8209,7 +8493,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS kan bara hämta information från GPX-filer, men många andra format kan konverteras till GPX med hjälpa av GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). Det kräver att du har GPSBabel installerad där QGIS kan hitta programmet.&lt;/span&gt;&lt;/p&gt;
@@ -8222,7 +8506,7 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Detta verktyg hjälper dig att hämta data från en GPS. Välj GPS-enhet, porten som den är kopplad till, vilken sorts objekt du vill hämta, ett namn för det nya lagret,och GPX-filen där datat sparas. Om din enhet inte finns med i listan, eller om du vill ändra inställningar, kan du redigera enheterna.&lt;/span&gt;&lt;/p&gt;
@@ -8235,37 +8519,83 @@
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Detta verktyg hjälper dig att skicka data från ett GPX-lager till en GPS. Välj lager du vill skicka, enheten du vill skicka till, och porten enheten är kopplad till. Om din enhet inte finns med i listan, eller om du vill ändra inställningar, kan du redigera enheterna.&lt;/span&gt;&lt;/p&gt;
 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Verktyget använder programet GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) för att överföra data. Om du inte har GPSBabel installerat där QGIS hittar det, fungerar inte verktyget.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation>Felaktig URI - du måste specificera objekttyp.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation>GPS eXchange fil</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="417"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation>Varning: åtkomst önskad till felaktig position i QgsGPXProvider::minValue(..)</translation>
+        <translation type="obsolete">Varning: åtkomst önskad till felaktig position i QgsGPXProvider::minValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="430"/>
         <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation>Varning: åtkomst önskad till felaktig position i QgsGPXProvider::maxValue(..)</translation>
+        <translation type="obsolete">Varning: åtkomst önskad till felaktig position i QgsGPXProvider::maxValue(..)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation>Digitaliserad i QGIS</translation>
     </message>
@@ -8273,12 +8603,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -8291,34 +8621,34 @@
         <translation type="obsolete">Välj Geometrityp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Linje</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -8328,30 +8658,30 @@
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>Filformat:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Ta bort</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Attribut:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Lägg till</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Kolumn 1</translation>
     </message>
@@ -8359,7 +8689,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>&amp;Georefererare</translation>
     </message>
@@ -8415,70 +8745,75 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Georefererare</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Skriv världskoordinater</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Stäng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Rasterfil:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Beskrivning&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Denna plugin kan skapa världsfiler för raster. Välj punkter i rastret, och ge världskoordinaterna, och denna plugin kommer att beräknas parametrarn för världsfilen. Ju fler koordinater du ger, desto bättre resultat.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Böjningsalternativ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Metod för omsampling:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Närmaste granne</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Linjär</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Kubisk</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Använd 0 för transparens om behovs finns</translation>
     </message>
@@ -8688,40 +9023,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation>Tom</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation>Jämnt interval</translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>graderad symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>Klassifikationsfält:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>Läge:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>Antal Klasser:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -8731,22 +9063,22 @@
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
-        <translation type="unfinished">Kolumn</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">Värde</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">Fält</translation>
     </message>
@@ -8812,77 +9144,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>Verktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>Lägg till vald karta till kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>Kopiera vald karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>Döp om vald karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>Ta bort vald karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>Sätt aktiv region till vald karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>Uppdatera</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation> Kan inte kopiera karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation> &lt;br&gt;kommando: </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation> Kan inte döpa om karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation>Ta bort karta &lt;b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation> Kan inte ta bort karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation>Kan inte skapa ny region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8890,258 +9222,258 @@
 <context>
     <name>QgsGrassEdit</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>Redigeringsverktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Ny punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>Ny rad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>Ny gräns</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Ny centroid</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>Flytta nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>Lägg till nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Radera nod</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>Flytta element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>Dela linje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>Ta bort element</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>Redigera attribut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>Stäng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation> Vänster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation> Mitten:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete"> Höger:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation>Du är inte ägare till kartset, kan inte öppna vektorn för redigering.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation>Kan inte öppna vektorn för uppdatering.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation>Tabellen skapades</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation>Verktyget finns ännu inte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation> Kan inte kontrollera föräldralös post:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation>Föräldralös post finns kvar i attributtabellen. &lt;br&gt;Ta bort posten?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation> Kan inte ta bort föräldralös post:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation> Kan inte beskriva fältets tabell</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
-        <translation>Bakgrund</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
-        <translation>Markera</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
-        <translation>Dynamisk</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
-        <translation>Punkt</translation>
+        <translation type="unfinished">Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
-        <translation>Linje</translation>
+        <translation type="unfinished">Linje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
-        <translation>Gräns (ingen area)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
-        <translation>Gräns (1 area)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
-        <translation>Gräns (2 areor)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
-        <translation>Centroid (i area)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
-        <translation>Centroid (utanför area)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
-        <translation>Centroid (duplikat i area)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
-        <translation>Nod (1 linje)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
-        <translation>Nod (2 linjer)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
-        <translation>Visa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
-        <translation>Färg</translation>
+        <translation type="unfinished">Färg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
-        <translation>Typ</translation>
+        <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
-        <translation>Index</translation>
+        <translation type="unfinished">Index</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
-        <translation>Kolumn</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
-        <translation>Typ</translation>
+        <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
-        <translation>Längd</translation>
+        <translation type="unfinished">Längd</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
-        <translation>Nästa icke använd</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
-        <translation>Manuell inmatning</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
-        <translation>Ingen kategori</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
-        <translation>Höger: </translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9345,32 +9677,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9765,7 +10097,7 @@
     <message>
         <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
         <source>Output</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Utdata</translation>
     </message>
 </context>
 <context>
@@ -9784,160 +10116,130 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Kör</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Stanna</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
         <source>Module</source>
-        <translation>Modul</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished">) hittades inte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished">
  på rad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9982,13 +10284,13 @@
     <message>
         <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
         <source>TextLabel</source>
-        <translation>TextEtikett</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9996,17 +10298,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Arkiv</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10014,22 +10316,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10037,42 +10339,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10080,7 +10382,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10088,7 +10390,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10096,70 +10398,70 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished">
  på rad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished">Kan inte få aktuell region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"> Kan inte kontrollera kartans region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10267,7 +10569,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
@@ -10292,130 +10594,130 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished">) hittades inte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished">
  på rad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished">Nytt kartset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10576,162 +10878,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation>&amp;GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation>Öppna kartset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation>Nytt kartset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation>Stäng kartset</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation>Lägg till GRASS-vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation>Lägg till GRASS-rasterlager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation>Öppna GRASS-verktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation>Visa aktuell GRASS-region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation>Redigera aktuell GRASS-region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation>Redigera GRASS-vektorlager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation>Lägger till ett GRASS-vektorlager till kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation>Lägger till ett GRASS-rasterlager till kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation>Visar aktuell GRASS-region som en rektangel på kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation>Redigera aktuell GRASS-region</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation>Redigera aktuellt GRASS-vektorlager.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation>GrassVektor</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation>0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation>GRASS-lager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10739,22 +11041,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10832,67 +11134,67 @@
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
         <source>Select GRASS Vector Layer</source>
-        <translation>Välj GRASS vektorlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
         <source>Select GRASS Raster Layer</source>
-        <translation>Välj GRASS rasterlager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
         <source>Select GRASS mapcalc schema</source>
-        <translation>Välj GRASS mapcalc schema</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
         <source>Select GRASS Mapset</source>
-        <translation>Välj GRASS kartset</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
         <source>Warning</source>
-        <translation>Varning</translation>
+        <translation type="unfinished">Varning</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
         <source>Cannot open vector on level 2 (topology not available).</source>
-        <translation>Kan inte öppna vektor på nivå 2 (topologi ej tillgänglig).</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
         <source>Choose existing GISDBASE</source>
-        <translation>Välj existerande GISDBASE</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
         <source>Wrong GISDBASE, no locations available.</source>
-        <translation>Fel GISDBASE, inga platser tillgängliga.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
         <source>Wrong GISDBASE</source>
-        <translation>Fel GISDBASE</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
         <source>Select a map.</source>
-        <translation>Välj en karta.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
         <source>No map</source>
-        <translation>Ingen karta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
         <source>No layer</source>
-        <translation>Inget lager</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
         <source>No layers available in this map</source>
-        <translation>Inga lager tillgängliga i denna karta</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10954,39 +11256,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">Varning</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -10997,79 +11266,74 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation>Moduler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation>Bläddrare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished">) hittades inte.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished">
  på rad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -11077,17 +11341,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation>&amp;Rutnätsskaparen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>Skapar ett rutnät och sparar resultatet som en shapefil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>&amp;Rutnät</translation>
     </message>
@@ -11147,116 +11411,121 @@
     <message>
         <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
         <source>Please enter the file name before pressing OK!</source>
-        <translation>Vänligen skriv in filnamnet innan du trycker OK!</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS-pluginmall</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Rutnätsbyggare</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Denna plugin hjälper till att skapa en shapefil med rutnät, som du sdean kan använda som ett lager i Qgis kartvyn.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Skriv in alla enheter i decimalgrader.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>Linje</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>Start (ner till vänster)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Latitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Longitud:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>Slutpunkt (uppe till höger)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>Rutnätsstorlek (i grader)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Latitudintervall:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Longitudintervall:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>Utdata (shapefil)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -11271,12 +11540,12 @@
         <translation>Kunde inte hämta hjälptext från databasen</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Fel</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>QGIS hjälpdatabas är inte installerad</translation>
     </message>
@@ -11360,11 +11629,10 @@
         <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
         <source>Network timed out after %1 seconds of inactivity.
 This may be a problem in your network connection or at the WMS server.</source>
-        <translation>
-            <numerusform>Nätverket svarade ej i tid efter %1 sekundrs inaktivitet.
-Detta kan vara ett problem med ditt nätverk, eller i WMS-servern.</numerusform>
+        <translation type="unfinished">
             <numerusform>Nätverket svarade ej i tid efter %1 sekunders inaktivitet.
 Detta kan vara ett problem med ditt nätverk, eller i WMS-servern.</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -11426,27 +11694,27 @@
         <translation type="obsolete">&lt;center&gt;Kör kommando&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation> Resultat av identifieringen - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation>Kör kommando</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation>(Härledd)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation>Värde</translation>
     </message>
@@ -11836,98 +12104,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation>Kör...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation>Kö&amp;r...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation>&amp;Startare</translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation>QGIS Startare</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation>Alt+S</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Kör ett externt kommando eller program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation>Kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation>Välj program att köra</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation>Välj program att köra genom att blädda i filsystemet</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation>Kör valt program/kommando</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation>Kör valt program/kommando och visa utskriften</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation>Kör</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation>Utskrift</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation>Rensa kommandolista</translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -12021,75 +12197,100 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>grupp</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Egenskaper</translation>
+        <translation type="obsolete">&amp;Egenskaper</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation>&amp;Zooma till lagrets utsträckning</translation>
+        <translation type="obsolete">&amp;Zooma till lagrets utsträckning</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
         <source>&amp;Add to overview</source>
-        <translation>L&amp;ägg till översikten</translation>
+        <translation type="obsolete">L&amp;ägg till översikten</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
         <source>&amp;Remove from overview</source>
-        <translation>Ta bort f&amp;rån översikten</translation>
+        <translation type="obsolete">Ta bort f&amp;rån översikten</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>&amp;Radera</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation>&amp;Gör till högst placerade sak</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="477"/>
         <source>&amp;Allow editing</source>
-        <translation>&amp;Tillåt redigering</translation>
+        <translation type="obsolete">&amp;Tillåt redigering</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>&amp;Döp om</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>L&amp;ägg till grupp</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>&amp;Expandera alla</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>&amp;Kollapsa alla</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>Visa filgrupper</translation>
     </message>
     <message>
         <location filename="../src/legend/qgslegend.cpp" line="438"/>
         <source>&amp;Save as shapefile...</source>
-        <translation>&amp;Spara som shapefil...</translation>
+        <translation type="obsolete">&amp;Spara som shapefil...</translation>
     </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Öppna attributtabell</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Tillåt redigering</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Spara som shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Inget Lager Markerat</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsLegendItemBase</name>
@@ -12110,6 +12311,197 @@
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zooma till lagrets utsträckning</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Radera</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Öppna attributtabell</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Spara som shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Egenskaper</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Attributtabell -</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Spara lager som...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">Misslyckades att påbörja redigering</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">Källan kan inte öppnas för redigering</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Sluta redigera</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Vill du spara ändringarna?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nej</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Kunde inte föra in förändringar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">Problem vid återgång</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished">Drivrutin hittades inte</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"> Fel vid skapandet av shapefil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Shapefilen kunde inte skapas (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished">Fel vid skapandet av lager</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">&amp;Zooma till lagrets utsträckning</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Radera</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Öppna attributtabell</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Spara som shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Egenskaper</translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -12208,245 +12600,228 @@
         <translation type="obsolete">Attributkommandon - möjlighet att köra ett externt program baserat på innehållet i ett lagers attributfält</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>Kunde inte rita</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>för att</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="431"/>
         <source>Scale </source>
-        <translation>Skala </translation>
+        <translation type="obsolete">Skala </translation>
     </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Zooma till det markerade lagrets utsträckning</translation>
+        <translation type="obsolete">&amp;Zooma till det markerade lagrets utsträckning</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Radera</translation>
+        <translation type="obsolete">&amp;Radera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Egenskaper</translation>
+        <translation type="obsolete">&amp;Egenskaper</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>Toggla i översikten</translation>
+        <translation type="obsolete">Toggla i översikten</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation>Inga objekt hittade</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Inga objekt hittades inom sökradien. Observera att det för närvarande nite är möjligt att identifiera ej sparade objekt.&lt;/p&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
-        <translation>
-            <numerusform>- %1 objekt hittat</numerusform>
-            <numerusform>- %1 objekt hittade</numerusform>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
 </context>
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
-        <translation>Namn på kartfilen</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
-        <translation>MapServer map filer (*.map);;Alla filer(*.*)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
-        <translation>Välj QGIS projektfil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
-        <translation>QGIS Projektfiler (*.qgs);;Alla filer (*.*)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
-        <translation>Skriva över fil?</translation>
+        <translation type="unfinished">Skriva över fil?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
-        <translation> finns redan. 
-Vill du skriva över filen?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
-        <translation> finns redan. 
-Vill du skriva över filen?</translation>
+        <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation>Välj ett filnamn för exporterad Mapserver-fil</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation>Mapserver-filer (*.map)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation>QGIS Hjälp - Mapserver export</translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Exportera till MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Kartfil</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Exportera endast LAGER-information</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Karta</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Höjd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Bredd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>feet</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>meter</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>miles</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>tum</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>kilometer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Enheter</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Bildtyp</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>userdefined</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -12466,47 +12841,47 @@
         <translation>Prefix för karta, skala och teckenförklaring GIF-filnamn  skapade med denna kartfil. Det bör vara kort.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Webgränssnittsdefinition</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Sidhuvud</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Sidfot</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Mall</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjälp</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;OK</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Avbryt</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -12516,43 +12891,45 @@
         <translation type="obsolete">QGIS-projektfil</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>Namnet på kartfilen som skall skapas av QGIS-projektfil</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>Om vald kommer bara lagerinformationen att hanteras</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation>Sökväg till MapServer mallfil</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation>Prefix för karta, skala och teckenförklaringens GIF-filnamn skapade med denna kartfil. Det bör vara kort</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation>Hela sökvägen till QGIS-projektfil som skall exporteras till MapServer kartformat</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation>QGIS-projektfil</translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation>Välj en katalog</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -12590,35 +12967,20 @@
 <context>
     <name>QgsMeasure</name>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>Segment (i meter)</translation>
+        <translation type="obsolete">Segment (i meter)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="91"/>
         <source>Incorrect measure results</source>
-        <translation>Felaktiga mätresultat</translation>
+        <translation type="obsolete">Felaktiga mätresultat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="99"/>
         <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation>&lt;p&gt;Denna karta är definierad med ett geografisk koordinatsystem (latitud/longitud) men kartans utsträckning indikerar att det i själva verket är ett projicerat koordinatsystem (tex Mercator). Om det är så, kommer inte resultaten från linje- och areamätningar vara korrekt.&lt;/p&gt;&lt;p&gt;För att fixa detta, sätt rätt koordinatssystem i menyn&lt;tt&gt;Inställningar:Projektegenskaper&lt;/tt&gt;.</translation>
+        <translation type="obsolete">&lt;p&gt;Denna karta är definierad med ett geografisk koordinatsystem (latitud/longitud) men kartans utsträckning indikerar att det i själva verket är ett projicerat koordinatsystem (tex Mercator). Om det är så, kommer inte resultaten från linje- och areamätningar vara korrekt.&lt;/p&gt;&lt;p&gt;För att fixa detta, sätt rätt koordinatssystem i menyn&lt;tt&gt;Inställningar:Projektegenskaper&lt;/tt&gt;.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation>Segment (i fot)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation>Segment (i grader)</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation>Segment</translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -12649,6 +13011,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Segment (i meter)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Felaktiga mätresultat</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished">&lt;p&gt;Denna karta är definierad med ett geografisk koordinatsystem (latitud/longitud) men kartans utsträckning indikerar att det i själva verket är ett projicerat koordinatsystem (tex Mercator). Om det är så, kommer inte resultaten från linje- och areamätningar vara korrekt.&lt;/p&gt;&lt;p&gt;För att fixa detta, sätt rätt koordinatssystem i menyn&lt;tt&gt;Inställningar:Projektegenskaper&lt;/tt&gt;.</translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -12758,12 +13156,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Testa uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Uppkoplingen till %1 lyckades</translation>
     </message>
@@ -12773,7 +13171,7 @@
         <translation type="obsolete">Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -12783,9 +13181,9 @@
 Detaljerad felinformation:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
-        <translation>Uppkoplingen till %1 lyckades</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12997,37 +13395,37 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Nere till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation>Uppe till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Uppe till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Nere till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation>&amp;Nordpil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>Skapar en nordpil som visas på kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekoreringar</translation>
     </message>
@@ -13037,7 +13435,7 @@
         <translation type="obsolete">Hittade inte pixmap</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation>Hittade inte nordpilens pixmap</translation>
     </message>
@@ -13050,7 +13448,7 @@
         <translation type="obsolete">Hittade inte pixmap</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation>Hittade inte pixmap</translation>
     </message>
@@ -13058,100 +13456,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Nordpilplugin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Egenskaper</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Vinkel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Placering</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Sätt riktning automatiskt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Aktivera nordpil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Placering på skärmen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Uppe till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Uppe till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Nere till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Nere till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Förhandsvy av nordpil</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Ikon</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Ny Post</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -13167,14 +13570,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation>Välj en bläddrare</translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -13187,7 +13582,7 @@
         <translation type="obsolete">Inställningar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -13197,22 +13592,22 @@
         <translation type="obsolete">firebird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
@@ -13227,19 +13622,19 @@
         <translation type="obsolete">Webläsaren måste vara i din PATH eller också kan du &lt;br&gt;ange hela sökvägen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Ok</translation>
+        <translation type="obsolete">&amp;Ok</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -13247,7 +13642,7 @@
         <translation type="obsolete">Karta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Sökradie för identifiering av objekt</translation>
     </message>
@@ -13274,12 +13669,12 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Göm splashfönstret vid start</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Utseende</translation>
     </message>
@@ -13289,27 +13684,27 @@
         <translation type="obsolete">&amp;Splashbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Ikontema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Tema</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Not: &lt;/b&gt;Temaändringar sker inte förrän nästa gång QGIS startas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>Hjälp&amp;läsare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Öppna hjälpdokument med</translation>
     </message>
@@ -13319,7 +13714,7 @@
         <translation type="obsolete">&lt;b&gt;Not:&lt;/b&gt; Läsaren måste finnas i din PATH, eller så kan du ange &lt;br&gt;hela sökvägen ovan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Rendering</translation>
     </message>
@@ -13329,22 +13724,22 @@
         <translation type="obsolete">&amp;Uppdatera Under Ritning</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Uppdatera skärmbild efter läsning</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Kartbilden kommer att uppdateras efter att såhär många objekt har lästs från datakällan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>objekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Sätt till 0 för att inte uppdatera förrän alla objekt har lästs)</translation>
     </message>
@@ -13391,12 +13786,12 @@
         <translation type="obsolete">&lt;b&gt;OBS: &lt;/b&gt;Ett högt värde ger mjukare SVG-symboler, men kan göra QGIS långsammare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Initial Synlighet</translation>
     </message>
@@ -13423,47 +13818,47 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>&amp;Startbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>Standard kartutseende (projektinställningar väger tyngre)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>Bakgrundsfärg:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>Färg för valda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation>Utseende</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation>Stor första bokstav på lagernamn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Får linjer att se mindre hackiga ut, men utritningen går något långsammare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>N&amp;ya lager som läggs till kartan skall normalt visas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>&amp;Uppdatera medan ritning pågår</translation>
     </message>
@@ -13473,17 +13868,17 @@
         <translation type="obsolete">&amp;Välja och Mäta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>Mätverktyg</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>Ellipsoid för avståndsberäkningar:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>Sökradie</translation>
     </message>
@@ -13517,77 +13912,77 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>Pro&amp;jektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Välj globala standardinställningar...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>När lager hämtas som inte har någon projektionsinformation</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Fråga efter projektion.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Projektion som är projektstandard kommer att användas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
-        <translation>Global standardprojektion visad nedan kommer att &amp;användas.</translation>
+        <translation>Global projektion visad nedan kommer att &amp;användas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;OBS:&lt;/b&gt; Bläddraren måste vara i din sökväg, eller så kan du specificera hela sökvägen ovan</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation>Rendering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Här kan du ändra inställningen om du vill göra linjer mindre hackiga.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation>Fixa problem med polygoner som fylls på ett felaktigt sätt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation>Rita hela tiden om kartan när delaren teckenförklaring/karta flyttas</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation>&amp;Kartverktyg</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -13600,40 +13995,60 @@
 &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation>Flyttning och zoomning</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation>Zooma</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation>Zooma och centrera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation>Ingenting</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation>Zoom:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation>Mushjulets kommando:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished">Allmänt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -13884,89 +14299,84 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Tabell &lt;b&gt;%1&lt;/b&gt; i databasen &lt;b&gt;%2&lt;/b&gt; på datorn &lt;b&gt;%3&lt;/b&gt;, användare &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Uppkopplingen Misslyckades</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Uppkopplingen till databasen misslyckades:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Databasfel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Kunde inte hämta testvärden för fält</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Frågeresultat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>Where-satsen returnerade</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>rader.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Frågan Misslyckades</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Ett fel inträffade när frågan kördes:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Inga Poster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Frågan som du angav gav noll poster som resultat. Giltiga PostgreSQL-lager måsta ha minst ett objekt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Kunde inte få fältvärden med SQL-frågan:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation>&lt;/p&gt;&lt;p&gt;Felmeddelandet var: </translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
-        <translation>Ingen fråga</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
-        <translation>Du måste skapa en fråga innan du kan testa den</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
-        <translation>Fel i frågan</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14105,17 +14515,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Välj en katalog</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Inga Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Inga QGIS-plugins hittades i </translation>
     </message>
@@ -14216,140 +14626,140 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>Zooma In</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>Zooma ut</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>Zooma till lager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>Zooma till lager</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>Panorera karta</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>Panorera kartan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>Lägg till punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>Skapa punkter</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>Ta bort punkt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>Ta bort vald</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation>Linjär</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation>Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation>Välj ett filnamn för världsfilen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation>-modifierad</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation>&lt;p&gt;En Helmerttransform kräver att rasterlagret modifieras.&lt;/p&gt;&lt;p&gt;Rasterlagert kommer att sparas i en ny fil, och en världsfil kommer att skapas för denna nya fil.&lt;/p&gt;&lt;p&gt;Är detta verkligen vad du vill göra?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation>Affin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation>Inte implementerad!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation>&lt;p&gt;En affin transform kräver att man ändrar ursprungliga rasterfilen. Detta stöds ännu inte. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation>&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation>-transformen stöds ännu inte.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation>Fel</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation> Kunde inte skriva till</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="332"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
         <source>Currently all modified files will be written in TIFF format.</source>
-        <translation type="obsolete">För närvarande skrivs alla modifierade filer i TIFF-format.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14417,13 +14827,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>......</translation>
+        <translation type="obsolete">......</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Ändrat raster:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -14446,17 +14861,17 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Kunde inte komma åt relation</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation> Kunde inte komma åt</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
@@ -14465,12 +14880,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Inget stöd för GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -14479,12 +14894,12 @@
 Installera PostGIS med GEOS-stöd (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation>Ingen lämplig nyckelkolumn i tabellen</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -14499,153 +14914,153 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation>Det unika indexet på kolumn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation>passar inte eftersom Qgis för närvarande inte stödjer kolumner som inte har int4 som typ, som nycklar till tabellen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation> och</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation> Det unika indexet baserat på kolumn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation> passar inte eftersom Qgsi för närvarande inte stödjer föera kolumner som nycklar till tabellen.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation>Kunde inte hita nyckelkolumn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation>  härstammar från</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation>och passar.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation> och passar inte</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation> typen är</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation> och har passande begränsning)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation> och har inte en passande begränsning)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation>Vyn du valde har följande kolumner, men ingen av dem uppfyller ovanstående krav:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation>Qgis kräver att vyn har en kolumn som kan användas till unik nyckel. En sådan kolum måste härledas från en tabellkolumn av typen int4 och vara en primärnyckel, ha en unikbegränsning eller vara en PostgreSQL oid-kolumn. För att förbättra prestanda skall kolumnen även vara indexerad.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation> Vyn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation>har inga kolumner som passar till unik nyckel.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation>Ingen passande nyckelkolumn i vyn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation>Okänd geometrityp</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation> Kolumn</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation>  i</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation>  har geometritypen</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>, som Qgis för närvarande inte stödjer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation>, databasens loggfil blev:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation>Kunde inte få objekttyp och srid</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation> OBS:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation>såg förs passande ut, men innehåller inte unika data, så det passar inte.
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation>INSERT-fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation>Ett fel inträffade under införande av objekt</translation>
     </message>
@@ -14654,59 +15069,59 @@
         <source>The sql was:
 
 </source>
-        <translation>Sql-en var:
+        <translation type="obsolete">Sql-en var:
 
 </translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
         <source>SQL error</source>
-        <translation>SQL-fel</translation>
+        <translation type="obsolete">SQL-fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation>DELETE-fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation>Ett fel inträffade under radering från disken</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation>PostGIS-fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1986"/>
         <source>An error occured contacting the PostgreSQL databse</source>
         <translation type="obsolete">Ett fel inträffade vid uppkopplingen til PostgreSQL databas</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1993"/>
         <source>The PostgreSQL databse returned: </source>
         <translation type="obsolete"> PostgreSQL-databasen svarade:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation> när det försöks med:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation>Qgis kunde inte avgöra typ och srid hos kolumnen </translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
-        <translation>Ett fel inträffade vid uppkopplingen till PostgreSQL databas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
-        <translation> PostgreSQL-databasen svarade: </translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14717,44 +15132,44 @@
         <translation>Projektegenskaper</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Kartenheter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>Feet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Decimalgrader</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -14762,208 +15177,198 @@
         <translation type="obsolete">Titel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Standardtitel för projekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Allmänt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Kartutseende</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Färg för valda:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>Bakgrundsfärg:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>Precision</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Sätter automatisk antal decimaler vid visning av musens position</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Antalet decimaler som används vid visning av musens position sätts automatisk så att en förändring av musens läge med en pixel ändrar visad position</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Automatisk</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Sätter antal decimaler vid visning av musens position</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Manuell</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Antal decimaler vid val &apos;manuell&apos;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>decimaler</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>Digitalisering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Linjebredd:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Avstånd för fästning:</translation>
+        <translation type="obsolete">Avstånd för fästning:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Linjefärg:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Projekttitel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Sätt på projektion</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Verkställ</translation>
+        <translation type="obsolete">&amp;Verkställ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+V</translation>
+        <translation type="obsolete">Alt+V</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation>Projektbeskrivning</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation>Linjebredd i pixlar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation>Fästverktygets tolerans i kartenheter</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation> QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation> PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Projektionsväljare</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Sök</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation> QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Hitta</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>Postgis SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>Spatial Reference System</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>ID</translation>
     </message>
@@ -14977,9 +15382,39 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Inte satt</translation>
     </message>
@@ -14999,27 +15434,27 @@
         <translation type="obsolete">&amp;Radera</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Drivrutin:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Dimensioner:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Band:</translation>
     </message>
@@ -15029,12 +15464,12 @@
         <translation type="obsolete">Projektion: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Origo:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Pixelstorlek:</translation>
     </message>
@@ -15054,169 +15489,169 @@
         <translation type="obsolete">Blå</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Rasterutsträckning:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Kapad yta:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Pyramidöversikter:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Bandstatistik (om insamlad):</translation>
+        <translation type="obsolete">Bandstatistik (om insamlad):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Egenskap</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Värde</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Bandnr</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Ingen statistik</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Ingen statistik har samlats in</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>MinVärde</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>MaxVärde</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Intervall</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Medel</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Kvadratsumma</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Standardavvikelse</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Summa av alla celler</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Cellantal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Skrivåtkomst nekad</translation>
+        <translation type="obsolete">Skrivåtkomst nekad</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Skrivåtkomst nekad. Justera filrättigheterna och försök igen.</translation>
+        <translation type="obsolete">Skrivåtkomst nekad. Justera filrättigheterna och försök igen.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Datatyp:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Åttabitars ickenegativt heltal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Sextonbitars ickenegativt heltal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Sextonbitars heltal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Trettiotvåbitars ickenegativt heltal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Trettiotvåbitars heltal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Trettiotvåbitars flyttal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Sextiofyrabitars flyttal</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Komplex Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Komplex Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Komplex Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Komplex Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Kunde inte bestämma rastertyp.</translation>
     </message>
@@ -15231,67 +15666,67 @@
         <translation type="obsolete">Visa i &amp;Översikt</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Genomskinlighet&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Genomskinlighet&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Average Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Average</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>Beskrivning av dataset</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>Inget datavärde</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation> Lagrets Spatial Reference System:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation> Projektets Spatial Reference System:</translation>
+        <translation type="obsolete"> Projektets Spatial Reference System:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Kunde ej skapa pyramider.</translation>
+        <translation type="obsolete">Kunde ej skapa pyramider.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Filen var ej skrivbar. Några format kan ej skrivas, bara läsas. Förök  även att ändra filrättigheterna, och pröva igen.</translation>
+        <translation type="obsolete">Filen var ej skrivbar. Några format kan ej skrivas, bara läsas. Förök  även att ändra filrättigheterna, och pröva igen.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Denna typ av raster stödjer ej att bygga pyramider.</translation>
+        <translation type="obsolete">Denna typ av raster stödjer ej att bygga pyramider.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>utanför utsträckning</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>null (ingen data)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation>och alla andra filer</translation>
     </message>
@@ -15314,32 +15749,32 @@
         <translation type="obsolete">Ingen Data:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Multibandbild&lt;/h3&gt;&lt;p&gt;Detta är en multibandbild. Du kan visa den i gråskala eller färg (RGB). För färgbilder kan du associera band med godtyckliga färger. Till exempel, om du har en 7-bands landsatbild så kan du välja att rendera den som:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Synligt Blått (0.45 till 0.52 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Synligt Grönt (0.52 till 0.60 mikroner) - inte associerad&lt;/li&gt;&lt;/li&gt;Synligt Rött (0.63 till 0.69 mikroner) - associerad till rött i bilden&lt;/li&gt;&lt;li&gt;Nära Infrarött (0.76 till 0.90 mikroner) - associerad till grönt i bilden&lt;/li&gt;&lt;li&gt;Medium Infrarött (1.55 till 1.75 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Värmeinfrarött (10.4 till 12.5 mikroner) - inte associerad&lt;/li&gt;&lt;li&gt;Medium infrarött (2.08 till 2.35 mikroner) - associerad till blått i bilden&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Palettbild&lt;/h3&gt; &lt;p&gt;Den här bilden använder en indexerad palett. Du kan ändra de här färgerna i olika kombinationer, t.ex.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Röd - blått i bilden&lt;/li&gt;&lt;li&gt;Grön - blått i bilden&lt;/li&gt;&lt;li&gt;Blå - grönt i bilden&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Gråskalebild&lt;/h3&gt; &lt;p&gt;Du kan omassociera dessa gråskalefärger till en pseudofärgbild med an automatgenererad färgramp.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Gråskala</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Pseudofärg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Freak Out</translation>
     </message>
@@ -15354,35 +15789,62 @@
         <translation type="obsolete">Rader:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>Inte satt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Palett</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation> Kolumner:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation> Rader:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation> Inget datavärde:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation>---</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation>Skrivåtkomst nekad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation>Skrivåtkomst nekad. Justera filrättigheterna och försök igen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation>Kunde ej skapa pyramider.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation>Filen var ej skrivbar. Några format kan ej skrivas, bara läsas. Förök  även att ändra filrättigheterna, och pröva igen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation>Denna typ av raster stödjer ej att bygga pyramider.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -15394,50 +15856,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Verkställ</translation>
+        <translation type="obsolete">&amp;Verkställ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+V</translation>
+        <translation type="obsolete">Alt+V</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
+        <translation type="obsolete">&amp;Hjälp</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Allmänt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Lagerkälla:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Namn:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Teckenförklaring:</translation>
     </message>
@@ -15457,12 +15919,12 @@
         <translation type="obsolete">&lt;p align=&quot;right&quot;&gt;Rader: &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Ingen Data:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Symbologi</translation>
     </message>
@@ -15472,27 +15934,27 @@
         <translation type="obsolete">Utseende</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Genomskinlighet:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Total&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Ingen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Invertera färgkarta</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -15502,27 +15964,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Band</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Grön&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Röd&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blå&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Färg</translation>
     </message>
@@ -15532,17 +15994,17 @@
         <translation type="obsolete">Gråskala</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Grå</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Standardavvikelser</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Färgkarta</translation>
     </message>
@@ -15617,7 +16079,7 @@
         <translation type="obsolete">Statistik</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
@@ -15633,12 +16095,12 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Pyramider</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Omsamplingsmetod</translation>
     </message>
@@ -15648,17 +16110,17 @@
         <translation type="obsolete">Average Magphase</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Average</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Nearest Neighbour</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Bygg Pyramider</translation>
     </message>
@@ -15678,27 +16140,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Pyramidupplösningar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Bild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Kolumner:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Rader:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Palett:</translation>
     </message>
@@ -15739,42 +16201,42 @@
         <translation type="obsolete">Använd skalberoende rendering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Största skala vid vilken detta lager kommer att visas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Minsta skala vid vilken detta lager kommer att visas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>Visa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>Gråskalebild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>Färgbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -15785,22 +16247,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>DebugInfo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>Skalberoende synlighet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Spatial Reference System</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Ändra</translation>
     </message>
@@ -15813,7 +16275,7 @@
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
 </source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Raster med hög upplösning kan sinka navigeringen i QGIS. Genom att skapa kopior med lägre upplösning (pyramider) kan prestanda avsevärt förbättras, genom att  QGIS väljer den lämpligaste upplösningen beroende på zoom-nivå. Du måste ha skrivrättigheter i biblioteket som den ursprungliga datan ligger för att kunna bygga pyramider.&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Den ursungliga datafilen kan ändras när du bygger pyramider, och de kan ej tas bort efter de har skapats.&lt;/span&gt;&lt;/p&gt;
@@ -15822,75 +16284,92 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Histogram</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Inställningar</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>Antal kolumner:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Utanför intervall OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Tillåt approximering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Diagramtyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Linjegraf</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Stapeldiagram</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Uppdatera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
         <source>Transparent</source>
-        <translation>Genomskinlig</translation>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Raster med hög upplösning kan sinka navigeringen i QGIS. Genom att skapa kopior med lägre upplösning (pyramider) kan prestanda avsevärt förbättras, genom att  QGIS väljer den lämpligaste upplösningen beroende på zoom-nivå. Du måste ha skrivrättigheter i biblioteket som den ursprungliga datan ligger för att kunna bygga pyramider.&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Den ursungliga datafilen kan ändras när du bygger pyramider, och de kan ej tas bort efter de har skapats.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Din bild kan förstöras när du bygger pyramider. Ta alltid backup FÖRST!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+ {1&quot;?} {9p?} {18p?} {14p?} {600&quot;?} {0000&quot;?} {0000&quot;?}</translation>
+    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Kan inte utföra kommando</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Kan inte utföra kommandot</translation>
+        <translation type="obsolete">Kan inte utföra kommandot</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Startar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Klar</translation>
     </message>
@@ -15898,107 +16377,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Nere till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Uppe till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Uppe till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Nere till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Streck ner</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Streck upp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Streck</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Låda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation>&amp;Skala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Skapar en skala som visas på kartbladet</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>&amp;Dekoreringar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>meter/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>fot</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>grader</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation>km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation> cm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation> m</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation> fot</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation> grader</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation> obekant</translation>
     </message>
@@ -16006,112 +16485,112 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Skalaplugin</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>Klicka för att välja färg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Storlek:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Runda av till vettig storlek</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Färg på skalan:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Uppe till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Uppe till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Nere till vänster</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Nere till höger</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Aktivera skala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Typ av skala:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Välj typ av skala</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Streck ner</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Streck upp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Låda</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Streck</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Placering:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Denna plugin ritar en skala på kartan. Storleksalternativet nedan är en &apos;önskad&apos; storlek och QGIS kan behöva ändra detta beroende på in/ut-zoomning. Storleken mäts med kartenheten som är specificerad i projektegenskaper.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
@@ -16132,126 +16611,121 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
-        <translation>
+        <translation type="unfinished">
             <numerusform>Hittade %d överensstämmande objekt.</numerusform>
-            <numerusform>Hittade %d överensstämmande objekt.</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>Inga överensstämmande objekt hittade.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>Sökresultat</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>Tolkningsfel i söksträngen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>Inga poster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>Frågan du ställde gav inga poster tillbaka.</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation>Sök i frågebyggaren</translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation> Är du säker på att du vill ta bort</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation> uppkopplingen och alla tillhörande inställningar?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>Bekräfta radering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS-källa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>Kunde inte öppna WMS-källan</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>Välja lager</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>Du måste först välja minst ett lager.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
-        <translation>
-            <numerusform>Koordinaternas referenssystem (%1 tillgängligt)</numerusform>
+        <translation type="unfinished">
             <numerusform>Koordinaternas referenssystem (%1 tillgängliga)</numerusform>
+            <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation>  Förstod inte svaret</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation>källan sa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation>WMS mellanvärdar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Många WMS-servrar har lagts till listan. Mellanvärdsfälten har ej fyllts i, och om du använder dig av mellanvärd för att komma åt internet, måste du fylla i fälten med lämpligt värde.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation>Koordinaternas referenssystem</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation>Det finns inga referenssystem för koordinaterna i de valda lagren.</translation>
     </message>
@@ -16377,20 +16851,20 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
-        <translation>Databasen fick ett fel under körning av denna SQL:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
-        <translation>Felet var:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
-        <translation>... (resterande SQL är trunkerat)</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -16555,27 +17029,27 @@
         <translation>Enkel symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>Fyllningsmönster:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>Storlek</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>Symbol</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>Kantbredd:</translation>
     </message>
@@ -16585,90 +17059,95 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>Fyllnadsfärg:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>Kantfärg:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>Kantstil:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>Etikett:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation>Fyll ej</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>Filnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>Objektklass</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation>DB-relationsnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation>Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Är du säker du vill ta bort [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] uppkopplingen och alla tillhörande inställningar?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Bekräfta Radering</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation> - Redigera kolumnnamn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -16677,254 +17156,254 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>ANLEDNING: Filen kunde inte öppnas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>ANLEDNING: En eller båda shapefilerna (*.dbf, *.shx) saknas</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Allmän hjälp:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL uppkopplingar:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Ny ...] - skapa en ny uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Redigera ...] - redigera vald uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Ta bort] - ta bort vald uppkopling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- du måste välja en fungerande uppkoppling för att importera filer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>- när du byter uppkoppling ändra sig också globalt schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Shapefiler:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Lägg till ...] - öppna en fildialog och sök efter den fil/filen du vill importera</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Ta bort] - ta bort vald(a) fil(er) från listan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Ta bort alla] - ta bort alla filer från listan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Reference-ID för shapefilerna som skall importeras</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Använd standard SRID] - sätt SRID till -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Geometrins kolumnnamn] - namn på kolumenn med geometrin i databasen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Använd standard (geometrins kolumnnamn)] - sätt kolumnnamn till &apos;the_geom&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Global schema] - sätt schema som alla filer importeras till</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Importera] - importera aktuell shapefil i listan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Avsluta] - avsluta programmet
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Hjälp] - visa hjälpdialogen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Importera shapefiler</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Du måste specificera en uppkoppling först</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Uppkopplingen misslyckades - Kontrollera inställningarna och försök igen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Du måste först lägga till en shapefil till listan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Importerar filer</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Klar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Problem att lägga til objekt från fil:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Ogiltigt tabellnamn.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Inga fält hittades.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Följande fält är dubletter:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Impotrera shapefiler - relationen existerar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Shapefilen:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>kommer att använda [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>]-relationen för sitt data,</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>som redan existerar och kanske innehåller data.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>För att undvika förlust av data, byt &quot;DB relationsnamn&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>för denna shapefil i huvuddialogens lista med filer.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Vill du skriva över relationen [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] ?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Används tabellen nedan för att redigera kolumnnamn. Se till att ingent kolumnnamn använder ett PostgreSQL resverat ord</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation>Ny uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation>Lägg till shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation>Shapefiles (*.shp);;Alla filer(*.*)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation>PostGIS ej tillgängligt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Valda databas har ej installerat PostGS, men det krävs för att lagra rumslig data.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation>Kontrollerar om </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation>&lt;p&gt;Fel när SQL-frågan kördes:&lt;/p&gt;&lt;p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation>&lt;/p&gt;&lt;p&gt;Databasen svarade:</translation>
     </message>
@@ -16932,17 +17411,17 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Shapefile-till-PostGIS importeringsverktyg</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL-uppkopplingar</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Ta bort</translation>
     </message>
@@ -16964,7 +17443,7 @@
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Importera</translation>
+        <translation type="obsolete">Importera</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16974,10 +17453,10 @@
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Shapefile-lista</translation>
     </message>
@@ -17012,12 +17491,12 @@
         <translation type="obsolete">Använd Standard</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Namn på Geometrikolumn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
@@ -17027,97 +17506,97 @@
         <translation type="obsolete">Lägg till ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Ta bort alla</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Globalt Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Shapefile-till-PostGIS-verktyg</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Importera de definierade shapefilerna till PostGIS</translation>
+        <translation type="obsolete">Importera de definierade shapefilerna till PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Stäng</translation>
+        <translation type="obsolete">Stäng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Lägg till</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Lägg till en shapefile till listan av filer som ska importeras</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Ta bort en shapefile från importeringslistan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Ta bort alla shapefiles från importeringslistan</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Använd standardvärde för SRID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Sätt SRID till standardvärde</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Använd Standardkolumnnamn för Geometri</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Sätt kolumnnamnet för geometri till standardvärde</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Ny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Skapa en PostGIS-uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Ta bort nuvarande PostGIS-uppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Koppla upp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Redigera</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Ändra den nuvarande PostGIS-uppkopplingen</translation>
     </message>
@@ -17135,7 +17614,7 @@
         <translation>Importera shapefiler till en PostgrerSQL databas med PostGIS. Schemata och fältnamn kan anpassas vid import</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation>&amp;Spit</translation>
     </message>
@@ -17179,15 +17658,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>Formulär1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>Klassifikationsfält:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -17207,9 +17696,9 @@
         <translation type="obsolete">Tabledisplaytribute table - </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Attributtabell -</translation>
+        <translation type="obsolete">Attributtabell -</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17217,9 +17706,9 @@
         <translation type="obsolete">&amp;Zooma till det markerade lagrets utsträckning</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Öppna attributtabell</translation>
+        <translation type="obsolete">&amp;Öppna attributtabell</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17247,29 +17736,29 @@
         <translation type="obsolete">Börja redigera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Sluta redigera</translation>
+        <translation type="obsolete">Sluta redigera</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Spara som shapefile...</translation>
+        <translation type="obsolete">Spara som shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Datapluginet stödjer inte radering</translation>
+        <translation type="obsolete">Datapluginet stödjer inte radering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Datapluginet stödjer inte radering av objekt</translation>
+        <translation type="obsolete">Datapluginet stödjer inte radering av objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Lagret kan inte redigeras</translation>
+        <translation type="obsolete">Lagret kan inte redigeras</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17277,134 +17766,134 @@
         <translation type="obsolete">Det markerade lagret kan inte redigeras. Välj &apos;Börja redigera&apos; i popupmenyn i teckenförklaringen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>Invertera valt...</translation>
+        <translation type="obsolete">Invertera valt...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>Avbryt</translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>Tillåt redigering</translation>
+        <translation type="obsolete">Tillåt redigering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>Lager kan inte läggas till</translation>
+        <translation type="obsolete">Lager kan inte läggas till</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>Datakälla för detta lager stödjer inte tillägg av objekt.</translation>
+        <translation type="obsolete">Datakälla för detta lager stödjer inte tillägg av objekt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i innehållsförteckningens högerklicksmeny.</translation>
+        <translation type="obsolete">Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i innehållsförteckningens högerklicksmeny.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i innehållsförteckningens högerklicksmeny</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>Misslyckades att påbörja redigering</translation>
+        <translation type="obsolete">Misslyckades att påbörja redigering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>Källan kan inte öppnas för redigering</translation>
+        <translation type="obsolete">Källan kan inte öppnas för redigering</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Vill du spara ändringarna?</translation>
+        <translation type="obsolete">Vill du spara ändringarna?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Ja</translation>
+        <translation type="obsolete">&amp;Ja</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Nej</translation>
+        <translation type="obsolete">&amp;Nej</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>Fel</translation>
+        <translation type="obsolete">Fel</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>Kunde inte föra in förändringar</translation>
+        <translation type="obsolete">Kunde inte föra in förändringar</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>Problem vid återgång</translation>
+        <translation type="obsolete">Problem vid återgång</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1668"/>
         <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation>Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i verktygsraden för digitalisering.</translation>
+        <translation type="obsolete">Nuvarande lager är ej redigerbart. Välj &apos;Tillåt redigering&apos; i verktygsraden för digitalisering.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation>Kunde inte föra in tillagda objekt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation>Inga andra ändringar kommer att föras in nu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation>Kunde inte föra in ändrade attribut.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation>Men de tillagda objekten blev införda.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation>Kunde inte föra in ändrade geometrier.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation>Men de ändrade attributen blev införda.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation>Kunde inte föra in borttagna objekt.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation>Men de ändrade geometrierna blev införda.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2706"/>
         <source>Cannot retrieve features</source>
-        <translation>Kunde inte hämta objekt</translation>
+        <translation type="obsolete">Kunde inte hämta objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2707"/>
         <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation>  Källan för aktivt lager kunde inte hämta geometrin för valt objekt. Denna version av källan har ej den möjligheten.</translation>
+        <translation type="obsolete">  Källan för aktivt lager kunde inte hämta geometrin för valt objekt. Denna version av källan har ej den möjligheten.</translation>
     </message>
 </context>
 <context>
@@ -17425,154 +17914,154 @@
         <translation type="obsolete">kontinuerlig färg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation> Genomskinlighet:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>Enkel symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>Graderad Symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>Kontinuerlig Färg</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>Unik Symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Denna knapp öppnar frågebyggaren för PostgreSQL och låter dig skapa en delmängd av objekt som du kan visa i kartvyn istället för att visa alla objekt i lagret</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>Frågan som används för att begränsa objekten i lagret visas här. Detta kan just nu enbart användas för PostgreSQL-lager. För att ange eller ändra frågan, klicka på Frågebyggarknappen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>Rumsligt index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>Lyckades skapa rumsligt index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>Misslyckades skapa rumsligt index</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>Allmänt:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation> Lagringstyp för detta lager:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation> Källa för detta lager :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation> Geometrityp på objekten i detta lager :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation> Antal objekt i detta lager :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation> Möjlighet till redigering i detta lager :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>Utsträckning:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation> I lagrets Spatial Reference System-enheter :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation> xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation>  : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation> I projektets Spatial Reference System-enheter :</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation> Lagrets Spatial Reference System:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>Projektets (visade) Spatial Reference System:</translation>
+        <translation type="obsolete">Projektets (visade) Spatial Reference System:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>Attributfält info:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>Fält</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>Längd</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>Precision</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
-        <translation> I projektets Spatial Reference System-enheter : </translation>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
-        <translation> (Kan ej transformera lagrets utsträckning) </translation>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -17583,7 +18072,7 @@
         <translation>Lageregenskaper</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Typ av teckenförklaring:</translation>
     </message>
@@ -17595,7 +18084,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17610,12 +18099,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>OK</translation>
+        <translation type="obsolete">OK</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17623,129 +18112,129 @@
         <translation type="obsolete">TextEtikett2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>Symbologi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>Genomskinlighet:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>Allmänt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>Använd skalberoende rendering</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>Maximum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>Minimum 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation> Minsta skala vid vilken detta lager kommer att visas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation> Största skala vid vilken detta lager kommer att visas.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>Använd detta fält för att ange vilket fält som placeras högst upp i dialogrutan Identifiera.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>Spatial Reference System</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>Ändra</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>Titelfält för dialogrutan Identifiera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>Detta anger titelfältet för dialogrutan Identifiera</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>Titelfält</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>Delmängd</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>Frågebyggare</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>Rumsligt index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>Skapa rumsligt index</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>Skapa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>Etiketter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>Visa etiketter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>Kommandon</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>Verkställ</translation>
+        <translation type="obsolete">Verkställ</translation>
     </message>
 </context>
 <context>
@@ -17794,7 +18283,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation>L&amp;ägg till WFS-lager</translation>
     </message>
@@ -17802,29 +18291,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation>Är du säker på att du vill ta bort</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation>uppkopplingen och alla tillhörande inställningar?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation>Bekräfta Radering</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation>Ja</translation>
+        <translation type="obsolete">Ja</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation>Nej</translation>
+        <translation type="obsolete">Nej</translation>
     </message>
 </context>
 <context>
@@ -17835,59 +18324,59 @@
         <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation>Serveruppkoppling</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation>&amp;Ny</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation>Radera</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation>Redigera</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation>K&amp;oppla upp</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation>Hjälp</translation>
+        <translation type="obsolete">Hjälp</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation>L&amp;ägg till</translation>
+        <translation type="obsolete">L&amp;ägg till</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation>Alt+Ä</translation>
+        <translation type="obsolete">Alt+Ä</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation>S&amp;täng</translation>
+        <translation type="obsolete">S&amp;täng</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation>Alt+T</translation>
+        <translation type="obsolete">Alt+T</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
@@ -17923,284 +18412,284 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation> Försökte med URL:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP Fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS Service fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM fel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation>Kunde inte hitta WMS-möjligheter: %1 på rad %2, kolumn %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation>Det berorn antagligen på en felaktig URL till WMS-servern.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation>Kunde inte hitta WMS-möjligheter på det förväntade formatet (DTD): hittade ej %1 eller %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation>Kunde inte hitta WMS Service Exception på %1: %2 på rad 3, kolumn %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation>Förfrågan innehåller ett format som servern inte tillhandahåller.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Förfrågan innehåller en CRS för ett eller flera lager i anropet, som servern inte tillhandahåller.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Förfrågan innehåller en SRS för ett eller flera lager i anropet, som servern inte tillhandahåller.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>GetMap-förfrågan är för ett lager som serven inte tillhandahåller, eller GetFeatureInfo-anropet är avsett för ett lager som inte är med på kartan.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Förfrågan är för ett lager med en stil som servern inte stödjer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>GetFeatureInfo-förfrågan ställdes till ett lager som inte är definerat som frågbart.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>GetFeatureInfo-förfrågan innehåller ogiltigt X- eller Y-värde.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>Värdet på (frivilliga) UpdateSequence-parameter i GetCapabilities-förfrågan är samma som nuvarande värde på &apos;service metadata update&apos; sekvensnummer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>Värdet på (frivilliga) UpdateSequence-parameter i GetCapabilities-förfrågan är större än nuvarande värde på &apos;service metadata update&apos; sekvensnummer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Förfrågan innehåller inte ett dimensionsvärde, och servern har inte angett ett standardvärde för dimensionen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Förfrågan innehåller ett ogiltigt dimensionsvärde.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Förfrågan gäller en frivillig operation som servern inte stödjer.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation>(Okänd felkod från en post-1.3 WMS-server)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation> WMS-företaget sa också:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation>  Detta beror antagligen på ett fel i QGIS. Rapportera detta fel.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>Serveregenskaper:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>Egenskap</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>Värde</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS version</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>Sammanfattning</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>Nyckelord</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>Online-resurser</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>Kontaktperson</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation>Avgifter</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation>Åtkomstbegränsningar</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>Bildformat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation>Identifieringsformat</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>Antal lager</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation> Lageregenskaper:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>Vald</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>Nej</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>Synlighet</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>Synlig</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>Gömd</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>---</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>Kan identifieras</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>Kan vara transparent</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>Kan zooma in</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation>Kaskadnummer</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>Fast bredd</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>Fast höjd</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 begränsningsruta</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation>Tillgänglig i CRS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation>Tilgänglig med stil</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>Namn</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
-        <translation>Lagerinfo kan ej ges.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -18212,47 +18701,146 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS-pluginmall</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Pluginmall</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS-pluginmall</translation>
+        <translation type="obsolete">QGIS-pluginmall</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;OK</translation>
+        <translation type="obsolete">&amp;OK</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Avbryt</translation>
+        <translation type="obsolete">&amp;Avbryt</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Pluginmall</translation>
+        <translation type="obsolete">Pluginmall</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Välkommen till din automatgenererade plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Detta är bara början. Nu skall du modifiera koden, så den gör någonting nyttigt... Läs vidare för mer information om hur du sätter igång.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Dokumentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Nu måste du verkligen läsa dokumentationen om QGIS API på:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Titta särskilt på följande klasser:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface är en abstrakt basklass som specificerar vilka av QGIS fetures är tillgängliga för tredjepartsko ochplugin. QgisInterface är en implementation av denna abstrakta basklass. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+        <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Välkommen till din automatgenererade plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Detta är bara början. Nu skall du modifiera koden, så den gör någonting nyttigt... Läs vidare för mer information om hur du sätter igång.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Dokumentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Nu måste du verkligen läsa dokumentationen om QGIS API på:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Titta särskilt på följande klasser:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface är en abstrakt basklass som specificerar vilka av QGIS fetures är tillgängliga för tredjepartsko ochplugin. QgisInterface är en implementation av denna abstrakta basklass. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
 </context>
 <context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Longitud:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">Nej</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Latitud:</translation>
+    </message>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Byt ut detta mot en kort beskrivning av vad plugin gör</translation>
     </message>

Added: packages/qgis/branches/upstream/current/i18n/qgis_tr.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_tr.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qgis_tr.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,14325 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation>OGR Sürücü Yöneticisi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation>OGR Sürücü Yöneticisi alınamıyor</translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation>Harita koordinatlarını gir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation>X:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation>Y:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation>&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>Navigation</name>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Navigation</source>
+        <translation type="obsolete">&amp;Yön bulma</translation>
+    </message>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Navigation plugin settings</source>
+        <translation type="obsolete">Yöneltme eklentisi ayarları</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>GPS</source>
+        <translation type="obsolete">KKS (GPS)</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>This plugin uses &apos;gpsd&apos; (GPS daemon) for acquiring your current position. Please select the option which suits best your needs:</source>
+        <translation type="obsolete">Bu eklenti, aktif konumunuzu belirlemek için &apos;gpsd&apos; (KKS bekletici programı) kullanır. Lütfen İhtiyaçlarınıza en uygun seçeneği seçiniz:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>GPS daemon already runs</source>
+        <translation type="obsolete">KKS bekletici programı zaten çalışıyor</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Simulate GPS using &apos;gpsfake&apos;</source>
+        <translation type="obsolete">&apos;gpsfake&apos; i kullanarak KKS simülasyonu yap </translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Log file to play:</source>
+        <translation type="obsolete">Açılacak günlük dosyası:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Playback speed:</source>
+        <translation type="obsolete">Açma hızı:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Start &apos;gpsd&apos; daemon</source>
+        <translation type="obsolete">&apos;gpsd&apos; bekletici programını başlat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Input defice for &apos;gpsd&apos;</source>
+        <translation type="obsolete">&apos;gpsd&apos;için girdi aygıtı</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>/dev/ttyS0</source>
+        <translation type="obsolete">/dev/ttyS0</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>/dev/ttyS1</source>
+        <translation type="obsolete">/dev/ttyS1</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>/dev/ttyS2</source>
+        <translation type="obsolete">/dev/ttyS2</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>/dev/ttyS3</source>
+        <translation type="obsolete">/dev/ttyS3</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Start</source>
+        <translation type="obsolete">Başlat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Stop</source>
+        <translation type="obsolete">Durdur</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>GPSD connection:</source>
+        <translation type="obsolete">KKS Bekletici Program bağlantısı</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Routing</source>
+        <translation type="obsolete">Rota</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>To enable routing support you must specify a vector layer that will be used as the roadmap.</source>
+        <translation type="obsolete">Yol bulma desteğini etkinleştirmek için yol haritası olarak kullanılacak bir vektör katman belirlemelisiniz.</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Vector layer for roadmap:</source>
+        <translation type="obsolete">Yol haritası için vektör katman:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Optional additional settings for better routing:</source>
+        <translation type="obsolete">Daha iyi yol bulma için seçimlik ek ayarlar:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Support for road classification</source>
+        <translation type="obsolete">Yol sınıflama için destek</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Field containing the classification:</source>
+        <translation type="obsolete">Sınıflandırmayı içeren alan</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Support for one-way roads</source>
+        <translation type="obsolete">Tek yön yollar için destek</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Field with information about direction:</source>
+        <translation type="obsolete">Yön ile ilgili alan bilgisi:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Status</source>
+        <translation type="obsolete">Durum</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Compute routing data</source>
+        <translation type="obsolete">Rota verisini hesapla</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation>Veri sağlayıcı yok</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation>Veri Sağlayıcı Eklentisi Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation>Hiç vektör katman yüklenemiyor. QGIS kurulumunu kontrol edin.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation>Veri Sağlayıcı Eklentisi Yok. Vektör katmanların hiçbiri yüklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation>QGIS dosyaları (*.qgs)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation>OGR Desteği Olan Katmanı Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation>Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation>Dosyaya kaydedilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation>Referans sütun bulunamadı:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation>Aktif katman yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation>Objeleri belirlemek için, lejandtaki adına yıklayarak katmanı aktif hale getirmelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation>Bant</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation>eylem</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation>Objeler bulundu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation> 1 obje bulundu.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation>Hiç obje bulunmadı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation>tıkladığınız noktada aktif katmanda hiç obje bulunamadı </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation>üzerindeki objeler belirlenemedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation>çünkü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation>Yeni alan merkezi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation>Yeni nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation>Yeni kırıklık noktası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation>Son noktaya geri al</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation>Çizgiyi kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation>Kırıklık noktasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation>Yeni konum seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation>Çizgi parçasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation>Yeni kırıklık noktası konumu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation>Serbest bırak</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation>Kırıklık Noktasını sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation>Kırıklık noktasını serbest bırak</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation>Öğeyi seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation>Yeni mevki</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation>Seçileni serbest bırak</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation>Seçileni sil / diğerini seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation>çizgi üzerindeki konumu seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation>Çizgiyi böl</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation>Çizgiyi serbest bırak</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation>çizgi üzerindeki noktayı seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation>Uzunluk</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation>Alan</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation>Parça yakalanamıyor. Töleransı, Ayarlar&gt; Proje Özellikleri &gt; Genel&apos;den ayarlayabilirmisiniz?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation>Kırıklık noktası yakalanamıyor. Töleransı, Ayarlar&gt; Proje Özellikleri &gt; Genel&apos;den ayarlayabilirmisiniz?</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation>Projeksiyon dosyası okuma hatası:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation>Etiket</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation>Doğrusal dönüşüm yapmak için en azından 2 nokta gereklidir.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation>Helmert dönüşümü yapmak için en azından 2 nokta gereklidir.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation>Affin dönüşüm yapmak için en azından 4 nokta gereklidir.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation>Veri kaynağı açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation> satırında ayrıştırma hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation>KKS veri değişim biçemi sağlayıcısı</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation>GRASS eklentisi</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation>QGIS GRASS kurulumunuzu bulamadı. GRASS kurulumunuzun yolunu (GISBASE) tanımlarmısınız?</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation>GRASS&apos;ın yüklendiği dizini(GISBASE) seç</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation>GISBASE belirtilmedikçe GRASS verisine erişilemiyecek</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation>Telif Hakkı Etiketi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation>Telif hakkı bilgisini yaz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation>Sürüm 0.1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation>Sürüm 0.2</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation>Sınırlandırılmış Metin Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation>Coğrafi Referanslama Aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation>Raster&apos;lara projeksiyon bilgisi ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation>KKS Araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation>KKS verisini yükleme ve indirme için araçlar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation>GRASS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation>GRASS-Katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation>&amp;Grid Oluşturucu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation>Grid oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation>Kuzey Oku</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation>Haritanın üzerine çakıştırılmış kuzey oku göster </translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation>[menü öğe adı]</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation>[eklenti tanımı]</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation>Ölçek çubuğu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation>Ölçke çubuğu çiz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation>SPIT</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation>Shapefile&apos;den PostgreSQL/PostGIS&apos;e Aktarma Aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation>WFS-Eklentisi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation>WFS katmanlarını QGIS kanavasına ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation>Sürüm 0.0001</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation>Vektör katman değil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation>Geçerli katman vektör katman değildir.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation>Katman eklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation>Bu katmanın veri sağlayıcısı obje eklenmesini desteklemiyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation>Katman düzeltilemez</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation>Vektör katman düzeltilemiyor. Düzeltme yapabilmek için, katman lejand öğesine gidin, sağ tıklayın ve &apos;Düzeltmeye İzin Ver&apos; yapın. </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation>Objeleri seçmek için, lejanddaki ismine tıklayarak bir vektör katman seçmelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation>Python hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation>SIP modülü yüklenemedi.
+Python desteği etkisizleştirilecek.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation>PyQt bağları yüklenemedi.
+Python desteği etkisizleştirilecek.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation>QGIS bağları yüklenemedi.
+Python desteği etkisizleştirilecek.</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Couldn&apos;t load plugin due this error:
+</source>
+        <translation type="obsolete">Eklenti şu sebepten yüklenemiyor:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation>Eklenti yüklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation>Eklentiyi ayırmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"> m</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"> km</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"> mm</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"> cm</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished">ayak (uzunluk birimi)</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished">Derece</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished">derece</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished">Bilinmeyen</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished">Satır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished">Noktalar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished">Objeler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished">Veritabanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished">Tablo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation>Quantum CBS -</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation>Sürüm</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation>PostgreSQL desteği ile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation>(PostgreSQL desteği yok)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation>Sürüm</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation>Mevcut Veri Sağlama Eklentileri</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation>geçerli veya tanınan veri kaynağı değildir.r.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation>Geçersiz Veri Kaynağı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation>Katman seçilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation>Harita Katmanı Eklentisi yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation>../plugins/maplayer&apos;de Harita Katmanı Eklentisi yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation>Eklenti Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation>../plugins dizininde eklenti bulunamadı. Eklentileri denemek için, qgis&apos;i src dizininde başlatın</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation>%1 eklentisi %2 olarak adlandırıldı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation>Eklenti Bilgisi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation>QGIS şu eklentiyi yüklemiştir:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation>Ad: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation>Sürüm: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation>Açıklama:%1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation>Eklenti Yüklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation>QGIS  %1&apos;den eklentiyi yükleyemedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation>QGIS&apos;in yeni bir sürümü mevcut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation>QGIS&apos;in geliştirme sürümünü çalıştırıyorsunuz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation>QGIS&apos;in güncel sürümünü çalıştırıyorsunuz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation>Daha fazla bilgi istermisin?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation>QGIS Sürüm Bilgisi</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation>Sunucudan geçerli sürüm bilgisi alınamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation>Bağlantı red edildi - Belki sunucu kapalı olabilir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation>QGIS Sunucusu bulunamadı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation>Geçersiz Katman</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation>%1 geçersiz katman ve yüklenemiyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation>Eklenti Yüklemede hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation>Yüklerken hata oldu %1.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation>Harita görüntüsünü şuna kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation>Harita görüntüsünü  kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation>Dış sınırlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation>Objeleri silmede sorun var</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation>Objeleri silerken bir hata oluştu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation>Hiç vektör katman seçilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation>Objeleri silme sadece vektör katmanlarda çalışır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation>Objeleri silmek için, lejanddan bir vektör katman seçmelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation>Quantum CBS GNU General Public License ile lisanslıdır.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation>http://www.gnu.org/licenses</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation>Harita kanavası. Raster ve vektör katmanlar haritaya eklendiğinde gösterilecek yer </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation>&amp;Eklentiler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation>Geçerli harita ölçeğini göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation>QGIS proje dosyasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation>Proje kaydedilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation>Proje şöyle kaydedilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation>Projeksiyon durumu - Projeksiyon diyaloğunu  açmak için tıklayın</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation>OGR Desteği Olan Vektör Katmanı Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation>QGIS Proje Okuma Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation>Kayıp katmanları bulmayı deneyin?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation>GDAL Desteği Olan Raster Veri Kaynağını Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation>Farklı Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation>Açılacak QGIS proje dosyasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation>Projeyi şuna kaydet:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation>QGIS Gözatıcı Seçimi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation>Web tarayıcı adını girin (örneğin; Konqueror).</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation>Gözatıcı YOL&apos;unuzda değilse yolu tam olarak girin</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation>Ayarlar okunuyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation>GUI Ayarları</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation>Veritabanı kontrol ediliyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation>Yüklenen eklentiler onarılıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation>Dosya filtresine erişiliyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation>QGIS Hazır!</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation>&amp;Yeni proje</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation>Ctrl+N</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation>Yeni proje</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation>Projeyi Aç...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation>Ctrl+O</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation>Proje Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation>&amp;Projeyi Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation>Ctrl+S</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation>Projeyi Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation>Projeyi Farklı Kaydet ...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation>Ctrl+A</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation>Projeyi yeni bir adla kaydet.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation>&amp;Yazdır...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation>Ctrl+P</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation>Yazdır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation>Görüntü Olarak Kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation>Ctrl+I</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation>Haritayı görüntü olarak kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation>MapServer Verisi olarak dışarı aktar...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation>M</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation>MapServer .map dosyası olarak dışarı aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation>Çık</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation>QGIS&apos;ten Çık</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation>Vektör Katman ekle...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation>V</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation>Vektör Katman ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation>Raster Katman ekle...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation>R</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation>Raster Katman ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation>PostGIS Katmanı ekle...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation>D</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation>PostGIS Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation>Yeni Vektör Katmanı...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation>N</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation>Yani bir vektör katman oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation>Katmanı Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation>Ctrl+D</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation>Katmanı Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation>Tümünü öngörünüşe ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation>+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation>Tüm katmanları öngörünüşte göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation>Öngörünüşten tümünü Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation>-</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation>Öngörünüş haritasından  tümünü kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation>Tüm Katmanları Göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation>S</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation>Tüm Katmanları Göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation>Tüm Katmanları Gizle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation>H</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation>Tüm Katmanları Gizle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation>Projeksiyon Özellikleri...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation>P</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation>Proje Özellikleri</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation>Seçenekler...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation>Çeşitli QGIS seçeneklerini değiştir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation>Özel projeksiyon...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation>Özel projeksiyonları yönet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation>Yardım-İçerik</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation>Yardım dökümanları</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation>QGIS Ana Sayfa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation>Ctrl+H</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation>QGIS Ana Sayfası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation>Hakkında</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation>QGIS Hakkında</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation>QGIS Versiyonunu kontrol et</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation>QGIS versiyonunun güncel olup olmadığını kontrol et (internet erişimi gereklidir)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation>Tazele</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation>Ctrl+R</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation>Haritayı Tazele</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation>Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation>Ctrl++</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation>Uzaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation>Ctrl+-</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation>Tam Yakınlaştırma</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation>F</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation>Seçime Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation>Ctrl+F</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation>Seçime Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation>Haritayı kaydır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation>Haritayı kaydır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation>Son Yaklaştırma</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation>Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation>Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation>Objeleri Belirle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation>I</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation>Objeyi belirlemek için üstüne tıkla</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation>Objeleri Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation>Tabloyu Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation>Çizgi ölç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation>Ctrl+M</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation>Çizgiyi Ölç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation>Alanı Ölç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation>Ctrl+J</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation>Alanı Ölç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation>Sık Kullanılanları Göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation>B</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation>Yeni Sık kullanılan...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation>Ctrl+B</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation>Yeni Sık kullanılan</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation>WMS katmanı ekle...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation>W</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation>İnternet Harita Sunucusu Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation>O</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation>Geçerli katmanı öngörünüş haritasına ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation>Eklenti Yöneticisi...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation>Eklenti yöneticisini aç</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Start editing the current layer</source>
+        <translation type="obsolete">Geçerli katmanı düzeltmeyi başlat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Stop editing the current layer</source>
+        <translation type="obsolete">Geçerli katmanı düzeltmeyi durdur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation>Nokta sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation>.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation>Noktaları sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation>Çizgi sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation>/</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation>Çizgileri sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation>Poligon sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation>Ctrl+/</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation>Poligonları sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation>Seçileni Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation>Kırıklık Noktası Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation>Kırıklık Noktasını sil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation>Kırıklık noktalarını taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation>&amp;Dosya</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation>En Son Projelerden Birini Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation>&amp;Pencere</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation>&amp;Katman</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation>&amp;Ayarlar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation>Dosya</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation>Katmanları yönet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation>Sayısallaştırma</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation>Harita yöneltme</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation>Öznitelikler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation>Eklentiler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation>Hazır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation>Yeni objeler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation>Proje açılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation>Proje kaydedilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation>QGIS projesini  kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation>QGIS: Projeyi yüklemede hata.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation>Proje yüklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation>QGIS - En son sürümden beri SVN&apos;deki değişiklikler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation>Bu seçeneği daha sonra Ayarlar menüsünden Seçenekleri seçerek değiştirebilirsiniz (Yardım Gözatıcı sekmesi).</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation>Katman geçersiz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation>Katman geçerli bir katman değil ve haritaya eklenemedi.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation>Kaydedeyim mi?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation>geçerli veya tanınan raster veri kaynağı değildir.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation>desteklenen raster veri kaynağı değildir.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation>Desteklenmeyen Veri Kaynağı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation>Yeni sık kullanılan için bir isim gir:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation>Sık kullanılanlar oluşturulamıyor. Kullanıcı veritabanınız kayıp veya bozuk</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation>Objeleri kes</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation>Seçilen objeleri kes</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation>Objeleri kopyala</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation>Seçilen objeleri kopyala</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation>Objeleri yapıştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation>Seçilen objeleri yapıştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation>Ctrl+?</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Geçerli projeyi kaydetmek istiyormusunuz?&lt;p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation>Araçların çoğunu göster</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation>Araçların çoğunu gizle</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Toolbars...</source>
+        <translation type="obsolete">&amp;Araçlar...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation>Geliştirilmiş vektör ve öznitelik düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation>WMS desteği</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation>Alan ölçümleri yapan geliştirilmiş ölçme aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation>Öznitelik arama</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation>Yeni lejand yapısı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation>Geliştirilmiş Mapserver&apos;a  aktarma aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation>Harita kanavası arkaplan rengi özelleştirilebilir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation>Vektör katman şeffaflığı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation>Zengin GRASS desteği ve komut araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation>Kopyala/yapıştır, yapışma ve köşe noktaları düzeltmeyi içeren zengin vektör düzenleme</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation>Shapefile/OGR katmanı düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation>Sunucuyla iletişim esnasında ağ hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation>Bilinmeyen ağ soket hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation>QGIS Sürüm Sunucusuyla iletişim sağlanamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation>T</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Ctrl+T</source>
+        <comment>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hide most toolbars</comment>
+        <translation type="obsolete">Ctrl+T</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation>Sağlayıcı eklentileri kontrol ediliyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation>Python Başlatılıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation>Python işletmen uçbirimi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation>Python hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Not a vector layer</source>
+        <translation type="obsolete">Vektör katman değil</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="obsolete">Öznitelik tablosunu açmak için, lejanddan bir vektör katman seçmelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation>Sağlayıcı silmeyi desteklemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation>Veri sağlayıcı objelerin silinmesini desteklemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation>Katman düzeltilemez</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation>Geçerli katman düzeltilebilir değil. Sayısallaştırma aracındaki &apos;Sayısallaştırmayı Başlat&apos;&apos;ı seç. </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished">Ctrl+T</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished">Ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation>AnaPencere</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation>Lejand</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation>Harita Penceresi</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation>Quantum GIS Hakkında</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation>Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation>Hakkında</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation>Sürüm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation>Neler Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation>QGIS Ana Sayfası</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation>QGIS Kullanıcı mektup listesine kayıt ol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation>Sağlayıcılar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation>Geliştiriciler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation>&lt;h2&gt;QGIS Geliştiricileri&lt;/h2&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation>QGIS Gözatıcı Seçimi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation>QGIS Destekçileri</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation>Web sitesi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation>Destekçiler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation>Öznitelik ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation>Ad:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation>Tip:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation>Form1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation>Yukarı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation>Seçilen eylemi yukarı taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation>Aşağı taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation>Seçilen eylemi aşağı taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation>Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation>Seçilen eylemi kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation>Ad:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation>Eylem adını buraya girin. Ad eşsiz  olmalıdır ( gerekirse QGIS eşsiz yapacaktır).</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation>Eylem adını buraya gir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation>Eylem:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation>Eylem komutunu buraya gir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation>Gözat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation>Eylem komutları için gözat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation>Eylem ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation>Yukarıdaki listedeki eylemi ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation>Güncelleme eylemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation>Seçilen eylemi güncelle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation>Alan ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation>Bu katman için geçerli öznitelik adları</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation>Çıktı yakala</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation>Eylemden elde dilen tüm çıktıları yakala </translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation>Öznitelik Değerlerini gir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation>1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation>Öznitelik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation>Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation>&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation>Eylemi çalıştır</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation>Öznitelik Tablosu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation>Düzeltmeyi başlat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation>Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation>Ctrl+X</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation>Ctrl+N</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation>Ctrl+S</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation>Seçimi tersine çevir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation>Ctrl+T</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation>Seçileni en üste taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation>Seçimi kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation>Seçilen satırları panoya kopyala (Crtl+C).</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation>Seçilen satırları panoya kopyala</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation>Ctrl+C</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation>Düzeltmeyi durdur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation>Alt+G</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation>Şunu araştır:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation>içinde</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation>Araştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation>Gelişmiş...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation>Alt+N</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation>Yeni sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation>Sütun sil</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation>Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation>seç ve yukarı taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation>Sadece eşleşenleri göster.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation>Arama tümcesi ayrıştırma hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation>Sonuçları araştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation>Boş araştırma dizgisi girdiniz.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation>Aramada hata</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform>%d eşleşen obje bulundu.</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation>Eşleşen obje bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Düzeltmeyi durdur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Değişikliklerin kaydedilmesini istermisiniz?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">Değişiklikler henüz kabul edilmedi</translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation>Gerçekten Sileyim mi?</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation>Silmek istediğinizden eminmisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation>Sık kullanılanlara ekle?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation>Sık kullanılanı silmede hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation>silmede hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation>veritabanından sık kullanılanlara ekle. Veritabanı diyor ki:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation>Sık Kullanılan Coğrafi mekanlar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation>Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation>Dış sınırlar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation>Id</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation>&apos;e Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation>Geçerli Seçilmiş Sıkkullanılanlara Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation>Seçilen sık kullanılanı sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation>Diyaloğu kapat </translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation>Harita görüntüsünü  kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation>Haritayı kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation>okuma/yazma için</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation>Yazdırmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation>Araştırılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation>Sınır çerçevesi üstüne yazılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation>Sınır çerçevesi bulunamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation>Dosya IO Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation>Kağıt uyuşmuyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation>Seçilen kağıt boyutu kompozisyon boyutuna uymuyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation>Büyük görüntü</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation>Görüntü oluşturmak için</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation>MB olarak Hafıza </translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation>QGIS - Yazdırma düzenleyici</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation>Harita 1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation>Açılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation>Biçem</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation>SVG uyarısı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation>Bu mesajı bir daha gösterme</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation>SVG Biçemi</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation>Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation>Kompozisyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation>Öğe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation>&amp;Şablonu Aç...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation>Şablonu Yeni adla kaydet... </translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation>&amp;Yazdır...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation>Yeni harita ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation>Yeni etiket ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation>Yeni vektör lejandı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation>Öğeyi Seç/Taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation>Görüntü olarak dışarı aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation>SVG olarak dışarı aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation>Yeni ölçek çubuğu ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation>Pencereyi Tazele</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation>AnaPencere</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation>Tümünü Yakınlaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation>Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation>Uzaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation>Görüntü ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation>Etiket Seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation>Yazıtipi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation>Kutu</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation>Dış sınırlar(ölçeğe göre hesapla)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation>Ölçek (dış sınırları hesapla)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation>Harita %1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation>Önbellek</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation>Dikdörtgen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation>Harita seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Harita&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation>Ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation>Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation>Yükseklik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation>Ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation>1:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation>Sınırları Ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation>Harita sınırlarını QGIS harita kanavasındaki geçerli sınırlara ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation>Çizgi genişliği ölçeği</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation>Bir birimin milimetre olarak genişliği</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation>Sembol ölçeği</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation>Yazıtipi boyutu ölçeği</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation>Çerçeve</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation>Öngörünüş</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation>Resim yüklemiyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation>Dosya seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation>Resimler (</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation>Resim Seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation>Resim</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation>Çerçeve</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation>Açı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation>Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation>Yükseklik</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation>Çubuk ölçek Seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation>Parça boyutu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation>Parça Sayısı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation>Birim etiketi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation>Harita</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation>Yazıtipi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation>Çizgi Genişliği</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation>Katmanlar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation>Grup</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation>Seçilen katmanları birleştir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation>Önbellek</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation>Dikdörtgen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation>Lejand</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation>Vektör lejand Seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation>Başlık</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation>Harita</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation>Yazıtipi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation>Kutu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation>Sütun 1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation>Öngörünüş</translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation>Özel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation>A5 (148x210 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation>A4 (210x297 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation>A3 (297x420 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation>A2 (420x594 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation>A1 (594x841 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation>A0 (841x1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation>B5 (176 x 250 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation>B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation>B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation>B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation>B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation>B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation>Mektup (8.5x11 inç)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation>Legal (8.5x14 inç)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation>Peyzaj</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation>Hafıza yetmezliği</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation>Etiket</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation>Resim yüklemiyor.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation>Kompozisyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation>Kağıt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation>Boyut</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation>Birimler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation>Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation>Yükseklik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation>Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation>Çözünürlük (dpi)</translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation>Bağlantıyı Dene</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation>&apos;e bağlantı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation>başarıldı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation>Bağlantıda hata - Ayarları kotrol edin ve tekrar deneyin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation>Genel Arayüz Yardımı:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation>Bağlantı bilgisi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation>Ana Bilgisayar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation>Veritabanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation>Kullanıcı adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation>Yeni bağlantının adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation>Parola</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation>Bağlantıyı Dene</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation>Parolayı Kaydet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>OK</source>
+        <translation type="obsolete">TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Cancel</source>
+        <translation type="obsolete">İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation>Yeni bir PostGIS bağlantısı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation>Port</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation>5432</translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation>Maksimum Değer:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation>Çerçeve genişliği:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation>Minimum değer:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation>Sınıflandırma alanı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation>Poligon çiz</translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation>&apos;ın dönüştürmesi</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation>hatası ile:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation>Kaynak Mekansal Referans Sistemi (SRS) geçerli değil. </translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation>Koordinatlar yeniden projeksiyonlandırılamadı. SRS şudur: </translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation>Hedef mekansal referans sistemi(SRS) geçerli değil. </translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation>&amp;Telif Hakkı Etiketi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation>Harita kanavasında görüntülenecek telif hakkı etiketini oluştur.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation>Telif Hakkı Etiketi Eklentisi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation>Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation>Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation>Yatay</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation>Düşey</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation>Telif Hakkı Etiketini göster</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation>Projeksiyon Tanımı Silinsin mi?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation>Projeksiyon tanımını silmek geri alınamaz. Silmek istiyormusunuz?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation>QGIS Özel Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation> Bu proj4 Projeksiyonu geçerli değil. Lütfen kaydetmeden önce düzeltin.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation> Bu proj4 Projeksiyonu geçerli değil. Lütfen kaydetmeden önce projeksiyon adını verin.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation> Bu proj4 Projeksiyonu geçerli değil. Lütfen kaydetmeden önce pparametreleri ekle tümcesini kullanın.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation> Bu proj4 Projeksiyonu geçerli değil. Lütfen kaydetmeden önce projeksiyon= ekle tümcesini kullanın.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation>Bu proj4 Projeksiyonu geçerli değil.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation>İç hata (kaynak projeksiyon hatalı?)</translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation>Ad:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation>Özel Projeksiyon Tanımlama</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation>Parametreler:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation>|&lt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation>&lt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation>1 von 1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation>&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation>&gt;|</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation>Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation>Belirle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation>Deneme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation>WGS84&apos;ten seçilen projeksiyona dönüştürme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation>Hesapla</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation>Projeksiyon Koordinat Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation>Coğrafi / WGS84</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation>Kuzey:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation>Doğu:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation>Kaldırmak istediğinizden eminmisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation>bağlantı ve tüm ilgili ayarlar?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation>Silmeyi Onayla</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation>Tablo Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation>Katman eklemek için bir tablo seçmelisiniz.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation>Parolası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation>Lütfen parolanızı girin:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation>Bağlantıda hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation>sql kullanarak</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation>hata oldu. Veritabanı söyledi:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation>Sql</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation>Nokta katman</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation>Çoklu-nokta katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation>Çizgi katman</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation>Çoklu-çizgi katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation>Poligon katman</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation>Çoklu-alan katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation>Karışık geometri katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation>Katman tipi için bekleniyor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation>Bilinmeyen katman tipi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation>PostGIS Tablo(ları)su ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation>Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation>Bağlan</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation>Düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation>PostgreSQL Bağlantısı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation>Tablolar:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation>Sql</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation>Kodlama:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation>Öznitelikleri sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation>Sınırlandırılmış Metin Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation>Sınırlandırılmış metin dosyasını katman olarak ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation>Dosya alan isimlerini içeren üstbilgi satırına sahip olmalıdır.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation>&amp;Sınırlandırılmış metin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation>Sınırlandırılmış metin Katmanı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation>Katman adı yok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation>Lütfen haritaya katman eklemeden önce katmanın adını girin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation>Sınırlayıcı yok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation>Açılacak sınırlandırılmış metin dosyasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation>Sınırlandırılmış metin dosyasından katman oluştur</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Cancel</source>
+        <translation type="obsolete">İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Close the dialog</source>
+        <translation type="obsolete">Diyaloğu kapat </translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Close the dialog without adding anything to the map.</source>
+        <translation type="obsolete">Haritaya hiçbirşey eklemeden diyaloğu kapat.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation>&lt;p align=&quot;right&quot;&gt;X Feld&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation>x değerlerini içeren alan adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation>&lt;p align=&quot;right&quot;&gt;Y Feld&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation>y değerlerini içeren alan adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation>Katman adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation>Harita lejandında görüntülenecek ad</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation>Harita lejandında görüntülenecek ad</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation>Sınırlandırıcı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation>Sınırlandırılmış metin katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation>Sınırlandırılmış metin dosyası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation>Sınırlandırılmış metin dosyası tam yolu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Add layer using the delimiter, file, and x/y fields specified</source>
+        <translation type="obsolete">Belirlenen sınırlayıcı, dosya ve x/y alanlarını kullanarak katman ekle</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+H</source>
+        <translation type="obsolete">Alt+H</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Parse</source>
+        <translation type="obsolete">&amp;Ayrıştır</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+P</source>
+        <translation type="obsolete">Alt+P</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Add Layer</source>
+        <translation type="obsolete">Katman Ekle</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Kapat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation>Örnek metin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation>Tampon objeler.</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation>Harita birimlerine göre tampon mesafesi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation>Tamponlanan katmanın tablo adı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation>Benzersiz obje id&apos;si oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation>Genel kullanıma açık</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation>Geometri sütunu:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation>Mekansal referans ID:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation>Obje ID&apos;si olarak kullanılacak benzersiz alan:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation>Şema:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation>Tamponlanan katmanı haritaya ekle?</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation>&lt;h2&gt;Katmandaki objeleri tamponla: &lt;/h2&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation>Parametreler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation>Korunan Sözcükleri Düzelt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation>Durum</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation>Dizin</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation>Korunmuş Sözcükler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation>Sütun Adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation>Durum</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation>Sütun Adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation>Dizin</translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation>Kodlama:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation>Form1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation>Doldurma stili</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation>Renk:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation>sütun</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation>Yeni aygıt %1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation>Eminmisiniz?</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation>Bu aracı silmek istediğinizden eminmisiniz?</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation>KKS Aygıt Düzenleyici</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation>Araç adı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation>Bu cihazın listelerde görünecek adıdır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation>Aygıtı güncelle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation>Aracı sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation>Yeni aygıt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation>Komutlar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation>Arazide ölçülen noktaları indir:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation>Arazide ölçülen noktaları yükle:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation>Rota indir:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation>Rota yükle:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation>İz indirme:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation>Aygıta izleri yüklemek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation>İz yükleme:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation>Aygıttan izleri indirmek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation>Aygıta rotaları yüklemek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation>Aygıttan rotaları indirmek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation>Aygıta arazide işaretlenen noktaları yüklemek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation>Aygıttan arazide işaretlenen noktaları indirmek için kullanılan komut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation>&amp;KKS Araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation>Yeni GPX katmanı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation>Yeni bir GPX katmanı oluştur ve harita kanavası üzerinde göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation>&amp;Kks</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation>Yeni GPX dosyasını şu şekilde kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation>KKS veri değişim dosyası(*.gpx)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation>Dosya oluşturulamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation>Verilen adla GPX dosyası oluşturulamıyor. </translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation>Başka bir adla veya başka birinde deneyin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation>Dizin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation>GPX Yükleyici</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation>Seçilen dosya okunamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation>Geçerli dosyası tekrar seçin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation>Süreç başlatılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation>GPSBabel programı başlatılamadı!</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation>Veri İçeri aktarılıyor...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation>%1 den veri içeri aktarılamıyor!</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation>veriyi içeri aktarmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation>Desteklenmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation>Bu aygıt indirmeyi desteklemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation>Veri indiriliyor...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation>KÜresel konumlama Sistemi(GPS)&apos;nden veri alınamıyor .</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation>Veri indirmede hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation>Bu aygıt yüklemeyi desteklemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation>Veri yükleniyor...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation>Veriyi KKS(GPS) ne yüklemede hata!</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation>veriyi yüklemede hata</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation>Kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation>KKS veri değişim formatı (*.gpx)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation>GPX dosyasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation>İçeri aktarmak için dosya ve format seç.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation>KKS Araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation>GPX Dosyasını yükle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation>Dosya:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation>Obje tipi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation>Arazide ölçülen noktalar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation>Rotalar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation>İzler</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation>Diğer dosyayı içeri aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation>İçeri aktarılacak dosya:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation>Obje tipi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation>GPX çıktı dosya:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation>Katman adı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation>GPS&apos;ten aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation>Araçları düzenle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation>KKS aygıtı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation>Çıktı Dosya:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation>Port:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation>KKS&apos;ne yükleniyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation>Veri katmanı:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation>KKS veri değişim dosyası</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation>QGIS&apos;te sayısallaştırıldı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation>Nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation>Satır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation>Poligon</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>OK</source>
+        <translation type="obsolete">TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Cancel</source>
+        <translation type="obsolete">İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation>Yeni Vektör Katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation>Öznitelikler:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation>Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation>Sütun 1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation>Kaldır</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation>Dosya biçemi:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation>&amp;Coğrafi Referanslama Aracı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation>Raster dosya seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation>Raster dosyalar (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation>Seçilen dosya geçerli raster dosya değil.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation>Önce coğrafi referans için bir dosya belirlemeniz gerekir.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation>Koordinatlandırma dosyası mevcut.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation>Koordinatlandırma dosyası! Şununla değiştirmek istermisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation>Yeni coğrafi referans dosyası?&lt;/p&gt;</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation>Coğrafi Referanslama Aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation>Raster dosya:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation>Coğrafi referans koordinatlarını gir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation>Yeniden örnekleme metodu:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation>En yakın Komşu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation>Doğrusal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation>Kübik</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation>Gerektiğinde şeffaflık için 0 kullanın</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation>Derecelendirilmiş Sembol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation>Sınıflandırma alanı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation>Mod:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation>Sınıf Sayısı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished">Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished">Alan</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">TAMAM</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation>GRASS Öznitelikleri</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation>Tab 1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation>sonuç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation>Güncelleme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation>Veritabanı kaydını güncelle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation>GRASS editleme aracını kullanarak yeni kategori değeri ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation>Seçilen kategoriyi sil</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation>Araçlar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation>Seçilen haritaları kanavaya ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation>Seçilen haritayı kopyala</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation>Seçilen haritayı yeniden adlandır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation>Seçilen haritayı sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation>Seçilen haritayı geçerli bölgeye ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation>Tazele</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation>Harita kopyalanamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation>&lt;br&gt; Komut: </translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation>Harita yeniden isimlendirilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation>Haritayı Sil&lt;b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation>Harita silinemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation>Yeni bölge yazılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation>Yeni nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation>Yeni alan merkezi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation>Kırıklık Noktasını sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation>Sol:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation>Orta:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Rigth: </source>
+        <translation type="obsolete">Sağ:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation>Düzenleme araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation>Yeni çizgi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation>Yeni Sınır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation>Kırıklık noktalarını taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation>Kırıklık noktası ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation>Öğeyi taşı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation>Çizgiyi böl</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation>Elementi sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation>Öznitekleri düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation>Harita takımının sahibi değilsiniz, vektör sayısallaştırma için açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation>Vektör güncelleme için açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation>Bilgi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation>Veritabanı tablosu oluşturulamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation>Araçlar henüz tamamlanmadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation>tek kayıt kontrol edilemiyor:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation>Tek kayıt silinemiyor:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation>Alan için tablo belirlenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished">Nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished">Satır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Renk</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Dizin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished">Uzunluk</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation>GRASS Sayısallaştırma</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation>Kategori</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation>Mod</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation>Alan (katman)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation>Ayarlar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation>Piksel olarak yakalama töleransı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation>Semboloji</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation>Sütun 1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation>Tablo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation>Sütun Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation>Tablo oluştur/değiştir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation>Çizgi Genişliği</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation>İşaretleyici boyutu</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished">Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation>Mapcalc araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation>Harita ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation>Sabit değer ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation>İşletici veya fonksiyon ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation>Bağlantı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation>Öğe Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation>Seçilen nesneyi sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation>Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation>Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation>Farklı Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation>Ek olarak</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation>Çıkarım</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation>Bölüm</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation>Üstel</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation>Eşit</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation>Eşit değil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation>&apos;deb büyük</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation>&apos;den büyük veya eşit</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation>Daha az</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation>Daha az veya eşit</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation>Ve</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation>veya</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation>x&apos;in mutlak değeri</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation>x&apos;in arctanjant değeri (derece olarak),</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation>y/x&apos;in arctanjant değeri (derece olarak).</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation>x&apos;in kosinüsü (X derecedir).</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation>Geçerli doğu-batı çözünürlüğü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation>x&apos;in üstel fonksiyonu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation>Karar: x eğer sıfır değilse 1, aksi takdirde 0</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation>Karar: eğer x sıfır değilse a, aksi takdirde 0</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation>Karar: eğer x sıfır değilse a, aksi takdirde b</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation>Karar: eğer x&gt;0 ise a, eğer x 0 ise b, eğer x&lt;0 ise c</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation>x&apos;in NULL olup olmadığını kontrol et</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation>Log von x zur Basis b</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation>Enbüyük değer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation>Ortanca</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation>En küçük değer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation>Mod değeri</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation>1 eğer x sıfır ise 1, değilse 0</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation>Geçerli kuzey-güney çözünürlüğü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation>NULL dğer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation>a ile b arasındaki rasgele değerler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation>x&apos;i en yakın tamsayıya yuvarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation>x&apos;in sinüsü (x derecedir).</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation>x&apos;in karekökü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation>x&apos;in tanjantı (x derecedir).</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation>Kayar pencerenin şu anki x koordinatı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation>Kayar pencerenin şu anki y koordinatı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation>Geçerli bölge alınamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation>Haritanın bölgesi kontrol edilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation>Haritanın bölgesi alınamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation>Şu anda QGIS&apos;te hiç GRASS raster haritası yok.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation>Geçerli harita takımında &apos;mapcalc&apos; dizini oluşturulamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation>Yeni Mapcalc</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation>Yeni mapcalc adı gir:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation>Vektör adını girin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation>Dosya zaten zevcut. Üzerine yazayım mı?</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation>Mapcalc kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation>Dosya adı boş.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation>mapcalc dosyası açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation>Mapcalc-Şeması (</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation>) bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation>mapcalc şeması açılamıyor (</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation>mapcalc şeması okunamıyor (</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation>Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished">Çıktı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation>AnaPencere</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation>Çıktı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation>Çalıştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation>Durdur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished">) bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished">Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation>GRASS Modülü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation>Seçenekler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation>Çıktı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation>Kılavuz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation>Çalıştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation>Çıktıyı görüntüle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Dosya</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished">Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished">Geçerli bölge alınamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished">Haritanın bölgesi kontrol edilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished">Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished">Harita takımı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished">Veritabanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished">) bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished">Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished">Yeni harita takımı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation>Sütun 1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation>Dizin ağaç yapısı örneği :</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation>Veritabanı Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation>Veritabanı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation>Mevcut dizini seç veya yeni bir dizin oluştur:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation>Mevki</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation>Mevki Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation>Yeni Mevki oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation>Mevki Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation>Projeksiyon Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation>Koordinat sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation>Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation>Belirlenemedi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation>Aktif QGIS sınırlarını ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation>Ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation>Bölge Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation>S</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation>W</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation>E</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation>N</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation>Yeni harita takımı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation>Harita takımı Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation>&lt;p align=&quot;center&quot;&gt; Mevcut Harita Takımı&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation>Mevki:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation>Harita takımı:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation>GRASS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation>&amp;GRASS</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation>Harita takımını Aç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation>Yeni harita takımı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation>Harita takımını kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation>GRASS Vektör Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation>GRASS Raster Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation>GRASS araçlarını aç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation>Geçerli GRASS Bölgesini göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation>Geçerli Grass Bölgesini Düzelt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation>GRASS Vektör katmanını sayısallaştır/düzelt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation>Harita kanavasına GRASS rvektör katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation>Harita kanavasına GRASS raster katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation>Aktif GRASS bölgesini harita kanavasında dikdörtgen olarak göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation>Geçerli Grass Bölgesini Düzelt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation>Seçilmiş olan GRASS vektör katmanını düzenle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation>GrassVektorü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation>0.1</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation>GRASS Katmanı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation>GRASS Bölge Ayarları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation>N</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation>W</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation>E</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation>S</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation>K-G Çözünürlüğü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation>Satır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation>Sütunlar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation>D-B Çözünürlüğü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation>Renk</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation>Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation>GRASS Vektör-Katmanını Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation>GRASS Raster-Katmanını Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation>GRASS mapcalc şemasını seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation>GRASS Harita Takımını Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation>2. katmandaki vektör açılamıyor  (Topoloji yok).</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation>Mevcut GISDBASE seç.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation>Yanlış  GISDBASE, hiç mevki yok.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation>Yanlış GISDBASE.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation>Harita Seç.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation>Harita yok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation>Katman yok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation>Bu haritada katman yok.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation>Gisdbase</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation>Mevki</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation>Gözat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation>Harita takımı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation>Harita adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation>Katman</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation>GRASS Katmanı ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation>GRASS Kabuğu (Komut Satırı)</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation>Modül</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation>Gözatıcı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished">Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished">) bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished">Sütun</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation>&amp;Grid Oluşturucu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation>Grid oluştur ve sonucu shape dosyası olarak sakla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation>&amp;Gridler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation>QGIS - Grid Yapıcı</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Please enter the file name before pressing OK!.</source>
+        <translation type="obsolete">Lütfen TAMAM&apos;a basmadan önce dosya adını girin!.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation>Boylam aralığı geçersiz - lütfen düzeltin ve tekrar deneyin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation>Enlem aralığı geçersiz - lütfen düzeltin ve tekrar deneyin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation>Boylam aralığı geçersiz - lütfen düzeltin ve tekrar deneyin..</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation>Boylam Merkezi geçersiz - lütfen düzeltin ve tekrar deneyin.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation>Kaydedeceğiniz dosya adını seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation>ESRI Shapefile (*.shp)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation>QGIS Eklenti Şablonu</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation>Grid Oluşturucu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation>#000.00000; </translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation>Enlem:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation>Boylam:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation>Enlem Aralığı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation>Boylam Aralığı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation>Nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation>Satır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation>Poligon</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation>Orjin (sol alt)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation>Son nokta (sağ üst)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation>Grid boyutu (derece biriminde)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation>Çıktı (Shape) dosya</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation>Quantum CBS Yardım -</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation>Veritabanından yardım metnini almada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation>QGIS yardım veritabanı yüklenmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation>Bu yardım dosyası sizin dilinizde yok.</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation>Quantum CBS Yardım</translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation>QGIS Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation>&amp;Anasayfa</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation>Alt+H</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation>&amp;İleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation>Alt+F</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Geri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation>Alt+B</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation>Alt+C</translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation>HHTP yanıtı tamamlandı, ancak bir hata oldu: %1</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform>etzwerk hatte Timeout nach %1 Sekunden der Inaktivität. Dies könnte auf ein Problem mit Ihrer Netzwerkverbindung oder der des WMS-Servers hindeuten.</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation>HHTP hareketi tamamlandı, ancak bir hata oldu: %1</translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation>Sonuçları Belirle - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation>Eylemi çalıştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation>Obje</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation>Değer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation>Sonuçları Belirle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation>Sınıf sınırlarını gir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation>En düşük Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation>-</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation>Üst değer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation>Form1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation>Etiket içeren alan:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation>Varsayılan etiket:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation>Öngörünüş:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation>Yazıtipi stili</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation>Yazıtipi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation>Noktalar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation>Harita birimleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation>%</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation>Şeffaflık:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation>Renk</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation>Konum</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation>Tampon etiketleri?</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation>Boyut:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation>Boyut harita birimlerine göredir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation>Boyut nokta olaraktır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation>Yukarı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation>Üzerine</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation>Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation>Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation>Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation>Alt sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation>O</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation>Alt sol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation>Açı (derece):</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation>Yazıtipi ailesi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation>&amp;Eğik:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation>&amp;Altçizgi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation>&amp;Koyu:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation>&amp;Boyut:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation>X-Koordinatı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation>Y-Koordinatı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation>Yerleştirme:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation>Yazıtipi boyut birimleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation>Yazıtipi Hizalama</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation>Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation>Tampon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation>Tampon boyut birimleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation>Kaynak</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation>Katman Projeksiyonu Seçici</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation>Grup</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Properties</source>
+        <translation type="obsolete">&amp;Özellikler</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="obsolete">Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Add to overview</source>
+        <translation type="obsolete">Öngörünüşe ekle</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Remove from overview</source>
+        <translation type="obsolete">&amp;Öngörünüşten kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation>Enüst seviye öğesi yap</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Allow editing</source>
+        <translation type="obsolete">Düzenlemeye izin ver</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation>Yeniden adlandır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation>Grup ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation>Tümünü daralt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation>Dosya gruplarını göster</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Öznitelik tablosu aç</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">Düzenlemeye izin ver</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Shape dosyası olarak Kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Katman seçilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished">Öznitelik tablosunu açmak için, lejanddan bir vektör katman seçmelisiniz</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Öznitelik tablosu aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shape dosyası olarak Kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Özellikler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation>Öznitelik Tablosu - </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation>Katmanı şöyle kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation>Düzeltmeyi başlatmada hata.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation>Düzeltme için gerekli sağlayıcı açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation>Düzeltmeyi durdur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation>Değişikliklerin kaydedilmesini istermisiniz?</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation>Değişiklikler henüz kabul edilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished">Vektör katman değil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished">Öznitelik tablosunu açmak için, lejanddan bir vektör katman seçmelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished">Sürücü bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished">Shape dosyası oluşturmada hata.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished">Shape dosyası oluşturulamıyor (</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished">Katman oluşturmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">&amp;Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Öznitelik tablosu aç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Shape dosyası olarak Kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">&amp;Özellikler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation>Çizgi stilini seç</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation>Stiller</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation>Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation>Form2</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation>Çerçeve stili</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation>Genişlik:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation>Renk:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation>sütun</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation>Çizilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation>çünkü</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Scale </source>
+        <translation type="obsolete">Ölçek</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation>Hiç obje bulunmadı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation>Harita dosyasının adı</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation>QGIS proje dosyasını seç</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation>QGIS Proje dosyaları (*.qgs);;Tüm Dosyalar (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation>Dosyanın Üzerine Yazayım mı?</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation>Marserver&apos;a aktar</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation>Harita dosyası</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation>Sadece katman bilgisini dışarı aktar</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation>Harita</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation>Yükseklik</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation>Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation>dd</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation>Metre</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation>mil</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation>inç</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation>Kilometre</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation>Birimler</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation>Görüntü Tipi</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation>gif</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation>gtiff</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation>jpeg</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation>png</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation>swf</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation>kullanıcı tanımlı</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation>wbmp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation>Minimum Ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation>Maksimum Ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation>Web Arayüz Tanımı</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation>Üst bilgi</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation>Şablon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation>&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation>QGIS proje dosyasından oluşturulacak harita dosyasının adı</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation>MapServer şablon dosyası dizini</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation>MarServer map biçemine dönüştürülecek QGIS projesinin tam tolu</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation>QGIS Proje dosyası</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation>İmleyici sembolünü seç</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation>Dizin</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation>Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation>Yeni öğe</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasure</name>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Segments (in meters)</source>
+        <translation type="obsolete">Parçalar (Metre olarak)</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Incorrect measure results</source>
+        <translation type="obsolete">Hatalı ölçme sonuçları</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation>Ölçüm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation>Toplam:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">Parçalar (Metre olarak)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished">Hatalı ölçme sonuçları</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation>QGIS Mesajı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation>Bu mesajı bir daha gösterme</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation>İlişkiye erişilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation>&apos;e erişilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation>ilişki. 
+Veritabanından şu mesaj geldi:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation>GEOS desteği yok!</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation>Katmanı şöyle kaydet...</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation>Alan oluşturmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation>Katman oluşturmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation>Shape dosyası oluşturmada hata.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation>Shape dosyası oluşturulamıyor (</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation>Sürücü bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation>Bağlantıyı Dene</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Connection to %1 was successfull</source>
+        <translation type="obsolete">%1 &apos;e bağlantı başarıldı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation>Bağlantıda hata - Ayarları kotrol edin ve tekrar deneyin
+
+Geniş hata bilgisi:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation>Yeni bir PostGIS bağlantısı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation>Bağlantı bilgisi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation>Ana Bilgisayar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation>Veritabanı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation>Kullanıcı adı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation>Yeni bağlantının adı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation>Parola</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation>Bağlantıyı Dene</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation>Parolayı Kaydet</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation>Port</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation>5432</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation>Sadece geometry_columns tablosuna gözat.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation>Sadece &apos;public&apos; şemasına gözat.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation>Yeni bir WMS bağlantısı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation>Bağlantı bilgisi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation>URL</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation>Vekil Sunucu bilgisayar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation>Vekil Sunucu portu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation>Vekil Sunucu Kullanıcısı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation>Vekil Sunucu Parolası</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation>HTTP Vekil Sunucusu için kullanıcı adınız (seçimlik)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation>HTTP Vekil Sunucusunun parolası (seçimlik)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation>Yeni bağlantının adı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation>İnternet Harita Sunucusunun HTTP adresi.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation>HTTP vekil sunucunuzun adı (seçimlik)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation>HTTP Vekil Sunucunuzun port numarası (seçimlik)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation>TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation>&amp;Kuzey Oku</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation>Kuzey oku oluştur ve harita kanavası üzerinde göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation>Kuzey Oku Eklentisi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation>Özellikler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation>Açı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation>Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation>Yönü otomatik olarak seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation>Kuzey Okunu göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation>Ekrana Yerleştirme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation>Kuzey Okunun öngörünüşü</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation>Simge</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation>Yeni öğe</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation>Yanlış Yol/URI</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation>Veriseti için girilen yol geçerli değil.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation>QGIS Seçenekleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation>epiphany</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation>galeon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation>konqueror</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation>mozilla</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation>opera</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Ok</source>
+        <translation type="obsolete">&amp;Tamam</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation>Objeleri Belirlemek için Yarıçap içindekileri Araştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation>&amp;Görünüm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation>&amp;Simge Teması</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation>Tema</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation>&lt;b&gt;Nat: &lt;/b&gt;Tema değişiklikleri QGIS&apos;i bir sonraki açışınızda etkin olacaktır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation>YArdım &amp; Gözatıcı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation>Yardım dökümanlarını birlikte aç</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation>Okumadan sonra güncellemeyi göster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation>Objeler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation>Genel Varsayılanı Seç ...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation>Proje bazında varsayılan projeksiyon kullanılacak.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation>Firefox</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation>Mozilla-Firefox</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation>Arkaplan Rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation>Seçim Rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation>Görünüm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation>Katman adını büyük harfe çevir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation>Çizim esnasında güncelle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation>Ölçme aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation>Mesafe hesaplama için kullanılacak Elipsoid:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation>Yarıçap içindekileri araştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation>Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation>Projeksiyon bilgisi olmayan katman yüklenirken</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation>Aşağıda görüntülenen varsayılan genel projeksiyon kullanılacak.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation>&lt;b&gt;Not:&lt;/b&gt; Gözatıcı varsayılan YOL&apos;da olmalı veya yukarda tüm tolu belirlemelisiz</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation>Yanlış doldurulan poligonlardaki sorunları gider.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation>%</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation>&amp;Harita araçları</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation>Kaydırma ve Büyültme/Küçültme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation>Yakınlaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation>Yakınlaştır ve ortala</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation>Hiçbiri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation>Yakınlaştırma faktörü:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation>fare tekerleği eylemi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation>&amp;Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation>Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation>Gerektiğinde proje değişikliklerini kaydetmek için sor</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Not: Bu fonksiyon henüz kullanılabilir değildir!&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation>Kaynak</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation>Hedef</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation>Yeni aktarma ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation>&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;İptal</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation>Doldurma desenini seçin</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation>Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation>Doldurma</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation>Katman %1 deki tampon objeler.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation>Veritabanına bağlanmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation>Tampon objeler.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation>Tamponlanan objelerle veritabanında yeni bir katman oluşturuldu.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation>Geometri sütunu eklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation>Çıktı tablosuna geometri sütunu eklenemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation>Tablo oluşturulamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation>Çıktı tablosnu oluşturmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation>GEOS desteği yok.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation>Tampon fonksiyonu için PostGIS&apos;te GEOS desteği olmalıdır.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation>PostgreSQL/PostGIS Katmanı değil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation>PostgreSQL/PostGIS katmanı değildir.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation>Aktif katman yok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation>Tamponlama için lejandda bir katman seçmelisiniz.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation>PostgreSQL katmanı için tampon oluştur.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation>Tablo&lt;b&gt;%1&lt;/b&gt; veritabanındaki&lt;b&gt;%2&lt;/b&gt; bilgisayarındaki &lt;b&gt;%3&lt;/b&gt;, kullanıcı &lt;b&gt;%4&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation>Bağlantıda hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation>Veritabanına bağlantıda hata:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation>Veritabanı hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation>Sorgulama Sonucu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation>Nerede(where) tümcesi şöyle sonuç verdi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation>Satır.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation>Sorgulama Hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation>Sorgulamayı yaparken bir hata oldu:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation>Kayıt Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation>&lt;p&gt;SQL kullanarak alan değerleri örneklerini almada hata:&lt;/p&gt;&lt;p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation>PostgreSQL Sorgulama Oluşturucu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation>Temizle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation>Deneme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation>Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation>Değerler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation>Tümü</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation>Örnek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation>Alanlar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation>Veri kaynağı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation>İşletmenler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation>=</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation>IN</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation>&lt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation>&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation>%</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation>&lt;=</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation>&gt;=</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation>!=</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation>ÄHNLICH</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation>VE</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation>VEYA</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation>SQL nerede (where) tümcesi </translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation>Dizin seç</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation>Eklenti Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished">Müteakip dizinde QGIS eklentisi bulunamadı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation>QGIS Eklenti Yöneticisi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation>Açıklama</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation>Kütüphane Adı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation>Eklenti Dizini</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation>Eklenti yüklemek için, eklentinin yanındaki onay kutusunu tıklayın ve Tamam&apos;a basın</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation>Sürüm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation>&amp;Tümünü Seç</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation>Alt+S</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation>&amp;Tümünü temizle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation>Alt+L</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation>&amp;Tamam</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation>Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation>Alt+C</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation>Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation>z</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation>Uzaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation>Z</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation>Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation>Katmanın Dış Sınırlarını görecek Şekilde Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation>Haritayı kaydır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation>Haritayı kaydır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation>Nokta ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation>.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation>Noktaları sayısallaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation>Noktayı Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation>Seçileni Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation>Doğrusal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation>coğrafi referanslama dosyası için isim seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation>-değiştirilmiş</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation>Uyarı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation>Affin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation>Tamamlanmadı!</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Affin dönüşümü raster dosyada değişiklik gerektirir. Henüz bu desteklenmiyor.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation> dönüştürme henüz desteklenmiyor.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation>Hata</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation>&apos;e yazılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation>Aktif olarak tüm değiştirilen dosyalar TIFF biçeminde yazılacak.</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation>Coğrafi Referanslama Aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation>Dönüştürme tipi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation>Yaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation>Uzaklaştır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation>Raster sınırlarını  görecek şekilde yaklaştır </translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation>Kaydırma</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation>Noktalar ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation>Noktaları Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation>Coğrafi referans dosyasını oluştur ve katmanı yükle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation>Coğrafi referans dosyasını oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation>Koordinatlandırma dosyası:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation>Değiştirilmiş raster :</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation>Form3</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation>Sembol stili</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation>Ölçek</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation>İlişkiye erişilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation>&apos;e erişilemiyor</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation>ilişki. 
+Veritabanından şu mesaj geldi:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation>GEOS desteği yok!</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation>Tabloda uygun anahtar sütun yok.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation>Benzersiz indeks sütunu</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation>ve</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation>Sütunlara dayanan benzersiz indeks</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation>Anahtar sütun bulunamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation>ve uygundur.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation>ve uygun değildir.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation>Tip şudur</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation>Pencere</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation>Benzersiz anahtar olarak kullanmak için uygun sütun yok</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation>Veritabanı Penceresinde(view) uygun anahtar sütun yok</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation>Bilinmeyen geometri tipi.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation>Sütun</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation>geometri tipine sahip</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation>, Qgis&apos;in henüz desteklemediği.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation>. Veritabanı iletişim kayıtları şunlardı:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation>Obje tipi ve SRID alınamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation>Not: </translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation>INSERT hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation>Obje eklerken bir hata oldu</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation>Silme hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation>Diskten silerken bir hata oldu</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation>PostGIS hatası</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>An error occured contacting the PostgreSQL databse</source>
+        <translation type="obsolete">PostgreSQL veitabanıyla iletişim kurarken hata oldu</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>The PostgreSQL databse returned: </source>
+        <translation type="obsolete">PostgreSQL veritabanı derki:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation>Denerken:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation>Projeksiyon Özellikleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation>Harita birimleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation>Metre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation>Varsayılan proje başlığı</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Apply</source>
+        <translation type="obsolete">&amp;Uygula</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation>Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation>Çizgi Genişliği:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Snapping Tolerance:</source>
+        <translation type="obsolete">Yakalama töleransı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation>Çizgi Rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation>Otomatik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation>Kılavuz</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation>El ile yapma için ondalık hane sayısı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation>Harita Görünüşü</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation>Seçim Rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation>Projeksiyon Başlığı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation>Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation>Değişik projeksiyonlara sahip dosyaları aynı projede göster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation>Arkaplan Rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation>Hassasiyet</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation>Sayısallaştırma</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation>Açıklayıcı proje adı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation>Piksel olarak Çizgi Genişliği</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation>Harita birimlerine göre yakalama töleransı</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation>QGIS SRSID: </translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation>PostGIS SRID:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation>Projeksiyon Seçici</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation>Projeksiyon</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation>Araştır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation>Bul</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation>PostGIS SRID</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation>EPSG ID</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation>QGIS SRSID</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation>Mekansal Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation>Id</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished">Python işletmen uçbirimi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation>Ayarlanmadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation>Sürücü:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation>Boyutlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation>X:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation>Y:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation>Bantlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation>Orjin:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation>Piksel Boyutu:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation>Raster Sınırları:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation>Kırpılmış alan:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation>Piramid öngörünüşü:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Band Statistics (if gathered):</source>
+        <translation type="obsolete">Bant İstatistikleri (elde edildiyse):</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation>Özellik</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation>Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation>Bant</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation>Band Numarası</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation>İstatistik yok</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation>Henüz İstatistik toplanmadı</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation>Minimum Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation>Maksimum değer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation>Orta</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation>Karelerin toplamı</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation>Standart Sapma</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation>Tüm hücrelerin toplamı</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation>Veri tipi:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation>GDT_UInt16 - Sixteen bit unsigned integer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation>GDT_Int16 - Sixteen bit signed integer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation>GDT_UInt32 - Thirty two bit unsigned integer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation>GDT_Int32 - Thirty two bit signed integer</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation>GDT_Float32 - Thirty two bit floating point</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation>GDT_Float64 - Sixty four bit floating point</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation>GDT_CInt16 - Complex Int16</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation>GDT_CInt32 - Complex Int32</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation>GDT_CFloat32 - Complex Float32</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation>GDT_CFloat64 - Complex Float64</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation>Raster veri tipi belirlenemedi.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation>Ortalama</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation>Katman Mekansal Referans Sistemi:</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation>Sınırlar dışında</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation>null (veri yok)</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation>Veri Değeri Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation>ve tüm diğer dosyalar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation>Gri ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation>Yalancı renk</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation>Palet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation>Ayarlanmadı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation>Sütunlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation>Satır:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation>Veri Değeri Yokt:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation>n/a</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation>Yazma erişimi yasaklandı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation>Yazma erişimi yasaklandı. Dosya izinlerini ayarla ve yeniden dene.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation>Piramid oluşturmada hata oldu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation>Raster Katman Özellikleri</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Apply</source>
+        <translation type="obsolete">&amp;Uygula</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation>Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation>Katman Kaynağı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation>Ad Göster:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation>Lejand:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation>Veri Yok:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation>Semboloji</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation>Şeffaflık:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation>&lt;p align=&quot;right&quot;&gt;Tam&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation>Hiçbiri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation>Renk Haritasını Dönüştür</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation>0%</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation>Bant</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation>&lt;b&gt;&lt;yazı tipi rengi=&quot;#00ff00&quot;&gt;Yeşil&lt;/font&gt;&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation>&lt;b&gt;&lt;yazı tipi rengi=&quot;#ff0000&quot;&gt;Kırmızı&lt;/font&gt;&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation>&lt;b&gt;&lt;Yazı tii rengir=&quot;#0000ff&quot;&gt;Mavi&lt;/font&gt;&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation>Renk</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation>Gri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation>Standart Sapma</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation>Renk haritası</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation>Piramitler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation>Yeniden örnekleme metodu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation>Ortalama</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation>En yakın Komşu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation>Piramit Oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation>Piramid Çözünürlükleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation>Sütunlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation>Satır:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation>Palet:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation>Maksimum 1:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation>Minimum 1:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation>Bu katmanın gösterileceği minimum ölçek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation>Histogram</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation>Seçenekler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation>Çizelge Tipi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation>Çubuk Diyagram</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation>Çizgi Grafik</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation>Tazele</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation>Mekansal Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation>Değiştir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation>Görüntü</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation>Gri ölçekli görüntü</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation>Renkli Görüntü</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation>Ölçek Bağımsız Görünürlük</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation>Sütun Sayısı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation>Şeffaflık</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation>Komut çalıştırılamıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation>Başlatılıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation>Yapıldı</translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation>Metre/Kilometre</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation>derece</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation> km</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation> mm</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation> cm</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation> m</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation>ayak (uzunluk birimi)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation>Derece</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation>Bilinmeyen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation>Aşağı Tıkla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation>Yukarı Tıkla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation>Çubuk</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation>Kutu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation>Ölçek çubuğu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation>Ölçek çubuğu oluştur ve harita kanavası üzerinde göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation>Ölçek çubuğu eklentisi</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation>Üst Sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation>Üst Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation>Dip sol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation>Dip Sağ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation>Çubuk boyutları:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation>Yerleştirme:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation>Aşağı Tıkla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation>Yukarı Tıkla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation>Kutu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation>Çubuk</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation>Ölçek çubuğu stilini seç</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation>Çubuk rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation>Ölçek çubuğu stili:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation>ölçek çubuğunu göster</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation>Rengi seçmek için tıkla.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform>%d eşleşen obje bulundu.</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation>Eşleşen obje bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation>Sonuçları araştır:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation>Arama tümcesi ayrıştırma hatası</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation>Kayıt Yok</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation>Kaldırmak istediğinizden eminmisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation>bağlantı ve tüm ilgili ayarlar?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation>Silmeyi Onayla</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation>WMS Sağlayıcı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation>WMS Sağlayıcı açılamıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation>Katmanı Seç.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation>Önce enazından bir katman seçmelisiniz.</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform>Koordinat Referans Sistemi (%1 mevcut).</numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation>Sağlayıcı diyor ki</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation>WMS-Vekil Sunucu</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation>Koordinat Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation>Sunucudan Katman(lar) ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation>Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation>Alt+L</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation>Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation>F1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation>Görüntü kodlama</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation>Katmanlar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation>ID</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation>Başlık</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation>Özet</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation>&amp;Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation>Alt+A</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation>Sunucu Bağlantıları</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation>&amp;Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation>Düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation>Bağlan</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation>Hazır</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation>Koordinat Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation>Değiştir ...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation>Birkaç örnek WMS sunucusu ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation>Varsayılan sunucuları ekle</translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation>Veritabanı şu SQL&apos;i icra ederkenhata verdi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation>Hata şuydu:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation>Tek Sembol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation>İçini tarama deseni:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation>Nokta</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation>Boyut</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation>Sembol</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation>Çerçeve genişliği:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation>İçini boyama rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation>Çerçeve rengi:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation>Çerçeve stili:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation>Etiket:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation>Doldurma</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation>Kaldırmak istediğinizden eminmisiniz [</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation>] bağlantı ve tüm ilgili ayarlar??</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation>Silmeyi Onayla</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation>- Sütun Adlarını Düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation>Müteakip Shape dosyaları yüklenemedi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation>Sebep: Dosya açılamadı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation>Sebep: Shape Dosyasının dosyalarından (*.dbf, *.shx) biri veya herikisi kayıp</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation>Genel Arayüz Yardımı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation>PostgreSQL Bağlantısı:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation>[Yeni...] - yeni bağlantı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation>[Kaldır] - Seçilmiş olan bağlantıyı kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation>- dosyalrı içeri aktarmak için çalışan bir bağlantı seçmeniz gerekir (doğru bağlanma için)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation>Shapefile Listesi:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation>[Kaldır] - Listeden seçilmiş olan dosya(lar) kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation>[Tümünü kaldır]  - llistedeki tüm dosyaları kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation>[SRID] - İçeri aktarılacak shape dosyaları Referans ID&apos;si</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation>[Varsayılan SRID&apos;i kullan] - SRID&apos;i 1&apos;e ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation>[Geometri Sütunu Adı] - veritabanındaki geometri sütunu adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation>[Varsayılan Geometri Sütun Adı&apos;nı Kulllan] - sütun adını &apos;the_geom&apos; olarak ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation>[İçeri Aktar] - listedeki aktif shape dosyalarını içeri aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation>[Çık] - yazılımdan çık</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation>[Yardım] - bu yardım diyaloğunu gösterir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation>Shape dosyası içeri aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation>Önce bir Bağlantı belirlemeniz gerekmektedir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation>Bağlantıda hata - Ayarları kotrol edin ve tekrar deneyin</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation>Önce listeye shape dosyalarını eklemelisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation>Dosyalar içeri aktarılıyor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation>İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation>İlerleme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation>Dosyadan objeleri almada sorun var:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation>Geçersiz Tablo Adı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation>Alan bulunamadı.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation>Müteakip alanlar çifttir:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation>Shape dosyalarını içeri aktar - İlişki mevcut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation>Shape Dosyası:</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation>kullanılacak [</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation>] verisinin ilişkisi,</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation>Zaten mevcut olan ve muhtemelen veri içeren.</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation>]İlişki?</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation>Dosya Adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation>Obje sınıfı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation>Objeler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation>Veritabanı İlişkisi adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation>Şema</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation>Yeni bağlantı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation>Shape dosyalarını ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation>Shapefiles (*.shp);; Tüm Dosyalar (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation>PostGIS mevcut değil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation>&lt;p&gt; SQL icrasında hata:&lt;/p&gt;&lt;p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation>&lt;/p&gt;&lt;p&gt;Veritabanı diyorki:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation>SPIT - Shapefile&apos;den PostGIS&apos;e Aktarma Aracı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation>PostgreSQL Bağlantısı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation>Kaldır</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Import</source>
+        <translation type="obsolete">İçeri Aktar</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation>Shapefile Listesi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation>Geometri Sütunu Adı</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation>SRID</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation>Tümünü Kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation>Genel Şema</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation>Shapefile&apos;den  PostGIS&apos;e Aktarma Aracı</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Import the defined shapefiles to PostGIS</source>
+        <translation type="obsolete">Belirlenen shape dosyalarını PostgreSQL&apos;e aktar</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Close</source>
+        <translation type="obsolete">Kapat</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation>Ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation>İçeri aktarılacak dosyalar listesine shape dosyasını ekle</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation>İçeri aktarma listesinden seçilen shape dosyasını kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation>İçeri aktarma listesindeki tüm shape dosyalarını kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation>Varsayılan SRID&apos;i kullan</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation>Varsayılan Geometri Sütun Adı&apos;nı Kulllan</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation>Geometri sütunu değerini varsayılan değere ayarla</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation>Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation>Yeni bir PostGIS bağlantısı oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation>Geçerli PostGIS bağlantısını kaldır</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation>Bağlan</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation>Düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation>Geçerli PostGIS bağlantısını düzenle</translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation>Shape dosyalarını PostgreSQL&apos;e aktar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation>&amp;Spit</translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation>Form1</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation>Sınıflandırma alanı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation>Eklenen objeler henüz kabul edilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation>.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation>Değişen öznitelikler henüz kabul edilmedi.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation>Değişen geometriler henüz kabul edilmedi.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation>Silinen objeler henüz kabul edilmedi</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation>Şeffaflık:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation>Tek Sembol</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation>Derecelendirilmiş Sembol</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation>Benzersiz Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation>Mekansal İndeks</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation>Mekansal indeks oluşturma başarılı</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation>Mekansal indeks oluşturmada hata</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation>Genel:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation>Bu katmanı depolama tipi: </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation>Bu katman için kaynak: </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation>Bu katmandaki objelerin geometri tipi:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation>Bu katmandaki obje sayısı:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation>Bu katmanın düzeltme olanakları: </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation>Dış sınırlar:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation>xMin,yMin </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation> : xMax,yMax </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation>Katman Mekansal Referans Sistemi:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation>Öznitelik bilgisi:</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation>Alan</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation>Tip</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation>Uzunluk</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation>Hassasiyet</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation>Katman Özellikleri</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation>Lejand tipi:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>OK</source>
+        <translation type="obsolete">TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Cancel</source>
+        <translation type="obsolete">İptal</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation>Semboloji</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation>Şeffaflık:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation>Genel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation>Maksimum 1:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation>Minimum 1:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation>Bu katmanın gösterileceği minimum ölçek.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation>Ad Göster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation>Mekansal Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation>Değiştir</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation>Alanı göster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation>Altküme</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation>Sorgulama Oluşturucu</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation>Mekansal İndeks</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation>Mekansal İndeks oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation>Oluştur</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation>Etiketler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation>Etiket Göster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation>Eylemler</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Apply</source>
+        <translation type="obsolete">Uygula</translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation>Form2</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation>Etiket</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation>Minimum</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation>Maksimum</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation>Sembol Sınıfı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation>Sayı:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation>Mod:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation>Alan:</translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation>&amp;WFS Katmanı ekle</translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation>Kaldırmak istediğinizden eminmisiniz</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation>bağlantı ve tüm ilgili ayarlar?</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation>Silmeyi Onayla</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Yes</source>
+        <translation type="obsolete">Evet</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation>Başlık</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation>Özet</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation>Koordinat Referans Sistemi</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation>Değiştir ...</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Help</source>
+        <translation type="obsolete">Yardım</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>F1</source>
+        <translation type="obsolete">F1</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Add</source>
+        <translation type="obsolete">&amp;Ekle</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+A</source>
+        <translation type="obsolete">Alt+A</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>C&amp;lose</source>
+        <translation type="obsolete">Kapat</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+L</source>
+        <translation type="obsolete">Alt+L</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation>Sunucu Bağlantıları</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation>&amp;Yeni</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation>Sil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation>Düzeltme</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation>Bağlan</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation>HTTP Kural uyuşmazlığı</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation>WMS Servis Kural Dışılığı</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation>Bu muhtemelen hatalı WMS Sunucu adresinden(URL) kaynaklanıyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation>İstek sunucu tarafından sağlanmayan bir biçem içeriyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation>İstek geçersiz örnek boyut değeri içeriyor.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation>İstek sunucu tarafından desteklenmeyen seçimlik bir işlem için.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation>WMS sağlayıcı da şöyle raporladı:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation>Sunucu Özellikleri:</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation>Özellik</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation>Değer</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation>WMS Sürümü</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation>Başlık</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation>Özet</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation>Anahtar kelimeler</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation>Çevrimiçi Kaynak</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation>İletişme Geçilecek Kişi</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation>Ücret</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation>Görüntü formatı</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation>Biçemleri Belirle</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation>Katman Sayısı</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation>Katman Özellikleri: </translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation>Seçilen</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation>Evet</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation>Hayır</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation>Görünürlük</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation>Görünür</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation>Gizli</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation>n/a</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation>Belirlenmelidir</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation>Şeffaf olmalıdır</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation>Sabit Genişlik</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation>Sabit Yükseklik</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation>WGS 84 Sınır Kutusu</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation>Ad</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS Eklenti Şablonu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">Eklenti Şablonu</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]GuiBase</name>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="obsolete">QGIS Eklenti Şablonu</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Plugin Template</source>
+        <translation type="obsolete">Eklenti Şablonu</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;TAMAM</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;İptal</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
+    <name>gpsPage</name>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>GPS</source>
+        <translation type="obsolete">KKS</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">Boylam:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>No</source>
+        <translation type="obsolete">Hayır</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>GPS Time:</source>
+        <translation type="obsolete">KKS Zamanı:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">Enlem:</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Show position on map</source>
+        <translation type="obsolete">Haritadaki konumu göster</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Show position history</source>
+        <translation type="obsolete">konum geçmişini göster</translation>
+    </message>
+    <message>
+        <location filename="" line="5151515"/>
+        <source>Recenter map</source>
+        <translation type="obsolete">Hariatayı yeniden ortala</translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_vi.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_vi.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_vi.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation type="unfinished"></translation>
     </message>
@@ -24,32 +24,63 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>Nhập tọa độ bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Hủy</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">Ngừng</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">Trạng thái</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="7"/>
@@ -769,24 +800,24 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>Không có trình cung cấp dữ liệu</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>Không có plugin cung cấp Dữ liệu
 Không tìm thấy plugin cung cấp dữ liệu cho QGIS tại</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>Không có lớp vector nào được nạp. Kiểm tra lại cài đặt QGIS của bạn</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>Không có plugin cung cấp dữ liệu. Không nạp được các lớp vector</translation>
     </message>
@@ -811,7 +842,7 @@
         <translation type="obsolete">Nein</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>Tập tin QGIS (*.qgs)</translation>
     </message>
@@ -831,7 +862,7 @@
         <translation type="obsolete">Öffne eine QGIS Projektdatei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>Mở một lớp được OGR hỗ trợ</translation>
     </message>
@@ -841,17 +872,17 @@
         <translation type="obsolete">Lỗi đọc tập tin phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation>tại dòng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation>cột</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation>đối với tập tin</translation>
     </message>
@@ -917,17 +948,17 @@
 Hiện tại QGIS không hỗ trợ điều này.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>Không thể lưu vào tập tin</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -937,97 +968,92 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
-        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation type="unfinished">Không có lớp kích hoạt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation type="unfinished">Để xác định đối tượng, bạn phải chọn một lớp kích hoạt bằng cách nhắp chuột vào tên nó trong phần chú giải</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation type="unfinished">Băng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation type="unfinished">Hành động</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation type="unfinished">Không tìm thấy các thuộc tính</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation type="unfinished">Không tìm thấy các thuộc trong lớp được kích hoạt tại điểm bạn nhắp chuột</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation type="unfinished">Để chọn đối tượng, bạn phải chọn một lớp kích hoạt bằng cách nhắp chuột vào tên nó trong phần chú giải</translation>
+        <translation type="obsolete">Để chọn đối tượng, bạn phải chọn một lớp kích hoạt bằng cách nhắp chuột vào tên nó trong phần chú giải</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1037,127 +1063,127 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation type="unfinished">Điểm mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation type="unfinished">Đỉnh (vertex) mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation type="unfinished">Quay ngược lại điểm cuối</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation type="unfinished">Khép kín đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation type="unfinished">Chọn đỉnh (vertex)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation type="unfinished">Chọn vị trí mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation type="unfinished">Chọn đoạn của đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation type="unfinished">Vị trí đỉnh (vertex) mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation type="unfinished">Thả</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation type="unfinished">Xóa đỉnh (vertex)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation type="unfinished">Thả đỉnh (vertex)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation type="unfinished">Chọn yếu tố</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation type="unfinished">Vị trí mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation type="unfinished">&quot;Thả&quot; phần được chọn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation type="unfinished">Xóa phần đã chọn/chọn mục tiếp theo</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation type="unfinished">Chọn vị trí trên đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation type="unfinished">Ngắt đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation type="unfinished">Thả đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation type="unfinished">Chọn điểm trên đường</translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1183,12 +1209,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1233,12 +1259,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1253,32 +1279,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1308,82 +1334,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Lớp không chỉnh sửa được</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Lỗi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished">bộ Anh</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">độ</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished">không biết</translation>
     </message>
@@ -1433,279 +1642,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">Lớp không chỉnh sửa được</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">Lỗi</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">Số hàng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">Point</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">CSDL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">Bảng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1725,52 +1884,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1783,22 +1942,22 @@
         <translation type="obsolete">Các lớp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>Phiên bản </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>với hỗ trợ PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(không có hỗ trợ PostgreSQL)</translation>
     </message>
@@ -1813,12 +1972,12 @@
         <translation type="obsolete">Sourceforge Projekt Seite: http://sourceforge.net/projects/qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>Phiên bản</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>Các Plugin Trình cung cấp dữ liệu hiện có</translation>
     </message>
@@ -1828,12 +1987,12 @@
         <translation type="obsolete">Eine oder mehrere Ebenen zum Hinzufügen wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>không phải là nguồn dữ liệu hợp lệ hoặc không nhận diện được</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>Nguồn Dữ liệu Không hợp lệ</translation>
     </message>
@@ -1873,114 +2032,114 @@
         <translation type="obsolete">Karte gespeichert als:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>Không có lớp nào được chọn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>Để mở một bảng thuộc tính, bạn phải chọn một lớp trong phần chú giải</translation>
+        <translation type="obsolete">Để mở một bảng thuộc tính, bạn phải chọn một lớp trong phần chú giải</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>Không có plugin MapLayer (Lớp Bản đồ)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>Không có plugin MapLayer (lớp bản đồ) trong ../plugins/maplayer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>Không có các plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>Không tìm thấy các plugin trong ../plugins. Để kiểm tra plugin, khởi động qgis từ thư mục src</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>Tên</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>Plugin %1 được đặt tên là %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>Thông tin về plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis đã nạp plugin sau:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>Tên: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>Phiên bản: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>Mô tả: %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>Không thể nạp plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS không thể nạp plugin từ : %1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>Đã có phiên bản mới của QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>Bạn đang dùng phiên bản QGIS &quot;phát triển&quot;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>Bạn đang dùng phiên bản QGIS hiện tại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>Bạn có muốn biết thêm thông tin không?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>Thông tin về phiên bản QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>Có</translation>
+        <translation type="obsolete">Có</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>Không</translation>
+        <translation type="obsolete">Không</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -1988,17 +2147,17 @@
         <translation type="obsolete">QGIS - Änderungen im CVS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>Không thể lấy thông tin về phiên bản hiện tại từ Server</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>Liên kết bị từ chối - server có thể bị hỏng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>Không tìm thấy server của QGIS</translation>
     </message>
@@ -2028,22 +2187,22 @@
         <translation type="obsolete">Đang nạp các Plugins...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>Lớp không hợp lệ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1 là một lớp không hợp lệ và không thể nạp được.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>Lỗi đang nạp plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>Có lỗi khi đang nạp %1.</translation>
     </message>
@@ -2053,7 +2212,7 @@
         <translation type="obsolete">Öffne Dateidialog</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>Lưu ảnh bản đồ vào</translation>
     </message>
@@ -2063,12 +2222,12 @@
         <translation type="obsolete">QGIS - Những thay đổi trong CVS từ bản phát hành trước</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Chọn tên tập tin để lưu ảnh bản đồ thành</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>Phạm vi:</translation>
     </message>
@@ -2078,82 +2237,82 @@
         <translation type="obsolete">Web Page: http://qgis.org</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>Trục trặc khi đang xóa các đối tượng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>Có trục trặc xảy ra trong khi xóa các đối tượng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>Không có lớp vector nào được chọn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Việc xóa các đối tượng chỉ áp dụng được đối với các lớp bản đồ vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Để xóa các đối tượng, bạn phải chọn một lớp vector trong phần chú giải</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS được đăng ký dưới Giấy phép Công cộng chung GNU</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Chú giải bản đồ hiển thị tất cả các lớp hiện có trên khung bản đồ. Nhắp chuột vào ô đánh dấu để bật/tắt một lớp. Nhắp chuột đúp vào một lớp trong phần chú giải để tùy chỉnh &quot;diện mạo&quot; của nó và thiết lập các tính chất khác.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Khung nhìn bản đồ tổng quát (canvas). Khung nhìn này có thể được dùng để trình bày một vị trí bản đồ giúp thể hiện phạm vi hiện hành của khung bản đồ. Phạm vi hiện hành được thể hiện dưới dạng hình chữ nhật màu đỏ. Bất kỳ lớp nào trên bản đồ cũng có thể được thêm vào khung nhìn bản đồ tổng quát.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Khung bản đồ. Đây là vùng các lớp raster và vector được trình bày khi được thêm vào bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>&amp;Các Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Thanh tiến trình cho biết trạng thái đang vẽ lại (render) các lớp và trạng thái của các lệnh mất nhiều thời gian khác</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>Hiển thị tỷ lệ bản đồ hiện hành</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>Hiện tọa độ bản đồ tại vị trí hiện tại của con trỏ. Thông tin liên tục được cập nhật khi chuột di chuyển.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>Vẽ lại (Render)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Khi được đánh dấu, các lớp bản đồ được vẽ lại (render) tương ứng với các lệnh di chuyển bản đồ cũng như các lệnh (event) khác. Khi không đánh dấu, việc vẽ lại không được thực hiện. Điều này cho phép bạn thêm một số lượng lớn các lớp và trình bày (symbolize) chúng trước khi vẽ lại.</translation>
     </message>
@@ -2278,32 +2437,32 @@
         <translation type="obsolete">QGIS Dateien (*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>Hãy chọn một tập tin dự án QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>Không thể lưu dự án</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>Không thể lưu dự án vào</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>Bật/tắt vẽ lại (render) bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Biểu tượng này cho biết chế độ chuyển đổi phép chiếu khi đang nạp bản đồ bật hay tắt. Nhắp chuột vào biểu tượng này sẽ mở hộp thoại thuộc tính phép chiếu để thay đổi &quot;tập tính&quot; này.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>Trạng thái phép chiếu - Nhắp chuột để mở hộp thoại phép chiếu</translation>
     </message>
@@ -2313,9 +2472,9 @@
         <translation type="obsolete">Phép chiếu khi đang nạp hỗ trợ việc chuyển đổi phép chiếu của các lớp từ những hệ tọa độ khác nhau</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">Map Composer (Trình biên tập Bản đồ) để tạo trình bày bản đồ</translation>
+        <translation>Map Composer (Trình biên tập Bản đồ) để tạo trình bày bản đồ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -2383,32 +2542,32 @@
         <translation type="obsolete">Các cải tiến đối với công cụ xuất ra Mapserver</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>Mở một lớp vector được OGR hỗ trợ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>Lỗi đọc tập tin dự án QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>Cố gắng tìm các lớp bị mất?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Mở một nguồn dữ liệu raster được GDAL hỗ trợ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>Lưu thành</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>Chọn mở một tập tin dự án QGIS</translation>
     </message>
@@ -2423,23 +2582,23 @@
         <translation type="obsolete">Tập tin dự án bạn nhập đã có. Bạn có muốn ghi đè nó bằng tập tin mới?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>Lưu dự án vào:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>Chọn trình Duyệt QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>Nhập tên trình duyệt web bạn muốn dùng (ví dụ konqueror).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>Nhập đường dẫn đầy đủ nếu trình duyệt không nằm trong PATH (đường dẫn) của bạn.</translation>
@@ -2450,975 +2609,1125 @@
         <translation type="obsolete">Sau này bạn có thể thay đổi tùy chọn này bằng các chọn mục &quot;Ưa thích&quot; trong menu Thiết lập.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation type="unfinished">&amp;Dự án mới</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation type="unfinished">Dự án mới</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation type="unfinished">&amp;Lưu dự án</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">Lưu Dự án</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation type="unfinished">Lưu dự án &amp;thành...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation type="unfinished">&amp;In...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation type="unfinished">In</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation type="unfinished">Thoát</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation type="unfinished">Thêm một lớp vector</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation type="unfinished">Thêm một lớp raster</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation type="unfinished">Thêm một lớp PostGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished">B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation type="unfinished">Đóng lớp đang được chọn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation type="unfinished">Thêm tất cả vào vùng nhìn tổng quát</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation type="unfinished">Loại bỏ tất cả khỏi vùng nhìn tổng quát</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation type="unfinished">Hiển thị tất cả các lớp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation type="unfinished">Hiển thị tất cả các lớp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation type="unfinished">Ẩn đi tất cả các lớp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation type="unfinished">Trang chủ của QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation type="unfinished">Nói về</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation type="unfinished">Làm tươi lại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation type="unfinished">Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation type="unfinished">Thu nhỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished">T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation type="unfinished">Bắt điểm</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation type="unfinished">&quot;Bắt&quot; đường</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation type="unfinished">&quot;Bắt&quot; vùng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation type="unfinished">&amp;Tập tin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation type="unfinished">&amp;Vùng nhìn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation type="unfinished">&amp;Lớp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation type="unfinished">&amp;Thiết lập</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation type="unfinished">&amp;Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation type="unfinished">Datei</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation type="unfinished">Plugins</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation type="unfinished">Lỗi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">Trình cung cấp dữ liệu không hỗ trợ việc xóa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">Trình cung cấp dữ liệu không hỗ trợ việc xóa các đối tượng</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">Lớp không chỉnh sửa được</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
-        <source></source>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgisAppBase</name>
@@ -4303,7 +4612,7 @@
         <translation type="obsolete">Tạo một đánh dấu không gian địa lý mới cho phạm vi của vùng nhìn hiện tại.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4326,17 +4635,17 @@
         <translation>Về Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>Nói về</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>Phiên bản</translation>
     </message>
@@ -4346,7 +4655,7 @@
         <translation type="obsolete">Quantum GIS (qgis)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>Có gì mới</translation>
     </message>
@@ -4441,7 +4750,7 @@
         <translation type="obsolete">Peter Brewer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -4453,76 +4762,76 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>Trang chủ của QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>Ký gia nhập danh sách thư tín Người dùng QGIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>Các trình cung cấp dữ liệu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">Tên</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished">Chọn trình Duyệt QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
         <source>Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -4555,22 +4864,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">Tên</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">Bắt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -4775,7 +5084,7 @@
         <translation type="obsolete">&lt;center&gt;Chạy hành động&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4926,79 +5235,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">Ngừng chỉnh sửa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">Bạn có muốn lưu những thay đổi không?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">Lỗi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5006,42 +5315,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>Xóa thực sự?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Vâng</translation>
+        <translation type="obsolete">&amp;Vâng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>&amp;Không</translation>
+        <translation type="obsolete">&amp;Không</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>Có chắc bạn muốn xóa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>đánh dấu?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -5188,122 +5497,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>Chọn tên tập tin để lưu ảnh bản đồ thành</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>Chọn tên tập tin để lưu bản đồ thành</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>để đọc/ghi</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5497,32 +5806,32 @@
         <translation type="obsolete">Karte %d</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>Phạm vi (tính ra tỷ lệ)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>Tỷ lệ (tính ra phạm vi)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>Bản đồ %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">Vẽ lại (Render)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5608,22 +5917,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5712,37 +6021,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>Các lớp</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>Nhóm</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">Legende</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">Vẽ lại (Render)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5793,114 +6102,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>Kiểu tự tạo</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Giấy viết thư (8.5x11 inch)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Giấy Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>Kiểu chân dung</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>Kiểu phong cảnh</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5956,27 +6265,27 @@
         <translation type="obsolete">SPIT - Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation type="unfinished">Kiểm tra kết nối</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation type="unfinished">Verbindung fehlgeschlagen - Einstellungen überprüfen und erneut versuchen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5996,32 +6305,32 @@
         <translation>Thông tin kết nối</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>Máy chủ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>CSDL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>Tên người dùng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>Tên</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>Tên của liên kết mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>Mật mã</translation>
     </message>
@@ -6038,22 +6347,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>Đồng ý</translation>
+        <translation type="obsolete">Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>Hủy bỏ</translation>
+        <translation type="obsolete">Hủy bỏ</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>Trợ giúp</translation>
+        <translation type="obsolete">Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
@@ -6061,12 +6370,12 @@
         <translation>Tạo một liên kết PostGIS mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -6140,32 +6449,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>Thất bại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>chuyển đổi của</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>với lỗi:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -6173,32 +6482,32 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>Dưới trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>Trên trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>Trên phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6277,29 +6586,24 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
@@ -6324,62 +6628,62 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>Xóa Định nghĩa Phép chiếu?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>Xóa định nghĩa một phép chiếu không thể đảo ngược được. Bạn có muốn xóa nó không?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>Bỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>Mới</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>Phép chiếu tự tạo trong QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>Định nghĩa phép chiếu theo proj4 này không hợp lệ. Vui lòng chỉnh lại trước khi nhấn lưu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>Định nghĩa phép chiếu theo proj4 này không hợp lệ. Vui lòng đặt tên cho phép chiếu trước khi nhấn lưu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>Định nghĩa phép chiếu theo proj4 này không hợp lệ. Vui lòng thêm các tham số trước khi nhấn lưu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>Định nghĩa phép chiếu theo proj4 này không hợp lệ. Vui lòng thêm mệnh đề proj= trước khi nhấn nút lưu. </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>Định nghĩa ellipsoid theo proj4 này không hợp lệ. Vui lòng thêm mệnh đề ellips= trước khi nhất nút lưu.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>Định nghĩa phép chiếu theo proj4 này không hợp lệ.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>Northing (vĩ độ) và Easting (kinh độ) phải ở dạng thập phân.</translation>
     </message>
@@ -6389,20 +6693,10 @@
         <translation type="obsolete">Lỗi nội tại (phép chiếu gốc không hợp lệ)?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
@@ -6412,7 +6706,7 @@
         <translation type="obsolete">Formular1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>Tên:</translation>
     </message>
@@ -6427,12 +6721,12 @@
         <translation type="obsolete">Projektionsfamilie:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>Định nghĩa Phép chiếu Tự tạo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>Các tham số:</translation>
     </message>
@@ -6444,47 +6738,47 @@
 Parameter:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 trong 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>Mới</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>Lưu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>Xóa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>Đóng</translation>
     </message>
@@ -6499,37 +6793,37 @@
         <translation type="obsolete">Bạn có thể định nghĩa phép chiếu của riêng mình tại đây. Định nghĩa phải phù hợp với định dạng proj4 để chỉ định Hệ Tham chiếu Không gian.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>Kiểm tra</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>Chuyển đổi từ WGS84 thành phép chiếu được chọn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>Tính toán</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>Hệ tọa độ được quy chiếu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>Tọa độ địa lý/ WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>Bắc:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>Đông:</translation>
     </message>
@@ -6540,64 +6834,70 @@
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>Có chắc bạn muốn loại bỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>liên kết và tất cả các thiết lập liên quan?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>Xác nhận Xóa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>Có</translation>
+        <translation type="obsolete">Có</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>Không</translation>
+        <translation type="obsolete">Không</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>Chọn Bảng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>Bạn phải chọn một bảng để thêm một Lớp.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>Mật mã cho</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>Vui lòng nhập mật mã của bạn:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>Kết nối thất bại</translation>
     </message>
@@ -6612,90 +6912,90 @@
         <translation type="obsolete">Kết nối đến %1 trên %2 thất bại. Hoặc là CSDL bị hỏng hoặc thiết lập của bạn không đúng.%3Kiểm tra lại tên và mật mã của bạn và thử lại.%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation>Truy nhập vào liên hệ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation>dùng sql;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation>đã thất bại. CSDL cho biết:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation type="unfinished">Tên</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation type="unfinished">Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6839,7 +7139,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6852,30 +7152,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>Không có tên lớp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>Vui lòng nhập tên lớp trước khi thêm lớp đó vào bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>Không có dấu phân cách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>Vui lòng chỉ định dấu phân cách trước khi phân tách tập tin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>Chọn một tập tin văn bản được phân tách để mở</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished">Verarbeite</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6887,7 +7197,7 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>Hủy bỏ</translation>
+        <translation type="obsolete">Hủy bỏ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -6897,12 +7207,12 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>Trợ giúp về sử dụng plugin này</translation>
+        <translation type="obsolete">Trợ giúp về sử dụng plugin này</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>Mở trợ giúp Plugin Văn bản Được phân tách cột trong trình duyệt bạn đã cấu hình</translation>
+        <translation type="obsolete">Mở trợ giúp Plugin Văn bản Được phân tách cột trong trình duyệt bạn đã cấu hình</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -6912,12 +7222,12 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>Phân tách dòng header và cập nhật các danh sách trường X và Y</translation>
+        <translation type="obsolete">Phân tách dòng header và cập nhật các danh sách trường X và Y</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>Phân tách dòng header của tập tin đầu vào và làm tươi lại các trường trong các danh sách trường X-Y thả xuống. Dùng nút lệnh này để làm tươi lại các danh sách trường nếu bạn thay đổi dấu phân tách cột sau khi chọn tập tin văn bản được phân tách.</translation>
+        <translation type="obsolete">Phân tách dòng header của tập tin đầu vào và làm tươi lại các trường trong các danh sách trường X-Y thả xuống. Dùng nút lệnh này để làm tươi lại các danh sách trường nếu bạn thay đổi dấu phân tách cột sau khi chọn tập tin văn bản được phân tách.</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -6927,7 +7237,7 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>Tạo ra một lớp với các tham số đã chỉ định và thêm nó vào bản đồ. Hộp thoại vẫn mở cho phép bạn thêm các lớp bổ sung.</translation>
+        <translation type="obsolete">Tạo ra một lớp với các tham số đã chỉ định và thêm nó vào bản đồ. Hộp thoại vẫn mở cho phép bạn thêm các lớp bổ sung.</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -6937,40 +7247,40 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>Đóng hộp thoại</translation>
+        <translation type="obsolete">Đóng hộp thoại</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>Đóng hộp thoại mà không thêm gì vào bản đồ.</translation>
+        <translation type="obsolete">Đóng hộp thoại mà không thêm gì vào bản đồ.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Trường X&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>Tên của trường chứa các giá trị x</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Tên của trường chứa các giá trị x. Chọn một trường từ danh sách. Danh sách được tạo bằng cách phân tách dòng header của tập tin văn bản được phân tách cột.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt; Trường Y&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>Tên của trường chứa các giá trị y</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>Tên của trường chứa các giá trị x. Chọn một trường từ danh sách. Danh sách được tạo bằng cách phân tách dòng header của tập tin văn bản có phân cách.</translation>
     </message>
@@ -6991,117 +7301,117 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>Tên lớp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>Tên dùng hiển thị trong chú giải bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>Tên được hiển thị trong chú giải bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>Dấu phân cách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>Dấu phân tách cột dùng khi tách các trường trong tập tin văn bản. Dấu phân tách cột này có thể nhiều hơn một ký tự.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>Dấu phân tách cột dùng khi tách các trường trong tập tin văn bản. Dấu phân tách cột này có thể có chiều dài là một ký tự hay hơn.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>Lớp văn bản được phân tách cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>Tập tin văn bản được phân tách cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>Đường dẫn đầy đủ đến tập tin văn bản được phân tách cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>Đường dẫn đầy đủ đến tập tin văn bản được phân tách cột. Để phân tách đúng đắn các trường trong tập tin, dấu phân tách cột phải được định nghĩa trước khi nhập tên tập tin. Dùng nút Duyệt ở bên phải trường này để chọn tập tin đầu vào.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>Duyệt để tìm tập tin văn bản được phân tách cột cần xử lý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>Dùng nút này để duyệt đến vị trí của tập tin văn bản được phân tách cột. Nút này sẽ không dùng được cho đến khi nào một dấu phân tách cột đã được nhập vào hộp &lt;i&gt;Dấu phân tách cột&lt;/i&gt;. Khi một tập tin được chọn, các hộp thả xuống trường X và Y sẽ được xác định (populated) với các trường từ tập tin văn bản được phân tách cột.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>Thêm lớp bằng cách dùng dấu phân tách cột, tập tin và các trường x/y được chỉ định</translation>
+        <translation type="obsolete">Thêm lớp bằng cách dùng dấu phân tách cột, tập tin và các trường x/y được chỉ định</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>&amp;Phân tách</translation>
+        <translation type="obsolete">&amp;Phân tách</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>&amp;Thêm Lớp</translation>
+        <translation type="obsolete">&amp;Thêm Lớp</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>&amp;Đóng</translation>
+        <translation type="obsolete">&amp;Đóng</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>Văn bản mẫu</translation>
     </message>
@@ -7120,97 +7430,64 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>Lưu lớp thành...</translation>
+        <translation type="obsolete">Lưu lớp thành...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">Lỗi</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>Đệm các đối tượng</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -7218,57 +7495,57 @@
         <translation type="obsolete">Các thiết lập vùng đệm:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>Khoảng cách vùng đệm tính theo đơn vị bản đồ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>Tên bảng cho lớp được đệm:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>Tạo nhận diện (id) đối tượng không trùng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>công cộng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>Cột hình học (geometry):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>Nhận diện (id) tham chiếu không gian:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>Trường không trùng để dùng làm tính chất nhận diện (id):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>Thêm lớp được đệm vào bản đồ?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Đệm các đối tượng trong lớp: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7719,25 +7996,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>Các từ đã được dùng</translation>
     </message>
@@ -7752,7 +8029,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7760,17 +8037,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation type="unfinished">Trạng thái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation type="unfinished">Chỉ mục</translation>
     </message>
@@ -7984,154 +8261,154 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8139,22 +8416,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8167,7 +8444,7 @@
         <translation>Các Công cụ cho Máy định vị</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>Nạp tập tin GPX</translation>
     </message>
@@ -8186,37 +8463,37 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>Tập tin:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>Kiểu đối tượng:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>Điểm tọa độ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>Lộ trình</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>Đường đi</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>Nhập tập tin khác</translation>
     </message>
@@ -8247,27 +8524,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>Tập tin để nhập:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>Kiểu đối tượng:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>Tập tin GPX đầu ra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>Tên lớp:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>Tải từ máy định vị xuống</translation>
     </message>
@@ -8296,27 +8573,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>Điều chỉnh các thiết bị</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>Thiết bị Máy định vị:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>Tập tin đầu ra:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>Cổng:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>Tải lên Máy định vị</translation>
     </message>
@@ -8341,96 +8618,96 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>Lớp dữ liệu:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8438,12 +8715,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>Tên</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>Kiểu</translation>
     </message>
@@ -8456,34 +8733,34 @@
         <translation type="obsolete">Selektierter Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>Kiểu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>Điểm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>Đường</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>Vùng</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>Đồng ý</translation>
+        <translation type="obsolete">Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>Hủy bỏ</translation>
+        <translation type="obsolete">Hủy bỏ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -8491,17 +8768,17 @@
         <translation>Lớp vector mới</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>Thuộc tính:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>Thêm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>Cột 1</translation>
     </message>
@@ -8511,17 +8788,12 @@
         <translation type="obsolete">Mục mới</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>Loại bỏ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8529,7 +8801,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8585,27 +8857,27 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>Trình tham chiếu địa lý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>Đóng</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>Tập tin raster:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>Nhập tọa độ world</translation>
     </message>
@@ -8622,45 +8894,50 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>Các tùy chọn làm cong</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>Phương pháp lấy mẫu lại:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>Lân cận gần nhất</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>Tuyến tính</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>Khối</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>Nhập 0 để có sự trong suốt nếu cần</translation>
     </message>
@@ -8794,40 +9071,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation type="unfinished">Biểu tượng phân cấp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation type="unfinished">Chế độ:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation type="unfinished">Số nhóm:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -8837,22 +9111,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8918,77 +9192,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation type="unfinished">Làm tươi lại</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9001,12 +9275,12 @@
         <translation type="obsolete">Đỉnh (vertex) mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>Điểm mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>Tâm (centroid) mới</translation>
     </message>
@@ -9071,7 +9345,7 @@
         <translation type="obsolete">Thả</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>Xóa đỉnh (vertex)</translation>
     </message>
@@ -9096,241 +9370,241 @@
         <translation type="obsolete">Chọn điểm trên đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>Trái:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>Giữa:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">Phải:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation type="unfinished">Đường mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation type="unfinished">Ranh giới mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation type="unfinished">Di chuyển đỉnh (vertex)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation type="unfinished">Thêm đỉnh (vertex)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation type="unfinished">Ngắt đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation type="unfinished">Chỉnh sửa thuộc tính</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">Điểm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">Đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">Màu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">Chỉ mục</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9541,32 +9815,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9979,12 +10253,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>Chạy</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>Ngừng</translation>
     </message>
@@ -9994,144 +10268,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished">cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10182,7 +10426,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10190,17 +10434,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">Datei</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10208,22 +10452,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10231,42 +10475,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10274,7 +10518,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10282,7 +10526,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10290,69 +10534,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished">cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10460,7 +10704,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10485,129 +10729,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished">cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10768,162 +11012,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10931,22 +11175,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11146,39 +11390,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -11189,78 +11400,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished">Mô-đun</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">Các Công cụ của GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished">cột</translation>
     </message>
@@ -11311,17 +11517,17 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11382,32 +11588,22 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>Mẫu Plugin của QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
-        <source>Alt+C</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>Trình vẽ lưới tọa độ</translation>
     </message>
@@ -11431,17 +11627,17 @@
         <translation type="obsolete">Gốc (góc dưới trái)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>Vĩ độ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>Kinh độ:</translation>
     </message>
@@ -11458,7 +11654,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -11466,60 +11662,65 @@
         <translation type="obsolete">Kích thước ô lưới (tính theo độ)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>Theo vĩ độ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>Theo kinh độ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation type="unfinished">Điểm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation type="unfinished">Đường</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation type="unfinished">Vùng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -11534,12 +11735,12 @@
         <translation>Thất bại - không lấy được thông tin trợ giúp từ CSDL</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>Lỗi</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>Phần trợ giúp về CSDL của QGIS không được cài đặt</translation>
     </message>
@@ -11641,27 +11842,27 @@
         <translation type="obsolete">&lt;center&gt;Chạy hành động&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">Tính chất</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation type="unfinished"></translation>
     </message>
@@ -12046,95 +12247,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">&amp;Đóng</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">Chạy</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">Đầu ra</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -12240,75 +12352,65 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
-        <source>&amp;Properties</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
-        <source>&amp;Zoom to layer extent</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
-        <source>&amp;Add to overview</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
-        <source>&amp;Remove from overview</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
-        <source>&amp;Remove</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
-        <source>&amp;Make to toplevel item</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">&amp;Mở bảng thuộc tính</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
-        <source>Re&amp;name</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">Lưu thành tập tin shape...</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
-        <source>&amp;Add group</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">Không có lớp nào được chọn</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
-        <source>&amp;Expand all</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
-        <source>&amp;Collapse all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
-        <source>Show file groups</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsLegendItemBase</name>
@@ -12329,6 +12431,192 @@
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Mở bảng thuộc tính</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Lưu thành tập tin shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">Bảng thuộc tính -</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">Lưu lớp thành...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">Ngừng chỉnh sửa</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">Bạn có muốn lưu những thay đổi không?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Không</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Lỗi</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">&amp;Mở bảng thuộc tính</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">Lưu thành tập tin shape...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -12463,58 +12751,48 @@
         <translation type="obsolete">Lỗi khi quy chiếu (projecting) phạm vi vùng nhìn, bạn có thể phải phóng thủ công đến vùng mình quan tâm.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>&amp;Phóng đến phạm vi của lớp được chọn</translation>
+        <translation type="obsolete">&amp;Phóng đến phạm vi của lớp được chọn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>&amp;Loại bỏ</translation>
+        <translation type="obsolete">&amp;Loại bỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>&amp;Các đặc điểm</translation>
+        <translation type="obsolete">&amp;Các đặc điểm</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
-        <source>Toggle in Overview</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished">Không tìm thấy các thuộc tính</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -12525,180 +12803,155 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished">Datei überschreiben?</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>Xuất ra MapServer</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>Tập tin bản đồ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>Chỉ xuất thông tin của LỚp</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>Bản đồ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>Tên</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>Chiều cao</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>Chiều rộng</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>dd</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>bộ Anh</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>mét</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>dặm</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>inch</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>ki-lô-mét</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>Đơn vị</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>Kiểu ảnh</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>do người dùng định nghĩa</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -12718,88 +12971,90 @@
         <translation>Tiếp đầu ngữ gắn vào tên tập tin bản đồ, thước tỷ lệ và chú giải GIF tạo ra bằng MapFile này. Tên nên ngắn thôi.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Định nghĩa giao diện Web</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>Đầu trang</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>Chân trang</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>Mẫu</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>&amp;Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>&amp;Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">Chọn thư mục</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -12846,36 +13101,6 @@
         <source>Total</source>
         <translation type="obsolete">Tổng cộng</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
-        <source>Segments (in meters)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -12911,6 +13136,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -13018,12 +13279,12 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>Kiểm tra kết nối</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">Kết nối đến %1 thành công</translation>
     </message>
@@ -13033,7 +13294,7 @@
         <translation type="obsolete">Verbindung fehlgeschlagen - Einstellungen überprüfen und erneut versuchen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -13043,7 +13304,7 @@
 Thông tin bổ sung về lỗi:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13257,42 +13518,42 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>Dưới trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>Trên phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>Dưới phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13300,7 +13561,7 @@
 <context>
     <name>QgsNorthArrowPluginGui</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13308,99 +13569,94 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>Plugin tạo mũi tên chỉ hướng Bắc</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>Đặc điểm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>Góc</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>Nơi đặt</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>Thiết lập hướng tự động</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>Bật chức năng Mũi tên chỉ hướng Bắc</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>Trên trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>Trên phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>Dưới trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>Dưới phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>Đặt trên màn hình</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>Xem trước mũi tên chỉ hướng Bắc</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>Biểu tượng</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>Mục mới</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
-        <source>Alt+C</source>
-        <translation></translation>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13417,14 +13673,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -13437,7 +13685,7 @@
         <translation type="obsolete">Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -13447,22 +13695,22 @@
         <translation type="obsolete">firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
@@ -13477,19 +13725,19 @@
         <translation type="obsolete">Der Browser muß sich im PATH befinden oder der vollständige Pfad &lt;br&gt;muß oben angegeben werden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -13497,7 +13745,7 @@
         <translation type="obsolete">Karte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>Bán kính tìm kiếm để nhận diện các tính chất</translation>
     </message>
@@ -13524,12 +13772,12 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>Ẩn màn hình splash khi khởi động</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>&amp;Diện mạo</translation>
     </message>
@@ -13539,27 +13787,27 @@
         <translation type="obsolete">&amp;Màn hình Splash</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>&amp;Kiểu Biểu tượng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>Sắc thái</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;Ghi chú: &lt;/b&gt;Sự thay đổi sắc thái có hiệu lưu vào lần khởi động QGIS sau</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>&amp;Trình duyện Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>Mở tài liệu trợ giúp bằng</translation>
     </message>
@@ -13569,7 +13817,7 @@
         <translation type="obsolete">&lt;b&gt;Ghi chú:&lt;/b&gt; Trình duyệt phải nằm trong ĐƯỜNG DẪN hoặc bạn có thể chỉ định&lt;br&gt;đường dẫn đầy đủ ở phần trên</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>&amp;Thể hiện</translation>
     </message>
@@ -13579,22 +13827,22 @@
         <translation type="obsolete">&amp;Cập nhật trong quá trình vẽ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>Cập nhật trình bày sau khi đọc</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>Trình bày bản đồ sẽ được cập nhật (được vẽ) sau khi những tính chất này được đọc từ nguồn dữ liệu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>các đối tượng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(Thiết lập về 0 để không cập nhật trình bày cho đến khi tất cả các đối tượng đã được đọc xong)</translation>
     </message>
@@ -13640,12 +13888,12 @@
         <translation type="obsolete">&lt;b&gt;Ghi chú: &lt;/b&gt;Giá trị cao giúp các biểu tượng SVG trông mịn hơn, nhưng có thể làm chậm thể hiện</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>Vùng nhìn ban đầu</translation>
     </message>
@@ -13678,7 +13926,7 @@
         <translation type="obsolete">Phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>Thiết lập phép chiếu mặc định toàn cục ...</translation>
     </message>
@@ -13688,12 +13936,12 @@
         <translation type="obsolete">Khi một lớp được nạp không có thông tin về phép chiếu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>Nhắc khai báo phép chiếu.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>Phép chiếu mặc định sẽ được dùng.</translation>
     </message>
@@ -13703,122 +13951,122 @@
         <translation type="obsolete">Phép chiếu mặc định toàn cục dưới đây sẽ được dùng. </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation type="unfinished">Màu phép chọn:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished">Diện mạo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -13827,40 +14075,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -14025,87 +14293,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>Bảng &lt;b&gt;%1&lt;/b&gt; trong CSDL &lt;b&gt;%2&lt;/b&gt; trên máy chủ &lt;b&gt;%3&lt;/b&gt;, người dùng &lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>Kết nối thất bại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>Kết nối đến CSDL thất bại:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>Lỗi CSDL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>Thất bại trong việc lấy mẫu của các giá trị trường</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>Kết quả Truy vấn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>mệnh đề where được trả về</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>các hàng.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>Truy vấn thất bại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>Lỗi xảy ra khi thực thi truy vấn:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>Không có bản ghi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>Phép truy vấn bạn chỉ định trả về 0 bản ghi. Lớp PostgreSQL hợp lệ phải có ít nhất một đối tượng.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14246,17 +14509,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>Chọn thư mục</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>Không có Plugin</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>Không tìm thấy plugin của QGIS trong</translation>
     </message>
@@ -14357,136 +14620,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation type="unfinished">Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation type="unfinished">Thu nhỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">Tuyến tính</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished">Helmert</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">Lỗi</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -14563,13 +14831,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>Ảnh raster được điều chỉnh:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -14592,29 +14865,29 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation>Không thể truy cấp mối liên hệ</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation>Không thể truy cập</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation>mối liên hệ. Thông báo lỗi từ CSDL là:</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>Không có hỗ trợ GEOS!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
@@ -14623,12 +14896,12 @@
 Vui lòng cài đặt PostGIS có sự hỗ trợ của GEOS (http://geos.refractions.net)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -14638,195 +14911,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished">Không có cột chứa khóa (key column) thích hợp</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -14839,44 +15100,44 @@
         <translation>Các đặc điểm của phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>Đơn vị bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>Mét</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>bộ Anh</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>Độ thập phân</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -14884,22 +15145,17 @@
         <translation type="obsolete">Titel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>Tiêu đề phép chiếu mặc định</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Áp dụng</translation>
+        <translation type="obsolete">&amp;Áp dụng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
-        <source>Alt+A</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>Tổng quát</translation>
     </message>
@@ -14909,17 +15165,17 @@
         <translation type="obsolete">Các thiết lập số hóa</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>Chiều rộng của đường:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>Ngưỡng &quot;cắn điểm&quot;:</translation>
+        <translation type="obsolete">Ngưỡng &quot;cắn điểm&quot;:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>Màu của đường:</translation>
     </message>
@@ -14929,133 +15185,123 @@
         <translation type="obsolete">Độ chính xác hiển thị con trỏ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>Tự động</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>Tự động thiết lập số chữ số thập phân tại vị trí hiển thị chuột</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>Số lượng chữ số thập phân được dùng khi hiển thị vị trí con trỏ chuột được tự động thiết lập đủ để khi di chuyển con trỏ chuột một điểm ảnh sẽ tạo ra thay đổi hiển thị vị trí</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>Thủ công</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>Thiết lập số lượng chữ số thập phân để dùng cho hiển thị vị trí con trỏ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>Số lượng chữ số thập phân dùng cho tùy chọn thủ công</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>số lẻ sau dấu thập phân</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>Diện mạo của bản đồ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>Màu phép chọn:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>Tiêu đề phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>Phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>Bật chức năng quy đổi phép chiếu khi nạp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID:</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID:</translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>Trình chọn phép chiếu</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>Phép chiếu</translation>
     </message>
@@ -15070,50 +15316,80 @@
         <translation type="obsolete">Chỉ số hệ tham chiếu không gian</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>Tìm kiếm</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>Tìm</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>Tên</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>Không thiết lập</translation>
     </message>
@@ -15133,27 +15409,27 @@
         <translation type="obsolete">&amp;Entfernen</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>Trình điều khiển:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>Kích thước:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation>Các băng:</translation>
     </message>
@@ -15163,179 +15439,179 @@
         <translation type="obsolete">Projektion:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>Gốc:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>Kích thước điểm ảnh:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>Phạm vi ảnh raster:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>Vùng bị cắt:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>Vùng nhìn tổng quát tháp pyramid:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>Thống kê các băng (nếu có thu thập):</translation>
+        <translation type="obsolete">Thống kê các băng (nếu có thu thập):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>Đặc điểm</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>Giá trị</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>Băng</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>Băng số</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>Không thống kê</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>Thống kê chưa được thu thập</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>Trị nhỏ nhất</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>Trị lớn nhất</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>Ranh giới</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>Trung bình</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>Tổng các hình vuông</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>Độ lệch chuẩn</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>Tổng tất cả các ô</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>Đếm ô</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>Quyền ghi bị từ chối</translation>
+        <translation type="obsolete">Quyền ghi bị từ chối</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>Quyền ghi bị từ chối. Điều chỉnh quyền hạn đối với tập tin và thử lại.</translation>
+        <translation type="obsolete">Quyền ghi bị từ chối. Điều chỉnh quyền hạn đối với tập tin và thử lại.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>Kiểu dữ liệu:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - Số nguyên không đăng ký 8 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - Số nguyên không đăng ký 16 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - Số nguyên có đăng ký 16 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - Số nguyên không đăng ký 32 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - Số nguyên có đăng ký 32 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - Dấu chấm động 32 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - Dấu chấm động 64 bit</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>Không thể xác định kiểu dữ liệu raster.</translation>
     </message>
@@ -15350,67 +15626,67 @@
         <translation type="obsolete">&amp;Anzeigen in der Übersicht</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;Độ trong suốt&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;Độ trong suốt&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation>Trung bình Magphase</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>Trung bình</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>Hệ tham chiếu không gian của lớp:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>Hệ tham chiếu không gian của dự án:</translation>
+        <translation type="obsolete">Hệ tham chiếu không gian của dự án:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>nằm ngoài phạm vi</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>Null (không có dữ liệu)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>Xây dựng tháp pyramid thất bại.</translation>
+        <translation type="obsolete">Xây dựng tháp pyramid thất bại.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>Tập tin không ghi được. Một số định dạng không thể ghi được, chỉ đọc được. Bạn cũng có thể thử kiểm tra các quyền trên tập tin và thử lại.</translation>
+        <translation type="obsolete">Tập tin không ghi được. Một số định dạng không thể ghi được, chỉ đọc được. Bạn cũng có thể thử kiểm tra các quyền trên tập tin và thử lại.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>Xây dựng vùng nhìn tổng quát tháp pyramid không được hỗ trợ đối với kiểu ảnh raster này. </translation>
+        <translation type="obsolete">Xây dựng vùng nhìn tổng quát tháp pyramid không được hỗ trợ đối với kiểu ảnh raster này. </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15433,32 +15709,32 @@
         <translation type="obsolete">Không có dữ liệu:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Ghi chú ảnh nhiều băng&lt;/h3&gt;&lt;p&gt;Đây là ảnh nhiều băng. Bạn có thể chọn để render nó thành thang xám hoặc ảnh màu (RGB). Với ảnh màu, bạn có thể liên hệ các băng đến các màu một cách tùy ý. Ví dụ, nếu bạn có ảnh landsat 7 băng, bạn có thể chọn render nó thành:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Xanh nhìn thấy được (0.45 đến 0.52 micromet) - không lên bản đồ&lt;/li&gt;&lt;li&gt;Lục nhìn thấy được (0.52 đến 0.60 microme1t) - không lên bản đồ&lt;/li&gt;&lt;/li&gt;Đỏ nhìn thấy được (0.63 đến 0.69 micromet) - lên bản đồ thành màu đỏ&lt;/li&gt;&lt;li&gt;Gần Hồng ngoại (0.76 đến 0.90 micromet) - lên thành màu lục trong ảnh&lt;/li&gt;&lt;li&gt;Giữa Hồng ngoại (1.55 đến 1.75 micromet) - không lên bản đồ&lt;/li&gt;&lt;li&gt;Hồng ngoại nhiệt (10.4 đến 12.5 micromet) - không lên bản đồ&lt;/li&gt;&lt;li&gt;Giữa Hồng ngoại (2.08 đến 2.35 micromet) - lên bản đồ thành màu xanh trong ảnh&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;Ghi chú về ảnh có bảng màu&lt;/h3&gt; &lt;p&gt;Ảnh này dùng bảng màu cố định. Bạn có thể lập lại bản đồ những màu này thành các tổ hợp khác.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Đỏ - xanh trong ảnh&lt;/li&gt;&lt;li&gt;Lục - xanh trong ảnh&lt;/li&gt;&lt;li&gt;Xanh - lục trong ảnh&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Các ghi chú ảnh thang xám&lt;/h3&gt; &lt;p&gt;Bạn có thể lập bản đồ lại các màu thang xám này thành một ảnh giả ảnh màu bằng cách dùng ramp tạo màu tự động.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>Thang màu xám</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>Màu giả</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>Freak Out</translation>
     </message>
@@ -15473,35 +15749,62 @@
         <translation type="obsolete">Hàng:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>Bảng màu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation type="unfinished">Không thiết lập</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">Quyền ghi bị từ chối</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">Quyền ghi bị từ chối. Điều chỉnh quyền hạn đối với tập tin và thử lại.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">Xây dựng tháp pyramid thất bại.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">Tập tin không ghi được. Một số định dạng không thể ghi được, chỉ đọc được. Bạn cũng có thể thử kiểm tra các quyền trên tập tin và thử lại.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">Xây dựng vùng nhìn tổng quát tháp pyramid không được hỗ trợ đối với kiểu ảnh raster này. </translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -15513,50 +15816,50 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>&amp;Áp dụng</translation>
+        <translation type="obsolete">&amp;Áp dụng</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>&amp;Trợ giúp</translation>
+        <translation type="obsolete">&amp;Trợ giúp</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>Tổng quát</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>Nguồn lớp:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>Tên trình bày:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>Chú giải:</translation>
     </message>
@@ -15576,12 +15879,12 @@
         <translation type="obsolete">&lt;p align=&quot;right&quot;&gt;Zeilen: &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>Không có dữ liệu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>Biểu tượng</translation>
     </message>
@@ -15591,27 +15894,27 @@
         <translation type="obsolete">Diện mạo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>Độ trong suốt:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Toàn bộ&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>Không có</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>Đảo ngược bản đồ màu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -15621,27 +15924,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>Băng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>Màu</translation>
     </message>
@@ -15651,17 +15954,17 @@
         <translation type="obsolete">Thang màu xám</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>Xám</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>Độ lệch chuẩn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>Bản đồ màu</translation>
     </message>
@@ -15722,7 +16025,7 @@
         <translation type="obsolete">Statistik</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>Metadata</translation>
     </message>
@@ -15737,12 +16040,12 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>Tháp pyramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>Phương pháp lấy mẫu lại</translation>
     </message>
@@ -15752,17 +16055,17 @@
         <translation type="obsolete">Trung bình Magphase</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>Trung bình</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>Lân cận gần nhất</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>Xây dựng tháp pyramid</translation>
     </message>
@@ -15781,27 +16084,27 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>Độ phân giải tháp pyramid</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>Ảnh thu nhỏ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>Cột:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>Hàng:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>Bảng màu:</translation>
     </message>
@@ -15842,22 +16145,22 @@
         <translation type="obsolete">Dùng phép vẽ lại (render) dựa vào tỷ lệ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>Trị lớn nhất 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>Tỷ lệ lớn nhất mà ở mức đó lớp sẽ được trình bày.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>Trị nhỏ nhất 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>Tỷ lệ nhỏ nhất mà ở mức đó lớp này sẽ được hiển thị.</translation>
     </message>
@@ -15876,37 +16179,37 @@
 &lt;/body&gt;&lt;/html&gt;(new line)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>Biểu đồ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>Các tùy chọn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>Nằm ngoài ranh giới Chấp nhận?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>Cho phép ước lượng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>Kiểu đồ thị</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>Biểu đồ Cột</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>Biểu đồ đường</translation>
     </message>
@@ -15916,17 +16219,17 @@
         <translation type="obsolete">Ranh giới X:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>Làm tươi lại</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>Hệ Tham chiếu Không gian</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>Thay đổi</translation>
     </message>
@@ -15947,22 +16250,22 @@
 &lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -15970,19 +16273,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -15990,36 +16303,26 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
-        <source>Column Count:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>Không thể chạy lệnh</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>Không thể chạy lệnh này</translation>
+        <translation type="obsolete">Không thể chạy lệnh này</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>Đang bắt đầu</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>Xong</translation>
     </message>
@@ -16027,107 +16330,107 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>mét/km</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>bộ Anh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>độ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>bộ Anh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>độ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>không biết</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>Trên trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>Dưới trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>Trên phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>Dưới phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>Hướng xuống</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>Hướng lên</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>Thanh</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>Hộp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16135,31 +16438,21 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>Plugin Thước tỷ lệ</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
-        <source>Alt+C</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="" line="7"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
 &lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:17pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
@@ -16173,27 +16466,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>Trên trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>Trên phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>Dưới trái</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>Dưới phải</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>Kích thước của thước tỷ lệ:</translation>
     </message>
@@ -16203,62 +16496,62 @@
         <translation type="obsolete">Chọn màu</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>Nơi đặt:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>Hướng xuống</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>Hướng lên</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>Hộp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>Thước tỷ lệ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>Chọn kiểu của thước tỷ lệ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>Màu của thước:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>Kiểu thước tỷ lệ:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>Bật thước tỷ lệ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>Tự động làm tròn số khi thay đổi kích thước</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16279,124 +16572,109 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation type="unfinished">Không có bản ghi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Có chắc bạn muốn loại bỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">liên kết và tất cả các thiết lập liên quan?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16522,17 +16800,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -16687,298 +16965,303 @@
         <translation type="unfinished">Biểu tượng đơn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation type="unfinished">Kiểu tô màu:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation type="unfinished">Chiều rộng đường viền:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation type="unfinished">Màu tô:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation type="unfinished">Màu đường viền:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation type="unfinished">Kiểu đường viền:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation type="unfinished">Điểm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation type="unfinished">Kích thước</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation type="unfinished">Biểu tượng</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation type="unfinished">Nhãn:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>Bạn có chắc bạn muốn loại bỏ [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>] kết nối và tất cả các thiết lập liên quan?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>Xác nhận xóa</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>Có</translation>
+        <translation type="obsolete">Có</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>Không</translation>
+        <translation type="obsolete">Không</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation>- Chỉnh sửa tên cột</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
         <translation>(Các) tập tin shape sau không thể nạp được:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>LÝ DO: không thể mở tập tin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>LÝ DO: một hoặc cả hai tập tin shape (*.dbf, *.shx) bị mất</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation>Trợ giúp Giao diện tổng quát:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>Các kết nối PostgreSQL:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[Mới...] - tạo một kết nối mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[Chỉnh sửa ...] - chỉnh sửa kết nối đang được chọn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[Loại bỏ] - loại bỏ kết nối đang được chọn</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation>- bạn cần chọn một kết nối có hoạt động (kết nối đúng) để nhập các tập tin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation>-khi thay đổi các kết nối, Schema Toàn cục cũng thay đổi tương ứng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation>Danh sách tập tin shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation>[Thêm ...] - mở hộp thoại Tập tin và duyệt đến (các) tập tin cần nhập</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation>[Loại bỏ] - loại bỏ (các) tập tin hiện đang được chọn ra khỏi danh sách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation>[Loại bỏ tất cả]  - loại bỏ tất cả các tập tin trong danh sách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation>[SRID] - Tham chiếu nhận diện (ID) cho các tập tin shape cần nhập</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation>[Dùng mặc định (SRID)] - thiết lập SRID thành -1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation>[Tên cột Hình học] - Tên của cột hình học trong CSDL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation>[Dùng mặc định (Tên Cột hình học)] - thiết lập tên cột thành &apos;cột_hh&apos;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation>[Schema Toàn cục] - thiết lập schema cho tất cả các tập tin cần nhập vào</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation>[Nhập] - nhập các tập tin shape hiện tại trong danh sách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation>[Thoát] - thoát khỏi chương trình</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation>[Trợ giúp] - trình bày hộp thoại trợ giúp này</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation>Nhập các tập tin shape</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation>Bạn cần phải chỉ định kết nối trước</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation>Kết nối thất bại - Kiểm tra các thiết lập và thử lại</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation>Trước tiên bạn cần phải thêm các tập tin shape vào danh sách</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>Đang nhập các tập tin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>Hủy bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation>Tiến trình</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation>Trục trặc khi chèn các đối tượng từ tập tin:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation>Tên bảng không hợp lệ.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation>Không phát hiện ra trường nào.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation>Các trường sau bị lặp:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation>Nhập các tập tin shape - mối liên hệ đã có</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation>Tập tin shape:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation>sẽ dùng [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation>] mối liên hệ cho dữ liệu của nó</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation>, là mối liên hệ đã tồn tại và có thể chứa dữ liệu.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation>Để tránh mất dữ liệu thay đổi &quot;Tên Mối liên hệ CSDL&quot;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation>cho tập tin shape này trong danh sách tập tin của hộp thoại chính.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation>Bạn có muốn ghi đè liên hệ [</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation>] ?</translation>
     </message>
@@ -16988,7 +17271,7 @@
         <translation type="obsolete">Mối liên hệ đã tồn tại</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation>Dùng bảng dưới đây để chỉnh sửa tên các cột. Đảm bảo rằng không có cột nào được đặt tên có các từ đặc biệt ProgreSQL đã dùng</translation>
     </message>
@@ -17003,67 +17286,67 @@
         <translation type="obsolete">Thông điệp trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation type="unfinished">Tên tập tin</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation type="unfinished">Nhóm đối tượng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished">Tên mối liên hệ CSDL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished">Schema</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17071,17 +17354,17 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Shapefile in PostGIS Import Tool</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>Các kết nối PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>Loại bỏ</translation>
     </message>
@@ -17103,7 +17386,7 @@
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>Nhập</translation>
+        <translation type="obsolete">Nhập</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17113,10 +17396,10 @@
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>Trợ giúp</translation>
+        <translation type="obsolete">Trợ giúp</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Danh sách tập tin shape</translation>
     </message>
@@ -17151,12 +17434,12 @@
         <translation type="obsolete">Standard verwenden</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>Tên cột hình học</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation>SRID</translation>
     </message>
@@ -17166,97 +17449,97 @@
         <translation type="obsolete">Hinzufügen ...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>Loại bỏ tất cả</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation>Schema Toàn cục</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Shapefile in PostGIS Import Tool</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>Nhập các tập tin shape đã được định nghĩa vào PostGIS</translation>
+        <translation type="obsolete">Nhập các tập tin shape đã được định nghĩa vào PostGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>Đóng</translation>
+        <translation type="obsolete">Đóng</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>Thêm</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>Thêm một tập tin shape vào danh sách các tập tin cần nhập</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>Loại bỏ tập tin shape được chọn khỏi danh sách nhập</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>Loại bỏ tất cả các tập tin shape khỏi danh sách nhập</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation>Dùng SRID mặc định</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation>Thiết lập SRID thành giá trị mặc định</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>Dùng tên cột Hình học mặc định</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>Thiết lập tên cột hình học thành giá trị mặc định</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>Mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>Tạo một liên kết PostGIS mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>Loại bỏ liên kết PostGIS hiện tại</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>Kết nối</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>Chỉnh sửa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>Chỉnh sửa kết nối PostGIS hiện tại</translation>
     </message>
@@ -17274,7 +17557,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17318,15 +17601,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation type="unfinished">Mẫu 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -17341,9 +17634,9 @@
         <translation type="obsolete">Không tìm thấy các thuộc trong lớp được kích hoạt tại điểm bạn nhắp chuột</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>Bảng thuộc tính -</translation>
+        <translation type="obsolete">Bảng thuộc tính -</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17351,9 +17644,9 @@
         <translation type="obsolete">&amp;Auf Größe der ausgewählten Ebene zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>&amp;Mở bảng thuộc tính</translation>
+        <translation type="obsolete">&amp;Mở bảng thuộc tính</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17381,29 +17674,29 @@
         <translation type="obsolete">Bắt đầu chỉnh sửa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>Ngừng chỉnh sửa</translation>
+        <translation type="obsolete">Ngừng chỉnh sửa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>Lưu thành tập tin shape...</translation>
+        <translation type="obsolete">Lưu thành tập tin shape...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>Trình cung cấp dữ liệu không hỗ trợ việc xóa</translation>
+        <translation type="obsolete">Trình cung cấp dữ liệu không hỗ trợ việc xóa</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>Trình cung cấp dữ liệu không hỗ trợ việc xóa các đối tượng</translation>
+        <translation type="obsolete">Trình cung cấp dữ liệu không hỗ trợ việc xóa các đối tượng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>Lớp không chỉnh sửa được</translation>
+        <translation type="obsolete">Lớp không chỉnh sửa được</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17416,130 +17709,70 @@
         <translation type="obsolete">Hành động</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>Bạn có muốn lưu những thay đổi không?</translation>
+        <translation type="obsolete">Bạn có muốn lưu những thay đổi không?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>&amp;Có</translation>
+        <translation type="obsolete">&amp;Có</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>&amp;Không</translation>
+        <translation type="obsolete">&amp;Không</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
-        <source>Invert Selection...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation type="unfinished">Bỏ</translation>
+        <translation type="obsolete">Bỏ</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
-        <source>Allow Editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
-        <source>Layer cannot be added to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
-        <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
-        <source>Start editing failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
-        <source>Provider cannot be opened for editing</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation type="unfinished">Lỗi</translation>
+        <translation type="obsolete">Lỗi</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
-        <source>Could not commit changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
-        <source>Problems during roll back</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
-        <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
@@ -17559,153 +17792,153 @@
         <translation type="obsolete">Fortlaufende Farbe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation type="unfinished">Biểu tượng đơn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation type="unfinished">Biểu tượng phân cấp</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation type="unfinished">Màu liên tục</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation type="unfinished">Giá trị không trùng</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation type="unfinished">Nút này mở trình xây dựng phép truy vấn PostgreSQL và cho phép bạn tạo một tập hợp con các tính chất để trình bày trên khung bản đồ chứ không trình bày tất cả các tính chất trong lớp đó</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation type="unfinished">Phép truy vấn được dùng để giới hạn các tính chất trong lớp được hiển thị ở đây. Lệnh này hiện tại chỉ được hỗ trợ cho các lớp PostgreSQL. Để nhập hoặc thay đổi phép truy vấn, nhắp chuột vào nút Trình tạo Truy vấn</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation type="unfinished">Chỉ mục Không gian</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation type="unfinished">Tạo chỉ mục không gian thành công</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation type="unfinished">Tạo chỉ mục không gian thất bại</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation type="unfinished">Tổng quát:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation type="unfinished">Kiểu hình học của các đối tượng trong lớp này:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation type="unfinished">Số lượng đối tượng trong lớp này:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation type="unfinished">Phạm vi:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation type="unfinished">Đơn vị hệ tham chiếu không gian trong lớp:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation type="unfinished">Đơn vị hệ tham chiếu không gian trong dự án:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation type="unfinished">Hệ tham chiếu không gian của lớp:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation type="unfinished">Hệ tham chiếu không gian của dự án (đầu ra):</translation>
+        <translation type="obsolete">Hệ tham chiếu không gian của dự án (đầu ra):</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation type="unfinished">Thông tin trường thuộc tính:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -17717,7 +17950,7 @@
         <translation>Các đặc điểm của Lớp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>Kiểu chú giải:</translation>
     </message>
@@ -17729,7 +17962,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>Trợ giúp</translation>
+        <translation type="obsolete">Trợ giúp</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17744,12 +17977,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>Đồng ý</translation>
+        <translation type="obsolete">Đồng ý</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>Hủy bỏ</translation>
+        <translation type="obsolete">Hủy bỏ</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -17757,127 +17990,122 @@
         <translation type="obsolete">Nhãn chữ 2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
-        <source>Apply</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation type="unfinished">Độ trong suốt:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation type="unfinished">Tên hiển thị</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation type="unfinished">Trường hiển thị dùng cho hộp thoại Nhận diện Kết quả</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation type="unfinished">Mục này thiết lập trường hiển thị cho hộp thoại Nhận diện kết quả</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation type="unfinished">Trường hiển thị</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation type="unfinished">Dùng kiểm soát này để thiết lập trường được đặt ở mức trên cùng của hộp thoại Nhận diện Kết quả.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation type="unfinished">Dùng phép vẽ lại (render) dựa vào tỷ lệ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation type="unfinished">Trị lớn nhất 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation type="unfinished">Trị nhỏ nhất 1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation type="unfinished">Chỉ mục Không gian</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation type="unfinished">Tạo Chỉ mục Không gian</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation type="unfinished">Tạo</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation type="unfinished">Thay đổi</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation type="unfinished">Trình tạo Truy vấn</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation type="unfinished">Metadata</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation type="unfinished">Các nhãn hiển thị</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation type="unfinished">Các Hành động</translation>
     </message>
@@ -17933,7 +18161,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17941,30 +18169,20 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">Có chắc bạn muốn loại bỏ</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">liên kết và tất cả các thiết lập liên quan?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>Yes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
-        <source>No</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsWFSSourceSelectBase</name>
@@ -17999,57 +18217,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
-        <source>Help</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
-        <source>&amp;Add</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
-        <source>Alt+A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
-        <source>C&amp;lose</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">&amp;Mới</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">Xóa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">Chỉnh sửa</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished"></translation>
     </message>
@@ -18057,282 +18255,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation type="unfinished">Đặc điểm</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation type="unfinished">Tên</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -18351,16 +18549,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>Mẫu Plugin của QGIS</translation>
+        <translation type="obsolete">Mẫu Plugin của QGIS</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>Mẫu Plugin</translation>
+        <translation type="obsolete">Mẫu Plugin</translation>
     </message>
     <message>
         <location filename="" line="7"/>
@@ -18381,33 +18660,21 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>&amp;Đồng ý</translation>
+        <translation type="obsolete">&amp;Đồng ý</translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
-        <source>Alt+O</source>
-        <translation></translation>
-    </message>
-    <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>&amp;Hủy bỏ</translation>
+        <translation type="obsolete">&amp;Hủy bỏ</translation>
     </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
-        <source>Alt+C</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
+    <name>gpsPage</name>
+</context>
+<context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>Thay thế dòng này bằng một mô tả ngắn gọn về chức năng của plugin</translation>
     </message>

Modified: packages/qgis/branches/upstream/current/i18n/qgis_zh_CN.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qgis_zh_CN.ts	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/i18n/qgis_zh_CN.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,12 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>OGR Driver Manager</source>
         <translation>OGR管理器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1481"/>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
         <source>unable to get OGRDriverManager</source>
         <translation>无法得到OGR管理器</translation>
     </message>
@@ -24,32 +24,83 @@
 <context>
     <name>MapCoordsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
         <source>Enter map coordinates</source>
         <translation>输入地图坐标</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
         <source>X:</source>
         <translation>X:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
         <source>Y:</source>
         <translation>Y:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
         <source>&amp;OK</source>
         <translation>确定(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="83"/>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
         <source>&amp;Cancel</source>
         <translation>取消(&amp;C)</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
+    <name>Navigation</name>
+</context>
+<context>
+    <name>NavigationGui</name>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="105"/>
+        <source>...</source>
+        <translation type="obsolete">...</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="306"/>
+        <source>Stop</source>
+        <translation type="obsolete">停止</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="548"/>
+        <source>Status</source>
+        <translation type="obsolete">状态</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="631"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">确定(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="634"/>
+        <source>Alt+O</source>
+        <translation type="obsolete">Alt+O</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="641"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">取消(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/navigationgui.ui" line="644"/>
+        <source>Alt+C</source>
+        <translation type="obsolete">Alt+C</translation>
+    </message>
+</context>
+<context>
     <name>Plugin</name>
     <message>
         <location filename="" line="136055884"/>
@@ -449,7 +500,7 @@
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2854"/>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
         <source>QGis files (*.qgs)</source>
         <translation>QGis文件(*.qgs)</translation>
     </message>
@@ -459,23 +510,23 @@
         <translation type="obsolete">选择一个要打开的QGIS项目文件</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="90"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
         <source>No Data Provider Plugins</source>
         <comment>No QGIS data provider plugins found in:</comment>
         <translation>没有数据源插件</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
         <source>No vector layers can be loaded. Check your QGIS installation</source>
         <translation>没有矢量图层能够加载。请检查您的QGIS安装</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="93"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
         <source>No Data Providers</source>
         <translation>没有数据源</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsproviderregistry.cpp" line="242"/>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
         <source>No data provider plugins are available. No vector layers can be loaded</source>
         <translation>没有有效的数据源插件。不能加载矢量图层</translation>
     </message>
@@ -485,7 +536,7 @@
         <translation type="obsolete">选择一个QGIS项目文件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
         <source>Open an OGR Supported Layer</source>
         <translation>打开一个OGR支持的图层</translation>
     </message>
@@ -495,17 +546,17 @@
         <translation type="obsolete">项目文件读取错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source> at line </source>
         <translation type="unfinished">行</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1038"/>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
         <source> column </source>
         <translation type="unfinished">列</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1044"/>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
         <source> for file </source>
         <translation type="unfinished">文件</translation>
     </message>
@@ -567,177 +618,177 @@
         <translation type="obsolete">Qgis不支持一个表的主键由多个字段构成。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1278"/>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
         <source>Unable to save to file </source>
         <translation>无法保存文件</translation>
     </message>
     <message>
         <location filename="../src/core/qgssearchtreenode.cpp" line="252"/>
         <source>Regular expressions on numeric values don&apos;t make sense. Use comparison insted.</source>
-        <translation>在数值上使用正则表达式没有意义。请使用比较运算。</translation>
+        <translation type="obsolete">在数值上使用正则表达式没有意义。请使用比较运算。</translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="288"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
         <source>Referenced column wasn&apos;t found: </source>
         <translation>引用的字段未找到: </translation>
     </message>
     <message>
-        <location filename="../src/core/qgssearchtreenode.cpp" line="292"/>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
         <source>Division by zero.</source>
         <translation>被0除。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolselect.cpp" line="72"/>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
         <source>No active layer</source>
         <translation>没有激活的图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="111"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
         <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
         <translation>要识别要素,您必须在图例上单击一个图层的名称,激活该图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="142"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
         <source>Band</source>
         <translation>波段</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="324"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
         <source>action</source>
         <translation>命令</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="336"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
         <source> features found</source>
         <translation>要素被找到</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="340"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
         <source> 1 feature found</source>
         <translation> 1个要素被找到</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features found</source>
         <translation>未找到要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="345"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
         <source>No features were found in the active layer at the point you clicked</source>
         <translation>在当前激活图层的鼠标点击位置上未发现要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>Could not identify objects on</source>
         <translation type="unfinished">无法识别要素在</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="458"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
         <source>because</source>
         <translation>因为</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolselect.cpp" line="73"/>
         <source>To select features, you must choose an layer active by clicking on its name in the legend</source>
-        <translation>要选择要素,您必须在图例上单击一个图层的名称,激活该图层</translation>
+        <translation type="obsolete">要选择要素,您必须在图例上单击一个图层的名称,激活该图层</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="71"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
         <source>New centroid</source>
         <translation>新的质心</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>New point</source>
         <translation>新的点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="130"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
         <source>New vertex</source>
         <translation>新节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Undo last point</source>
         <translation>撤消最后的点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
         <source>Close line</source>
         <translation>闭合线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="539"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
         <source>Select vertex</source>
         <translation>选择节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="292"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
         <source>Select new position</source>
         <translation>选择新的位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="423"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
         <source>Select line segment</source>
         <translation>选择线的片段</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>New vertex position</source>
         <translation>新的节点位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
         <source>Release</source>
         <translation>取消</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Delete vertex</source>
         <translation>删除节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="526"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
         <source>Release vertex</source>
         <translation>取消节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="780"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
         <source>Select element</source>
         <translation>选择元素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="593"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
         <source>New location</source>
         <translation>新的区域</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Release selected</source>
         <translation>取消选中的</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="669"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
         <source>Delete selected / select next</source>
         <translation>删除选中的/选择下一个</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="732"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
         <source>Select position on line</source>
         <translation>在线上选择一个位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Split the line</source>
         <translation>分割线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="750"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
         <source>Release the line</source>
         <translation>取消线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="764"/>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
         <source>Select point on line</source>
         <translation>在线上选择一个点</translation>
     </message>
@@ -747,27 +798,27 @@
         <translation type="unfinished">标签</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="310"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
         <source>Length</source>
         <translation type="unfinished">长度</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="317"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
         <source>Area</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="173"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
         <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="231"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
         <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsproject.cpp" line="1037"/>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
         <source>Project file read error: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -777,37 +828,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
         <source>Fit to a Helmert transform requires at least 2 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="109"/>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
         <source>Fit to an affine transform requires at least 4 points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="329"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
         <source>Couldn&apos;t open the data source: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/gpsdata.cpp" line="351"/>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
         <source>Parse error at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="59"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
         <source>GPS eXchange format provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="308"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="393"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -833,12 +884,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
         <source>CopyrightLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
         <source>Draws copyright information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -883,12 +934,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
         <source>GRASS</source>
         <translation type="unfinished">GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="849"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -903,32 +954,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
         <source>NorthArrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="58"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
         <source>Displays a north arrow overlayed onto the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="56"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
         <source>[menuitemname]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="57"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
         <source>[plugindescription]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="62"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
         <source>ScaleBar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="63"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
         <source>Draws a scale bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -958,82 +1009,265 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="631"/>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished">不能添加图层</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished">该图层的数据源不支持要素的添加。</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">图层不可编辑</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
         <source> km2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="636"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
         <source> ha</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="641"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
         <source> m2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="669"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
         <source> m</source>
         <translation type="unfinished">米</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="654"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
         <source> km</source>
         <translation type="unfinished">千米</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="659"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
         <source> mm</source>
         <translation type="unfinished">毫米</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="664"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
         <source> cm</source>
         <translation type="unfinished">厘米</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="678"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
         <source> sq mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="683"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
         <source> sq ft</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="690"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
         <source> mile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="696"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
         <source> foot</source>
         <translation type="unfinished">英尺</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="698"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
         <source> feet</source>
         <translation type="unfinished">英尺</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="705"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
         <source> sq.deg.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="710"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
         <source> degree</source>
         <translation type="unfinished">度</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="712"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
         <source> degrees</source>
         <translation type="unfinished">度</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
         <source> unknown</source>
         <translation type="unfinished">未知</translation>
     </message>
@@ -1083,279 +1317,229 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>Not a vector layer</source>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="398"/>
-        <source>The current layer is not a vector layer</source>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="412"/>
-        <source>Layer not editable</source>
-        <translation type="unfinished">图层不可编辑</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="88"/>
-        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Wrong editing tool</source>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="101"/>
-        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="185"/>
-        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolcapture.cpp" line="193"/>
-        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1294"/>
-        <source>Error</source>
-        <translation type="unfinished">错误</translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="404"/>
-        <source>Change geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="405"/>
-        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmaptoolvertexedit.cpp" line="413"/>
-        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>Could not open SRS database </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsspatialrefsys.cpp" line="1295"/>
-        <source>&lt;br&gt;Error(</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>Location: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="137"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
         <source>&lt;br&gt;Mapset: </source>
         <comment>Metadata in GRASS Browser</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="141"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
         <source>&lt;br&gt;Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="146"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
         <source>&lt;b&gt;Raster&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
         <source>Cannot open raster header</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
         <source>Rows</source>
         <translation type="unfinished">行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
         <source>Columns</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
         <source>N-S resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
         <source>E-W resolution</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="300"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
         <source>North</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="302"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
         <source>South</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="304"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
         <source>East</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
         <source>West</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="189"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
         <source>Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
         <source>Minimum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="201"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
         <source>Maximum value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="212"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
         <source>Data source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="217"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
         <source>Data description</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="226"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
         <source>Comments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="241"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
         <source>Categories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
         <source>&lt;b&gt;Vector&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
         <source>Points</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
         <source>Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
         <source>Boundaries</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="277"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
         <source>Centroids</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
         <source>Faces</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="281"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
         <source>Kernels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
         <source>Areas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
         <source>Islands</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
         <source>Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="310"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
         <source>Bottom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="313"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
         <source>no</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="320"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
         <source>History&lt;br&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="348"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
         <source>&lt;b&gt;Layer&lt;/b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="367"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
         <source>Features</source>
         <translation type="unfinished">要素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
         <source>Driver</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
         <source>Database</source>
         <translation type="unfinished">数据库</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
         <source>Table</source>
         <translation type="unfinished">表</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="379"/>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
         <source>Key column</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1375,52 +1559,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="428"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
         <source>Mapset is already in use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source>Temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="443"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
         <source> exist but is not writable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="449"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
         <source>Cannot create temporary directory </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="465"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
         <source>Cannot create </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="538"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
         <source>Cannot remove mapset lock: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="978"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="926"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
         <source>Cannot read raster map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="943"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
         <source>Cannot read vector map region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrass.cpp" line="979"/>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
         <source>Cannot read region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1443,7 +1627,7 @@
         <translation type="obsolete">图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="264"/>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
         <source>Quantum GIS - </source>
         <translation>Quantum GIS</translation>
     </message>
@@ -1453,27 +1637,27 @@
         <translation type="obsolete">加载插件...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1302"/>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
         <source>Version </source>
         <translation>版本 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1309"/>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
         <source> with PostgreSQL support</source>
         <translation>支持PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1312"/>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
         <source> (no PostgreSQL support)</source>
         <translation>(不支持PostgreSQL)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
         <source>Version</source>
         <translation>版本</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
         <source>Available Data Provider Plugins</source>
         <translation>有效的数据源插件</translation>
     </message>
@@ -1488,22 +1672,22 @@
         <translation type="obsolete">在QGIS lib目录下未发现OGR数据供应者</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
         <source>is not a valid or recognized data source</source>
         <translation>不是有效或可识别的数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5017"/>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
         <source>Invalid Data Source</source>
         <translation>无效的数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>Invalid Layer</source>
         <translation>无效的图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2005"/>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
         <source>%1 is an invalid layer and cannot be loaded.</source>
         <translation>%1是一个无效的图层,无法加载。</translation>
     </message>
@@ -1523,134 +1707,134 @@
         <translation type="obsolete">地图保存为:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3089"/>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
         <source>Choose a filename to save the map image as</source>
         <translation>选择一个地图影像保存的名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3134"/>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
         <source>Saved map image to</source>
         <translation>地图影像保存为</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3351"/>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
         <source>No Layer Selected</source>
         <translation>没有选中图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3325"/>
+        <location filename="../src/gui/qgisapp.cpp" line="3359"/>
         <source>To open an attribute table, you must select a layer in the legend</source>
-        <translation>要打开图层的属性表,必须在图例中选择一个图层</translation>
+        <translation type="obsolete">要打开图层的属性表,必须在图例中选择一个图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>Error Loading Plugin</source>
         <translation>加载插件出错</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3766"/>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
         <source>There was an error loading %1.</source>
         <translation>加载%1时出现错误.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer Plugins</source>
         <translation>没有MapLayer插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3808"/>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
         <source>No MapLayer plugins in ../plugins/maplayer</source>
         <translation>在../plugins/maplayer下没有MapLayer插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3906"/>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
         <source>No Plugins</source>
         <translation>没有插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3907"/>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
         <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
         <translation>在../plugins中未发现任何插件。要测试插件,请从src目录启动qgis</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3949"/>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
         <source>Plugin %1 is named %2</source>
         <translation>插件%1命名为%2</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3972"/>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
         <source>Plugin Information</source>
         <translation>插件信息</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>QGis loaded the following plugin:</source>
         <translation>QGis加载了下面的插件:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Name: %1</source>
         <translation>名称:%1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3973"/>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
         <source>Version: %1</source>
         <translation>版本:%1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Description: %1</source>
         <translation>描述:%1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3993"/>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
         <source>Unable to Load Plugin</source>
         <translation>无法加载插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3994"/>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
         <source>QGIS was unable to load the plugin from: %1</source>
         <translation>QGIS无法从%1加载插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4054"/>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
         <source>There is a new version of QGIS available</source>
         <translation>QGIS有新版本</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
         <source>You are running a development version of QGIS</source>
         <translation>您正在使用QGIS的开发版本</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4064"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>You are running the current version of QGIS</source>
         <translation>您正在使用QGIS的当前版本</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4069"/>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
         <source>Would you like more information?</source>
         <translation>您想了解更多的信息吗?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
         <source>QGIS Version Information</source>
         <translation>QGIS版本信息</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>Yes</source>
-        <translation>是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4071"/>
+        <location filename="../src/app/qgisapp.cpp" line="4154"/>
         <source>No</source>
-        <translation>否</translation>
+        <translation type="obsolete">否</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1658,17 +1842,17 @@
         <translation type="obsolete">QGIS - 在CVS中有新的变化</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4088"/>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
         <source>Unable to get current version information from server</source>
         <translation>无法从服务器得到当前版本的信息</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
         <source>Connection refused - server may be down</source>
         <translation>连接被拒绝 - 服务器可能出现故障</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4105"/>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
         <source>QGIS server was not found</source>
         <translation>未找到QGIS服务器</translation>
     </message>
@@ -1683,87 +1867,87 @@
         <translation type="obsolete">无法连接到QGIS的版本服务器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4573"/>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
         <source>Extents: </source>
         <translation>范围:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3339"/>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
         <source>Problem deleting features</source>
         <translation>删除要素出错</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3340"/>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
         <source>A problem occured during deletion of features</source>
         <translation>删除要素时发生错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3345"/>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
         <source>No Vector Layer Selected</source>
         <translation>未选中矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3346"/>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
         <source>Deleting features only works on vector layers</source>
         <translation>删除要素只对矢量图层有效</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="3352"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>要删除要素,必须在图例中选择一个矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1325"/>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
         <source>Quantum GIS is licensed under the GNU General Public License</source>
         <translation>Quantum GIS is licensed under the GNU General Public License</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1327"/>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
         <source>http://www.gnu.org/licenses</source>
         <translation>http://www.gnu.org/licenses</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1164"/>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>当前地图上显示的所有图层的图例。单击复选框显示或隐藏一个图层。在图例上双击一个图层来定制它的显示并设置其它的属性.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1135"/>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>地图鹰眼图。这个区域用来显示一个定位图,它显示了地图视图的当前范围。当前范围以红色矩形框显示。地图上的任何一个图层都能够添加到鹰眼图中.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1093"/>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>地图显示区。这是栅格和矢量图层显示的地方</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="812"/>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
         <source>&amp;Plugins</source>
         <translation>插件(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="933"/>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>进度条用来显示绘制图层的进度,以及其它一些耗时的操作的进度</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
         <source>Displays the current map scale</source>
         <translation>显示当前的地图比例</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="954"/>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
         <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
         <translation>显示当前鼠标位置的地图坐标。这一显示随着鼠标的移动连续更新.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="958"/>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
         <source>Render</source>
         <translation>着色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="961"/>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>当选中这一选项时,地图图层会在地图移动或其它一些事件中被着色。不选中它,则不会进行着色。这可以让您在着色以前添加大量的图层并对它们进行符号化.</translation>
     </message>
@@ -1828,32 +2012,32 @@
         <translation type="obsolete">QGis文件(*.qgs)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2776"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
         <source>Choose a QGIS project file</source>
         <translation>选择一个QGIS项目文件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
         <source>Unable to save project</source>
         <translation>无法保存项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2907"/>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
         <source>Unable to save project to </source>
         <translation>无法将项目保存为</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="962"/>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
         <source>Toggle map rendering</source>
         <translation>切换地图着色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="977"/>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
         <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>这个图标显示了是否启用动态投影。点击这个图标,打开项目属性对话框来改变它的设置.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="978"/>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
         <source>Projection status - Click to open projection dialog</source>
         <translation>项目状态 - 点击打开项目对话框</translation>
     </message>
@@ -1863,9 +2047,9 @@
         <translation type="obsolete">动态投影能够将不同坐标系下的图层自动投影到当前坐标系下</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1336"/>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
         <source>Map Composer for creating map layouts</source>
-        <translation type="obsolete">地图设计器用来创建地图布局</translation>
+        <translation>地图设计器用来创建地图布局</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -1933,32 +2117,32 @@
         <translation type="obsolete">Mapserver导出工具的改进</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1695"/>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
         <source>Open an OGR Supported Vector Layer</source>
         <translation>打开一个OGR支持的矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2722"/>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
         <source>QGIS Project Read Error</source>
         <translation>QGIS项目读取错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2724"/>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
         <source>Try to find missing layers?</source>
         <translation>试着寻找丢失的图层?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4901"/>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>打开一个GDAL支持的栅格数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2493"/>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
         <source>Save As</source>
         <translation>另存为</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2592"/>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
         <source>Choose a QGIS project file to open</source>
         <translation>选择一个QGIS项目文件并打开</translation>
     </message>
@@ -1973,23 +2157,23 @@
         <translation type="obsolete">项目文件已存在。您是否要覆盖它?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2899"/>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
         <source>Saved project to:</source>
         <translation>项目另存为:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4190"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>QGIS Browser Selection</source>
         <translation>选择QGIS的浏览器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4191"/>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 </source>
         <translation>输入您要使用的web浏览器的名称(例如:konqueror).</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4192"/>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
         <source>Enter the full path if the browser is not in your PATH.
 </source>
         <translation>如果浏览器不在您的PATH环境变量下,请输入完整路径.</translation>
@@ -2000,42 +2184,42 @@
         <translation type="obsolete">您可以在以后从设置菜单中选择首选项来设置这个选项.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="230"/>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
         <source>Reading settings</source>
         <translation>读取设置</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="233"/>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
         <source>Setting up the GUI</source>
         <translation>设置GUI</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="225"/>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
         <source>Checking database</source>
         <translation>检查数据库</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="282"/>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
         <source>Restoring loaded plugins</source>
         <translation>恢复加载的插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="302"/>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
         <source>Initializing file filters</source>
         <translation>初始化文件过滤器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="327"/>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
         <source>Restoring window state</source>
         <translation>恢复窗口状态</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="331"/>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
         <source>QGIS Ready!</source>
         <translation>QGIS就绪!</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="392"/>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
         <source>&amp;New Project</source>
         <translation>新建项目(&amp;N)</translation>
     </message>
@@ -2045,12 +2229,12 @@
         <translation type="obsolete">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="394"/>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
         <source>New Project</source>
         <translation>新建项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="397"/>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
         <source>&amp;Open Project...</source>
         <translation>打开项目(&amp;O)...</translation>
     </message>
@@ -2060,17 +2244,17 @@
         <translation type="obsolete">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="399"/>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
         <source>Open a Project</source>
         <translation>打开项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="402"/>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
         <source>&amp;Save Project</source>
         <translation>保存项目(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="407"/>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
         <source>Save Project &amp;As...</source>
         <translation>项目另存为(&amp;A)...</translation>
     </message>
@@ -2080,12 +2264,12 @@
         <translation type="obsolete">Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="409"/>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
         <source>Save Project under a new name</source>
         <translation>以新名称保存项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="412"/>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
         <source>&amp;Print...</source>
         <translation>打印(&amp;P)...</translation>
     </message>
@@ -2095,12 +2279,12 @@
         <translation type="obsolete">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="414"/>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
         <source>Print</source>
         <translation>打印</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="417"/>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
         <source>Save as Image...</source>
         <translation>另存为影像...</translation>
     </message>
@@ -2110,12 +2294,12 @@
         <translation type="obsolete">I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="419"/>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
         <source>Save map as image</source>
         <translation>将地图另存为影像</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="422"/>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
         <source>Export to MapServer Map...</source>
         <translation>输出为MapServer地图...</translation>
     </message>
@@ -2125,12 +2309,12 @@
         <translation type="obsolete">M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="424"/>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
         <source>Export as MapServer .map file</source>
         <translation>输出为MapServer .map文件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="427"/>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
         <source>Exit</source>
         <translation>退出</translation>
     </message>
@@ -2140,12 +2324,12 @@
         <translation type="obsolete">Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="429"/>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
         <source>Exit QGIS</source>
         <translation>退出QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="434"/>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
         <source>Add a Vector Layer...</source>
         <translation>添加一个矢量图层...</translation>
     </message>
@@ -2155,12 +2339,12 @@
         <translation type="obsolete">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="436"/>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
         <source>Add a Vector Layer</source>
         <translation>添加一个矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="439"/>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
         <source>Add a Raster Layer...</source>
         <translation>添加一个栅格图层...</translation>
     </message>
@@ -2170,12 +2354,12 @@
         <translation type="obsolete">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="441"/>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
         <source>Add a Raster Layer</source>
         <translation>添加栅格图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="444"/>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
         <source>Add a PostGIS Layer...</source>
         <translation>添加一个PostGIS图层...</translation>
     </message>
@@ -2185,12 +2369,12 @@
         <translation type="obsolete">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="446"/>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
         <source>Add a PostGIS Layer</source>
         <translation>添加PostGIS图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="456"/>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
         <source>New Vector Layer...</source>
         <translation>新的矢量图层...</translation>
     </message>
@@ -2200,12 +2384,12 @@
         <translation type="obsolete">N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="458"/>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
         <source>Create a New Vector Layer</source>
         <translation>创建一个新的矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="461"/>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
         <source>Remove Layer</source>
         <translation>移除图层</translation>
     </message>
@@ -2215,12 +2399,12 @@
         <translation type="obsolete">Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="463"/>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
         <source>Remove a Layer</source>
         <translation>移除一个图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="466"/>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
         <source>Add All To Overview</source>
         <translation>全部图层加入鹰眼图</translation>
     </message>
@@ -2230,12 +2414,12 @@
         <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="468"/>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
         <source>Show all layers in the overview map</source>
         <translation>在鹰眼图中显示所有图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="471"/>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
         <source>Remove All From Overview</source>
         <translation>移除鹰眼图内所有的图层</translation>
     </message>
@@ -2245,12 +2429,12 @@
         <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="473"/>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
         <source>Remove all layers from overview map</source>
         <translation>移除鹰眼图内所有的图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="476"/>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
         <source>Show All Layers</source>
         <translation>显示所有图层</translation>
     </message>
@@ -2260,12 +2444,12 @@
         <translation type="obsolete">S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="478"/>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
         <source>Show all layers</source>
         <translation>显示所有图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="481"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>Hide All Layers</source>
         <translation>隐藏所有图层</translation>
     </message>
@@ -2275,12 +2459,12 @@
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="483"/>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
         <source>Hide all layers</source>
         <translation>隐藏所有图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="488"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>Project Properties...</source>
         <translation>项目属性...</translation>
     </message>
@@ -2290,12 +2474,12 @@
         <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="490"/>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
         <source>Set project properties</source>
         <translation>设置项目属性</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="493"/>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
         <source>Options...</source>
         <translation>选项...</translation>
     </message>
@@ -2305,12 +2489,12 @@
         <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="495"/>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
         <source>Change various QGIS options</source>
         <translation>改变QGIS选项</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="498"/>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
         <source>Custom Projection...</source>
         <translation>自定义投影...</translation>
     </message>
@@ -2320,12 +2504,12 @@
         <translation type="obsolete">Alt+I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="500"/>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
         <source>Manage custom projections</source>
         <translation>管理自定义投影</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="505"/>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
         <source>Help Contents</source>
         <translation>帮助</translation>
     </message>
@@ -2335,12 +2519,12 @@
         <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="511"/>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
         <source>Help Documentation</source>
         <translation>帮助文档</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="514"/>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
         <source>Qgis Home Page</source>
         <translation>QGIS主页</translation>
     </message>
@@ -2350,7 +2534,7 @@
         <translation type="obsolete">Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="518"/>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
         <source>QGIS Home Page</source>
         <translation>QGIS主页</translation>
     </message>
@@ -2370,27 +2554,27 @@
         <translation type="obsolete">Visit QGIS SourceForge page</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="521"/>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
         <source>About</source>
         <translation>关于</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="522"/>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
         <source>About QGIS</source>
         <translation>关于QGIS</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="525"/>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
         <source>Check Qgis Version</source>
         <translation>检查QGIS版本</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="526"/>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>检查是否有新版本的QGIS (需要互联网接入)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="531"/>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
         <source>Refresh</source>
         <translation>刷新</translation>
     </message>
@@ -2400,12 +2584,12 @@
         <translation type="obsolete">Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="533"/>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
         <source>Refresh Map</source>
         <translation>刷新地图</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="538"/>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
         <source>Zoom In</source>
         <translation>放大</translation>
     </message>
@@ -2415,7 +2599,7 @@
         <translation type="obsolete">z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
         <source>Zoom Out</source>
         <translation>缩小</translation>
     </message>
@@ -2425,7 +2609,7 @@
         <translation type="obsolete">Z</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="546"/>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
         <source>Zoom Full</source>
         <translation>全图显示</translation>
     </message>
@@ -2435,12 +2619,12 @@
         <translation type="obsolete">f</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="548"/>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
         <source>Zoom to Full Extents</source>
         <translation>全图显示</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="551"/>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
         <source>Zoom To Selection</source>
         <translation>缩放到选中的记录</translation>
     </message>
@@ -2450,62 +2634,62 @@
         <translation type="obsolete">F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="553"/>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
         <source>Zoom to selection</source>
         <translation>缩放到选中的记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="556"/>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
         <source>Pan Map</source>
         <translation>地图漫游</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="557"/>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
         <source>Pan the map</source>
         <translation>地图漫游</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="560"/>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
         <source>Zoom Last</source>
         <translation>回到上一视图</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="562"/>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
         <source>Zoom to Last Extent</source>
         <translation>回到上一视图</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="565"/>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
         <source>Zoom To Layer</source>
         <translation>缩放到图层范围</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="567"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Zoom to Layer</source>
         <translation>缩放到图层范围</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="570"/>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
         <source>Identify Features</source>
         <translation>识别要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="572"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Click on features to identify them</source>
         <translation>点击要素进行识别</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="576"/>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
         <source>Select Features</source>
         <translation>选择要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="582"/>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
         <source>Open Table</source>
         <translation>打开表</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="586"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Measure Line </source>
         <translation>测距</translation>
     </message>
@@ -2515,12 +2699,12 @@
         <translation type="obsolete">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="588"/>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
         <source>Measure a Line</source>
         <translation>测量线的距离</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="591"/>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
         <source>Measure Area</source>
         <translation>测量面积</translation>
     </message>
@@ -2530,12 +2714,12 @@
         <translation type="obsolete">Alt+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="593"/>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
         <source>Measure an Area</source>
         <translation>测量面积</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="598"/>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
         <source>Show Bookmarks</source>
         <translation>显示书签</translation>
     </message>
@@ -2545,7 +2729,7 @@
         <translation type="obsolete">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="613"/>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
         <source>New Bookmark...</source>
         <translation>新的书签...</translation>
     </message>
@@ -2555,42 +2739,42 @@
         <translation type="obsolete">Alt+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5285"/>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
         <source>New Bookmark</source>
         <translation>新的书签</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="618"/>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
         <source>Add WMS Layer...</source>
         <translation>添加WMS图层...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="620"/>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
         <source>Add Web Mapping Server Layer</source>
         <translation>添加Web Mapping Server图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
         <source>In Overview</source>
         <translation>在鹰眼图中</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="625"/>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
         <source>Add current layer to overview map</source>
         <translation>将当前图层添加到鹰眼图中</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="630"/>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
         <source>Plugin Manager...</source>
         <translation>插件管理器...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="632"/>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
         <source>Open the plugin manager</source>
         <translation>打开插件管理器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="652"/>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
         <source>Capture Point</source>
         <translation>创建点</translation>
     </message>
@@ -2600,12 +2784,12 @@
         <translation type="obsolete">.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="654"/>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
         <source>Capture Points</source>
         <translation>创建点</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="658"/>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
         <source>Capture Line</source>
         <translation>创建线</translation>
     </message>
@@ -2615,12 +2799,12 @@
         <translation type="obsolete">/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="660"/>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
         <source>Capture Lines</source>
         <translation>创建线</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="664"/>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
         <source>Capture Polygon</source>
         <translation>创建多边形</translation>
     </message>
@@ -2630,7 +2814,7 @@
         <translation type="obsolete">Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="666"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Capture Polygons</source>
         <translation>创建多边形</translation>
     </message>
@@ -2640,122 +2824,122 @@
         <translation type="obsolete">删除选中的记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="671"/>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
         <source>Delete Selected</source>
         <translation>删除选中的记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="676"/>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
         <source>Add Vertex</source>
         <translation>增加节点</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="681"/>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
         <source>Delete Vertex</source>
         <translation>删除节点</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="686"/>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
         <source>Move Vertex</source>
         <translation>移动节点</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="745"/>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
         <source>&amp;File</source>
         <translation>文件(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="748"/>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
         <source>&amp;Open Recent Projects</source>
         <translation>打开最近的项目(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="765"/>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
         <source>&amp;View</source>
         <translation>视图(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="785"/>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
         <source>&amp;Layer</source>
         <translation>图层(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="805"/>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
         <source>&amp;Settings</source>
         <translation>设置(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="825"/>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="842"/>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
         <source>File</source>
         <translation>文件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="853"/>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
         <source>Manage Layers</source>
         <translation>管理图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="871"/>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
         <source>Help</source>
         <translation>帮助</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
         <source>Digitizing</source>
         <translation>数字化</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="894"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
         <source>Map Navigation</source>
         <translation>地图浏览</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="907"/>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
         <source>Attributes</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="919"/>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
         <source>Plugins</source>
         <translation>插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="982"/>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
         <source>Ready</source>
         <translation>就绪</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1329"/>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
         <source>New features</source>
-        <translation type="obsolete">新特性</translation>
+        <translation>新特性</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2741"/>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
         <source>Unable to open project</source>
         <translation>无法打开项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2835"/>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
         <source>Unable to save project </source>
         <translation>无法保存项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2853"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Choose a filename to save the QGIS project file as</source>
         <translation>选择一个文件名来保存QGIS项目文件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2966"/>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
         <source>QGIS: Unable to load project</source>
         <translation>QGIS: 无法加载项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2967"/>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
         <source>Unable to load project </source>
         <translation>无法加载项目</translation>
     </message>
@@ -2770,408 +2954,548 @@
         <translation type="obsolete">没有任何输出。为了输出视图,您必须在地图上至少添加一个图层。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4076"/>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
         <source>QGIS - Changes in SVN Since Last Release</source>
         <translation>QGIS - 自上次发布之后在SVN中又有更新</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5130"/>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
         <source>Layer is not valid</source>
         <translation>图层无效</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5131"/>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>该图层不是一个有效的图层,无法添加到地图中</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4395"/>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
         <source>Save?</source>
         <translation>保存?</translation>
     </message>
     <message>
-        <location filename="" line="136055884"/>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
         <source>Do you want to save the current project?</source>
-        <translation type="obsolete">您是否要保存当前的项目?</translation>
+        <translation type="unfinished">您是否要保存当前的项目?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4856"/>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
         <source>Clipboard contents set to: </source>
         <translation>剪贴板的内容设置为:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5016"/>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
         <source> is not a valid or recognized raster data source</source>
         <translation>无效或不可识别的栅格数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5205"/>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
         <source> is not a supported raster data source</source>
         <translation>不支持的栅格数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5206"/>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
         <source>Unsupported Data Source</source>
         <translation>不支持的数据源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5286"/>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
         <source>Enter a name for the new bookmark:</source>
         <translation>新书签的名称:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Error</source>
         <translation>错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
         <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
         <translation>无法创建书签。您的用户数据库丢失或损坏</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="393"/>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
         <source>Ctrl+N</source>
         <comment>New Project</comment>
         <translation type="unfinished">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="398"/>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
         <source>Ctrl+O</source>
         <comment>Open a Project</comment>
         <translation type="unfinished">Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="403"/>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
         <source>Ctrl+S</source>
         <comment>Save Project</comment>
         <translation type="unfinished">Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="404"/>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
         <source>Save Project</source>
         <translation type="unfinished">保存项目</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="408"/>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
         <source>Ctrl+A</source>
         <comment>Save Project under a new name</comment>
         <translation type="unfinished">Ctrl+A</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="413"/>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
         <source>Ctrl+P</source>
         <comment>Print</comment>
         <translation type="unfinished">Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="418"/>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
         <source>Ctrl+I</source>
         <comment>Save map as image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="423"/>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
         <source>M</source>
         <comment>Export as MapServer .map file</comment>
         <translation type="unfinished">M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="428"/>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
         <source>Ctrl+Q</source>
         <comment>Exit QGIS</comment>
         <translation type="unfinished">Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="435"/>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
         <source>V</source>
         <comment>Add a Vector Layer</comment>
         <translation type="unfinished">V</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="440"/>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
         <source>R</source>
         <comment>Add a Raster Layer</comment>
         <translation type="unfinished">R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="445"/>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
         <source>D</source>
         <comment>Add a PostGIS Layer</comment>
         <translation type="unfinished">D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="457"/>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
         <source>N</source>
         <comment>Create a New Vector Layer</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="462"/>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
         <source>Ctrl+D</source>
         <comment>Remove a Layer</comment>
         <translation type="unfinished">Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="467"/>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
         <source>+</source>
         <comment>Show all layers in the overview map</comment>
         <translation type="unfinished">+</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="472"/>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
         <source>-</source>
         <comment>Remove all layers from overview map</comment>
         <translation type="unfinished">-</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="477"/>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
         <source>S</source>
         <comment>Show all layers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="482"/>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
         <source>H</source>
         <comment>Hide all layers</comment>
         <translation type="unfinished">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="489"/>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
         <source>P</source>
         <comment>Set project properties</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="509"/>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
         <source>F1</source>
         <comment>Help Documentation</comment>
         <translation type="unfinished">F1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="516"/>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
         <source>Ctrl+H</source>
         <comment>QGIS Home Page</comment>
         <translation type="unfinished">Ctrl+H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="532"/>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
         <source>Ctrl+R</source>
         <comment>Refresh Map</comment>
         <translation type="unfinished">Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="537"/>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
         <source>Ctrl++</source>
         <comment>Zoom In</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="542"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Ctrl+-</source>
         <comment>Zoom Out</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="547"/>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
         <source>F</source>
         <comment>Zoom to Full Extents</comment>
         <translation type="unfinished">F</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="552"/>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
         <source>Ctrl+F</source>
         <comment>Zoom to selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="571"/>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
         <source>I</source>
         <comment>Click on features to identify them</comment>
         <translation type="unfinished">I</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="587"/>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
         <source>Ctrl+M</source>
         <comment>Measure a Line</comment>
         <translation type="unfinished">Ctrl+M</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="592"/>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
         <source>Ctrl+J</source>
         <comment>Measure an Area</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="597"/>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
         <source>B</source>
         <comment>Show Bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="614"/>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
         <source>Ctrl+B</source>
         <comment>New Bookmark</comment>
         <translation type="unfinished">Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="619"/>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
         <source>W</source>
         <comment>Add Web Mapping Server Layer</comment>
         <translation type="unfinished">西</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="624"/>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
         <source>O</source>
         <comment>Add current layer to overview map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="644"/>
-        <source>Start editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="649"/>
-        <source>Stop editing the current layer</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="653"/>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
         <source>.</source>
         <comment>Capture Points</comment>
         <translation type="unfinished">.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="659"/>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
         <source>/</source>
         <comment>Capture Lines</comment>
         <translation type="unfinished">/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="665"/>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
         <source>Ctrl+/</source>
         <comment>Capture Polygons</comment>
         <translation type="unfinished">Ctrl+/</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4193"/>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
         <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="507"/>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
         <source>Ctrl+?</source>
         <comment>Help Documentation (Mac)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
         <source>Show most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="609"/>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
         <source>Hide most toolbars</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="607"/>
+        <location filename="../src/gui/qgisapp.cpp" line="608"/>
         <source>H</source>
         <comment>Hide most toolbars</comment>
         <translation type="obsolete">H</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="690"/>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
         <source>Cut Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="691"/>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
         <source>Cut selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="695"/>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
         <source>Copy Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="696"/>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
         <source>Copy selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="700"/>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
         <source>Paste Features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="701"/>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
         <source>Paste selected features</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="776"/>
-        <source>&amp;Toolbars...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1314"/>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
         <source>
 Compiled against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="1315"/>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
         <source>, running against Qt </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4396"/>
-        <source>&lt;p&gt;Do you want to save the current project?&lt;/p&gt;</source>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="602"/>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
         <source>T</source>
         <comment>Show most toolbars</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="608"/>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
         <source>Ctrl+T</source>
         <comment>Hide most toolbars</comment>
         <translation type="unfinished">Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4108"/>
-        <source>Network error while communicating with server</source>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4111"/>
-        <source>Unknown network socket error</source>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="4116"/>
-        <source>Unable to communicate with QGIS Version server</source>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="946"/>
-        <source>Current map scale</source>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="955"/>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished">供应者不支持删除</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished">数据供应者不支持删除要素</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished">图层不可编辑</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgisapp.cpp" line="2723"/>
-        <source></source>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4043,7 +4367,7 @@
         <translation type="obsolete">为当前视图范围创建一个新的书签.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisappbase.ui" line="21"/>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
         <source>MainWindow</source>
         <translation>主窗口</translation>
     </message>
@@ -4066,22 +4390,22 @@
         <translation>关于Quantum GIS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="223"/>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
         <source>Ok</source>
         <translation>确定</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="26"/>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
         <source>About</source>
         <translation>关于</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="62"/>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
         <source>Version</source>
         <translation>版本</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="108"/>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
         <source>What&apos;s New</source>
         <translation>新特性</translation>
     </message>
@@ -4101,7 +4425,7 @@
         <translation type="obsolete">插件</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="52"/>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
         <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</translation>
     </message>
@@ -4113,76 +4437,76 @@
 &lt;p align=&quot;center&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="87"/>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
         <source>QGIS Home Page</source>
         <translation>QGIS主页</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="97"/>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
         <source>Subscribe to the QGIS-User mailing list</source>
         <translation>订阅QGIS-User邮件列表</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="178"/>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
         <source>Providers</source>
         <translation>数据源</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="118"/>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
         <source>Developers</source>
         <translation>开发人员</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="170"/>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
         <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
         <translation>&lt;h2&gt;QGIS开发人员&lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="237"/>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
         <source>QGIS Browser Selection</source>
         <translation type="unfinished">选择QGIS的浏览器</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="241"/>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
         <source>Enter the name of a web browser to use (eg. konqueror).
 Enter the full path if the browser is not in your PATH.
 You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="104"/>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
         <source>QGIS Sponsors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="107"/>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
         <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsabout.cpp" line="111"/>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
         <source>Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsabout.ui" line="188"/>
-        <source>Sponsors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Lucida Grande&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
 &lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsAddAttrDialogBase</name>
@@ -4215,22 +4539,22 @@
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="57"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
         <source>Name</source>
         <translation type="unfinished">名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="58"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
         <source>Action</source>
         <translation type="unfinished">命令</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="59"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
         <source>Capture</source>
         <translation type="unfinished">捕获</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeactiondialog.cpp" line="142"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation type="unfinished"></translation>
@@ -4435,7 +4759,7 @@
         <translation type="obsolete">&lt;center&gt;运行命令&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetable.cpp" line="279"/>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4581,79 +4905,79 @@
 <context>
     <name>QgsAttributeTableDisplay</name>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="87"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
         <source>select</source>
         <translation>选择</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="88"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
         <source>select and bring to top</source>
         <translation>选择并置于顶端</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="89"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
         <source>show only matching</source>
         <translation>只显示匹配的记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="304"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
         <source>Search string parsing error</source>
         <translation>搜索字符串解析错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="357"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
         <source>Search results</source>
         <translation>搜索结果</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="310"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
         <source>You&apos;ve supplied an empty search string.</source>
         <translation>您提供了一个空的搜索字符串。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="345"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
         <source>Error during search</source>
         <translation>搜索时发生错误</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="354"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>找到%d个匹配的要素。</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="356"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
         <source>No matching features found.</source>
         <translation>未找到匹配的要素。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>Name conflict</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="136"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
         <source>The attribute could not be inserted. The name already exists in the table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
         <source>Stop editing</source>
         <translation type="unfinished">结束编辑</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="185"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
         <source>Do you want to save the changes?</source>
         <translation type="unfinished">您是否想保存更改?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Error</source>
         <translation type="unfinished">错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributetabledisplay.cpp" line="190"/>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
         <source>Could not commit changes</source>
         <translation type="unfinished">无法提交更改</translation>
     </message>
@@ -4661,42 +4985,42 @@
 <context>
     <name>QgsBookmarks</name>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="127"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
         <source>Really Delete?</source>
         <translation>确实要删除?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;Yes</source>
-        <translation>是(&amp;Y)</translation>
+        <translation type="obsolete">是(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="129"/>
         <source>&amp;No</source>
-        <translation>否(&amp;N)</translation>
+        <translation type="obsolete">否(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="128"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source>Are you sure you want to delete the </source>
         <translation>您确定要删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="129"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
         <source> bookmark?</source>
         <translation>该书签?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="144"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
         <source>Error deleting bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="146"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
         <source>Failed to delete the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsbookmarks.cpp" line="148"/>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
         <source> bookmark from the database. The database said:
 </source>
         <translation type="unfinished"></translation>
@@ -4859,122 +5183,122 @@
 <context>
     <name>QgsComposer</name>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="669"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
         <source>Choose a filename to save the map image as</source>
         <translation>选择一个文件名来保存地图影像</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="762"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
         <source>Choose a filename to save the map as</source>
         <translation>选择一个文件名来保存地图</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source> for read/write</source>
         <translation>读/写</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Error in Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="524"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
         <source>Cannot seek</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="457"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
         <source>Cannot overwrite BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="463"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
         <source>Cannot find BoundingBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="537"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
         <source>Cannot overwrite translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="542"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
         <source>Cannot find translate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="548"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
         <source>File IO Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="558"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
         <source>Paper does not match</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="559"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
         <source>The selected paper size does not match the composition size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="616"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
         <source>Big image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="617"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
         <source>To create image </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> requires circa </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="620"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
         <source> MB of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="51"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
         <source>QGIS - print composer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="73"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
         <source>Map 1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="471"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
         <source>Couldn&apos;t open </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="647"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
         <source>format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="735"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
         <source>SVG warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="736"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
         <source>Don&apos;t show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="749"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
         <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposer.cpp" line="763"/>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
         <source>SVG Format</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5178,32 +5502,32 @@
         <translation type="obsolete">地图 %d</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="77"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
         <source>Extent (calculate scale)</source>
         <translation>范围(计算比例)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="78"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
         <source>Scale (calculate extent)</source>
         <translation>比例(计算范围)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="55"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
         <source>Map %1</source>
         <translation>地图 %1</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
         <source>Render</source>
         <translation type="unfinished">着色</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposermap.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5289,22 +5613,22 @@
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="419"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="420"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="503"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
         <source>Choose a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposerpicture.cpp" line="486"/>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
         <source>Pictures (</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5393,37 +5717,37 @@
 <context>
     <name>QgsComposerVectorLegend</name>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="111"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
         <source>Layers</source>
         <translation>图层</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="112"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
         <source>Group</source>
         <translation>组</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="119"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
         <source>Combine selected layers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="132"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
         <source>Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="133"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
         <source>Render</source>
         <translation type="unfinished">着色</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="134"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
         <source>Rectangle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposervectorlegend.cpp" line="98"/>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
         <source>Legend</source>
         <translation type="unfinished">图例</translation>
     </message>
@@ -5474,114 +5798,114 @@
 <context>
     <name>QgsComposition</name>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="81"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
         <source>Custom</source>
         <translation>自定义</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="82"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
         <source>A5 (148x210 mm)</source>
         <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="83"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
         <source>A4 (210x297 mm)</source>
         <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="84"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
         <source>A3 (297x420 mm)</source>
         <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="85"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
         <source>A2 (420x594 mm)</source>
         <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="86"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
         <source>A1 (594x841 mm)</source>
         <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="87"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
         <source>A0 (841x1189 mm)</source>
         <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="88"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
         <source>B5 (176 x 250 mm)</source>
         <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="89"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
         <source>B4 (250 x 353 mm)</source>
         <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="90"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
         <source>B3 (353 x 500 mm)</source>
         <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="91"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
         <source>B2 (500 x 707 mm)</source>
         <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="92"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
         <source>B1 (707 x 1000 mm)</source>
         <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="93"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
         <source>B0 (1000 x 1414 mm)</source>
         <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="94"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
         <source>Letter (8.5x11 inches)</source>
         <translation>Letter (8.5x11 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="95"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
         <source>Legal (8.5x14 inches)</source>
         <translation>Legal (8.5x14 inches)</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
         <source>Portrait</source>
         <translation>纵向</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="109"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
         <source>Landscape</source>
         <translation>横向</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="598"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
         <source>Out of memory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="601"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
         <source>Qgis is unable to resize the paper size due to insufficient memory.
  It is best that you avoid using the map composer until you restart qgis.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="748"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
         <source>Label</source>
         <translation type="unfinished">标签</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="793"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/composer/qgscomposition.cpp" line="794"/>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
         <source>Cannot load picture.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5632,27 +5956,27 @@
 <context>
     <name>QgsConnectionDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Test connection</source>
         <translation>测试连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source>Connection to </source>
         <translation>连接到</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="83"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
         <source> was successfull</source>
         <translation>成功</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="85"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
         <source>Connection failed - Check settings and try again </source>
         <translation>连接失败 - 检查设置并重试</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="107"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
         <source>General Interface Help:
 
 </source>
@@ -5672,42 +5996,42 @@
         <translation>连接信息</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="94"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
         <source>Host</source>
         <translation>主机</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="130"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
         <source>Database</source>
         <translation>数据库</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
         <source>Port</source>
         <translation>端口</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="166"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
         <source>Username</source>
         <translation>用户名</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="184"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
         <source>Password</source>
         <translation>密码</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="201"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
         <source>Name of the new connection</source>
         <translation>新连接的名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="214"/>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
         <source>5432</source>
         <translation>5432</translation>
     </message>
@@ -5724,22 +6048,22 @@
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="246"/>
         <source>Help</source>
-        <translation>帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="249"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="275"/>
         <source>OK</source>
-        <translation>确定</translation>
+        <translation type="obsolete">确定</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="291"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
 </context>
 <context>
@@ -5816,32 +6140,32 @@
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>Failed</source>
         <translation>失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="462"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
         <source>transform of</source>
         <translation>转换</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="475"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
         <source>with error: </source>
         <translation>错误:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="397"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
         <source>The source spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="405"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
         <source>The coordinates can not be reprojected. The SRS is: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscoordinatetransform.cpp" line="404"/>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
         <source>The destination spatial reference system (SRS) is not valid. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -5849,17 +6173,17 @@
 <context>
     <name>QgsCopyrightLabelPlugin</name>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="74"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
@@ -5874,7 +6198,7 @@
         <translation type="obsolete">版权标签 (&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="88"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>在地图视图上创建一个版权标签。</translation>
     </message>
@@ -5884,12 +6208,12 @@
         <translation type="obsolete">版权标签</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="75"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
         <source>Bottom Right</source>
         <translation type="unfinished">右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/copyright_label/plugin.cpp" line="87"/>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
         <source>&amp;Copyright Label</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5969,27 +6293,27 @@
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="223"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="226"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="233"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="236"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="197"/>
         <source>Help</source>
-        <translation>帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
@@ -6016,62 +6340,62 @@
 <context>
     <name>QgsCustomProjectionDialog</name>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="158"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
         <source>Delete Projection Definition?</source>
         <translation>删除投影的定义?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="159"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
         <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
         <translation>删除投影的 定义是不可恢复的。您要删除它吗?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="859"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
         <source>Abort</source>
         <translation>放弃</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="861"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
         <source>New</source>
         <translation>新建</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="916"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
         <source>QGIS Custom Projection</source>
         <translation>QGIS自定义投影</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="777"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
         <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
         <translation>proj4的投影定义无效。保存前请先改正.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="733"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
         <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
         <translation>该proj4投影定义无效。在按下保存之前,请给这个投影一个名称.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="739"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
         <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
         <translation>该proj4投影定义无效。在按下保存之前,请增加参数.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="754"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
         <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
         <translation>该proj4投影定义无效。在按下保存之前,请增加 proj= 子句.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="761"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
         <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
         <translation>该proj4椭球定义无效。在按下保存之前,请增加 ellips= 子句.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="890"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
         <source>This proj4 projection definition is not valid.</source>
         <translation>该proj4投影定义无效.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="905"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
         <source>Northing and Easthing must be in decimal form.</source>
         <translation>北向偏移和东向偏移必须是十进制形式.</translation>
     </message>
@@ -6081,20 +6405,10 @@
         <translation type="obsolete">内部错误 - 原始投影无效?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="917"/>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
         <source>Internal Error (source projection invalid?)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="644"/>
-        <source> of </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgscustomprojectiondialog.cpp" line="713"/>
-        <source>* of </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsCustomProjectionDialogBase</name>
@@ -6104,7 +6418,7 @@
         <translation type="obsolete">窗体1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="155"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
         <source>Name:</source>
         <translation>名称:</translation>
     </message>
@@ -6119,12 +6433,12 @@
         <translation type="obsolete">投影类别:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="62"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
         <source>Custom Projection Definition</source>
         <translation>自定义投影的定义</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="192"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
         <source>Parameters:</source>
         <translation>参数:</translation>
     </message>
@@ -6136,47 +6450,47 @@
 参数:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
         <source>|&lt;</source>
         <translation>|&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
         <source>&lt;</source>
         <translation>&lt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="101"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
         <source>1 of 1</source>
         <translation>1 of 1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
         <source>&gt;|</source>
         <translation>&gt;|</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
         <source>New</source>
         <translation>新建</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
         <source>Save</source>
         <translation>保存</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="139"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
         <source>Delete</source>
         <translation>删除</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
         <source>Close</source>
         <translation>关闭</translation>
     </message>
@@ -6191,37 +6505,37 @@
         <translation type="obsolete">您能够在这里定义自己的投影。空间参考系统的定义必须与proj4的格式一致.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="166"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
         <source>Test</source>
         <translation>测试</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="178"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
         <source>Transform from WGS84 to the chosen projection</source>
         <translation>将WGS84转换为选择的投影</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="294"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
         <source>Calculate</source>
         <translation>计算</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="221"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
         <source>Projected Corrdinate System</source>
         <translation>投影坐标系统</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="228"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
         <source>Geographic / WGS84</source>
         <translation>地理坐标系 / WGS84</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="264"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
         <source>North:</source>
         <translation>北向偏移:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="254"/>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
         <source>East:</source>
         <translation>东向偏移:</translation>
     </message>
@@ -6232,64 +6546,70 @@
     </message>
     <message>
         <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="185"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelect</name>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source>Are you sure you want to remove the </source>
         <translation>您确实想删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="254"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
         <source> connection and all associated settings?</source>
         <translation>连接和所有相关的设置?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Confirm Delete</source>
         <translation>确认删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>Yes</source>
-        <translation>是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="255"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
         <source>No</source>
-        <translation>否</translation>
+        <translation type="obsolete">否</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>Select Table</source>
         <translation>选择表</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="290"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
         <source>You must select a table in order to add a Layer.</source>
         <translation>为了添加一个图层,您必须选择一张表.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="323"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
         <source>Password for </source>
         <translation>密码</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="324"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
         <source>Please enter your password:</source>
         <translation>请输入您的密码:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="470"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
         <source>Connection failed</source>
         <translation>连接失败</translation>
     </message>
@@ -6299,91 +6619,91 @@
         <translation type="obsolete">连接到%1在%2上失败。可能是数据库当机,也可能是您的设置不正确。%3检查您的用户名和密码,然后重试。%4%5</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source>Access to relation </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="629"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
         <source> using sql;
 </source>
         <translation> 使用sql;
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="630"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
         <source>
 has failed. The database said:
 </source>
         <translation>失败。数据库回应是:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="110"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
         <source>Type</source>
         <translation>类型</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="111"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="112"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
         <source>Sql</source>
         <translation>Sql</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="354"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
         <source>Point layer</source>
         <translation>点图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="357"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
         <source>Multi-point layer</source>
         <translation>多点图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="361"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
         <source>Linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="364"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
         <source>Multi-linestring layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="368"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
         <source>Polygon layer</source>
         <translation>多边形图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="371"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
         <source>Multi-polygon layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="375"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
         <source>Mixed geometry layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="378"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
         <source>Geometry collection layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="382"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
         <source>Waiting for layer type</source>
         <translation>等待图层类型</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="385"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
         <source>Unknown layer type</source>
         <translation>未知的图层类型</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsdbsourceselect.cpp" line="473"/>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
         <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6492,7 +6812,7 @@
 <context>
     <name>QgsDelimitedTextPlugin</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="146"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
         <source>&amp;Delimited text</source>
         <translation>以分隔符分割的文本 (&amp;D)</translation>
     </message>
@@ -6525,30 +6845,40 @@
 <context>
     <name>QgsDelimitedTextPluginGui</name>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>No layer name</source>
         <translation>没有图层名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="86"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
         <source>Please enter a layer name before adding the layer to the map</source>
         <translation>添加图层以前,请输入一个图层名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>No delimiter</source>
         <translation>没有分隔符</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="158"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
         <source>Please specify a delimiter prior to parsing the file</source>
         <translation>解析文件前,请指定一个分隔符</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="192"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
         <source>Choose a delimited text file to open</source>
         <translation>选择一个将要打开的分隔文本文件</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextPluginGuiBase</name>
@@ -6560,185 +6890,185 @@
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="28"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="59"/>
         <source>&amp;Help</source>
-        <translation>帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="62"/>
         <source>Alt+H</source>
-        <translation>Alt+H</translation>
+        <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="53"/>
         <source>Help on using the plugin</source>
-        <translation>使用插件的帮助</translation>
+        <translation type="obsolete">使用插件的帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="56"/>
         <source>Opens the Delimited Text Plugin help in your configured browser</source>
-        <translation>在已配置的浏览器中打开分隔文本文件插件的帮助</translation>
+        <translation type="obsolete">在已配置的浏览器中打开分隔文本文件插件的帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="91"/>
         <source>&amp;Parse</source>
-        <translation>解析(&amp;P)</translation>
+        <translation type="obsolete">解析(&amp;P)</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="94"/>
         <source>Alt+P</source>
-        <translation>Alt+P</translation>
+        <translation type="obsolete">Alt+P</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="85"/>
         <source>Parse the header row and update the X and Y field lists</source>
-        <translation>解析首行并更新X、Y字段列表</translation>
+        <translation type="obsolete">解析首行并更新X、Y字段列表</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="88"/>
         <source>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</source>
-        <translation>解析输入文件的首行,并刷新X、Y字段下拉列表中的字段名称。在选择了分隔文本文件以后,如果您改变了分隔符,那么请使用这个按钮来刷新字段列表.</translation>
+        <translation type="obsolete">解析输入文件的首行,并刷新X、Y字段下拉列表中的字段名称。在选择了分隔文本文件以后,如果您改变了分隔符,那么请使用这个按钮来刷新字段列表.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="107"/>
         <source>&amp;Add Layer</source>
-        <translation>添加图层(&amp;A)</translation>
+        <translation type="obsolete">添加图层(&amp;A)</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="101"/>
         <source>Add layer using the delimiter, file, and x/y fields specified</source>
-        <translation>使用分隔符、文件和指定的x/y字段来添加图层</translation>
+        <translation type="obsolete">使用分隔符、文件和指定的x/y字段来添加图层</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="104"/>
         <source>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</source>
-        <translation>使用指定的参数创建一个图层,并添加到地图中。这个对话框会继续打开,以便添加其它的图层.</translation>
+        <translation type="obsolete">使用指定的参数创建一个图层,并添加到地图中。这个对话框会继续打开,以便添加其它的图层.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>&amp;Close</source>
-        <translation>关闭(&amp;C)</translation>
+        <translation type="obsolete">关闭(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="117"/>
         <source>Close the dialog</source>
-        <translation>关闭对话框</translation>
+        <translation type="obsolete">关闭对话框</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="120"/>
         <source>Close the dialog without adding anything to the map.</source>
-        <translation>关闭对话框,不添加任何图层.</translation>
+        <translation type="obsolete">关闭对话框,不添加任何图层.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="156"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
         <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;X字段&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="177"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
         <source>Name of the field containing x values</source>
         <translation>包含x值的字段名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="180"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
         <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>包含x值的字段名称。从列表中选择一个字段。该列表通过解析文本文件的首行而生成的.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="190"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
         <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;Y字段&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="211"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
         <source>Name of the field containing y values</source>
         <translation>包含y值的字段名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="214"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
         <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
         <translation>包含y值的字段名称。从列表中选择一个字段。该列表通过解析文本文件的首行而生成的.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
         <source>Layer name</source>
         <translation>图层名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="363"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
         <source>Name to display in the map legend</source>
         <translation>显示在地图图例中的名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="366"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
         <source>Name displayed in the map legend</source>
         <translation>显示在地图图例中的名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="389"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
         <source>Delimiter</source>
         <translation>分隔符</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="402"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
         <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
         <translation>在文本文件中分隔字段的分隔符。分隔符可以是多个字符.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="405"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
         <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
         <translation>在文本文件中分隔字段的分隔符。分隔符可以是一个或多个字符.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
         <source>Delimited Text Layer</source>
         <translation>分隔文本图层</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="304"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
         <source>Delimited text file</source>
         <translation>分隔文本文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="311"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
         <source>Full path to the delimited text file</source>
         <translation>分隔文本文件的完整路径</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="314"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
         <translation>分隔文本文件的完整路径。为了能正确地解析文件中的字段,分隔符必须在输入文件名称之前定义。使用右边的浏览按钮来选择输入文件.</translation>
     </message>
     <message>
         <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="339"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="333"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
         <source>Browse to find the delimited text file to be processed</source>
         <translation>浏览并找到将要处理的分隔文本文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="336"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
         <translation>使用这个按钮来浏览分隔文本文件的位置。这个按钮只有在&lt;i&gt;分隔符&lt;/i&gt;框中输入了分隔符后才可用。一旦选择了一个文件,X和Y字段的下拉列表会用文本文件中的字段来填充.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
         <source>Sample text</source>
         <translation>样例文本</translation>
     </message>
@@ -6758,97 +7088,64 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="257"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:12pt;font-family:Arial&quot;&gt;
-&lt;p style=&quot;margin-top:16px&quot;&gt;&lt;span style=&quot;font-size:16pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p&gt;
-&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;
-&lt;/body&gt;&lt;/html&gt;
-</source>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsDelimitedTextProvider</name>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="771"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="756"/>
         <source>Save layer as...</source>
-        <translation>图层另存为...</translation>
+        <translation type="obsolete">图层另存为...</translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="472"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
         <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="767"/>
-        <source>Shapefiles (*.shp)</source>
-        <comment>The *.shp is used as a file filter in a dialog box</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
         <source>Error</source>
         <translation type="unfinished">错误</translation>
     </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="844"/>
-        <source>Error creating field </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="917"/>
-        <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="923"/>
-        <source>Error creating shapefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="925"/>
-        <source>The shapefile could not be created (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="933"/>
-        <source>Driver not found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="934"/>
-        <source> driver is not available</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsDlgPgBufferBase</name>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="16"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
         <source>Buffer features</source>
         <translation>对要素作缓冲区</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="252"/>
         <source>&amp;Help</source>
-        <translation>帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="255"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="281"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="297"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -6856,57 +7153,57 @@
         <translation type="obsolete">缓冲区设置:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="227"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
         <source>Buffer distance in map units:</source>
         <translation>缓冲区距离(地图单位):</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="135"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
         <source>Table name for the buffered layer:</source>
         <translation>缓冲区图层的表名:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="175"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
         <source>Create unique object id</source>
         <translation>创建唯一的Object ID</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="219"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
         <source>public</source>
         <translation>公有</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="62"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
         <source>Geometry column:</source>
         <translation>几何字段:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="95"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
         <source>Spatial reference ID:</source>
         <translation>空间参考ID:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="128"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
         <source>Unique field to use as feature id:</source>
         <translation>用作要素ID的独立值字段:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="121"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
         <source>Schema:</source>
         <translation>Schema:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="69"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
         <source>Add the buffered layer to the map?</source>
         <translation>是否将缓冲区图层添加到地图上?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="237"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
         <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
         <translation>&lt;h2&gt;对该图层的要素作缓冲区: &lt;/h2&gt;</translation>
     </message>
     <message>
-        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="31"/>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
         <source>Parameters</source>
         <translation>参数</translation>
     </message>
@@ -7277,25 +7574,25 @@
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="73"/>
         <source>&amp;Help</source>
-        <translation>帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="76"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="102"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="118"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="157"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
         <source>Reserved Words</source>
         <translation>保留字</translation>
     </message>
@@ -7310,7 +7607,7 @@
         <translation>字段名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="150"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7318,17 +7615,17 @@
 <context>
     <name>QgsEditReservedWordsDialog</name>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Status</source>
         <translation>状态</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Column Name</source>
         <translation>字段名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="20"/>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
         <source>Index</source>
         <translation>索引</translation>
     </message>
@@ -7498,22 +7795,22 @@
 <context>
     <name>QgsGPSPlugin</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="196"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
         <source>&amp;Gps</source>
         <translation>GPS (&amp;G)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
         <source>&amp;Gps Tools</source>
         <translation>GPS工具 (&amp;G)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="100"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
         <source>&amp;Create new GPX layer</source>
         <translation>创建新的GPX图层 (&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="103"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
         <translation>创建新的GPX图层并显示在地图中</translation>
     </message>
@@ -7523,73 +7820,73 @@
         <translation type="obsolete">GPS工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>Save new GPX file as...</source>
         <translation>新的GPX文件另存为...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="160"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
         <source>GPS eXchange file (*.gpx)</source>
         <translation>GPS交换文件 (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="165"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
         <source>Could not create file</source>
         <translation>无法创建文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="167"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
         <source>Unable to create a GPX file with the given name. </source>
         <translation>无法以给定的名称创建GPX文件。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>Try again with another name or in another </source>
         <translation>以其他名称重试或另存</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
         <source>directory.</source>
         <translation>目录。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="207"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
         <source>GPX Loader</source>
         <translation>GPX加载器</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Unable to read the selected file.
 </source>
         <translation>无法读取选中的文件。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="209"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
         <source>Please reselect a valid file.</source>
         <translation>请重新选择一个有效的文件。</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="408"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
         <source>Could not start process</source>
         <translation>无法启动程序</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
         <source>Could not start GPSBabel!</source>
         <translation>无法启动GPSBabel!</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
         <source>Importing data...</source>
         <translation>导入数据...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="273"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
         <source>Could not import data from %1!
 
 </source>
@@ -7598,32 +7895,32 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="275"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
         <source>Error importing data</source>
         <translation>导入数据错误</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="401"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
         <source>Not supported</source>
         <translation>不支持</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>This device does not support downloading </source>
         <translation>该设备不支持下载</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="321"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
         <source>of </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="332"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
         <source>Downloading data...</source>
         <translation>下载数据...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
         <source>Could not download data from GPS!
 
 </source>
@@ -7632,22 +7929,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="348"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
         <source>Error downloading data</source>
         <translation>下载数据错误</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
         <source>This device does not support uploading of </source>
         <translation>该设备不支持上传</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="414"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
         <source>Uploading data...</source>
         <translation>上传数据...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="428"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
         <source>Error while uploading data to GPS!
 
 </source>
@@ -7656,7 +7953,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="430"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
         <source>Error uploading data</source>
         <translation>上传数据错误</translation>
     </message>
@@ -7664,22 +7961,22 @@
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="256"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
         <source>Choose a filename to save under</source>
         <translation>选择一个文件名来保存</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="258"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
         <source>GPS eXchange format (*.gpx)</source>
         <translation>GPS交换文件 (*.gpx)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
         <source>Select GPX file</source>
         <translation>选择GPX文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="228"/>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
         <source>Select file and format to import</source>
         <translation>选择要导入的文件和格式</translation>
     </message>
@@ -7692,7 +7989,7 @@
         <translation>GPS工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="114"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
         <source>Load GPX file</source>
         <translation>加载GPX文件</translation>
     </message>
@@ -7712,181 +8009,181 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="151"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
         <source>File:</source>
         <translation>文件:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="168"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
         <source>Feature types:</source>
         <translation>要素类型:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="346"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
         <source>Waypoints</source>
         <translation>路线点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="351"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
         <source>Routes</source>
         <translation>路径</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="356"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
         <source>Tracks</source>
         <translation>轨迹</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="447"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="215"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
         <source>Import other file</source>
         <translation>导入其它的文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="308"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
         <source>File to import:</source>
         <translation>要导入的文件:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="371"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
         <source>Feature type:</source>
         <translation>要素类型:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
         <source>GPX output file:</source>
         <translation>GPX输出文件:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="381"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
         <source>Layer name:</source>
         <translation>图层名称:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="316"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
         <source>Download from GPS</source>
         <translation>从GPS下载</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="513"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
         <source>Edit devices</source>
         <translation>编辑设备</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="520"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
         <source>GPS device:</source>
         <translation>GPS设备:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="388"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
         <source>Output file:</source>
         <translation>输出的文件:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="500"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
         <source>Port:</source>
         <translation>端口:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="455"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
         <source>Upload to GPS</source>
         <translation>上载到GPS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="527"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
         <source>Data layer:</source>
         <translation>数据图层:</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="65"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="68"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="75"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="78"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="36"/>
         <source>&amp;Help</source>
-        <translation type="unfinished">帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="230"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="331"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="486"/>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QgsGPXProvider</name>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="76"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
         <source>Bad URI - you need to specify the feature type.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="135"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
         <source>GPS eXchange file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="498"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::minValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="510"/>
-        <source>Warning: access requested to invalid position in QgsGPXProvider::maxValue(..)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="831"/>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
         <source>Digitized in QGIS</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7894,12 +8191,12 @@
 <context>
     <name>QgsGeomTypeDialog</name>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="31"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsgeomtypedialog.cpp" line="32"/>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
         <source>Type</source>
         <translation>类型</translation>
     </message>
@@ -7907,34 +8204,34 @@
 <context>
     <name>QgsGeomTypeDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="134"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
         <source>Type</source>
         <translation>类型</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="146"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
         <source>Point</source>
         <translation>点</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="153"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
         <source>Line</source>
         <translation>线</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="160"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
         <source>Polygon</source>
         <translation>多边形</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="65"/>
         <source>OK</source>
-        <translation>确定</translation>
+        <translation type="obsolete">确定</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="72"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
@@ -7942,17 +8239,17 @@
         <translation>新的矢量图层</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="117"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
         <source>Attributes:</source>
         <translation>属性:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="127"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
         <source>Add</source>
         <translation>添加</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
         <source>Column 1</source>
         <translation>字段1</translation>
     </message>
@@ -7962,17 +8259,17 @@
         <translation type="obsolete">新项目</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="94"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
         <source>Remove</source>
         <translation>移除</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="39"/>
         <source>Help</source>
-        <translation>帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
         <source>File Format:</source>
         <translation>文件格式:</translation>
     </message>
@@ -7980,7 +8277,7 @@
 <context>
     <name>QgsGeorefPlugin</name>
     <message>
-        <location filename="../src/plugins/georeferencer/plugin.cpp" line="125"/>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
         <source>&amp;Georeferencer</source>
         <translation>Georeferencer (&amp;G)</translation>
     </message>
@@ -8051,22 +8348,22 @@
 <context>
     <name>QgsGeorefPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
         <source>Georeferencer</source>
         <translation>配准</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="85"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
         <source>Close</source>
         <translation>关闭</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="128"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="31"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
         <source>Raster file:</source>
         <translation>栅格文件:</translation>
     </message>
@@ -8084,50 +8381,55 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="113"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
         <source>Enter world coordinates</source>
         <translation>输入真实坐标</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGeorefWarpOptionsDialogBase</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="16"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
         <source>Warp options</source>
         <translation>变形选项</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="28"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
         <source>Resampling method:</source>
         <translation>重采样方法:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="39"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
         <source>Nearest neighbour</source>
         <translation>最邻近采样</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="44"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
         <source>Linear</source>
         <translation>线性</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="49"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
         <source>Cubic</source>
         <translation>立方卷积</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="57"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
         <source>OK</source>
         <translation>确定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
         <source>Use 0 for transparency when needed</source>
         <translation>需要时使用0表示透明</translation>
     </message>
@@ -8209,40 +8511,37 @@
     </message>
 </context>
 <context>
-    <name>QgsGraduatedSymbolDialog</name>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="279"/>
-        <source>Empty</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsgraduatedsymboldialog.cpp" line="282"/>
-        <source>Equal Interval</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGraduatedSymbolDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="28"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
         <source>graduated Symbol</source>
         <translation>渐进符号</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="116"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
         <source>Classification Field:</source>
         <translation>分类字段:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="132"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
         <source>Mode:</source>
         <translation>模式:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="148"/>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
         <source>Number of Classes:</source>
         <translation>分类数目:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsGrassAttributes</name>
@@ -8252,22 +8551,22 @@
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
         <source>Value</source>
         <translation type="unfinished">值</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="168"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
         <source>Type</source>
         <translation type="unfinished">类型</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
         <source>Field</source>
         <translation type="unfinished">字段</translation>
     </message>
@@ -8333,77 +8632,77 @@
 <context>
     <name>QgsGrassBrowser</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="65"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
         <source>Tools</source>
         <translation>工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="70"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
         <source>Add selected map to canvas</source>
         <translation>将选中的地图添加到视图中</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="78"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
         <source>Copy selected map</source>
         <translation>复制选中的地图</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="86"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
         <source>Rename selected map</source>
         <translation>重命名选中的地图</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="94"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
         <source>Delete selected map</source>
         <translation>删除选中的地图</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="102"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
         <source>Set current region to selected map</source>
         <translation>设置当前区域为选中的地图</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="110"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
         <source>Refresh</source>
         <translation>刷新</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="453"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="289"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
         <source>Cannot copy map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
         <source>&lt;br&gt;command: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="355"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
         <source>Cannot rename map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
         <source>Delete map &lt;b&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="410"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
         <source>Cannot delete map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
         <source>Cannot write new region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="339"/>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
         <source>New name</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8416,12 +8715,12 @@
         <translation type="obsolete">新节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="243"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
         <source>New point</source>
         <translation>新的点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
         <source>New centroid</source>
         <translation>新的质心</translation>
     </message>
@@ -8486,7 +8785,7 @@
         <translation type="obsolete">释放</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
         <source>Delete vertex</source>
         <translation>删除节点</translation>
     </message>
@@ -8511,241 +8810,241 @@
         <translation type="obsolete">在线上选择一个点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1830"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
         <source>Left: </source>
         <translation>左键:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1831"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
         <source>Middle: </source>
         <translation>中键:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1818"/>
         <source>Rigth: </source>
         <translation type="obsolete">右键:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="240"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
         <source>Edit tools</source>
         <translation>编辑工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
         <source>New line</source>
         <translation>新的线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
         <source>New boundary</source>
         <translation>新的边界</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
         <source>Move vertex</source>
         <translation>移动节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
         <source>Add vertex</source>
         <translation>增加节点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
         <source>Move element</source>
         <translation>移动元素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
         <source>Split line</source>
         <translation>分割线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
         <source>Delete element</source>
         <translation>删除元素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
         <source>Edit attributes</source>
         <translation>编辑属性</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="308"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
         <source>Close</source>
         <translation>关闭</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1454"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="227"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
         <source>You are not owner of the mapset, cannot open the vector for editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="232"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
         <source>Cannot open vector for update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="696"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
         <source>The table was created</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1326"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
         <source>Tool not yet implemented.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1352"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
         <source>Cannot check orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
         <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1368"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
         <source>Cannot delete orphan record: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
         <source>Cannot describe table for field </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
         <source>Background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="390"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
         <source>Highlight</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="391"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
         <source>Dynamic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="392"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
         <source>Point</source>
         <translation type="unfinished">点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="393"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
         <source>Line</source>
         <translation type="unfinished">线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="394"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
         <source>Boundary (no area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
         <source>Boundary (1 area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
         <source>Boundary (2 areas)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
         <source>Centroid (in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
         <source>Centroid (outside area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
         <source>Centroid (duplicate in area)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
         <source>Node (1 line)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
         <source>Node (2 lines)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="434"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
         <source>Disp</source>
         <comment>Column title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="436"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
         <source>Color</source>
         <comment>Column title</comment>
         <translation type="unfinished">颜色</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="438"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
         <source>Type</source>
         <comment>Column title</comment>
         <translation type="unfinished">类型</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
         <source>Index</source>
         <comment>Column title</comment>
         <translation type="unfinished">索引</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="470"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
         <source>Column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="471"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
         <source>Type</source>
         <translation type="unfinished">类型</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="472"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
         <source>Length</source>
         <translation type="unfinished">长度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="530"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
         <source>Next not used</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="531"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
         <source>Manual entry</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="532"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
         <source>No category</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1832"/>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
         <source>Right: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -8951,32 +9250,32 @@
 <context>
     <name>QgsGrassElementDialog</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="129"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
         <source>Ok</source>
         <translation type="unfinished">确定</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
         <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
         <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
         <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9389,12 +9688,12 @@
 <context>
     <name>QgsGrassModule</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1419"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
         <source>Run</source>
         <translation>运行</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1395"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
         <source>Stop</source>
         <translation>停止</translation>
     </message>
@@ -9404,144 +9703,114 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1389"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>The module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="215"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="219"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
         <source>Cannot open module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>Cannot read module file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1013"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source>Module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="255"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
         <source>Cannot find man page </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
         <source>Not available, decription not found (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1007"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
         <source>Not available, cannot open description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1014"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1018"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
         <source>Not available, incorrect description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1216"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
         <source>Cannot get input region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1204"/>
-        <source>Input </source>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1205"/>
-        <source> outside current region!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1196"/>
-        <source>Use input region</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Continue</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
-        <source>Cancel</source>
-        <translation type="unfinished">取消</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1228"/>
-        <source>Output </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1229"/>
-        <source> exists! Overwrite?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1318"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1390"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
         <source>Cannot start module: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1408"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
         <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1414"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
         <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1417"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
         <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9592,7 +9861,7 @@
 <context>
     <name>QgsGrassModuleField</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2748"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9600,17 +9869,17 @@
 <context>
     <name>QgsGrassModuleFile</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2948"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
         <source>File</source>
         <translation type="unfinished">文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3063"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3070"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
         <source>:&amp;nbsp;directory does not exist</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9618,22 +9887,22 @@
 <context>
     <name>QgsGrassModuleGdalInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2701"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2579"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2705"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
         <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2726"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9641,42 +9910,42 @@
 <context>
     <name>QgsGrassModuleInput</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2044"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
         <source>Cannot find typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2053"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
         <source>Cannot find values for typeoption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2114"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
         <source>Cannot find layeroption </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source>GRASS element </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2131"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
         <source> not supported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2155"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
         <source>Use region of this map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2483"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
         <source>:&amp;nbsp;no input</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9684,7 +9953,7 @@
 <context>
     <name>QgsGrassModuleOption</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1956"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
         <source>:&amp;nbsp;missing value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9692,7 +9961,7 @@
 <context>
     <name>QgsGrassModuleSelection</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2838"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
         <source>Attribute field</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9700,69 +9969,69 @@
 <context>
     <name>QgsGrassModuleStandardOptions</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="906"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="371"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
         <source>Cannot find module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="388"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
         <source>Cannot start module </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>Cannot read module description (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="401"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="402"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="426"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
         <source>Cannot find key </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source>Item with id </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="565"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
         <source> not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="868"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
         <source>Cannot get current region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="843"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
         <source>Cannot check region of map </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="907"/>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
         <source>Cannot set region of map </source>
         <translation type="unfinished"></translation>
     </message>
@@ -9870,7 +10139,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1151"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
@@ -9895,129 +10164,129 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>Regions file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="809"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>Cannot open locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="814"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="823"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
         <source>Cannot read locations file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>):
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="824"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="825"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1152"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
         <source>Cannot create QgsSpatialRefSys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="960"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
         <source>Cannot reproject selected region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1048"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
         <source>Cannot reproject region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1279"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
         <source>Enter mapset name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1296"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
         <source>The mapset already exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1320"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
         <source>Database: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1331"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
         <source>Location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1333"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
         <source>Mapset: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1364"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
         <source>Create location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1366"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
         <source>Cannot create new location: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Create mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1396"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
         <source>Cannot create new mapset dircetory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1406"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
         <source>Cannot open DEFAULT_WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1413"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
         <source>Cannot open WIND</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1440"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
         <source>New mapset successfully created, but cannot be opened: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1442"/>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
         <source>New mapset successfully created and set as current working mapset.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10178,162 +10447,162 @@
 <context>
     <name>QgsGrassPlugin</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="213"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
         <source>GRASS</source>
         <translation>GRASS</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="812"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
         <source>&amp;GRASS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
         <source>Open mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="161"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
         <source>New mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="162"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
         <source>Close mapset</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
         <source>Add GRASS vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="167"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
         <source>Add GRASS raster layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
         <source>Open GRASS tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="172"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
         <source>Display Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
         <source>Edit Current Grass Region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="178"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
         <source>Edit Grass Vector layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
         <source>Adds a GRASS vector layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
         <source>Adds a GRASS raster layer to the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
         <source>Displays the current GRASS region as a rectangle on the map canvas</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="185"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
         <source>Edit the current GRASS region</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="186"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
         <source>Edit the currently selected GRASS vector layer.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="96"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
         <source>GrassVector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="97"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
         <source>0.1</source>
         <translation type="unfinished">0.1</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="98"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
         <source>GRASS layer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
         <source>Create new Grass Vector</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="486"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
         <source>GRASS Edit is already running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="495"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
         <source>New vector name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="511"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
         <source>Cannot create new vector: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="533"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
         <source>New vector created but cannot be opened by data provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="545"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
         <source>Cannot start editing.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="582"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="592"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="697"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
         <source>Cannot open the mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="715"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
         <source>Cannot close mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="772"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
         <source>Cannot close current mapset. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="781"/>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
         <source>Cannot open GRASS mapset. </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10341,22 +10610,22 @@
 <context>
     <name>QgsGrassRegion</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="198"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
         <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="205"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
         <source>Cannot read current region: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="464"/>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
         <source>Cannot write region</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10551,39 +10820,6 @@
     </message>
 </context>
 <context>
-    <name>QgsGrassShell</name>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="169"/>
-        <source>Warning</source>
-        <translation type="unfinished">警告</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="71"/>
-        <source>GRASS Shell is not supported on Windows.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="90"/>
-        <source>GRASS shell is not supported</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="117"/>
-        <source>Cannot open pseudo terminal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="147"/>
-        <source>Cannot fork shell</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrassshell.cpp" line="170"/>
-        <source>Cannot open slave file in child process</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsGrassShellBase</name>
     <message>
         <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
@@ -10594,78 +10830,73 @@
 <context>
     <name>QgsGrassTools</name>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="125"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
         <source>Modules</source>
         <translation type="unfinished">模块</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="165"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
         <source>Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="105"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
         <source>GRASS Tools</source>
         <translation type="unfinished">GRASS工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="389"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
         <source>GRASS Tools: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="309"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="223"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
         <source>Cannot find MSYS (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="235"/>
-        <source>Cannot start MSYS (</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="245"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
         <source>GRASS Shell is not compiled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>The config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="294"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
         <source>) not found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>Cannot open config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
         <source>)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="306"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
         <source>Cannot read config file (</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source>
 at line </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="307"/>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
         <source> column </source>
         <translation type="unfinished"></translation>
     </message>
@@ -10726,7 +10957,7 @@
 <context>
     <name>QgsGridMakerPlugin</name>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="144"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
         <source>&amp;Graticules</source>
         <translation>格网 (&amp;G)</translation>
     </message>
@@ -10736,7 +10967,7 @@
         <translation type="obsolete">格网生成器 (&amp;G)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="103"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
         <source>Creates a graticule (grid) and stores the result as a shapefile</source>
         <translation>创建一个格网并存储为shapefile</translation>
     </message>
@@ -10746,7 +10977,7 @@
         <translation type="obsolete">格网生成器</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/plugin.cpp" line="102"/>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
         <source>&amp;Graticule Creator</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10812,32 +11043,32 @@
 <context>
     <name>QgsGridMakerPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="16"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
         <source>QGIS Plugin Template</source>
         <translation>QGIS插件模板</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="328"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="331"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="338"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="341"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="42"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
         <source>Graticule Builder</source>
         <translation>网格构造器</translation>
     </message>
@@ -10862,17 +11093,17 @@
         <translation type="obsolete">起点(左下角点)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="262"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
         <source>#000.00000; </source>
         <translation>#000.00000; </translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="198"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
         <source>Latitude:</source>
         <translation>纬度:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="212"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
         <source>Longitude:</source>
         <translation>经度:</translation>
     </message>
@@ -10889,7 +11120,7 @@
     <message>
         <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="287"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -10897,60 +11128,65 @@
         <translation type="obsolete">网格大小(单位:度)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="241"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
         <source>Latitude Interval:</source>
         <translation>纬度间距:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="255"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
         <source>Longitude Interval:</source>
         <translation>经度间距:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="97"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="104"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
         <source>Type</source>
         <translation>类型</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="116"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
         <source>Point</source>
         <translation>点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="126"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
         <source>Line</source>
         <translation>线</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="133"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
         <source>Polygon</source>
         <translation>多边形</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="143"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
         <source>Origin (lower left)</source>
         <translation>起点 (左下角点)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
         <source>End point (upper right)</source>
         <translation>终点 (右上角点)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="229"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
         <source>Graticle size (units in degrees)</source>
         <translation>格网大小 (以度为单位)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="272"/>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
         <source>Output (shape) file</source>
         <translation>输出的(shape)文件</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsHelpViewer</name>
@@ -10965,12 +11201,12 @@
         <translation>从数据库中获取帮助文本失败</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
         <source>Error</source>
         <translation>错误</translation>
     </message>
     <message>
-        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="198"/>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
         <source>The QGIS help database is not installed</source>
         <translation>QGIS帮助数据库没有安装</translation>
     </message>
@@ -11072,27 +11308,27 @@
         <translation type="obsolete">&lt;center&gt;运行命令&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="229"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
         <source>Identify Results - </source>
         <translation>结果 -</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="43"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
         <source>Feature</source>
         <translation type="unfinished">要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="44"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
         <source>Value</source>
         <translation type="unfinished">值</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="102"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
         <source>Run action</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsidentifyresults.cpp" line="200"/>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
         <source>(Derived)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11467,95 +11703,6 @@
     </message>
 </context>
 <context>
-    <name>QgsLauncherPlugin</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="85"/>
-        <source>Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="91"/>
-        <source>&amp;Run...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherplugin.cpp" line="116"/>
-        <source>&amp;Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>QgsLauncherPluginGuiBase</name>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="13"/>
-        <source>QGIS Launcher</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="47"/>
-        <source>&amp;Close</source>
-        <translation type="unfinished">关闭(&amp;C)</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="50"/>
-        <source>Alt+C</source>
-        <translation type="unfinished">Alt+C</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="71"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Run an External Command or Program&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="92"/>
-        <source>Command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="123"/>
-        <source>Select program tor execute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="126"/>
-        <source>Select the program to execute by browsing the file system</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="129"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="142"/>
-        <source>Run the selected program/command</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="145"/>
-        <source>Run the selected program/command and display the output</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="148"/>
-        <source>Run</source>
-        <translation type="unfinished">运行</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="169"/>
-        <source>Output</source>
-        <translation type="unfinished">输出</translation>
-    </message>
-    <message>
-        <location filename="../src/plugins/launcher/qgslauncherpluginguibase.ui" line="204"/>
-        <source>Clear Command List</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsLayerProjectionSelectorBase</name>
     <message>
         <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
@@ -11589,73 +11736,93 @@
 <context>
     <name>QgsLegend</name>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="105"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
         <source>group</source>
         <translation>组</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="414"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="467"/>
         <source>&amp;Properties</source>
-        <translation>属性(&amp;P)</translation>
+        <translation type="obsolete">属性(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="415"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="468"/>
         <source>&amp;Zoom to layer extent</source>
-        <translation>缩放到图层的范围 (&amp;Z)</translation>
+        <translation type="obsolete">缩放到图层的范围 (&amp;Z)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="416"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="469"/>
         <source>&amp;Add to overview</source>
-        <translation>添加到鹰眼图 (&amp;A)</translation>
+        <translation type="obsolete">添加到鹰眼图 (&amp;A)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="417"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="470"/>
         <source>&amp;Remove from overview</source>
-        <translation>从鹰眼图中移除 (&amp;R)</translation>
+        <translation type="obsolete">从鹰眼图中移除 (&amp;R)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="449"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
         <source>&amp;Remove</source>
         <translation>移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="421"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
         <source>&amp;Make to toplevel item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="454"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
         <source>Re&amp;name</source>
         <translation>重命名 (&amp;n)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="460"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
         <source>&amp;Add group</source>
         <translation>添加组 (&amp;A)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="461"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
         <source>&amp;Expand all</source>
         <translation>全部展开 (&amp;E)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="462"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
         <source>&amp;Collapse all</source>
         <translation>全部折叠 (&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="463"/>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
         <source>Show file groups</source>
         <translation>显示文件</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="424"/>
-        <source>&amp;Allow editing</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/app/legend/qgslegend.cpp" line="406"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="obsolete">打开属性表(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../src/legend/qgslegend.cpp" line="438"/>
-        <source>&amp;Save as shapefile...</source>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Allow Editing</source>
+        <translation type="obsolete">放弃编辑</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Save as shapefile...</source>
+        <translation type="obsolete">存储为shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="455"/>
+        <source>&amp;Convert to...</source>
+        <translation type="obsolete">转换为(&amp;C)... </translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished">没有选中图层</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11678,6 +11845,197 @@
     </message>
 </context>
 <context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">缩放到图层的范围 (&amp;Z)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">移除(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">打开属性表(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">存储为shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">属性(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished">属性表</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished">图层另存为...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished">开始编辑失败</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished">数据源不能以可写方式打开</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished">结束编辑</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished">您是否想保存更改?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">是(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="363"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">否(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished">无法提交更改</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished">回滚时发生问题</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished">缩放到图层的范围 (&amp;Z)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished">移除(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished">打开属性表(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished">存储为shapefile...</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished">属性(&amp;P)</translation>
+    </message>
+</context>
+<context>
     <name>QgsLineStyleDialogBase</name>
     <message>
         <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
@@ -11812,58 +12170,53 @@
         <translation type="obsolete">投影视图区域范围时出错,您也许需要手工缩放到感兴趣的区域.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>Could not draw</source>
         <translation>无法绘制</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1112"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
         <source>because</source>
         <translation>因为</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="396"/>
-        <source>Scale </source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="527"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="530"/>
         <source>&amp;Zoom to extent of selected layer</source>
-        <translation>缩放至选中的图层(&amp;Z)</translation>
+        <translation type="obsolete">缩放至选中的图层(&amp;Z)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="532"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="535"/>
         <source>&amp;Remove</source>
-        <translation>移除(&amp;R)</translation>
+        <translation type="obsolete">移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="538"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="541"/>
         <source>&amp;Properties</source>
-        <translation>属性(&amp;P)</translation>
+        <translation type="obsolete">属性(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaplayer.cpp" line="528"/>
+        <location filename="../src/gui/qgsmaplayer.cpp" line="531"/>
         <source>Toggle in Overview</source>
-        <translation>放入鹰眼图中</translation>
+        <translation type="obsolete">放入鹰眼图中</translation>
     </message>
 </context>
 <context>
     <name>QgsMapToolIdentify</name>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="436"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
         <source>No features found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="439"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
         <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsmaptoolidentify.cpp" line="350"/>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
         <source>- %1 features found</source>
         <comment>Identify results window title</comment>
         <translation type="unfinished">
@@ -11874,34 +12227,34 @@
 <context>
     <name>QgsMapserverExport</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="70"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
         <source>Name for the map file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="71"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
         <source>MapServer map files (*.map);;All files(*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="78"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
         <source>Choose the QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="79"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
         <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
         <comment>Filter list for selecting files from a dialog box</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="190"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
         <source>Overwrite File?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <comment>a filename is prepended to this text, and appears in a dialog box</comment>
@@ -11910,144 +12263,129 @@
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>Yes</source>
-        <translation type="unfinished">是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
         <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="192"/>
         <source>No</source>
-        <translation type="unfinished">否</translation>
+        <translation type="obsolete">否</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="74"/>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
         <source> exists. 
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="365"/>
-        <source>Choose a filename for the exported map file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="367"/>
-        <source>Mapserver files (*.map)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmapserverexport.cpp" line="376"/>
-        <source>QGIS Help - Mapserver Export</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMapserverExportBase</name>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="16"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
         <source>Export to Mapserver</source>
         <translation>输出到Mapserver</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="422"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
         <source>Map file</source>
         <translation>地图文件</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="473"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
         <source>Export LAYER information only</source>
         <translation>只导出图层信息  </translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
         <source>Map</source>
         <translation>地图</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="374"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
         <source>Height</source>
         <translation>高度</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="361"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
         <source>Width</source>
         <translation>宽度</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="266"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
         <source>dd</source>
         <translation>十进制度</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="271"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
         <source>feet</source>
         <translation>英尺</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="276"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
         <source>meters</source>
         <translation>米</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="281"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
         <source>miles</source>
         <translation>英里</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="286"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
         <source>inches</source>
         <translation>英寸</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
         <source>kilometers</source>
         <translation>千米</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="252"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
         <source>Units</source>
         <translation>单位</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="299"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
         <source>Image type</source>
         <translation>影像类型</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="313"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
         <source>gif</source>
         <translation>gif</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="318"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
         <source>gtiff</source>
         <translation>gtiff</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="323"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
         <source>jpeg</source>
         <translation>jpeg</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="328"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
         <source>png</source>
         <translation>png</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="333"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
         <source>swf</source>
         <translation>swf</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="338"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
         <source>userdefined</source>
         <translation>用户定义</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="343"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
         <source>wbmp</source>
         <translation>wbmp</translation>
     </message>
@@ -12067,47 +12405,47 @@
         <translation>用地图文件(MapFile)创建的地图、比例尺和图例GIF文件名的前缀。要尽可能的短.</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="99"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
         <source>Web Interface Definition</source>
         <translation>Web界面定义</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="168"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
         <source>Header</source>
         <translation>标题</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="204"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
         <source>Footer</source>
         <translation>页脚</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="128"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
         <source>Template</source>
         <translation>模板</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="39"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="42"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
         <source>&amp;OK</source>
         <translation>确定(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="84"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
         <source>&amp;Cancel</source>
         <translation>取消(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="463"/>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -12122,43 +12460,45 @@
         <translation type="obsolete">将QGIS项目文件输出为MapServer地图格式</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="432"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
         <source>Name for the map file to be created from the QGIS project file</source>
         <translation>地图文件的名称</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="470"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
         <source>If checked, only the layer information will be processed</source>
         <translation>如果选中,只有图层信息会处理</translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="138"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
         <source>Path to the MapServer template file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="410"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
         <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="446"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
         <source>Full path to the QGIS project file to export to MapServer map format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="453"/>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
         <source>QGIS project file</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QgsMarkerDialog</name>
     <message>
-        <location filename="../src/gui/qgsmarkerdialog.cpp" line="71"/>
-        <source>Choose a directory</source>
-        <translation type="unfinished">选择一个目录</translation>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsMarkerDialogBase</name>
@@ -12206,35 +12546,10 @@
         <translation type="obsolete">总计</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="313"/>
+        <location filename="../src/app/qgsmeasure.cpp" line="55"/>
         <source>Segments (in meters)</source>
-        <translation>片段 (米)</translation>
+        <translation type="obsolete">片段 (米)</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="93"/>
-        <source>Incorrect measure results</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="101"/>
-        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="316"/>
-        <source>Segments (in feet)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="319"/>
-        <source>Segments (in degrees)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsmeasure.cpp" line="322"/>
-        <source>Segments</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsMeasureBase</name>
@@ -12270,6 +12585,42 @@
     </message>
 </context>
 <context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished">片段 (米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsMessageViewer</name>
     <message>
         <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
@@ -12375,17 +12726,17 @@
 <context>
     <name>QgsNewConnection</name>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Test connection</source>
         <translation>测试连接</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successfull</source>
         <translation type="obsolete">成功连接到%1</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="121"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
         <source>Connection failed - Check settings and try again.
 
 Extended error information:
@@ -12396,7 +12747,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsnewconnection.cpp" line="118"/>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
         <source>Connection to %1 was successful</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12610,22 +12961,22 @@
 <context>
     <name>QgsNorthArrowPlugin</name>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="250"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
         <source>&amp;Decorations</source>
         <translation>装饰 (&amp;D)</translation>
     </message>
@@ -12635,7 +12986,7 @@
         <translation type="obsolete">指北针 (&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
         <source>Creates a north arrow that is displayed on the map canvas</source>
         <translation>在地图视图中创建一个指北针</translation>
     </message>
@@ -12650,17 +13001,17 @@
         <translation type="obsolete">Pixmap未找到</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="82"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
         <source>Top Left</source>
         <translation type="unfinished">左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="95"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
         <source>&amp;North Arrow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugin.cpp" line="241"/>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
         <source>North arrow pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12673,7 +13024,7 @@
         <translation type="obsolete">Pixmap未找到</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="158"/>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
         <source>Pixmap not found</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12681,100 +13032,105 @@
 <context>
     <name>QgsNorthArrowPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="286"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
         <source>North Arrow Plugin</source>
         <translation>指北针插件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="38"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
         <source>Properties</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="58"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
         <source>Angle</source>
         <translation>角度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="65"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
         <source>Placement</source>
         <translation>位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="78"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
         <source>Set direction automatically</source>
         <translation>自动设置方向</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="88"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
         <source>Enable North Arrow</source>
         <translation>显示指北针</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="144"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="149"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="154"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="159"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="140"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
         <source>Placement on screen</source>
         <translation>屏幕位置</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="167"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
         <source>Preview of north arrow</source>
         <translation>预览</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="186"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
         <source>Icon</source>
         <translation>图标</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="201"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="209"/>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
         <source>New Item</source>
         <translation>新项目</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="245"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="248"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="255"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="258"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsOGRFactory</name>
@@ -12790,14 +13146,6 @@
     </message>
 </context>
 <context>
-    <name>QgsOptions</name>
-    <message>
-        <location filename="../src/gui/qgsoptions.cpp" line="242"/>
-        <source>Choose a browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>QgsOptionsBase</name>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
@@ -12805,22 +13153,22 @@
         <translation>QGIS选项</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="772"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="856"/>
         <source>&amp;Ok</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="775"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="859"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="788"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="872"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
         <source>&amp;Appearance</source>
         <translation>外观(&amp;A)</translation>
     </message>
@@ -12830,27 +13178,27 @@
         <translation type="obsolete">飞溅屏幕(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
         <source>Hide splash screen at startup</source>
         <translation>启动时隐藏飞溅屏幕</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="72"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
         <source>&amp;Icon Theme</source>
         <translation>图标主题(&amp;I)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
         <source>Theme</source>
         <translation>主题</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="84"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
         <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
         <translation>&lt;b&gt;注意:&lt;/b&gt;主题的更改会在下一次QGIS启动时生效</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="263"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
         <source>&amp;Rendering</source>
         <translation>着色(&amp;R)</translation>
     </message>
@@ -12860,22 +13208,22 @@
         <translation type="obsolete">绘制过程中更新(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
         <source>Update display after reading</source>
         <translation>读取后更新显示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
         <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
         <translation>从数据源中读取这么多要素后,地图显示会被更新</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
         <source>features</source>
         <translation>要素</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
         <source>(Set to 0 to not update the display until all features have been read)</source>
         <translation>(如果设置为0,则要等所有要素读取完成后才会更新显示)</translation>
     </message>
@@ -12890,7 +13238,7 @@
         <translation type="obsolete">搜索半径</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="453"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
         <source>Search Radius for Identifying Features</source>
         <translation>识别要素时的搜索半径</translation>
     </message>
@@ -12911,17 +13259,17 @@
 &lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
         <source>Help &amp;Browser</source>
         <translation>帮助浏览器(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
         <source>Open help documents with</source>
         <translation>用它来打开帮助文档</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="696"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
         <source>epiphany</source>
         <translation>epiphany</translation>
     </message>
@@ -12931,22 +13279,22 @@
         <translation type="obsolete">firebird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="711"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
         <source>galeon</source>
         <translation>galeon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="716"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
         <source>konqueror</source>
         <translation>konqueror</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="721"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
         <source>mozilla</source>
         <translation>mozilla</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="726"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
         <source>opera</source>
         <translation>opera</translation>
     </message>
@@ -12971,12 +13319,12 @@
         <translation type="obsolete">&lt;b&gt;注意:&lt;/b&gt;值越高,SVG符号越光滑,但着色速度会变慢</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
         <source>Initial Visibility</source>
         <translation>初始可见性</translation>
     </message>
@@ -13007,7 +13355,7 @@
         <translation type="obsolete">投影</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="597"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
         <source>Select Global Default ...</source>
         <translation>选择全局默认值...</translation>
     </message>
@@ -13017,12 +13365,12 @@
         <translation type="obsolete">图层加载时没有投影信息:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
         <source>Prompt for projection.</source>
         <translation>提示选择投影.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="626"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
         <source>Project wide default projection will be used.</source>
         <translation>使用项目默认的投影.</translation>
     </message>
@@ -13032,32 +13380,32 @@
         <translation type="obsolete">使用下面显示的全局默认投影.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="701"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
         <source>firefox</source>
         <translation>firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="706"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
         <source>mozilla-firefox</source>
         <translation>mozilla-firefox</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="140"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
         <source>Default Map Appearance (Overridden by project properties)</source>
         <translation>默认地图外观 (项目属性优先)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
         <source>Background Color:</source>
         <translation>背景色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="152"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
         <source>Selection Color:</source>
         <translation>选择颜色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
         <source>&amp;Splash screen</source>
         <translation>飞溅屏幕 (&amp;S)</translation>
     </message>
@@ -13067,17 +13415,17 @@
         <translation type="obsolete">抗锯齿</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="361"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>牺牲绘制效率使线的显示更光滑</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="339"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
         <source>By default new la&amp;yers added to the map should be displayed</source>
         <translation>默认情况下添加到地图的新图层将会显示 (&amp;y)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
         <source>&amp;Update during drawing</source>
         <translation>绘制时更新 (&amp;U)</translation>
     </message>
@@ -13087,77 +13435,77 @@
         <translation type="obsolete">选择并测量 (&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="482"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
         <source>Measure tool</source>
         <translation>测量工具</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
         <source>Ellipsoid for distance calculations:</source>
         <translation>计算距离的椭球:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="427"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
         <source>Search radius</source>
         <translation>搜索半径</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="572"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
         <source>Pro&amp;jection</source>
         <translation>投影 (&amp;j)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="607"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
         <source>When layer is loaded that has no projection information</source>
         <translation>加载的图层没有投影信息时</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="633"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
         <source>Global default projection displa&amp;yed below will be used.</source>
         <translation>将使用默认的全局投影(&amp;y)。 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="669"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
         <translation>&lt;b&gt;注意:&lt;/b&gt; 浏览器必须在PATH环境变量下,或者在上面指定完整路径</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="227"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
         <source>Appearance</source>
         <translation type="unfinished">外观</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
         <source>Capitalise layer name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
         <source>Rendering</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="368"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="371"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
         <source>Fix problems with incorrectly filled polygons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="378"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
         <source>Continuously redraw the map when dragging the legend/map divider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="402"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
         <source>&amp;Map tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="439"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -13166,40 +13514,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="463"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="510"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
         <source>Panning and zooming</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
         <source>Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="528"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
         <source>Zoom and recenter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="533"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
         <source>Nothing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="541"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
         <source>Zoom factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="548"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
         <source>Mouse wheel action:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPasteTransformationsBase</name>
@@ -13374,87 +13742,82 @@
 <context>
     <name>QgsPgQueryBuilder</name>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="81"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
         <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
         <translation>表&lt;b&gt;%1&lt;/b&gt;在数据库&lt;b&gt;%2&lt;/b&gt;中,主机&lt;b&gt;%3&lt;/b&gt;,用户&lt;b&gt;%4&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection Failed</source>
         <translation>连接失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="66"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
         <source>Connection to the database failed:</source>
         <translation>连接到数据库失败:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Database error</source>
         <translation>数据库错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="255"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
         <source>Failed to get sample of field values</source>
         <translation>字段值采样失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="281"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
         <source>Query Result</source>
         <translation>查询结果</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source>The where clause returned </source>
         <translation>返回的where子句</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="283"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
         <source> rows.</source>
         <translation>行.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="287"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
         <source>Query Failed</source>
         <translation>查询失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="289"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
         <source>An error occurred when executing the query:</source>
         <translation>执行查询时发生错误:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>No Records</source>
         <translation>没有记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="343"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
         <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
         <translation>您指定的查询返回了零条记录。有效的PostgreSQL图层至少应该有一个要素.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
         <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="215"/>
-        <source>&lt;/p&gt;&lt;p&gt;Error message was: </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>No Query</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="270"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
         <source>You must create a query before you can test it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspgquerybuilder.cpp" line="337"/>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
         <source>Error in Query</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13595,17 +13958,17 @@
 <context>
     <name>QgsPluginManager</name>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="66"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
         <source>Choose a directory</source>
         <translation>选择一个目录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No Plugins</source>
         <translation>没有插件</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspluginmanager.cpp" line="85"/>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
         <source>No QGIS plugins found in </source>
         <translation>未发现QGIS插件</translation>
     </message>
@@ -13696,136 +14059,141 @@
 <context>
     <name>QgsPointDialog</name>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="62"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
         <source>Zoom In</source>
         <translation>放大</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
         <source>z</source>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="67"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
         <source>Zoom Out</source>
         <translation>缩小</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="70"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
         <source>Zoom To Layer</source>
         <translation>缩放到图层范围</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="72"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
         <source>Zoom to Layer</source>
         <translation>缩放到图层范围</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
         <source>Pan Map</source>
         <translation>地图漫游</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="76"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
         <source>Pan the map</source>
         <translation>地图漫游</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
         <source>Add Point</source>
         <translation>增加点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
         <source>.</source>
         <translation>.</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="81"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
         <source>Capture Points</source>
         <translation>创建点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
         <source>Delete Point</source>
         <translation>删除点</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="85"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
         <source>Delete Selected</source>
         <translation>删除选中的记录</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="487"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
         <source>Linear</source>
         <translation type="unfinished">线性</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="314"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
         <source>Helmert</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="260"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
         <source>Choose a name for the world file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="276"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
         <source>-modified</source>
         <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="316"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="321"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
         <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
         <source>Affine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="339"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
         <source>Not implemented!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="334"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
         <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
         <source>&lt;p&gt;The </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="342"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
         <source> transform is not yet supported.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="372"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
         <source>Error</source>
         <translation type="unfinished">错误</translation>
     </message>
     <message>
-        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="373"/>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
         <source>Could not write to </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointDialogBase</name>
@@ -13897,13 +14265,18 @@
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
         <source>...</source>
-        <translation>...</translation>
+        <translation type="obsolete">...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
         <source>Modified raster:</source>
         <translation>修改后的栅格:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsPointStyleWidgetBase</name>
@@ -13926,41 +14299,41 @@
 <context>
     <name>QgsPostgresProvider</name>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
         <source>Unable to access relation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="250"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
         <source>Unable to access the </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
         <source> relation.
 The error message from the database was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="266"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
         <source>No GEOS Support!</source>
         <translation>没有GEOS支持!</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="270"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
         <source>Your PostGIS installation has no GEOS support.
 Feature selection and identification will not work properly.
 Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
         <source>No suitable key column in table</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
         <source>The table has no column suitable for use as a key.
 
 Qgis requires that the table either has a column of type
@@ -13970,195 +14343,183 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
         <source>The unique index on column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1041"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
         <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1061"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
         <source>and </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1066"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
         <source>The unique index based on columns </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1068"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
         <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1114"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
         <source>Unable to find a key column</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1200"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
         <source> derives from </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1204"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
         <source>and is suitable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
         <source>and is not suitable </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1209"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
         <source>type is </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
         <source> and has a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1213"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
         <source> and does not have a suitable constraint)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1303"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
         <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1309"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
         <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1310"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
         <source>The view </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1311"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
         <source>has no column suitable for use as a unique key.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1312"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
         <source>No suitable key column in view</source>
         <translation type="unfinished">视图中没有合适的关键字段</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2749"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
         <source>Unknown geometry type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2750"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
         <source>Column </source>
         <translation type="unfinished">字段</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2760"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
         <source> in </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source> has a geometry type of </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2752"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
         <source>, which Qgis does not currently support.</source>
         <translation>QGIS目前不支持。</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2761"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
         <source>. The database communication log was:
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
         <source>Unable to get feature type and srid</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1289"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
         <source>Note: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1291"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
         <source>initially appeared suitable but does not contain unique data, so is not suitable.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
         <source>INSERT error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1819"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
         <source>An error occured during feature insertion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1830"/>
-        <source>The sql was:
-
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1832"/>
-        <source>SQL error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1891"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
         <source>DELETE error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1885"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
         <source>An error occured during deletion from disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2206"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
         <source>PostGIS error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2211"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
         <source>When trying: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2759"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
         <source>Qgis was unable to determine the type and srid of column </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2198"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
         <source>An error occured contacting the PostgreSQL database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2208"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
         <source>The PostgreSQL database returned: </source>
         <translation type="unfinished"></translation>
     </message>
@@ -14171,62 +14532,62 @@
         <translation>项目属性</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
         <source>Map Units</source>
         <translation>地图单位</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="87"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
         <source>Meters</source>
         <translation>米</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
         <source>Feet</source>
         <translation>英尺</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="104"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
         <source>Decimal degrees</source>
         <translation>十进制度</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="428"/>
         <source>&amp;Help</source>
-        <translation>帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="431"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="464"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="477"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="65"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
         <source>Default project title</source>
         <translation>默认项目标题</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="454"/>
         <source>&amp;Apply</source>
-        <translation>应用(&amp;A)</translation>
+        <translation type="obsolete">应用(&amp;A)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="457"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="38"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
         <source>General</source>
         <translation>普通</translation>
     </message>
@@ -14236,17 +14597,17 @@
         <translation type="obsolete">数字化选项设置</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
         <source>Line Width:</source>
         <translation>线的宽度:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="254"/>
         <source>Snapping Tolerance:</source>
-        <translation>捕捉容限:</translation>
+        <translation type="obsolete">捕捉容限:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="277"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
         <source>Line Colour:</source>
         <translation>线的颜色:</translation>
     </message>
@@ -14256,133 +14617,123 @@
         <translation type="obsolete">光标显示精度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
         <source>Automatic</source>
         <translation>自动</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
         <source>Automatically sets the number of decimal places in the mouse position display</source>
         <translation>在鼠标位置的显示中自动设置小数位数</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="142"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
         <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
         <translation>显示鼠标位置时用到的小数位数自动设置为足够大,这样在鼠标移动一个像素的时候,位置的显示能够有所变化</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="161"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
         <source>Manual</source>
         <translation>手工</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="158"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
         <source>Sets the number of decimal places to use for the mouse position display</source>
         <translation>为鼠标位置的显示设置小数位数</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
         <source>The number of decimal places for the manual option</source>
         <translation>手工选项的小数位数</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="186"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
         <source>decimal places</source>
         <translation>小数位</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="290"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
         <source>Map Appearance</source>
         <translation>地图外观</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="302"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
         <source>Selection Color:</source>
         <translation>选择颜色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="50"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
         <source>Project Title</source>
         <translation>项目标题</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="394"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
         <source>Projection</source>
         <translation>投影</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="406"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
         <source>Enable on the fly projection</source>
         <translation>启用动态投影</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="341"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
         <source>Background Color:</source>
         <translation>背景色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="127"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
         <source>Precision</source>
         <translation>精度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="209"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
         <source>Digitizing</source>
         <translation>数字化</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="62"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
         <source>Descriptive project name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
         <source>Line width in pixels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="270"/>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
         <source>Snapping tolerance in map units</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsProjectionSelector</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="788"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
         <source>QGIS SRSID: </source>
         <translation>QGIS SRSID: </translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="789"/>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
         <source>PostGIS SRID: </source>
         <translation>PostGIS SRID: </translation>
     </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="495"/>
-        <source>User Defined Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="571"/>
-        <source>Geographic Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselector.cpp" line="578"/>
-        <source>Projected Coordinate Systems</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsProjectionSelectorBase</name>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="24"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
         <source>Projection Selector</source>
         <translation>投影选择器</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="47"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
         <source>Projection</source>
         <translation>投影</translation>
     </message>
@@ -14397,42 +14748,42 @@
         <translation type="obsolete">空间参考的ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="67"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="85"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
         <source>Find</source>
         <translation>查找</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="137"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
         <source>Postgis SRID</source>
         <translation>PostGIS SRID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="124"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
         <source>EPSG ID</source>
         <translation>EPSG ID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="111"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
         <source>QGIS SRSID</source>
         <translation>QGIS SRSID</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="98"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="196"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
         <source>Spatial Reference System</source>
         <translation>空间参考系统</translation>
     </message>
     <message>
-        <location filename="../src/widgets/projectionselector/qgsprojectionselectorbase.ui" line="201"/>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
         <source>Id</source>
         <translation>Id</translation>
     </message>
@@ -14446,6 +14797,36 @@
     </message>
 </context>
 <context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>QgsRasterLayer</name>
     <message>
         <location filename="" line="136055884"/>
@@ -14463,17 +14844,17 @@
         <translation type="obsolete">蓝</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3183"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
         <source>Not Set</source>
         <translation>未设置</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2582"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
         <source>Raster Extent: </source>
         <translation>栅格范围:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="2585"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
         <source>Clipped area: </source>
         <translation>切割区域:</translation>
     </message>
@@ -14488,246 +14869,246 @@
         <translation type="obsolete">属性(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3738"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3598"/>
         <source>&lt;center&gt;&lt;b&gt;Transparency&lt;/b&gt;&lt;/center&gt;</source>
-        <translation>&lt;center&gt;&lt;b&gt;透明度&lt;/b&gt;&lt;/center&gt;</translation>
+        <translation type="obsolete">&lt;center&gt;&lt;b&gt;透明度&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3865"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
         <source>Driver:</source>
         <translation>驱动:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3941"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
         <source>Dimensions:</source>
         <translation>尺寸:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3944"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
         <source>X: </source>
         <translation>X: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Y: </source>
         <translation> Y: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3945"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
         <source> Bands: </source>
         <translation> 波段: </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3960"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
         <source>Data Type:</source>
         <translation>数据类型:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3966"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
         <source>GDT_Byte - Eight bit unsigned integer</source>
         <translation>GDT_Byte - 8位无符号整型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3969"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
         <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
         <translation>GDT_UInt16 - 16位无符号整型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3972"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
         <source>GDT_Int16 - Sixteen bit signed integer </source>
         <translation>GDT_Int16 - 16位有符号整型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3975"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
         <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
         <translation>GDT_UInt32 - 32位无符号整型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3978"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
         <source>GDT_Int32 - Thirty two bit signed integer </source>
         <translation>GDT_Int32 - 32位有符号整型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3981"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
         <source>GDT_Float32 - Thirty two bit floating point </source>
         <translation>GDT_Float32 - 32位浮点型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3984"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
         <source>GDT_Float64 - Sixty four bit floating point </source>
         <translation>GDT_Float64 - 64位浮点型</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3987"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
         <source>GDT_CInt16 - Complex Int16 </source>
         <translation>GDT_CInt16 - Complex Int16 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3990"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
         <source>GDT_CInt32 - Complex Int32 </source>
         <translation>GDT_CInt32 - Complex Int32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3993"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
         <source>GDT_CFloat32 - Complex Float32 </source>
         <translation>GDT_CFloat32 - Complex Float32 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3996"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
         <source>GDT_CFloat64 - Complex Float64 </source>
         <translation>GDT_CFloat64 - Complex Float64 </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3999"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
         <source>Could not determine raster data type.</source>
         <translation>无法确定栅格数据的类型.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4004"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
         <source>Pyramid overviews:</source>
         <translation>金字塔概况:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4051"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
         <source>Origin:</source>
         <translation>起点:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4060"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
         <source>Pixel Size:</source>
         <translation>像素大小:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4073"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3873"/>
         <source>Band Statistics (if gathered):</source>
-        <translation>波段统计(如果收集了):</translation>
+        <translation type="obsolete">波段统计(如果收集了):</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4080"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
         <source>Property</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4083"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
         <source>Value</source>
         <translation>值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4964"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
         <source>Band</source>
         <translation>波段</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4099"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
         <source>Band No</source>
         <translation>波段数</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4111"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
         <source>No Stats</source>
         <translation>没有统计值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4114"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
         <source>No stats collected yet</source>
         <translation>尚未收集统计值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4124"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
         <source>Min Val</source>
         <translation>最小值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4132"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
         <source>Max Val</source>
         <translation>最大值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4140"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
         <source>Range</source>
         <translation>范围</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4148"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
         <source>Mean</source>
         <translation>均值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4156"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
         <source>Sum of squares</source>
         <translation>平方和</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4164"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
         <source>Standard Deviation</source>
         <translation>标准偏差</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4172"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
         <source>Sum of all cells</source>
         <translation>像元总和</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4180"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
         <source>Cell Count</source>
         <translation>像元数量</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4210"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4070"/>
         <source>Write access denied</source>
-        <translation>拒绝写操作</translation>
+        <translation type="obsolete">拒绝写操作</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4211"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4071"/>
         <source>Write access denied. Adjust the file permissions and try again.
 
 </source>
-        <translation>拒绝写操作。修改文件权限然后重试.</translation>
+        <translation type="obsolete">拒绝写操作。修改文件权限然后重试.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4279"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
         <source>Average Magphase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4284"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
         <source>Average</source>
         <translation>平均值</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4026"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
         <source>Layer Spatial Reference System: </source>
         <translation>图层的空间参考系统:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4034"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="3894"/>
         <source>Project Spatial Reference System: </source>
-        <translation>项目的空间参考系统:</translation>
+        <translation type="obsolete">项目的空间参考系统:</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4926"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
         <source>out of extent</source>
         <translation>超出范围</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4958"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
         <source>null (no data)</source>
         <translation>空值(no data)</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4300"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4160"/>
         <source>Building pyramids failed.</source>
-        <translation>建立金字塔失败.</translation>
+        <translation type="obsolete">建立金字塔失败.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4232"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4092"/>
         <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
-        <translation>文件必须是可写入的。有些格式是不可写入的,只能读取。您还要检查文件的权限,然后再重试.</translation>
+        <translation type="obsolete">文件必须是可写入的。有些格式是不可写入的,只能读取。您还要检查文件的权限,然后再重试.</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="4301"/>
+        <location filename="../src/raster/qgsrasterlayer.cpp" line="4161"/>
         <source>Building pyramid overviews is not supported on this type of raster.</source>
-        <translation>此类栅格不支持建立金字塔的概略图.</translation>
+        <translation type="obsolete">此类栅格不支持建立金字塔的概略图.</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -14735,17 +15116,17 @@
         <translation type="obsolete">转换为(&amp;C)... </translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3891"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
         <source>Dataset Description</source>
         <translation>数据集描述</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="3952"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
         <source>No Data Value</source>
         <translation>没有数据直</translation>
     </message>
     <message>
-        <location filename="../src/raster/qgsrasterlayer.cpp" line="348"/>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
         <source>and all other files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14768,65 +15149,92 @@
         <translation type="obsolete">No Data:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="630"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
         <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;多波段影像注释&lt;/h3&gt;&lt;p&gt;这是一个多波段影像。您可以将它着色为灰度或彩色(RGB)。对于彩色影像,您可以为每个波段关联任意的颜色。比如有一个七波段的landsat影像,您可以这样着色:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;可见蓝光 (0.45到0.52微米) - 未映射&lt;/li&gt;&lt;li&gt;可见绿光(0.52到0.60微米) - 未映射&lt;/li&gt;&lt;/li&gt;可见红光(0.63到0.69微米) - 映射为红色&lt;/li&gt;&lt;li&gt;近红外(0.76到0.90微米) - 映射为绿色&lt;/li&gt;&lt;li&gt;中红外(1.55到1.75微米) - 未映射&lt;/li&gt;&lt;li&gt;热红外(10.4到12.5微米) - 未映射&lt;/li&gt;&lt;li&gt;中红外(2.08到2.35微米) - 映射为蓝色&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="637"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
         <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
         <translation>&lt;h3&gt;色调影像注释&lt;/h3&gt; &lt;p&gt;这个影像使用了一个固定的色调。您可以将这些颜色重新映射为不同的组合。如&lt;/p&gt;&lt;ul&gt;&lt;li&gt;红色 - 映射为蓝色&lt;/li&gt;&lt;li&gt;绿色 - 映射为蓝色&lt;/li&gt;&lt;li&gt;蓝色 - 映射为绿色&lt;/li&gt;&lt;/ul&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="644"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
         <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;灰度影像注释&lt;/h3&gt; &lt;p&gt;您可以将灰度重新映射为伪彩色,使用一个自动生成的色阶。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="667"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
         <source>Grayscale</source>
         <translation>灰阶</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="657"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
         <source>Pseudocolor</source>
         <translation>伪彩色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="661"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
         <source>Freak Out</source>
         <translation>反常</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="112"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
         <source>Palette</source>
         <translation>调色板</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="213"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
         <source>Not Set</source>
         <translation>未设置</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="550"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
         <source>Columns: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="551"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
         <source>Rows: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>No-Data Value: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrasterlayerproperties.cpp" line="552"/>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
         <source>n/a</source>
         <translation type="unfinished">n/a</translation>
     </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished">拒绝写操作</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished">拒绝写操作。修改文件权限然后重试.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished">建立金字塔失败.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished">文件必须是可写入的。有些格式是不可写入的,只能读取。您还要检查文件的权限,然后再重试.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished">此类栅格不支持建立金字塔的概略图.</translation>
+    </message>
 </context>
 <context>
     <name>QgsRasterLayerPropertiesBase</name>
@@ -14838,35 +15246,35 @@
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1064"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1032"/>
         <source>&amp;Apply</source>
-        <translation>应用(&amp;A)</translation>
+        <translation type="obsolete">应用(&amp;A)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1035"/>
         <source>Alt+A</source>
-        <translation>Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1003"/>
         <source>&amp;Help</source>
-        <translation>帮助(&amp;H)</translation>
+        <translation type="obsolete">帮助(&amp;H)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1006"/>
         <source>F1</source>
-        <translation>F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="35"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
         <source>Symbology</source>
         <translation>符号化</translation>
     </message>
@@ -14876,27 +15284,27 @@
         <translation type="obsolete">外观</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="59"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
         <source>Transparency:</source>
         <translation>透明度:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="69"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
         <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
         <translation>&lt;p align=&quot;right&quot;&gt;完全透明&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="109"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
         <source>None</source>
         <translation>不透明</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="151"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
         <source>Invert Color Map</source>
         <translation>反转色彩影射表</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="89"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
         <source>0%</source>
         <translation>0%</translation>
     </message>
@@ -14906,27 +15314,27 @@
         <translation type="obsolete">RGB</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="210"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
         <source>Band</source>
         <translation>波段</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="233"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
         <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;绿&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="243"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
         <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;红&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="266"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
         <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
         <translation>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;蓝&lt;/font&gt;&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="203"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
         <source>Color</source>
         <translation>颜色</translation>
     </message>
@@ -14936,17 +15344,17 @@
         <translation type="obsolete">灰阶</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="356"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
         <source>Gray</source>
         <translation>灰度</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="340"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
         <source>Std Deviations</source>
         <translation>标准偏差</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="330"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
         <source>Color Map</source>
         <translation>色彩影射表</translation>
     </message>
@@ -14966,12 +15374,12 @@
         <translation type="obsolete">单波段</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="370"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
         <source>General</source>
         <translation>普通</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="542"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
         <source>Display Name:</source>
         <translation>显示名称:</translation>
     </message>
@@ -14981,37 +15389,37 @@
         <translation type="obsolete">是否在叠加栅格的时候显示调试信息?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="562"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
         <source>Layer Source:</source>
         <translation>图层的源:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="390"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
         <source>Thumbnail</source>
         <translation>缩略图</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="580"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
         <source>Columns:</source>
         <translation>列:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="594"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
         <source>No Data:</source>
         <translation>No Data:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="587"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
         <source>Rows:</source>
         <translation>行:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="440"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
         <source>Legend:</source>
         <translation>图例:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="490"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
         <source>Palette:</source>
         <translation>调色板:</translation>
     </message>
@@ -15051,37 +15459,37 @@
         <translation type="obsolete">&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;请注意:&lt;/font&gt; 高级的符号化功能还没有实现!&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="704"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
         <source>Metadata</source>
         <translation>元数据</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="720"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
         <source>Pyramids</source>
         <translation>金字塔</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="808"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
         <source>Resampling Method</source>
         <translation>重采样方法</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="819"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
         <source>Average</source>
         <translation>平均值</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="824"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
         <source>Nearest Neighbour</source>
         <translation>最邻近采样</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="832"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
         <source>Build Pyramids</source>
         <translation>建立金字塔</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="732"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
         <source>Pyramid Resolutions</source>
         <translation>金字塔的分辨率</translation>
     </message>
@@ -15096,22 +15504,22 @@
         <translation type="obsolete">依比例着色</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="638"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
         <source>Maximum 1:</source>
         <translation>最大值1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="625"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>图层显示的最大比例.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="661"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
         <source>Minimum 1:</source>
         <translation>最小值1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="648"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>图层显示的最小比例.</translation>
     </message>
@@ -15142,37 +15550,37 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="842"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
         <source>Histogram</source>
         <translation>直方图</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="867"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
         <source>Options</source>
         <translation>选项</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
         <source>Out Of Range OK?</source>
         <translation>超出范围,OK?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
         <source>Allow Approximation</source>
         <translation>允许近似值</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="922"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
         <source>Chart Type</source>
         <translation>图表类型</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
         <source>Bar Chart</source>
         <translation>条状图表</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="934"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
         <source>Line Graph</source>
         <translation>线图</translation>
     </message>
@@ -15182,32 +15590,32 @@
         <translation type="obsolete">X的范围:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="954"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
         <source>Refresh</source>
         <translation>刷新</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="674"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
         <source>Spatial Reference System</source>
         <translation>空间参考系统</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="686"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
         <source>Change</source>
         <translation>改变</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="47"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
         <source>Display</source>
         <translation>显示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="289"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
         <source>Grayscale Image</source>
         <translation>灰度影像</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
         <source>Color Image</source>
         <translation>彩色影像</translation>
     </message>
@@ -15223,22 +15631,22 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="603"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
         <source>DebugInfo</source>
         <translation>调试信息</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="610"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
         <source>Scale Dependent Visibility</source>
         <translation>依比例显示</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="879"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
         <source>Column Count:</source>
         <translation>字段数:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="169"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
 &lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;
@@ -15246,9 +15654,14 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="768"/>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
-&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:15pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
 &lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
@@ -15256,31 +15669,26 @@
 </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="276"/>
-        <source>Transparent</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsRunProcess</name>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="53"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
         <source>Unable to run command</source>
         <translation>不能运行命令</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrunprocess.cpp" line="54"/>
         <source>Unable to run the command</source>
-        <translation>不能运行该命令</translation>
+        <translation type="obsolete">不能运行该命令</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="66"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
         <source>Starting</source>
         <translation>开始</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsrunprocess.cpp" line="127"/>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
         <source>Done</source>
         <translation>完成</translation>
     </message>
@@ -15288,97 +15696,97 @@
 <context>
     <name>QgsScaleBarPlugin</name>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="165"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
         <source> metres/km</source>
         <translation>米/千米</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="264"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
         <source> feet</source>
         <translation>英尺</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="270"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
         <source> degrees</source>
         <translation>度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="244"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
         <source> km</source>
         <translation>千米</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="249"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
         <source> mm</source>
         <translation>毫米</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="254"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
         <source> cm</source>
         <translation>厘米</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
         <source> m</source>
         <translation>米</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
         <source> foot</source>
         <translation>英尺</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
         <source> degree</source>
         <translation>度</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="273"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
         <source> unknown</source>
         <translation>未知</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="80"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="81"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
         <source>Tick Down</source>
         <translation>开口向下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Tick Up</source>
         <translation>开口向上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Bar</source>
         <translation>条状</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
         <source>Box</source>
         <translation>矩形框</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="525"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
         <source>&amp;Decorations</source>
         <translation>装饰 (&amp;D)</translation>
     </message>
@@ -15388,7 +15796,7 @@
         <translation type="obsolete">比例尺 (&amp;S)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="105"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>在地图视图中创建一个比例尺</translation>
     </message>
@@ -15398,7 +15806,7 @@
         <translation type="obsolete">比例尺</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/plugin.cpp" line="104"/>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
         <source>&amp;Scale Bar</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15406,29 +15814,29 @@
 <context>
     <name>QgsScaleBarPluginGuiBase</name>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="352"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
         <source>Scale Bar Plugin</source>
         <translation>比例尺插件</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="58"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="61"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="68"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="71"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -15444,27 +15852,27 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="195"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
         <source>Top Left</source>
         <translation>左上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="200"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
         <source>Top Right</source>
         <translation>右上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="205"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
         <source>Bottom Left</source>
         <translation>左下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="210"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
         <source>Bottom Right</source>
         <translation>右下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="146"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
         <source>Size of bar:</source>
         <translation>比例尺的大小:</translation>
     </message>
@@ -15474,62 +15882,62 @@
         <translation type="obsolete">选择颜色</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="306"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
         <source>Placement:</source>
         <translation>位置:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="263"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
         <source>Tick Down</source>
         <translation>开口向下</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="268"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
         <source>Tick Up</source>
         <translation>开口向上</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="273"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
         <source>Box</source>
         <translation>矩形框</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="278"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
         <source>Bar</source>
         <translation>条状</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="259"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
         <source>Select the style of the scale bar</source>
         <translation>选择比例尺样式</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="179"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
         <source>Colour of bar:</source>
         <translation>比例尺的颜色:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="244"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
         <source>Scale bar style:</source>
         <translation>比例尺的样式:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
         <source>Enable scale bar</source>
         <translation>显示比例尺</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="161"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
         <source>Automatically snap to round number on resize</source>
         <translation>刻度取整</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="128"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
         <source>Click to select the colour</source>
         <translation>点击选择颜色</translation>
     </message>
     <message>
-        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="326"/>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15550,42 +15958,37 @@
 <context>
     <name>QgsSearchQueryBuilder</name>
     <message numerus="yes">
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="130"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
         <source>Found %d matching features.</source>
         <translation type="unfinished">
             <numerusform>找到%d个匹配的要素。</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="132"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
         <source>No matching features found.</source>
         <translation>未找到匹配的要素。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="133"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
         <source>Search results</source>
         <translation>搜索结果</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="142"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
         <source>Search string parsing error</source>
         <translation>搜索字符串解析错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>No Records</source>
         <translation>没有记录</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
         <source>The query you specified results in zero records being returned.</source>
         <translation>您指定的查询没有返回任何记录。</translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgssearchquerybuilder.cpp" line="34"/>
-        <source>Search query builder</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsServerSourceSelect</name>
@@ -15600,84 +16003,84 @@
         <translation type="obsolete">JPEG</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source>Are you sure you want to remove the </source>
         <translation>您确实想删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="158"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
         <source> connection and all associated settings?</source>
         <translation>连接和所有相关的设置?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Confirm Delete</source>
         <translation>确认删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>Yes</source>
-        <translation>是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="159"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
         <source>No</source>
-        <translation>否</translation>
+        <translation type="obsolete">否</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="441"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
         <source>WMS Provider</source>
         <translation>WMS源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="443"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
         <source>Could not open the WMS Provider</source>
         <translation>无法打开WMS源</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>Select Layer</source>
         <translation>选择图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="452"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
         <source>You must select at least one layer first.</source>
         <translation>您至少要选择一个图层。</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="575"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
         <source>Coordinate Reference System (%1 available)</source>
         <translation type="unfinished">
             <numerusform>坐标参考系统 (%1有效)</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="754"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
         <source>Could not understand the response.  The</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="755"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
         <source>provider said</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>WMS proxies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="810"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
         <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>Coordinate Reference System</source>
         <translation type="unfinished">坐标参考系统</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsserversourceselect.cpp" line="456"/>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
         <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -15803,17 +16206,17 @@
 <context>
     <name>QgsShapeFile</name>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
         <source>The database gave an error while executing this SQL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="415"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
         <source>The error was:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
         <source>... (rest of SQL trimmed)</source>
         <comment>is appended to a truncated SQL statement</comment>
         <translation type="unfinished"></translation>
@@ -15923,27 +16326,27 @@
         <translation>单一符号</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="33"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
         <source>Fill Patterns:</source>
         <translation>填充样式:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="805"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
         <source>Point</source>
         <translation>点</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="857"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
         <source>Size</source>
         <translation>大小</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="891"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
         <source>Symbol</source>
         <translation>符号</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="549"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
         <source>Outline Width:</source>
         <translation>轮廓线的宽度:</translation>
     </message>
@@ -15953,65 +16356,70 @@
         <translation type="obsolete">...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="601"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
         <source>Fill Color:</source>
         <translation>填充颜色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="611"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
         <source>Outline color:</source>
         <translation>轮廓线的颜色:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="640"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
         <source>Outline Style:</source>
         <translation>轮廓线的样式:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="918"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
         <source>Label:</source>
         <translation>标签:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
         <source>No Fill</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsSpit</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Are you sure you want to remove the [</source>
         <translation>您确实想删除[</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="143"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>] connection and all associated settings?</source>
         <translation>]连接和所有相关的设置?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
         <source>Confirm Delete</source>
         <translation>确认删除</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>Yes</source>
-        <translation>是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
         <source>No</source>
-        <translation>否</translation>
+        <translation type="obsolete">否</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="865"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
         <source> - Edit Column Names</source>
         <translation>- 编辑字段名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="306"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
         <source>The following Shapefile(s) could not be loaded:
 
 </source>
@@ -16020,278 +16428,278 @@
 </translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="310"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
         <source>REASON: File cannot be opened</source>
         <translation>原因: 文件无法打开</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="315"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
         <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
         <translation>原因: 缺少Shapefile (*.dbf, *.shx)文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="392"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
         <source>General Interface Help:</source>
         <translation type="unfinished">通用接口帮助:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="394"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
         <source>PostgreSQL Connections:</source>
         <translation>PostgreSQL连接:</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="396"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
         <source>[New ...] - create a new connection</source>
         <translation>[新建...] - 创建一个新连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
         <source>[Edit ...] - edit the currently selected connection</source>
         <translation>[编辑...] - 编辑当前选中的连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
         <source>[Remove] - remove the currently selected connection</source>
         <translation>[移除] - 移除当前选中的连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
         <source>-you need to select a connection that works (connects properly) in order to import files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
         <source>-when changing connections Global Schema also changes accordingly</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
         <source>Shapefile List:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="403"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
         <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
         <source>[Remove] - remove the currently selected file(s) from the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
         <source>[Remove All] - remove all the files in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
         <source>[SRID] - Reference ID for the shapefiles to be imported</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
         <source>[Use Default (SRID)] - set SRID to -1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
         <source>[Geometry Column Name] - name of the geometry column in the database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
         <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
         <source>[Glogal Schema] - set the schema for all files to be imported into</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="412"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
         <source>[Import] - import the current shapefiles in the list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
         <source>[Quit] - quit the program
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
         <source>[Help] - display this help dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="839"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
         <source>Import Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="428"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
         <source>You need to specify a Connection first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="442"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
         <source>Connection failed - Check settings and try again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="546"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
         <source>You need to add shapefiles to the list first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="607"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
         <source>Importing files</source>
         <translation>导入文件</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="551"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="555"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
         <source>Progress</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="562"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
         <source>Problem inserting features from file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="569"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
         <source>Invalid table name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="579"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
         <source>No fields detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="600"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
         <source>The following fields are duplicates:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="702"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
         <source>Import Shapefiles - Relation Exists</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
         <source>The Shapefile:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>will use [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>] relation for its data,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
         <source>which already exists and possibly contains data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
         <source>for this Shapefile in the main dialog file list.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>Do you want to overwrite the [</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
         <source>] relation?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="868"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
         <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>File Name</source>
         <translation>文件名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
         <source>Feature Class</source>
         <translation>要素类</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Features</source>
         <translation>要素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>DB Relation Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="71"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
         <source>Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="120"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
         <source>New Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="168"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
         <source>Add Shapefiles</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="170"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
         <source>Shapefiles (*.shp);;All files (*.*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="473"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
         <source>PostGIS not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="475"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
         <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="592"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
         <source>Checking to see if </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="841"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
         <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspit.cpp" line="842"/>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
         <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16299,67 +16707,67 @@
 <context>
     <name>QgsSpitBase</name>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="22"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
         <source>SPIT - Shapefile to PostGIS Import Tool</source>
         <translation>SPIT - Shapefile to PostGIS的导入工具</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="56"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
         <source>Shapefile to PostGIS Import Tool</source>
         <translation>Shapefile to PostGIS的导入工具</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="455"/>
         <source>Help</source>
-        <translation>帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="484"/>
         <source>Import</source>
-        <translation>导入</translation>
+        <translation type="obsolete">导入</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="481"/>
         <source>Import the defined shapefiles to PostGIS</source>
-        <translation>将选定的shapefile导入到PostGIS中</translation>
+        <translation type="obsolete">将选定的shapefile导入到PostGIS中</translation>
     </message>
     <message>
         <location filename="../src/plugins/spit/qgsspitbase.ui" line="491"/>
         <source>Close</source>
-        <translation>关闭</translation>
+        <translation type="obsolete">关闭</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="66"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
         <source>Shapefile List</source>
         <translation>Shapefile文件列表</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="102"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
         <source>Add</source>
         <translation>添加</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
         <source>Add a shapefile to the list of files to be imported</source>
         <translation>向将要导入的文件列表中添加一个shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="402"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
         <source>Remove</source>
         <translation>移除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="112"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
         <source>Remove the selected shapefile from the import list</source>
         <translation>从导入列表中移除选定的shapefile</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="128"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
         <source>Remove All</source>
         <translation>全部移除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
         <source>Remove all the shapefiles from the import list</source>
         <translation>移除导入列表中所有的shapefile</translation>
     </message>
@@ -16379,72 +16787,72 @@
         <translation type="obsolete">要素</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="333"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
         <source>Global Schema</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="190"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
         <source>SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="218"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
         <source>Use Default SRID</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
         <source>Set the SRID to the default value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="257"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
         <source>Use Default Geometry Column Name</source>
         <translation>使用默认的几何字段的名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
         <source>Set the geometry column name to the default value</source>
         <translation>将几何字段的名称设置为默认值</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="272"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
         <source>Geometry Column Name</source>
         <translation>几何字段的名称</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="363"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
         <source>PostgreSQL Connections</source>
         <translation>PostgreSQL连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="389"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
         <source>New</source>
         <translation>新建</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
         <source>Create a new PostGIS connection</source>
         <translation>创建一个新的PostGIS连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
         <source>Remove the current PostGIS connection</source>
         <translation>删除当前的PostGIS连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="412"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
         <source>Connect</source>
         <translation>连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="425"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
         <source>Edit</source>
         <translation>编辑</translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
         <source>Edit the current PostGIS connection</source>
         <translation>编辑当前的PostGIS连接</translation>
     </message>
@@ -16462,7 +16870,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="97"/>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
         <source>&amp;Spit</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16506,15 +16914,25 @@
 <context>
     <name>QgsUniqueValueDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="16"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
         <source>Form1</source>
         <translation>窗体1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="77"/>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
         <source>Classification Field:</source>
         <translation>分类字段:</translation>
     </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
@@ -16529,9 +16947,9 @@
         <translation type="obsolete">在当前激活图层的鼠标点击位置上未发现要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1025"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1013"/>
         <source>Attribute table - </source>
-        <translation>属性表</translation>
+        <translation type="obsolete">属性表</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16539,9 +16957,9 @@
         <translation type="obsolete">&lt;center&gt;&lt;b&gt;矢量图层&lt;/b&gt;&lt;/center&gt;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1360"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1348"/>
         <source>&amp;Open attribute table</source>
-        <translation>打开属性表(&amp;O)</translation>
+        <translation type="obsolete">打开属性表(&amp;O)</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16554,29 +16972,29 @@
         <translation type="obsolete">开始编辑</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Stop editing</source>
-        <translation>结束编辑</translation>
+        <translation type="obsolete">结束编辑</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1386"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1374"/>
         <source>Save as shapefile...</source>
-        <translation>存储为shapefile...</translation>
+        <translation type="obsolete">存储为shapefile...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1828"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1816"/>
         <source>Provider does not support deletion</source>
-        <translation>供应者不支持删除</translation>
+        <translation type="obsolete">供应者不支持删除</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1829"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1817"/>
         <source>Data provider does not support deleting features</source>
-        <translation>数据供应者不支持删除要素</translation>
+        <translation type="obsolete">数据供应者不支持删除要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2753"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2741"/>
         <source>Layer not editable</source>
-        <translation>图层不可编辑</translation>
+        <translation type="obsolete">图层不可编辑</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16589,79 +17007,79 @@
         <translation type="obsolete">命令</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>Do you want to save the changes?</source>
-        <translation>您是否想保存更改?</translation>
+        <translation type="obsolete">您是否想保存更改?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;Yes</source>
-        <translation>是(&amp;Y)</translation>
+        <translation type="obsolete">是(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1955"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1943"/>
         <source>&amp;No</source>
-        <translation>否(&amp;N)</translation>
+        <translation type="obsolete">否(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Invert Selection...</source>
-        <translation>反转选中的记录...</translation>
+        <translation type="obsolete">反转选中的记录...</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1170"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1158"/>
         <source>Abort</source>
-        <translation>放弃</translation>
+        <translation type="obsolete">放弃</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1368"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1356"/>
         <source>Allow Editing</source>
-        <translation>放弃编辑</translation>
+        <translation type="obsolete">放弃编辑</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2746"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2734"/>
         <source>Layer cannot be added to</source>
-        <translation>不能添加图层</translation>
+        <translation type="obsolete">不能添加图层</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2747"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2735"/>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation>该图层的数据源不支持要素的添加。</translation>
+        <translation type="obsolete">该图层的数据源不支持要素的添加。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2754"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2742"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu.</source>
-        <translation>当前图层无法编辑。在图例中右键单击该条目,选择&apos;允许编辑&apos;。</translation>
+        <translation type="obsolete">当前图层无法编辑。在图例中右键单击该条目,选择&apos;允许编辑&apos;。</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1836"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1824"/>
         <source>The current layer is not editable. Choose &apos;Allow editing&apos; in the legend item right click menu</source>
         <translation type="obsolete">当前图层无法编辑。在图例中右键单击该条目,选择&apos;允许编辑&apos;</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1920"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1908"/>
         <source>Start editing failed</source>
-        <translation>开始编辑失败</translation>
+        <translation type="obsolete">开始编辑失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1921"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1909"/>
         <source>Provider cannot be opened for editing</source>
-        <translation>数据源不能以可写方式打开</translation>
+        <translation type="obsolete">数据源不能以可写方式打开</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2610"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
         <source>Error</source>
-        <translation>错误</translation>
+        <translation type="obsolete">错误</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1963"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1951"/>
         <source>Could not commit changes</source>
-        <translation>无法提交更改</translation>
+        <translation type="obsolete">无法提交更改</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1987"/>
+        <location filename="../src/gui/qgsvectorlayer.cpp" line="1975"/>
         <source>Problems during roll back</source>
-        <translation>回滚时发生问题</translation>
+        <translation type="obsolete">回滚时发生问题</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16679,85 +17097,70 @@
         <translation type="obsolete">无法提交几何形状的更改</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="1680"/>
-        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2507"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
         <source>Could not commit the added features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2608"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
         <source>No other types of changes will be committed at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2534"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
         <source>Could not commit the changed attributes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2598"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
         <source>However, the added features were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2559"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
         <source>Could not commit the changed geometries.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2602"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
         <source>However, the changed attributes were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2595"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
         <source>Could not commit the deleted features.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2606"/>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
         <source>However, the changed geometries were committed OK.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2718"/>
-        <source>Cannot retrieve features</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/gui/qgsvectorlayer.cpp" line="2719"/>
-        <source>The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="94"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
         <source>Transparency: </source>
         <translation>透明度:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="182"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
         <source>Single Symbol</source>
         <translation>单一符号</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="185"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Graduated Symbol</source>
         <translation>渐进符号</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="186"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
         <source>Continuous Color</source>
         <translation>连续色</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="187"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
         <source>Unique Value</source>
         <translation>独立值</translation>
     </message>
@@ -16767,128 +17170,128 @@
         <translation type="obsolete">数据源(路径名称或数据库连接信息)</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="143"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
         <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>这个按钮可以打开PostgreSQL查询构建器,它允许您创建一个图层要素的子集显示在地图上,而不是显示整个图层的所有要素</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="144"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
         <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
         <translation>这里的查询用来限制图层上显示的要素。目前只支持PostgreSQL图层。要输入或修改查询,请点击查询构建器按钮</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Spatial Index</source>
         <translation>空间索引</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="368"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
         <source>Creation of spatial index successfull</source>
         <translation>创建空间索引成功</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="373"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
         <source>Creation of spatial index failed</source>
         <translation>创建空间索引失败</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="386"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
         <source>General:</source>
         <translation>常规:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="392"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
         <source>Storage type of this layer : </source>
         <translation>该图层的存储类型:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="419"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
         <source>Geometry type of the features in this layer : </source>
         <translation>该图层的要素的几何类型:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="427"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
         <source>The number of features in this layer : </source>
         <translation>这个图层的要素数目:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="432"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
         <source>Editing capabilities of this layer : </source>
         <translation>该图层的编辑能力: </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="439"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
         <source>Extents:</source>
         <translation>范围:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="444"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
         <source>In layer spatial reference system units : </source>
         <translation>以图层空间参考系统的单位计算:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="469"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
         <source>xMin,yMin </source>
         <translation>xMin,yMin </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="473"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
         <source> : xMax,yMax </source>
         <translation> : xMax,yMax </translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
         <source>In project spatial reference system units : </source>
         <translation>以项目空间参考系统的单位计算:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="484"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
         <source>Layer Spatial Reference System:</source>
         <translation>图层的空间参考系统:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="494"/>
+        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="498"/>
         <source>Project (Output) Spatial Reference System:</source>
-        <translation>项目的(输出的)空间参考系统:</translation>
+        <translation type="obsolete">项目的(输出的)空间参考系统:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="517"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
         <source>Attribute field info:</source>
         <translation>属性字段信息:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="524"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
         <source>Field</source>
         <translation>字段</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="527"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
         <source>Type</source>
         <translation>类型</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="530"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
         <source>Length</source>
         <translation>长度</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="533"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
         <source>Precision</source>
         <translation>精度</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="398"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
         <source>Source for this layer : </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="506"/>
-        <source>In project spatial reference system units: </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsvectorlayerproperties.cpp" line="507"/>
-        <source> (Invalid transformation of layer extents) </source>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16900,7 +17303,7 @@
         <translation>图层属性</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
         <source>Legend type:</source>
         <translation>图例类型:</translation>
     </message>
@@ -16912,7 +17315,7 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="77"/>
         <source>Help</source>
-        <translation>帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16927,12 +17330,12 @@
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="60"/>
         <source>OK</source>
-        <translation>确定</translation>
+        <translation type="obsolete">确定</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="67"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -16940,131 +17343,131 @@
         <translation type="obsolete">文本标签2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="91"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
         <source>Symbology</source>
         <translation>符号化</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
         <source>Transparency:</source>
         <translation>透明度:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="173"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
         <source>General</source>
         <translation>常规</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="221"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
         <source>Use scale dependent rendering</source>
         <translation>依比例着色</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="236"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
         <source>Maximum 1:</source>
         <translation>最大值1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
         <source>Minimum 1:</source>
         <translation>最小值1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
         <source>Minimum scale at which this layer will be displayed. </source>
         <translation>图层显示的最小比例.
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="269"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
         <source>Maximum scale at which this layer will be displayed. </source>
         <translation>图层显示的最大比例.
 </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="185"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
         <source>Display name</source>
         <translation>显示名称</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="211"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
         <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
         <translation>用该控件来设置某个字段显示在识别结果对话框的顶部.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="333"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
         <source>Spatial Reference System</source>
         <translation>空间参考系统</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
         <source>Change</source>
         <translation>改变</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="195"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
         <source>Display field for the Identify Results dialog box</source>
         <translation>识别结果对话框中显示的字段</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="198"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
         <source>This sets the display field for the Identify Results dialog box</source>
         <translation>在此处设置识别结果对话框中显示的字段</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="201"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
         <source>Display field</source>
         <translation>显示字段</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="362"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
         <source>Subset</source>
         <translation>子集</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="403"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
         <source>Query Builder</source>
         <translation>查询构建器</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="285"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
         <source>Spatial Index</source>
         <translation>空间索引</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="297"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
         <source>Create Spatial Index</source>
         <translation>创建空间索引</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="307"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
         <source>Create</source>
         <translation>创建</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="414"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
         <source>Metadata</source>
         <translation>元数据</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="434"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
         <source>Labels</source>
         <translation>标签</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="472"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
         <source>Display labels</source>
         <translation>显示标签</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="480"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
         <source>Actions</source>
         <translation>命令</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="53"/>
         <source>Apply</source>
-        <translation>应用</translation>
+        <translation type="obsolete">应用</translation>
     </message>
 </context>
 <context>
@@ -17128,7 +17531,7 @@
 <context>
     <name>QgsWFSPlugin</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="61"/>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
         <source>&amp;Add WFS layer</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17136,29 +17539,29 @@
 <context>
     <name>QgsWFSSourceSelect</name>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source>Are you sure you want to remove the </source>
         <translation type="unfinished">您确实想删除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="208"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
         <source> connection and all associated settings?</source>
         <translation type="unfinished">连接和所有相关的设置?</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
         <source>Confirm Delete</source>
         <translation type="unfinished">确认删除</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>Yes</source>
-        <translation type="unfinished">是</translation>
+        <translation type="obsolete">是</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="209"/>
         <source>No</source>
-        <translation type="unfinished">否</translation>
+        <translation type="obsolete">否</translation>
     </message>
 </context>
 <context>
@@ -17191,55 +17594,55 @@
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="106"/>
         <source>Help</source>
-        <translation type="unfinished">帮助</translation>
+        <translation type="obsolete">帮助</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="109"/>
         <source>F1</source>
-        <translation type="unfinished">F1</translation>
+        <translation type="obsolete">F1</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="138"/>
         <source>&amp;Add</source>
-        <translation type="unfinished">增加 (&amp;A)</translation>
+        <translation type="obsolete">增加 (&amp;A)</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="141"/>
         <source>Alt+A</source>
-        <translation type="unfinished">Alt+A</translation>
+        <translation type="obsolete">Alt+A</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="154"/>
         <source>C&amp;lose</source>
-        <translation type="unfinished">关闭(&amp;l)</translation>
+        <translation type="obsolete">关闭(&amp;l)</translation>
     </message>
     <message>
         <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="157"/>
         <source>Alt+L</source>
-        <translation type="unfinished">Alt+L</translation>
+        <translation type="obsolete">Alt+L</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="169"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
         <source>Server Connections</source>
         <translation type="unfinished">服务器连接</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="181"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
         <source>&amp;New</source>
         <translation type="unfinished">新建(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="191"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
         <source>Delete</source>
         <translation type="unfinished">删除</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="201"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
         <source>Edit</source>
         <translation type="unfinished">编辑</translation>
     </message>
     <message>
-        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="227"/>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
         <source>C&amp;onnect</source>
         <translation type="unfinished">连接 (&amp;o)</translation>
     </message>
@@ -17252,282 +17655,282 @@
 <context>
     <name>QgsWmsProvider</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="737"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Tried URL: </source>
         <translation>尝试URL: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="715"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
         <source>HTTP Exception</source>
         <translation>HTTP异常</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="732"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
         <source>WMS Service Exception</source>
         <translation>WMS服务异常</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
         <source>DOM Exception</source>
         <translation>DOM异常</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
         <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="892"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
         <source>This is probably due to an incorrect WMS Server URL.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="888"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
         <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1697"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
         <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
         <source>Request contains a Format not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1757"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1761"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1770"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1774"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1778"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1783"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1788"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1797"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1805"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
         <source>(Unknown error code from a post-1.3 WMS server)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1808"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
         <source>The WMS vendor also reported: </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
         <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2030"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
         <source>Server Properties:</source>
         <translation>服务器属性:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2161"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Property</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2164"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
         <source>Value</source>
         <translation>值</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
         <source>WMS Version</source>
         <translation>WMS版本</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2293"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
         <source>Title</source>
         <translation>标题</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2301"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Abstract</source>
         <translation>摘要</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2071"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Keywords</source>
         <translation>关键字</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
         <source>Online Resource</source>
         <translation>在线资源</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2087"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
         <source>Contact Person</source>
         <translation>联系人</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2099"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
         <source>Fees</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2107"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
         <source>Access Constraints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2115"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Image Formats</source>
         <translation>影像格式</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2123"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
         <source>Identify Formats</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2131"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
         <source>Layer Count</source>
         <translation>图层数量</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
         <source>Layer Properties: </source>
         <translation>图层属性:</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2169"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <source>Selected</source>
         <translation>选中的</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>Yes</source>
         <translation>是</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
         <source>No</source>
         <translation>否</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
         <source>Visibility</source>
         <translation>可见性</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2184"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
         <source>Visible</source>
         <translation>显示</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2185"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
         <source>Hidden</source>
         <translation>隐藏</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
         <source>n/a</source>
         <translation>n/a</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2207"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
         <source>Can Identify</source>
         <translation>可识别</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2215"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
         <source>Can be Transparent</source>
         <translation>可透明</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2223"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
         <source>Can Zoom In</source>
         <translation>可缩放</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Cascade Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Fixed Width</source>
         <translation>固定宽度</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2247"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
         <source>Fixed Height</source>
         <translation>固定高度</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2255"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
         <source>WGS 84 Bounding Box</source>
         <translation>WGS 84 边框范围</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
         <source>Available in CRS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2276"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
         <source>Available in style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2285"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2388"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
         <source>Layer cannot be queried.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17546,16 +17949,97 @@
     </message>
 </context>
 <context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished">QGIS插件模板</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished">插件模板</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>[pluginname]GuiBase</name>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="16"/>
         <source>QGIS Plugin Template</source>
-        <translation>QGIS插件模板</translation>
+        <translation type="obsolete">QGIS插件模板</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="102"/>
         <source>Plugin Template</source>
-        <translation>插件模板</translation>
+        <translation type="obsolete">插件模板</translation>
     </message>
     <message>
         <location filename="" line="136055884"/>
@@ -17577,33 +18061,46 @@
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="61"/>
         <source>&amp;OK</source>
-        <translation>确定(&amp;O)</translation>
+        <translation type="obsolete">确定(&amp;O)</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="64"/>
         <source>Alt+O</source>
-        <translation>Alt+O</translation>
+        <translation type="obsolete">Alt+O</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="71"/>
         <source>&amp;Cancel</source>
-        <translation>取消(&amp;C)</translation>
+        <translation type="obsolete">取消(&amp;C)</translation>
     </message>
     <message>
         <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="74"/>
         <source>Alt+C</source>
-        <translation>Alt+C</translation>
+        <translation type="obsolete">Alt+C</translation>
     </message>
+</context>
+<context>
+    <name>gpsPage</name>
     <message>
-        <location filename="../src/plugins/plugin_template/pluginguibase.ui" line="112"/>
-        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In particular look at the following classes:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisIface&lt;/span&gt;        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;Makefile.am  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]guibase.ui.h&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;2006&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="57"/>
+        <source>Longitude:</source>
+        <translation type="obsolete">经度:</translation>
     </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="81"/>
+        <source>No</source>
+        <translation type="obsolete">否</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/navigation/gpspage.ui" line="98"/>
+        <source>Latitude:</source>
+        <translation type="obsolete">纬度:</translation>
+    </message>
 </context>
 <context>
     <name>pluginname</name>
     <message>
-        <location filename="../src/plugins/plugin_template/plugin.cpp" line="96"/>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
         <source>Replace this with a short description of the what the plugin does</source>
         <translation>用一个简短的描述替换这行文字,说明插件的功能</translation>
     </message>

Added: packages/qgis/branches/upstream/current/i18n/qt_de.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_de.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_de.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16457 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="de">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">Name</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="462"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">%1, %2 nicht definiert</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="497"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">Mehrdeutige %1 nicht gehandhabt</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">Wahr</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">Falsch</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">Einfügen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Datei kopieren oder verschieben</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Lesen: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Schreiben: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">Größe</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">Datum</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Attribute</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">Su&amp;chen in:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">Datei&amp;typ:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">Zurück</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">Ein Verzeichnis zurück</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Neuen Ordner erstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">Liste</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Ausführlich</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Voransicht der Datei-Info</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Voransicht des Datei-Inhalts</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Lesen/Schreiben</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Nur Lesen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Nur Schreiben</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Gesperrt</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Verknüpfung mit Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Verknüpfung mit Verzeichnies</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Verknüpfung mit Spezialdatei</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">Verzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">Spezialattribut</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Umbenennen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">Erne&amp;ut laden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Nach &amp;Name sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Nach &amp;Größe sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Nach &amp;Datum sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Unsortiert</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">Sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">&amp;Versteckte Dateien anzeigen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">die Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">das Verzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">die Verknüpfung</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">%1 löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;Sind Sie sicher, dass Sie %1 &quot;%2&quot; löschen möchten?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">N&amp;ein</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Neues Verzeichnis 1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Neues Verzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Neues Verzeichnis %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Verzeichnis suchen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">S&amp;peichern</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Verzeichnis:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">Verzeichnisse</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">Datei&amp;name:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Datei konnte nicht gefunden werden.
+Überprüfen Sie Pfad und Dateinamen.</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Alle Dateien (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Alle Dateien (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Speichern unter</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Wählen Sie ein Verzeichnis</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">Konnte Verzeichnis nicht lesen
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">Konnte Verzeichnis nicht erstellen
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">Konnte Datei oder Verzeichnis nicht löschen
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">Konnte nicht umbenannt werden:
+%1
+nach
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">Konnte nicht geöffnet werden:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">Konnte nicht geschrieben werden:
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">Ausrichten</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Anpassen...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Operation von Benutzer angehalten</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">Anwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">Defaults</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Einf&amp;ügen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">Alles auswählen</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimieren</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="224"/>
+        <source>Maximize</source>
+        <translation type="obsolete">Maximieren</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">Mehr...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; wird nicht unterstützt</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Auflisten von Verzeichnissen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Anlegen neuer Verzeichnisse</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Löschen von Dateien oder Verzeichnissen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Umbenennen von Dateien oder Verzeichnissen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Laden von Files</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">Das Protokoll `%1&apos; unterstützt nicht das Speichern von Files</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete"> Das Protokoll `%1&apos; unterstützt nicht das Kopieren oder Verschieben von Dateien oder Verzeichnissen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(unbekannt)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; &amp;Zurück</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">&amp;Weiter &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">Ab&amp;schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hilfe</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="673"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Rechner konnte nicht gefunden werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Verbindung verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="1361"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">Das Zeitlimit für die Operation wurde überschritten</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1106"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">&amp;Inkrementieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1108"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">&amp;Dekrementieren</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+        <source>Activate</source>
+        <translation type="obsolete">Aktivieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="348"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">Aktiviert das Programmhauptfenster</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">Applikation &apos;%1&apos; benötigt Qt %2, aber Qt %3 gefunden.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Qt Bibliothek ist inkompatibel</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">Farb&amp;ton:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">&amp;Sat:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Val:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">&amp;Rot:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Grün:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">Bla&amp;u:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">A&amp;lphakanal:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">Grundfar&amp;ben</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">&amp;Benutzerdefinierte Farben</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">Eigene Farben &amp;definieren &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">Zu benutzerdefinierten Farben &amp;hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">Farbauswahl</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>AM</source>
+        <translation type="obsolete">AM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>am</source>
+        <translation type="obsolete">am</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>PM</source>
+        <translation type="obsolete">PM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>pm</source>
+        <translation type="obsolete">pm</translation>
+    </message>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Direkthilfe</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="410"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="422"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">Anwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="452"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">Ja zu &amp;allem</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">N&amp;ein</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="459"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">N&amp;ein zu allem</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="465"/>
+        <source>Abort</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="468"/>
+        <source>Retry</source>
+        <translation type="obsolete">Wiederholen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="471"/>
+        <source>Ignore</source>
+        <translation type="obsolete">Ignorieren</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">Größe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Typ</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Debug Ausgabe:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Warnung:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Fehler:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">Diese Meldungen noch einmal an&amp;zeigen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="630"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Verzeichnis:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">S&amp;peichern</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="910"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">Die Datei %1 existiert bereits.
+Soll sie überschreiben werden?</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="924"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">%1
+Die Datei konnte nicht gefunden werden.
+Stellen Sie sicher, dass der Dateiname richtig ist.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1066"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">%1
+Das Verzeichnis konnte nicht gefunden werden.
+Stellen Sie sicher, dass der Verzeichnisname richtig ist.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">Sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">Verzeichnisse</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Umbenennen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1641"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">Erne&amp;ut laden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Nach &amp;Name sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Nach &amp;Größe sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Nach &amp;Datum sortieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Unsortiert</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">&amp;Versteckte Dateien anzeigen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">Zurück</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1756"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">Elternverzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Neuen Ordner erstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">Liste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Details</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1803"/>
+        <source>Look in:</source>
+        <translation type="obsolete">Suchen in:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1805"/>
+        <source>File name:</source>
+        <translation type="obsolete">Dateiname:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1807"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">Dateien des Typs:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Alle Dateien (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Alle Dateien (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Speichern unter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="473"/>
+        <source>Open </source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Wählen Sie ein Verzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="232"/>
+        <source>Drive</source>
+        <translation type="obsolete">Laufwerk</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="265"/>
+        <source>Unknown</source>
+        <translation type="obsolete">Unbekannt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="1049"/>
+        <source>My Computer</source>
+        <translation type="obsolete">Mein Computer</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Schriftart</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">Schrifts&amp;til</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Größe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">Effekte</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">Durch&amp;gestrichen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">&amp;Unterstrichen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">Beispiel</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="246"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">&amp;Schriftsystem</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Schriftart auswählen</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">Keine Verbindung</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Rechner %1 konnte nicht gefunden werden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Verbindung mit %1 verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Verbindung für die Daten Verbindung verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">Verbindung mit Rechner schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Anmeldung schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">Inhalt des Verzeichnises kann nicht angezeigt werden:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Ändern des Verzeichnises schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Herunterladen der Datei schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">Hochladen der Datei schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Löschen der Datei schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Erstellen des Verzeichnises schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Löschen des Verzeichnises schlug fehl:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Rechner %1 gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Verbunden mit Rechner %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Verbindung mit %1 beendet</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">Rechner gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Verbindung mit Rechner besteht</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Verbindung beendet</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="202"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Rechner konnte nicht gefunden werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="197"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">Unbekannter Adresstyp</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Anfrage wurde abgebrochen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">Kein Rechner gesetzt für die Verbindung</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Falsche Content-Length</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">Server hat die Verbindung unerwartet geschlossen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Verbindung verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Rechner %1 konnte nicht gefunden werden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">HTTP Anfrage schlug fehl</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Ungültiger HTTP Antwort-Header</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Ungültiger HTTP Chunked-Body</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Rechner %1 gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Verbunden mit Rechner %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Verbindung mit %1 beendet</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">Rechner gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Verbindung mit Rechner besteht</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Verbindung beendet</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1823"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Zugriff verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1826"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">Zu viele Dateien geöffnet</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1829"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">Die Datei oder das Verzeichnis konnte nicht gefunden werden</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1832"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">Kein freier Speicherplatz auf dem Gerät vorhanden</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="202"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="225"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">XIM-Eingabemethode</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="229"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Windows-Eingabemethode</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="233"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Mac OS X-Eingabemethode</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Einf&amp;ügen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">Alles auswählen</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="316"/>
+        <source>About</source>
+        <translation type="obsolete">Über</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="322"/>
+        <source>Config</source>
+        <translation type="obsolete">Konfiguration</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="323"/>
+        <source>Preference</source>
+        <translation type="obsolete">Einstellungen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="324"/>
+        <source>Options</source>
+        <translation type="obsolete">Optionen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="325"/>
+        <source>Setting</source>
+        <translation type="obsolete">Einstellungen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="326"/>
+        <source>Setup</source>
+        <translation type="obsolete">Einrichten</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="328"/>
+        <source>Quit</source>
+        <translation type="obsolete">Beenden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="329"/>
+        <source>Exit</source>
+        <translation type="obsolete">Beenden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="364"/>
+        <source>About %1</source>
+        <comment>About &apos;application name&apos;</comment>
+        <translation type="obsolete">Über %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="366"/>
+        <source>About Qt</source>
+        <translation type="obsolete">Über Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="370"/>
+        <source>Quit %1</source>
+        <comment>Quit &apos;application name&apos;</comment>
+        <translation type="obsolete">%1 beenden</translation>
+    </message>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="225"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Dieses Programm verwendet Qt Version %1.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="1090"/>
+        <source>About Qt</source>
+        <translation type="obsolete">Über Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="160"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">Der entfernte Rechner schloss die Verbindung</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="163"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">Das Zeitlimit für die Operation wurde überschritten</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="166"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">Keine Resourcen verfügbar</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="169"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">Nichtunterstütztes Socket-Kommando</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="172"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">Das Protokoll wird nicht unterstützt</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="175"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">Ungültiger Socket-Deskriptor</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="181"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">Das Netzwerk ist nicht erreichbar</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="184"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Zugriff verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="187"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">Das Zeitlimit für die Verbindung wurde überschritten</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Verbindung verweigert</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="193"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">Die angegebene Adresse ist bereits in Gebrauch</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="196"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">Die Adresse ist nicht verfügbar</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="199"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">Die Adresse ist geschützt</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="205"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">Die Nachricht konnte nicht gesendet werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="208"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">Die Nachricht konnte nicht empfangen werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="211"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">Der Schreibvorgang konnte nicht ausgeführt werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="214"/>
+        <source>Network error</source>
+        <translation type="obsolete">Netzwerkfehler</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="217"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">Ein anderer Socket hört bereits auf denselben Port</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="151"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">Der nichtblockierende Socket konnte nicht initialisiert werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="154"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">Der Broadcast-Socket konnte nicht initialisiert werden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="157"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">Es wurde versucht einen IPv6-Socket auf einem System ohne IPv6-Unterstützung zu verwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Unbekannter Fehler</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">Falsch</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">Wahr</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">Keine Verbindung</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">Anfang</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">Ende</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="130"/>
+        <source>Page size:</source>
+        <translation type="obsolete">Seitengröße:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="141"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">Papierquelle:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">direkt verbunden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Alias: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="774"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="785"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="793"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Executive (7,5 x 10 Zoll, 191 x 254 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="796"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8,5 x 14 Zoll, 216 x 356 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="797"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Letter (8,5 x 11 Zoll, 216 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloid (279 x 432 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">US Common #10 Envelope (105 x 241 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">unbekannt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Hochformat</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Querformat</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">Druck</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1036"/>
+        <source>Printer</source>
+        <translation type="obsolete">Drucker</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Papierformat</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="56"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">Druckausrichtung:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">Bereich drucken</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">Alles drucken</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Anzahl der Kopien:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Letzte Seite zuerst drucken</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="448"/>
+        <source>Other</source>
+        <translation type="obsolete">Sonstiges</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Farbig drucken falls möglich</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="74"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qprogressbar.cpp" line="390"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1 %</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">kein Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">nicht aktivierte Eigenschaft wurde benutzt</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">falsche Syntax für Zeichen Klasse</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">falsche Syntax für Lookahead</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">falsche Syntax für Wiederholungen</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">ungültiger Oktal-Wert</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">fehlende linke Begrenzung</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">unerwartetes Ende</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">internes Limit erreicht</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="389"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">Hier scrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Left edge</source>
+        <translation type="obsolete">Linke Seite</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Top</source>
+        <translation type="obsolete">Anfang</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Right edge</source>
+        <translation type="obsolete">Rechte Seite</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Bottom</source>
+        <translation type="obsolete">Ende</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="397"/>
+        <source>Page left</source>
+        <translation type="obsolete">Eine Seite nach links</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="300"/>
+        <source>Page up</source>
+        <translation type="obsolete">Eine Seite nach oben</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="399"/>
+        <source>Page right</source>
+        <translation type="obsolete">Eine Seite nach rechts</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="304"/>
+        <source>Page down</source>
+        <translation type="obsolete">Eine Seite nach unten</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">Nach links scrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">Nach oben scrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">Nach rechts scrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">Nach unten scrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">Ausrichten</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">Leertaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Rück-Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Rücktaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">Return</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">Enter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">Einfg</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Entf</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pause</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">Druck</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">SysReq</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">Pos1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">Ende</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">Links</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">Hoch</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">Rechts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">Runter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">Bild aufwärts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">Bild abwärts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">Zahlen-Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">Rollen-Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">Menü</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">Zurück</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">Vorwärts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Lautstärke -</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Ton aus</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Lautstärke +</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Bass Boost</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Bass +</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Bass -</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Höhen +</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Höhen -</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Wiedergabe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Stopp</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Vorheriger</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Nächster</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Aufzeichnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Favoriten</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">Suchen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">Standby</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Öffne URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Start Mail</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Start Media Player</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Start (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Start (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Start (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Start (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Start (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Start (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Start (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Start (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Start (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Start (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Start (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Start (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Start (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Start (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Start (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Start (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="180"/>
+        <source>Print Screen</source>
+        <translation type="obsolete">Bildschirm drucken</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="181"/>
+        <source>Page Up</source>
+        <translation type="obsolete">Bild aufwärts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="182"/>
+        <source>Page Down</source>
+        <translation type="obsolete">Bild abwärts</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="183"/>
+        <source>Caps Lock</source>
+        <translation type="obsolete">Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="184"/>
+        <source>Num Lock</source>
+        <translation type="obsolete">Zahlen-Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="185"/>
+        <source>Number Lock</source>
+        <translation type="obsolete">Zahlen-Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="186"/>
+        <source>Scroll Lock</source>
+        <translation type="obsolete">Rollen-Feststelltaste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">Einfügen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="189"/>
+        <source>Escape</source>
+        <translation type="obsolete">Escape</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="190"/>
+        <source>System Request</source>
+        <translation type="obsolete">System Request</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="194"/>
+        <source>Select</source>
+        <translation type="obsolete">Auswählen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="200"/>
+        <source>Context1</source>
+        <translation type="obsolete">Kontext1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="201"/>
+        <source>Context2</source>
+        <translation type="obsolete">Kontext2</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="202"/>
+        <source>Context3</source>
+        <translation type="obsolete">Kontext3</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="203"/>
+        <source>Context4</source>
+        <translation type="obsolete">Kontext4</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="204"/>
+        <source>Call</source>
+        <translation type="obsolete">Anruf</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="205"/>
+        <source>Hangup</source>
+        <translation type="obsolete">Auflegen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="206"/>
+        <source>Flip</source>
+        <translation type="obsolete">Umdrehen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Strg</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">Umschalt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page left</source>
+        <translation type="obsolete">Eine Seite nach links</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page up</source>
+        <translation type="obsolete">Eine Seite nach oben</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page right</source>
+        <translation type="obsolete">Eine Seite nach rechts</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page down</source>
+        <translation type="obsolete">Eine Seite nach unten</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="../src/network/qsocks5socketengine.cpp" line="1196"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">Die Socks5-Verbindung zu einen Socks-Server hat das Zeitlimit überschritten</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">Diesen Datensatz löschen?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">Einfügen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">Änderungen speichern?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Bestätigen</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">Änderungen verwerfen?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="../src/network/qtcpserver.cpp" line="212"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">Nichtunterstütztes Socket-Kommando</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Einf&amp;ügen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1748"/>
+        <source>Delete</source>
+        <translation type="obsolete">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">Alles auswählen</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">Öffnen</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="../src/network/qudpsocket.cpp" line="132"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">Diese Plattform unterstützt kein IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+    <message>
+        <location filename="../src/gui/undo/qundogroup.cpp" line="339"/>
+        <source>Undo</source>
+        <translation type="obsolete">Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/undo/qundogroup.cpp" line="367"/>
+        <source>Redo</source>
+        <translation type="obsolete">Wiederherstellen</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+    <message>
+        <location filename="../src/gui/undo/qundostack.cpp" line="735"/>
+        <source>Undo</source>
+        <translation type="obsolete">Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/undo/qundostack.cpp" line="762"/>
+        <source>Redo</source>
+        <translation type="obsolete">Wiederherstellen</translation>
+    </message>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2461"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">Unicode-Kontrollzeichen einfügen</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Direkthilfe</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="../src/gui/kernel/qwidget.cpp" line="3722"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">Ver&amp;schieben</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Größe ändern</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">M&amp;inimieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Ma&amp;ximieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">Schl&amp;ießen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">Im &amp;Vordergrund bleiben</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Wiederherstellen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">&amp;Herabrollen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">&amp;Aufrollen</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">kein Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">Konsument löste Fehler aus</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">unerwartetes Ende der Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">mehr als eine Dokumenttypdefinition</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">Fehler beim Parsen eines Elements</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">Element-Tags sind nicht richtig geschachtelt</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">Fehler beim Parsen des Inhalts eines Elements</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">unerwartetes Zeichen</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">ungültiger Namer für eine Processing-Instruktion</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">fehlende Version beim Parsen der XML-Deklaration</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">falscher Wert für die Standalone-Deklaration</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">fehlende Encoding-Deklaration oder Standalone-Deklaration beim Parsen der XML-Deklaration</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">fehlende Standalone-Deklaration beim Parsen der XML Deklaration</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">Fehler beim Parsen der Dokumenttypdefinition</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">ein Buchstabe ist an dieser Stelle erforderlich</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">Fehler beim Parsen eines Kommentars</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">Fehler beim Parsen einer Referenz</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="48"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">interne allgeimeine Entity-Referenz ist nicht erlaubt in der DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="49"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">externe Entity-Referenz is nicht erlaubt in einem Attribut-Wert</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="50"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">externe Entity-Referenz ist nicht erlaubt in der DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="51"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">nicht-analysierte Entity-Referenz im falschen Kontext verwendet</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">rekursive Entity</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="55"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">Fehler in der Text-Deklaration einer externen Entity</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">Druck</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished">Beenden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished">Über</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Attribute</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Speichern unter</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished">Über</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Suchen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">Schl&amp;ießen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 mm) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Hochformat</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Querformat</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Größe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Aktualisieren</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished">Optionen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">Schl&amp;ießen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Rechts</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Links</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Schließen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Beispiel</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">Schl&amp;ießen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Fehler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Suchen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished">Optionen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Aktualisieren</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Hilfe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Größe</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished">Löschen</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">Nein</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_es.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_es.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_es.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16430 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">Nombre</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="462"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">La secuencia %1, %2 no está definida</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="497"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">Secuencia ambigua %1 no tratada</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">Verdadero</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">Falso</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insertar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Copiar o mover un fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Lectura: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Escritura: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">Fecha</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">Buscar &amp;en:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">&amp;Tipo de fichero:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">Precedente (histórico)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">Ir al directorio superior</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Crear una nueva carpeta</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">Vista de lista</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Vista detallada</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Información del fichero previsualizado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Contenido del fichero previsualizado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Lectura-escritura</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Sólo lectura</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Sólo escritura</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Inaccesible</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Enlace simbólico a un fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Enlace simbólico a un directorio</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Enlace simbólico a un fichero especial</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">Fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">Dir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">Fichero especial</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Renombrar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">R&amp;ecargar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Ordenar por &amp;nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Ordenar por &amp;tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Ordenar por &amp;fecha</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Sin ordenar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">Ordenar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Mostrar los ficheros &amp;ocultos</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">el fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">el directorio</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">el enlace simbólico</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">Borrar %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;¿Seguro que desea borrar %1 «%2»?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Sí</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;No</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Nueva carpeta 1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Nueva carpeta</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Nueva carpeta %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Buscar en el directorio</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Directorio:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">Directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">&amp;Nombre de fichero:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Fichero no encontrado.
+Compruebe la ruta y el nombre del fichero.</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Todos los ficheros (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Todos los ficheros (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Guardar como</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">Abrir </translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Seleccionar un directorio</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">No se ha podido leer el directorio
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">No se ha podido crear el directorio
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">No se ha podido borrar el fichero o directorio
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">No se ha podido renombrar
+%1
+a
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">No se ha podido abrir
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">No se ha podido escribir
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">Alinear</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Personalizar...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Operación detenida por el usuario</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">Aplicar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">Valores por omisión</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Deshacer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Rehacer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Cor&amp;tar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Copiar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">&amp;Pegar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">Limpiar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">Seleccionar todo</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimizar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">Más...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">El protocolo «%1» no está contemplado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">El protocolo «%1» no permite listar los ficheros de un directorio</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">El protocolo «%1» no permite crear nuevos directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">El protocolo «%1» no permite borrar ficheros o directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">El protocolo «%1» no permite renombrar ficheros o directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">El protocolo «%1» no permite recibir ficheros</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">El protocolo «%1» no permite enviar ficheros</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">El protocolo «%1» no permite copiar o mover ficheros o directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(desconocido)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; &amp;Anterior</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">Siguie&amp;nte &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">&amp;Terminar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Ayuda</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="673"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Equipo no encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Conexión rechazada</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="1361"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">Operación socket expirada</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1106"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">&amp;Aumentar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1108"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">Re&amp;ducir</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+        <source>Activate</source>
+        <translation type="obsolete">Activar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="348"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">Activa la ventana principal del programa</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">El ejecutable «%1» requiere Qt %2 (se encontró Qt %3).</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Error: biblioteca Qt incompatible</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">&amp;Tono:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">&amp;Saturación:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Brillo:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">&amp;Rojo:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Verde:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">Az&amp;ul:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">Canal a&amp;lfa:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">Colores &amp;básicos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">Colores &amp;personalizados</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">&amp;Definir colores personalizados &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">&amp;Añadir a los colores personalizados</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">Selección de un color</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>AM</source>
+        <translation type="obsolete">AM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>am</source>
+        <translation type="obsolete">am</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>PM</source>
+        <translation type="obsolete">PM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>pm</source>
+        <translation type="obsolete">pm</translation>
+    </message>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">¿Qué es esto?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="410"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="422"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">Aplicar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Sí</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="452"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">Sí a &amp;todo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;No</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="459"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">N&amp;o a todo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="465"/>
+        <source>Abort</source>
+        <translation type="obsolete">Interrumpir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="468"/>
+        <source>Retry</source>
+        <translation type="obsolete">Reintentar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="471"/>
+        <source>Ignore</source>
+        <translation type="obsolete">Ignorar</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Tipo</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Mensaje de depuración:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Aviso:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Error fatal:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">Mo&amp;strar este mensaje de nuevo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="630"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Directorio:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="910"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">El fichero %1 ya existe.
+¿Desea reemplazarlo?</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="924"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">%1
+Fichero no encontrado.
+Verifique que el nombre del fichero es correcto.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1066"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">%1
+Directorio no encontrado.
+Verique que el nombre del directorio es correcto.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">Ordenar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">Directorios</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Renombrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1641"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">&amp;Recargar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Ordenar por &amp;nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Ordenar por &amp;tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Ordenar por &amp;fecha</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Sin ordenar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Mostrar los ficheros &amp;ocultos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">Anterior</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1756"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">Directorio superior</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Crear una nueva carpeta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">Vista de lista</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Vista detallada</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1803"/>
+        <source>Look in:</source>
+        <translation type="obsolete">Buscar en:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1805"/>
+        <source>File name:</source>
+        <translation type="obsolete">Nombre de fichero:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1807"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">Ficheros de tipo:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Todos los ficheros (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Todos los ficheros (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Guardar como</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="473"/>
+        <source>Open </source>
+        <translation type="obsolete">Abrir </translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Seleccionar un directorio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="232"/>
+        <source>Drive</source>
+        <translation type="obsolete">Unidad</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">Fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="265"/>
+        <source>Unknown</source>
+        <translation type="obsolete">Desconocido</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="1049"/>
+        <source>My Computer</source>
+        <translation type="obsolete">Mi computadora</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Tipo de letra</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">&amp;Estilo del tipo de letra</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">Efectos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">&amp;Tachado</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">S&amp;ubrayado</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">Muestra</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="246"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">Sistema de escr&amp;itura</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Seleccionar un tipo de letra</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">No conectado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Equipo %1 no encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Conexión rechazada al equipo %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Conexión para conexión de datos rechazada</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">La conexión con el equipo ha fallado:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Identificación fallida:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">El listado del directorio ha fallado:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Fallo del cambio de directorio:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Fallo de la descarga del fichero:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">El envío del fichero ha fallado:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Eliminación de fichero fallida:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Fallo de la creación de un directorio:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Eliminación de directorio fallida:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Equipo %1 encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Conectado al equipo %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Conexión a %1 cerrada</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">Equipo encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Conectado al equipo</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Conexión cerrada</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="202"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Equipo no encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="197"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">Dirección de tipo desconocido</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Solicitud interrumpida</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">No se ha indicado ningún servidor al que conectarse</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Longitud del contenido errónea</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">El servidor cerró la conexión inesperadamente</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Conexión rechazada</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Equipo %1 no encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">Solicitud HTTP fallida</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Cabecera de respuesta HTTP no válida</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Fragmento HTTP no válido</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Equipo %1 encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Conectado al equipo %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Conexión a %1 cerrada</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">Equipo encontrado</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Conectado al equipo</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Conexión cerrada</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1823"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Permiso denegado</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1826"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">Demasiados ficheros abiertos simultáneamente</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1829"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">No hay ningún fichero o directorio con ese nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1832"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">No queda espacio en el dispositivo</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="202"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="225"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">Método de entrada XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="229"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Método de entrada Windows</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="233"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Método de entrada Mac OS X</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Deshacer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Rehacer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Cor&amp;tar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Copiar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">&amp;Pegar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">Seleccionar todo</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="316"/>
+        <source>About</source>
+        <translation type="obsolete">Acerca</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="323"/>
+        <source>Preference</source>
+        <translation type="obsolete">Preferencia</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="324"/>
+        <source>Options</source>
+        <translation type="obsolete">Opciones</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="328"/>
+        <source>Quit</source>
+        <translation type="obsolete">Salir</translation>
+    </message>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="225"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Este programa utiliza la versión %1 de Qt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="1090"/>
+        <source>About Qt</source>
+        <translation type="obsolete">Acerca de Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="160"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">El equpo remoto ha cerrado la conexión</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="163"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">La operación de red ha expirado</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="166"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">Insuficientes recursos</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="169"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">Operación socker no admitida</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="172"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">Tipo de protocolo no admitido</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="175"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">Descriptor de socket no válido</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="181"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">Red inalcanzable</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="184"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Permiso denegado</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="187"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">Conexión expirada</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Conexión rechazada</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="193"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">La dirección enlazada ya está en uso</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="196"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">La dirección no está disponible</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="199"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">La dirección está protegida</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="205"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">Imposible enviar un mensaje</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="208"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">Imposible recibir un mensaje</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="211"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">Imposible escribir</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="214"/>
+        <source>Network error</source>
+        <translation type="obsolete">Error de red</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="217"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">Ya hay otro socket escuchando por el mismo puerto</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="151"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">Imposible inicializar el socket no bloqueante</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="154"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">Imposible inicializar el socket de difusión</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="157"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">Intento de usar un socket IPv6 sobre una plataforma que no contempla IPv6</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Error desconocido</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">Falso</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">Verdadero</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">No conectado</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">Principio</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">Final</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="130"/>
+        <source>Page size:</source>
+        <translation type="obsolete">Tamaño de página:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="141"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">Fuente del papel:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">conectado localmente</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Alias: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="774"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 mm, 8,26 x 11,7 pulgadas)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="785"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 mm, 6,93 x 9,84 pulgadas)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="793"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Ejecutivo (7,5 x 10 pulgadas, 191 x 254 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="796"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8,5 x 14 pulgadas, 216 x 356 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="797"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Carta (8,5 x 11 pulgadas, 216 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloide (279 x 432 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">Sobre US Common #10 (105 x 241 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">desconocido</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Vertical</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Apaisado</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">Impr Pant</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">Fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Formato del papel</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="56"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">Orientación:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">Imprimir intervalo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">Imprimir todo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Número de copias:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Imprimir primero la última página</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Imprimir en color si es posible</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="74"/>
+        <source>OK</source>
+        <translation type="obsolete">Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qprogressbar.cpp" line="390"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">no se ha producido ningún error</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">se ha usado una característica no habilitada</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">sintaxis no válida para clase de caracteres</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">sintaxis no válida para lookahead</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">sintaxis no válida para repetición</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">valor octal no válido</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">falta el delimitador izquierdo</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">fin inesperado</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">se alcanzó el límite interno</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="389"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">Desplazar hasta aquí</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Left edge</source>
+        <translation type="obsolete">Borde izquierdo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Top</source>
+        <translation type="obsolete">Principio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Right edge</source>
+        <translation type="obsolete">Borde derecho</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Bottom</source>
+        <translation type="obsolete">Final</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="397"/>
+        <source>Page left</source>
+        <translation type="obsolete">Una página a la izquierda</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="300"/>
+        <source>Page up</source>
+        <translation type="obsolete">Una página hacia arriba</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="399"/>
+        <source>Page right</source>
+        <translation type="obsolete">Una página a la derecha</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="304"/>
+        <source>Page down</source>
+        <translation type="obsolete">Una página hacia abajo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">Desplazar hacia la izquierda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">Desplazar hacia arriba</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">Desplazar hacia la derecha</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">Desplazar hacia abajo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">Alinear</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">Espacio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Tabulador hacia atrás</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">Retorno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">Intro</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">Ins</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Supr</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pausa</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">Impr Pant</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">PetSis</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">Inicio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">Fin</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">Izquierda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">Arriba</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">Derecha</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">Abajo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">Re Pág</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">Av Pág</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">Bloq Mayús</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">Bloq Num</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">Bloq Despl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">Menú</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">Anterior</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">Siguiente</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">Detener</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Bajar el volumen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Silenciar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Subir el volumen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Potenciar los graves</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Subir los graves</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Bajar los graves</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Subir los agudos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Bajar los agudos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Reproducir el medio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Detener el medio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Medio anterior</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Siguiente medio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Grabar medio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Favoritos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">Búsqueda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">Reposo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Abrir URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Lanzar correo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Lanzar medio</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Lanzar (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Lanzar (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Lanzar (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Lanzar (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Lanzar (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Lanzar (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Lanzar (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Lanzar (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Lanzar (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Lanzar (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Lanzar (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Lanzar (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Lanzar (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Lanzar (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Lanzar (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Lanzar (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="180"/>
+        <source>Print Screen</source>
+        <translation type="obsolete">Imprimir pantalla</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="181"/>
+        <source>Page Up</source>
+        <translation type="obsolete">Retroceder página</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="182"/>
+        <source>Page Down</source>
+        <translation type="obsolete">Avanzar página</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="183"/>
+        <source>Caps Lock</source>
+        <translation type="obsolete">Bloqueo de mayúsculas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="184"/>
+        <source>Num Lock</source>
+        <translation type="obsolete">Bloq num</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="185"/>
+        <source>Number Lock</source>
+        <translation type="obsolete">Bloqueo numérico</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="186"/>
+        <source>Scroll Lock</source>
+        <translation type="obsolete">Bloqueo del desplazamiento</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insertar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="189"/>
+        <source>Escape</source>
+        <translation type="obsolete">Escape</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="190"/>
+        <source>System Request</source>
+        <translation type="obsolete">Petición del sistema</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="194"/>
+        <source>Select</source>
+        <translation type="obsolete">Seleccionar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">Sí</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">No</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="200"/>
+        <source>Context1</source>
+        <translation type="obsolete">Contexto1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="201"/>
+        <source>Context2</source>
+        <translation type="obsolete">Contexto2</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="202"/>
+        <source>Context3</source>
+        <translation type="obsolete">Contexto3</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="203"/>
+        <source>Context4</source>
+        <translation type="obsolete">Contexto4</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="204"/>
+        <source>Call</source>
+        <translation type="obsolete">Llamar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="205"/>
+        <source>Hangup</source>
+        <translation type="obsolete">Descolgar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="206"/>
+        <source>Flip</source>
+        <translation type="obsolete">Voltear</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">May</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page left</source>
+        <translation type="obsolete">Una página a la izquierda</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page up</source>
+        <translation type="obsolete">Una página hacia arriba</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page right</source>
+        <translation type="obsolete">Una página a la derecha</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page down</source>
+        <translation type="obsolete">Una página hacia abajo</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="../src/network/qsocks5socketengine.cpp" line="1196"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">Error de expiracioń socks5 mientras se establecía una conexión al servidor socks</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">¿Borrar este registro?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">Sí</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">No</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insertar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">¿Guardar las modificaciones?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Confirmar</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">¿Cancelar sus modificaciones?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="../src/network/qtcpserver.cpp" line="212"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">Operación socket no admitida</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Deshacer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Rehacer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Cor&amp;tar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Copiar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">&amp;Pegar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1748"/>
+        <source>Delete</source>
+        <translation type="obsolete">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">Seleccionar todo</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">Abrir</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="../src/network/qudpsocket.cpp" line="132"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">La plataforma no contempla IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2446"/>
+        <source>LRM Left-to-right mark</source>
+        <translation type="obsolete">LRM Left-to-right mark</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2447"/>
+        <source>RLM Right-to-left mark</source>
+        <translation type="obsolete">RLM Right-to-left mark</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2448"/>
+        <source>ZWJ Zero width joiner</source>
+        <translation type="obsolete">ZWJ Zero width joiner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2449"/>
+        <source>ZWNJ Zero width non-joiner</source>
+        <translation type="obsolete">ZWNJ Zero width non-joiner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2450"/>
+        <source>ZWSP Zero width space</source>
+        <translation type="obsolete">ZWSP Zero width space</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2451"/>
+        <source>LRE Start of left-to-right embedding</source>
+        <translation type="obsolete">LRE Start of left-to-right embedding</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2452"/>
+        <source>RLE Start of right-to-left embedding</source>
+        <translation type="obsolete">RLE Start of right-to-left embedding</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2453"/>
+        <source>LRO Start of left-to-right override</source>
+        <translation type="obsolete">LRO Start of left-to-right override</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2454"/>
+        <source>RLO Start of right-to-left override</source>
+        <translation type="obsolete">RLO Start of right-to-left override</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2455"/>
+        <source>PDF Pop directional formatting</source>
+        <translation type="obsolete">PDF Pop directional formatting</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2461"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">Insertar carácter de control Unicode</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">¿Qué es esto?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="../src/gui/kernel/qwidget.cpp" line="3722"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">&amp;Restaurar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">&amp;Mover</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">Mi&amp;nimizar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Ma&amp;ximizar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">Permanecer en &amp;primer plano</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimizar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Restaurar abajo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">Q&amp;uitar sombra</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">Sombre&amp;ar</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">no se ha producido ningún error</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">error debido al consumidor</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">fin de fichero inesperado</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">más de una definición de tipo de documento</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">se ha producido un error durante el análisis de un elemento</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">etiqueta desequilibrada</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">se ha producido un error durante el análisis del contenido</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">carácter inesperado</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">nombre de instrucción de tratamiento no válido</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">se esperaba la versión al leer la declaración XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">valor erróneo para la declaración independiente</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">se esperaba una declaración de codificación o declaración autónoma al leer la declaración XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">se esperaba una declaración independiente al leer la declaración XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">se ha producido un error durante el análisis de la definición de tipo de documento</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">se esperaba una letra</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">se ha producido un error durante el análisis de un comentario</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">se ha producido un error durante el análisis de una referencia</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="48"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">no se permiten referencias a entidades internas generales en la DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="49"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">no se permiten referencias a entidades externas generales ya analizadas en el valor de un atributo</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="50"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">no se permiten referencias a entidades externas generales ya analizadas en la DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="51"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">referencia a entidad no analizada en un contexto no válido</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">entidades recursivas</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="55"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">error en la declaración de texto de una entidad externa</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">Impr Pant</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished">Acerca</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Atributos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Guardar como</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished">Acerca</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Búsqueda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 mm) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Vertical</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Apaisado</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">Interrumpir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Actualizar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Abrir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Detener</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished">Opciones</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Fichero</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Derecha</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Izquierda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Cerrar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;Aceptar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Limpiar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Muestra</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Búsqueda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished">Opciones</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Actualizar</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Ayuda</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Tamaño</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Tipo</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished">Borrar</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Sí</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">No</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_fr.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_fr.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_fr.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16394 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">Nom</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="462"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">La séquence %1, %2 n&apos;est pas définie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="497"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">Séquence ambiguë %1 non traitée</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">Vrai</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">Faux</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insérer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">Actualiser</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">Supprimer</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Copie ou déplace un fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Lecture : %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Écriture : %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">Taille</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">Date</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Attributs</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">Chercher &amp;dans :</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">&amp;Type de fichier :</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">Précédent (historique)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">Aller au dossier parent</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Créer un nouveau dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">Affichage liste</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Affichage détaillé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Informations du fichier prévisualisé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Contenu du fichier prévisualisé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Lecture-écriture</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Lecture seule</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Écriture seule</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Inaccessible</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Lien symbolique vers un fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Lien symbolique vers un dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Lien symbolique vers un fichier spécial</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">Fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">Dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">Fichier spécial</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Renommer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">Suppri&amp;mer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">R&amp;echarger</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Trier par &amp;nom</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Trier par ta&amp;ille</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Trier par &amp;date</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Non trié</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">Tri</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Afficher les fic&amp;hiers cachés</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">le fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">le dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">le lien symbolique</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">Supprimer %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;Voulez-vous vraiment supprimer %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Oui</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Non</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Nouveau dossier 1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Nouveau dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Nouveau dossier %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Chercher dans le dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Dossier :</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">Dossiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">&amp;Nom de fichier :</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Impossible de trouver le fichier.
+Vérifier le chemin et le nom du fichier.</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Tous les fichiers (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Tous les fichiers (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Enregistrer sous</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Sélectionner un dossier</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">Impossible de lire le dossier
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">Impossible de créer le dossier
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">Impossible de supprimer le fichier ou dossier
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">Impossible de renommer
+%1
+en
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">Impossible d&apos;ouvrir
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">Impossible d&apos;écrire
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">Aligner</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Personnaliser...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Opération interrompue par l&apos;utilisateur</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">Appliquer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">Par défaut</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">A&amp;nnuler Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Co&amp;uper</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">Cop&amp;ier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Co&amp;ller</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">Effacer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">Tout sélectionner</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Réduire</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">Fermer</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">Reste...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">Le protocole &apos;%1&apos; n&apos;est pas géré</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de lister les fichiers d&apos;un dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de créer de nouveaux dossiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de supprimer des fichiers ou des dossiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de renommer des fichiers ou des dossiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de recevoir des fichiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas d&apos;envoyer des fichiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">Le protocole `%1&apos; ne permet pas de copier ou de déplacer des fichiers</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(inconnu)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; &amp;Précédent</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">&amp;Suivant &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">&amp;Terminer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Aide</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="673"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Hôte introuvable</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Connexion refusée</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="1361"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">Opération socket expirée</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1106"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">&amp;Augmenter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1108"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">&amp;Diminuer</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+        <source>Activate</source>
+        <translation type="obsolete">Activer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="348"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">Active la fenêtre principale du programme</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">L&apos;exécutable &apos;%1&apos; requiert Qt %2 (Qt %3 présent).</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Erreur : bibliothèque Qt incompatible</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">&amp;Teinte :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">&amp;Saturation :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Valeur :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">&amp;Rouge :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Vert :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">Ble&amp;u :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">Canal a&amp;lpha :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">Couleurs de &amp;base</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">&amp;Couleurs personnalisées</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">Définir des &amp;couleurs personnalisées &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">&amp;Ajouter aux couleurs personnalisées</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">Sélection d&apos;une couleur</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>AM</source>
+        <translation type="obsolete">AM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>am</source>
+        <translation type="obsolete">am</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>PM</source>
+        <translation type="obsolete">PM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>pm</source>
+        <translation type="obsolete">pm</translation>
+    </message>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Qu&apos;est-ce que c&apos;est ?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="410"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="422"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">Appliquer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Oui</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="452"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">Oui à &amp;tout</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Non</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="459"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">Non à to&amp;ut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="465"/>
+        <source>Abort</source>
+        <translation type="obsolete">Abandonner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="468"/>
+        <source>Retry</source>
+        <translation type="obsolete">Réessayer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="471"/>
+        <source>Ignore</source>
+        <translation type="obsolete">Ignorer</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">Taille</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Type</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Message de débogage:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Avertissement:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Erreur fatale:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">&amp;Afficher ce message de nouveau</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="630"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Dossier :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="910"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="924"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">%1
+Fichier introuvable.
+Veuillez vérifier que le nom du fichier est correct.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1066"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">%1
+Dossier introuvable.
+Veuillez vérifier que le nom du dossier est correct.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">Tri</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">Dossiers</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Renommer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">Suppri&amp;mer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1641"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">&amp;Recharger</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Trier par &amp;nom</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Trier par ta&amp;ille</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Trier par &amp;date</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Non trié</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Afficher les fic&amp;hiers cachés</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">Précédent (historique)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1756"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">Dossier parent</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Créer un nouveau dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">Affichage liste</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Affichage détaillé</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1803"/>
+        <source>Look in:</source>
+        <translation type="obsolete">Chercher dans :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1805"/>
+        <source>File name:</source>
+        <translation type="obsolete">Nom de fichier :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1807"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">Fichiers de type :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Tous les fichiers (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Tous les fichiers (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Enregistrer sous</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="473"/>
+        <source>Open </source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Sélectionner un dossier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="232"/>
+        <source>Drive</source>
+        <translation type="obsolete">Unité</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">Fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="265"/>
+        <source>Unknown</source>
+        <translation type="obsolete">Inconnu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="1049"/>
+        <source>My Computer</source>
+        <translation type="obsolete">Mon ordinateur</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Police</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">St&amp;yle de police</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Taille</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">Effets</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">&amp;Barré</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">&amp;Souligné</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">Exemple</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="246"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">&amp;Système d&apos;écriture</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Choisir une police</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">Non connecté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Hôte %1 introuvable</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Connexion à l&apos;hôte %1 refusée</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Connexion donnée refusée</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">Échec de la connexion à l&apos;hôte
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Échec du login:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">Échec du listage du dossier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Échec du changement de dossier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Échec du téléchargement du fichier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">Échec du télédéchargement :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Échec de la suppression d&apos;un fichier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Échec de la création d&apos;un dossier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Échec de la suppression d&apos;un dossier :
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Hôte %1 trouvé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Connecté à l&apos;hôte %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Connexion à %1 arrêtée</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">Hôte trouvé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Connecté à l&apos;hôte</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Connexion arrêtée</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="202"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Hôte introuvable</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="197"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">Adresse de type inconnu</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Requête interrompue</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">Aucun serveur spécifié</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Longueur du contenu invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">Connexion interrompue par le serveur</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Connexion refusée</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Hôte %1 introuvable</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">Échec de la requête HTTP</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Entête de réponse HTTP invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Fragment HTTP invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Hôte %1 trouvé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Connecté à l&apos;hôte %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Connexion à %1 arrêtée</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">Hôte trouvé</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Connecté à l&apos;hôte</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Connexion arrêtée</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1823"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Accès refusé</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1826"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">Trop de fichiers ouverts simultanément</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1829"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">Aucun fichier ou dossier de ce nom</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1832"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">Aucun espace disponible sur le périphérique</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="202"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="225"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">Méthode d&apos;entrée XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="229"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Méthode d&apos;entrée Windows</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="233"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Méthode d&apos;entrée Mac OS X</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">A&amp;nnuler Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Co&amp;uper</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">Cop&amp;ier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Co&amp;ller</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">Tout sélectionner</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="316"/>
+        <source>About</source>
+        <translation type="obsolete">À propos</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="323"/>
+        <source>Preference</source>
+        <translation type="obsolete">Préférence</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="328"/>
+        <source>Quit</source>
+        <translation type="obsolete">Quitter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="329"/>
+        <source>Exit</source>
+        <translation type="obsolete">Sortir</translation>
+    </message>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="225"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Ce programme utilise la version %1 de Qt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="1090"/>
+        <source>About Qt</source>
+        <translation type="obsolete">À propos de Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="160"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">L&apos;hôte distant a fermé la connexion</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="163"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">L&apos;opération réseau a expiré</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="166"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">Manque de ressources</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="169"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">Opération socket non supportée</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="172"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">Protocol non géré</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="175"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">Descripteur de socket invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="181"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">Réseau impossible à rejoindre</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="184"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Accès refusé</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="187"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">Connexion expirée</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Connexion refusée</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="193"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">L&apos;adresse liée est déjà en usage</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="196"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">L&apos;adresse n&apos;est pas disponible</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="199"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">L&apos;adresse est protégée</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="205"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">Impossible d&apos;envoyer un message</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="208"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">Impossible de recevoir un message</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="211"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">Impossible d&apos;écrire</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="214"/>
+        <source>Network error</source>
+        <translation type="obsolete">Erreur réseau</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="217"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">Un autre socket écoute déjà sur le même port</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="151"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">Impossible d&apos;initialiser le socket asynchrone</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="154"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">Impossible d&apos;initialiser le socket broadcast</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="157"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">Tentative d&apos;utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Erreur inconnue</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">Faux</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">Vrai</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">Non connecté</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">En haut</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">En bas</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="130"/>
+        <source>Page size:</source>
+        <translation type="obsolete">Dimensions :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="141"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">Source du papier :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">connecté en local</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Alias : %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="774"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="785"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="793"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Executive (7,5 x 10 pouces, 191 x 254 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="796"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8.5 x 14 pouces, 216 x 356 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="797"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Letter (8,5 x 11 pouces, 216 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloïde (279 x 432 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">US Common #10 Envelope (105 x 241 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">inconnu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Portrait</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Paysage</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">Impr écran</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">Fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Format du papier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="56"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">Orientation :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">Imprimer la sélection</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">Imprimer tout</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Nombre de copies :</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Imprimer d&apos;abord la dernière page</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Imprimer en couleur si possible</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="74"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qprogressbar.cpp" line="390"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1 %</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">aucune erreur ne s&apos;est produite</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">option désactivée</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">syntaxe invalide pour classe de caractère</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">syntaxe invalide pour lookahead</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">syntaxe invalide pour répétition</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">valeur octale invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">délémiteur gauche manquant</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">fin impromptue</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">rencontré limite interne</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="389"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">Défiler jusqu&apos;ici</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Left edge</source>
+        <translation type="obsolete">Extrême gauche</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Top</source>
+        <translation type="obsolete">En haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Right edge</source>
+        <translation type="obsolete">Extrême droite</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Bottom</source>
+        <translation type="obsolete">En bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="397"/>
+        <source>Page left</source>
+        <translation type="obsolete">Page précédente</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="300"/>
+        <source>Page up</source>
+        <translation type="obsolete">Page précédente</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="399"/>
+        <source>Page right</source>
+        <translation type="obsolete">Page suivante</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="304"/>
+        <source>Page down</source>
+        <translation type="obsolete">Page suivante</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">Défiler vers la gauche</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">Défiler vers le haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">Défiler vers la droite</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">Défiler vers le bas</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">Aligner</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">Espace</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Échap</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Tab arr</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Effacement</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">Retour</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">Entrée</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">Inser</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Suppr</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pause</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">Impr écran</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">Syst</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">Début</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">Fin</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">Gauche</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">Haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">Droite</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">Bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">Page préc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">Page suiv</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">Verr maj</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">Verr num</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">Arrêt défil</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">Menu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">Précédent (historique)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">Successeur (historique)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">Stop</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Rafraîchir</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Volume bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Volume muet</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Volume haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Graves fort</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Graves haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Graves bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Aigus haut</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Aigus bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Média démarrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Média arrêt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Média précédent</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Média suivant</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Média enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Préférés</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">Recherche</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">Attente</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Ouvrir URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Lancer courrier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Lancer média</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Lancer (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Lancer (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Lancer (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Lancer (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Lancer (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Lancer (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Lancer (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Lancer (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Lancer (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Lancer (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Lancer (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Lancer (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Lancer (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Lancer (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Lancer (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Lancer (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insérer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="189"/>
+        <source>Escape</source>
+        <translation type="obsolete">Échapement</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="190"/>
+        <source>System Request</source>
+        <translation type="obsolete">Système</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="194"/>
+        <source>Select</source>
+        <translation type="obsolete">Sélectionner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">Oui</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">Non</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="200"/>
+        <source>Context1</source>
+        <translation type="obsolete">Contexte1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="201"/>
+        <source>Context2</source>
+        <translation type="obsolete">Contexte2</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="202"/>
+        <source>Context3</source>
+        <translation type="obsolete">Contexte3</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="203"/>
+        <source>Context4</source>
+        <translation type="obsolete">Contexte4</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="204"/>
+        <source>Call</source>
+        <translation type="obsolete">Appeler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="205"/>
+        <source>Hangup</source>
+        <translation type="obsolete">Raccrocher</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="206"/>
+        <source>Flip</source>
+        <translation type="obsolete">Retourner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">Maj</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Méta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page left</source>
+        <translation type="obsolete">Page précédente</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page up</source>
+        <translation type="obsolete">Page précédente</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page right</source>
+        <translation type="obsolete">Page suivante</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page down</source>
+        <translation type="obsolete">Page suivante</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="../src/network/qsocks5socketengine.cpp" line="1196"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">Erreur d&apos;expiration socks5 lors de l&apos;établissement d&apos;une connexion au serveur socks</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">Supprimer cet enregistrement ?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">Oui</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">Non</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insérer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">Actualiser</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">Enregistrer les modifications ?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Confirmer</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">Annuler vos modifications ?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="../src/network/qtcpserver.cpp" line="212"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">Operation socket non supportée</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">A&amp;nnuler Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Co&amp;uper</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">Cop&amp;ier</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Co&amp;ller</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1748"/>
+        <source>Delete</source>
+        <translation type="obsolete">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">Tout sélectionner</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">Ouvrir</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="../src/network/qudpsocket.cpp" line="132"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">Cette plateforme ne supporte pas IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2446"/>
+        <source>LRM Left-to-right mark</source>
+        <translation type="obsolete">LRM Left-to-right mark</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2447"/>
+        <source>RLM Right-to-left mark</source>
+        <translation type="obsolete">RLM Right-to-left mark</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2448"/>
+        <source>ZWJ Zero width joiner</source>
+        <translation type="obsolete">ZWJ Zero width joiner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2449"/>
+        <source>ZWNJ Zero width non-joiner</source>
+        <translation type="obsolete">ZWNJ Zero width non-joiner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2450"/>
+        <source>ZWSP Zero width space</source>
+        <translation type="obsolete">ZWSP Zero width space</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2451"/>
+        <source>LRE Start of left-to-right embedding</source>
+        <translation type="obsolete">LRE Start of left-to-right embedding</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2452"/>
+        <source>RLE Start of right-to-left embedding</source>
+        <translation type="obsolete">RLE Start of right-to-left embedding</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2453"/>
+        <source>LRO Start of left-to-right override</source>
+        <translation type="obsolete">LRO Start of left-to-right override</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2454"/>
+        <source>RLO Start of right-to-left override</source>
+        <translation type="obsolete">RLO Start of right-to-left override</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2455"/>
+        <source>PDF Pop directional formatting</source>
+        <translation type="obsolete">PDF Pop directional formatting</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2461"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">Insérer caractère de contrôle Unicode</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Qu&apos;est-ce que c&apos;est ?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="../src/gui/kernel/qwidget.cpp" line="3722"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">&amp;Restaurer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">&amp;Déplacer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Redimensionner</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">Réd&amp;uire</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Ma&amp;ximiser</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">&amp;Rester au premier plan</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Réduire</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Restaurer en bas</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">&amp;Dérouler</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">&amp;Enrouler</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">aucune erreur ne s&apos;est produite</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">erreur déclenchée par le consommateur</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">fin de fichier impromptue</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">plus d&apos;une définition de type de document</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">une erreur s&apos;est produite lors de l&apos;analyse d&apos;un élément</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">balise débalancée</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">une erreur s&apos;est produise lors de l&apos;analyse du contenu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">caractère impromptu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">nom d&apos;instruction de traitement invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">version attendue dans la déclaration XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">valeur invalide pour déclaration autonome</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">déclaration d&apos;encodage ou déclaration autonome attendue dans la déclaration XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">déclaration autonome attendue dans la déclaration XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">une erreur s&apos;est produite lors de l&apos;analyse d&apos;une définition de type de document</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">lettre attendue</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">une erreur s&apos;est produise lors de l&apos;analyse d&apos;un commentaire</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">une erreur s&apos;est produite lors de l&apos;analyse d&apos;une référence</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="48"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">appel d&apos;entité interne générale non permis dans la DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="49"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">appel d&apos;entité externe parsée  non permis dans la valeur d&apos;un attribut</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="50"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">appel d&apos;entité externe parsée générale non permis dans la DTD</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="51"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">appel d&apos;entité non parsée dans un contexte invalide</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">entités récursives</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="55"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">erreur dans la déclaration de texte d&apos;une entité externe</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">Impr écran</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished">Sortir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished">À propos</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Rafraîchir</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Attributs</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Enregistrer sous</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished">À propos</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Recherche</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 mm) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Portrait</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Paysage</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Taille</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">Abandonner</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Actualiser</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Rafraîchir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Ouvrir</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Stop</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Fichier</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Droite</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Gauche</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Fermer</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Effacer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Exemple</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Erreur</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Recherche</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Rafraîchir</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Aide</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Taille</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Annuler</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Type</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished">Supprimer</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Oui</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">Non</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_ru.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_ru.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_ru.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,15850 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">Имя</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">True</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">False</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">Вставить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Копировать или переместить файл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Открытие: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Запись: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">Дата</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Атрибуты</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">&amp;Смотреть в:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">&amp;Тип файла:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">Назад</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">Вверх на один уровень</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Создать новый каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">Список</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Детальный вид</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Предпросмотр информации о файле</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Предпросмотр содержимого файла</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Чтение-запись</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Только чтение</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Только запись</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Нет доступа</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Ссылка на файл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Ссылка на каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Ссылка на спецфайл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">Файл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">Каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">Спецфайл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Переименовать</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">О&amp;бновить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">По &amp;имени</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">По &amp;размеру</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">По &amp;дате</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Не упорядочивать</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">Упорядочить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Показать &amp;скрытые файлы</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">файл</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">ссылку</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">Удалить %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;Вы действительно хотите удалить %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Да</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Новый каталог 1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Новый каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Новый каталог %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Найти каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Каталог:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">Каталоги</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">&amp;Имя файла:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Файл не найден.
+Проверьте правильность пути и имени файла.</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Все файлы (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Все файлы (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Сохранить как</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Выбрать каталог</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">Невозможно просмотреть каталог
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">Невозможно создать каталог
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">Невозможно удалить файл или каталог
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">Невозможно переименовать
+%1
+в
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">Невозможно открыть
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">Невозможно записать
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">Выровнять</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Настроить...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Операция прервана пользователем</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">Применить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">По умолчанию</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Отменить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Повторить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Вырезать</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Копировать</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">&amp;Вставить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">Очистить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">Выделить все</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Свернуть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="224"/>
+        <source>Maximize</source>
+        <translation type="obsolete">Развернуть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">Закрыть</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">Больше...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживается</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает просмотр каталогов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает создание новых каталогов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает удаление файлов или каталогов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает переименование файлов или каталогов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает доставку файлов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает отправку файлов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">Протокол `%1&apos; не поддерживает копирование или перемещение файлов и каталогов</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(неизвестно)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; &amp;Назад</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">&amp;Вперед &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">&amp;Финиш</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Справка</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Отказано в соединении</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">Программный модуль &apos;%1&apos; требует Qt %2, найдена версия %3.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Ошибка совместимости библиотеки Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">&amp;Тон:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">&amp;Нас:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Ярк:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">&amp;Крас:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Зел:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">С&amp;ин:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">&amp;Альфа-канал:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">&amp;Основные цвета</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">&amp;Собственные цвета</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">&amp;Выбрать собственные цвета &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">&amp;Добавить к собственным цветам</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">Выбрать цвет</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Что это?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="410"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="422"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">Применить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Да</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Нет</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Тип</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Отладочное сообщение:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Предупреждение:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Критическая ошибка:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">&amp;Показывать это сообщение в дальнейшем</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="630"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Каталог:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">Упорядочить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">Каталоги</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Переименовать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">По &amp;имени</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">По &amp;размеру</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">По &amp;дате</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Не упорядочивать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Показать &amp;скрытые файлы</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">Назад</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Создать новый каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">Список</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Детальный вид</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Все файлы (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Все файлы (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Сохранить как</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="473"/>
+        <source>Open </source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Выбрать каталог</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">Файл</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Шрифт</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">&amp;Стиль шрифта</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">Эффекты</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">&amp;Перечеркивать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">П&amp;одчеркивать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">Пример</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Выбрать шрифт</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">Нет соединения</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Узел %1 не обнаружен</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Отказано в соединении с узлом %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Отказано в соединении передачи данных</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">Ошибка соединения с узлом:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Ошибка входа в систему:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">Ошибка просмотра каталога:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Ошибка смены каталога:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Ошибка загрузки файла:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">Ошибка отправки файла:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Ошибка удаления файла:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Ошибка создания каталога:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Ошибка удаления каталога:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Обнаружен узел %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Установлено соединение с узлом %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Соединение с узлом %1 разорвано</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">Узел обнаружен</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Соединение с узлом установлено</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Соединение разорвано</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Запрос отменен</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">Не выбран сервер для подключения</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Неверная длина данных</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">Неожиданный разрыв соединения сервером</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Отказано в соединении</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Узел %1 не обнаружен</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">Ошибка HTTP-запроса</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Получен некорректный HTTP-заголовок</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Некорректный HTTP-ответ</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Обнаружен узел %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Установлено соединение с узлом %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Соединение с узлом %1 разорвано</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">Узел обнаружен</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Соединение с узлом установлено</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Соединение разорвано</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Отменить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Повторить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Вырезать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Копировать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">В&amp;ставить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">Выделить все</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="316"/>
+        <source>About</source>
+        <translation type="obsolete">О программе</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="322"/>
+        <source>Config</source>
+        <translation type="obsolete">Конфигурация</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="323"/>
+        <source>Preference</source>
+        <translation type="obsolete">Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="324"/>
+        <source>Options</source>
+        <translation type="obsolete">Параметры</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="325"/>
+        <source>Setting</source>
+        <translation type="obsolete">Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="326"/>
+        <source>Setup</source>
+        <translation type="obsolete">Настройки</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="328"/>
+        <source>Quit</source>
+        <translation type="obsolete">Выход</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qmenu_mac.cpp" line="329"/>
+        <source>Exit</source>
+        <translation type="obsolete">Выход</translation>
+    </message>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Отказано в соединении</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Неизвестная ошибка</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">False</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">True</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">Нет соединения</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">локальный</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Алиасы: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloid (279 x 432 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">Конверт US #10 (105x241 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">неизвестно</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Портрет</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Альбом</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">Файл</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1036"/>
+        <source>Printer</source>
+        <translation type="obsolete">Принтер</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Формат бумаги</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">Печатать диапазон</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">Печатать все</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Число копий:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Начать с последней страницы</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Цветная печать</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="74"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">ошибки отсутствуют</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">использовались отключенные возможности</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">bad char class syntax</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">bad lookahead syntax</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">bad repetition syntax</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">некорректное восьмеричное значение</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">отсутствует левый разделитель</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">неожиданный конец</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">достигнуто внутреннее ограничение</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">Выровнять</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">Space</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Backtab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Backspace</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">Return</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">Enter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">Ins</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Del</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pause</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">SysReq</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">Home</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">End</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">Left</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">Up</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">Right</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">Down</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">PgUp</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">PgDown</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">CapsLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">NumLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">ScrollLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">Меню</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">Назад</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">Вперед</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">Стоп</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Тише</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Выключить звук</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Громче</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Bass Boost</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Bass Up</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Bass Down</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Treble Up</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Treble Down</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Воспроизведение</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Остановить воспроизведение</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Воспроизвести предыдущее</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Воспроизвести следующее</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Запись</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Избранное</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">Поиск</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">Дежурный режим</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Открыть URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Почта</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Проигрыватель</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Запустить (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Запустить (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Запустить (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Запустить (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Запустить (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Запустить (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Запустить (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Запустить (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Запустить (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Запустить (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Запустить (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Запустить (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Запустить (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Запустить (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Запустить (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Запустить (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">Вставить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">Да</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">Shift</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">Удалить эту запись?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">Да</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">Вставить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">Сохранить изменения?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Подтвердить</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">Отменить изменения?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Отменить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Повторить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">&amp;Вырезать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Копировать</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">&amp;Вставить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1748"/>
+        <source>Delete</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">Выделить все</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">Открыть</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+</context>
+<context>
+    <name>QUndoGroup</name>
+    <message>
+        <location filename="../src/gui/undo/qundogroup.cpp" line="339"/>
+        <source>Undo</source>
+        <translation type="obsolete">Отменить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/undo/qundogroup.cpp" line="367"/>
+        <source>Redo</source>
+        <translation type="obsolete">Повторить</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+    <message>
+        <location filename="../src/gui/undo/qundostack.cpp" line="735"/>
+        <source>Undo</source>
+        <translation type="obsolete">Отменить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/undo/qundostack.cpp" line="762"/>
+        <source>Redo</source>
+        <translation type="obsolete">Повторить</translation>
+    </message>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Что это?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">&amp;Восстановить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">&amp;Переместить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">&amp;Свернуть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Р&amp;азвернуть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">Всегда &amp;наверху</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Свернуть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Восстановить</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">Восстановить из за&amp;головка</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">Свернуть в за&amp;головок</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">ошибки отсутствуют</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">ошибка инициирована пользователем</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">неожиданный конец файла</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">определен более, чем один тип документов</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">в процессе грамматического разбора элемента произошла ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">отсутствует тег</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">в процессе грамматического разбора произошла ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">неожиданный символ</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">некорректное имя директивы</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">при чтении XML-тега ожидался параметр version</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">некорректное значение параметра standalone</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">при чтении XML-тега ожидался параметр encoding или параметр standalone</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">при чтении XML-тега ожидался параметр standalone</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">в процессе грамматического разбора типа документа произошла ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">ожидался символ</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">в процессе грамматического разбора комментария произошла ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">в процессе грамматического разбора ссылки произошла ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">рекурсивные объекты</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished">Выход</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished">О программе</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Файл</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Атрибуты</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Сохранить как</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished">О программе</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Поиск</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 мм) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 мм)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Портрет</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Альбом</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Обновить</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Открыть</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Сохранить</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Стоп</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished">Параметры</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Файл</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Right</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Left</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Закрыть</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Очистить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Пример</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Ошибка</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Поиск</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished">Параметры</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Обновить</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Справка</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Размер</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Отмена</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Тип</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Да</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">Нет</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Имя</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_sk.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_sk.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_sk.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16405 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">S&amp;torno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">Meno</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="462"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">%1, %2 nie je definované</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="497"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">Nejednoznačné %1 neobslúžené</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">Pravda</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">Nepravda</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">Vložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">Aktualizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">Odstrániť</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Kopírovať alebo presunúť súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Čítanie: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Zápis: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">Dátum</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Atribúty</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">Hľadať &amp;v:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">&amp;Typ súboru:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">Späť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">O úroveň vyššie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Vytvoriť nový priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">Zoznam</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Detaily</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Náhľad informácií o súbore</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Náhľad obsahu súboru</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Čítanie a zápis</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Len na čítanie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Len pre zápis</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Neprístupné</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Symbolický odkaz na súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Symbolický odkaz na priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Symbolický odkaz na špeciálny súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">Súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">Priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">Špeciálny súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">P&amp;remenovať</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">O&amp;dstrániť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">O&amp;bnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Triediť podľa me&amp;na</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Triediť podľa &amp;veľkosti</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Triediť podľa &amp;dátumu</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Netriediť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">Triediť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Zobraziť &amp;skryté súbory</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">symbolický odkaz</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">Odstrániť %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;Naozaj chcete odstrániť %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">Án&amp;o</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Nový priečinok 1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Nový priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Nový priečinok %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Nájsť priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Priečinok:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">Priečinky</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">Me&amp;no súboru:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Súbor nenájdený.
+Overte cestu a meno súboru.</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Všetky súbory (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Všetky súbory (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Uložiť ako</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">Otvoriť </translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Vyberte priečinok</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">Nie je možné prečítať priečinok
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">Nie je možné vytvoriť priečinok
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">Nie je možné odstrániť súbor alebo priečinok
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">Nie je možné premenovať
+%1
+na
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">Nie je možné otvoriť
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">Nie je možné zapísať
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">Vyrovnať</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Prispôsobiť...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Operácia zastavená užívateľom</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">Použiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">Štandardné</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">V&amp;rátiť späť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Opakovať vrátené</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Vys&amp;trihnúť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopírovať</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">V&amp;ložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">Vyčistiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">Vybrať všetko</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimalizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">Zavrieť</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">Viac...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nie je podporovaný</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje výpis priečinkov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje vytváranie nových priečinkov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje odstránenie súborov alebo priečinkov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje premenovanie súborov alebo priečinkov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje získavanie súborov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje ukladanie súborov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">Protokol &apos;%1&apos; nepodporuje kopírovanie alebo presun súborov alebo priečinkov</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(neznáme)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">S&amp;torno</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; &amp;Späť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">Ďa&amp;lej &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">&amp;Dokončiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Pomocník</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="673"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Počítač nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Spojenie odmietnuté</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="1361"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">Vypršal čas pre operáciu so soketom</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1106"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">Krok na&amp;hor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1108"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">Krok na&amp;dol</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+        <source>Activate</source>
+        <translation type="obsolete">Aktivovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="348"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">Aktivuje hlavné okno programu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">Program &apos;%1&apos; vyžaduje Qt %2, nájdené Qt %3.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Chyba kompatibility knižnice Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="60"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">S&amp;torno</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">Od&amp;tieň:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">Na&amp;s:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Hod:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">Če&amp;rvená:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Zelená:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">&amp;Modrá:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">Kanál a&amp;lfa:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">&amp;Základné farby</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">&amp;Vlastné farby</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">&amp;Definovať vlastné farby &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">Prid&amp;ať k vlastným farbám</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">Vybrať farbu</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>AM</source>
+        <translation type="obsolete">AM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1935"/>
+        <source>am</source>
+        <translation type="obsolete">am</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>PM</source>
+        <translation type="obsolete">PM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="1937"/>
+        <source>pm</source>
+        <translation type="obsolete">pm</translation>
+    </message>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Čo je to?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="410"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="422"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">Použiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">Án&amp;o</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="452"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">Áno pre &amp;všetko</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="459"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">Nie pre všetk&amp;o</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="465"/>
+        <source>Abort</source>
+        <translation type="obsolete">Prerušiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="468"/>
+        <source>Retry</source>
+        <translation type="obsolete">Skúsiť znova</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="471"/>
+        <source>Ignore</source>
+        <translation type="obsolete">Ignorovať</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Typ</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Ladiaca správa:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Varovanie:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Kritická chyba:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">&amp;Zobraziť túto správu aj nabudúce</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="630"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Priečinok:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="910"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">%1 už existuje. 
+Chcete ho nahradiť?</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="924"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">%1 
+Súbor nenájdený. 
+Prosím overte správnosť zadaného mena súboru.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1066"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">%1 
+Priečinok nenájdený. 
+Prosím overte správnosť zadaného mena priečinku.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">Triediť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">Priečinky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">P&amp;remenovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">O&amp;dstrániť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1641"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">O&amp;bnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Triediť podľa me&amp;na</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Triediť podľa &amp;veľkosti</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Triediť podľa &amp;dátumu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Netriediť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Zobraziť &amp;skryté súbory</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">Späť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1756"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">Rodičovský priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Vytvoriť nový priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">Zoznam</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Detaily</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1803"/>
+        <source>Look in:</source>
+        <translation type="obsolete">Hľadať v:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1805"/>
+        <source>File name:</source>
+        <translation type="obsolete">Meno súboru:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1807"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">Súbory typu:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Všetky súbory (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Všetky súbory (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">Uložiť ako</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="473"/>
+        <source>Open </source>
+        <translation type="obsolete">Otvoriť </translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Vyberte priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="232"/>
+        <source>Drive</source>
+        <translation type="obsolete">Oddiel</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">Súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="265"/>
+        <source>Unknown</source>
+        <translation type="obsolete">Neznáme</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="1049"/>
+        <source>My Computer</source>
+        <translation type="obsolete">Môj počítač</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Písmo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">Š&amp;týl písma</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">Efekty</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">Prečiar&amp;knuť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">&amp;Podčiarknuť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">Náhľad</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="246"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">Systém písan&amp;ia</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Vybrať písmo</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">Nepripojený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Počítač %1 nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Spojenie s počítačom %1 odmietnuté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Dátové spojenie odmietnuté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">Spojenie s počítačom zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Prihlásenie zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">Výpis priečinku zlyhal:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Zmena priečinku zlyhala:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Stiahnutie súboru zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">Poslanie súboru zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Odstránenie súboru zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Vytvorenie priečinku zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Odstránenie priečinku zlyhalo:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Počítač %1 nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Pripojený k počítaču %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Spojenie s %1 uzavreté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">Počítač nájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Pripojený k počítaču</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Spojenie uzavreté</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="202"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Počítač nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="197"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">Neznámy typ adresy</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Požiadavka prerušená</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">Nenastavený server na pripojenie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Neplatná dĺžka obsahu</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">Server neočakávane uzavrel spojenie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Spojenie odmietnuté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Počítač %1 nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">Požiadavka HTTP zlyhala</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Neplatná hlavička odpovede HTTP</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Neplatné časti tela HTTP</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Počítač %1 nenájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Pripojený k počítaču %1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Spojenie s %1 uzavreté</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">Počítač nájdený</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Pripojený k počítaču</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Spojenie uzavreté</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1823"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Prístup zamietnutý</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1826"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">Príliš veľa otvorených súborov</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1829"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">Žiadny taký súbor alebo priečinok</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1832"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">Na zariadení nie je voľné miesto</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="202"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="225"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">Metóda vstupu XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="229"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Metóda vstupu Windows</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="233"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Metóda vstupu Mac OS X</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">V&amp;rátiť späť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Opakovať vrátené</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Vys&amp;trihnúť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopírovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">V&amp;ložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">Odstrániť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">Vybrať všetko</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="225"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Tento program používa Qt verziu %1.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="1090"/>
+        <source>About Qt</source>
+        <translation type="obsolete">O knižnici Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="160"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">Vzdialený počítač uzavrel spojenie</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="163"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">Vypršal čas pre sieťovú operáciu</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="166"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">Nedostatok zdrojov</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="169"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">Nepodporovaná operácia so soketom</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="172"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">Nepodporovaný typ protokolu</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="175"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">Neplatný popis soketu</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="181"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">Sieť nedostupná</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="184"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Prístup zamietnutý</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="187"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">Vypršal čas pre spojenie</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Spojenie odmietnuté</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="193"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">Hraničná adresa je už použitá</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="196"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">Adresa nie je dostupná</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="199"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">Adresa je chránená</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="205"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">Správa sa nedá poslať</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="208"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">Správa sa nedá prijať</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="211"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">Nedá sa zapísať</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="214"/>
+        <source>Network error</source>
+        <translation type="obsolete">Sieťová chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="217"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">Iný soket už počúva na rovnakom porte</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="151"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">Nedá sa inicializovať neblokujúci soket</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="154"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">Nedá sa inicializovať vysielací soket</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="157"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">Pokus o použitie IPv6 soketu na platforme bez IPv6 podpory</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Neznáma chyba</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">Nepravda</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">Pravda</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">Nepripojený</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">Vrch</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">Spodok</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="130"/>
+        <source>Page size:</source>
+        <translation type="obsolete">Veľkosť strany:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="141"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">Zdroj papiera:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">lokálne pripojená</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Aliasy: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="774"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 mm, 8.26 x 11.7 palcov)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="785"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 mm, 6.93 x 9.84 palcov)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="793"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Executive (7.5 x 10 palcov, 191 x 254 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="796"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8.5 x 14 palcov, 216 x 356 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="797"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Letter (8.5 x 11 palcov, 216 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloid (279 x 432 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">Obálka US Common #10 (105 x 241 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">neznáme</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Na výšku</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Na šírku</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">Súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Formát papiera</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="56"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">Orientácia:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">Rozsah tlače</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">Tlačiť všetko</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Počet kópií:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Tlačiť najprv poslednú stranu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Tlačiť farebne ak je dostupné</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="74"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qprogressbar.cpp" line="390"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">nevyskytli sa žiadne chyby</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">použitá vypnutá funkcia</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">neplatný zápis triedy znakov</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">neplatný zápis výhľadu</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">neplatný zápis opakovania</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">neplatná osmičková hodnota</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">chýbajúci pravý oddeľovač</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">neočakávaný koniec</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">dosiahnutý interný limit</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="389"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">Posunúť sem</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Left edge</source>
+        <translation type="obsolete">Ľavá hrana</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Top</source>
+        <translation type="obsolete">Vrch</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Right edge</source>
+        <translation type="obsolete">Pravá hrana</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Bottom</source>
+        <translation type="obsolete">Spodok</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="397"/>
+        <source>Page left</source>
+        <translation type="obsolete">Strana naľavo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="300"/>
+        <source>Page up</source>
+        <translation type="obsolete">Strana nahor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="399"/>
+        <source>Page right</source>
+        <translation type="obsolete">Strana napravo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="304"/>
+        <source>Page down</source>
+        <translation type="obsolete">Strana nadol</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">Posunúť naľavo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">Posunúť nahor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">Posunúť napravo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">Posunúť nadol</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">Vyrovnať</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">Medzera</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tabulátor</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Backtab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Backspace</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">Return</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">Enter</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">Ins</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Del</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pause</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">SysReq</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">Home</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">End</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">Vľavo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">Hore</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">Vpravo</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">Dolu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">PgUp</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">PgDown</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">CapsLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">NumLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">ScrollLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">Menu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">Dozadu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">Dopredu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">Stop</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Obnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Stíšiť hlasitosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Bez zvuku</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Zvýšiť hlasitosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Zosilňovač basových tónov</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Zvýrazniť basové tóny</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Potlačiť basové tóny</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Zvýrazniť výsoké tóny</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Potlačiť vysoké tóny</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Prehrať médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Zastaviť médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Predchádzajúce médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Nasledujúce médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Nahráť médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Obľúbené</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">Hľadať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">Pohotovosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Otvoriť URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Spustiť poštového klienta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Spustiť médiá</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Spustiť (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Spustiť (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Spustiť (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Spustiť (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Spustiť (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Spustiť (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Spustiť (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Spustiť (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Spustiť (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Spustiť (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Spustiť (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Spustiť (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Spustiť (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Spustiť (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Spustiť (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Spustiť (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="180"/>
+        <source>Print Screen</source>
+        <translation type="obsolete">Vytlačiť obrazovku</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="181"/>
+        <source>Page Up</source>
+        <translation type="obsolete">Page Up</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="182"/>
+        <source>Page Down</source>
+        <translation type="obsolete">Page Down</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="183"/>
+        <source>Caps Lock</source>
+        <translation type="obsolete">Caps Lock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="184"/>
+        <source>Num Lock</source>
+        <translation type="obsolete">Num Lock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="185"/>
+        <source>Number Lock</source>
+        <translation type="obsolete">Number Lock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="186"/>
+        <source>Scroll Lock</source>
+        <translation type="obsolete">Scroll Lock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insert</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">Delete</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="189"/>
+        <source>Escape</source>
+        <translation type="obsolete">Escape</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="190"/>
+        <source>System Request</source>
+        <translation type="obsolete">System Request</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="194"/>
+        <source>Select</source>
+        <translation type="obsolete">Select</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">Áno</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="200"/>
+        <source>Context1</source>
+        <translation type="obsolete">Context1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="201"/>
+        <source>Context2</source>
+        <translation type="obsolete">Context2</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="202"/>
+        <source>Context3</source>
+        <translation type="obsolete">Context3</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="203"/>
+        <source>Context4</source>
+        <translation type="obsolete">Context4</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="204"/>
+        <source>Call</source>
+        <translation type="obsolete">Zavolať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="205"/>
+        <source>Hangup</source>
+        <translation type="obsolete">Zložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="206"/>
+        <source>Flip</source>
+        <translation type="obsolete">Otočiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">Shift</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page left</source>
+        <translation type="obsolete">Strana naľavo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page up</source>
+        <translation type="obsolete">Strana nahor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page right</source>
+        <translation type="obsolete">Strana napravo</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page down</source>
+        <translation type="obsolete">Strana nadol</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="../src/network/qsocks5socketengine.cpp" line="1196"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">Chyba vypršania času pre socks5 pripojenia na socks server</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">Odstrániť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">Odstrániť tento záznam?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">Áno</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">Vložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">Aktualizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">Uložiť zmeny?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Potvrdenie</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">Stornovať zmeny?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="../src/network/qtcpserver.cpp" line="212"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">Nepodporovaná operácia so soketom</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">V&amp;rátiť späť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Opakovať vrátené</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Vys&amp;trihnúť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopírovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">V&amp;ložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">Vybrať všetko</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">Otvoriť</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="../src/network/qudpsocket.cpp" line="132"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">Táto platforma nepodporuje IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2446"/>
+        <source>LRM Left-to-right mark</source>
+        <translation type="obsolete">LRM značka zľava-doprava</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2447"/>
+        <source>RLM Right-to-left mark</source>
+        <translation type="obsolete">RLM značka zprava-doľava</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2448"/>
+        <source>ZWJ Zero width joiner</source>
+        <translation type="obsolete">ZWJ spájadlo nulovej šírky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2449"/>
+        <source>ZWNJ Zero width non-joiner</source>
+        <translation type="obsolete">ZWNJ ne-spájadlo nulovej šírky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2450"/>
+        <source>ZWSP Zero width space</source>
+        <translation type="obsolete">ZWSP medzera nulovej šírky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2451"/>
+        <source>LRE Start of left-to-right embedding</source>
+        <translation type="obsolete">LRE začiatok zľava-doprava vložky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2452"/>
+        <source>RLE Start of right-to-left embedding</source>
+        <translation type="obsolete">RLE začiatok zprava-doľava vložky</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2453"/>
+        <source>LRO Start of left-to-right override</source>
+        <translation type="obsolete">LRO začiatok zľava-doprava prepisu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2454"/>
+        <source>RLO Start of right-to-left override</source>
+        <translation type="obsolete">RLO začiatok zprava-doľava prepisu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2455"/>
+        <source>PDF Pop directional formatting</source>
+        <translation type="obsolete">PDF formátovanie pop smerom</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2461"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">Vložiť Unicode riadiaci znak</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Čo je to?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="../src/gui/kernel/qwidget.cpp" line="3722"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">&amp;Obnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">&amp;Presunúť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">Mi&amp;nimalizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Ma&amp;ximalizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">Nechať navr&amp;chu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimalizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Obnoviť dolu</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">&amp;Rozbaliť</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">Za&amp;baliť</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">nevyskytla sa žiadna chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">chyba vyvolaná zákazníkom</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">neočakávaný koniec súboru</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">viac ako jedna definícia typu dokumentu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">chyba počas spracovania elementu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">nezodpovedajúca značka</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">chyba počas spracovania obsahu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">neočakávaný znak</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">neplatné meno pre inštrukciu spracovania</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">očakávaná verzia počas čítania deklarácie XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">neplatná hodnota pre samostatnú deklaráciu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">očakávané kódovanie deklarácie alebo samostatnej deklarácie počas čítania deklarácie XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">očakávaná samostatná deklarácia počas čítania deklarácie XML</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">chyba počas spracovania definície typu dokumentu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">očakáva sa písmeno</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">chyba počas spracovania dokumentu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">chyba počas spracovania odkazu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="48"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">v DTD nie je možný interný všeobecný odkaz na entitu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="49"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">v hodnote atribútu nie je možný externý spracovaný odkaz na všeobecnú entitu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="50"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">v DTD nie je možný externý spracovaný odkaz na všeobecnú entitu</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="51"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">nespracovaný odkaz na entitu v neplatnom kontexte</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">rekurzívne entity</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="55"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">chyba v deklarácii textu externej entity</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">Print</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Obnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Atribúty</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Uložiť ako</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">S&amp;torno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Hľadať</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 mm) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Na výšku</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Na šírku</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">Prerušiť</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Aktualizovať</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Obnoviť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Otvoriť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Uložiť</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Stop</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Súbor</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Vpravo</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Vľavo</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">S&amp;torno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Zavrieť</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">S&amp;torno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Vyčistiť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Náhľad</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Zavrieť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Chyba</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Hľadať</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Obnoviť</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Pomocník</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Veľkosť</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Storno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Áno</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">Nie</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Meno</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_sv.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_sv.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_sv.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,17249 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Name</source>
+        <translation type="obsolete">Namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Value</source>
+        <translation type="obsolete">Värde</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">%1, %2 är inte definierad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">Tvetydigt %1 hanteras inte</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>True</source>
+        <translation type="obsolete">Sant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>False</source>
+        <translation type="obsolete">Falskt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Insert</source>
+        <translation type="obsolete">Infoga</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Update</source>
+        <translation type="obsolete">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete</source>
+        <translation type="obsolete">Ta bort</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">Kopiera eller ta bort en fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">Läs: %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">Skriv: %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Alla filer (*)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Name</source>
+        <translation type="obsolete">Namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Size</source>
+        <translation type="obsolete">Storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Type</source>
+        <translation type="obsolete">Typ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Date</source>
+        <translation type="obsolete">Datum</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Attributes</source>
+        <translation type="obsolete">Attribut</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">Leta &amp;i:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">Fil&amp;namn:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">Fil&amp;typ:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Back</source>
+        <translation type="obsolete">Tillbaka</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>One directory up</source>
+        <translation type="obsolete">En katalog uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Skapa ny mapp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>List View</source>
+        <translation type="obsolete">Listvy</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Detaljvy</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">Förhandsgranska filinformation</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">Förhandsgranska filinnehåll</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Read-write</source>
+        <translation type="obsolete">Läs-skriv</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Read-only</source>
+        <translation type="obsolete">Skrivskyddad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Write-only</source>
+        <translation type="obsolete">Lässkyddad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">Otillgänglig</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">Symbolisk länk till fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">Symbolisk länk till katalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">Symbolisk länk till special</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File</source>
+        <translation type="obsolete">Fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Dir</source>
+        <translation type="obsolete">Katalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Special</source>
+        <translation type="obsolete">Special</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save As</source>
+        <translation type="obsolete">Spara som</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Spara</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Byt namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Ta bort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">Uppdat&amp;era</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Sortera efter &amp;namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Sortera efter &amp;storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Sortera efter &amp;datum</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Osorterad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort</source>
+        <translation type="obsolete">Sortera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Visa &amp;dolda filer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>the file</source>
+        <translation type="obsolete">filen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>the directory</source>
+        <translation type="obsolete">katalogen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>the symlink</source>
+        <translation type="obsolete">symboliska länken</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">Ta bort %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;Är du säker på att du vill ta bort %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nej</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">Ny mapp 1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>New Folder</source>
+        <translation type="obsolete">Ny mapp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">Ny mapp %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">Hitta katalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Directories</source>
+        <translation type="obsolete">Kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Katalog:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Error</source>
+        <translation type="obsolete">Fel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">%1
+Filen hittades inte. 
+Kontrollera sökväg och filnamn.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Alla filer (*.*)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open </source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Välj en katalog</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">Kunde inte läsa katalogen
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">Kunde inte skapa katalogen 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">Kunde inte ta bort filen eller katalogen 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">Kunde inte byta namn på 
+%1 
+till 
+%2</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">Kunde inte öppna 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">Kunde inte skriva till 
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Line up</source>
+        <translation type="obsolete">Rada upp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Customize...</source>
+        <translation type="obsolete">Anpassa...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">Åtgärden stoppades av användaren</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Apply</source>
+        <translation type="obsolete">Verkställ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Help</source>
+        <translation type="obsolete">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Defaults</source>
+        <translation type="obsolete">Standardvärden</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Ångra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Gör om</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Klipp u&amp;t</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopiera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Klistra &amp;in</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Clear</source>
+        <translation type="obsolete">Töm</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select All</source>
+        <translation type="obsolete">Markera alla</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>System</source>
+        <translation type="obsolete">System</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Restore up</source>
+        <translation type="obsolete">Återställ uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Restore down</source>
+        <translation type="obsolete">Återställ nedåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Maximize</source>
+        <translation type="obsolete">Maximera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Close</source>
+        <translation type="obsolete">Stäng</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Contains commands to manipulate the window</source>
+        <translation type="obsolete">Innehåller kommandon för att manipulera fönstret</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Puts a minimized back to normal</source>
+        <translation type="obsolete">Återställer ett minimerat till normalt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Moves the window out of the way</source>
+        <translation type="obsolete">Flyttar fönstret ur vägen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Puts a maximized window back to normal</source>
+        <translation type="obsolete">Återställer ett maximerat fönster tillbaka till normalt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Makes the window full screen</source>
+        <translation type="obsolete">Gör fönstret till helskärm</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Closes the window</source>
+        <translation type="obsolete">Stänger fönstret</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Displays the name of the window and contains controls to manipulate it</source>
+        <translation type="obsolete">Visar namnet på fönstret och innehåller kontroller för att manipulera det</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>More...</source>
+        <translation type="obsolete">Mer...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">Protokollet \&quot;%\&quot; stöds inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att lista kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att skapa nya kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att ta bort filer eller kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att byta namn på filer eller kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att hämta filer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att lämna filer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">Protokollet \&quot;%1\&quot; har inte stöd för att kopiera eller flytta filer eller kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(okänt)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; Till&amp;baka</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">&amp;Nästa &gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">&amp;Färdig</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">&amp;Hjälp</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Värden hittades inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Anslutningen nekades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">Tidsgräns för uttagsåtgärd överstegs</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Socket is not connected</source>
+        <translation type="obsolete">Uttaget är inte anslutet</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">&amp;Stega uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">Stega &amp;nedåt</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Activate</source>
+        <translation type="obsolete">Aktivera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">Binären \&quot;%1\&quot; kräver Qt %2, hittade Qt %3.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">Inkompatibelt Qt-biblioteksfel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">Aktiverar programmets huvudfönster</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select ActiveX Control</source>
+        <translation type="obsolete">Välj ActiveX Control</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">&amp;Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>COM &amp;Object:</source>
+        <translation type="obsolete">COM-&amp;objekt:</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Uncheck</source>
+        <translation type="obsolete">Avkryssa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Check</source>
+        <translation type="obsolete">Kryssa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Toggle</source>
+        <translation type="obsolete">Växla</translation>
+    </message>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">Nya&amp;ns:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">&amp;Mättnad:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">&amp;Ljushet:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">&amp;Röd:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">&amp;Grön:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">Bl&amp;å:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">Alfa&amp;kanal:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">&amp;Basfärger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">&amp;Anpassade färger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">&amp;Definiera anpassade färger &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">&amp;Lägg till i anpassade färger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select color</source>
+        <translation type="obsolete">Välj färg</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to connect</source>
+        <translation type="obsolete">Kunde inte ansluta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to rollback transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to set autocommit</source>
+        <translation type="obsolete">Kunde inte ställa in automatisk verkställning</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Result</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to prepare statement</source>
+        <translation type="obsolete">Kunde inte förbereda frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind variable</source>
+        <translation type="obsolete">Kunde inte binda variabel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch record %1</source>
+        <translation type="obsolete">Kunde inte hämta posten %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch next</source>
+        <translation type="obsolete">Kunde inte hämta nästa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch first</source>
+        <translation type="obsolete">Kunde inte hämta första</translation>
+    </message>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>AM</source>
+        <translation type="obsolete">AM</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>am</source>
+        <translation type="obsolete">am</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>PM</source>
+        <translation type="obsolete">PM</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>pm</source>
+        <translation type="obsolete">pm</translation>
+    </message>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Vad är det här?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save</source>
+        <translation type="obsolete">Spara</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Close</source>
+        <translation type="obsolete">Stäng</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Apply</source>
+        <translation type="obsolete">Verkställ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Reset</source>
+        <translation type="obsolete">Återställ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Help</source>
+        <translation type="obsolete">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Don&apos;t Save</source>
+        <translation type="obsolete">Spara inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Discard</source>
+        <translation type="obsolete">Förkasta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">&amp;Ja</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">Ja till &amp;alla</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">&amp;Nej</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">N&amp;ej till alla</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save All</source>
+        <translation type="obsolete">Spara alla</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Abort</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Retry</source>
+        <translation type="obsolete">Försök igen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ignore</source>
+        <translation type="obsolete">Ignorera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Restore Defaults</source>
+        <translation type="obsolete">Återställ standardvärden</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Name</source>
+        <translation type="obsolete">Namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Size</source>
+        <translation type="obsolete">Storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Kind</source>
+        <comment>Match OS X Finder</comment>
+        <translation type="obsolete">Sort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">Typ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Date Modified</source>
+        <translation type="obsolete">Ändringsdatum</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">Felsökningsmeddelande:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Warning:</source>
+        <translation type="obsolete">Varning:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">Ödesdigert fel:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">&amp;Visa detta meddelande igen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">&amp;OK</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">Alla filer (*)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Directories</source>
+        <translation type="obsolete">Kataloger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">&amp;Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">&amp;Spara</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save</source>
+        <translation type="obsolete">Spara</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">%1 finns redan. 
+Vill du ersätta den?</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">%1 
+Filen hittades inte. 
+Kontrollera att det korrekta filnamnet angavs.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>My Computer</source>
+        <translation type="obsolete">Min dator</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort</source>
+        <translation type="obsolete">Sortera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">&amp;Byt namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">&amp;Ta bort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">&amp;Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">Sortera efter &amp;namn</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">Sortera efter &amp;storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">Sortera efter &amp;datum</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">&amp;Osorterad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">Visa &amp;dolda filer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Back</source>
+        <translation type="obsolete">Tillbaka</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">Föräldrakatalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">Skapa ny mapp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>List View</source>
+        <translation type="obsolete">Listvy</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Detail View</source>
+        <translation type="obsolete">Detaljerad vy</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Look in:</source>
+        <translation type="obsolete">Leta i:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File name:</source>
+        <translation type="obsolete">Filnamn:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">Filer av typen:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Directory:</source>
+        <translation type="obsolete">Katalog:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>
+File not found.
+Please verify the correct file name was given</source>
+        <translation type="obsolete">
+Filen hittades inte. 
+Kontrollera att det korrekta filnamnet angavs</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">%1 
+Katalogen hittades inte. 
+Kontrollera att det korrekta katalognamnet angavs.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+        <translation type="obsolete">\&quot;%1\&quot; är skrivskyddad. 
+Vill du ta bort den ändå?</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Are sure you want to delete &apos;%1&apos;?</source>
+        <translation type="obsolete">Är du säker på att du vill ta bort \&quot;%1\&quot;?</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not delete directory.</source>
+        <translation type="obsolete">Kunde inte ta bort katalogen.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">Alla filer (*.*)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save As</source>
+        <translation type="obsolete">Spara som</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open </source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">Välj en katalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Drive</source>
+        <translation type="obsolete">Enhet</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File</source>
+        <translation type="obsolete">Fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown</source>
+        <translation type="obsolete">Okänt</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">&amp;Typsnitt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">T&amp;ypsnittsstil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Effects</source>
+        <translation type="obsolete">Effekter</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">Genomstru&amp;ken</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">&amp;Understruken</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sample</source>
+        <translation type="obsolete">Test</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">Skr&amp;ivsystem</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select Font</source>
+        <translation type="obsolete">Välj typsnitt</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Not connected</source>
+        <translation type="obsolete">Inte ansluten</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Värden %1 hittades inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">Anslutningen till värden %1 vägrades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Ansluten till värden %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">Anslutning vägrades för dataanslutning</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">Anslutning till värden misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">Inloggning misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">Listning av katalogen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">Byte av katalog misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">Nedladdningen av filen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">Uppladdningen av filen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">Borttagning av filen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">Skapandet av katalogen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">Borttagning av katalogen misslyckades: 
+%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Anslutningen stängd</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Värden %1 hittades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Anslutningen till %1 stängdes</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host found</source>
+        <translation type="obsolete">Värden hittades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Ansluten till värden</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host not found</source>
+        <translation type="obsolete">Värden hittades inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">Okänd adresstyp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">Begäran avbröts</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">Ingen server inställd att ansluta till</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">Fel innehållslängd</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">Servern stängde oväntat anslutningen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Anslutningen nekades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">Värden %1 hittades inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">HTTP-begäran misslyckades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">Ogiltig HTTP-svarshuvud</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">Ogiltig HTTP chunked body</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">Värden %1 hittades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">Ansluten till värden %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">Anslutningen till %1 stängdes</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host found</source>
+        <translation type="obsolete">Värden hittades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">Ansluten till värd</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">Anslutningen stängd</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Error opening database</source>
+        <translation type="obsolete">Fel vid öppning av databas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not start transaction</source>
+        <translation type="obsolete">Kunde inte starta transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to rollback transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to create BLOB</source>
+        <translation type="obsolete">Kunde inte skapa BLOB</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to write BLOB</source>
+        <translation type="obsolete">Kunde inte skriva BLOB</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to open BLOB</source>
+        <translation type="obsolete">Kunde inte öppna BLOB</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to read BLOB</source>
+        <translation type="obsolete">Kunde inte läsa BLOB</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not find array</source>
+        <translation type="obsolete">Kunde inte hitta kedja</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not get array data</source>
+        <translation type="obsolete">Kunde inte få kedjedata</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not get query info</source>
+        <translation type="obsolete">Kunde inte gå frågesatsinformation</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not start transaction</source>
+        <translation type="obsolete">Kunde inte starta transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not allocate statement</source>
+        <translation type="obsolete">Kunde inte allokera frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not prepare statement</source>
+        <translation type="obsolete">Kunde inte förbereda frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not describe input statement</source>
+        <translation type="obsolete">Kunde inte beskriva inmatningsfrågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not describe statement</source>
+        <translation type="obsolete">Kunde inte beskriva frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to close statement</source>
+        <translation type="obsolete">Kunde inte stänga frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute query</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not fetch next item</source>
+        <translation type="obsolete">Kunde inte hämta nästa post</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not get statement info</source>
+        <translation type="obsolete">Kunde inte få frågesatsinformation</translation>
+    </message>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Åtkomst nekad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">För många öppna filer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">Ingen sådan fil eller katalog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">Inget ledigt utrymme på enheten</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">XIM-inmatningsmetod</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Windows-inmatningsmetod</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Mac OS X-inmatningsmetod</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QLibrary::load_sys: Cannot load %1 (%2)</source>
+        <translation type="obsolete">QLibrary::load_sys: Kan inte läsa in %1 (%2)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QLibrary::unload_sys: Cannot unload %1 (%2)</source>
+        <translation type="obsolete">QLibrary::unload_sys: Kan inte läsa ur %1 (%2)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QLibrary::resolve_sys: Symbol &quot;%1&quot; undefined in %2 (%3)</source>
+        <translation type="obsolete">QLibrary::resolve_sys: Symbolen &quot;%1&quot; är inte definierad i %2 (%3)</translation>
+    </message>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Ångra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Gör om</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Klipp &amp;ut</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopiera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Klistra &amp;in</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete</source>
+        <translation type="obsolete">Ta bort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select All</source>
+        <translation type="obsolete">Markera alla</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to open database &apos;</source>
+        <translation type="obsolete">Kunde inte öppna databasen \&quot;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to connect</source>
+        <translation type="obsolete">Kunde inte ansluta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to begin transaction</source>
+        <translation type="obsolete">Kunde inte påbörja transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to rollback transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch data</source>
+        <translation type="obsolete">Kunde inte hämta data</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute query</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to store result</source>
+        <translation type="obsolete">Kunde inte lagra resultat</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to prepare statement</source>
+        <translation type="obsolete">Kunde inte förbereda frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to reset statement</source>
+        <translation type="obsolete">Kunde inte återställa frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind value</source>
+        <translation type="obsolete">Kunde inte binda värde</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind outvalues</source>
+        <translation type="obsolete">Kunde inte binda utvärden</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to store statement results</source>
+        <translation type="obsolete">Kunde inte lagra resultat från frågesats</translation>
+    </message>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Close</source>
+        <translation type="obsolete">Stäng</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Execute</source>
+        <translation type="obsolete">Kör</translation>
+    </message>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Help</source>
+        <translation type="obsolete">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>About Qt</source>
+        <translation type="obsolete">Om Qt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Detta program använder Qt version %1.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;h3&gt;Om Qt&lt;/h3&gt;%1&lt;p&gt;Qt är ett C++-verktygssamling för utveckling av krossplattformsprogram.&lt;/p&gt;&lt;p&gt;Qt tillhandahåller portabilitet för samma källkod mellan MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, och alla andra stora kommersiella Unix-varianter. Qt finns också tillgängligt för inbäddade enheter som Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt är en produkt från Trolltech. Se &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; för mer information.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.trolltech.com/company/model.html&quot;&gt;www.trolltech.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;Detta program använder öppna källkodsutgåvan avQt version %1.&lt;/p&gt;&lt;p&gt;Öppna källkodsutgåvan av Qt är tänkt för utvecklingen av program med öppen källkod. Du behöver en kommersiell Qt-licens för att utveckla properitära (stängd källkod) program.&lt;/p&gt;&lt;p&gt;Se &lt;a href=&quot;http://www.trolltech.com/company/model.html&quot;&gt;www.trolltech.com/company/model.html&lt;/a&gt; för en översikt av licensmodellen för Qt.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Show Details...</source>
+        <translation type="obsolete">Visa detaljer...</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Hide Details...</source>
+        <translation type="obsolete">Dölj detaljer,,,</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select IM</source>
+        <translation type="obsolete">Välj inmatningsmetod</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Multiple input method switcher</source>
+        <translation type="obsolete">Växlare för flera inmatningsmetoder</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+        <translation type="obsolete">Växlare för flera inmatningsmetoder som använder sammanhangsmenyn för textwidgar</translation>
+    </message>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">Fjärrvärden stängde anslutningen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">Tidsgräns för nätverksåtgärd överstegs</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">Slut på resurser</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">Uttagsåtgärden stöds inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">Protokolltypen stöds inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">Ogiltig uttagsbeskrivare</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">Nätverket är inte nåbart</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">Åtkomst nekad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">Tidsgränsen för anslutning överstegs</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">Anslutningen vägrades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">Bindningsadress används redan</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">Adressen är inte tillgänglig</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">Adressen är skyddad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">Kunde inte skicka ett meddelande</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">Kunde inte ta emot ett meddelande</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">Kunde inte skriva</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Network error</source>
+        <translation type="obsolete">Nätverksfel</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">Ett annat uttag lyssnar redan på samma port</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">Kunde inte initiera icke-blockerande uttag</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">Kunde inte initiera uttag för broadcast</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">Försök att använda IPv6-uttag på en plattform som saknar IPv6-stöd</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Host unreachable</source>
+        <translation type="obsolete">Värden är inte nåbar</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Datagram was too large to send</source>
+        <translation type="obsolete">Datagram för för stor för att skicka</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Operation on non-socket</source>
+        <translation type="obsolete">Åtgärd på icke-uttag</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">Okänt fel</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QOCIDriver</source>
+        <comment>Unable to initialize</comment>
+        <translation type="obsolete">QOCIDriver</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to logon</source>
+        <translation type="obsolete">Kunde inte logga in</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind column for batch execute</source>
+        <translation type="obsolete">Kunde inte binda kolumn för satskörning</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute batch statement</source>
+        <translation type="obsolete">Kunde inte köra satsfråga</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to goto next</source>
+        <translation type="obsolete">Kunde inte gå till nästa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to alloc statement</source>
+        <translation type="obsolete">Kunde inte allokera frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to prepare statement</source>
+        <translation type="obsolete">Kunde inte förbereda frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind value</source>
+        <translation type="obsolete">Kunde inte binda värde</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute select statement</source>
+        <translation type="obsolete">Kunde inte köra \&quot;select\&quot;-frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+</context>
+<context>
+    <name>QODBCDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to connect</source>
+        <translation type="obsolete">Kunde inte ansluta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to connect - Driver doesn&apos;t support all needed functionality</source>
+        <translation type="obsolete">Kunde inte ansluta - Drivrutinen har inte stöd för all nödvändig funktionalitet</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to disable autocommit</source>
+        <translation type="obsolete">Kunde inte inaktivera automatisk verkställning</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to rollback transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to enable autocommit</source>
+        <translation type="obsolete">Kunde inte aktivera automatisk verkställning</translation>
+    </message>
+</context>
+<context>
+    <name>QODBCResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+        <translation type="obsolete">QODBCResult::reset: Kunde inte ställa in \&quot;SQL_CURSOR_STATIC\&quot; som frågesatsattribut. Kontrollera konfigurationen för din ODBC-drivrutin</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch next</source>
+        <translation type="obsolete">Kunde inte hämta nästa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to prepare statement</source>
+        <translation type="obsolete">Kunde inte förbereda frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind variable</source>
+        <translation type="obsolete">Kunde inte binda variabel</translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>False</source>
+        <translation type="obsolete">Falskt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>True</source>
+        <translation type="obsolete">Sant</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">Inte ansluten</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">Överkant</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">Nederkant</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to connect</source>
+        <translation type="obsolete">Kunde inte ansluta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not begin transaction</source>
+        <translation type="obsolete">Kunde inte påbörja transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Could not rollback transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to create query</source>
+        <translation type="obsolete">Kunde inte skapa fråga</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>locally connected</source>
+        <translation type="obsolete">lokalt ansluten</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">Alias: %1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>unknown</source>
+        <translation type="obsolete">okänt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Portrait</source>
+        <translation type="obsolete">Stående</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Landscape</source>
+        <translation type="obsolete">Liggande</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 mm, 8.26 x 11.7 tum)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 mm, 6.93 x 9.84 tum)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Executive (7.5 x 10 tum, 191 x 254 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8.5 x 14 tum, 216 x 356 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Letter (8.5 x 11 tum, 216 x 279 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloid (279 x 432 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">US Common #10 Envelope (105 x 241 mm)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page size:</source>
+        <translation type="obsolete">Sidstorlek:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">Orientering:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">Papperskälla:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print</source>
+        <translation type="obsolete">Skriv ut</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File</source>
+        <translation type="obsolete">Fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Printer</source>
+        <translation type="obsolete">Skrivare</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print To File ...</source>
+        <translation type="obsolete">Skriv ut till fil ...</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print dialog</source>
+        <translation type="obsolete">Utskriftsdialog</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Paper format</source>
+        <translation type="obsolete">Pappersformat</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Size:</source>
+        <translation type="obsolete">Storlek:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Properties</source>
+        <translation type="obsolete">Egenskaper</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Printer info:</source>
+        <translation type="obsolete">Skrivarinformation:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Browse</source>
+        <translation type="obsolete">Bläddra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print to file</source>
+        <translation type="obsolete">Skriv ut till fil</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print range</source>
+        <translation type="obsolete">Skriv ut intervall</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print all</source>
+        <translation type="obsolete">Skriv ut alla</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Pages from</source>
+        <translation type="obsolete">Sidor från</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>to</source>
+        <translation type="obsolete">till</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Selection</source>
+        <translation type="obsolete">Val</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Copies</source>
+        <translation type="obsolete">Kopior</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">Antal kopior:</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Collate</source>
+        <translation type="obsolete">Sortera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">Skriv ut sista sidan först</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Other</source>
+        <translation type="obsolete">Annat</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">Skriv ut i färg om möjligt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Double side printing</source>
+        <translation type="obsolete">Dubbelsidig utskrift</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>File %1 is not writable.
+Please choose a different file name.</source>
+        <translation type="obsolete">Filen %1 är inte skrivbar. 
+Välj ett annat filnamn.</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1 already exists.
+Do you want to overwrite it?</source>
+        <translation type="obsolete">%1 finns redan. 
+Vill du skriva över den?</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>PPD Properties</source>
+        <translation type="obsolete">PPD-egenskaper</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save</source>
+        <translation type="obsolete">Spara</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>OK</source>
+        <translation type="obsolete">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Check</source>
+        <translation type="obsolete">Kryssa</translation>
+    </message>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">inga fel inträffade</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">inaktiverad funktion används</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">felaktig teckenklasssyntax</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">felaktig seframåtsyntax</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">felaktig upprepningssyntax</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">ogiltigt oktalt värde</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">saknar vänster avgränsare</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">oväntat slut</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">nådde intern gräns</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Error to open database</source>
+        <translation type="obsolete">Fel vid öppning av databas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to begin transaction</source>
+        <translation type="obsolete">Kunde inte påbörja transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to rollback Transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch results</source>
+        <translation type="obsolete">Kunde inte hämta resultat</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Error opening database</source>
+        <translation type="obsolete">Fel vid öppning av databas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Error closing database</source>
+        <translation type="obsolete">Fel vid stängning av databas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to begin transaction</source>
+        <translation type="obsolete">Kunde inte påbörja transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to commit transaction</source>
+        <translation type="obsolete">Kunde inte verkställa transaktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to roll back transaction</source>
+        <translation type="obsolete">Kunde inte rulla tillbaka transaktion</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to fetch row</source>
+        <translation type="obsolete">Kunde inte hämta rad</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to execute statement</source>
+        <translation type="obsolete">Kunde inte köra frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to reset statement</source>
+        <translation type="obsolete">Kunde inte återställa frågesats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to bind parameters</source>
+        <translation type="obsolete">Kunde inte binda parametrar</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Parameter count mismatch</source>
+        <translation type="obsolete">Parameterantal stämmer inte</translation>
+    </message>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">Rulla här</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Left edge</source>
+        <translation type="obsolete">Vänsterkant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Top</source>
+        <translation type="obsolete">Överkant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Right edge</source>
+        <translation type="obsolete">Högerkant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Bottom</source>
+        <translation type="obsolete">Nederkant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page left</source>
+        <translation type="obsolete">Sida vänster</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page up</source>
+        <translation type="obsolete">Sida uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page right</source>
+        <translation type="obsolete">Sida höger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page down</source>
+        <translation type="obsolete">Sida nedåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">Rulla vänster</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">Rulla uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">Rulla höger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">Rulla nedåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Line up</source>
+        <translation type="obsolete">Rada upp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Position</source>
+        <translation type="obsolete">Position</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Line down</source>
+        <translation type="obsolete">Rad nedåt</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Space</source>
+        <translation type="obsolete">Mellanslag</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Backtab</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Backspace</source>
+        <translation type="obsolete">Backsteg</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Return</source>
+        <translation type="obsolete">Return</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Enter</source>
+        <translation type="obsolete">Enter</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ins</source>
+        <translation type="obsolete">Ins</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Del</source>
+        <translation type="obsolete">Del</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Pause</source>
+        <translation type="obsolete">Pause</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print</source>
+        <translation type="obsolete">Print</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>SysReq</source>
+        <translation type="obsolete">SysReq</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Home</source>
+        <translation type="obsolete">Home</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>End</source>
+        <translation type="obsolete">End</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Left</source>
+        <translation type="obsolete">Vänster</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Up</source>
+        <translation type="obsolete">Upp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Right</source>
+        <translation type="obsolete">Höger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Down</source>
+        <translation type="obsolete">Ned</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>PgUp</source>
+        <translation type="obsolete">PgUp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>PgDown</source>
+        <translation type="obsolete">PgDown</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">CapsLock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>NumLock</source>
+        <translation type="obsolete">NumLock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">ScrollLock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Menu</source>
+        <translation type="obsolete">Meny</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Help</source>
+        <translation type="obsolete">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Back</source>
+        <translation type="obsolete">Bakåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Forward</source>
+        <translation type="obsolete">Framåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Stop</source>
+        <translation type="obsolete">Stoppa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Refresh</source>
+        <translation type="obsolete">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">Sänk volym</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">Volym tyst</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">Höj volym</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">Förstärk bas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">Höj bas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">Sänk bas</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">Höj diskant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">Sänk diskant</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Media Play</source>
+        <translation type="obsolete">Media spela upp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">Media stopp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">Media föregående</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Media Next</source>
+        <translation type="obsolete">Media nästa</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Media Record</source>
+        <translation type="obsolete">Media spela in</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Favorites</source>
+        <translation type="obsolete">Favoriter</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Search</source>
+        <translation type="obsolete">Sök</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Standby</source>
+        <translation type="obsolete">Avvakta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open URL</source>
+        <translation type="obsolete">Öppna url</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">Starta e-post</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">Starta media</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">Starta (0)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">Starta (1)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">Starta (2)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">Starta (3)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">Starta (4)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">Starta (5)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">Starta (6)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">Starta (7)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">Starta (8)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">Starta (9)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">Starta (A)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">Starta (B)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">Starta (C)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">Starta (D)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">Starta (E)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">Starta (F)</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Print Screen</source>
+        <translation type="obsolete">Print Screen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page Up</source>
+        <translation type="obsolete">Page Up</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page Down</source>
+        <translation type="obsolete">Page Down</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Caps Lock</source>
+        <translation type="obsolete">Caps Lock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Num Lock</source>
+        <translation type="obsolete">Num Lock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Number Lock</source>
+        <translation type="obsolete">Number Lock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll Lock</source>
+        <translation type="obsolete">Scroll Lock</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Insert</source>
+        <translation type="obsolete">Insert</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete</source>
+        <translation type="obsolete">Delete</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Escape</source>
+        <translation type="obsolete">Escape</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>System Request</source>
+        <translation type="obsolete">System Request</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select</source>
+        <translation type="obsolete">Välj</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>No</source>
+        <translation type="obsolete">Nej</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Context1</source>
+        <translation type="obsolete">Sammanhang1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Context2</source>
+        <translation type="obsolete">Sammanhang2</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Context3</source>
+        <translation type="obsolete">Sammanhang3</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Context4</source>
+        <translation type="obsolete">Sammanhang4</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Call</source>
+        <translation type="obsolete">Ring upp</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Hangup</source>
+        <translation type="obsolete">Lägg på</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Flip</source>
+        <translation type="obsolete">Vänd</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Shift</source>
+        <translation type="obsolete">Shift</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Home Page</source>
+        <translation type="obsolete">Hemsida</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page left</source>
+        <translation type="obsolete">Sida vänster</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page up</source>
+        <translation type="obsolete">Sida uppåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Position</source>
+        <translation type="obsolete">Position</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page right</source>
+        <translation type="obsolete">Sida höger</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Page down</source>
+        <translation type="obsolete">Sida nedåt</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">Tidsgräns för Socks5 överstigen vid anslutningen till socks-server</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>More</source>
+        <translation type="obsolete">Mer</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Less</source>
+        <translation type="obsolete">Mindre</translation>
+    </message>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete</source>
+        <translation type="obsolete">Ta bort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">Ta bort denna post?</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Yes</source>
+        <translation type="obsolete">Ja</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>No</source>
+        <translation type="obsolete">Nej</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Insert</source>
+        <translation type="obsolete">Infoga</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Update</source>
+        <translation type="obsolete">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">Spara redigeringar?</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Confirm</source>
+        <translation type="obsolete">Bekräfta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">Avbryt dina redigeringar?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to open connection</source>
+        <translation type="obsolete">Kunde inte öppna anslutning</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Unable to use database</source>
+        <translation type="obsolete">Kunde inte använda databasen</translation>
+    </message>
+</context>
+<context>
+    <name>QTabBar</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll Left</source>
+        <translation type="obsolete">Rulla vänster</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Scroll Right</source>
+        <translation type="obsolete">Rulla höger</translation>
+    </message>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">Uttagsåtgärd stöds inte</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">&amp;Ångra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">&amp;Gör om</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">Klipp u&amp;t</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">&amp;Kopiera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Copy &amp;Link Location</source>
+        <translation type="obsolete">Kopiera &amp;länkplats</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">Klistra &amp;in</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Delete</source>
+        <translation type="obsolete">Ta bort</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Select All</source>
+        <translation type="obsolete">Markera alla</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Press</source>
+        <translation type="obsolete">Tryck</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Open</source>
+        <translation type="obsolete">Öppna</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">Denna plattform saknar stöd för IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Undo</source>
+        <translation type="obsolete">Ångra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Redo</source>
+        <translation type="obsolete">Gör om</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoModel</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&lt;empty&gt;</source>
+        <translation type="obsolete">&lt;tom&gt;</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoStack</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Undo</source>
+        <translation type="obsolete">Ångra</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Redo</source>
+        <translation type="obsolete">Gör om</translation>
+    </message>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>LRM Left-to-right mark</source>
+        <translation type="obsolete">U+200E</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>RLM Right-to-left mark</source>
+        <translation type="obsolete">U+200F</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>ZWJ Zero width joiner</source>
+        <translation type="obsolete">U+200D</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>ZWNJ Zero width non-joiner</source>
+        <translation type="obsolete">U+200C</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>ZWSP Zero width space</source>
+        <translation type="obsolete">U+200B</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>LRE Start of left-to-right embedding</source>
+        <translation type="obsolete">U+202A</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>RLE Start of right-to-left embedding</source>
+        <translation type="obsolete">U+202B</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>LRO Start of left-to-right override</source>
+        <translation type="obsolete">U+202D</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>RLO Start of right-to-left override</source>
+        <translation type="obsolete">U+202E</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>PDF Pop directional formatting</source>
+        <translation type="obsolete">U+202C</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">Infoga unicode-kontrolltecken</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">Vad är det här?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">Åte&amp;rställ</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">&amp;Flytta</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">&amp;Storlek</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">Mi&amp;nimera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">Ma&amp;ximera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">Stanna kvar övers&amp;t</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">Skugg&amp;a</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Minimize</source>
+        <translation type="obsolete">Minimera</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">Återställ nedåt</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>Close</source>
+        <translation type="obsolete">Stäng</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">A&amp;vskugga</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">inga fel inträffade</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">fel utlöstes av konsument</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">oväntat slut på filen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">fler än en dokumenttypsdefinition</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">fel inträffade vid tolkning av element</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">tagg stämmer inte</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">fel inträffade vid tolkning av innehåll</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">oväntat tecken</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">ogiltigt namn för behandlingsinstruktion</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">version förväntades vid läsning av XML-deklareringen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">fel värde för fristående deklarering</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">kodningsdeklarering eller fristående deklarering förväntades vid läsning av XML-deklareringen</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">fristående deklarering förväntades vid läsning av XML-deklarering</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">fel inträffade vid tolkning av dokumenttypsdefinition</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">bokstav förväntades</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">fel inträffade vid tolkning av kommentar</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">fel inträffade vid tolkning av referens</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">intern allmän entitetsreferens tillåts inte i DTD</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">extern tolkad allmän entitetsreferens tillåts inte i attributvärde</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">extern tolkad allmän entitetsreferens tillåts inte i DTD</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">otolkad entitetsreferens i fel sammanhang</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">rekursiva entiteter</translation>
+    </message>
+    <message>
+        <location filename="" line="7471221"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">fel i textdeklareringen av en extern entitet</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">Fil</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">Attribut</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">Spara som</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished">Bläddra</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished">Värde</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">Sök</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 mm) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 mm)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">Stående</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">Liggande</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">Storlek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">Spara</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished">Värde</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Uppdatera</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">Öppna</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">Spara</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">Stoppa</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">Fil</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished">Bläddra</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished">Värde</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">Höger</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">Vänster</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished">Storlek:</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished">Position</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">Stäng</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished">OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished">Egenskaper</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">&amp;Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">&amp;OK</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">&amp;Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">Töm</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">Test</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">&amp;Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">Fel</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">Sök</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished">Värde</translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">Uppdatera</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">Hjälp</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">Storlek</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished">Avbryt</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">Typ</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished">Värde</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">Ja</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">Nej</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/i18n/qt_zh_CN.ts
===================================================================
--- packages/qgis/branches/upstream/current/i18n/qt_zh_CN.ts	                        (rev 0)
+++ packages/qgis/branches/upstream/current/i18n/qt_zh_CN.ts	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16359 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>OGR Driver Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1664"/>
+        <source>unable to get OGRDriverManager</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>MapCoordsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="13"/>
+        <source>Enter map coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="28"/>
+        <source>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="62"/>
+        <source>X:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="69"/>
+        <source>Y:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="137"/>
+        <source> from map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="172"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">取消(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/mapcoordsdialogbase.ui" line="185"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">确定(&amp;O)</translation>
+    </message>
+</context>
+<context>
+    <name>PPDOptionsModel</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1510"/>
+        <source>Name</source>
+        <translation type="obsolete">名称</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Accel</name>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="462"/>
+        <source>%1, %2 not defined</source>
+        <translation type="obsolete">%1,%2未定义</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/other/q3accel.cpp" line="497"/>
+        <source>Ambiguous %1 not handled</source>
+        <translation type="obsolete">不明确的%1没有被处理</translation>
+    </message>
+</context>
+<context>
+    <name>Q3DataTable</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+        <source>True</source>
+        <translation type="obsolete">真</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="254"/>
+        <source>False</source>
+        <translation type="obsolete">假</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="766"/>
+        <source>Insert</source>
+        <translation type="obsolete">插入</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="767"/>
+        <source>Update</source>
+        <translation type="obsolete">更新</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3datatable.cpp" line="768"/>
+        <source>Delete</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+</context>
+<context>
+    <name>Q3FileDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="831"/>
+        <source>Copy or Move a File</source>
+        <translation type="obsolete">复制或者移动一个文件</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="839"/>
+        <source>Read: %1</source>
+        <translation type="obsolete">读取:%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="875"/>
+        <source>Write: %1</source>
+        <translation type="obsolete">写入:%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2423"/>
+        <source>Name</source>
+        <translation type="obsolete">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2424"/>
+        <source>Size</source>
+        <translation type="obsolete">大小</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2426"/>
+        <source>Type</source>
+        <translation type="obsolete">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2427"/>
+        <source>Date</source>
+        <translation type="obsolete">日期</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2428"/>
+        <source>Attributes</source>
+        <translation type="obsolete">属性</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2467"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2503"/>
+        <source>Look &amp;in:</source>
+        <translation type="obsolete">查找范围(&amp;I):</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2505"/>
+        <source>File &amp;type:</source>
+        <translation type="obsolete">文件类型(&amp;T):</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2512"/>
+        <source>Back</source>
+        <translation type="obsolete">后退</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2519"/>
+        <source>One directory up</source>
+        <translation type="obsolete">向上一级</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2528"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">创建新文件夹</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2546"/>
+        <source>List View</source>
+        <translation type="obsolete">列表视图</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2554"/>
+        <source>Detail View</source>
+        <translation type="obsolete">详细视图</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2563"/>
+        <source>Preview File Info</source>
+        <translation type="obsolete">预览文件信息</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2586"/>
+        <source>Preview File Contents</source>
+        <translation type="obsolete">预览文件内容</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2674"/>
+        <source>Read-write</source>
+        <translation type="obsolete">读写</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2675"/>
+        <source>Read-only</source>
+        <translation type="obsolete">只读</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2676"/>
+        <source>Write-only</source>
+        <translation type="obsolete">只写</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2677"/>
+        <source>Inaccessible</source>
+        <translation type="obsolete">不可访问的</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2679"/>
+        <source>Symlink to File</source>
+        <translation type="obsolete">文件的系统链接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2680"/>
+        <source>Symlink to Directory</source>
+        <translation type="obsolete">目录的系统链接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2681"/>
+        <source>Symlink to Special</source>
+        <translation type="obsolete">特殊的系统链接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2682"/>
+        <source>File</source>
+        <translation type="obsolete">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2683"/>
+        <source>Dir</source>
+        <translation type="obsolete">目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="2684"/>
+        <source>Special</source>
+        <translation type="obsolete">特殊</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4180"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">重命名(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4181"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">删除(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4201"/>
+        <source>R&amp;eload</source>
+        <translation type="obsolete">重新载入(&amp;E)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4205"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">按名称排列(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4207"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">按大小排列(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4208"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">按日期排列(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4210"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">未排列的(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4225"/>
+        <source>Sort</source>
+        <translation type="obsolete">排列</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4229"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">显示隐藏文件(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4260"/>
+        <source>the file</source>
+        <translation type="obsolete">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4262"/>
+        <source>the directory</source>
+        <translation type="obsolete">目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4264"/>
+        <source>the symlink</source>
+        <translation type="obsolete">系统链接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4267"/>
+        <source>Delete %1</source>
+        <translation type="obsolete">删除%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4269"/>
+        <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+        <translation type="obsolete">&lt;qt&gt;你确认你想删除%1,“%2”?&lt;/qt&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">是(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4270"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">否(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4306"/>
+        <source>New Folder 1</source>
+        <translation type="obsolete">新建文件夹1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4311"/>
+        <source>New Folder</source>
+        <translation type="obsolete">新建文件夹</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4316"/>
+        <source>New Folder %1</source>
+        <translation type="obsolete">新建文件夹%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4422"/>
+        <source>Find Directory</source>
+        <translation type="obsolete">查找目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4522"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">保存(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4532"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">确定(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4533"/>
+        <source>Directory:</source>
+        <translation type="obsolete">目录:</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4535"/>
+        <source>Directories</source>
+        <translation type="obsolete">目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4538"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">打开(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4539"/>
+        <source>File &amp;name:</source>
+        <translation type="obsolete">文件名称(&amp;N):</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="4574"/>
+        <source>%1
+File not found.
+Check path and filename.</source>
+        <translation type="obsolete">文件%1
+未找到。
+请检查路径和文件名。</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="5723"/>
+        <source>Error</source>
+        <translation type="obsolete">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">所有文件 (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="104"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">所有文件 (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="309"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">另存为</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="479"/>
+        <source>Open </source>
+        <translation type="obsolete">打开</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="634"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">选择一个目录</translation>
+    </message>
+</context>
+<context>
+    <name>Q3LocalFs</name>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="113"/>
+        <source>Could not read directory
+%1</source>
+        <translation type="obsolete">不能读取目录
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="158"/>
+        <source>Could not create directory
+%1</source>
+        <translation type="obsolete">不能创建目录
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="192"/>
+        <source>Could not remove file or directory
+%1</source>
+        <translation type="obsolete">不能移除文件或者目录
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="219"/>
+        <source>Could not rename
+%1
+to
+%2</source>
+        <translation type="obsolete">不能把
+%1
+重命名为
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="244"/>
+        <source>Could not open
+%1</source>
+        <translation type="obsolete">不能打开
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3localfs.cpp" line="312"/>
+        <source>Could not write
+%1</source>
+        <translation type="obsolete">不能写入
+%1</translation>
+    </message>
+</context>
+<context>
+    <name>Q3MainWindow</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2044"/>
+        <source>Line up</source>
+        <translation type="obsolete">排列</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2046"/>
+        <source>Customize...</source>
+        <translation type="obsolete">自定义...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3NetworkProtocol</name>
+    <message>
+        <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="827"/>
+        <source>Operation stopped by the user</source>
+        <translation type="obsolete">操作被用户停止</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ProgressDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="294"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TabDialog</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="970"/>
+        <source>OK</source>
+        <translation type="obsolete">确认</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="614"/>
+        <source>Apply</source>
+        <translation type="obsolete">应用</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="657"/>
+        <source>Help</source>
+        <translation type="obsolete">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="702"/>
+        <source>Defaults</source>
+        <translation type="obsolete">默认</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="752"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TextEdit</name>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5426"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">撤消(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5427"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">恢复(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5432"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">剪切(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5433"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">复制(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5435"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">粘贴(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5438"/>
+        <source>Clear</source>
+        <translation type="obsolete">清空</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/text/q3textedit.cpp" line="5444"/>
+        <source>Select All</source>
+        <translation type="obsolete">选择全部</translation>
+    </message>
+</context>
+<context>
+    <name>Q3TitleBar</name>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="220"/>
+        <source>Minimize</source>
+        <translation type="obsolete">最小化</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="226"/>
+        <source>Close</source>
+        <translation type="obsolete">关闭</translation>
+    </message>
+</context>
+<context>
+    <name>Q3ToolBar</name>
+    <message>
+        <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="655"/>
+        <source>More...</source>
+        <translation type="obsolete">更多...</translation>
+    </message>
+</context>
+<context>
+    <name>Q3UrlOperator</name>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="622"/>
+        <source>The protocol `%1&apos; is not supported</source>
+        <translation type="obsolete">协议“%1”不被支持</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="362"/>
+        <source>The protocol `%1&apos; does not support listing directories</source>
+        <translation type="obsolete">协议“%1”不支持列出目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="365"/>
+        <source>The protocol `%1&apos; does not support creating new directories</source>
+        <translation type="obsolete">协议“%1”不支持创建新目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="368"/>
+        <source>The protocol `%1&apos; does not support removing files or directories</source>
+        <translation type="obsolete">协议“%1”不支持移除文件或者目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="371"/>
+        <source>The protocol `%1&apos; does not support renaming files or directories</source>
+        <translation type="obsolete">协议“%1”不支持重命名文件或者目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="374"/>
+        <source>The protocol `%1&apos; does not support getting files</source>
+        <translation type="obsolete">协议“%1”不支持获取文件</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="377"/>
+        <source>The protocol `%1&apos; does not support putting files</source>
+        <translation type="obsolete">协议“%1”不支持上传文件</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="624"/>
+        <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+        <translation type="obsolete">协议“%1”不支持复制或者移动文件或者目录</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3urloperator.cpp" line="879"/>
+        <source>(unknown)</source>
+        <translation type="obsolete">(未知的)</translation>
+    </message>
+</context>
+<context>
+    <name>Q3Wizard</name>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="145"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">取消(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="146"/>
+        <source>&lt; &amp;Back</source>
+        <translation type="obsolete">&lt; 上一步(&amp;B)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+        <source>&amp;Next &gt;</source>
+        <translation type="obsolete">下一步(&amp;N) &gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="148"/>
+        <source>&amp;Finish</source>
+        <translation type="obsolete">完成(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="149"/>
+        <source>&amp;Help</source>
+        <translation type="obsolete">帮助(&amp;H)</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSocket</name>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="673"/>
+        <source>Host not found</source>
+        <translation type="obsolete">主机未找到</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="727"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">连接被拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qabstractsocket.cpp" line="1361"/>
+        <source>Socket operation timed out</source>
+        <translation type="obsolete">套接字操作超时</translation>
+    </message>
+</context>
+<context>
+    <name>QAbstractSpinBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1106"/>
+        <source>&amp;Step up</source>
+        <translation type="obsolete">增加(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1108"/>
+        <source>Step &amp;down</source>
+        <translation type="obsolete">减少(&amp;D)</translation>
+    </message>
+</context>
+<context>
+    <name>QApplication</name>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+        <source>Activate</source>
+        <translation type="obsolete">激活</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="348"/>
+        <source>Activates the program&apos;s main window</source>
+        <translation type="obsolete">激活这个程序的主窗口</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="290"/>
+        <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+        <translation type="obsolete">执行“%1”需要Qt %2,只找到了Qt %3。</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="292"/>
+        <source>Incompatible Qt Library Error</source>
+        <translation type="obsolete">不兼容的Qt错误</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qapplication.cpp" line="1927"/>
+        <source>QT_LAYOUT_DIRECTION</source>
+        <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+        <translation type="obsolete">LTR</translation>
+    </message>
+</context>
+<context>
+    <name>QAxSelect</name>
+    <message>
+        <location filename="../src/activeqt/container/qaxselect.ui" line="76"/>
+        <source>&amp;Cancel</source>
+        <translation type="obsolete">取消(&amp;C)</translation>
+    </message>
+</context>
+<context>
+    <name>QCheckBox</name>
+</context>
+<context>
+    <name>QColorDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1036"/>
+        <source>Hu&amp;e:</source>
+        <translation type="obsolete">色调(&amp;E):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1045"/>
+        <source>&amp;Sat:</source>
+        <translation type="obsolete">饱和度(&amp;S):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1054"/>
+        <source>&amp;Val:</source>
+        <translation type="obsolete">亮度(&amp;V):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1063"/>
+        <source>&amp;Red:</source>
+        <translation type="obsolete">红色(&amp;R):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1072"/>
+        <source>&amp;Green:</source>
+        <translation type="obsolete">绿色(&amp;G):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1081"/>
+        <source>Bl&amp;ue:</source>
+        <translation type="obsolete">蓝色(&amp;U):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1090"/>
+        <source>A&amp;lpha channel:</source>
+        <translation type="obsolete">Alpha通道(&amp;A):</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1285"/>
+        <source>&amp;Basic colors</source>
+        <translation type="obsolete">基本颜色(&amp;B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1300"/>
+        <source>&amp;Custom colors</source>
+        <translation type="obsolete">自定义颜色(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1307"/>
+        <source>&amp;Define Custom Colors &gt;&gt;</source>
+        <translation type="obsolete">定义自定义颜色(&amp;D) &gt;&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1356"/>
+        <source>OK</source>
+        <translation type="obsolete">确定</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1359"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1366"/>
+        <source>&amp;Add to Custom Colors</source>
+        <translation type="obsolete">添加到自定义颜色(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1501"/>
+        <source>Select color</source>
+        <translation type="obsolete">选择颜色</translation>
+    </message>
+</context>
+<context>
+    <name>QComboBox</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="456"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+</context>
+<context>
+    <name>QDB2Driver</name>
+</context>
+<context>
+    <name>QDB2Result</name>
+</context>
+<context>
+    <name>QDateTimeEdit</name>
+</context>
+<context>
+    <name>QDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="467"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">这是什么?</translation>
+    </message>
+</context>
+<context>
+    <name>QDialogButtonBox</name>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="414"/>
+        <source>Save</source>
+        <translation type="obsolete">保存</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="418"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="426"/>
+        <source>Close</source>
+        <translation type="obsolete">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="430"/>
+        <source>Apply</source>
+        <translation type="obsolete">应用</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="438"/>
+        <source>Help</source>
+        <translation type="obsolete">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="449"/>
+        <source>&amp;Yes</source>
+        <translation type="obsolete">是(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="452"/>
+        <source>Yes to &amp;All</source>
+        <translation type="obsolete">全部是(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="456"/>
+        <source>&amp;No</source>
+        <translation type="obsolete">否(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="459"/>
+        <source>N&amp;o to All</source>
+        <translation type="obsolete">全部否(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="465"/>
+        <source>Abort</source>
+        <translation type="obsolete">放弃</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="468"/>
+        <source>Retry</source>
+        <translation type="obsolete">重试</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="471"/>
+        <source>Ignore</source>
+        <translation type="obsolete">忽略</translation>
+    </message>
+</context>
+<context>
+    <name>QDirModel</name>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="648"/>
+        <source>Name</source>
+        <translation type="obsolete">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="649"/>
+        <source>Size</source>
+        <translation type="obsolete">大小</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="654"/>
+        <source>Type</source>
+        <comment>All other platforms</comment>
+        <translation type="obsolete">类型</translation>
+    </message>
+</context>
+<context>
+    <name>QErrorMessage</name>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="128"/>
+        <source>Debug Message:</source>
+        <translation type="obsolete">调试消息:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="131"/>
+        <source>Warning:</source>
+        <translation type="obsolete">警告:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="134"/>
+        <source>Fatal Error:</source>
+        <translation type="obsolete">致命错误:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="168"/>
+        <source>&amp;Show this message again</source>
+        <translation type="obsolete">再次显示这个消息(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qerrormessage.cpp" line="171"/>
+        <source>&amp;OK</source>
+        <translation type="obsolete">确定(&amp;O)</translation>
+    </message>
+</context>
+<context>
+    <name>QFileDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="656"/>
+        <source>&amp;Save</source>
+        <translation type="obsolete">保存(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="657"/>
+        <source>Save</source>
+        <translation type="obsolete">保存</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="910"/>
+        <source>%1 already exists.
+Do you want to replace it?</source>
+        <translation type="obsolete">%1已经存在。你想要替换它么?</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="924"/>
+        <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+        <translation type="obsolete">文件%1
+没有找到。
+请核实已给定正确文件名。</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1066"/>
+        <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+        <translation type="obsolete">目录%1
+没有找到。
+请核实已给定正确目录名。</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1365"/>
+        <source>Sort</source>
+        <translation type="obsolete">排列</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1604"/>
+        <source>Directories</source>
+        <translation type="obsolete">目录</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1632"/>
+        <source>&amp;Open</source>
+        <translation type="obsolete">打开(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1635"/>
+        <source>&amp;Rename</source>
+        <translation type="obsolete">重命名(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1638"/>
+        <source>&amp;Delete</source>
+        <translation type="obsolete">删除(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1641"/>
+        <source>&amp;Reload</source>
+        <translation type="obsolete">重新载入(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1644"/>
+        <source>Sort by &amp;Name</source>
+        <translation type="obsolete">按名称排列(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1649"/>
+        <source>Sort by &amp;Size</source>
+        <translation type="obsolete">按大小排列(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1653"/>
+        <source>Sort by &amp;Date</source>
+        <translation type="obsolete">按日期排列(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1657"/>
+        <source>&amp;Unsorted</source>
+        <translation type="obsolete">未排列的(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1661"/>
+        <source>Show &amp;hidden files</source>
+        <translation type="obsolete">显示隐藏文件(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1745"/>
+        <source>Back</source>
+        <translation type="obsolete">后退</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1756"/>
+        <source>Parent Directory</source>
+        <translation type="obsolete">父目录</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1767"/>
+        <source>Create New Folder</source>
+        <translation type="obsolete">创建新文件夹</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1777"/>
+        <source>List View</source>
+        <translation type="obsolete">列表视图</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1788"/>
+        <source>Detail View</source>
+        <translation type="obsolete">详细视图</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1803"/>
+        <source>Look in:</source>
+        <translation type="obsolete">查找:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1805"/>
+        <source>File name:</source>
+        <translation type="obsolete">文件名:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1807"/>
+        <source>Files of type:</source>
+        <translation type="obsolete">文件类型:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1815"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_mac.cpp" line="83"/>
+        <source>All Files (*)</source>
+        <translation type="obsolete">所有文件 (*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="106"/>
+        <source>All Files (*.*)</source>
+        <translation type="obsolete">所有文件 (*.*)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="314"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="393"/>
+        <source>Save As</source>
+        <translation type="obsolete">另存为</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="627"/>
+        <source>Select a Directory</source>
+        <translation type="obsolete">选择一个目录</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="232"/>
+        <source>Drive</source>
+        <translation type="obsolete">驱动器</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="236"/>
+        <source>File</source>
+        <translation type="obsolete">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="265"/>
+        <source>Unknown</source>
+        <translation type="obsolete">未知的</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qdirmodel.cpp" line="1049"/>
+        <source>My Computer</source>
+        <translation type="obsolete">我的计算机</translation>
+    </message>
+</context>
+<context>
+    <name>QFontDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="195"/>
+        <source>&amp;Font</source>
+        <translation type="obsolete">字体(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="206"/>
+        <source>Font st&amp;yle</source>
+        <translation type="obsolete">字体风格(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="218"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">大小(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="225"/>
+        <source>Effects</source>
+        <translation type="obsolete">效果</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="228"/>
+        <source>Stri&amp;keout</source>
+        <translation type="obsolete">删除线(&amp;K)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="231"/>
+        <source>&amp;Underline</source>
+        <translation type="obsolete">下划线(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="234"/>
+        <source>Sample</source>
+        <translation type="obsolete">实例</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="246"/>
+        <source>Wr&amp;iting System</source>
+        <translation type="obsolete">书写系统(&amp;I)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qfontdialog.cpp" line="444"/>
+        <source>Select Font</source>
+        <translation type="obsolete">选择字体</translation>
+    </message>
+</context>
+<context>
+    <name>QFtp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+        <source>Not connected</source>
+        <translation type="obsolete">没有连接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="718"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">主机%1没有找到</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="722"/>
+        <source>Connection refused to host %1</source>
+        <translation type="obsolete">连接被主机%!拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="985"/>
+        <source>Connection refused for data connection</source>
+        <translation type="obsolete">因为数据连接而被拒绝连接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="1960"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2037"/>
+        <source>Connecting to host failed:
+%1</source>
+        <translation type="obsolete">连接主机失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2040"/>
+        <source>Login failed:
+%1</source>
+        <translation type="obsolete">登录失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2043"/>
+        <source>Listing directory failed:
+%1</source>
+        <translation type="obsolete">列出目录失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2046"/>
+        <source>Changing directory failed:
+%1</source>
+        <translation type="obsolete">改变目录失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2049"/>
+        <source>Downloading file failed:
+%1</source>
+        <translation type="obsolete">下载文件失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2052"/>
+        <source>Uploading file failed:
+%1</source>
+        <translation type="obsolete">上传文件失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2055"/>
+        <source>Removing file failed:
+%1</source>
+        <translation type="obsolete">移除文件失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2058"/>
+        <source>Creating directory failed:
+%1</source>
+        <translation type="obsolete">创建目录失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2061"/>
+        <source>Removing directory failed:
+%1</source>
+        <translation type="obsolete">移除目录失败:
+%1</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2325"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">主机%1找到了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2327"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">连接到主机%1了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2329"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">到%1的连接关闭了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2332"/>
+        <source>Host found</source>
+        <translation type="obsolete">主机找到了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2334"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">连接到主机了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3ftp.cpp" line="2336"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">连接关闭了</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfo</name>
+    <message>
+        <location filename="../src/network/qhostinfo_p.h" line="136"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+</context>
+<context>
+    <name>QHostInfoAgent</name>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="202"/>
+        <source>Host not found</source>
+        <translation type="obsolete">主机未找到</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="197"/>
+        <source>Unknown address type</source>
+        <translation type="obsolete">未知的地址类型</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qhostinfo_win.cpp" line="205"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+</context>
+<context>
+    <name>QHttp</name>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1379"/>
+        <source>Request aborted</source>
+        <translation type="obsolete">请求被放弃了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1749"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1760"/>
+        <source>No server set to connect to</source>
+        <translation type="obsolete">没有设置要连接的服务器</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1816"/>
+        <source>Wrong content length</source>
+        <translation type="obsolete">错误的内容长度</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1820"/>
+        <source>Server closed connection unexpectedly</source>
+        <translation type="obsolete">服务器异常地关闭了连接</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1858"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">连接被拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1861"/>
+        <source>Host %1 not found</source>
+        <translation type="obsolete">主机%1没有找到</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1864"/>
+        <source>HTTP request failed</source>
+        <translation type="obsolete">HTTP请求失败</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="1933"/>
+        <source>Invalid HTTP response header</source>
+        <translation type="obsolete">无效的HTTP响应头</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2019"/>
+        <source>Invalid HTTP chunked body</source>
+        <translation type="obsolete">无效的HTTP臃肿体</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2313"/>
+        <source>Host %1 found</source>
+        <translation type="obsolete">主机%1找到了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2316"/>
+        <source>Connected to host %1</source>
+        <translation type="obsolete">连接到%1主机了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2319"/>
+        <source>Connection to %1 closed</source>
+        <translation type="obsolete">到%1的连接关闭了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2327"/>
+        <source>Host found</source>
+        <translation type="obsolete">主机找到了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2330"/>
+        <source>Connected to host</source>
+        <translation type="obsolete">连接到主机了</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/network/q3http.cpp" line="2333"/>
+        <source>Connection closed</source>
+        <translation type="obsolete">连接关闭了</translation>
+    </message>
+</context>
+<context>
+    <name>QIBaseDriver</name>
+</context>
+<context>
+    <name>QIBaseResult</name>
+</context>
+<context>
+    <name>QIODevice</name>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1823"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">权限被拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1826"/>
+        <source>Too many open files</source>
+        <translation type="obsolete">太多打开的文件</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1829"/>
+        <source>No such file or directory</source>
+        <translation type="obsolete">没有这个文件或者目录</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/global/qglobal.cpp" line="1832"/>
+        <source>No space left on device</source>
+        <translation type="obsolete">设备上没有空间了</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/io/qiodevice.cpp" line="1426"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+</context>
+<context>
+    <name>QInputContext</name>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="202"/>
+        <source>XIM</source>
+        <translation type="obsolete">XIM</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="225"/>
+        <source>XIM input method</source>
+        <translation type="obsolete">XIM输入法</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="229"/>
+        <source>Windows input method</source>
+        <translation type="obsolete">Windows输入法</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="233"/>
+        <source>Mac OS X input method</source>
+        <translation type="obsolete">Mac OS X输入法</translation>
+    </message>
+</context>
+<context>
+    <name>QLibrary</name>
+</context>
+<context>
+    <name>QLineEdit</name>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2383"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">撤消(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2385"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">恢复(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2389"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">剪切(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2391"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">复制(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2393"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">粘贴(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2396"/>
+        <source>Delete</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qlineedit.cpp" line="2400"/>
+        <source>Select All</source>
+        <translation type="obsolete">选择全部</translation>
+    </message>
+</context>
+<context>
+    <name>QMYSQLDriver</name>
+</context>
+<context>
+    <name>QMYSQLResult</name>
+</context>
+<context>
+    <name>QMenu</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="307"/>
+        <source>Close</source>
+        <translation type="obsolete">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="308"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+</context>
+<context>
+    <name>QMenuBar</name>
+</context>
+<context>
+    <name>QMessageBox</name>
+    <message>
+        <location filename="../src/gui/dialogs/qdialog.cpp" line="562"/>
+        <source>Help</source>
+        <translation type="obsolete">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="225"/>
+        <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+        <translation type="obsolete">&lt;p&gt;这个程序使用的是Qt %1版。&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.cpp" line="1090"/>
+        <source>About Qt</source>
+        <translation type="obsolete">关于Qt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qmessagebox.h" line="262"/>
+        <source>OK</source>
+        <translation type="obsolete">确定</translation>
+    </message>
+</context>
+<context>
+    <name>QMultiInputContext</name>
+</context>
+<context>
+    <name>QMultiInputContextPlugin</name>
+</context>
+<context>
+    <name>QNativeSocketEngine</name>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="160"/>
+        <source>The remote host closed the connection</source>
+        <translation type="obsolete">远端主机关闭了这个连接</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="163"/>
+        <source>Network operation timed out</source>
+        <translation type="obsolete">网络操作超时</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="166"/>
+        <source>Out of resources</source>
+        <translation type="obsolete">资源耗尽了</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="169"/>
+        <source>Unsupported socket operation</source>
+        <translation type="obsolete">不被支持的套接字操作</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="172"/>
+        <source>Protocol type not supported</source>
+        <translation type="obsolete">协议类型不被支持</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="175"/>
+        <source>Invalid socket descriptor</source>
+        <translation type="obsolete">无效的套接字描述符</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="181"/>
+        <source>Network unreachable</source>
+        <translation type="obsolete">网络不能访问</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="184"/>
+        <source>Permission denied</source>
+        <translation type="obsolete">权限被拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="187"/>
+        <source>Connection timed out</source>
+        <translation type="obsolete">连接超时</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="190"/>
+        <source>Connection refused</source>
+        <translation type="obsolete">连接被拒绝</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="193"/>
+        <source>The bound address is already in use</source>
+        <translation type="obsolete">要启用的地址已经被使用</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="196"/>
+        <source>The address is not available</source>
+        <translation type="obsolete">这个地址不可用</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="199"/>
+        <source>The address is protected</source>
+        <translation type="obsolete">这个地址被保护了</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="205"/>
+        <source>Unable to send a message</source>
+        <translation type="obsolete">不能发送一个消息</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="208"/>
+        <source>Unable to receive a message</source>
+        <translation type="obsolete">不能接收一个消息</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="211"/>
+        <source>Unable to write</source>
+        <translation type="obsolete">不能写入</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="214"/>
+        <source>Network error</source>
+        <translation type="obsolete">网络错误</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="217"/>
+        <source>Another socket is already listening on the same port</source>
+        <translation type="obsolete">另一个套接字已经正在监听同一端口</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="151"/>
+        <source>Unable to initialize non-blocking socket</source>
+        <translation type="obsolete">不能初始化非阻塞套接字</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="154"/>
+        <source>Unable to initialize broadcast socket</source>
+        <translation type="obsolete">不能初始化广播套接字</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="157"/>
+        <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+        <translation type="obsolete">试图在不支持IPv6支持的平台上使用IPv6套接字</translation>
+    </message>
+    <message>
+        <location filename="../src/network/qnativesocketengine.cpp" line="223"/>
+        <source>Unknown error</source>
+        <translation type="obsolete">未知的错误</translation>
+    </message>
+</context>
+<context>
+    <name>QOCIDriver</name>
+</context>
+<context>
+    <name>QOCIResult</name>
+</context>
+<context>
+    <name>QODBCDriver</name>
+</context>
+<context>
+    <name>QODBCResult</name>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="159"/>
+        <source>False</source>
+        <translation type="obsolete">假</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="160"/>
+        <source>True</source>
+        <translation type="obsolete">真</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <source>Open an OGR Supported Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2916"/>
+        <source>QGis files (*.qgs)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="406"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="407"/>
+        <source>The current layer is not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>2.5D shape type not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="56"/>
+        <source>Adding features to 2.5D shapetypes is not supported yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="69"/>
+        <source>Layer cannot be added to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="70"/>
+        <source>The data provider for this layer does not support the addition of features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="420"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="51"/>
+        <source>Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check &apos;Allow Editing&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="193"/>
+        <source>Wrong editing tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="92"/>
+        <source>Cannot apply the &apos;capture point&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="65"/>
+        <source>Coordinate transform error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="66"/>
+        <source>Cannot transform the point to the layers coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="186"/>
+        <source>Cannot apply the &apos;capture line&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="194"/>
+        <source>Cannot apply the &apos;capture polygon&apos; tool on this vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="240"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdfeature.cpp" line="394"/>
+        <source>Cannot add feature. Unknown WKB type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdisland.cpp" line="110"/>
+        <source>Error, could not add island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="90"/>
+        <source>A problem with geometry type occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="94"/>
+        <source>The inserted Ring is not closed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="98"/>
+        <source>The inserted Ring is not a valid geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="102"/>
+        <source>The inserted Ring crosses existing rings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="106"/>
+        <source>The inserted Ring is not contained in a feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="110"/>
+        <source>An unknown error occured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptooladdring.cpp" line="112"/>
+        <source>Error, could not add ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="75"/>
+        <source>No active layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="117"/>
+        <source>To identify features, you must choose an layer active by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="148"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="309"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="315"/>
+        <source>Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="322"/>
+        <source>action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="331"/>
+        <source> features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="335"/>
+        <source> 1 feature found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="341"/>
+        <source>No features were found in the active layer at the point you clicked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>Could not identify objects on</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="441"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolselect.cpp" line="76"/>
+        <source>To select features, you must choose a vector layer by clicking on its name in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="183"/>
+        <source>Could not snap segment. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="241"/>
+        <source>Could not snap vertex. Have you set the tolerance in Settings &gt; Project Properties &gt; General?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="413"/>
+        <source>Change geometry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="414"/>
+        <source>Data provider of the current layer doesn&apos;t allow changing geometries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolvertexedit.cpp" line="421"/>
+        <source>Cannot edit the vector layer. Use &apos;Start editing&apos; in the legend item menu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="373"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="56"/>
+        <source>Couldn&apos;t load SIP module.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="66"/>
+        <source>Couldn&apos;t load PyQt bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="77"/>
+        <source>Couldn&apos;t load QGIS bindings.
+Python support will be disabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="353"/>
+        <source>Couldn&apos;t load plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="342"/>
+        <source> due an error when calling its classFactory() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="354"/>
+        <source> due an error when calling its initGui() method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspythonutils.cpp" line="374"/>
+        <source>Error while unloading plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="309"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate line length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="396"/>
+        <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="642"/>
+        <source> km2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="647"/>
+        <source> ha</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="652"/>
+        <source> m2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="680"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="665"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="670"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="675"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="689"/>
+        <source> sq mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="694"/>
+        <source> sq ft</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="701"/>
+        <source> mile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="707"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="709"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="716"/>
+        <source> sq.deg.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="721"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="723"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsdistancearea.cpp" line="727"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="266"/>
+        <source>Received %1 of %2 bytes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="272"/>
+        <source>Received %1 bytes (total unknown)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="383"/>
+        <source>Not connected</source>
+        <translation type="unfinished">没有连接</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="389"/>
+        <source>Looking up &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="396"/>
+        <source>Connecting to &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="403"/>
+        <source>Sending request &apos;%1&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="410"/>
+        <source>Receiving reply</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="416"/>
+        <source>Response is complete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="422"/>
+        <source>Closing down connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgslabelattributes.cpp" line="58"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="751"/>
+        <source>Unable to open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source>Project file read error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="769"/>
+        <source> at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="770"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="776"/>
+        <source> for file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproject.cpp" line="944"/>
+        <source>Unable to save to file </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="87"/>
+        <source>No Data Provider Plugins</source>
+        <comment>No QGIS data provider plugins found in:</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="89"/>
+        <source>No vector layers can be loaded. Check your QGIS installation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="92"/>
+        <source>No Data Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsproviderregistry.cpp" line="251"/>
+        <source>No data provider plugins are available. No vector layers can be loaded</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="253"/>
+        <source>Regular expressions on numeric values don&apos;t make sense. Use comparison instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="289"/>
+        <source>Referenced column wasn&apos;t found: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgssearchtreenode.cpp" line="293"/>
+        <source>Division by zero.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="57"/>
+        <source>CopyrightLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="58"/>
+        <source>Draws copyright information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="44"/>
+        <source>Version 0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="49"/>
+        <source>Version 0.2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="50"/>
+        <source>Loads and displays delimited text files containing x,y coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="166"/>
+        <source>Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="45"/>
+        <source>PostgresSQL Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="46"/>
+        <source>Geoprocessing functions for working with PostgreSQL/PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="63"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="64"/>
+        <source>Adding projection info to rasters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="18"/>
+        <source>Fit to a linear transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="58"/>
+        <source>Fit to a Helmert transform requires at least 2 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsleastsquares.cpp" line="110"/>
+        <source>Fit to an affine transform requires at least 4 points.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="60"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="62"/>
+        <source>Tools for loading and importing GPS data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="72"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="131"/>
+        <source>New vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Undo last point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="220"/>
+        <source>Close line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="540"/>
+        <source>Select vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="293"/>
+        <source>Select new position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="424"/>
+        <source>Select line segment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>New vertex position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="411"/>
+        <source>Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="527"/>
+        <source>Release vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="781"/>
+        <source>Select element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="594"/>
+        <source>New location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Release selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="670"/>
+        <source>Delete selected / select next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="733"/>
+        <source>Select position on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Split the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="751"/>
+        <source>Release the line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedittools.cpp" line="765"/>
+        <source>Select point on line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>Location: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="136"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <comment>Metadata in GRASS Browser</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="140"/>
+        <source>&lt;br&gt;Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="145"/>
+        <source>&lt;b&gt;Raster&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="154"/>
+        <source>Cannot open raster header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="158"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="159"/>
+        <source>Columns</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="160"/>
+        <source>N-S resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="161"/>
+        <source>E-W resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="299"/>
+        <source>North</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="301"/>
+        <source>South</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="303"/>
+        <source>East</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="305"/>
+        <source>West</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="188"/>
+        <source>Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="199"/>
+        <source>Minimum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="200"/>
+        <source>Maximum value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="211"/>
+        <source>Data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="216"/>
+        <source>Data description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="225"/>
+        <source>Comments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="240"/>
+        <source>Categories</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="346"/>
+        <source>&lt;b&gt;Vector&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="273"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="274"/>
+        <source>Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="275"/>
+        <source>Boundaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="276"/>
+        <source>Centroids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="279"/>
+        <source>Faces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="280"/>
+        <source>Kernels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="283"/>
+        <source>Areas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="284"/>
+        <source>Islands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="308"/>
+        <source>Top</source>
+        <translation type="unfinished">顶部</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="309"/>
+        <source>Bottom</source>
+        <translation type="unfinished">底部</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="312"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="319"/>
+        <source>History&lt;br&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="347"/>
+        <source>&lt;b&gt;Layer&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="366"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="375"/>
+        <source>Driver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="376"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="377"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodel.cpp" line="378"/>
+        <source>Key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="838"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="844"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="50"/>
+        <source>Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="51"/>
+        <source>Builds a graticule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="63"/>
+        <source>NorthArrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="64"/>
+        <source>Displays a north arrow overlayed onto the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="45"/>
+        <source>[menuitemname]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="46"/>
+        <source>[plugindescription]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="67"/>
+        <source>ScaleBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="68"/>
+        <source>Draws a scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="42"/>
+        <source>SPIT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="43"/>
+        <source>Shapefile to PostgreSQL/PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="33"/>
+        <source>WFS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="34"/>
+        <source>Adds WFS layers to the QGIS canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="35"/>
+        <source>Version 0.0001</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="330"/>
+        <source>Couldn&apos;t open the data source: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/gpsdata.cpp" line="352"/>
+        <source>Parse error at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="60"/>
+        <source>GPS eXchange format provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="147"/>
+        <source>GRASS plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="123"/>
+        <source>QGIS couldn&apos;t find your GRASS installation.
+Would you like to specify path (GISBASE) to your GRASS installation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="135"/>
+        <source>Choose GRASS installation path (GISBASE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="148"/>
+        <source>GRASS data won&apos;t be available if GISBASE is not specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="390"/>
+        <source>GISBASE is not set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="395"/>
+        <source> is not a GRASS mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="413"/>
+        <source>Cannot start </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="430"/>
+        <source>Mapset is already in use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source>Temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="445"/>
+        <source> exist but is not writable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="451"/>
+        <source>Cannot create temporary directory </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="467"/>
+        <source>Cannot create </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="540"/>
+        <source>Cannot remove mapset lock: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="980"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="928"/>
+        <source>Cannot read raster map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="945"/>
+        <source>Cannot read vector map region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/grass/qgsgrass.cpp" line="981"/>
+        <source>Cannot read region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QPSQLDriver</name>
+</context>
+<context>
+    <name>QPSQLResult</name>
+</context>
+<context>
+    <name>QPrintDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="130"/>
+        <source>Page size:</source>
+        <translation type="obsolete">纸张大小:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="141"/>
+        <source>Paper source:</source>
+        <translation type="obsolete">纸张源:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="155"/>
+        <source>OK</source>
+        <translation type="obsolete">确定</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="156"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="180"/>
+        <source>locally connected</source>
+        <translation type="obsolete">本地已经连接的</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="405"/>
+        <source>Aliases: %1</source>
+        <translation type="obsolete">别名:%1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="770"/>
+        <source>A0 (841 x 1189 mm)</source>
+        <translation type="obsolete">A0 (841 x 1189 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="771"/>
+        <source>A1 (594 x 841 mm)</source>
+        <translation type="obsolete">A1 (594 x 841 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="772"/>
+        <source>A2 (420 x 594 mm)</source>
+        <translation type="obsolete">A2 (420 x 594 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="773"/>
+        <source>A3 (297 x 420 mm)</source>
+        <translation type="obsolete">A3 (297 x 420 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="774"/>
+        <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+        <translation type="obsolete">A4 (210 x 297 毫米,8.26 x 11.7 英寸)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="775"/>
+        <source>A5 (148 x 210 mm)</source>
+        <translation type="obsolete">A5 (148 x 210 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="776"/>
+        <source>A6 (105 x 148 mm)</source>
+        <translation type="obsolete">A6 (105 x 148 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="777"/>
+        <source>A7 (74 x 105 mm)</source>
+        <translation type="obsolete">A7 (74 x 105 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="778"/>
+        <source>A8 (52 x 74 mm)</source>
+        <translation type="obsolete">A8 (52 x 74 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="779"/>
+        <source>A9 (37 x 52 mm)</source>
+        <translation type="obsolete">A9 (37 x 52 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="780"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="obsolete">B0 (1000 x 1414 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="781"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="obsolete">B1 (707 x 1000 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="782"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="obsolete">B2 (500 x 707 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="783"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="obsolete">B3 (353 x 500 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="784"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="obsolete">B4 (250 x 353 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="785"/>
+        <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+        <translation type="obsolete">B5 (176 x 250 毫米,6.93 x 9.84 英寸)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="786"/>
+        <source>B6 (125 x 176 mm)</source>
+        <translation type="obsolete">B6 (125 x 176 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="787"/>
+        <source>B7 (88 x 125 mm)</source>
+        <translation type="obsolete">B7 (88 x 125 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="788"/>
+        <source>B8 (62 x 88 mm)</source>
+        <translation type="obsolete">B8 (62 x 88 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="789"/>
+        <source>B9 (44 x 62 mm)</source>
+        <translation type="obsolete">B9 (44 x 62 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="790"/>
+        <source>B10 (31 x 44 mm)</source>
+        <translation type="obsolete">B10 (31 x 44 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="791"/>
+        <source>C5E (163 x 229 mm)</source>
+        <translation type="obsolete">C5E (163 x 229 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="792"/>
+        <source>DLE (110 x 220 mm)</source>
+        <translation type="obsolete">DLE (110 x 220 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="793"/>
+        <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+        <translation type="obsolete">Executive (7.5 x 10 英寸,191 x 254 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="794"/>
+        <source>Folio (210 x 330 mm)</source>
+        <translation type="obsolete">Folio (210 x 330 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="795"/>
+        <source>Ledger (432 x 279 mm)</source>
+        <translation type="obsolete">Ledger (432 x 279 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="796"/>
+        <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+        <translation type="obsolete">Legal (8.5 x 14 英寸,216 x 356 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="797"/>
+        <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+        <translation type="obsolete">Letter (8.5 x 11 英寸,216 x 279 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="798"/>
+        <source>Tabloid (279 x 432 mm)</source>
+        <translation type="obsolete">Tabloid (279 x 432 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="799"/>
+        <source>US Common #10 Envelope (105 x 241 mm)</source>
+        <translation type="obsolete">美国普通10号信封 (105 x 241 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="854"/>
+        <source>unknown</source>
+        <translation type="obsolete">未知的</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="939"/>
+        <source>Portrait</source>
+        <translation type="obsolete">纵向</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="940"/>
+        <source>Landscape</source>
+        <translation type="obsolete">横向</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="942"/>
+        <source>Print</source>
+        <translation type="obsolete">打印</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1013"/>
+        <source>File</source>
+        <translation type="obsolete">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="37"/>
+        <source>Paper format</source>
+        <translation type="obsolete">纸张格式</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="56"/>
+        <source>Orientation:</source>
+        <translation type="obsolete">方向:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="277"/>
+        <source>Print range</source>
+        <translation type="obsolete">打印范围</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="289"/>
+        <source>Print all</source>
+        <translation type="obsolete">打印全部</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="388"/>
+        <source>Number of copies:</source>
+        <translation type="obsolete">份数:</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="430"/>
+        <source>Print last page first</source>
+        <translation type="obsolete">先打印最后一页</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/dialogs/qprintdialog.ui" line="460"/>
+        <source>Print in color if available</source>
+        <translation type="obsolete">如果可能,就彩色打印</translation>
+    </message>
+</context>
+<context>
+    <name>QPrintPropertiesDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprintpropertiesdialog.ui" line="54"/>
+        <source>Save</source>
+        <translation type="obsolete">保存</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qprogressbar.cpp" line="390"/>
+        <source>%1%</source>
+        <translation type="obsolete">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>QProgressDialog</name>
+    <message>
+        <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="229"/>
+        <source>Cancel</source>
+        <translation type="obsolete">撤消</translation>
+    </message>
+</context>
+<context>
+    <name>QPushButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="73"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+</context>
+<context>
+    <name>QRadioButton</name>
+</context>
+<context>
+    <name>QRegExp</name>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">没有错误发生</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="32"/>
+        <source>disabled feature used</source>
+        <translation type="obsolete">使用了失效的特效</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="33"/>
+        <source>bad char class syntax</source>
+        <translation type="obsolete">错误的字符类语法</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+        <source>bad lookahead syntax</source>
+        <translation type="obsolete">错误的预测语法</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="35"/>
+        <source>bad repetition syntax</source>
+        <translation type="obsolete">错误的重复语法</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="36"/>
+        <source>invalid octal value</source>
+        <translation type="obsolete">无效的八进制数值</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="37"/>
+        <source>missing left delim</source>
+        <translation type="obsolete">找不到左分隔符</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="38"/>
+        <source>unexpected end</source>
+        <translation type="obsolete">意外的终止</translation>
+    </message>
+    <message>
+        <location filename="../src/corelib/tools/qregexp.cpp" line="40"/>
+        <source>met internal limit</source>
+        <translation type="obsolete">遇到内部限制</translation>
+    </message>
+</context>
+<context>
+    <name>QSQLite2Driver</name>
+</context>
+<context>
+    <name>QSQLite2Result</name>
+</context>
+<context>
+    <name>QSQLiteDriver</name>
+</context>
+<context>
+    <name>QSQLiteResult</name>
+</context>
+<context>
+    <name>QScrollBar</name>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="389"/>
+        <source>Scroll here</source>
+        <translation type="obsolete">滚动到这里</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Left edge</source>
+        <translation type="obsolete">左边缘</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="392"/>
+        <source>Top</source>
+        <translation type="obsolete">顶部</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Right edge</source>
+        <translation type="obsolete">右边缘</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="394"/>
+        <source>Bottom</source>
+        <translation type="obsolete">底部</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="397"/>
+        <source>Page left</source>
+        <translation type="obsolete">左一页</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="300"/>
+        <source>Page up</source>
+        <translation type="obsolete">上一页</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="399"/>
+        <source>Page right</source>
+        <translation type="obsolete">右一页</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="304"/>
+        <source>Page down</source>
+        <translation type="obsolete">下一页</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll left</source>
+        <translation type="obsolete">向左滚动</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="402"/>
+        <source>Scroll up</source>
+        <translation type="obsolete">向上滚动</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll right</source>
+        <translation type="obsolete">向右滚动</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qscrollbar.cpp" line="404"/>
+        <source>Scroll down</source>
+        <translation type="obsolete">向下滚动</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="298"/>
+        <source>Line up</source>
+        <translation type="obsolete">排列</translation>
+    </message>
+</context>
+<context>
+    <name>QShortcut</name>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="110"/>
+        <source>Space</source>
+        <translation type="obsolete">空格</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="111"/>
+        <source>Esc</source>
+        <translation type="obsolete">Esc</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="112"/>
+        <source>Tab</source>
+        <translation type="obsolete">Tab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="113"/>
+        <source>Backtab</source>
+        <translation type="obsolete">Backtab</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="114"/>
+        <source>Backspace</source>
+        <translation type="obsolete">退格</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="115"/>
+        <source>Return</source>
+        <translation type="obsolete">返回</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="116"/>
+        <source>Enter</source>
+        <translation type="obsolete">进入</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="117"/>
+        <source>Ins</source>
+        <translation type="obsolete">插入</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="118"/>
+        <source>Del</source>
+        <translation type="obsolete">Del</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="119"/>
+        <source>Pause</source>
+        <translation type="obsolete">暂停</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="120"/>
+        <source>Print</source>
+        <translation type="obsolete">打印</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="121"/>
+        <source>SysReq</source>
+        <translation type="obsolete">SysReq</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="122"/>
+        <source>Home</source>
+        <translation type="obsolete">家</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="123"/>
+        <source>End</source>
+        <translation type="obsolete">结束</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="124"/>
+        <source>Left</source>
+        <translation type="obsolete">左</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="125"/>
+        <source>Up</source>
+        <translation type="obsolete">上</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="126"/>
+        <source>Right</source>
+        <translation type="obsolete">右</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="127"/>
+        <source>Down</source>
+        <translation type="obsolete">下</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="128"/>
+        <source>PgUp</source>
+        <translation type="obsolete">PgUp</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="129"/>
+        <source>PgDown</source>
+        <translation type="obsolete">PgDown</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="130"/>
+        <source>CapsLock</source>
+        <translation type="obsolete">CapsLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="131"/>
+        <source>NumLock</source>
+        <translation type="obsolete">NumLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="132"/>
+        <source>ScrollLock</source>
+        <translation type="obsolete">ScrollLock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="133"/>
+        <source>Menu</source>
+        <translation type="obsolete">菜单</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="134"/>
+        <source>Help</source>
+        <translation type="obsolete">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="137"/>
+        <source>Back</source>
+        <translation type="obsolete">后退</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="138"/>
+        <source>Forward</source>
+        <translation type="obsolete">前进</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="139"/>
+        <source>Stop</source>
+        <translation type="obsolete">停止</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="140"/>
+        <source>Refresh</source>
+        <translation type="obsolete">刷新</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="141"/>
+        <source>Volume Down</source>
+        <translation type="obsolete">调小音量</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="142"/>
+        <source>Volume Mute</source>
+        <translation type="obsolete">静音</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="143"/>
+        <source>Volume Up</source>
+        <translation type="obsolete">调大音量</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="144"/>
+        <source>Bass Boost</source>
+        <translation type="obsolete">低音增强</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="145"/>
+        <source>Bass Up</source>
+        <translation type="obsolete">调大低音</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="146"/>
+        <source>Bass Down</source>
+        <translation type="obsolete">调小低音</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="147"/>
+        <source>Treble Up</source>
+        <translation type="obsolete">调大高音</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="148"/>
+        <source>Treble Down</source>
+        <translation type="obsolete">调小高音</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="149"/>
+        <source>Media Play</source>
+        <translation type="obsolete">多媒体播放</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="150"/>
+        <source>Media Stop</source>
+        <translation type="obsolete">多媒体停止</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="151"/>
+        <source>Media Previous</source>
+        <translation type="obsolete">上一个多媒体</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="152"/>
+        <source>Media Next</source>
+        <translation type="obsolete">下一个多媒体</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="153"/>
+        <source>Media Record</source>
+        <translation type="obsolete">多媒体记录</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="155"/>
+        <source>Favorites</source>
+        <translation type="obsolete">最喜爱的</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="156"/>
+        <source>Search</source>
+        <translation type="obsolete">搜索</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="157"/>
+        <source>Standby</source>
+        <translation type="obsolete">等待</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="158"/>
+        <source>Open URL</source>
+        <translation type="obsolete">打开URL</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="159"/>
+        <source>Launch Mail</source>
+        <translation type="obsolete">启动邮件</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="160"/>
+        <source>Launch Media</source>
+        <translation type="obsolete">启动多媒体</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="161"/>
+        <source>Launch (0)</source>
+        <translation type="obsolete">启动 (0)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="162"/>
+        <source>Launch (1)</source>
+        <translation type="obsolete">启动 (1)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="163"/>
+        <source>Launch (2)</source>
+        <translation type="obsolete">启动 (2)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="164"/>
+        <source>Launch (3)</source>
+        <translation type="obsolete">启动 (3)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="165"/>
+        <source>Launch (4)</source>
+        <translation type="obsolete">启动 (4)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="166"/>
+        <source>Launch (5)</source>
+        <translation type="obsolete">启动 (5)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="167"/>
+        <source>Launch (6)</source>
+        <translation type="obsolete">启动 (6)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="168"/>
+        <source>Launch (7)</source>
+        <translation type="obsolete">启动 (7)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="169"/>
+        <source>Launch (8)</source>
+        <translation type="obsolete">启动 (8)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="170"/>
+        <source>Launch (9)</source>
+        <translation type="obsolete">启动 (9)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="171"/>
+        <source>Launch (A)</source>
+        <translation type="obsolete">启动 (A)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="172"/>
+        <source>Launch (B)</source>
+        <translation type="obsolete">启动 (B)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="173"/>
+        <source>Launch (C)</source>
+        <translation type="obsolete">启动 (C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="174"/>
+        <source>Launch (D)</source>
+        <translation type="obsolete">启动 (D)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="175"/>
+        <source>Launch (E)</source>
+        <translation type="obsolete">启动 (E)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="176"/>
+        <source>Launch (F)</source>
+        <translation type="obsolete">启动 (F)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="180"/>
+        <source>Print Screen</source>
+        <translation type="obsolete">打印屏幕</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="181"/>
+        <source>Page Up</source>
+        <translation type="obsolete">上一页</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="182"/>
+        <source>Page Down</source>
+        <translation type="obsolete">下一页</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="183"/>
+        <source>Caps Lock</source>
+        <translation type="obsolete">大小写锁定</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="184"/>
+        <source>Num Lock</source>
+        <translation type="obsolete">Num Lock</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="185"/>
+        <source>Number Lock</source>
+        <translation type="obsolete">数字键锁定</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="186"/>
+        <source>Scroll Lock</source>
+        <translation type="obsolete">滚动锁定</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="187"/>
+        <source>Insert</source>
+        <translation type="obsolete">插入</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="188"/>
+        <source>Delete</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="189"/>
+        <source>Escape</source>
+        <translation type="obsolete">Escape</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="190"/>
+        <source>System Request</source>
+        <translation type="obsolete">系统请求</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="194"/>
+        <source>Select</source>
+        <translation type="obsolete">选择</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="195"/>
+        <source>Yes</source>
+        <translation type="obsolete">是</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="196"/>
+        <source>No</source>
+        <translation type="obsolete">否</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="200"/>
+        <source>Context1</source>
+        <translation type="obsolete">上下文1</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="201"/>
+        <source>Context2</source>
+        <translation type="obsolete">上下文2</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="202"/>
+        <source>Context3</source>
+        <translation type="obsolete">上下文3</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="203"/>
+        <source>Context4</source>
+        <translation type="obsolete">上下文4</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="204"/>
+        <source>Call</source>
+        <translation type="obsolete">呼叫</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="205"/>
+        <source>Hangup</source>
+        <translation type="obsolete">挂起</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="206"/>
+        <source>Flip</source>
+        <translation type="obsolete">翻转</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="815"/>
+        <source>Ctrl</source>
+        <translation type="obsolete">Ctrl</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="819"/>
+        <source>Shift</source>
+        <translation type="obsolete">Shift</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="817"/>
+        <source>Alt</source>
+        <translation type="obsolete">Alt</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="813"/>
+        <source>Meta</source>
+        <translation type="obsolete">Meta</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="789"/>
+        <source>+</source>
+        <translation type="obsolete">+</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/kernel/qkeysequence.cpp" line="834"/>
+        <source>F%1</source>
+        <translation type="obsolete">F%1</translation>
+    </message>
+</context>
+<context>
+    <name>QSlider</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page left</source>
+        <translation type="obsolete">左一页</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="473"/>
+        <source>Page up</source>
+        <translation type="obsolete">上一页</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page right</source>
+        <translation type="obsolete">右一页</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="478"/>
+        <source>Page down</source>
+        <translation type="obsolete">下一页</translation>
+    </message>
+</context>
+<context>
+    <name>QSocks5SocketEngine</name>
+    <message>
+        <location filename="../src/network/qsocks5socketengine.cpp" line="1196"/>
+        <source>Socks5 timeout error connecting to socks server</source>
+        <translation type="obsolete">连接到套接字服务器的时候,Socks5超时错误</translation>
+    </message>
+</context>
+<context>
+    <name>QSpinBox</name>
+</context>
+<context>
+    <name>QSql</name>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="870"/>
+        <source>Delete</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="871"/>
+        <source>Delete this record?</source>
+        <translation type="obsolete">删除这条记录?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="924"/>
+        <source>Yes</source>
+        <translation type="obsolete">是</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="925"/>
+        <source>No</source>
+        <translation type="obsolete">否</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="881"/>
+        <source>Insert</source>
+        <translation type="obsolete">插入</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="883"/>
+        <source>Update</source>
+        <translation type="obsolete">更新</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="887"/>
+        <source>Save edits?</source>
+        <translation type="obsolete">保存编辑?</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="890"/>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="922"/>
+        <source>Confirm</source>
+        <translation type="obsolete">确认</translation>
+    </message>
+    <message>
+        <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="923"/>
+        <source>Cancel your edits?</source>
+        <translation type="obsolete">取消您的编辑?</translation>
+    </message>
+</context>
+<context>
+    <name>QTDSDriver</name>
+</context>
+<context>
+    <name>QTabBar</name>
+</context>
+<context>
+    <name>QTcpServer</name>
+    <message>
+        <location filename="../src/network/qtcpserver.cpp" line="212"/>
+        <source>Socket operation unsupported</source>
+        <translation type="obsolete">套接字操作不被支持</translation>
+    </message>
+</context>
+<context>
+    <name>QTextControl</name>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1721"/>
+        <source>&amp;Undo</source>
+        <translation type="obsolete">撤消(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1723"/>
+        <source>&amp;Redo</source>
+        <translation type="obsolete">恢复(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1727"/>
+        <source>Cu&amp;t</source>
+        <translation type="obsolete">剪切(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1732"/>
+        <source>&amp;Copy</source>
+        <translation type="obsolete">复制(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1745"/>
+        <source>&amp;Paste</source>
+        <translation type="obsolete">粘贴(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1748"/>
+        <source>Delete</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/text/qtextcontrol.cpp" line="1755"/>
+        <source>Select All</source>
+        <translation type="obsolete">选择全部</translation>
+    </message>
+</context>
+<context>
+    <name>QToolButton</name>
+    <message>
+        <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="339"/>
+        <source>Open</source>
+        <translation type="obsolete">打开</translation>
+    </message>
+</context>
+<context>
+    <name>QUdpSocket</name>
+    <message>
+        <location filename="../src/network/qudpsocket.cpp" line="132"/>
+        <source>This platform does not support IPv6</source>
+        <translation type="obsolete">这个平台不支持IPv6</translation>
+    </message>
+</context>
+<context>
+    <name>QUndoGroup</name>
+</context>
+<context>
+    <name>QUndoModel</name>
+</context>
+<context>
+    <name>QUndoStack</name>
+</context>
+<context>
+    <name>QUnicodeControlCharacterMenu</name>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2446"/>
+        <source>LRM Left-to-right mark</source>
+        <translation type="obsolete">LRM 从左到右标记</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2447"/>
+        <source>RLM Right-to-left mark</source>
+        <translation type="obsolete">RLM 从右向左标记</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2448"/>
+        <source>ZWJ Zero width joiner</source>
+        <translation type="obsolete">ZWJ 零宽度连接器</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2449"/>
+        <source>ZWNJ Zero width non-joiner</source>
+        <translation type="obsolete">ZWNJ 零宽度非连接器</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2450"/>
+        <source>ZWSP Zero width space</source>
+        <translation type="obsolete">ZWSP 零宽度空格</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2451"/>
+        <source>LRE Start of left-to-right embedding</source>
+        <translation type="obsolete">LRE 开始从左到右嵌入</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2452"/>
+        <source>RLE Start of right-to-left embedding</source>
+        <translation type="obsolete">RLE 开始从右向左嵌入</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2453"/>
+        <source>LRO Start of left-to-right override</source>
+        <translation type="obsolete">LRO 开始从左向右覆盖</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2454"/>
+        <source>RLO Start of right-to-left override</source>
+        <translation type="obsolete">RLO 开始从右向左覆盖</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2455"/>
+        <source>PDF Pop directional formatting</source>
+        <translation type="obsolete">PDF 弹出方向格式</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qtextedit.cpp" line="2461"/>
+        <source>Insert Unicode control character</source>
+        <translation type="obsolete">插入Unicode控制字符</translation>
+    </message>
+</context>
+<context>
+    <name>QWhatsThisAction</name>
+    <message>
+        <location filename="../src/gui/kernel/qwhatsthis.cpp" line="485"/>
+        <source>What&apos;s This?</source>
+        <translation type="obsolete">这是什么?</translation>
+    </message>
+</context>
+<context>
+    <name>QWidget</name>
+    <message>
+        <location filename="../src/gui/kernel/qwidget.cpp" line="3722"/>
+        <source>*</source>
+        <translation type="obsolete">*</translation>
+    </message>
+</context>
+<context>
+    <name>QWorkspace</name>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="906"/>
+        <source>&amp;Restore</source>
+        <translation type="obsolete">恢复(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="907"/>
+        <source>&amp;Move</source>
+        <translation type="obsolete">移动(&amp;M)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="908"/>
+        <source>&amp;Size</source>
+        <translation type="obsolete">大小(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="910"/>
+        <source>Mi&amp;nimize</source>
+        <translation type="obsolete">最小化(&amp;N)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="912"/>
+        <source>Ma&amp;ximize</source>
+        <translation type="obsolete">最大化(&amp;X)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="915"/>
+        <source>&amp;Close</source>
+        <translation type="obsolete">关闭(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="920"/>
+        <source>Stay on &amp;Top</source>
+        <translation type="obsolete">总在最前(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1759"/>
+        <source>%1 - [%2]</source>
+        <translation type="obsolete">%1 - [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1796"/>
+        <source>Minimize</source>
+        <translation type="obsolete">最小化</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1810"/>
+        <source>Restore Down</source>
+        <translation type="obsolete">恢复</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="1824"/>
+        <source>Close</source>
+        <translation type="obsolete">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2009"/>
+        <source>&amp;Unshade</source>
+        <translation type="obsolete">展开(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/widgets/qworkspace.cpp" line="2013"/>
+        <source>Sh&amp;ade</source>
+        <translation type="obsolete">卷起(&amp;A)</translation>
+    </message>
+</context>
+<context>
+    <name>QXml</name>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="31"/>
+        <source>no error occurred</source>
+        <translation type="obsolete">没有错误发生</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="32"/>
+        <source>error triggered by consumer</source>
+        <translation type="obsolete">由消费者出发的错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="33"/>
+        <source>unexpected end of file</source>
+        <translation type="obsolete">意外的文件终止</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="34"/>
+        <source>more than one document type definition</source>
+        <translation type="obsolete">多于一个的文档类型定义</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="35"/>
+        <source>error occurred while parsing element</source>
+        <translation type="obsolete">在解析元素的时候发生错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="36"/>
+        <source>tag mismatch</source>
+        <translation type="obsolete">标记不匹配</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="37"/>
+        <source>error occurred while parsing content</source>
+        <translation type="obsolete">在解析内容的时候发生错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="38"/>
+        <source>unexpected character</source>
+        <translation type="obsolete">意外的字符</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="39"/>
+        <source>invalid name for processing instruction</source>
+        <translation type="obsolete">无效的处理指令名称</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="40"/>
+        <source>version expected while reading the XML declaration</source>
+        <translation type="obsolete">在读取XML声明的时候,版本被期待</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="41"/>
+        <source>wrong value for standalone declaration</source>
+        <translation type="obsolete">错误的独立声明的值</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="42"/>
+        <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">在读取XML声明的时候,编码声明或者独立声明被期待</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="43"/>
+        <source>standalone declaration expected while reading the XML declaration</source>
+        <translation type="obsolete">在读取XML声明的时候,独立声明被期待</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="44"/>
+        <source>error occurred while parsing document type definition</source>
+        <translation type="obsolete">在解析文档类型定义的时候发生错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="45"/>
+        <source>letter is expected</source>
+        <translation type="obsolete">字符被期待</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="46"/>
+        <source>error occurred while parsing comment</source>
+        <translation type="obsolete">在解析注释的时候发生错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="47"/>
+        <source>error occurred while parsing reference</source>
+        <translation type="obsolete">在解析参考的时候发生错误</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="48"/>
+        <source>internal general entity reference not allowed in DTD</source>
+        <translation type="obsolete">在DTD中不允许使用内部解析的通用实体参考</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="49"/>
+        <source>external parsed general entity reference not allowed in attribute value</source>
+        <translation type="obsolete">在属性值中不允许使用外部解析的通用实体参考</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="50"/>
+        <source>external parsed general entity reference not allowed in DTD</source>
+        <translation type="obsolete">在DTD中不允许使用外部解析的通用实体参考</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="51"/>
+        <source>unparsed entity reference in wrong context</source>
+        <translation type="obsolete">没有解析的错误上下文中的实体参考</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="52"/>
+        <source>recursive entities</source>
+        <translation type="obsolete">嵌套实体</translation>
+    </message>
+    <message>
+        <location filename="../src/xml/qxml.cpp" line="55"/>
+        <source>error in the text declaration of an external entity</source>
+        <translation type="obsolete">在一个外部实体的文本声明里有错误</translation>
+    </message>
+</context>
+<context>
+    <name>QgisApp</name>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="332"/>
+        <source>Quantum GIS - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="301"/>
+        <source>Checking database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="307"/>
+        <source>Reading settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="311"/>
+        <source>Setting up the GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="345"/>
+        <source>Checking provider plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="350"/>
+        <source>Starting Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="360"/>
+        <source>Restoring loaded plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="364"/>
+        <source>Initializing file filters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="389"/>
+        <source>Restoring window state</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="393"/>
+        <source>QGIS Ready!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="455"/>
+        <source>&amp;New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="456"/>
+        <source>Ctrl+N</source>
+        <comment>New Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="457"/>
+        <source>New Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="460"/>
+        <source>&amp;Open Project...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="461"/>
+        <source>Ctrl+O</source>
+        <comment>Open a Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="462"/>
+        <source>Open a Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="465"/>
+        <source>&amp;Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="466"/>
+        <source>Ctrl+S</source>
+        <comment>Save Project</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="467"/>
+        <source>Save Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="470"/>
+        <source>Save Project &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="471"/>
+        <source>Ctrl+A</source>
+        <comment>Save Project under a new name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="472"/>
+        <source>Save Project under a new name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="475"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="476"/>
+        <source>Ctrl+P</source>
+        <comment>Print</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="477"/>
+        <source>Print</source>
+        <translation type="unfinished">打印</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="480"/>
+        <source>Save as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="481"/>
+        <source>Ctrl+I</source>
+        <comment>Save map as image</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="482"/>
+        <source>Save map as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="485"/>
+        <source>Export to MapServer Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="486"/>
+        <source>M</source>
+        <comment>Export as MapServer .map file</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="487"/>
+        <source>Export as MapServer .map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="490"/>
+        <source>Exit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="491"/>
+        <source>Ctrl+Q</source>
+        <comment>Exit QGIS</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="492"/>
+        <source>Exit QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="497"/>
+        <source>Add a Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="498"/>
+        <source>V</source>
+        <comment>Add a Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="499"/>
+        <source>Add a Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="502"/>
+        <source>Add a Raster Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="503"/>
+        <source>R</source>
+        <comment>Add a Raster Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="504"/>
+        <source>Add a Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="507"/>
+        <source>Add a PostGIS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="508"/>
+        <source>D</source>
+        <comment>Add a PostGIS Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="509"/>
+        <source>Add a PostGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="519"/>
+        <source>New Vector Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="520"/>
+        <source>N</source>
+        <comment>Create a New Vector Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="521"/>
+        <source>Create a New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="524"/>
+        <source>Remove Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="525"/>
+        <source>Ctrl+D</source>
+        <comment>Remove a Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="526"/>
+        <source>Remove a Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="529"/>
+        <source>Add All To Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="530"/>
+        <source>+</source>
+        <comment>Show all layers in the overview map</comment>
+        <translation type="unfinished">+</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="531"/>
+        <source>Show all layers in the overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="534"/>
+        <source>Remove All From Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="535"/>
+        <source>-</source>
+        <comment>Remove all layers from overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="536"/>
+        <source>Remove all layers from overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="539"/>
+        <source>Show All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="540"/>
+        <source>S</source>
+        <comment>Show all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="541"/>
+        <source>Show all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <source>Hide All Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="545"/>
+        <source>H</source>
+        <comment>Hide all layers</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="546"/>
+        <source>Hide all layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
+        <source>Project Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="552"/>
+        <source>P</source>
+        <comment>Set project properties</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="553"/>
+        <source>Set project properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="556"/>
+        <source>Options...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="558"/>
+        <source>Change various QGIS options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="561"/>
+        <source>Custom Projection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="563"/>
+        <source>Manage custom projections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="568"/>
+        <source>Help Contents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="570"/>
+        <source>Ctrl+?</source>
+        <comment>Help Documentation (Mac)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="572"/>
+        <source>F1</source>
+        <comment>Help Documentation</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="574"/>
+        <source>Help Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="577"/>
+        <source>Qgis Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="579"/>
+        <source>Ctrl+H</source>
+        <comment>QGIS Home Page</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="581"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="584"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="585"/>
+        <source>About QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="588"/>
+        <source>Check Qgis Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="589"/>
+        <source>Check if your QGIS version is up to date (requires internet access)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="594"/>
+        <source>Refresh</source>
+        <translation type="unfinished">刷新</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="595"/>
+        <source>Ctrl+R</source>
+        <comment>Refresh Map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="596"/>
+        <source>Refresh Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="601"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="600"/>
+        <source>Ctrl++</source>
+        <comment>Zoom In</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="606"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
+        <source>Ctrl+-</source>
+        <comment>Zoom Out</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="609"/>
+        <source>Zoom Full</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="610"/>
+        <source>F</source>
+        <comment>Zoom to Full Extents</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="611"/>
+        <source>Zoom to Full Extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="614"/>
+        <source>Zoom To Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="615"/>
+        <source>Ctrl+F</source>
+        <comment>Zoom to selection</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="616"/>
+        <source>Zoom to selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="619"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="620"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <source>Zoom Last</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="625"/>
+        <source>Zoom to Last Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="628"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="633"/>
+        <source>Identify Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <source>I</source>
+        <comment>Click on features to identify them</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
+        <source>Click on features to identify them</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="639"/>
+        <source>Select Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="645"/>
+        <source>Open Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
+        <source>Measure Line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="650"/>
+        <source>Ctrl+M</source>
+        <comment>Measure a Line</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <source>Measure a Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="654"/>
+        <source>Measure Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="655"/>
+        <source>Ctrl+J</source>
+        <comment>Measure an Area</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="656"/>
+        <source>Measure an Area</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="661"/>
+        <source>Show Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="660"/>
+        <source>B</source>
+        <comment>Show Bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="666"/>
+        <source>Show most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="665"/>
+        <source>T</source>
+        <comment>Show most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="672"/>
+        <source>Hide most toolbars</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="671"/>
+        <source>Ctrl+T</source>
+        <comment>Hide most toolbars</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="676"/>
+        <source>New Bookmark...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="677"/>
+        <source>Ctrl+B</source>
+        <comment>New Bookmark</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5323"/>
+        <source>New Bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="681"/>
+        <source>Add WMS Layer...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="682"/>
+        <source>W</source>
+        <comment>Add Web Mapping Server Layer</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="683"/>
+        <source>Add Web Mapping Server Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="686"/>
+        <source>In Overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="687"/>
+        <source>O</source>
+        <comment>Add current layer to overview map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="688"/>
+        <source>Add current layer to overview map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="693"/>
+        <source>Plugin Manager...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="695"/>
+        <source>Open the plugin manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="706"/>
+        <source>Toggle editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="707"/>
+        <source>Toggles the editing state of the current layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="712"/>
+        <source>Capture Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="713"/>
+        <source>.</source>
+        <comment>Capture Points</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="714"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="718"/>
+        <source>Capture Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="719"/>
+        <source>/</source>
+        <comment>Capture Lines</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="720"/>
+        <source>Capture Lines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="724"/>
+        <source>Capture Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <source>Ctrl+/</source>
+        <comment>Capture Polygons</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
+        <source>Capture Polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="731"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="736"/>
+        <source>Add Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="741"/>
+        <source>Delete Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="746"/>
+        <source>Move Vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="751"/>
+        <source>Add Ring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="755"/>
+        <source>Add Island</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="756"/>
+        <source>Add Island to multipolygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="760"/>
+        <source>Cut Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="761"/>
+        <source>Cut selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="765"/>
+        <source>Copy Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="766"/>
+        <source>Copy selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="770"/>
+        <source>Paste Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="771"/>
+        <source>Paste selected features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="776"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="834"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="837"/>
+        <source>&amp;Open Recent Projects</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="854"/>
+        <source>&amp;View</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="872"/>
+        <source>&amp;Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="892"/>
+        <source>&amp;Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="899"/>
+        <source>&amp;Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="915"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">帮助(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="932"/>
+        <source>File</source>
+        <translation type="unfinished">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="943"/>
+        <source>Manage Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="961"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="967"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <source>Map Navigation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="998"/>
+        <source>Attributes</source>
+        <translation type="unfinished">属性</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1010"/>
+        <source>Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1020"/>
+        <source>Toolbar Visibility...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1034"/>
+        <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1047"/>
+        <source>Scale </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1059"/>
+        <source>Displays the current map scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1060"/>
+        <source>Current map scale (formatted as x:y)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1070"/>
+        <source>Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1071"/>
+        <source>Map coordinates at mouse cursor position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1074"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1077"/>
+        <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1078"/>
+        <source>Toggle map rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1093"/>
+        <source>This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1094"/>
+        <source>Projection status - Click to open projection dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1098"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1210"/>
+        <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1255"/>
+        <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1288"/>
+        <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1426"/>
+        <source>Version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1433"/>
+        <source> with PostgreSQL support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1436"/>
+        <source> (no PostgreSQL support)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1438"/>
+        <source>
+Compiled against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1439"/>
+        <source>, running against Qt </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1449"/>
+        <source>Quantum GIS is licensed under the GNU General Public License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1451"/>
+        <source>http://www.gnu.org/licenses</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1453"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1455"/>
+        <source>New features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1458"/>
+        <source>WMS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1460"/>
+        <source>Improved vector and attribute editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1462"/>
+        <source>Map Composer for creating map layouts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1464"/>
+        <source>Improved measure tools with area measuring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1466"/>
+        <source>Attribute searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1468"/>
+        <source>New legend structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1470"/>
+        <source>Refactoring of API to allow the use of QGIS libraries in mapping applications</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1472"/>
+        <source>Improved MapServer export tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1474"/>
+        <source>Map canvas background color is customizable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1476"/>
+        <source>Vector layer transparency</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1478"/>
+        <source>Antialiasing for vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1480"/>
+        <source>GRASS support in all platforms</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1482"/>
+        <source>Enhanced GRASS support and toolbox commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1484"/>
+        <source>Enhanced vector editing, including copy/paste, snapping and vertex editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1486"/>
+        <source>Shapefile/OGR layer editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1488"/>
+        <source>Option to only look in the geometry_columns table when searching for PostGIS layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1490"/>
+        <source>Many user interface improvements</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1496"/>
+        <source>Available Data Provider Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Python error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1596"/>
+        <source>Error when reading metadata of plugin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="1879"/>
+        <source>Open an OGR Supported Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2013"/>
+        <source>is not a valid or recognized data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5068"/>
+        <source>Invalid Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>Invalid Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2101"/>
+        <source>%1 is an invalid layer and cannot be loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2583"/>
+        <source>Save As</source>
+        <translation type="unfinished">另存为</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2684"/>
+        <source>Choose a QGIS project file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2795"/>
+        <source>QGIS Project Read Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2796"/>
+        <source></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2797"/>
+        <source>Try to find missing layers?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2813"/>
+        <source>Unable to open project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <source>Choose a QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2959"/>
+        <source>Saved project to:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2966"/>
+        <source>Unable to save project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2967"/>
+        <source>Unable to save project to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2973"/>
+        <source>Unable to save project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <source>Choose a filename to save the QGIS project file as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3032"/>
+        <source>QGIS: Unable to load project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3033"/>
+        <source>Unable to load project </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3155"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3200"/>
+        <source>Saved map image to</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
+        <source>To delete features, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3399"/>
+        <source>No Vector Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <source>Deleting features only works on vector layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3406"/>
+        <source>Provider does not support deletion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3407"/>
+        <source>Data provider does not support deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <source>Layer not editable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
+        <source>The current layer is not editable. Choose &apos;Start editing&apos; in the digitizing toolbar.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3421"/>
+        <source>Problem deleting features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3422"/>
+        <source>A problem occured during deletion of features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3592"/>
+        <source>Invalid scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>Error Loading Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3833"/>
+        <source>There was an error loading %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3875"/>
+        <source>No MapLayer plugins in ../plugins/maplayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3973"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <source>No plugins found in ../plugins. To test plugins, start qgis from the src directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4016"/>
+        <source>Plugin %1 is named %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4039"/>
+        <source>Plugin Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>QGis loaded the following plugin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Name: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4040"/>
+        <source>Version: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
+        <source>Description: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <source>Unable to Load Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4061"/>
+        <source>QGIS was unable to load the plugin from: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <source>There is a new version of QGIS available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4127"/>
+        <source>You are running a development version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <source>You are running the current version of QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4136"/>
+        <source>Would you like more information?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>QGIS Version Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4143"/>
+        <source>QGIS - Changes in SVN Since Last Release</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4155"/>
+        <source>Unable to get current version information from server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4169"/>
+        <source>Connection refused - server may be down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4172"/>
+        <source>QGIS server was not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4175"/>
+        <source>Network error while communicating with server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4178"/>
+        <source>Unknown network socket error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4183"/>
+        <source>Unable to communicate with QGIS Version server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4258"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4259"/>
+        <source>Enter the full path if the browser is not in your PATH.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4260"/>
+        <source>You can change this option later by selecting Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <source>Layer is not valid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5170"/>
+        <source>The layer is not a valid layer and can not be added to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4443"/>
+        <source>Save?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4444"/>
+        <source>Do you want to save the current project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4632"/>
+        <source>Extents: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4918"/>
+        <source>Clipboard contents set to: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4962"/>
+        <source>Open a GDAL Supported Raster Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5067"/>
+        <source> is not a valid or recognized raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5243"/>
+        <source> is not a supported raster data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <source>Unsupported Data Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5324"/>
+        <source>Enter a name for the new bookmark:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="5341"/>
+        <source>Unable to create the bookmark. Your user database may be missing or corrupted</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgisAppBase</name>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="102"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisappbase.ui" line="135"/>
+        <source>Map View</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAbout</name>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="107"/>
+        <source>QGIS Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="110"/>
+        <source>The following have sponsored QGIS by contributing money to fund development and other project costs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="114"/>
+        <source>Website</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="241"/>
+        <source>QGIS Browser Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsabout.cpp" line="245"/>
+        <source>Enter the name of a web browser to use (eg. konqueror).
+Enter the full path if the browser is not in your PATH.
+You can change this option later by selection Options from the Settings menu (Help Browser tab).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="13"/>
+        <source>About Quantum GIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="32"/>
+        <source>About</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="76"/>
+        <source>&lt;h2&gt;Quantum GIS (qgis)&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="86"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Quantum GIS is licensed under the GNU General Public License&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;http://www.gnu.org/licenses&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="111"/>
+        <source>QGIS Home Page</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="121"/>
+        <source>Subscribe to the QGIS-User mailing list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="132"/>
+        <source>What&apos;s New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="161"/>
+        <source>Developers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="229"/>
+        <source>&lt;h2&gt;QGIS Developers&lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="237"/>
+        <source>Providers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="253"/>
+        <source>Sponsors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsabout.ui" line="300"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAddAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="13"/>
+        <source>Add Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="87"/>
+        <source>Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsaddattrdialogbase.ui" line="100"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialog</name>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="57"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="58"/>
+        <source>Action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="59"/>
+        <source>Capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="142"/>
+        <source>Select an action</source>
+        <comment>File dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeActionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="49"/>
+        <source>Remove the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="52"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="59"/>
+        <source>Move the selected action down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="62"/>
+        <source>Move down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="69"/>
+        <source>Move the selected action up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="72"/>
+        <source>Move up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="87"/>
+        <source>This list contains all actions that have been defined for the current layer. Add actions by entering the details in the controls below and then pressing the Insert action button. Actions can be edited here by double clicking on the item.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="119"/>
+        <source>The valid attribute names for this layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="126"/>
+        <source>Browse for action commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="129"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="136"/>
+        <source>Inserts the selected field into the action, prepended with a %</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="139"/>
+        <source>Insert field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="162"/>
+        <source>Update the selected action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="165"/>
+        <source>Update action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="172"/>
+        <source>Inserts the action into the list above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="175"/>
+        <source>Insert action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="182"/>
+        <source>Captures any output from the action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="185"/>
+        <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="188"/>
+        <source>Capture output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="195"/>
+        <source>Enter the action command here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="205"/>
+        <source>Enter the action here. This can be any program, script or command that is available on your system. When the action is invoked any set of characters that start with a % and then have the name of a field will be replaced by the value of that field. The special characters %% will replaced by the value of the field that was selected. Double quote marks group text into single arguments to the program, script or command. Double quotes will be ignored if preceeded by a backslash</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="208"/>
+        <source>Action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="218"/>
+        <source>Enter the action name here</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="228"/>
+        <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="231"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="16"/>
+        <source>Enter Attribute Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="32"/>
+        <source>1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="37"/>
+        <source>Attribute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="42"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="50"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">确定(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributedialogbase.ui" line="57"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">取消(&amp;C)</translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTable</name>
+    <message>
+        <location filename="../src/app/qgsattributetable.cpp" line="280"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableBase</name>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="13"/>
+        <source>Attribute Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="36"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">帮助(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="104"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="46"/>
+        <source>Search for:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="59"/>
+        <source>in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="81"/>
+        <source>Search</source>
+        <translation type="unfinished">搜索</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="91"/>
+        <source>Adva&amp;nced...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="94"/>
+        <source>Alt+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="101"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">关闭(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="133"/>
+        <source>Remove selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="149"/>
+        <source>Move selected to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="158"/>
+        <source>Ctrl+T</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="165"/>
+        <source>Invert selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="174"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="181"/>
+        <source>Copy selected rows to clipboard (Ctrl+C)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="184"/>
+        <source>Copies the selected rows to the clipboard</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="193"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="200"/>
+        <source>New column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="209"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="216"/>
+        <source>Delete column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="225"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="248"/>
+        <source>Start editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="255"/>
+        <source>Stop editin&amp;g</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributetablebase.ui" line="258"/>
+        <source>Alt+G</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsAttributeTableDisplay</name>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="91"/>
+        <source>select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="92"/>
+        <source>select and bring to top</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="93"/>
+        <source>show only matching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>Name conflict</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="140"/>
+        <source>The attribute could not be inserted. The name already exists in the table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="189"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="190"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="196"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="312"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="364"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="318"/>
+        <source>You&apos;ve supplied an empty search string.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="352"/>
+        <source>Error during search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="361"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsattributetabledisplay.cpp" line="363"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarks</name>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="127"/>
+        <source>Really Delete?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source>Are you sure you want to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="128"/>
+        <source> bookmark?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="144"/>
+        <source>Error deleting bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="146"/>
+        <source>Failed to delete the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsbookmarks.cpp" line="148"/>
+        <source> bookmark from the database. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsBookmarksBase</name>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="16"/>
+        <source>Geospatial Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="45"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="50"/>
+        <source>Project</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="55"/>
+        <source>Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="60"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="78"/>
+        <source>Close the dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="71"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="81"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="88"/>
+        <source>Delete the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="91"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="98"/>
+        <source>Zoom to the currently selected bookmark</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsbookmarksbase.ui" line="101"/>
+        <source>Zoom To</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposer</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="53"/>
+        <source>QGIS - print composer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="75"/>
+        <source>Map 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source>Couldn&apos;t open </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="496"/>
+        <source> for read/write</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Error in Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="553"/>
+        <source>Cannot seek</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="478"/>
+        <source>Cannot overwrite BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="486"/>
+        <source>Cannot find BoundingBox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="569"/>
+        <source>Cannot overwrite translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="575"/>
+        <source>Cannot find translate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="583"/>
+        <source>File IO Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="593"/>
+        <source>Paper does not match</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="594"/>
+        <source>The selected paper size does not match the composition size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="657"/>
+        <source>Big image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="658"/>
+        <source>To create image </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> requires circa </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="661"/>
+        <source> MB of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="688"/>
+        <source>format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="710"/>
+        <source>Choose a filename to save the map image as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="781"/>
+        <source>SVG warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="782"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="795"/>
+        <source>&lt;p&gt;The SVG export function in Qgis has several problems due to bugs and deficiencies in the Qt4 svg code. Of note, text does not appear in the SVG file and there are problems with the map bounding box clipping other items such as the legend or scale bar.&lt;/p&gt;If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="811"/>
+        <source>Choose a filename to save the map as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposer.cpp" line="812"/>
+        <source>SVG Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="13"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="96"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="137"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="160"/>
+        <source>Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="198"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="205"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="254"/>
+        <source>&amp;Open Template ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="262"/>
+        <source>Save Template &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="270"/>
+        <source>&amp;Print...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="278"/>
+        <source>Zoom All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="286"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="294"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="302"/>
+        <source>Add new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="310"/>
+        <source>Add new label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="318"/>
+        <source>Add new vect legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="326"/>
+        <source>Select/Move item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="334"/>
+        <source>Export as image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="342"/>
+        <source>Export as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="350"/>
+        <source>Add new scalebar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="358"/>
+        <source>Refresh view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerbase.ui" line="366"/>
+        <source>Add Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerLabelBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="24"/>
+        <source>Label Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="52"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerlabelbase.ui" line="67"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMap</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="63"/>
+        <source>Map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="85"/>
+        <source>Extent (calculate scale)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="86"/>
+        <source>Scale (calculate extent)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="93"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="94"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposermap.cpp" line="95"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerMapBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="24"/>
+        <source>Map options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="36"/>
+        <source>&lt;b&gt;Map&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="56"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="87"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="100"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="121"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="144"/>
+        <source>1 :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="169"/>
+        <source>Set map extent to current extent in QGIS map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="172"/>
+        <source>Set Extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="179"/>
+        <source>Line width scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="192"/>
+        <source>Width of one unit in millimeters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="199"/>
+        <source>Symbol scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="212"/>
+        <source>Font size scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="225"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposermapbase.ui" line="232"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPicture</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="401"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="402"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="468"/>
+        <source>Pictures (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicture.cpp" line="485"/>
+        <source>Choose a file</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerPictureBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="24"/>
+        <source>Picture Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="44"/>
+        <source>Picture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="68"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="120"/>
+        <source>Frame</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="153"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="207"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerpicturebase.ui" line="261"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerScalebarBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="24"/>
+        <source>Barscale Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="36"/>
+        <source>Segment size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="49"/>
+        <source>Number of segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="62"/>
+        <source>Map units per scalebar unit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="75"/>
+        <source>Unit label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="96"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="129"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposerscalebarbase.ui" line="136"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegend</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="101"/>
+        <source>Legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="114"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="115"/>
+        <source>Group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="122"/>
+        <source>Combine selected layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="135"/>
+        <source>Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="136"/>
+        <source>Render</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposervectorlegend.cpp" line="137"/>
+        <source>Rectangle</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposerVectorLegendBase</name>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="24"/>
+        <source>Vector Legend Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="36"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="57"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="90"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="97"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="105"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscomposervectorlegendbase.ui" line="121"/>
+        <source>Preview</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsComposition</name>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="84"/>
+        <source>Custom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="85"/>
+        <source>A5 (148x210 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="86"/>
+        <source>A4 (210x297 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="87"/>
+        <source>A3 (297x420 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="88"/>
+        <source>A2 (420x594 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="89"/>
+        <source>A1 (594x841 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="90"/>
+        <source>A0 (841x1189 mm)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="91"/>
+        <source>B5 (176 x 250 mm)</source>
+        <translation type="unfinished">B10 (31 x 44 毫米) {5 (176 ?} {250 ?}</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="92"/>
+        <source>B4 (250 x 353 mm)</source>
+        <translation type="unfinished">B4 (250 x 353 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="93"/>
+        <source>B3 (353 x 500 mm)</source>
+        <translation type="unfinished">B3 (353 x 500 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="94"/>
+        <source>B2 (500 x 707 mm)</source>
+        <translation type="unfinished">B2 (500 x 707 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="95"/>
+        <source>B1 (707 x 1000 mm)</source>
+        <translation type="unfinished">B1 (707 x 1000 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="96"/>
+        <source>B0 (1000 x 1414 mm)</source>
+        <translation type="unfinished">B0 (1000 x 1414 毫米)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="97"/>
+        <source>Letter (8.5x11 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="98"/>
+        <source>Legal (8.5x14 inches)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="111"/>
+        <source>Portrait</source>
+        <translation type="unfinished">纵向</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="112"/>
+        <source>Landscape</source>
+        <translation type="unfinished">横向</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="606"/>
+        <source>Out of memory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="609"/>
+        <source>Qgis is unable to resize the paper size due to insufficient memory.
+ It is best that you avoid using the map composer until you restart qgis.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="753"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="803"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposition.cpp" line="804"/>
+        <source>Cannot load picture.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCompositionBase</name>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="24"/>
+        <source>Composition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="36"/>
+        <source>Paper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="59"/>
+        <source>Size</source>
+        <translation type="unfinished">大小</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="92"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="125"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="146"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="167"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscompositionbase.ui" line="203"/>
+        <source>Resolution (dpi)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source>Connection to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="71"/>
+        <source> was successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="73"/>
+        <source>Connection failed - Check settings and try again </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialog.cpp" line="95"/>
+        <source>General Interface Help:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsConnectionDialogBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="13"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="51"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="58"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="83"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="90"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="97"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="104"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="111"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="118"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="135"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsconnectiondialogbase.ui" line="148"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsContinuousColorDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="13"/>
+        <source>Continuous color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="28"/>
+        <source>Draw polygon outline</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="41"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="57"/>
+        <source>Minimum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="73"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscontinuouscolordialogbase.ui" line="99"/>
+        <source>Maximum Value:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCoordinateTransform</name>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="418"/>
+        <source>The source spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="426"/>
+        <source>The coordinates can not be reprojected. The SRS is: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="425"/>
+        <source>The destination spatial reference system (SRS) is not valid. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="483"/>
+        <source>transform of</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgscoordinatetransform.cpp" line="496"/>
+        <source>with error: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPlugin</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="72"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="73"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="85"/>
+        <source>&amp;Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="86"/>
+        <source>Creates a copyright label that is displayed on the map canvas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/plugin.cpp" line="212"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCopyrightLabelPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="13"/>
+        <source>Copyright Label Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="31"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Enter your copyright label below. This plugin supports basic html markup tags for formatting the label. For example:&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;&amp;lt;B&amp;gt; Bold text &amp;lt;/B&amp;gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400; font-style:italic;&quot;&gt;&amp;lt;I&amp;gt; Italics &amp;lt;/I&amp;gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-style:italic;&quot;&gt;&lt;span style=&quot; font-style:normal;&quot;&gt;(note: &amp;amp;copy; gives a copyright symbol)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="46"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;© QGIS 2006&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="99"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="107"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="112"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="117"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="122"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="130"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="138"/>
+        <source>Horizontal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="143"/>
+        <source>Vertical</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/copyright_label/pluginguibase.ui" line="177"/>
+        <source>Enable Copyright Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialog</name>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="158"/>
+        <source>Delete Projection Definition?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="159"/>
+        <source>Deleting a projection definition is not reversable. Do you want to delete it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="869"/>
+        <source>Abort</source>
+        <translation type="unfinished">放弃</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="871"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="926"/>
+        <source>QGIS Custom Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="743"/>
+        <source>This proj4 projection definition is not valid. Please give the projection a name before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="749"/>
+        <source>This proj4 projection definition is not valid. Please add the parameters before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="764"/>
+        <source>This proj4 projection definition is not valid. Please add a proj= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="771"/>
+        <source>This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="787"/>
+        <source>This proj4 projection definition is not valid. Please correct before pressing save.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="900"/>
+        <source>This proj4 projection definition is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="915"/>
+        <source>Northing and Easthing must be in decimal form.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgscustomprojectiondialog.cpp" line="927"/>
+        <source>Internal Error (source projection invalid?)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsCustomProjectionDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="65"/>
+        <source>Custom Projection Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="32"/>
+        <source>Define</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="44"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="198"/>
+        <source>Parameters:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="90"/>
+        <source>|&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="97"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="104"/>
+        <source>1 of 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="114"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="121"/>
+        <source>&gt;|</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="128"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="135"/>
+        <source>Save</source>
+        <translation type="unfinished">保存</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="142"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="149"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="158"/>
+        <source>Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="169"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="181"/>
+        <source>Transform from WGS84 to the chosen projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="188"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="227"/>
+        <source>Projected Corrdinate System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="234"/>
+        <source>Geographic / WGS84</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="260"/>
+        <source>East:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="270"/>
+        <source>North:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgscustomprojectiondialogbase.ui" line="300"/>
+        <source>Calculate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="110"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="111"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="112"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="254"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="255"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>Select Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="290"/>
+        <source>You must select a table in order to add a Layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="323"/>
+        <source>Password for </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="324"/>
+        <source>Please enter your password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="354"/>
+        <source>Point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="357"/>
+        <source>Multi-point layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="361"/>
+        <source>Linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="364"/>
+        <source>Multi-linestring layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="368"/>
+        <source>Polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="371"/>
+        <source>Multi-polygon layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="375"/>
+        <source>Mixed geometry layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="378"/>
+        <source>Geometry collection layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="382"/>
+        <source>Waiting for layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="385"/>
+        <source>Unknown layer type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="470"/>
+        <source>Connection failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="473"/>
+        <source>Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source>Access to relation </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="629"/>
+        <source> using sql;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsdbsourceselect.cpp" line="630"/>
+        <source>
+has failed. The database said:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDbSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="13"/>
+        <source>Add PostGIS Table(s)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="45"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="48"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="90"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="108"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="115"/>
+        <source>Tables:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="146"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="151"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="156"/>
+        <source>Sql</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="167"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="179"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="186"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="193"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdbsourceselectbase.ui" line="200"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelAttrDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="16"/>
+        <source>Delete Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="52"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdelattrdialogbase.ui" line="59"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPlugin</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="61"/>
+        <source>DelimitedTextLayer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="106"/>
+        <source>&amp;Add Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="109"/>
+        <source>Add a delimited text file as a map layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>The file must have a header row containing the field names. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="110"/>
+        <source>X and Y fields are required and must contain coordinates in decimal units.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugin.cpp" line="147"/>
+        <source>&amp;Delimited text</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGui</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="35"/>
+        <source>Parse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="47"/>
+        <source>&lt;h1&gt;Description&lt;/h1&gt;&lt;p&gt;Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!&lt;/p&gt;&lt;p&gt;Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>No layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="91"/>
+        <source>Please enter a layer name before adding the layer to the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>No delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="168"/>
+        <source>Please specify a delimiter prior to parsing the file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp" line="202"/>
+        <source>Choose a delimited text file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="13"/>
+        <source>Create a Layer from a Delimited Text File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="39"/>
+        <source>Delimited Text Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="77"/>
+        <source>Layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="84"/>
+        <source>Name to display in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="87"/>
+        <source>Name displayed in the map legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="110"/>
+        <source>Delimiter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="123"/>
+        <source>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="126"/>
+        <source>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="143"/>
+        <source>Delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="150"/>
+        <source>Full path to the delimited text file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="153"/>
+        <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="166"/>
+        <source>Browse to find the delimited text file to be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="169"/>
+        <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i&gt;Delimiter&lt;/i&gt; box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="172"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="189"/>
+        <source>&lt;p align=&quot;right&quot;&gt;X field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="210"/>
+        <source>Name of the field containing x values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="213"/>
+        <source>Name of the field containing x values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="223"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Y field&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="244"/>
+        <source>Name of the field containing y values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="247"/>
+        <source>Name of the field containing y values. Choose a field from the list. The list is generated by parsing the header row of the delimited text file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="272"/>
+        <source>Sample text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui" line="297"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDelimitedTextProvider</name>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="389"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/delimitedtext/qgsdelimitedtextprovider.cpp" line="391"/>
+        <source>Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsDlgPgBufferBase</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="13"/>
+        <source>Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="28"/>
+        <source>Parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="59"/>
+        <source>Geometry column:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="66"/>
+        <source>Add the buffered layer to the map?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="92"/>
+        <source>Spatial reference ID:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="118"/>
+        <source>Schema:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="125"/>
+        <source>Unique field to use as feature id:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="132"/>
+        <source>Table name for the buffered layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="172"/>
+        <source>Create unique object id</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="216"/>
+        <source>public</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="224"/>
+        <source>Buffer distance in map units:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgsdlgpgbufferbase.ui" line="234"/>
+        <source>&lt;h2&gt;Buffer the features in layer: &lt;/h2&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="13"/>
+        <source>Edit Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="37"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Double click the Column Name column to change the name of the column.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="47"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="52"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="57"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This shapefile contains reserved words. These may affect the import into PostgreSQL. Edit the column names so none of the reserved words listed at the right are used (click on a Column Name entry to edit). You may also change any other column name if desired.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsbase.ui" line="89"/>
+        <source>Reserved Words</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEditReservedWordsDialog</name>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Status</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgseditreservedwordsdialog.cpp" line="21"/>
+        <source>Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsEncodingFileDialog</name>
+    <message>
+        <location filename="../src/gui/qgsencodingfiledialog.cpp" line="29"/>
+        <source>Encoding:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsFillStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="16"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="28"/>
+        <source>Fill Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="54"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="61"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsfillstylewidgetbase.ui" line="72"/>
+        <source>PolyStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialog</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="43"/>
+        <source>New device %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="56"/>
+        <source>Are you sure?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialog.cpp" line="57"/>
+        <source>Are you sure that you want to delete this device?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSDeviceDialogBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="24"/>
+        <source>GPS Device Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="72"/>
+        <source>New device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="87"/>
+        <source>Delete device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="102"/>
+        <source>Update device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="135"/>
+        <source>Device name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="150"/>
+        <source>This is the name of the device as it will appear in the lists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="159"/>
+        <source>Commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="174"/>
+        <source>Track download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="181"/>
+        <source>Route upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="188"/>
+        <source>Waypoint download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="195"/>
+        <source>The command that is used to download routes from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="202"/>
+        <source>Route download:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="209"/>
+        <source>The command that is used to upload waypoints to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="216"/>
+        <source>Track upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="223"/>
+        <source>The command that is used to download tracks from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="230"/>
+        <source>The command that is used to upload routes to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="237"/>
+        <source>The command that is used to download waypoints from the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="244"/>
+        <source>The command that is used to upload tracks to the device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="251"/>
+        <source>Waypoint upload:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="269"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:&lt;span style=&quot; font-style:italic;&quot;&gt;%babel&lt;/span&gt; - the path to GPSBabel&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%in&lt;/span&gt; - the GPX filename when uploading or the port when downloading&lt;br /&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;%out&lt;/span&gt; - the port when uploading or the GPX filename when downloading&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsdevicedialogbase.ui" line="301"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPlugin</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="98"/>
+        <source>&amp;Gps Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="99"/>
+        <source>&amp;Create new GPX layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="102"/>
+        <source>Creates a new GPX layer and displays it on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="197"/>
+        <source>&amp;Gps</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>Save new GPX file as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="161"/>
+        <source>GPS eXchange file (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="166"/>
+        <source>Could not create file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="168"/>
+        <source>Unable to create a GPX file with the given name. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>Try again with another name or in another </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="169"/>
+        <source>directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="208"/>
+        <source>GPX Loader</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Unable to read the selected file.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="210"/>
+        <source>Please reselect a valid file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="409"/>
+        <source>Could not start process</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="410"/>
+        <source>Could not start GPSBabel!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="259"/>
+        <source>Importing data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
+        <source>Could not import data from %1!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="276"/>
+        <source>Error importing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="402"/>
+        <source>Not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>This device does not support downloading </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="322"/>
+        <source>of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="333"/>
+        <source>Downloading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="347"/>
+        <source>Could not download data from GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="349"/>
+        <source>Error downloading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="403"/>
+        <source>This device does not support uploading of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="415"/>
+        <source>Uploading data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="429"/>
+        <source>Error while uploading data to GPS!
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="431"/>
+        <source>Error uploading data</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGui</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="268"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="270"/>
+        <source>GPS eXchange format (*.gpx)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="223"/>
+        <source>Select GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpsplugingui.cpp" line="237"/>
+        <source>Select file and format to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPSPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="13"/>
+        <source>GPS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="58"/>
+        <source>Load GPX file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="84"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;GPX is the &lt;/span&gt;&lt;a href=&quot;http://www.topografix.com/gpx.asp&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;GPS eXchange file format&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, which is used to store information about waypoints, routes, and tracks.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPX file and then select the feature types that you want to load.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="95"/>
+        <source>File:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="202"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="112"/>
+        <source>Feature types:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="310"/>
+        <source>Waypoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="315"/>
+        <source>Routes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="320"/>
+        <source>Tracks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="159"/>
+        <source>Import other file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span&gt;&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="345"/>
+        <source>Layer name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="418"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="212"/>
+        <source>GPX output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="335"/>
+        <source>Feature type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="259"/>
+        <source>File to import:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="267"/>
+        <source>Download from GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="282"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="478"/>
+        <source>Port:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="352"/>
+        <source>Output file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="512"/>
+        <source>GPS device:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="505"/>
+        <source>Edit devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="426"/>
+        <source>Upload to GPS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="457"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:12pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn&apos;t listed, or if you want to change some settings, you can also edit the devices.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Arial&apos;; font-size:10pt;&quot;&gt;This tool uses the program GPSBabel (&lt;a href=&quot;http://gpsbabel.sf.net&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gpsbabel.sf.net&lt;/span&gt;&lt;/a&gt;) to transfer the data. If you don&apos;t have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/gps_importer/qgsgpspluginguibase.ui" line="519"/>
+        <source>Data layer:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGPXProvider</name>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="75"/>
+        <source>Bad URI - you need to specify the feature type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="119"/>
+        <source>GPS eXchange file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/gpx/qgsgpxprovider.cpp" line="716"/>
+        <source>Digitized in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialog</name>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="31"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsgeomtypedialog.cpp" line="32"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeomTypeDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="13"/>
+        <source>New Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="28"/>
+        <source>File Format:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="41"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="64"/>
+        <source>Attributes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="74"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="81"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="93"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="100"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="107"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgeomtypedialogbase.ui" line="118"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPlugin</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugin.cpp" line="124"/>
+        <source>&amp;Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGui</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="59"/>
+        <source>Choose a raster file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="61"/>
+        <source>Raster files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="78"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="72"/>
+        <source>You need to specify a file to georeference first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="79"/>
+        <source>The selected file is not a valid raster file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="105"/>
+        <source>World file exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="107"/>
+        <source>&lt;p&gt;The selected file already seems to have a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>world file! Do you want to replace it with the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/plugingui.cpp" line="108"/>
+        <source>new world file?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="13"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="28"/>
+        <source>Raster file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="35"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin can generate world files for rasters. You select points on the raster and give their world coordinates, and the plugin will compute the world file parameters. The more coordinates you can provide the better the result will be.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="82"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="110"/>
+        <source>Enter world coordinates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/pluginguibase.ui" line="125"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGeorefWarpOptionsDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="13"/>
+        <source>Warp options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="25"/>
+        <source>Resampling method:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="36"/>
+        <source>Nearest neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="41"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="46"/>
+        <source>Cubic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="54"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui" line="64"/>
+        <source>Use 0 for transparency when needed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGraduatedSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="25"/>
+        <source>graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="73"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="89"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="105"/>
+        <source>Number of Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="159"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsgraduatedsymboldialogbase.ui" line="166"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributes</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="165"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="166"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="167"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="171"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="313"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="314"/>
+        <source>ERROR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributes.cpp" line="316"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassAttributesBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="48"/>
+        <source>GRASS Attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="78"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="112"/>
+        <source>result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="177"/>
+        <source>Update database record</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="180"/>
+        <source>Update</source>
+        <translation type="unfinished">更新</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="207"/>
+        <source>Add new category using settings in GRASS Edit toolbox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="210"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="237"/>
+        <source>Delete selected category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassattributesbase.ui" line="240"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassBrowser</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="66"/>
+        <source>Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="71"/>
+        <source>Add selected map to canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="79"/>
+        <source>Copy selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="87"/>
+        <source>Rename selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="95"/>
+        <source>Delete selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="103"/>
+        <source>Set current region to selected map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="111"/>
+        <source>Refresh</source>
+        <translation type="unfinished">刷新</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="340"/>
+        <source>New name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="454"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="290"/>
+        <source>Cannot copy map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="412"/>
+        <source>&lt;br&gt;command: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="356"/>
+        <source>Cannot rename map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="394"/>
+        <source>Delete map &lt;b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="411"/>
+        <source>Cannot delete map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassbrowser.cpp" line="455"/>
+        <source>Cannot write new region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEdit</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="233"/>
+        <source>You are not owner of the mapset, cannot open the vector for editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="238"/>
+        <source>Cannot open vector for update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="246"/>
+        <source>Edit tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="249"/>
+        <source>New point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="255"/>
+        <source>New line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="261"/>
+        <source>New boundary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="267"/>
+        <source>New centroid</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="273"/>
+        <source>Move vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="279"/>
+        <source>Add vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="285"/>
+        <source>Delete vertex</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="291"/>
+        <source>Move element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="297"/>
+        <source>Split line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="303"/>
+        <source>Delete element</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="309"/>
+        <source>Edit attributes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="314"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="395"/>
+        <source>Background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="396"/>
+        <source>Highlight</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="397"/>
+        <source>Dynamic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="398"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="399"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="400"/>
+        <source>Boundary (no area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="401"/>
+        <source>Boundary (1 area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="402"/>
+        <source>Boundary (2 areas)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="403"/>
+        <source>Centroid (in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="404"/>
+        <source>Centroid (outside area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="405"/>
+        <source>Centroid (duplicate in area)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="406"/>
+        <source>Node (1 line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="407"/>
+        <source>Node (2 lines)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="440"/>
+        <source>Disp</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="442"/>
+        <source>Color</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="444"/>
+        <source>Type</source>
+        <comment>Column title</comment>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="446"/>
+        <source>Index</source>
+        <comment>Column title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="476"/>
+        <source>Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="477"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="478"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="533"/>
+        <source>Next not used</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="534"/>
+        <source>Manual entry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="535"/>
+        <source>No category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="699"/>
+        <source>The table was created</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1333"/>
+        <source>Tool not yet implemented.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1359"/>
+        <source>Cannot check orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1366"/>
+        <source>Orphan record was left in attribute table. &lt;br&gt;Delete the record?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1375"/>
+        <source>Cannot delete orphan record: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1403"/>
+        <source>Cannot describe table for field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1819"/>
+        <source>Left: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1820"/>
+        <source>Middle: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassedit.cpp" line="1821"/>
+        <source>Right: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassEditBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="16"/>
+        <source>GRASS Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="106"/>
+        <source>Category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="66"/>
+        <source>Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="410"/>
+        <source>Field (layer)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="170"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="190"/>
+        <source>Snapping in screen pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="241"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="274"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="298"/>
+        <source>Line width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="325"/>
+        <source>Marker size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="360"/>
+        <source>Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="496"/>
+        <source>Add Column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasseditbase.ui" line="511"/>
+        <source>Create / Alter Table</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassElementDialog</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="131"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="162"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="167"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Enter a name!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="178"/>
+        <source>&lt;font color=&apos;red&apos;&gt;This is name of the source!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="184"/>
+        <source>&lt;font color=&apos;red&apos;&gt;Exists!&lt;/font&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="185"/>
+        <source>Overwrite</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalc</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="110"/>
+        <source>Mapcalc tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="113"/>
+        <source>Add map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="120"/>
+        <source>Add constant value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="127"/>
+        <source>Add operator or function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="134"/>
+        <source>Add connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="141"/>
+        <source>Select item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="148"/>
+        <source>Delete selected item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="158"/>
+        <source>Open</source>
+        <translation type="unfinished">打开</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="163"/>
+        <source>Save</source>
+        <translation type="unfinished">保存</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="169"/>
+        <source>Save as</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="177"/>
+        <source>Addition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="178"/>
+        <source>Subtraction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="179"/>
+        <source>Multiplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="180"/>
+        <source>Division</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="181"/>
+        <source>Modulus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="182"/>
+        <source>Exponentiation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="185"/>
+        <source>Equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="186"/>
+        <source>Not equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="187"/>
+        <source>Greater than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="188"/>
+        <source>Greater than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="189"/>
+        <source>Less than</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="190"/>
+        <source>Less than or equal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="191"/>
+        <source>And</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="192"/>
+        <source>Or</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="195"/>
+        <source>Absolute value of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="196"/>
+        <source>Inverse tangent of x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="197"/>
+        <source>Inverse tangent of y/x (result is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="198"/>
+        <source>Current column of moving window (starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="199"/>
+        <source>Cosine of x (x is in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="200"/>
+        <source>Convert x to double-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="201"/>
+        <source>Current east-west resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="202"/>
+        <source>Exponential function of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="203"/>
+        <source>x to the power y</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="204"/>
+        <source>Convert x to single-precision floating point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="205"/>
+        <source>Decision: 1 if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="206"/>
+        <source>Decision: a if x not zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="207"/>
+        <source>Decision: a if x not zero, b otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="208"/>
+        <source>Decision: a if x &gt; 0, b if x is zero, c if x &lt; 0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="209"/>
+        <source>Convert x to integer [ truncates ]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="210"/>
+        <source>Check if x = NULL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="211"/>
+        <source>Natural log of x</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="212"/>
+        <source>Log of x base b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="214"/>
+        <source>Largest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="216"/>
+        <source>Median value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="218"/>
+        <source>Smallest value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="220"/>
+        <source>Mode value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="221"/>
+        <source>1 if x is zero, 0 otherwise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="222"/>
+        <source>Current north-south resolution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="223"/>
+        <source>NULL value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="224"/>
+        <source>Random value between a and b</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="225"/>
+        <source>Round x to nearest integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="226"/>
+        <source>Current row of moving window (Starts with 1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="227"/>
+        <source>Sine of x (x is in degrees)</source>
+        <comment>sin(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="228"/>
+        <source>Square root of x</source>
+        <comment>sqrt(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="229"/>
+        <source>Tangent of x (x is in degrees)</source>
+        <comment>tan(x)</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="230"/>
+        <source>Current x-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="231"/>
+        <source>Current y-coordinate of moving window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1388"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1317"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="583"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="560"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="616"/>
+        <source>Cannot get region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="812"/>
+        <source>No GRASS raster maps currently in QGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1102"/>
+        <source>Cannot create &apos;mapcalc&apos; directory in current mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1112"/>
+        <source>New mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1113"/>
+        <source>Enter new mapcalc name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1118"/>
+        <source>Enter vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1126"/>
+        <source>The file already exists. Overwrite? </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1164"/>
+        <source>Save mapcalc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1146"/>
+        <source>File name empty</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1165"/>
+        <source>Cannot open mapcalc file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>The mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1295"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1302"/>
+        <source>Cannot open mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1313"/>
+        <source>Cannot read mapcalc schema (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1314"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalc.cpp" line="1315"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassMapcalcBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="16"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="37"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModule</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="198"/>
+        <source>Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1379"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>The module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="213"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="217"/>
+        <source>Cannot open module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>Cannot read module file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1010"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source>Module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="253"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="296"/>
+        <source>Cannot find man page </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1001"/>
+        <source>Not available, decription not found (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1004"/>
+        <source>Not available, cannot open description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1011"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1015"/>
+        <source>Not available, incorrect description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1409"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1206"/>
+        <source>Cannot get input region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1194"/>
+        <source>Use Input Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1308"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1380"/>
+        <source>Cannot start module: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1385"/>
+        <source>Stop</source>
+        <translation type="unfinished">停止</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1398"/>
+        <source>&lt;B&gt;Successfully finished&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1404"/>
+        <source>&lt;B&gt;Finished with error&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1407"/>
+        <source>&lt;B&gt;Module crashed or killed&lt;/B&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="13"/>
+        <source>GRASS Module</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="26"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="31"/>
+        <source>Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="47"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="74"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="118"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="141"/>
+        <source>View output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodulebase.ui" line="161"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleField</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2762"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleFile</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2967"/>
+        <source>File</source>
+        <translation type="unfinished">文件</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3082"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="3089"/>
+        <source>:&amp;nbsp;directory does not exist</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleGdalInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2715"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2589"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2719"/>
+        <source>PostGIS driver in OGR does not support schemas!&lt;br&gt;Only the table name will be used.&lt;br&gt;It can result in wrong input if more tables of the same name&lt;br&gt;are present in the database.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2740"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleInput</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2033"/>
+        <source>Cannot find typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2042"/>
+        <source>Cannot find values for typeoption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2103"/>
+        <source>Cannot find layeroption </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source>GRASS element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2120"/>
+        <source> not supported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2144"/>
+        <source>Use region of this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2493"/>
+        <source>:&amp;nbsp;no input</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleOption</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="1945"/>
+        <source>:&amp;nbsp;missing value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleSelection</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="2852"/>
+        <source>Attribute field</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassModuleStandardOptions</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="903"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="368"/>
+        <source>Cannot find module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="385"/>
+        <source>Cannot start module </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>Cannot read module description (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="398"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="399"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="423"/>
+        <source>Cannot find key </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source>Item with id </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="562"/>
+        <source> not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="865"/>
+        <source>Cannot get current region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="840"/>
+        <source>Cannot check region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassmodule.cpp" line="904"/>
+        <source>Cannot set region of map </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapset</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="114"/>
+        <source>GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="115"/>
+        <source>GRASS location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="116"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="117"/>
+        <source>Default GRASS Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="174"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="119"/>
+        <source>Create New Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="148"/>
+        <source>Tree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="149"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="150"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="154"/>
+        <source>Location 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="165"/>
+        <source>User&apos;s mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="167"/>
+        <source>System mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="161"/>
+        <source>Location 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="175"/>
+        <source>Owner</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="224"/>
+        <source>Enter path to GRASS database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="232"/>
+        <source>The directory doesn&apos;t exist!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="262"/>
+        <source>No writable locations, the database not writable!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="360"/>
+        <source>Enter location name!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="373"/>
+        <source>The location exists!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="521"/>
+        <source>Selected projection is not supported by GRASS!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1145"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="568"/>
+        <source>Cannot create projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="616"/>
+        <source>Cannot reproject previously set region, default region set.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="751"/>
+        <source>North must be greater than south</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="756"/>
+        <source>East must be greater than west</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>Regions file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="803"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>Cannot open locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="808"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="817"/>
+        <source>Cannot read locations file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>):
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="818"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="819"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1146"/>
+        <source>Cannot create QgsSpatialRefSys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="954"/>
+        <source>Cannot reproject selected region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1042"/>
+        <source>Cannot reproject region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1273"/>
+        <source>Enter mapset name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1290"/>
+        <source>The mapset already exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1314"/>
+        <source>Database: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1325"/>
+        <source>Location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1327"/>
+        <source>Mapset: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1358"/>
+        <source>Create location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1360"/>
+        <source>Cannot create new location: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Create mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1390"/>
+        <source>Cannot create new mapset dircetory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1400"/>
+        <source>Cannot open DEFAULT_WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1407"/>
+        <source>Cannot open WIND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1434"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1430"/>
+        <source>New mapset successfully created, but cannot be opened: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapset.cpp" line="1436"/>
+        <source>New mapset successfully created and set as current working mapset.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassNewMapsetBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2068"/>
+        <source>Column 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="88"/>
+        <source>Example directory tree:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="95"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;GRASS data are stored in tree directory structure.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS database is the top-level directory in this tree structure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="399"/>
+        <source>Database Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2153"/>
+        <source>Database:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="440"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="457"/>
+        <source>Select existing directory or create a new one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="508"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="535"/>
+        <source>Select location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="552"/>
+        <source>Create new location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="832"/>
+        <source>Location Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="848"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS location is a collection of maps for a particular territory or project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1159"/>
+        <source>Projection Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1174"/>
+        <source>Coordinate system</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1186"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1193"/>
+        <source>Not defined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1273"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS region defines a workspace for raster modules. The default region is valid for one location. It is possible to set a different region in each mapset. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is possible to change the default location region later.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1334"/>
+        <source>Set current QGIS extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1376"/>
+        <source>Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1396"/>
+        <source>Region Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1441"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1500"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1555"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1614"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1699"/>
+        <source>New mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="1988"/>
+        <source>Mapset Error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2045"/>
+        <source>&lt;p align=&quot;center&quot;&gt;Existing masets&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2101"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The GRASS mapset is a collection of maps used by one user. &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;A user can read maps from all mapsets in the location but &lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;he can open for writing only his mapset (owned by user).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2174"/>
+        <source>Location:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="2195"/>
+        <source>Mapset:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassPlugin</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="93"/>
+        <source>GrassVector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="94"/>
+        <source>0.1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="95"/>
+        <source>GRASS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="158"/>
+        <source>Open mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="159"/>
+        <source>New mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="160"/>
+        <source>Close mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="163"/>
+        <source>Add GRASS vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="165"/>
+        <source>Add GRASS raster layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="181"/>
+        <source>Open GRASS tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="170"/>
+        <source>Display Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="174"/>
+        <source>Edit Current Grass Region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="176"/>
+        <source>Edit Grass Vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="177"/>
+        <source>Create new Grass Vector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="179"/>
+        <source>Adds a GRASS vector layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="180"/>
+        <source>Adds a GRASS raster layer to the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="182"/>
+        <source>Displays the current GRASS region as a rectangle on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="183"/>
+        <source>Edit the current GRASS region</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="184"/>
+        <source>Edit the currently selected GRASS vector layer.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="807"/>
+        <source>&amp;GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="211"/>
+        <source>GRASS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="484"/>
+        <source>GRASS Edit is already running.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="493"/>
+        <source>New vector name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="509"/>
+        <source>Cannot create new vector: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="531"/>
+        <source>New vector created but cannot be opened by data provider.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="542"/>
+        <source>Cannot start editing.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="579"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="589"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="693"/>
+        <source>Cannot open the mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="711"/>
+        <source>Cannot close mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="767"/>
+        <source>Cannot close current mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassplugin.cpp" line="776"/>
+        <source>Cannot open GRASS mapset. </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegion</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="196"/>
+        <source>GISDBASE, LOCATION_NAME or MAPSET is not set, cannot display current region.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="203"/>
+        <source>Cannot read current region: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregion.cpp" line="460"/>
+        <source>Cannot write region</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassRegionBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="13"/>
+        <source>GRASS Region Settings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="76"/>
+        <source>N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="146"/>
+        <source>W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="172"/>
+        <source>E</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="236"/>
+        <source>S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="280"/>
+        <source>N-S Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="293"/>
+        <source>Rows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="303"/>
+        <source>Cols</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="316"/>
+        <source>E-W Res</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="364"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="384"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="464"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassregionbase.ui" line="487"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelect</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="68"/>
+        <source>Select GRASS Vector Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="75"/>
+        <source>Select GRASS Raster Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="82"/>
+        <source>Select GRASS mapcalc schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="90"/>
+        <source>Select GRASS Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="407"/>
+        <source>Cannot open vector on level 2 (topology not available).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="465"/>
+        <source>Choose existing GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="481"/>
+        <source>Wrong GISDBASE, no locations available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="482"/>
+        <source>Wrong GISDBASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="499"/>
+        <source>Select a map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="500"/>
+        <source>No map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="508"/>
+        <source>No layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="509"/>
+        <source>No layers available in this map</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassSelectBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="21"/>
+        <source>Add GRASS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="65"/>
+        <source>Gisdbase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="78"/>
+        <source>Location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="85"/>
+        <source>Mapset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="102"/>
+        <source>Select or type map name (wildcards &apos;*&apos; and &apos;?&apos; accepted for rasters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="118"/>
+        <source>Map name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="125"/>
+        <source>Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="161"/>
+        <source>Browse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="168"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassselectbase.ui" line="175"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassShellBase</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrassshellbase.ui" line="22"/>
+        <source>GRASS Shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGrassTools</name>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="99"/>
+        <source>GRASS Tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="117"/>
+        <source>Modules</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="378"/>
+        <source>GRASS Tools: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="149"/>
+        <source>Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="298"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="211"/>
+        <source>Cannot find MSYS (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="233"/>
+        <source>GRASS Shell is not compiled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>The config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="283"/>
+        <source>) not found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>Cannot open config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="287"/>
+        <source>)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="295"/>
+        <source>Cannot read config file (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source>
+at line </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grass/qgsgrasstools.cpp" line="296"/>
+        <source> column </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPlugin</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="100"/>
+        <source>&amp;Graticule Creator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="101"/>
+        <source>Creates a graticule (grid) and stores the result as a shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugin.cpp" line="143"/>
+        <source>&amp;Graticules</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGui</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="101"/>
+        <source>QGIS - Grid Maker</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="52"/>
+        <source>Please enter the file name before pressing OK!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="62"/>
+        <source>Longitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="70"/>
+        <source>Latitude Interval is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="78"/>
+        <source>Longitude Origin is invalid - please correct and try again..</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="86"/>
+        <source>Latitude Origin is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="94"/>
+        <source>End Point Longitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="102"/>
+        <source>End Point Latitude is invalid - please correct and try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="162"/>
+        <source>Choose a filename to save under</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/plugingui.cpp" line="164"/>
+        <source>ESRI Shapefile (*.shp)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsGridMakerPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="39"/>
+        <source>Graticule Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="94"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:11pt;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This plugin will help you to build a graticule shapefile that you can use as an overlay within your qgis map viewer.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;&quot;&gt;Please enter all units in decimal degrees&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="101"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="113"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="123"/>
+        <source>Line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="130"/>
+        <source>Polygon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="140"/>
+        <source>Origin (lower left)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="195"/>
+        <source>Latitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="259"/>
+        <source>#000.00000; </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="209"/>
+        <source>Longitude:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="183"/>
+        <source>End point (upper right)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="226"/>
+        <source>Graticle size (units in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="238"/>
+        <source>Latitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="252"/>
+        <source>Longitude Interval:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="269"/>
+        <source>Output (shape) file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/grid_maker/pluginguibase.ui" line="284"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewer</name>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="112"/>
+        <source>This help file does not exist for your language</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="115"/>
+        <source>If you would like to create it, contact the QGIS development team</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="130"/>
+        <source>Quantum GIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="167"/>
+        <source>Quantum GIS Help - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="196"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="173"/>
+        <source>Failed to get the help text from the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/helpviewer/qgshelpviewer.cpp" line="197"/>
+        <source>The QGIS help database is not installed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHelpViewerBase</name>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="16"/>
+        <source>QGIS Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="81"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">关闭(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="84"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="42"/>
+        <source>&amp;Home</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="45"/>
+        <source>Alt+H</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="55"/>
+        <source>&amp;Forward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="58"/>
+        <source>Alt+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="68"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgshelpviewerbase.ui" line="71"/>
+        <source>Alt+B</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsHttpTransaction</name>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="227"/>
+        <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="306"/>
+        <source>HTTP response completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgshttptransaction.cpp" line="355"/>
+        <source>HTTP transaction completed, however there was an error: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/core/qgshttptransaction.cpp" line="434"/>
+        <source>Network timed out after %1 seconds of inactivity.
+This may be a problem in your network connection or at the WMS server.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResults</name>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="44"/>
+        <source>Feature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="45"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="106"/>
+        <source>Run action</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="204"/>
+        <source>(Derived)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresults.cpp" line="233"/>
+        <source>Identify Results - </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsIdentifyResultsBase</name>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="16"/>
+        <source>Identify Results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="46"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="49"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsidentifyresultsbase.ui" line="75"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+</context>
+<context>
+    <name>QgsLUDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="13"/>
+        <source>Enter class bounds</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="31"/>
+        <source>Lower value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="57"/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="94"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="101"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsludialogbase.ui" line="126"/>
+        <source>Upper value</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLabelDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="21"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="45"/>
+        <source>Font Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="70"/>
+        <source>Font size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="546"/>
+        <source>Map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="553"/>
+        <source>Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="932"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="150"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="501"/>
+        <source>Colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="445"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="203"/>
+        <source>Font Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="228"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="240"/>
+        <source>Below Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="247"/>
+        <source>Right</source>
+        <translation type="unfinished">右</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="254"/>
+        <source>Below</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="261"/>
+        <source>Over</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="271"/>
+        <source>Above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="278"/>
+        <source>Left</source>
+        <translation type="unfinished">左</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="285"/>
+        <source>Below Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="292"/>
+        <source>Above Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="299"/>
+        <source>Above Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="309"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="845"/>
+        <source>Angle (deg):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="351"/>
+        <source>Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="363"/>
+        <source>Buffer size units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="375"/>
+        <source>Size is in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="382"/>
+        <source>Size is in points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="957"/>
+        <source>Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="418"/>
+        <source>Buffer Labels?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="509"/>
+        <source>Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="534"/>
+        <source>Offset units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1032"/>
+        <source>X Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1068"/>
+        <source>Y Offset (pts):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="592"/>
+        <source>Data Defined Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="612"/>
+        <source>&amp;Italic:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="630"/>
+        <source>&amp;Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="648"/>
+        <source>&amp;Bold:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="676"/>
+        <source>&amp;Underline:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="752"/>
+        <source>&amp;Font family:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="799"/>
+        <source>Data Defined Alignment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="866"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="874"/>
+        <source>Data Defined Buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="968"/>
+        <source>Data Defined Position</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1014"/>
+        <source>X Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1053"/>
+        <source>Y Coordinate:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1090"/>
+        <source>Preview:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1105"/>
+        <source>QGIS Rocks!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1121"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1133"/>
+        <source>Field containing label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslabeldialogbase.ui" line="1176"/>
+        <source>Default label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLayerProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="13"/>
+        <source>Layer Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="60"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Define this layer&apos;s projection:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This layer appears to have no projection specification. By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslayerprojectionselectorbase.ui" line="83"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegend</name>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="109"/>
+        <source>group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="401"/>
+        <source>&amp;Make to toplevel item</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="408"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="413"/>
+        <source>Re&amp;name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="418"/>
+        <source>&amp;Add group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="419"/>
+        <source>&amp;Expand all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="420"/>
+        <source>&amp;Collapse all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="422"/>
+        <source>Show file groups</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1749"/>
+        <source>No Layer Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegend.cpp" line="1750"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayer</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="474"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="477"/>
+        <source>&amp;Zoom to best scale (100%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="481"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="487"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="494"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="518"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="525"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="535"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="584"/>
+        <source>More layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayer.cpp" line="585"/>
+        <source>This item contains more layer files. Displaying more layers in table is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLegendLayerFile</name>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="222"/>
+        <source>Not a vector layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="223"/>
+        <source>To open an attribute table, you must select a vector layer in the legend</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="249"/>
+        <source>Attribute table - </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="319"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Saving done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="356"/>
+        <source>Export to Shapefile has been completed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="360"/>
+        <source>ESRI Shapefile driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="364"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="365"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="418"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="369"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="385"/>
+        <source>Start editing failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="386"/>
+        <source>Provider cannot be opened for editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="399"/>
+        <source>Stop editing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="400"/>
+        <source>Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="407"/>
+        <source>Could not commit changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="419"/>
+        <source>Problems during roll back</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="452"/>
+        <source>&amp;Zoom to layer extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="455"/>
+        <source>&amp;Show in overview</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="463"/>
+        <source>&amp;Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="472"/>
+        <source>&amp;Open attribute table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="486"/>
+        <source>Save as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="488"/>
+        <source>Save selection as shapefile...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/legend/qgslegendlayerfile.cpp" line="505"/>
+        <source>&amp;Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="13"/>
+        <source>Select a line style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="28"/>
+        <source>Styles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="177"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestyledialogbase.ui" line="184"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsLineStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="36"/>
+        <source>Outline Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="61"/>
+        <source>Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="87"/>
+        <source>Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="98"/>
+        <source>LineStyleWidget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgslinestylewidgetbase.ui" line="120"/>
+        <source>col</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapCanvas</name>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>Could not draw</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1035"/>
+        <source>because</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapToolIdentify</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="346"/>
+        <source>- %1 features found</source>
+        <comment>Identify results window title</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="420"/>
+        <source>No features found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmaptoolidentify.cpp" line="423"/>
+        <source>&lt;p&gt;No features were found within the search radius. Note that it is currently not possible to use the identify tool on unsaved features.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExport</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="193"/>
+        <source>Overwrite File?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmapserverexport.cpp" line="74"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="73"/>
+        <source>Name for the map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="74"/>
+        <source>MapServer map files (*.map);;All files(*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="81"/>
+        <source>Choose the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="82"/>
+        <source>QGIS Project Files (*.qgs);;All files (*.*)</source>
+        <comment>Filter list for selecting files from a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexport.cpp" line="195"/>
+        <source> exists. 
+Do you want to overwrite it?</source>
+        <comment>a filename is prepended to this text, and appears in a dialog box</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMapserverExportBase</name>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="14"/>
+        <source>Export to Mapserver</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="352"/>
+        <source>Map file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="403"/>
+        <source>Export LAYER information only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="56"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">帮助(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="59"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="85"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">确定(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="101"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">取消(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="116"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="159"/>
+        <source>Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="330"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="304"/>
+        <source>Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="182"/>
+        <source>Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="229"/>
+        <source>Image type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="243"/>
+        <source>gif</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="248"/>
+        <source>gtiff</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="253"/>
+        <source>jpeg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="258"/>
+        <source>png</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="263"/>
+        <source>swf</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="268"/>
+        <source>userdefined</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="273"/>
+        <source>wbmp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="226"/>
+        <source>MinScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="236"/>
+        <source>MaxScale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmapserverexportbase.ui" line="252"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile. It should be kept short.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="291"/>
+        <source>Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="29"/>
+        <source>Web Interface Definition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="98"/>
+        <source>Header</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="134"/>
+        <source>Footer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="58"/>
+        <source>Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="68"/>
+        <source>Path to the MapServer template file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="369"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="196"/>
+        <source>dd</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="201"/>
+        <source>feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="206"/>
+        <source>meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="211"/>
+        <source>miles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="216"/>
+        <source>inches</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="221"/>
+        <source>kilometers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="340"/>
+        <source>Prefix attached to map, scalebar and legend GIF filenames created using this MapFile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="362"/>
+        <source>Name for the map file to be created from the QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="376"/>
+        <source>Full path to the QGIS project file to export to MapServer map format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="383"/>
+        <source>QGIS project file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="393"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tools/mapserver_export/qgsmapserverexportbase.ui" line="400"/>
+        <source>If checked, only the layer information will be processed</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMarkerDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="16"/>
+        <source>Choose a marker symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="28"/>
+        <source>Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="38"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="71"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="81"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmarkerdialogbase.ui" line="108"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureBase</name>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="22"/>
+        <source>Measure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="69"/>
+        <source>Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="122"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="145"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmeasurebase.ui" line="152"/>
+        <source>Cl&amp;ose</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureDialog</name>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="218"/>
+        <source>Segments (in meters)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="221"/>
+        <source>Segments (in feet)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="224"/>
+        <source>Segments (in degrees)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuredialog.cpp" line="227"/>
+        <source>Segments</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMeasureTool</name>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="71"/>
+        <source>Incorrect measure results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsmeasuretool.cpp" line="79"/>
+        <source>&lt;p&gt;This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggest that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.&lt;/p&gt;&lt;p&gt;To fix this, explicitly set an appropriate map coordinate system using the &lt;tt&gt;Settings:Project Properties&lt;/tt&gt; menu.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsMessageViewer</name>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="13"/>
+        <source>QGIS Message</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="28"/>
+        <source>Don&apos;t show this message again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsmessageviewer.ui" line="48"/>
+        <source>Close</source>
+        <translation type="unfinished">关闭</translation>
+    </message>
+</context>
+<context>
+    <name>QgsMySQLProvider</name>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="171"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="172"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="174"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="191"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="194"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="818"/>
+        <source>Save layer as...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="891"/>
+        <source>Error creating field </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="970"/>
+        <source>Layer creation failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="976"/>
+        <source>Error creating shapefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="978"/>
+        <source>The shapefile could not be created (</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="986"/>
+        <source>Driver not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/mysql/qgsmysqlprovider.cpp" line="987"/>
+        <source> driver is not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnection</name>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Test connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="118"/>
+        <source>Connection to %1 was successful</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsnewconnection.cpp" line="121"/>
+        <source>Connection failed - Check settings and try again.
+
+Extended error information:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="21"/>
+        <source>Create a New PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="39"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="64"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Restrict the search to the public schema for spatial tables not in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="67"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When searching for spatial tables that are not in the geometry_columns tables, restrict the search to tables that are in the public schema (for some databases this can save lots of time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="70"/>
+        <source>Only look in the &apos;public&apos; schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="87"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restrict the displayed tables to those that are in the geometry_columns table&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="90"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;Restricts the displayed tables to those that are in the geometry_columns table. This can speed up the initial display of spatial tables.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="93"/>
+        <source>Only look in the geometry_columns table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="108"/>
+        <source>Save Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="115"/>
+        <source>Test Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="140"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="150"/>
+        <source>Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="160"/>
+        <source>Database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="170"/>
+        <source>Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="180"/>
+        <source>Username</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="190"/>
+        <source>Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="210"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="223"/>
+        <source>5432</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="255"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="271"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="287"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewconnectionbase.ui" line="290"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNewHttpConnectionBase</name>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="13"/>
+        <source>Create a New WMS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="31"/>
+        <source>Connection Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="62"/>
+        <source>Name of the new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="72"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="85"/>
+        <source>URL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="98"/>
+        <source>Proxy Host</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="111"/>
+        <source>Proxy Port</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="124"/>
+        <source>Proxy User</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="137"/>
+        <source>Proxy Password</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="158"/>
+        <source>Your user name for the HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="173"/>
+        <source>Password for your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="183"/>
+        <source>HTTP address of the Web Map Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="190"/>
+        <source>Name of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="205"/>
+        <source>Port number of your HTTP proxy (optional)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="226"/>
+        <source>OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="242"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="258"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="261"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPlugin</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="85"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="86"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="99"/>
+        <source>&amp;North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="100"/>
+        <source>Creates a north arrow that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="255"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugin.cpp" line="246"/>
+        <source>North arrow pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGui</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/plugingui.cpp" line="157"/>
+        <source>Pixmap not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsNorthArrowPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="237"/>
+        <source>North Arrow Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="35"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="55"/>
+        <source>Angle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="62"/>
+        <source>Placement</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="75"/>
+        <source>Set direction automatically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="85"/>
+        <source>Enable North Arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="137"/>
+        <source>Placement on screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="141"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="146"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="151"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="156"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="164"/>
+        <source>Preview of north arrow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="183"/>
+        <source>Icon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="198"/>
+        <source>Browse...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/north_arrow/pluginguibase.ui" line="206"/>
+        <source>New Item</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOGRFactory</name>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>Wrong Path/URI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrfactory.cpp" line="64"/>
+        <source>The provided path for the dataset is not valid.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsOptionsBase</name>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="13"/>
+        <source>QGIS Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="38"/>
+        <source>&amp;General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="50"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="62"/>
+        <source>Ask to save project changes when required</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="86"/>
+        <source>&amp;Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="98"/>
+        <source>&amp;Splash screen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="110"/>
+        <source>Hide splash screen at startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="120"/>
+        <source>&amp;Icon Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="132"/>
+        <source>&lt;b&gt;Note: &lt;/b&gt;Theme changes take effect the next time QGIS is started</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="150"/>
+        <source>Theme</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="188"/>
+        <source>Default Map Appearance (Overridden by project properties)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="200"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="236"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="275"/>
+        <source>Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="287"/>
+        <source>Capitalise layer name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="311"/>
+        <source>&amp;Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="323"/>
+        <source>&amp;Update during drawing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="335"/>
+        <source>features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="342"/>
+        <source>Map display will be updated (drawn) after this many features have been read from the data source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="355"/>
+        <source>Update display after reading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="365"/>
+        <source>(Set to 0 to not update the display until all features have been read)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="375"/>
+        <source>Initial Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="387"/>
+        <source>By default new la&amp;yers added to the map should be displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="397"/>
+        <source>Rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="409"/>
+        <source>Make lines appear less jagged at the expense of some drawing performance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="416"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Selecting this will unselect the &apos;make lines less&apos; jagged toggle&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="419"/>
+        <source>Fix problems with incorrectly filled polygons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="426"/>
+        <source>Continuously redraw the map when dragging the legend/map divider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="450"/>
+        <source>&amp;Map tools</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="462"/>
+        <source>Panning and zooming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="475"/>
+        <source>Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="480"/>
+        <source>Zoom and recenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="485"/>
+        <source>Nothing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="493"/>
+        <source>Zoom factor:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="500"/>
+        <source>Mouse wheel action:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="523"/>
+        <source>Measure tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="564"/>
+        <source>Rubberband color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="574"/>
+        <source>Ellipsoid for distance calculations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="587"/>
+        <source>Search radius</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="599"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note:&lt;/span&gt; Specify the search radius as a percentage of the map width.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="613"/>
+        <source>Search Radius for Identifying Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="623"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="656"/>
+        <source>Pro&amp;jection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="681"/>
+        <source>Select Global Default ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="691"/>
+        <source>When layer is loaded that has no projection information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="703"/>
+        <source>Prompt for projection.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="710"/>
+        <source>Project wide default projection will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="717"/>
+        <source>Global default projection displa&amp;yed below will be used.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="728"/>
+        <source>Help &amp;Browser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="753"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; The browser must be in your PATH or you can specify the full path above</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="769"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="780"/>
+        <source>epiphany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="785"/>
+        <source>firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="790"/>
+        <source>mozilla-firefox</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="795"/>
+        <source>galeon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="800"/>
+        <source>konqueror</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="805"/>
+        <source>mozilla</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <source>opera</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="818"/>
+        <source>Open help documents with</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPasteTransformationsBase</name>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="19"/>
+        <source>Paste Transformations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="42"/>
+        <source>&lt;b&gt;Note: This function is not useful yet!&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="65"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="86"/>
+        <source>Destination</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="125"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished">帮助(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="128"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="154"/>
+        <source>Add New Transfer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="161"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished">确定(&amp;O)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspastetransformationsbase.ui" line="177"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished">取消(&amp;C)</translation>
+    </message>
+</context>
+<context>
+    <name>QgsPatternDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="13"/>
+        <source>Select a fill pattern</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="189"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="205"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspatterndialogbase.ui" line="212"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgGeoprocessing</name>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="76"/>
+        <source>&amp;Buffer features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>Create a buffer for a PostgreSQL layer. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="78"/>
+        <source>A new layer is created in the database with the buffered features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="433"/>
+        <source>&amp;Geoprocessing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="134"/>
+        <source>Buffer features in layer %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="350"/>
+        <source>Unable to add geometry column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="352"/>
+        <source>Unable to add geometry column to the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="356"/>
+        <source>Unable to create table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="358"/>
+        <source>Failed to create the output table </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="365"/>
+        <source>Error connecting to the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="369"/>
+        <source>No GEOS support</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="370"/>
+        <source>Buffer function requires GEOS support in PostGIS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="373"/>
+        <source>Not a PostgreSQL/PosGIS Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source> is not a PostgreSQL/PosGIS layer.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="376"/>
+        <source>Geoprocessing functions are only available for PostgreSQL/PosGIS Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="379"/>
+        <source>No Active Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/geoprocessing/qgspggeoprocessing.cpp" line="380"/>
+        <source>You must select a layer in the legend to buffer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilder</name>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="81"/>
+        <source>Table &lt;b&gt;%1&lt;/b&gt; in database &lt;b&gt;%2&lt;/b&gt; on host &lt;b&gt;%3&lt;/b&gt;, user &lt;b&gt;%4&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="66"/>
+        <source>Connection to the database failed:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Database error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="215"/>
+        <source>&lt;p&gt;Failed to get sample of field values using SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="255"/>
+        <source>Failed to get sample of field values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>No Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="270"/>
+        <source>You must create a query before you can test it</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="281"/>
+        <source>Query Result</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source>The where clause returned </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="283"/>
+        <source> rows.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="287"/>
+        <source>Query Failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="289"/>
+        <source>An error occurred when executing the query:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="337"/>
+        <source>Error in Query</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspgquerybuilder.cpp" line="343"/>
+        <source>The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPgQueryBuilderBase</name>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="23"/>
+        <source>PostgreSQL Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="41"/>
+        <source>Operators</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="53"/>
+        <source>=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="60"/>
+        <source>&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="67"/>
+        <source>NOT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="74"/>
+        <source>OR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="81"/>
+        <source>AND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="88"/>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="95"/>
+        <source>IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="102"/>
+        <source>NOT IN</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="109"/>
+        <source>!=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="116"/>
+        <source>&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="123"/>
+        <source>LIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="130"/>
+        <source>ILIKE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="137"/>
+        <source>&gt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="144"/>
+        <source>&lt;=</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="178"/>
+        <source>Clear</source>
+        <translation type="unfinished">清空</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="188"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="198"/>
+        <source>Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="208"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="241"/>
+        <source>Values</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="253"/>
+        <source>All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="263"/>
+        <source>Sample</source>
+        <translation type="unfinished">实例</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="273"/>
+        <source>Fields</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="291"/>
+        <source>Datasource:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspgquerybuilderbase.ui" line="304"/>
+        <source>SQL where clause</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManager</name>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="74"/>
+        <source>Choose a directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No Plugins</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgspluginmanager.cpp" line="148"/>
+        <source>No QGIS plugins found in </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPluginManagerBase</name>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="13"/>
+        <source>QGIS Plugin Manger</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="36"/>
+        <source>Plugin Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="55"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="76"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="81"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="86"/>
+        <source>Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="91"/>
+        <source>Library Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="99"/>
+        <source>To load a plugin, click the checkbox next to the plugin and click Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="130"/>
+        <source>&amp;Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="133"/>
+        <source>Alt+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="140"/>
+        <source>C&amp;lear All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="143"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="150"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="153"/>
+        <source>Alt+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="160"/>
+        <source>&amp;Close</source>
+        <translation type="unfinished">关闭(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspluginmanagerbase.ui" line="163"/>
+        <source>Alt+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialog</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="61"/>
+        <source>Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="60"/>
+        <source>z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="66"/>
+        <source>Zoom Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="65"/>
+        <source>Z</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="69"/>
+        <source>Zoom To Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="71"/>
+        <source>Zoom to Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="74"/>
+        <source>Pan Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="75"/>
+        <source>Pan the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="78"/>
+        <source>Add Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="79"/>
+        <source>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="80"/>
+        <source>Capture Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="83"/>
+        <source>Delete Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="84"/>
+        <source>Delete Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="493"/>
+        <source>Linear</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="320"/>
+        <source>Helmert</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="262"/>
+        <source>Choose a name for the world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="278"/>
+        <source>-modified</source>
+        <comment>Georeferencer:QgsPointDialog.cpp - used to modify a user given filename</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="322"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="328"/>
+        <source>&lt;p&gt;A Helmert transform requires modifications in the raster layer.&lt;/p&gt;&lt;p&gt;The modifed raster will be saved in a new file and a world file will be generated for this new file instead.&lt;/p&gt;&lt;p&gt;Are you sure that this is what you want?&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="329"/>
+        <source>Currently all modified files will be written in TIFF format.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="336"/>
+        <source>Affine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="346"/>
+        <source>Not implemented!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="341"/>
+        <source>&lt;p&gt;An affine transform requires changing the original raster file. This is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="348"/>
+        <source>&lt;p&gt;The </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="349"/>
+        <source> transform is not yet supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="377"/>
+        <source>Error</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialog.cpp" line="378"/>
+        <source>Could not write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointDialogBase</name>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="16"/>
+        <source>Georeferencer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="67"/>
+        <source>Add points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="92"/>
+        <source>Delete points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="140"/>
+        <source>Zoom in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="162"/>
+        <source>Zoom out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="184"/>
+        <source>Zoom to the raster extents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="206"/>
+        <source>Pan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="238"/>
+        <source>Save As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="245"/>
+        <source>Generate world file and load layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="258"/>
+        <source>Generate world file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="265"/>
+        <source>Modified raster:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="272"/>
+        <source>World file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="298"/>
+        <source>Transform type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/georeferencer/qgspointdialogbase.ui" line="305"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPointStyleWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="16"/>
+        <source>Form3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="36"/>
+        <source>Symbol Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspointstylewidgetbase.ui" line="51"/>
+        <source>Scale</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPostgresProvider</name>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="146"/>
+        <source>Unable to access relation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="147"/>
+        <source>Unable to access the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="149"/>
+        <source> relation.
+The error message from the database was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="164"/>
+        <source>No GEOS Support!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="168"/>
+        <source>Your PostGIS installation has no GEOS support.
+Feature selection and identification will not work properly.
+Please install PostGIS with GEOS support (http://geos.refractions.net)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="781"/>
+        <source>No suitable key column in table</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="785"/>
+        <source>The table has no column suitable for use as a key.
+
+Qgis requires that the table either has a column of type
+int4 with a unique constraint on it (which includes the
+primary key) or has a PostgreSQL oid column.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="829"/>
+        <source>The unique index on column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="831"/>
+        <source>is unsuitable because Qgis does not currently support non-int4 type columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="851"/>
+        <source>and </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="856"/>
+        <source>The unique index based on columns </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="858"/>
+        <source> is unsuitable because Qgis does not currently support multiple columns as a key into the table.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="904"/>
+        <source>Unable to find a key column</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="987"/>
+        <source> derives from </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="991"/>
+        <source>and is suitable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="995"/>
+        <source>and is not suitable </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="996"/>
+        <source>type is </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="998"/>
+        <source> and has a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1000"/>
+        <source> and does not have a suitable constraint)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1086"/>
+        <source>Note: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1088"/>
+        <source>initially appeared suitable but does not contain unique data, so is not suitable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1100"/>
+        <source>The view you selected has the following columns, none of which satisfy the above conditions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1106"/>
+        <source>Qgis requires that the view has a column that can be used as a unique key. Such a column should be derived from a table column of type int4 and be a primary key, have a unique constraint on it, or be a PostgreSQL oid column. To improve performance the column should also be indexed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1107"/>
+        <source>The view </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1108"/>
+        <source>has no column suitable for use as a unique key.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1109"/>
+        <source>No suitable key column in view</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1713"/>
+        <source>INSERT error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1707"/>
+        <source>An error occured during feature insertion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1766"/>
+        <source>DELETE error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1760"/>
+        <source>An error occured during deletion from disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2080"/>
+        <source>PostGIS error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2074"/>
+        <source>An error occured contacting the PostgreSQL database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2081"/>
+        <source>The PostgreSQL database returned: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2082"/>
+        <source>When trying: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2476"/>
+        <source>Unknown geometry type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2477"/>
+        <source>Column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2487"/>
+        <source> in </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source> has a geometry type of </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
+        <source>, which Qgis does not currently support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2486"/>
+        <source>Qgis was unable to determine the type and srid of column </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2488"/>
+        <source>. The database communication log was:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2489"/>
+        <source>Unable to get feature type and srid</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="13"/>
+        <source>Project Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="48"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="60"/>
+        <source>Project Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="72"/>
+        <source>Descriptive project name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="75"/>
+        <source>Default project title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="85"/>
+        <source>Map Units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="97"/>
+        <source>Meters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="107"/>
+        <source>Feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="114"/>
+        <source>Decimal degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="137"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="149"/>
+        <source>Automatically sets the number of decimal places in the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="152"/>
+        <source>The number of decimal places that are used when displaying the mouse position is automatically set to be enough so that moving the mouse by one pixel gives a change in the position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="155"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="168"/>
+        <source>Sets the number of decimal places to use for the mouse position display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="171"/>
+        <source>Manual</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="181"/>
+        <source>The number of decimal places for the manual option</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="196"/>
+        <source>decimal places</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="219"/>
+        <source>Digitizing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="231"/>
+        <source>Line Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="241"/>
+        <source>Line width in pixels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="264"/>
+        <source>Snapping Tolerance (in map units):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="280"/>
+        <source>Snapping tolerance in map units</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="287"/>
+        <source>Line Colour:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="300"/>
+        <source>Map Appearance</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="312"/>
+        <source>Selection Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="351"/>
+        <source>Background Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="404"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="416"/>
+        <source>Enable on the fly projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelector</name>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="782"/>
+        <source>QGIS SRSID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsprojectionselector.cpp" line="783"/>
+        <source>PostGIS SRID: </source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsProjectionSelectorBase</name>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="24"/>
+        <source>Projection Selector</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="47"/>
+        <source>Projection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="67"/>
+        <source>Search</source>
+        <translation type="unfinished">搜索</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="85"/>
+        <source>Find</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="98"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="111"/>
+        <source>QGIS SRSID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="124"/>
+        <source>EPSG ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="137"/>
+        <source>Postgis SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="196"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsprojectionselectorbase.ui" line="201"/>
+        <source>Id</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsPythonDialog</name>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="13"/>
+        <source>Python console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="33"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;To access Quantum GIS environment from this python console use object &lt;span style=&quot; font-weight:600;&quot;&gt;iface&lt;/span&gt; from global scope which is an instance of QgisInterface class.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Usage e.g.: iface.zoomFull()&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="47"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgspythondialog.ui" line="65"/>
+        <source>&gt;&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayer</name>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="281"/>
+        <source>and all other files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3233"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2622"/>
+        <source>Raster Extent: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="2625"/>
+        <source>Clipped area: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3850"/>
+        <source>Driver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3876"/>
+        <source>Dataset Description</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3926"/>
+        <source>Dimensions:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3929"/>
+        <source>X: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Y: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3930"/>
+        <source> Bands: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3937"/>
+        <source>No Data Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3945"/>
+        <source>Data Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3951"/>
+        <source>GDT_Byte - Eight bit unsigned integer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3954"/>
+        <source>GDT_UInt16 - Sixteen bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3957"/>
+        <source>GDT_Int16 - Sixteen bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3960"/>
+        <source>GDT_UInt32 - Thirty two bit unsigned integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3963"/>
+        <source>GDT_Int32 - Thirty two bit signed integer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3966"/>
+        <source>GDT_Float32 - Thirty two bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3969"/>
+        <source>GDT_Float64 - Sixty four bit floating point </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3972"/>
+        <source>GDT_CInt16 - Complex Int16 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3975"/>
+        <source>GDT_CInt32 - Complex Int32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3978"/>
+        <source>GDT_CFloat32 - Complex Float32 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3981"/>
+        <source>GDT_CFloat64 - Complex Float64 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3984"/>
+        <source>Could not determine raster data type.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="3989"/>
+        <source>Pyramid overviews:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4010"/>
+        <source>Layer Spatial Reference System: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4038"/>
+        <source>Origin:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4047"/>
+        <source>Pixel Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4064"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4067"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4907"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4083"/>
+        <source>Band No</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4095"/>
+        <source>No Stats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4098"/>
+        <source>No stats collected yet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4108"/>
+        <source>Min Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4116"/>
+        <source>Max Val</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4124"/>
+        <source>Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4132"/>
+        <source>Mean</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4140"/>
+        <source>Sum of squares</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4148"/>
+        <source>Standard Deviation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4156"/>
+        <source>Sum of all cells</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4164"/>
+        <source>Cell Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4245"/>
+        <source>Average Magphase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4250"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4864"/>
+        <source>out of extent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/raster/qgsrasterlayer.cpp" line="4901"/>
+        <source>null (no data)</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="688"/>
+        <source>Grayscale</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="678"/>
+        <source>Pseudocolor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="682"/>
+        <source>Freak Out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="217"/>
+        <source>Not Set</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="116"/>
+        <source>Palette</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="484"/>
+        <source>Write access denied</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="485"/>
+        <source>Write access denied. Adjust the file permissions and try again.
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="494"/>
+        <source>Building pyramids failed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="490"/>
+        <source>The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="495"/>
+        <source>Building pyramid overviews is not supported on this type of raster.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="571"/>
+        <source>Columns: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="572"/>
+        <source>Rows: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>No-Data Value: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="573"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="651"/>
+        <source>&lt;h3&gt;Multiband Image Notes&lt;/h3&gt;&lt;p&gt;This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Visible Blue (0.45 to 0.52 microns) - not mapped&lt;/li&gt;&lt;li&gt;Visible Green (0.52 to 0.60 microns) - not mapped&lt;/li&gt;&lt;/li&gt;Visible Red (0.63 to 0.69 microns) - mapped to red in image&lt;/li&gt;&lt;li&gt;Near Infrared (0.76 to 0.90 microns) - mapped to green in image&lt;/li&gt;&lt;li&gt;Mid Infrared (1.55 to 1.75 microns) - not mapped&lt;/li&gt;&lt;li&gt;Thermal Infrared (10.4 to 12.5 microns) - not mapped&lt;/li&gt;&lt;li&gt;Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="658"/>
+        <source>&lt;h3&gt;Paletted Image Notes&lt;/h3&gt; &lt;p&gt;This image uses a fixed color palette. You can remap these colors in different combinations e.g.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - blue in image&lt;/li&gt;&lt;li&gt;Green - blue in image&lt;/li&gt;&lt;li&gt;Blue - green in image&lt;/li&gt;&lt;/ul&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsrasterlayerproperties.cpp" line="665"/>
+        <source>&lt;h3&gt;Grayscale Image Notes&lt;/h3&gt; &lt;p&gt;You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsRasterLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="13"/>
+        <source>Raster Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="38"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="50"/>
+        <source>Display</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="62"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="72"/>
+        <source>&lt;p align=&quot;right&quot;&gt;Full&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="92"/>
+        <source>0%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="112"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="292"/>
+        <source>Grayscale Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="188"/>
+        <source>Color Image</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="154"/>
+        <source>Invert Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="172"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:14px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-weight:600&quot;&gt;Notes&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="206"/>
+        <source>Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="213"/>
+        <source>Band</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="236"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#00ff00&quot;&gt;Green&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="246"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;Red&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="269"/>
+        <source>&lt;b&gt;&lt;font color=&quot;#0000ff&quot;&gt;Blue&lt;/font&gt;&lt;/b&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="279"/>
+        <source>Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="333"/>
+        <source>Color Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="343"/>
+        <source>Std Deviations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="359"/>
+        <source>Gray</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="373"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="393"/>
+        <source>Thumbnail</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="443"/>
+        <source>Legend:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="493"/>
+        <source>Palette:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="545"/>
+        <source>Display Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="565"/>
+        <source>Layer Source:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="583"/>
+        <source>Columns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="590"/>
+        <source>Rows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="597"/>
+        <source>No Data:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="606"/>
+        <source>DebugInfo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="613"/>
+        <source>Scale Dependent Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="628"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="641"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="651"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="664"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="677"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="689"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="707"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="727"/>
+        <source>Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="739"/>
+        <source>Pyramid Resolutions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="775"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot;font-size:9pt;font-family:Sans Serif&quot;&gt;
+&lt;p style=&quot;margin-top:18px&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-size:14pt;font-weight:600&quot;&gt;Description&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span&gt;&lt;/p&gt;
+&lt;p dir=&quot;ltr&quot;&gt;&lt;span style=&quot;color:#ff0000&quot;&gt;Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span&gt;&lt;/p&gt;
+&lt;/body&gt;&lt;/html&gt;
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="815"/>
+        <source>Resampling Method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="826"/>
+        <source>Average</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="831"/>
+        <source>Nearest Neighbour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="839"/>
+        <source>Build Pyramids</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="849"/>
+        <source>Histogram</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="874"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="886"/>
+        <source>Column Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="893"/>
+        <source>Out Of Range OK?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="900"/>
+        <source>Allow Approximation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="929"/>
+        <source>Chart Type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="941"/>
+        <source>Line Graph</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="951"/>
+        <source>Bar Chart</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="961"/>
+        <source>Refresh</source>
+        <translation type="unfinished">刷新</translation>
+    </message>
+</context>
+<context>
+    <name>QgsRunProcess</name>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="59"/>
+        <source>Starting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="115"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsrunprocess.cpp" line="146"/>
+        <source>Unable to run command</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPlugin</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="83"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="84"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="86"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="87"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="107"/>
+        <source>&amp;Scale Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="108"/>
+        <source>Creates a scale bar that is displayed on the map canvas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="529"/>
+        <source>&amp;Decorations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="169"/>
+        <source> metres/km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="268"/>
+        <source> feet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="274"/>
+        <source> degrees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="248"/>
+        <source> km</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="253"/>
+        <source> mm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="258"/>
+        <source> cm</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="262"/>
+        <source> m</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="266"/>
+        <source> foot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="272"/>
+        <source> degree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/plugin.cpp" line="277"/>
+        <source> unknown</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsScaleBarPluginGuiBase</name>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="300"/>
+        <source>Scale Bar Plugin</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="76"/>
+        <source>Click to select the colour</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="94"/>
+        <source>Size of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="109"/>
+        <source>Automatically snap to round number on resize</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="127"/>
+        <source>Colour of bar:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="143"/>
+        <source>Top Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="148"/>
+        <source>Top Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="153"/>
+        <source>Bottom Left</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="158"/>
+        <source>Bottom Right</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="174"/>
+        <source>Enable scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="192"/>
+        <source>Scale bar style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="207"/>
+        <source>Select the style of the scale bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="211"/>
+        <source>Tick Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="216"/>
+        <source>Tick Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="221"/>
+        <source>Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="226"/>
+        <source>Bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="254"/>
+        <source>Placement:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/scale_bar/pluginguibase.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This plugin draws a scale bar on the map. Please note the size option below is a &apos;preferred&apos; size and may have to be altered by QGIS depending on the level of zoom.  The size is measured according to the map units specified in the project properties.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSearchQueryBuilder</name>
+    <message numerus="yes">
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="126"/>
+        <source>Found %d matching features.</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="128"/>
+        <source>No matching features found.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="129"/>
+        <source>Search results</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="138"/>
+        <source>Search string parsing error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>No Records</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssearchquerybuilder.cpp" line="194"/>
+        <source>The query you specified results in zero records being returned.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelect</name>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="159"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="160"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="442"/>
+        <source>WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="444"/>
+        <source>Could not open the WMS Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>Select Layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="453"/>
+        <source>You must select at least one layer first.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="457"/>
+        <source>There are no available coordinate reference system for the set of layers you&apos;ve selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="../src/app/qgsserversourceselect.cpp" line="576"/>
+        <source>Coordinate Reference System (%1 available)</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="755"/>
+        <source>Could not understand the response.  The</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="756"/>
+        <source>provider said</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>WMS proxies</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsserversourceselect.cpp" line="810"/>
+        <source>&lt;p&gt;Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsServerSourceSelectBase</name>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="13"/>
+        <source>Add Layer(s) from a Server</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="34"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="46"/>
+        <source>Adds a few example WMS servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="52"/>
+        <source>Add default servers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="81"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="91"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="101"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="108"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="118"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="156"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="174"/>
+        <source>Ready</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="187"/>
+        <source>&amp;Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="190"/>
+        <source>Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="203"/>
+        <source>Layers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="236"/>
+        <source>ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="241"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="246"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="251"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="276"/>
+        <source>Image encoding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="302"/>
+        <source>Help</source>
+        <translation type="unfinished">帮助</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="305"/>
+        <source>F1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="315"/>
+        <source>C&amp;lose</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsserversourceselectbase.ui" line="318"/>
+        <source>Alt+L</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsShapeFile</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="421"/>
+        <source>The database gave an error while executing this SQL:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="429"/>
+        <source>The error was:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsshapefile.cpp" line="426"/>
+        <source>... (rest of SQL trimmed)</source>
+        <comment>is appended to a truncated SQL statement</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSingleSymbolDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="21"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="47"/>
+        <source>Label:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="69"/>
+        <source>Point</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="121"/>
+        <source>Size</source>
+        <translation type="unfinished">大小</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="155"/>
+        <source>Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="168"/>
+        <source>Fill Patterns:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="544"/>
+        <source>No Fill</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="641"/>
+        <source>Browse:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="684"/>
+        <source>Outline Style:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="898"/>
+        <source>Outline Width:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="950"/>
+        <source>Fill Color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgssinglesymboldialogbase.ui" line="960"/>
+        <source>Outline color:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpit</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>File Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="69"/>
+        <source>Feature Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Features</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>DB Relation Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="70"/>
+        <source>Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="119"/>
+        <source>New Connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>Are you sure you want to remove the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="144"/>
+        <source>] connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="145"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="169"/>
+        <source>Add Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="171"/>
+        <source>Shapefiles (*.shp);;All files (*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="861"/>
+        <source> - Edit Column Names</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="307"/>
+        <source>The following Shapefile(s) could not be loaded:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="311"/>
+        <source>REASON: File cannot be opened</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="316"/>
+        <source>REASON: One or both of the Shapefile files (*.dbf, *.shx) missing</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="393"/>
+        <source>General Interface Help:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="395"/>
+        <source>PostgreSQL Connections:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="397"/>
+        <source>[New ...] - create a new connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="398"/>
+        <source>[Edit ...] - edit the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="399"/>
+        <source>[Remove] - remove the currently selected connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="400"/>
+        <source>-you need to select a connection that works (connects properly) in order to import files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="401"/>
+        <source>-when changing connections Global Schema also changes accordingly</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="402"/>
+        <source>Shapefile List:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="404"/>
+        <source>[Add ...] - open a File dialog and browse to the desired file(s) to import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="405"/>
+        <source>[Remove] - remove the currently selected file(s) from the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="406"/>
+        <source>[Remove All] - remove all the files in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="407"/>
+        <source>[SRID] - Reference ID for the shapefiles to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="408"/>
+        <source>[Use Default (SRID)] - set SRID to -1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="409"/>
+        <source>[Geometry Column Name] - name of the geometry column in the database</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="410"/>
+        <source>[Use Default (Geometry Column Name)] - set column name to &apos;the_geom&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="411"/>
+        <source>[Glogal Schema] - set the schema for all files to be imported into</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="413"/>
+        <source>[Import] - import the current shapefiles in the list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="414"/>
+        <source>[Quit] - quit the program
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="415"/>
+        <source>[Help] - display this help dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="834"/>
+        <source>Import Shapefiles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="429"/>
+        <source>You need to specify a Connection first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="443"/>
+        <source>Connection failed - Check settings and try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="474"/>
+        <source>PostGIS not available</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="476"/>
+        <source>&lt;p&gt;The chosen database does not have PostGIS installed, but this is required for storage of spatial data.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="547"/>
+        <source>You need to add shapefiles to the list first</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="608"/>
+        <source>Importing files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="552"/>
+        <source>Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="556"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="563"/>
+        <source>Problem inserting features from file:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="570"/>
+        <source>Invalid table name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="580"/>
+        <source>No fields detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="593"/>
+        <source>Checking to see if </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="601"/>
+        <source>The following fields are duplicates:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="836"/>
+        <source>&lt;p&gt;Error while executing the SQL:&lt;/p&gt;&lt;p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="837"/>
+        <source>&lt;/p&gt;&lt;p&gt;The database said:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="703"/>
+        <source>Import Shapefiles - Relation Exists</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="704"/>
+        <source>The Shapefile:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>will use [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>] relation for its data,</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="705"/>
+        <source>which already exists and possibly contains data.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>To avoid data loss change the &quot;DB Relation Name&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="706"/>
+        <source>for this Shapefile in the main dialog file list.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>Do you want to overwrite the [</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="707"/>
+        <source>] relation?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspit.cpp" line="864"/>
+        <source>Use the table below to edit column names. Make sure that none of the columns are named using a PostgreSQL reserved word</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitBase</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="19"/>
+        <source>SPIT - Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="53"/>
+        <source>Shapefile to PostGIS Import Tool</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="63"/>
+        <source>Shapefile List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="96"/>
+        <source>Add a shapefile to the list of files to be imported</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="99"/>
+        <source>Add</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="109"/>
+        <source>Remove the selected shapefile from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="399"/>
+        <source>Remove</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="122"/>
+        <source>Remove all the shapefiles from the import list</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="125"/>
+        <source>Remove All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="187"/>
+        <source>SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="212"/>
+        <source>Set the SRID to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="215"/>
+        <source>Use Default SRID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="251"/>
+        <source>Set the geometry column name to the default value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="254"/>
+        <source>Use Default Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="269"/>
+        <source>Geometry Column Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="330"/>
+        <source>Global Schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="360"/>
+        <source>PostgreSQL Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="383"/>
+        <source>Create a new PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="386"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="396"/>
+        <source>Remove the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="409"/>
+        <source>Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="419"/>
+        <source>Edit the current PostGIS connection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitbase.ui" line="422"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsSpitPlugin</name>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="73"/>
+        <source>&amp;Import Shapefiles to PostgreSQL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="75"/>
+        <source>Import shapefiles into a PostGIS-enabled PostgreSQL database. The schema and field names can be customized on import</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/spit/qgsspitplugin.cpp" line="98"/>
+        <source>&amp;Spit</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsUniqueValueDialogBase</name>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="13"/>
+        <source>Form1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="37"/>
+        <source>Classification Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="47"/>
+        <source>Delete class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsuniquevaluedialogbase.ui" line="80"/>
+        <source>Classify</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayer</name>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2024"/>
+        <source>Could not commit the added features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2115"/>
+        <source>No other types of changes will be committed at this time.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2046"/>
+        <source>Could not commit the changed attributes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2105"/>
+        <source>However, the added features were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2072"/>
+        <source>Could not commit the changed geometries.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2109"/>
+        <source>However, the changed attributes were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2102"/>
+        <source>Could not commit the deleted features.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorlayer.cpp" line="2113"/>
+        <source>However, the changed geometries were committed OK.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerProperties</name>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="101"/>
+        <source>Transparency: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="188"/>
+        <source>Single Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
+        <source>Graduated Symbol</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="192"/>
+        <source>Continuous Color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="193"/>
+        <source>Unique Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="150"/>
+        <source>This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="151"/>
+        <source>The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="366"/>
+        <source>Creation of spatial index successfull</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="371"/>
+        <source>Creation of spatial index failed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="384"/>
+        <source>General:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="392"/>
+        <source>Layer comment: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="399"/>
+        <source>Storage type of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="405"/>
+        <source>Source for this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="422"/>
+        <source>Geometry type of the features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="430"/>
+        <source>The number of features in this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="435"/>
+        <source>Editing capabilities of this layer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="442"/>
+        <source>Extents:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="447"/>
+        <source>In layer spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="448"/>
+        <source>xMin,yMin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="452"/>
+        <source> : xMax,yMax </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="481"/>
+        <source>Layer Spatial Reference System:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="506"/>
+        <source>In project spatial reference system units : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="517"/>
+        <source>Attribute field info:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="524"/>
+        <source>Field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="527"/>
+        <source>Type</source>
+        <translation type="unfinished">类型</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="530"/>
+        <source>Length</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="533"/>
+        <source>Precision</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="536"/>
+        <source>Comment</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorLayerPropertiesBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="19"/>
+        <source>Layer Properties</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="54"/>
+        <source>Symbology</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="102"/>
+        <source>Legend type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="112"/>
+        <source>Transparency:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="136"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="148"/>
+        <source>Display name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="158"/>
+        <source>Display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="161"/>
+        <source>This sets the display field for the Identify Results dialog box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="164"/>
+        <source>Display field</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="174"/>
+        <source>Use this control to set which field is placed at the top level of the Identify Results dialog box.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="184"/>
+        <source>Use scale dependent rendering</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="199"/>
+        <source>Maximum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="209"/>
+        <source>Minimum 1:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="219"/>
+        <source>Minimum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="232"/>
+        <source>Maximum scale at which this layer will be displayed. </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="248"/>
+        <source>Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="260"/>
+        <source>Create Spatial Index</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="270"/>
+        <source>Create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="296"/>
+        <source>Spatial Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="315"/>
+        <source>Change</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="325"/>
+        <source>Subset</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="366"/>
+        <source>Query Builder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="377"/>
+        <source>Metadata</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="397"/>
+        <source>Labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="435"/>
+        <source>Display labels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="443"/>
+        <source>Actions</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsVectorSymbologyWidgetBase</name>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="16"/>
+        <source>Form2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="44"/>
+        <source>Label</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="49"/>
+        <source>Min</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="54"/>
+        <source>Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="62"/>
+        <source>Symbol Classes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="77"/>
+        <source>Count:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="90"/>
+        <source>Mode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorsymbologywidgetbase.ui" line="100"/>
+        <source>Field:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSPlugin</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfsplugin.cpp" line="63"/>
+        <source>&amp;Add WFS layer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelect</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source>Are you sure you want to remove the </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="217"/>
+        <source> connection and all associated settings?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselect.cpp" line="218"/>
+        <source>Confirm Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWFSSourceSelectBase</name>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="13"/>
+        <source>Note: this plugin not considered stable yet. Use it on your own risk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="29"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="34"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="39"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="47"/>
+        <source>Coordinate Reference System</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="85"/>
+        <source>Change ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="95"/>
+        <source>Server Connections</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="107"/>
+        <source>&amp;New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="117"/>
+        <source>Delete</source>
+        <translation type="unfinished">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="127"/>
+        <source>Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/wfs/qgswfssourceselectbase.ui" line="153"/>
+        <source>C&amp;onnect</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>QgsWmsProvider</name>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
+        <source>Tried URL: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="731"/>
+        <source>HTTP Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <source>WMS Service Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <source>DOM Exception</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="874"/>
+        <source>Could not get WMS capabilities: %1 at line %2 column %3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="908"/>
+        <source>This is probably due to an incorrect WMS Server URL.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="904"/>
+        <source>Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1713"/>
+        <source>Could not get WMS Service Exception at %1: %2 at line %3 column %4</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1769"/>
+        <source>Request contains a Format not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1773"/>
+        <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1777"/>
+        <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1782"/>
+        <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1786"/>
+        <source>Request is for a Layer in a Style not offered by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
+        <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1794"/>
+        <source>GetFeatureInfo request contains invalid X or Y value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1799"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1804"/>
+        <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1809"/>
+        <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1813"/>
+        <source>Request contains an invalid sample dimension value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1817"/>
+        <source>Request is for an optional operation that is not supported by the server.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1821"/>
+        <source>(Unknown error code from a post-1.3 WMS server)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1824"/>
+        <source>The WMS vendor also reported: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1827"/>
+        <source>This is probably due to a bug in the QGIS program.  Please report this error.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <source>Server Properties:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
+        <source>Property</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2160"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2043"/>
+        <source>WMS Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2289"/>
+        <source>Title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
+        <source>Abstract</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
+        <source>Keywords</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2075"/>
+        <source>Online Resource</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2083"/>
+        <source>Contact Person</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <source>Fees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2103"/>
+        <source>Access Constraints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
+        <source>Image Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2119"/>
+        <source>Identify Formats</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2127"/>
+        <source>Layer Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2147"/>
+        <source>Layer Properties: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
+        <source>Selected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>Yes</source>
+        <translation type="unfinished">是</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <source>No</source>
+        <translation type="unfinished">否</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2174"/>
+        <source>Visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2180"/>
+        <source>Visible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2181"/>
+        <source>Hidden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2182"/>
+        <source>n/a</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2203"/>
+        <source>Can Identify</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2211"/>
+        <source>Can be Transparent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2219"/>
+        <source>Can Zoom In</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <source>Cascade Count</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <source>Fixed Width</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2243"/>
+        <source>Fixed Height</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2251"/>
+        <source>WGS 84 Bounding Box</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2261"/>
+        <source>Available in CRS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2272"/>
+        <source>Available in style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2281"/>
+        <source>Name</source>
+        <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2384"/>
+        <source>Layer cannot be queried.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>[pluginname]Gui</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="13"/>
+        <source>QGIS Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="47"/>
+        <source>Plugin Template</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugingui.ui" line="57"/>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;DejaVu Sans Condensed&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Welcome to your automatically generated plugin!&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Documentation:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;You really need to read the QGIS API Documentation now at:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;http://svn.qgis.org/api_doc/html/&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;In particular look at the following classes:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QGisInterface&lt;/span&gt;      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapCanvas &lt;/span&gt; : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsMapTool&lt;/span&gt;         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;QgsPlugin&lt;/span&gt;              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;What are all the files in my generated plugin directory for?&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;CMakeLists.txt&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].h&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].cpp  &lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the class that provides the &apos;glue&apos; between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.ui&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#000000;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;This is a Qt designer &apos;ui&apos; file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; color:#000000;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.cpp  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename]gui.h &lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].qrc  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (&quot;:/[pluginname]/&quot;). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;[pluginlcasename].png  &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;span style=&quot; font-weight:400; color:#000000;&quot;&gt;This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600; color:#dc143c;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#dc143c;&quot;&gt;README&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;This file contains the documentation you are reading now!&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Getting developer help:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * the QGIS developers mailing list, or&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt; * IRC (#qgis on freenode.net)&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;Have fun and thank you for choosing QGIS.&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;The QGIS Team&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-weight:600;&quot;&gt;2007&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pluginname</name>
+    <message>
+        <location filename="../src/plugins/plugin_template/plugin.cpp" line="82"/>
+        <source>Replace this with a short description of the what the plugin does</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>

Added: packages/qgis/branches/upstream/current/images/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4492 2006-01-07 02:25:11Z timlinux $
-
-SUBDIRS = north_arrows splash icons developers themes svg

Added: packages/qgis/branches/upstream/current/images/developers/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/developers/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/developers/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/developers/Brendan_Morley.jpg
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/images/developers/Magnus_Homann.jpg
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/images/developers/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/developers/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/developers/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 2526 2004-12-20 07:13:35Z gsherman $
-
-imagedir = ${pkgdatadir}/images/developers/
-
-image_DATA = *.jpg
-
-EXTRA_DIST = $(image_DATA)

Deleted: packages/qgis/branches/upstream/current/images/developers/Peter_Ersts.jpg
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/images/icons/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/icons/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/icons/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/icons/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/icons/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/icons/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1436 2004-05-20 10:38:22Z timlinux $
-
-imagedir = ${pkgdatadir}/images/icons
-
-image_DATA = *.png
-
-EXTRA_DIST = $(image_DATA)

Added: packages/qgis/branches/upstream/current/images/north_arrows/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/north_arrows/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/north_arrows/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/north_arrows/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/north_arrows/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/north_arrows/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1352 2004-05-09 12:39:46Z timlinux $
-
-imagedir = ${pkgdatadir}/images/north_arrows
-
-image_DATA = *.png
-
-EXTRA_DIST = $(image_DATA)

Added: packages/qgis/branches/upstream/current/images/splash/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/splash/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/splash/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/splash/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/splash/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/splash/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1435 2004-05-20 07:27:36Z timlinux $
-
-imagedir = ${pkgdatadir}/images/splash
-
-image_DATA = *.png
-
-EXTRA_DIST = $(image_DATA)

Modified: packages/qgis/branches/upstream/current/images/splash/splash.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/images/splash/splash.xcf
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/images/svg/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4728 2006-01-24 02:41:54Z timlinux $
-
-SUBDIRS = icon symbol geometric biology north_arrows gpsicons sport

Added: packages/qgis/branches/upstream/current/images/svg/biology/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/biology/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/biology/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/biology/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/biology/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/biology/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1249 2004-04-23 14:17:01Z jobi $
-
-svgdir = ${pkgdatadir}/svg/biology
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/svg/geometric/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/geometric/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/geometric/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/geometric/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/geometric/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/geometric/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1249 2004-04-23 14:17:01Z jobi $
-
-svgdir = ${pkgdatadir}/svg/geometric
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/svg/gpsicons/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/gpsicons/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/gpsicons/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/gpsicons/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/gpsicons/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/gpsicons/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 2011 2004-09-14 07:08:46Z larsl $
-
-svgdir = ${pkgdatadir}/svg/gpsicons
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/svg/icon/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/icon/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/icon/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/icon/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/icon/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/icon/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1249 2004-04-23 14:17:01Z jobi $
-
-svgdir = ${pkgdatadir}/svg/icon
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/svg/north_arrows/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/north_arrows/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/north_arrows/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/north_arrows/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/north_arrows/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/north_arrows/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1319 2004-05-05 16:48:33Z timlinux $
-
-svgdir = ${pkgdatadir}/svg/north_arrows
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Deleted: packages/qgis/branches/upstream/current/images/svg/sport/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/sport/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/sport/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1249 2004-04-23 14:17:01Z jobi $
-
-svgdir = ${pkgdatadir}/svg/sport
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/svg/symbol/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/symbol/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/svg/symbol/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/svg/symbol/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/svg/symbol/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/svg/symbol/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 1249 2004-04-23 14:17:01Z jobi $
-
-svgdir = ${pkgdatadir}/svg/symbol
-
-svg_DATA = *.svg
-
-EXTRA_DIST = $(svg_DATA)

Added: packages/qgis/branches/upstream/current/images/themes/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/themes/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/themes/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/themes/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4167 2005-11-06 22:24:10Z timlinux $
-
-SUBDIRS =  default nkids

Added: packages/qgis/branches/upstream/current/images/themes/default/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/default/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/themes/default/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/themes/default/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/default/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/themes/default/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-imagedir = ${pkgdatadir}/themes/default
-
-image_DATA = *.png *.xpm
-
-EXTRA_DIST = $(image_DATA)

Added: packages/qgis/branches/upstream/current/images/themes/default/mActionAddIsland.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/images/themes/default/mActionAddIsland.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/images/themes/default/mActionAddRing.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/images/themes/default/mActionAddRing.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: packages/qgis/branches/upstream/current/images/themes/default/mActionStartEditing.png
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/images/themes/default/mActionStopEditing.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/images/themes/default/mActionToggleEditing.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/images/themes/default/mActionToggleEditing.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: packages/qgis/branches/upstream/current/images/themes/default/mIconOverview.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/images/themes/nkids/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/nkids/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/images/themes/nkids/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/images/themes/nkids/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/images/themes/nkids/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/images/themes/nkids/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2005 Gary Sherman <gsherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4167 2005-11-06 22:24:10Z timlinux $
-
-imagedir = ${pkgdatadir}/themes/nkids
-
-image_DATA = *.png
-
-EXTRA_DIST = $(image_DATA)

Deleted: packages/qgis/branches/upstream/current/install-sh
===================================================================
--- packages/qgis/branches/upstream/current/install-sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/install-sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,294 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-#
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd=$cpprog
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd=$stripprog
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "$0: no input file specified" >&2
-	exit 1
-else
-	:
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-
-	if [ -d "$dst" ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=$mkdirprog
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f "$src" ] || [ -d "$src" ]
-	then
-		:
-	else
-		echo "$0: $src does not exist" >&2
-		exit 1
-	fi
-
-	if [ x"$dst" = x ]
-	then
-		echo "$0: no destination specified" >&2
-		exit 1
-	else
-		:
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d "$dst" ]
-	then
-		dst=$dst/`basename "$src"`
-	else
-		:
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-	'
-IFS="${IFS-$defaultIFS}"
-
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-	pathcomp=$pathcomp$1
-	shift
-
-	if [ ! -d "$pathcomp" ] ;
-        then
-		$mkdirprog "$pathcomp"
-	else
-		:
-	fi
-
-	pathcomp=$pathcomp/
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd "$dst" &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		dstfile=`basename "$dst" $transformbasename |
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ]
-	then
-		dstfile=`basename "$dst"`
-	else
-		:
-	fi
-
-# Make a couple of temp file names in the proper directory.
-
-	dsttmp=$dstdir/_inst.$$_
-	rmtmp=$dstdir/_rm.$$_
-
-# Trap to clean up temp files at exit.
-
-	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
-	trap '(exit $?); exit' 1 2 13 15
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd "$src" "$dsttmp" &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
-
-# Now remove or move aside any old file at destination location.  We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons.  In this case, the final cleanup
-# might fail but the new file should still install successfully.
-
-{
-	if [ -f "$dstdir/$dstfile" ]
-	then
-		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
-		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
-		{
-		  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-		  (exit 1); exit
-		}
-	else
-		:
-	fi
-} &&
-
-# Now rename the file to the real destination.
-
-	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-
-{
-	(exit 0); exit
-}

Deleted: packages/qgis/branches/upstream/current/missing
===================================================================
--- packages/qgis/branches/upstream/current/missing	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/missing	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,336 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-case "$1" in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing 0.4 - GNU automake"
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-  aclocal*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case "$f" in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
-
-  autom4te)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1Help2man' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
-    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f y.tab.h ]; then
-	echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-	case "$LASTARG" in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if [ -f "$SRCFILE" ]; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-    fi
-    if [ -f "$file" ]; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit 1
-    fi
-    ;;
-
-  makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
-    echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
-    touch $file
-    ;;
-
-  tar)
-    shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case "$firstarg" in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case "$firstarg" in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0

Deleted: packages/qgis/branches/upstream/current/mkinstalldirs
===================================================================
--- packages/qgis/branches/upstream/current/mkinstalldirs	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/mkinstalldirs	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,111 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
-  case $1 in
-    -h | --help | --h*)         # -h for help
-      echo "$usage" 1>&2
-      exit 0
-      ;;
-    -m)                         # -m PERM arg
-      shift
-      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
-      dirmode=$1
-      shift
-      ;;
-    --)                         # stop option processing
-      shift
-      break
-      ;;
-    -*)                         # unknown option
-      echo "$usage" 1>&2
-      exit 1
-      ;;
-    *)                          # first non-opt arg
-      break
-      ;;
-  esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-  0) exit 0 ;;
-esac
-
-case $dirmode in
-  '')
-    if mkdir -p -- . 2>/dev/null; then
-      echo "mkdir -p -- $*"
-      exec mkdir -p -- "$@"
-    fi
-    ;;
-  *)
-    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-      echo "mkdir -m $dirmode -p -- $*"
-      exec mkdir -m "$dirmode" -p -- "$@"
-    fi
-    ;;
-esac
-
-for file
-do
-  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-  shift
-
-  pathcomp=
-  for d
-  do
-    pathcomp="$pathcomp$d"
-    case $pathcomp in
-      -*) pathcomp=./$pathcomp ;;
-    esac
-
-    if test ! -d "$pathcomp"; then
-      echo "mkdir $pathcomp"
-
-      mkdir "$pathcomp" || lasterr=$?
-
-      if test ! -d "$pathcomp"; then
-  	errstatus=$lasterr
-      else
-  	if test ! -z "$dirmode"; then
-	  echo "chmod $dirmode $pathcomp"
-    	  lasterr=""
-  	  chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-  	  if test ! -z "$lasterr"; then
-  	    errstatus=$lasterr
-  	  fi
-  	fi
-      fi
-    fi
-
-    pathcomp="$pathcomp/"
-  done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# End:
-# mkinstalldirs ends here

Added: packages/qgis/branches/upstream/current/python/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/python/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,86 @@
+
+IF (WIN32)
+  SET(BINDINGS_CORE_LIB ${CMAKE_CURRENT_BINARY_DIR}/core/core.pyd)
+  SET(BINDINGS_GUI_LIB  ${CMAKE_CURRENT_BINARY_DIR}/gui/gui.pyd)
+  SET(QGIS_CORE_LIB     ${CMAKE_BINARY_DIR}/src/core/libqgis_core.dll)
+  SET(QGIS_GUI_LIB      ${CMAKE_BINARY_DIR}/src/gui/libqgis_gui.dll)
+ELSE (WIN32)
+  SET(BINDINGS_CORE_LIB ${CMAKE_CURRENT_BINARY_DIR}/core/core.so)
+  SET(BINDINGS_GUI_LIB  ${CMAKE_CURRENT_BINARY_DIR}/gui/gui.so)
+  IF (APPLE)
+    SET(QGIS_CORE_LIB   ${CMAKE_BINARY_DIR}/src/core/libqgis_core.dylib)
+    SET(QGIS_GUI_LIB    ${CMAKE_BINARY_DIR}/src/gui/libqgis_gui.dylib)
+  ELSE (APPLE)
+    SET(QGIS_CORE_LIB   ${CMAKE_BINARY_DIR}/src/core/libqgis_core.so)
+    SET(QGIS_GUI_LIB    ${CMAKE_BINARY_DIR}/src/gui/libqgis_gui.so)
+  ENDIF (APPLE)
+ENDIF (WIN32)
+
+SET (BINDINGS_LIBS ${BINDINGS_CORE_LIB} ${BINDINGS_GUI_LIB})
+
+SET (BINDINGS_CORE_MAKEFILE ${CMAKE_CURRENT_BINARY_DIR}/core/Makefile)
+SET (BINDINGS_GUI_MAKEFILE  ${CMAKE_CURRENT_BINARY_DIR}/gui/Makefile)
+
+
+# 'python' target will force to build bindings libs for core and gui
+ADD_CUSTOM_TARGET (python ALL DEPENDS ${BINDINGS_CORE_LIB} ${BINDINGS_GUI_LIB})
+
+# don't run python before the libs are built
+ADD_DEPENDENCIES (python qgis_core qgis_gui)
+
+FILE(GLOB CORE_SIP_FILES "${CMAKE_CURRENT_SOURCE_DIR}/core/*.sip")
+FILE(GLOB GUI_SIP_FILES  "${CMAKE_CURRENT_SOURCE_DIR}/gui/*.sip")
+
+# Step 1: during configuration
+# create file configure.py from configure.py.in
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/configure.py.in
+               ${CMAKE_CURRENT_BINARY_DIR}/configure.py)
+
+# Step 2: during make
+# run python configure.py
+# it will run SIP utility to generate sources and will prepare makefiles
+# should be run everytime core or gui library has been changed
+ADD_CUSTOM_COMMAND(OUTPUT ${BINDINGS_CORE_MAKEFILE} ${BINDINGS_GUI_MAKEFILE} PRE_BUILD
+                   COMMAND ${PYTHON_EXECUTABLE}
+                   ARGS ${CMAKE_CURRENT_BINARY_DIR}/configure.py
+		   DEPENDS ${QGIS_CORE_LIB} ${QGIS_GUI_LIB}
+		           ${CMAKE_CURRENT_BINARY_DIR}/configure.py
+			   ${CORE_SIP_FILES} ${GUI_SIP_FILES})
+
+# Step 3: run make in core and gui subdirs
+ADD_CUSTOM_COMMAND(OUTPUT ${BINDINGS_CORE_LIB} PRE_LINK
+                   COMMAND ${CMAKE_MAKE_PROGRAM}
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/core
+                   DEPENDS ${BINDINGS_CORE_MAKEFILE})
+ADD_CUSTOM_COMMAND(OUTPUT ${BINDINGS_GUI_LIB} PRE_LINK
+                   COMMAND ${CMAKE_MAKE_PROGRAM}
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gui
+                   DEPENDS ${BINDINGS_GUI_MAKEFILE})
+
+IF (BINDINGS_GLOBAL_INSTALL)
+
+# python's site-packages dir: bindings will be installed here
+IF (UNIX)
+  SET (CMD "
+import sys
+v = sys.version_info
+print sys.exec_prefix + '/lib/python' + str(v[0]) + '.' + str(v[1]) + '/site-packages'
+")
+ELSE (UNIX)
+  SET (CMD "
+import sys
+print sys.exec_prefix + '/lib/site-packages'
+")
+ENDIF (UNIX)
+
+EXEC_PROGRAM(${PYTHON_EXECUTABLE} ARGS -c "\"${CMD}\"" OUTPUT_VARIABLE SITE_PKG_PATH)
+
+ELSE (BINDINGS_GLOBAL_INSTALL)
+
+  SET (SITE_PKG_PATH ${QGIS_DATA_DIR}/python)
+  
+ENDIF (BINDINGS_GLOBAL_INSTALL)
+
+
+# Step 4: install built libs to python's site packages
+INSTALL(FILES __init__.py ${CMAKE_CURRENT_BINARY_DIR}/qgisconfig.py ${BINDINGS_LIBS} DESTINATION ${SITE_PKG_PATH}/qgis)

Added: packages/qgis/branches/upstream/current/python/__init__.py
===================================================================
--- packages/qgis/branches/upstream/current/python/__init__.py	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/__init__.py	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,4 @@
+# Copyright 2006 Quantum GIS Development team
+#
+# This file is a part of python bindings for Quantum GIS
+

Added: packages/qgis/branches/upstream/current/python/configure.py.in
===================================================================
--- packages/qgis/branches/upstream/current/python/configure.py.in	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/configure.py.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,153 @@
+
+import os, os.path
+import copy, glob, sys
+import sipconfig
+import PyQt4.pyqtconfig
+
+src_path = '@CMAKE_SOURCE_DIR@'
+build_path = '@CMAKE_BINARY_DIR@'
+python_path = src_path + '/python'
+gdal_inc_dir = '@GDAL_INCLUDE_DIR@'
+geos_inc_dir = '@GEOS_INCLUDE_DIR@'
+
+qt_libs = ["QtCore","QtGui","QtNetwork","QtSvg","QtXml"]
+if sys.platform == 'darwin':
+  qt_libs.append("Qt3Support")
+  qt_libs.append("QtSql")
+
+# create paths for temporary files if don't exist
+if not os.path.isdir("./core"):
+  os.mkdir("./core")
+if not os.path.isdir("./gui"):
+    os.mkdir("./gui")
+
+##########################################################################
+# SIP -> *.CPP + *.H
+
+# The name of the SIP build file generated by SIP and used by the build
+# system.
+build_file_core = src_path + "/python/core/core.sbf"
+build_file_gui = src_path + "/python/gui/gui.sbf"
+
+# Get the SIP configuration information.
+config = PyQt4.pyqtconfig.Configuration()
+
+# Get the extra SIP flags needed by the imported qt module.  Note that
+# this normally only includes those flags (-x and -t) that relate to SIP's
+# versioning system.
+qt_sip_flags = config.pyqt_sip_flags
+
+# directory where modules will be installed
+mod_dir = os.path.join(config.default_mod_dir, "qgis")
+
+# directory where sip files will be installed
+sip_dir_core = os.path.join(config.default_sip_dir, "qgis/core")
+sip_dir_gui = os.path.join(config.default_sip_dir, "qgis/gui")
+  
+# Run SIP to generate the code.
+print "Parsing SIP files for 'core' library..."
+os.system(" ".join([config.sip_bin, "-c", "core", "-b", build_file_core, "-I", config.pyqt_sip_dir, qt_sip_flags, python_path + "/core/core.sip"]))
+print "Parsing SIP files for 'gui' library..."
+os.system(" ".join([config.sip_bin, "-c", "gui", "-b", build_file_gui, "-I", python_path, "-I", config.pyqt_sip_dir, qt_sip_flags, python_path + "/gui/gui.sip"]))
+
+
+##########################################################################
+# MAKEFILES
+
+print "Creating makefiles..."
+
+# We are going to install the SIP specification file for this module and
+# its configuration module.
+installs = []
+
+# directories relative to core (gui) directories
+installs.append([[python_path + "__init__.py", python_path + "qgisconfig.py"], mod_dir])
+
+
+installs_core = copy.copy(installs)
+installs_gui = copy.copy(installs)
+
+# install all sip files
+sips_core = glob.glob(python_path + "/core/*.sip")
+for sip in sips_core:
+  installs_core.append([os.path.basename(sip), sip_dir_core])
+
+sips_gui = glob.glob(python_path + "/gui/*.sip")
+for sip in sips_gui:
+  installs_gui.append([os.path.basename(sip), sip_dir_gui])
+
+
+# Create the Makefile.  The QtModuleMakefile class provided by the
+# pyqtconfig module takes care of all the extra preprocessor, compiler and
+# linker flags needed by the Qt library.
+makefile_core = sipconfig.ModuleMakefile(
+        configuration=config,
+        qt=qt_libs,
+        build_file=build_file_core,
+        installs=installs_core,
+        install_dir=mod_dir,
+        dir="core")
+
+makefile_gui = sipconfig.ModuleMakefile(
+        configuration=config,
+        qt=qt_libs,
+        build_file=build_file_gui,
+        installs=installs_gui,
+        install_dir=mod_dir,
+        dir="gui")
+
+# common settings for both core and gui libs
+for mk in [ makefile_core, makefile_gui ]:
+  mk.extra_libs = ["qgis_core"]
+  mk.extra_lib_dirs = [build_path+"/src/core"]
+  mk.extra_include_dirs = [src_path+"/src/core",
+                           src_path+"/src/core/raster",
+                           src_path+"/src/core/renderer",
+                           src_path+"/src/core/spatialindex",
+                           src_path+"/src/core/symbology",
+                           build_path, # qgsconfig.h, qgssvnversion.h
+                           gdal_inc_dir,
+                           geos_inc_dir]
+  mk.extra_cxxflags = ["-DCORE_EXPORT="]
+
+# more settings for gui lib
+makefile_gui.extra_libs.append("qgis_gui")
+makefile_gui.extra_lib_dirs.append(build_path+"/src/gui")
+makefile_gui.extra_include_dirs.append(src_path+"/src/gui")
+makefile_gui.extra_include_dirs.append(build_path+"/src/gui")
+makefile_gui.extra_include_dirs.append(build_path+"/src/ui")
+makefile_gui.extra_include_dirs.append(src_path+"/src/plugins") # because of qgisplugin.h TODO: sort out
+makefile_gui.extra_cxxflags.append("-DGUI_EXPORT=")
+
+# Generate the Makefile itself.
+makefile_core.generate()
+makefile_gui.generate()
+
+##########################################################################
+# QGIS CONFIG
+
+print "Creating qgisconfig.py..."
+
+# Now we create the configuration module.  This is done by merging a Python
+# dictionary (whose values are normally determined dynamically) with a
+# (static) template.
+content = {
+    # Publish where the SIP specifications for this module will be
+    # installed.
+    "qgis_sip_dir":    config.default_sip_dir,
+
+    "qgis_mod_dir":    mod_dir,
+
+    # Publish the set of SIP flags needed by this module.  As these are the
+    # same flags needed by the qt module we could leave it out, but this
+    # allows us to change the flags at a later date without breaking
+    # scripts that import the configuration module.
+    "qgis_sip_flags":  qt_sip_flags
+}
+
+# This creates the qgisconfig.py module from the qgisconfig.py.in
+# template and the dictionary.
+sipconfig.create_config_module(build_path+"/python/qgisconfig.py", src_path+"/python/qgisconfig.py.in", content)
+
+print "Done"
+

Added: packages/qgis/branches/upstream/current/python/core/core.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/core.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/core.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,54 @@
+
+%Module qgis.core 0
+
+%Import QtCore/QtCoremod.sip
+%Import QtGui/QtGuimod.sip
+%Import QtXml/QtXmlmod.sip
+
+// TODO: more files to wrap
+
+%Include qgis.sip
+%Include qgsapplication.sip
+%Include qgscolortable.sip
+%Include qgscontexthelp.sip
+%Include qgscontinuouscolorrenderer.sip
+%Include qgscoordinatetransform.sip
+%Include qgsdataprovider.sip
+%Include qgsdatasourceuri.sip
+%Include qgsdistancearea.sip
+%Include qgsfeature.sip
+%Include qgsfield.sip
+%Include qgsgeometry.sip
+%Include qgsgeometryvertexindex.sip
+%Include qgsgraduatedsymbolrenderer.sip
+%Include qgslabel.sip
+%Include qgslabelattributes.sip
+%Include qgslogger.sip
+%Include qgsmaplayer.sip
+%Include qgsmaplayerregistry.sip
+%Include qgsmaprender.sip
+%Include qgsmaptopixel.sip
+%Include qgsmarkercatalogue.sip
+%Include qgsmessageoutput.sip
+%Include qgspoint.sip
+%Include qgsproject.sip
+%Include qgsprovidermetadata.sip
+%Include qgsproviderregistry.sip
+%Include qgsrasterbandstats.sip
+%Include qgsrasterdataprovider.sip
+%Include qgsrasterlayer.sip
+%Include qgsrasterpyramid.sip
+%Include qgsrasterviewport.sip
+%Include qgsrect.sip
+%Include qgsrenderer.sip
+%Include qgsscalecalculator.sip
+%Include qgssinglesymbolrenderer.sip
+%Include qgsspatialindex.sip
+%Include qgsspatialrefsys.sip
+%Include qgssymbol.sip
+%Include qgssymbologyutils.sip
+%Include qgsuniquevaluerenderer.sip
+%Include qgsvectordataprovider.sip
+%Include qgsvectorfilewriter.sip
+%Include qgsvectorlayer.sip
+

Added: packages/qgis/branches/upstream/current/python/core/qgis.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgis.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgis.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,110 @@
+/*!  \mainpage Quantum GIS
+*
+*  \section about  About QGIS
+* Quantum GIS (QGIS) is a user friendly Open Source Geographic Information
+* System (GIS) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports
+* vector, raster, and database formats. QGIS is licensed under the GNU Public
+* License.
+*
+* This API documentation provides information about all classes that make up QGIS.
+*/
+
+%ModuleHeaderCode
+#include <qgis.h>
+%End
+
+%ModuleCode
+  int QgisEvent = QEvent::User + 1;
+%End
+
+
+class QGis
+{
+%TypeHeaderCode
+#include <qgis.h>
+%End
+  
+public:
+  // Version constants
+  //
+  // Version string 
+  static const char* qgisVersion;
+  // Version number used for comparing versions using the "Check QGIS Version" function
+  static const int qgisVersionInt;
+  // Release name
+  static const char* qgisReleaseName;
+  // The subversion version
+  static const char* qgisSvnVersion;
+
+  // Enumerations
+  //
+
+  //! Used for symbology operations
+  // Feature types
+  enum WKBTYPE
+  {
+    WKBPoint = 1,
+    WKBLineString,
+    WKBPolygon,
+    WKBMultiPoint,
+    WKBMultiLineString,
+    WKBMultiPolygon,
+    WKBUnknown
+  };
+  enum VectorType
+  {
+    Point,
+    Line,
+    Polygon,
+    Unknown
+  };
+  
+  // TODO:
+  //static const char *qgisVectorGeometryType[];
+  //! description strings for feature types
+  //static const char *qgisFeatureTypes[];
+
+  //! map units that qgis supports
+  enum units
+  {
+    METERS,
+    FEET,
+    DEGREES,
+    UNKNOWN
+  };
+
+  //! User defined event types
+  enum UserEvent
+  {
+    // These first two are useful for threads to alert their parent data providers
+
+    //! The extents have been calculated by a provider of a layer
+    ProviderExtentCalcEvent = QgisEvent,
+
+    //! The row count has been calculated by a provider of a layer
+    ProviderCountCalcEvent
+  };
+  
+  static const int DEFAULT_IDENTIFY_RADIUS;
+};
+
+
+  /** WKT string that represents a geographic coord sys */
+  const  QString GEOWKT;
+  
+  /** PROJ4 string that represents a geographic coord sys */
+  const QString GEOPROJ4;
+  /** Magic number for a geographic coord sys in POSTGIS SRID */
+  const long GEOSRID;
+  /** Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id */
+  const long GEOSRS_ID;
+  /**  Magic number for a geographic coord sys in EPSG ID format */
+  const long EPSGID;
+  /** The length of teh string "+proj=" */
+  const int PROJ_PREFIX_LEN;
+  /** The length of teh string "+ellps=" */
+  const int ELLPS_PREFIX_LEN;
+  /** Magick number that determins whether a projection srsid is a system (srs.db)
+   *  or user (~/.qgis.qgis.db) defined projection. */
+  const int USER_PROJECTION_START_ID;
+

Added: packages/qgis/branches/upstream/current/python/core/qgsapplication.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsapplication.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsapplication.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,162 @@
+
+class QgsApplication : QApplication
+{
+%TypeHeaderCode
+#include <qgsapplication.h>
+%End
+
+%TypeCode
+// Convert a Python argv list to a conventional C argc count and argv array.
+static char **qtgui_ArgvToC(PyObject *argvlist, int &argc)
+{
+    char **argv;
+
+    argc = PyList_GET_SIZE(argvlist);
+
+    // Allocate space for two copies of the argument pointers, plus the
+    // terminating NULL.
+    if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL)
+        return NULL;
+
+    // Convert the list.
+    for (int a = 0; a < argc; ++a)
+    {
+        char *arg;
+
+        // Get the argument and allocate memory for it.
+        if ((arg = PyString_AsString(PyList_GET_ITEM(argvlist, a))) == NULL ||
+            (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL)
+            return NULL;
+
+        // Copy the argument and save a pointer to it.
+        strcpy(argv[a], arg);
+        argv[a + argc + 1] = argv[a];
+    }
+
+    argv[argc + argc + 1] = argv[argc] = NULL;
+
+    return argv;
+}
+
+
+// Remove arguments from the Python argv list that have been removed from the
+// C argv array.
+static void qtgui_UpdatePyArgv(PyObject *argvlist, int argc, char **argv)
+{
+    for (int a = 0, na = 0; a < argc; ++a)
+    {
+        // See if it was removed.
+        if (argv[na] == argv[a + argc + 1])
+            ++na;
+        else
+            PyList_SetSlice(argvlist, na, na + 1, NULL);
+    }
+}
+%End
+
+
+
+  public:
+    //QgsApplication(int argc, char ** argv, bool GUIenabled);
+    QgsApplication(SIP_PYLIST argv, bool GUIenabled) /PostHook=__pyQtQAppHook__/ [(int &argc, char **argv, bool GUIenabled)];
+%MethodCode
+        // The Python interface is a list of argument strings that is modified.
+        
+        int argc;
+        char **argv;
+        
+        // Convert the list.
+        if ((argv = qtgui_ArgvToC(a0, argc)) == NULL)
+            sipIsErr = 1;
+        else
+        {
+            // Create it now the arguments are right.
+            static int nargc = argc;
+        
+            sipCpp = new sipQgsApplication(nargc, argv, a1);
+        
+            // Now modify the original list.
+            qtgui_UpdatePyArgv(a0, argc, argv);
+        }
+%End
+
+    virtual ~QgsApplication();
+
+    //! Set the theme path to the specified theme.
+    static void selectTheme(const QString& theThemeName);
+
+    //! Returns the path to the authors file.
+    static const QString authorsFilePath();
+
+    //! Returns the path to the developer image directory.
+    static const QString developerPath();
+
+    //! Returns the path to the help application.
+    static const QString helpAppPath();
+
+    //! Returns the path to the mapserver export application.
+    static const QString msexportAppPath();
+
+    //! Returns the path to the translation directory.
+    static const QString i18nPath();
+
+    //! Returns the path to the master qgis.db file.
+    static const QString qgisMasterDbFilePath();
+
+    //! Returns the path to the settings directory in user's home dir
+    static const QString qgisSettingsDirPath();
+    
+    //! Returns the path to the user qgis.db file.
+    static const QString qgisUserDbFilePath();
+
+    //! Returns the path to the splash screen image directory.
+    static const QString splashPath();
+
+    //! Returns the path to the icons image directory.
+    static const QString iconsPath();
+
+    //! Returns the path to the srs.db file.
+    static const QString srsDbFilePath();
+
+    //! Returns the path to the svg directory.
+    static const QString svgPath();
+
+    //! Returns the path to the application prefix directory.
+    static const QString& prefixPath();
+
+    //! Returns the path to the application plugin directory.
+    static const QString& pluginPath();
+
+    //! Returns the common root path of all application data directories.
+    static const QString& pkgDataPath();
+
+    //! Returns the path to the current theme directory.
+    static const QString& themePath();
+    
+    //! Alters prefix path - used by 3rd party apps
+    static void setPrefixPath(const QString& thePrefixPath, bool useDefaultPaths = FALSE);
+    
+    //! Alters plugin path - used by 3rd party apps
+    static void setPluginPath(const QString& thePluginPath);
+
+    //! Alters pkg data path - used by 3rd party apps
+    static void setPkgDataPath(const QString& thePkgDataPath);
+    
+    //! loads providers
+    static void initQgis();
+
+    //! deletes provider registry and map layer registry
+    static void exitQgis();
+    
+    /** constants for endian-ness */
+    enum endian_t
+    {
+      XDR = 0,  // network, or big-endian, byte order
+      NDR = 1   // little-endian byte order
+    };
+    
+    //! Returns whether this machine uses big or little endian
+    static endian_t endian();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgscolortable.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgscolortable.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgscolortable.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,68 @@
+
+class QgsColorTable
+{
+%TypeHeaderCode
+#include <qgscolortable.h>
+%End
+
+public:
+    /** 
+     *  \brief Constructor.
+     *  \param interp color table interpretation
+     */
+    QgsColorTable ( int interp = Rgb ); 
+
+    /** \brief The destuctor.  */
+    ~QgsColorTable();
+
+    /** \brief Color table interpretation. */
+    // This is taken from GDAL, GPI_RGB is mapped to Rgba 
+    enum Interp {
+	Gray = 0, // Use c1 as grayscale value.
+	Rgb,      // Use c1 as red, c2 as green, c3 as blue
+	Rgba,     // Use c1 as red, c2 as green, c3 as blue and c4 as alpha.
+	Cmyk,     // Use c1 as cyan, c2 as magenta, c3 as yellow and c4 as black.
+	Hls       // c1 hue, c2 lightness, c3 saturation; should be His ? 
+    };
+
+    /** 
+     *  \brief Color table is defined 
+     *  \return true if at least one rule is defined 
+     *  \false no rule defined
+     */
+    bool defined ( );
+
+    /** \brief Get color table interpretation */
+    int interpretation ( );
+
+    /** \brief Add a discrete color */
+    void add ( unsigned int index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 = 0 );
+
+    /** \brief Add a ramp rule */ 
+    void add ( double min,  double max,
+	       unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
+               unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4);
+    
+    /** \brief Get color 
+     *  \return true color was found
+     *  \return false color was no found
+     */
+    bool color ( double value, int *c1, int *c2, int *c3 );
+    
+    /** \brief Sort ramp rules */
+    void sort ( ); 
+
+    /** \brief Print to stderr - for debuging */
+    void print ( );
+
+    /** \brief Minimum value */
+    double rmin();
+   
+    /** \brief Maximum value */
+    double rmax();
+
+    /** \brief Clear the color table */
+    void clear();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgscontexthelp.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgscontexthelp.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgscontexthelp.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,32 @@
+/*!
+ * \class QgsContextHelp
+ * \brief Provides a context based help browser for a dialog.
+ *
+ * The help text is stored in SQLite and accessed by a context identifier
+ * unique to each dialog. This is a singleton class which invokes the help
+ * viewer using QProcess and ensures that only one viewer is open.
+ * The viewer will be terminated if open when the main application quits.
+ *
+ * If the compile-time flag QGSCONTEXTHELP_REUSE is defined, the help viewer
+ * will be reused if it is still open. If this flag is not set, the viewer
+ * process will be terminated if open and restarted; this makes it the top
+ * window for window managers such as Linux/GNOME which will make a window
+ * active but not bring it to the top if raised programatically.
+ */
+class QgsContextHelp : QObject
+{
+%TypeHeaderCode
+#include <qgscontexthelp.h>
+%End
+
+public:
+  static void run(int contextId);
+
+private:
+  //! Constructor
+  QgsContextHelp(int contextId);
+  //! Destructor
+  ~QgsContextHelp();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgscontinuouscolorrenderer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgscontinuouscolorrenderer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgscontinuouscolorrenderer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,48 @@
+
+/**Renderer class which interpolates rgb values linear between the minimum and maximum value of the classification field*/
+class QgsContinuousColorRenderer : QgsRenderer
+{
+%TypeHeaderCode
+#include <qgscontinuouscolorrenderer.h>
+%End
+
+ public:
+    QgsContinuousColorRenderer(QGis::VectorType type);
+    QgsContinuousColorRenderer(const QgsContinuousColorRenderer& other);
+    virtual ~QgsContinuousColorRenderer();
+    /**Renders the feature using the minimum and maximum value of the classification field*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected,  double widthScale = 1);
+    /**Returns the number of the classification field*/
+    int classificationField() const;
+    /**Sets the id of the classification field*/
+    void setClassificationField(int id);
+    /**Sets the symbol for the minimum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
+    void setMinimumSymbol(QgsSymbol* sy);
+    /**Sets the symbol for the maximum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
+    void setMaximumSymbol(QgsSymbol* sy);
+    /** Sets whether to draw the polygon outline*/
+    void setDrawPolygonOutline(bool draw);
+    /**Returns the symbol for the minimum value*/
+    const QgsSymbol* minimumSymbol() const;
+    /**Returns the symbol for the maximum value*/
+    const QgsSymbol* maximumSymbol() const;
+    /** whether to draw a polygon outline*/
+    bool drawPolygonOutline() const;
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true*/
+    bool needsAttributes() const;
+    /**Returns a list with the index of the classification attribute*/
+    QList<int> classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Return symbology items*/
+    const QList<QgsSymbol*> symbols() const;
+    QgsRenderer* clone() const;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgscoordinatetransform.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgscoordinatetransform.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgscoordinatetransform.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,190 @@
+
+/*! \class QgsCoordinateTransform
+* \brief Class for doing transforms between two map coordinate systems.
+*
+* This class can convert map coordinates to a different spatial reference system.
+* It is normally associated with a map layer and is used to transform between the
+* layer's coordinate system and the coordinate system of the map canvas, although
+* it can be used in a more general sense to transform coordinates.
+*
+* All references to source and destination coordinate systems refer to 
+* layer and map canvas respectively. All operations are from the perspective 
+* of the layer. For example, a forward transformation transforms coordinates from the
+* layers coordinate system to the map canvas.
+*/
+class QgsCoordinateTransform : QObject
+{
+%TypeHeaderCode
+#include <qgscoordinatetransform.h>
+%End
+  
+ public:
+    /*! Default constructor. Make sure you use initialised() manually if you use this one! */
+    QgsCoordinateTransform() ;
+
+    /** Constructs a QgsCoordinateTransform using QgsSpatialRefSys objects.
+    * @param theSource SRS, typically of the layer's coordinate system
+    * @param theDest SRS, typically of the map canvas coordinate system
+    */
+    QgsCoordinateTransform(const QgsSpatialRefSys& theSource, 
+                          const QgsSpatialRefSys& theDest);
+  
+    /** Constructs a QgsCoordinateTransform using SRS ID of source and destination SRS */
+    QgsCoordinateTransform(long theSourceSrsId, long theDestSrsId);
+
+    /*!
+     * Constructs a QgsCoordinateTransform using the Well Known Text representation
+     * of the layer and map canvas coordinate systems
+     * @param theSourceWKT WKT, typically of the layer's coordinate system
+     * @param theDestWKT WKT, typically of the map canvas coordinate system
+     */
+    QgsCoordinateTransform(QString theSourceWKT, QString theDestWKT  );
+
+    /*!
+     * Constructs a QgsCoordinateTransform using a Spatial Reference Id
+     * of the layer and map canvas coordinate system as Wkt
+     * @param theSourceSrid Spatial Ref Id of the layer's coordinate system
+     * @param theSourceWKT WKT of the map canvas coordinate system
+     * @param theSourceSRSType On of the enum members defined in QgsSpatialRefSys::SRS_TYPE
+     */
+    QgsCoordinateTransform(long theSourceSrid,  
+                           QString theDestWKT,
+                           QgsSpatialRefSys::SRS_TYPE theSourceSRSType = QgsSpatialRefSys::POSTGIS_SRID  );
+
+     //! destructor
+    ~QgsCoordinateTransform();
+
+    //! Enum used to indicate the direction (forward or inverse) of the transform
+    enum TransformDirection{
+      FORWARD,     /*!< Transform from source to destination SRS. */
+      INVERSE      /*!< Transform from destination to source SRS. */
+    };
+    
+    /*! 
+     * Set the source (layer) QgsSpatialRefSys
+     * @param theSRS QgsSpatialRefSys representation of the layer's coordinate system
+     */
+    void setSourceSRS(const QgsSpatialRefSys& theSRS);
+
+    /*! 
+     * Mutator for dest QgsSpatialRefSys 
+     * @param theSRS of the destination coordinate system
+     */
+    void setDestSRS(const QgsSpatialRefSys& theSRS);
+
+    /*!
+     * Get the QgsSpatialRefSys representation of the layer's coordinate system
+     * @return QgsSpatialRefSys of the layer's coordinate system
+     */
+    QgsSpatialRefSys& sourceSRS();
+
+    /*! 
+     * Get the QgsSpatialRefSys representation of the map canvas coordinate system
+     * @return QgsSpatialRefSys of the map canvas coordinate system
+     */
+    QgsSpatialRefSys& destSRS();
+
+    /*! Transform the point from Source Coordinate System to Destination Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param p Point to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsPoint in Destination Coordinate System
+     */    
+   QgsPoint transform(const QgsPoint p,TransformDirection direction=FORWARD);
+
+    /*! Transform the point specified by x,y from Source Coordinate System to Destination Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param x x cordinate of point to transform
+    * @param y y coordinate of point to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsPoint in Destination Coordinate System
+     */
+   QgsPoint transform(const double x, const double y,TransformDirection direction=FORWARD);
+
+    /*! Transform a QgsRect to the dest Coordinate system 
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * It assumes that rect is a bounding box, and creates a bounding box
+    * in the proejcted CS, so that all points in source rectangle is within
+    * returned rectangle.
+    * @param QgsRect rect to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   QgsRect transformBoundingBox(const QgsRect theRect,TransformDirection direction=FORWARD);
+
+   // Same as for the other transform() functions, but alters the x
+   // and y variables in place. The second one works with good old-fashioned
+   // C style arrays.
+   void transformInPlace(double& x, double& y, double &z, TransformDirection direction = FORWARD);
+
+   // TODO: argument not supported
+   //void transformInPlace(std::vector<double>& x, std::vector<double>& y, std::vector<double>& z, 
+   //    TransformDirection direction = FORWARD);
+
+    /*! Transform a QgsRect to the dest Coordinate system 
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param QgsRect rect to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   QgsRect transform(const QgsRect theRect,TransformDirection direction=FORWARD);
+    
+    /*! Transform an array of coordinates to a different Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param x x cordinate of point to transform
+    * @param y y coordinate of point to transform     
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   void transformCoords( const int &numPoint, double *x, double *y, double *z,TransformDirection direction=FORWARD);
+
+  /*! 
+   * Flag to indicate whether the coordinate systems have been initialised
+   * @return true if initialised, otherwise false
+   */
+   bool isInitialised();
+
+   /*! See if the transform short circuits because src and dest are equivalent
+    * @return bool True if it short circuits
+    */
+    bool isShortCircuited();
+
+    /*! Change the destination coordinate system by passing it a qgis srsid
+    * A QGIS srsid is a unique key value to an entry on the tbl_srs in the
+    * srs.db sqlite database.
+    * @note This slot will usually be called if the
+    * project properties change and a different coordinate system is 
+    * selected. 
+    * @note This coord transform will be reinitialised when this slot is called
+    * to check if short circuiting is needed or not etc.
+    * @param theSRSID -  A long representing the srsid of the srs to be used */
+    void setDestSRSID (long theSRSID);
+
+  public slots:
+    //!initialise is used to actually create the Transformer instance
+    void initialise();
+
+    /*! Restores state from the given DOM node.
+    * @param theNode The node from which state will be restored
+    * @return bool True on success, False on failure
+    */
+    bool readXML( QDomNode & theNode );
+
+    /*! Stores state to the given DOM node in the given document
+    * @param theNode The node in which state will be restored
+    * @param theDom The document in which state will be stored
+    * @return bool True on success, False on failure
+    */
+    bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
+
+ signals:
+    /** Signal when an invalid pj_transform() has occured */
+    void  invalidTransformInput();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsdataprovider.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsdataprovider.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsdataprovider.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,185 @@
+
+
+class QgsDataProvider : QObject 
+{
+%TypeHeaderCode
+#include <qgsdataprovider.h>
+%End
+  
+  public: 
+
+      QgsDataProvider( const QString & uri = "" );
+
+      /**
+       * We need this so the subclass destructors get called
+      */
+      virtual ~QgsDataProvider();
+
+      /*! Get the QgsSpatialRefSys for this layer
+       * @note Must be reimplemented by each provider. 
+       * If the provider isn't capable of returning
+       * its projection an empty srs will be return, ti will return 0
+      */
+      virtual QgsSpatialRefSys getSRS() = 0;
+
+      
+      /** 
+       * Set the data source specification. This may be a path or database
+       * connection string
+       * @param data source specification
+      */
+      virtual void setDataSourceUri(const QString & uri);
+
+      /** 
+       * Get the data source specification. This may be a path or database
+       * connection string
+       * @return data source specification
+      */
+      virtual QString dataSourceUri() const;
+
+      
+      /**
+       * Get the extent of the layer
+       * @return QgsRect containing the extent of the layer
+      */
+      virtual QgsRect extent() = 0;
+
+      
+      /**
+       * Returns true if this is a valid layer. It is up to individual providers
+       * to determine what constitutes a valid layer
+      */
+      virtual bool isValid() = 0;
+
+      
+      /**
+       * Update the extents of the layer. Not implemented by default
+      */
+      virtual void updateExtents();
+
+
+      /**
+       * Set the subset string used to create a subset of features in
+       * the layer. This may be a sql where clause or any other string
+       * that can be used by the data provider to create a subset.
+       * Must be implemented in the dataprovider.
+      */
+      virtual void setSubsetString(QString subset);
+
+
+      /**
+       * Returns the subset definition string (typically sql) currently in
+       * use by the layer and used by the provider to limit the feature set.
+       * Must be overridden in the dataprovider, otherwise returns a null
+       * QString.
+      */
+      virtual QString subsetString();
+
+
+      /**
+       * Sub-layers handled by this provider, in order from bottom to top
+       *
+       * Sub-layers are used when the provider's source can combine layers
+       * it knows about in some way before it hands them off to the provider.
+      */
+      virtual QStringList subLayers() const;
+
+
+      /**
+       * Sub-layer styles for each sub-layer handled by this provider,
+       * in order from bottom to top
+       *
+       * Sub-layer styles are used to abstract the way the provider's source can symbolise
+       * layers in some way at the server, before it serves them to the provider.
+      */
+      virtual QStringList subLayerStyles() const;
+
+
+      /** 
+       * return the number of layers for the current data source
+      */
+      virtual uint subLayerCount() const;
+
+
+      /**
+       * Reorder the list of layer names to be rendered by this provider
+       * (in order from bottom to top)
+       * \note   layers must have been previously added.
+      */
+      virtual void setLayerOrder(QStringList layers);
+
+
+      /**
+       * Set the visibility of the given sublayer name
+      */
+      virtual void setSubLayerVisibility(QString name, bool vis);
+
+
+      /** return a provider name
+
+      Essentially just returns the provider key.  Should be used to build file
+      dialogs so that providers can be shown with their supported types. Thus
+      if more than one provider supports a given format, the user is able to
+      select a specific provider to open that file.
+
+      @note
+
+      Instead of being pure virtual, might be better to generalize this
+      behavior and presume that none of the sub-classes are going to do
+      anything strange with regards to their name or description?
+
+      */
+      virtual QString name() const = 0;
+
+
+    /** return description
+
+      Return a terse string describing what the provider is.
+
+      @note
+
+      Instead of being pure virtual, might be better to generalize this
+      behavior and presume that none of the sub-classes are going to do
+      anything strange with regards to their name or description?
+
+    */
+    virtual QString description() const = 0;
+
+
+    /** return vector file filter string
+
+      Returns a string suitable for a QFileDialog of vector file formats
+      supported by the data provider.  Naturally this will be an empty string
+      for those data providers that do not deal with plain files, such as
+      databases and servers.
+
+      @note
+
+      It'd be nice to eventually be raster/vector neutral.
+    */
+    virtual QString fileVectorFilters() const;
+
+
+    /** return raster file filter string
+
+      Returns a string suitable for a QFileDialog of raster file formats
+      supported by the data provider.  Naturally this will be an empty string
+      for those data providers that do not deal with plain files, such as
+      databases and servers.
+
+      @note
+
+      It'd be nice to eventually be raster/vector neutral.
+    */
+    virtual QString fileRasterFilters() const;
+
+  signals:
+
+      /** 
+       *   This is emitted whenever the worker thread has fully calculated the
+       *   PostGIS extents for this layer, and its event has been received by this
+       *   provider.
+      */  
+      void fullExtentCalculated();
+
+};

Added: packages/qgis/branches/upstream/current/python/core/qgsdatasourceuri.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsdatasourceuri.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsdatasourceuri.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,62 @@
+/** 
+\struct QgsDataSourceURI 
+\brief Structure for storing the component parts of a PostgreSQL/RDBMS datasource URI.
+           
+ This structure stores the database connection information, including host, database,
+  user name, password, schema, password, and sql where clause
+ */
+class QgsDataSourceURI
+{
+%TypeHeaderCode
+#include <qgsdatasourceuri.h>
+%End
+
+public:
+
+  //! default constructor
+  QgsDataSourceURI();
+   
+  //! constructor which parses input URI
+  QgsDataSourceURI(QString uri);
+   
+  //! All in a single string
+  QString text() const;
+  
+  //! Set all connection related members at once
+  void setConnection(const QString& aHost,
+                     const QString& aPort,
+                     const QString& aDatabase,
+                     const QString& aUsername,
+                     const QString& aPassword);
+  
+  //! Set all data source related members at once
+  void setDataSource(const QString& aSchema,
+                     const QString& aTable,
+                     const QString& aGeometryColumn,
+                     const QString& aSql = QString());
+  
+  /* data */
+
+  //! host name
+  QString host;
+  //! database name
+  QString database;
+  //! port the database server listens on
+  QString port;
+  //! schema
+  QString schema;
+  //! spatial table
+  QString table;
+  //! geometry column
+  QString geometryColumn;
+  //! SQL where clause used to limit features returned from the layer
+  QString sql;
+  //! username 
+  QString username;
+  //! password
+  QString password;
+
+  //! whole connection info (host, db, port, name, pass)
+  QString connInfo;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsdistancearea.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsdistancearea.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsdistancearea.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,60 @@
+
+class QgsDistanceArea
+{
+%TypeHeaderCode
+#include <qgsdistancearea.h>
+%End
+
+  public:
+
+    //! Constructor
+    QgsDistanceArea();
+    
+    //! Destructor
+    ~QgsDistanceArea();
+    
+    //! sets whether coordinates must be projected to ellipsoid before measuring
+    void setProjectionsEnabled(bool flag);
+
+    //! returns projections enabled flag
+    bool projectionsEnabled();
+    
+    //! sets source spatial reference system (by QGIS SRS)
+    void setSourceSRS(long srsid);
+    
+    //! returns source spatial reference system
+    long sourceSRS();
+    //! What sort of coordinate system is being used?
+    bool geographic();
+
+    //! sets ellipsoid by its acronym
+    bool setEllipsoid(const QString& ellipsoid);
+    
+    //! returns ellipsoid's acronym
+    const QString& ellipsoid();
+    
+    //! returns ellipsoid's semi major axis
+    double ellipsoidSemiMajor();
+    //! returns ellipsoid's semi minor axis
+    double ellipsoidSemiMinor();
+    //! returns ellipsoid's inverse flattening
+    double ellipsoidInvFlattening();
+    
+    //! general measurement (line distance or polygon area)
+    double measure(QgsGeometry* geometry);
+    
+    //! measures line with more segments
+    double measureLine(const QList<QgsPoint>& points);
+    
+    //! measures line with one segment
+    double measureLine(const QgsPoint& p1, const QgsPoint& p2);
+    
+    //! measures polygon area
+    double measurePolygon(const QList<QgsPoint>& points);
+    
+    //! compute bearing - in radians
+    double getBearing(const QgsPoint& p1, const QgsPoint& p2);
+
+    static QString textUnit(double value, int decimals, QGis::units u, bool isArea);    
+
+};

Added: packages/qgis/branches/upstream/current/python/core/qgsfeature.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsfeature.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsfeature.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,128 @@
+
+
+class QgsFeature
+{
+%TypeHeaderCode
+#include <qgsfeature.h>
+%End
+    
+  public:
+
+    typedef unsigned int size_t;
+    
+    //! Constructor
+    QgsFeature(int id = 0, QString typeName = "" );
+
+    /** create a copy of this feature in its uncommitted state.
+        To do this, you also pass in a reference to the feature's
+        layer's uncommitted attribute and geometry changes.
+        The resulting feature will have those changes applied.
+        
+        This is useful in the cut/copy routine, where you'd
+        want a copy of the "current" feature, not the on-disk feature.
+     */
+     QgsFeature( const QgsFeature & rhs,
+                 const QMap<int, QMap<int, QVariant> >& changedAttributes,
+                 const QMap<int, QgsGeometry> & changedGeometries );
+
+    /** copy ctor needed due to internal pointer */
+    QgsFeature(const QgsFeature & rhs );
+
+    //! Destructor
+    ~QgsFeature();
+
+    
+    /**
+     * Get the feature id for this feature
+     * @return Feature id
+     */
+    int featureId() const;
+
+    /**
+     * Set the feature id for this feature
+     * @param id Feature id
+     */
+     void setFeatureId(int id);
+
+
+    /** returns the feature's type name
+     */
+    QString typeName() const;
+
+
+    /** sets the feature's type name
+     */
+    void setTypeName(QString typeName);
+
+    /**
+     * Get the attributes for this feature.
+     * @return A std::map containing the field name/value mapping
+     */
+    const QMap<int, QVariant> & attributeMap() const;
+
+    /** 
+     * Add an attribute to the map
+     */
+    void addAttribute(int field, QVariant attr);
+
+    /**Deletes an attribute and its value*/
+    void deleteAttribute(int field);
+
+    /**Changes an existing attribute value
+        @param field index of the field
+        @param attr attribute name and value to be set */
+    void changeAttribute(int field, QVariant attr);
+
+    /**
+     * Return the validity of this feature. This is normally set by
+     * the provider to indicate some problem that makes the feature
+     * invalid or to indicate a null feature.
+     */
+    bool isValid() const;
+
+    /** 
+     * Set the validity of the feature.
+     */
+    void setValid(bool validity);
+    
+    /**
+     * Return the dirty state of this feature.
+     * Dirty is set if (e.g.) the feature's geometry has been modified in-memory.
+     */
+    bool isDirty() const;
+
+    /** 
+     * Reset the dirtiness of the feature.  (i.e. make clean)
+     * You would normally do this after it's saved to permanent storage (e.g. disk, an ACID-compliant database)
+     */
+    void resetDirty();
+    
+    /**
+     * Get the geometry object associated with this feature
+     */
+    QgsGeometry * geometry();
+    
+    /**
+     * Get the geometry object associated with this feature
+     * The caller assumes responsibility for the QgsGeometry*'s destruction.
+     */
+    QgsGeometry * geometryAndOwnership() /Factory/;
+    
+    /** Set this feature's geometry from another QgsGeometry object (deep copy)
+     */
+    void setGeometry(QgsGeometry& geom);
+    
+    /** Set this feature's geometry (takes geometry ownership)
+     */
+    void setGeometry(QgsGeometry* geom);
+    
+    /** 
+     * Set this feature's geometry from WKB
+     *
+     * This feature assumes responsibility for destroying geom.
+     */
+    void setGeometryAndOwnership(unsigned char * geom /Transfer/, size_t length);
+    
+    
+}; // class QgsFeature
+

Added: packages/qgis/branches/upstream/current/python/core/qgsfield.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsfield.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsfield.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,111 @@
+
+/**
+  \class QgsField
+  \brief Class to encapsulate a field in an attribute table or data source.
+
+  QgsField stores metadata about an attribute field, including name, type
+  length, and if applicable, precision.
+ */
+
+class QgsField
+{
+
+%TypeHeaderCode
+#include <qgsfield.h>
+%End
+
+public:
+    /** Constructor. Constructs a new QgsField object.
+     * @param nam Field name
+     * @param type Field variant type, currently supported: String / Int / Double
+     * @param typeName Field type (eg. char, varchar, text, int, serial, double). 
+     Field types are usually unique to the source and are stored exactly
+     as returned from the data store.
+     * @param len Field length
+     * @param prec Field precision. Usually decimal places but may also be
+     * used in conjunction with other fields types (eg. variable character fields)
+     * @param comment Comment for the field
+     */
+  
+  QgsField(QString name = QString(),
+           QVariant::Type type = QVariant::Invalid,
+           QString typeName = QString(),
+           int len = 0,
+           int prec = 0,
+           QString comment = QString());
+
+  //! Destructor
+   ~QgsField();
+
+   bool operator==(const QgsField& other) const;
+
+  //! Gets the name of the field
+  const QString & name() const;
+
+  //! Gets variant type of the field as it will be retreived from data source
+  QVariant::Type type() const;
+
+    /** 
+      Gets the field type. Field types vary depending on the data source. Examples
+      are char, int, double, blob, geometry, etc. The type is stored exactly as
+      the data store reports it, with no attenpt to standardize the value.
+      @return QString containing the field type
+     */
+  const QString & typeName() const;
+
+
+    /**
+      Gets the length of the field.
+      @return int containing the length of the field
+     */
+  int length() const;
+
+
+    /**
+      Gets the precision of the field. Not all field types have a related precision.
+      @return int containing the precision or zero if not applicable to the field type.
+     */
+  int precision() const;
+
+    /** 
+    Returns the field comment
+    */
+  const QString & comment() const;
+
+    /**
+      Set the field name.
+      @param nam Name of the field
+     */
+  void setName(const QString & nam);
+  
+    /**
+      Set variant type.
+     */
+  void setType(QVariant::Type type);
+
+    /**
+      Set the field type.
+      @param typ Field type
+     */
+  void setTypeName(const QString & typ);
+
+    /**
+      Set the field length.
+      @param len Length of the field
+     */
+  void setLength(int len);
+
+    /**
+      Set the field precision.
+      @param prec Precision of the field
+     */
+  void setPrecision(int prec);
+
+
+    /**
+      Set the field comment
+      */
+  void setComment(const QString & comment);
+
+}; // class QgsField
+

Added: packages/qgis/branches/upstream/current/python/core/qgsgeometry.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsgeometry.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsgeometry.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,379 @@
+
+/** polyline is just a list of points */
+typedef QVector<QgsPoint> QgsPolyline;
+
+/** polygon: first item of the list is outer ring, inner rings (if any) start from second item */
+typedef QVector< QVector<QgsPoint> > QgsPolygon;
+    
+/** a collection of QgsPoints that share a common collection of attributes */
+typedef QVector<QgsPoint> QgsMultiPoint;
+
+/** a collection of QgsPolylines that share a common collection of attributes */
+typedef QVector< QVector<QgsPoint> > QgsMultiPolyline;
+
+/** a collection of QgsPolygons that share a common collection of attributes */
+typedef QVector< QVector< QVector<QgsPoint> > > QgsMultiPolygon;
+
+    
+template <TYPE>
+%MappedType QVector< QVector<TYPE> >
+{
+%TypeHeaderCode
+#include <QVector>
+%End
+
+%ConvertFromTypeCode
+  // Create the list.
+  PyObject *l;
+
+  if ((l = PyList_New(sipCpp->size())) == NULL)
+    return NULL;
+      
+  const sipMappedType* qvector_qgspoint = sipFindMappedType("QVector<QgsPoint>");
+      
+  // Set the list elements.
+  for (int i = 0; i < sipCpp->size(); ++i)
+  {
+    QVector<TYPE>* t = new QVector<TYPE>(sipCpp->at(i));
+    PyObject *tobj;
+
+    if ((tobj = sipConvertFromMappedType(t, qvector_qgspoint, sipTransferObj)) == NULL)
+    {
+      Py_DECREF(l);
+      delete t;
+      return NULL;
+    }
+    PyList_SET_ITEM(l, i, tobj);
+  }
+ 
+  return l;
+%End
+
+%ConvertToTypeCode
+  const sipMappedType* qvector_qgspoint = sipFindMappedType("QVector<QgsPoint>");
+  
+  // Check the type if that is all that is required.
+  if (sipIsErr == NULL)
+  {
+    if (!PyList_Check(sipPy))
+      return 0;
+
+    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+      if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_qgspoint, SIP_NOT_NONE))
+        return 0;
+
+    return 1;
+  }
+
+  
+  QVector< QVector<TYPE> > *ql = new QVector< QVector<TYPE> >;
+
+  for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+  {
+    int state;
+    //TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+    QVector<TYPE> * t = reinterpret_cast< QVector<TYPE> * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_qgspoint, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+
+    if (*sipIsErr)
+    {
+      sipReleaseInstance(t, sipClass_TYPE, state);
+      delete ql;
+      return 0;
+    }
+    ql->append(*t);
+    sipReleaseInstance(t, sipClass_TYPE, state);
+  }
+
+  *sipCppPtr = ql;
+  return sipGetState(sipTransferObj);
+%End
+
+};
+
+
+template <TYPE>
+%MappedType QVector< QVector< QVector<TYPE> > >
+{
+%TypeHeaderCode
+#include <QVector>
+%End
+
+%ConvertFromTypeCode
+  // Create the list.
+  PyObject *l;
+
+  if ((l = PyList_New(sipCpp->size())) == NULL)
+    return NULL;
+      
+  const sipMappedType* qvector_qgspoint = sipFindMappedType("QVector<QVector<QgsPoint> >");
+      
+  // Set the list elements.
+  for (int i = 0; i < sipCpp->size(); ++i)
+  {
+    QVector<QVector<TYPE> >* t = new QVector<QVector<TYPE> >(sipCpp->at(i));
+    PyObject *tobj;
+
+    if ((tobj = sipConvertFromMappedType(t, qvector_qgspoint, sipTransferObj)) == NULL)
+    {
+      Py_DECREF(l);
+      delete t;
+      return NULL;
+    }
+    PyList_SET_ITEM(l, i, tobj);
+  }
+  return l;
+%End
+
+%ConvertToTypeCode
+  
+  const sipMappedType* qvector_qgspoint = sipFindMappedType("QVector<QVector<QgsPoint> >");
+  
+  // Check the type if that is all that is required.
+  if (sipIsErr == NULL)
+  {
+    if (!PyList_Check(sipPy))
+      return 0;
+
+    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+      if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_qgspoint, SIP_NOT_NONE))
+        return 0;
+
+    return 1;
+  }
+
+  
+  QVector< QVector< QVector<TYPE> > > *ql = new QVector< QVector< QVector<TYPE> > >;
+
+  for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+  {
+    int state;
+    //TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+    QVector<QVector<TYPE> > * t = reinterpret_cast< QVector< QVector<TYPE> > * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_qgspoint, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+
+    if (*sipIsErr)
+    {
+      sipReleaseInstance(t, sipClass_TYPE, state);
+      delete ql;
+      return 0;
+    }
+    ql->append(*t);
+    sipReleaseInstance(t, sipClass_TYPE, state);
+  }
+
+  *sipCppPtr = ql;
+  return sipGetState(sipTransferObj);
+%End
+
+};
+
+
+
+class QgsGeometry
+{
+%TypeHeaderCode
+#include <qgsgeometry.h>
+%End
+
+  public:
+
+    //! Constructor
+    QgsGeometry();
+    
+    /** copy constructor will prompt a deep copy of the object */
+    QgsGeometry( const QgsGeometry & );
+    
+
+    //! Destructor
+    ~QgsGeometry();
+
+
+    /** static method that creates geometry from WKT */
+    static QgsGeometry* fromWkt(QString wkt) /Factory/;
+    
+    /** construct geometry from a point */
+    static QgsGeometry* fromPoint(const QgsPoint& point) /Factory/;
+    /** construct geometry from a polyline */
+    static QgsGeometry* fromPolyline(const QgsPolyline& polyline) /Factory/;
+    /** construct geometry from a polygon */
+    static QgsGeometry* fromPolygon(const QgsPolygon& polygon) /Factory/;
+    /** construct geometry from a rectangle */
+    static QgsGeometry* fromRect(const QgsRect& rect) /Factory/;
+        
+    typedef unsigned int size_t;
+
+    
+    /** 
+       Set the geometry, feeding in the buffer containing OGC Well-Known Binary and the buffer's length.
+       This class will take ownership of the buffer.
+    */
+    // SIP: buffer will be transferred from python to C++
+    // TODO: create pythonic interface that will receive wkb as a string
+    void setWkbAndOwnership(unsigned char * wkb /Transfer, Array/, size_t length /ArraySize/);
+    
+    /** 
+       Returns the buffer containing this geometry in WKB format.
+       You may wish to use in conjunction with wkbSize().
+    */
+    unsigned char * wkbBuffer();
+    
+    /** 
+       Returns the size of the WKB in wkbBuffer().
+    */
+    size_t wkbSize();
+    
+    /** Returns type of wkb (point / linestring / polygon etc.) */
+    QGis::WKBTYPE wkbType();
+
+    /** Returns type of the vector */
+    QGis::VectorType vectorType();
+
+    /** Returns true if wkb of the geometry is of WKBMulti* type */
+    bool isMultipart();
+
+    /**
+       Set the geometry, feeding in a geometry in GEOS format.
+    */
+    // TODO: unsupported class... would be possible to use PyGEOS?
+    //void setGeos(geos::Geometry* geos);
+
+    double distance(QgsGeometry& geom);
+
+    /**
+       Returns the vertex closest to the given point 
+       (and also vertex index, squared distance and indexes of the vertices before/after)
+    */
+    QgsPoint closestVertex(const QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex, double& sqrDist);
+
+
+    /**
+       Returns the indexes of the vertices before and after the given vertex index.
+
+       This function takes into account the following factors:
+
+       1. If the given vertex index is at the end of a linestring,
+          the adjacent index will be -1 (for "no adjacent vertex")
+       2. If the given vertex index is at the end of a linear ring
+          (such as in a polygon), the adjacent index will take into
+          account the first vertex is equal to the last vertex (and will
+          skip equal vertex positions).
+    */
+    void adjacentVerticies(const QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex);
+
+
+    /** Insert a new vertex before the given vertex index,
+     *  ring and item (first number is index 0)
+     *  If the requested vertex number (beforeVertex.back()) is greater
+     *  than the last actual vertex on the requested ring and item,
+     *  it is assumed that the vertex is to be appended instead of inserted.
+     *  Returns FALSE if atVertex does not correspond to a valid vertex
+     *  on this geometry (including if this geometry is a Point).
+     *  It is up to the caller to distinguish between
+     *  these error conditions.  (Or maybe we add another method to this
+     *  object to help make the distinction?)
+     */
+    bool insertVertexBefore(double x, double y, QgsGeometryVertexIndex beforeVertex);
+
+    /** Moves the vertex at the given position number,
+     *  ring and item (first number is index 0)
+     *  to the given coordinates.
+     *  Returns FALSE if atVertex does not correspond to a valid vertex
+     *  on this geometry 
+     */
+    bool moveVertexAt(double x, double y, QgsGeometryVertexIndex atVertex);
+
+    /** Deletes the vertex at the given position number,
+     *  ring and item (first number is index 0)
+     *  Returns FALSE if atVertex does not correspond to a valid vertex
+     *  on this geometry (including if this geometry is a Point),
+     *  or if the number of remaining verticies in the linestring
+     *  would be less than two.
+     *  It is up to the caller to distinguish between
+     *  these error conditions.  (Or maybe we add another method to this
+     *  object to help make the distinction?)
+     */
+    bool deleteVertexAt(QgsGeometryVertexIndex atVertex);
+
+    /**
+        Returns the squared cartesian distance between the given point
+        to the given vertex index (vertex at the given position number,
+        ring and item (first number is index 0))
+
+     */
+    double sqrDistToVertexAt(QgsPoint& point,
+                             QgsGeometryVertexIndex& atVertex /Out/);
+
+    /**
+     *  Returns coordinates of a vertex.
+     *  @param atVertex index of the vertex
+     *  @return Coordinates of the vertex or QgsPoint(0,0) on error
+     */
+    QgsPoint vertexAt(const QgsGeometryVertexIndex& atVertex);
+
+    /**
+     * Searches for the the closest vertex in this geometry to the given point.
+     * @param point Specifiest the point for search
+     * @param atVertex Receives index of the closest vertex
+     * @return The squared cartesian distance is also returned in sqrDist, negative number on error
+     */
+    double closestVertexWithContext(const QgsPoint& point,
+                                    QgsGeometryVertexIndex& atVertex /Out/);
+
+    /**
+     * Searches for the closest segment of geometry to the given point
+     * @param point Specifies the point for search
+     * @param minDistPoint Receives the nearest point on the segment
+     * @param beforeVertex Receives index of the vertex before the closest segment
+     * @return The squared cartesian distance is also returned in sqrDist, negative number on error
+     */
+    double closestSegmentWithContext(const QgsPoint& point,
+                                     QgsPoint& minDistPoint /Out/,
+                                     QgsGeometryVertexIndex& beforeVertex /Out/);
+
+    /**Returns the bounding box of this feature*/
+    QgsRect boundingBox();
+
+    /** Test for intersection with a rectangle (uses GEOS) */
+    bool intersects(const QgsRect& r);
+    /** Test for intersection with a geoemetry (uses GEOS) */
+    bool intersects(QgsGeometry* geometry);
+
+    /** Test for containment of a point (uses GEOS) */
+    bool contains(QgsPoint* p);
+
+    /**Creates a geos geometry from this features geometry. Note, that the returned object needs to be deleted*/
+    // TODO: unsupported class... would be possible to use PyGEOS?
+    //geos::Geometry* geosGeometry() const;
+
+    /** Exports the geometry to mWkt
+        @return true in case of success and false else
+     */
+    QString exportToWkt();
+    
+    /* Accessor functions for getting geometry data */
+    
+    /** return contents of the geometry as a point
+        if wkbType is WKBPoint, otherwise returns [0,0] */
+    QgsPoint asPoint();
+    
+    /** return contents of the geometry as a polyline
+        if wkbType is WKBLineString, otherwise an empty list */
+    QgsPolyline asPolyline();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsPolygon asPolygon();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPoint asMultiPoint();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPolyline asMultiPolyline();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPolygon asMultiPolygon();
+
+}; // class QgsGeometry
+

Added: packages/qgis/branches/upstream/current/python/core/qgsgeometryvertexindex.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsgeometryvertexindex.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsgeometryvertexindex.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,57 @@
+
+ /**
+  *  A QgsVertexIndex identifies a particular vertex in a given OGC Geometry.
+  *  The left hand int (counting from 0) refers to the vertex number in
+  *  the "innermost" line-string or linear-ring.
+  *  The next int is the n'th line-string or linear-ring in a multi-line-string
+  *  or polygon, and so on to the multi-geometry level if applicable
+  *
+  * @author Brendan Morley
+  */
+
+class QgsGeometryVertexIndex
+{
+%TypeHeaderCode
+#include <qgsgeometryvertexindex.h>
+%End
+
+  public:
+  
+    //! Constructor
+    QgsGeometryVertexIndex();
+    
+    /** copy constructor will prompt a deep copy of the object */
+    QgsGeometryVertexIndex( const QgsGeometryVertexIndex & rhs );
+    
+    //! Destructor
+    ~QgsGeometryVertexIndex();
+    
+    /** Pushes an int onto the last (rightmost) element of the index */
+    void push_back(int& i);
+    
+    /** Gets the last (rightmost) element of the index */
+    int back();
+    
+    /** Gets the i'th element of the index.
+        i=0 refers to the "innermost" line-string or linear-ring.
+     */
+    int get_at(int i) const;
+
+    /** Resets the index */
+    void clear();
+
+    /** Increments the last (rightmost) element of the index */
+    void increment_back();
+
+    /** Decrements the last (rightmost) element of the index */
+    void decrement_back();
+
+    /** assign i to the last (rightmost) element of the index */
+    void assign_back(int& i);
+
+    /** Returns this index as a string - useful for "printf debugging" */
+    QString toString();
+
+
+}; // class QgsGeometryVertexIndex
+

Added: packages/qgis/branches/upstream/current/python/core/qgsgraduatedsymbolrenderer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsgraduatedsymbolrenderer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsgraduatedsymbolrenderer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,48 @@
+/**This class contains the information for graduate symbol rendering*/
+class QgsGraduatedSymbolRenderer : QgsRenderer
+{
+%TypeHeaderCode
+#include <qgsgraduatedsymbolrenderer.h>
+%End
+
+ public:
+    QgsGraduatedSymbolRenderer(QGis::VectorType type);
+    QgsGraduatedSymbolRenderer(const QgsGraduatedSymbolRenderer& other);
+    virtual ~QgsGraduatedSymbolRenderer();
+    /**Adds a new item
+    \param sy a pointer to the QgsSymbol to be inserted. It has to be created using the new operator and is automatically destroyed when 'removeItems' is called or when this object is destroyed*/
+    void addSymbol(QgsSymbol* sy);
+    /**Returns the number of the classification field*/
+    int classificationField() const;
+    /**Removes all symbols*/
+    void removeSymbols();
+    /** Determines if a feature will be rendered or not 
+	@param f a pointer to the feature to determine if rendering will happen*/
+    bool willRenderFeature(QgsFeature *f);
+    /**Renders an OGRFeature
+     \param p a painter (usually the one from the current map canvas)
+     \param f a pointer to a feature to render
+     \param t the transform object containing the information how to transform the map coordinates to screen coordinates*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected, double widthScale = 1);
+    /**Sets the number of the classicifation field
+    \param field the number of the field to classify*/
+    void setClassificationField(int field);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true*/
+    bool needsAttributes() const;
+    /**Returns a list with the index to the classification field*/
+    QList<int> classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Returns the symbols of the items*/
+    const QList<QgsSymbol*> symbols() const;
+    /**Returns a copy of the renderer (a deep copy on the heap)*/
+    QgsRenderer* clone() const;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgslabel.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgslabel.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgslabel.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,85 @@
+
+/** Render class to display labels */
+class QgsLabel
+{
+%TypeHeaderCode
+#include <qgslabel.h>
+%End
+
+  private:
+    QgsLabel (); // pretend that constructor is private for now
+
+public:
+
+    QgsLabel ( const QMap<int, QgsField> & fields  );
+
+    ~QgsLabel();
+
+    /* Fields */
+    enum LabelField {
+  Text = 0,
+  Family,
+  Size,
+  Bold,
+  Italic,
+  Underline,
+  Color,
+  XCoordinate,
+  YCoordinate,
+  XOffset,
+  YOffset,
+  Angle,
+  Alignment,
+        BufferEnabled,
+  BufferSize,
+  BufferColor,
+  BufferBrush,
+  BorderWidth,
+  BorderColor,
+  BorderStyle,
+  LabelFieldCount
+};
+
+    /** \brief render label
+     *  \param sizeScale global scale factor for size in pixels, labels in map units are not scaled
+    */
+    void renderLabel ( QPainter* painter, QgsRect& viewExtent, 
+                       QgsCoordinateTransform* coordTransform,
+                       QgsMapToPixel *transform,
+           QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes=0, double sizeScale = 1);
+
+    /** Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+    */
+    void readXML(const QDomNode& node);
+
+    /** Writes the contents of the renderer to a configuration file */
+    // TODO: wrap void writeXML(std::ostream& xml);
+
+    //! add vector of required fields to existing list of fields
+    void addRequiredFields ( QList<int> & fields );
+
+    //! Set available fields
+    void setFields( const QMap<int, QgsField> & fields  );
+
+    //! Available vector fields
+    QMap<int, QgsField> & fields ( );
+
+    //! Pointer to default attributes
+    QgsLabelAttributes *layerAttributes ( );
+
+    //! Set label field
+    void setLabelField ( int attr, int fieldId );
+
+    //! label field
+    QString labelField ( int attr );
+
+    /** Get field value if : 1) field name is not empty
+     *                       2) field exists
+     *                       3) value is defined
+     *  otherwise returns empty string
+    */
+    QString fieldValue ( int attr, QgsFeature& feature );
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgslabelattributes.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgslabelattributes.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgslabelattributes.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,106 @@
+
+class QgsLabelAttributes
+{
+%TypeHeaderCode
+#include <qgslabelattributes.h>
+%End
+
+public:
+    /** Constructor.
+     *  @param def if true, defaults are set, if false all all attributes are unset
+     */
+    QgsLabelAttributes ( bool def = true );
+
+    ~QgsLabelAttributes();
+
+    /* Units type */
+    enum Units { 
+	MapUnits = 0,
+	PointUnits
+    };
+
+    static QString unitsName ( int units );
+    static int unitsCode ( const QString &name );
+    
+    static QString alignmentName ( int alignment );
+    static int alignmentCode ( const QString &name );
+
+    /* Text */
+    void setText ( const QString & text );
+    bool textIsSet ( ) const;
+    const QString text ( ) const;
+
+    /* Font */
+    void setFamily ( const QString & family );
+    bool familyIsSet ( ) const;
+    const QString family ( ) const;
+
+    void setBold ( bool enable );
+    bool boldIsSet ( ) const;
+    bool bold ( ) const;
+
+    void setItalic ( bool enable );
+    bool italicIsSet ( ) const;
+    bool italic ( ) const;
+
+    void setUnderline ( bool enable );
+    bool underlineIsSet ( ) const;
+    bool underline ( ) const; 
+    
+    void   setSize ( double size, int type );
+    bool   sizeIsSet ( ) const;
+    int    sizeType ( ) const;
+    double size ( ) const;
+
+    void  setColor ( const QColor &color );
+    bool  colorIsSet ( ) const;
+    const QColor & color ( ) const;
+
+    /* Offset */
+    void   setOffset ( double x, double y, int type );
+    bool   offsetIsSet ( ) const;
+    int    offsetType ( ) const;
+    double xOffset ( ) const;
+    double yOffset ( ) const;
+
+    /* Angle */
+    void   setAngle ( double angle );
+    bool   angleIsSet ( ) const;
+    double angle ( ) const;
+
+    /* Alignment */
+    void setAlignment ( int alignment );
+    bool alignmentIsSet ( ) const;
+    int  alignment ( ) const;
+
+    /* Buffer */
+    bool   bufferEnabled() const;
+    void   setBufferEnabled(bool useBufferFlag);
+    void   setBufferSize ( double size, int type );
+    bool   bufferSizeIsSet ( ) const;
+    int    bufferSizeType ( ) const;
+    double bufferSize ( ) const;
+
+    void  setBufferColor ( const QColor &color );
+    bool  bufferColorIsSet ( ) const;
+    const QColor & bufferColor ( ) const;
+
+    void  setBufferStyle ( Qt::BrushStyle style );
+    bool  bufferStyleIsSet ( ) const;
+    Qt::BrushStyle bufferStyle ( ) const;
+
+    /* Border */
+    void  setBorderColor ( const QColor &color );
+    bool  borderColorIsSet ( ) const;
+    QColor borderColor ( ) const;
+
+    void  setBorderWidth ( int width );
+    bool  borderWidthIsSet ( ) const;
+    int   borderWidth ( ) const;
+    
+    void  setBorderStyle ( Qt::PenStyle style );
+    bool  borderStyleIsSet ( ) const;
+    Qt::PenStyle   borderStyle ( ) const;
+    
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgslogger.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgslogger.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgslogger.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,54 @@
+
+/**QgsLogger is a class to print debug/warning/error messages to the console. The advantage of this class over std::cout, std::cerr & co. is that the output can be controlled with environment variables:
+
+QGIS_DEBUG is an int describing what debug messages are written to the console. If the debug level of a message is <= QGIS_DEBUG, the message is written to the console. It the variable QGIS_DEBUG is not defined, it defaults to 1 for debug mode and to 0 for release mode
+
+QGIS_DEBUG_FILE may contain a filename. Only the messages from this file are printed (provided they have the right debuglevel). If QGIS_DEBUG_FILE is not set, messages from all files are printed
+*/
+
+class QgsLogger
+{
+%TypeHeaderCode
+#include <qgslogger.h>
+%End
+
+ public:
+
+  /**Goes to qDebug. 
+  @param msg the message to be printed
+  @param debuglevel 
+  @param file filename where the message comes from
+  @param function function where the message comes from
+  @param line place in file where the message comes from*/
+  static void debug(const QString& msg, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1);
+
+  /**Similar to the previous method, but prints a variable int-value pair*/
+  static void debug(const QString& var, int val, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1);
+
+  /**Similar to the previous method, but prints a variable double-value pair*/
+  // TODO: cannot be used has the same python signature as method above
+  //static void debug(const QString& var, double val, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1);
+
+  /**Prints out a variable/value pair for types with overloaded operator<<*/
+  // TODO: is it possible to make this working?
+  //template <typename T> static void debug(const QString& var, T val, const char* file = 0, const char* function = 0,
+  //                            					  int line = -1, int debuglevel = 1);
+
+  /**Goes to qWarning*/
+  static void warning(const QString& msg); 
+  
+  /**Goes to qCritical*/
+  static void critical(const QString& msg);
+
+  /**Goes to qFatal*/
+  static void fatal(const QString& msg);
+
+ private:
+  /**Reads the environment variable QGIS_DEBUG and converts it to int. If QGIS_DEBUG is not set,\
+   the function returns 1 if QGISDEBUG is defined and 0 if not*/
+  static int debugLevel();
+
+  /**Reads the environment variable QGIS_DEBUG_FILE. Returns NULL if the variable is not set*/
+  static const char* debugFile();
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmaplayer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmaplayer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmaplayer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,242 @@
+
+/** \class QgsMapLayer
+ *  \brief Base class for all map layer types.
+ * This class is the base class for all map layer types (vector, raster).
+ */
+class QgsMapLayer // TODO: problem when derived from QObject
+{
+%TypeHeaderCode
+#include <qgsmaplayer.h>
+%End
+
+%ConvertToSubClassCode
+
+  if (sipCpp->type() == QgsMapLayer::VECTOR)
+  {
+    sipClass = sipClass_QgsVectorLayer;
+  }
+  else if (sipCpp->type() == QgsMapLayer::RASTER)
+  {
+    sipClass = sipClass_QgsRasterLayer;
+  }
+  else
+  {
+    sipClass = 0;
+  }
+
+%End
+
+public:
+
+    /** Constructor
+     * @param type Type of layer as defined in LAYERS enum
+     * @param lyrname Display Name of the layer
+     */
+    QgsMapLayer(int type = 0, QString lyrname = QString::null, QString source = QString::null);
+
+    /** Destructor */
+    virtual ~QgsMapLayer();
+
+    /** Get the type of the layer
+     * @return Integer matching a value in the LAYERS enum
+     */
+    int type() const;
+
+    /** Get this layer's unique ID, this ID is used to access this layer from map layer registry */
+    QString getLayerID() const;
+
+    /** Set the display name of the layer
+     * @param name New name for the layer
+     */
+    void setLayerName(const QString & name);
+
+    /** Get the display name of the layer
+     * @return the layer name
+     */
+    const QString & name() const;
+
+    /** Render the layer, to be overridden in child classes
+     * @param painter Painter that to be used for rendered output
+     * @param rect Extent of the layer to be drawn
+     * @param mtp Transformation class
+     * @return FALSE if an error occurred during drawing
+     */
+    virtual bool draw(QPainter* painter, QgsRect& rect, QgsMapToPixel* mtp, QgsCoordinateTransform* ct, bool);
+    
+    /** Draw labels
+     * @TODO to be removed: used only in vector layers
+     */
+    virtual void drawLabels(QPainter* painter, QgsRect& rect, QgsMapToPixel* mtp, QgsCoordinateTransform* ct);
+
+    /** Return the extent of the layer as a QRect */
+    const QgsRect extent();
+
+    /*! Return the status of the layer. An invalid layer is one which has a bad datasource
+     * or other problem. Child classes set this flag when intialized
+     * @return True if the layer is valid and can be accessed
+     */
+    bool isValid();
+
+    /*! Gets a version of the internal layer definition that has sensitive 
+      *  bits removed (for example, the password). This function should 
+      * be used when displaying the source name for general viewing. 
+     */ 
+    QString publicSource() const;
+
+    /** Returns the source for the layer */
+    const QString & source() const;
+
+    /**
+     * Returns the sublayers of this layer
+     * (Useful for providers that manage their own layers, such as WMS)
+     */
+    virtual QStringList subLayers();
+    
+    /**
+     * Reorders the *previously selected* sublayers of this layer from bottom to top
+     * (Useful for providers that manage their own layers, such as WMS)
+     */
+    virtual void setLayerOrder(QStringList layers);
+    
+    /** Set the visibility of the given sublayer name */
+    virtual void setSubLayerVisibility(QString name, bool vis);
+
+    /** Layers enum defining the types of layers that can be added to a map */
+    enum LAYERS
+    {
+        VECTOR,
+        RASTER
+    };
+
+    /** True if the layer can be edited */
+    virtual bool isEditable() const = 0;
+
+    /** sets state from DOM document
+       @param layer_node is DOM node corresponding to ``maplayer'' tag
+       @note
+
+       The DOM node corresponds to a DOM document project file XML element read
+       by QgsProject.
+
+       This, in turn, calls readXML_(), which is over-rideable by sub-classes so
+       that they can read their own specific state from the given DOM node.
+
+       Invoked by QgsProject::read().
+
+       @returns true if successful
+     */
+    bool readXML(QDomNode & layer_node);
+
+
+    /** stores state in DOM node
+       @param layer_node is DOM node corresponding to ``projectlayers'' tag
+       @note
+
+       The DOM node corresponds to a DOM document project file XML element to be
+       written by QgsProject.
+
+       This, in turn, calls writeXML_(), which is over-rideable by sub-classes so
+       that they can write their own specific state to the given DOM node.
+
+       Invoked by QgsProject::write().
+
+       @returns true if successful
+    */
+    bool writeXML(QDomNode & layer_node, QDomDocument & document);
+
+    /** Copies the symbology settings from another layer. Returns true in case of success */
+    virtual bool copySymbologySettings(const QgsMapLayer& other) = 0;
+
+    /** Returns true if this layer can be in the same symbology group with another layer */
+    virtual bool isSymbologyCompatible(const QgsMapLayer& other) const = 0;
+
+    /** Accessor for transparency level. */
+    unsigned int getTransparency();
+
+    /** Mutator for transparency level. Should be between 0 and 255 */
+    void setTransparency(unsigned int);
+    
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    virtual QString errorCaptionString();
+  
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    virtual QString errorString();
+
+    /** Returns layer's spatial reference system */
+    const QgsSpatialRefSys& srs();
+    
+    /** Sets layer's spatial reference system */
+    void setSrs(const QgsSpatialRefSys& srs);
+
+    /** A convenience function to capitalise the layer name */
+    static QString capitaliseLayerName(const QString name);
+    
+public slots:
+
+    /** Event handler for when a coordinate transform fails due to bad vertex error */
+    virtual void invalidTransformInput();
+
+    /** Accessor and mutator for the minimum scale member */
+    void setMinScale(float theMinScale);
+    float minScale();
+
+    /** Accessor and mutator for the maximum scale member */
+    void setMaxScale(float theMaxScale);
+    float maxScale();
+
+    /** Accessor and mutator for the scale based visilibility flag */
+    void setScaleBasedVisibility( bool theVisibilityFlag);
+    bool scaleBasedVisibility();
+
+signals:
+
+    /** Emit a signal to notify of a progress event */
+    void setProgress(int theProgress, int theTotalSteps);
+
+    /** Emit a signal with status (e.g. to be caught by QgiAapp and display a msg on status bar) */
+    void setStatus(QString theStatusQString);
+
+    /** Emit a signal that layer name has been changed */
+    void layerNameChanged();
+
+    /** This signal should be connected with the slot QgsMapCanvas::refresh()
+     * @TODO: to be removed - GUI dependency
+     */
+    void repaintRequested();
+
+    /** This is used to send a request that any mapcanvas using this layer update its extents */
+    void recalculateExtents();
+
+protected:
+
+    /** called by readXML(), used by children to read state specific to them from
+        project files.
+    */
+    virtual bool readXML_( QDomNode & layer_node );
+
+    /** called by writeXML(), used by children to write state specific to them to
+        project files.
+    */
+    virtual bool writeXML_( QDomNode & layer_node, QDomDocument & document );
+
+    /** debugging member - invoked when a connect() is made to this object */
+    void connectNotify( const char * signal );
+
+private:
+
+    /** private copy constructor - QgsMapLayer not copyable */
+    QgsMapLayer( const QgsMapLayer & );
+
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmaplayerregistry.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmaplayerregistry.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmaplayerregistry.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,97 @@
+
+/**
+* \class QgsMapLayerRegistry
+* \brief This class tracks map layers that are currently loaded an provides
+* a means to fetch a pointer to a map layer and delete it
+*/
+class QgsMapLayerRegistry : QObject
+{
+%TypeHeaderCode
+#include <qgsmaplayerregistry.h>
+%End
+  
+public:
+
+ //! Returns the instance pointer, creating the object on the first call
+ static QgsMapLayerRegistry * instance();
+/*! Return the number of registered layers.
+ *
+ * */
+ const int count();
+
+ ~QgsMapLayerRegistry();
+ 
+ //! Retrieve a pointer to a loaded plugin by id
+ QgsMapLayer * mapLayer(QString theLayerId);
+
+ //! Retrieve the mapLayers collection (mainly intended for use by projectio)
+ // TODO: wrap
+ //std::map<QString,QgsMapLayer*> & mapLayers();
+
+ /** Add a layer to the map of loaded layers 
+    @returns NULL if unable to add layer, otherwise pointer to newly added layer
+    @note
+
+    As a side-effect QgsProject is made dirty.
+ 
+    Emits signal that layer has been added only if theEmitSignal is true (by default).
+    Not emitting signal is useful when you want to use registry also for layers
+    which won't be used in main map canvas but will be used in a special one
+ */
+ QgsMapLayer *  addMapLayer(QgsMapLayer * theMapLayer /Transfer/, bool theEmitSignal = TRUE);
+
+ /** Remove a layer from qgis
+
+    @note
+
+    As a side-effect QgsProject is made dirty.
+
+    Any canvases using that layer will need to remove it
+ 
+    theEmitSignal - see addMapLayer()
+ */
+ void removeMapLayer(QString theLayerId, bool theEmitSignal = TRUE);
+
+ /** Remove all registered layers 
+
+    @note raises removedAll()
+
+    As a side-effect QgsProject is made dirty.
+
+ */
+ void removeAllMapLayers();
+
+signals:
+
+    /** emitted when a layer is removed from the registry
+
+       connected to main map canvas and overview map canvas remove()
+    */
+ void layerWillBeRemoved(QString theLayerId);
+
+    /** emitted when a layer is added to the registry
+
+       connected to main map canvas and overview map canvas addLayer()
+    */
+ void layerWasAdded(QgsMapLayer * theMapLayer);
+
+ /** emitted when ALL layers are removed at once
+
+    This could have been implemented by iteratively signalling
+    layerWillBeRemoved() for each layer as it is removed.  However, this
+    generally causes a cascade of effects that are unnecessary if we're
+    ultimately removing all layers.  E.g., removing the legend item
+    corresponding to the layer.  Why bother doing that when you're just going
+    to clear everything anyway?
+
+  */
+ void removedAll();
+
+protected:
+
+ //! protected constructor
+ QgsMapLayerRegistry( QObject * parent = 0, const char * name = 0 );
+
+
+}; // class QgsMapLayerRegistry
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmaprender.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmaprender.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmaprender.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,123 @@
+
+/**
+ * \class QgsMapRender
+ * \brief Class for rendering map layer set
+ *
+ */
+
+class QgsMapRender : QObject
+{
+%TypeHeaderCode
+#include <qgsmaprender.h>
+%End
+      
+  public:
+    
+    //! constructor
+    QgsMapRender();
+    
+    //! destructor
+    ~QgsMapRender();
+
+    //! starts rendering
+    void render(QPainter* painter);
+    
+    //! sets extent and checks whether suitable (returns false if not)
+    bool setExtent(const QgsRect& extent);
+    
+    //! returns current extent
+    QgsRect extent();
+    
+    QgsMapToPixel* coordXForm();
+    
+    double scale() const;
+    double mupp() const;
+
+    //! Recalculate the map scale
+    void updateScale();
+
+    QGis::units mapUnits() const;
+    void setMapUnits(QGis::units u);
+    
+    //! sets whether map image will be for overview
+    void setOverview(bool isOverview = true);
+
+    void setOutputSize(QSize size, int dpi);
+    
+    //! transform extent in layer's SRS to extent in output SRS
+    QgsRect layerExtentToOutputExtent(QgsMapLayer* theLayer, QgsRect extent);
+    
+    //! transform coordinates from layer's SRS to output SRS
+    QgsPoint layerCoordsToOutputCoords(QgsMapLayer* theLayer, QgsPoint point);
+
+    //! transform coordinates from output SRS to layer's SRS
+    QgsPoint outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsPoint point);
+
+    //! transform rect's coordinates from output SRS to layer's SRS
+    QgsRect outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsRect rect);
+    
+    //! sets whether to use projections for this layer set
+    void setProjectionsEnabled(bool enabled);
+    
+    //! returns true if projections are enabled for this layer set
+    bool projectionsEnabled();
+    
+    //! sets destination spatial reference system
+    void setDestinationSrs(const QgsSpatialRefSys& srs);
+    
+    //! returns SRS ID of destination spatial reference system
+    const QgsSpatialRefSys& destinationSrs();
+
+    //! returns current extent of layer set
+    QgsRect fullExtent();
+    
+    //! returns current layer set
+    QStringList& layerSet();
+    
+    //! change current layer set
+    void setLayerSet(const QStringList& layers);
+
+    //! updates extent of the layer set
+    void updateFullExtent();
+
+    //! read settings
+    bool readXML(QDomNode & theNode);
+
+    //! write settings
+    bool writeXML(QDomNode & theNode, QDomDocument & theDoc);
+
+  signals:
+    
+    void setProgress(int current, int total);
+    
+    void projectionsEnabled(bool flag);
+    
+    void destinationSrsChanged();
+    
+    void updateMap();
+    
+    void mapUnitsChanged();
+
+    //! emitted when layer's draw() returned FALSE
+    void drawError(QgsMapLayer*);
+
+  public slots:
+    
+    //! called by signal from layer current being drawn
+    void onDrawingProgress(int current, int total);
+
+  protected:
+    
+    //! adjust extent to fit the pixmap size
+    void adjustExtentToSize();
+    
+    /** Convenience function to project an extent into the layer source
+     * SRS, but also split it into two extents if it crosses
+     * the +/- 180 degree line. Modifies the given extent to be in the
+     * source SRS coordinates, and if it was split, returns true, and
+     * also sets the contents of the r2 parameter
+     */
+    bool splitLayersExtent(QgsMapLayer* layer, QgsRect& extent, QgsRect& r2);
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmaptopixel.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmaptopixel.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmaptopixel.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,89 @@
+
+/*! \class QgsMapToPixel
+* \brief Class for doing transforms between map coordinates and device coordinates.
+*
+* This class can convert device coordinates to map coordinates and vice versa.
+*/
+class QgsMapToPixel
+{
+%TypeHeaderCode
+#include <qgsmaptopixel.h>
+%End
+
+ public:
+ /* Constructor
+ * @param mupp Map units per pixel
+ * @param ymax Maximum y value of the map canvas
+ * @param ymin Minimum y value of the map canvas
+ * @param xmin Minimum x value of the map canvas
+ */
+    QgsMapToPixel(double mupp=0, double ymax = 0, double ymin=0,
+			   double xmin = 0);
+		 //! destructor
+    ~QgsMapToPixel();
+    /*! Transform the point from map (world) coordinates to device coordinates
+    * @param p Point to transform
+    * @return QgsPoint in device coordinates
+    */
+    QgsPoint transform(const QgsPoint& p);
+    void transform(QgsPoint* p);
+    /*! Transform the point specified by x,y from map (world) 
+     * coordinates to device coordinates
+     * @param x x cordinate o point to transform
+     * @param y y coordinate of point to transform
+     * @return QgsPoint in device coordinates
+    */
+    QgsPoint transform(double x, double y);
+       /*! Tranform device coordinates to map (world)  coordinates
+    * @param x x coordinate of point to be converted to map cooordinates
+    * @param y y coordinate of point to be converted to map cooordinates
+    * @return QgsPoint in map coordinates
+    */
+
+    /* Transform device coordinates to map coordinates. Modifies the
+       given coordinates in place. Intended as a fast way to do the
+       transform. */ 
+    void transformInPlace(double& x, double& y);
+
+    /* Transform device coordinates to map coordinates. Modifies the
+       given coordinates in place. Intended as a fast way to do the
+       transform. */ 
+    // TODO: not supported argument, must solve manually
+    //void transformInPlace(std::vector<double>& x, 
+		//	  std::vector<double>& y);
+
+    QgsPoint toMapCoordinates(int x, int y);
+     /*! Tranform device coordinates to map (world)  coordinates
+    * @param p Point to be converted to map cooordinates
+    * @return QgsPoint in map coorndiates
+    */
+    QgsPoint toMapCoordinates(QPoint p);
+    
+    QgsPoint toMapPoint(int x, int y);
+    /*! Set map units per pixel
+    * @param mupp Map units per pixel
+    */
+    void setMapUnitsPerPixel(double mupp);
+    
+    //! Return current map units per pixel
+    double mapUnitsPerPixel();
+
+    //! Set maximum y value
+    void setYmax(double ymax);
+    //! Set minimum y value
+    void setYmin(double ymin);
+    //! set minimum x value
+    void setXmin(double xmin);
+    /*! Set parameters for use in tranfsorming coordinates
+    * @param mupp Map units per pixel
+    * @param xmin Minimum x value
+    * @param ymin Minimum y value
+    * @param ymax Maximum y value
+    */
+    void setParameters(double mupp, double xmin, double ymin, double ymax);
+    //! String representation of the parameters used in the transform
+    QString showParameters();
+
+};
+
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmarkercatalogue.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmarkercatalogue.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmarkercatalogue.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,33 @@
+
+/** Catalogue of point symbols */
+class QgsMarkerCatalogue /NoDefaultCtors/
+{
+%TypeHeaderCode
+#include <qgsmarkercatalogue.h>
+%End
+
+public:
+    //! Destructor
+    ~QgsMarkerCatalogue();
+
+    //! Access to canonical QgsMarkerCatalogue instance
+    static QgsMarkerCatalogue *instance();
+    
+    /**List of available markers*/
+    QStringList list();
+    
+    /** Returns pixmap of the marker
+     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
+     */
+    QImage imageMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
+
+    /** Returns qpicture of the marker
+     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
+     */
+    QPicture pictureMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
+    
+    /** Returns a pixmap given a filename of a svg marker
+     *  NOTE: this method needs to be public static for QgsMarkerDialog::visualizeMarkers */
+    static void svgMarker (QPainter * thepPainter, QString name, int size );
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsmessageoutput.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsmessageoutput.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsmessageoutput.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,83 @@
+
+
+/**
+\brief Interface for showing messages from QGIS in GUI independent way
+
+This class provides abstraction of a dialog for showing output to the user.
+By default QgsMessageConsoleOutput will be used if not overridden
+with other message output creator function.
+
+QGIS application uses QgsMessageView class for displaying a dialog to the user.
+
+Object deletes itself when it's not needed anymore. Children should use
+signal destroyed() to notify the deletion
+*/
+class QgsMessageOutput
+{
+%TypeHeaderCode
+#include <qgsmessageoutput.h>
+%End
+
+  public:
+    
+    //! message can be in plain text or in html format
+    enum MessageType { MessageText, MessageHtml };
+    
+    //! virtual destructor
+    virtual ~QgsMessageOutput();
+
+    //! set message, it won't be displayed until 
+    virtual void setMessage(const QString& message, MessageType msgType) = 0;
+    
+    //! message to be appended to the current text
+    virtual void appendMessage(const QString& message) = 0;
+    
+    //! set title for the messages
+    virtual void setTitle(const QString& title) = 0;
+    
+    //! display the message to the user
+    virtual void showMessage(bool blocking = true) = 0;
+    
+    //! sets function that will be used to create message output
+    // TODO: implementation where python class could be passed
+    // static void setMessageOutputCreator(MESSAGE_OUTPUT_CREATOR f);
+    
+    //! function that returns new class derived from QgsMessageOutput
+    //! (don't forget to delete it then)
+    static QgsMessageOutput* createMessageOutput();
+
+};
+
+
+/**
+\brief Default implementation of message output interface
+           
+This class outputs messages to the standard output. Therefore it might
+be the right choice for apps without GUI.
+*/
+class QgsMessageOutputConsole : QObject, QgsMessageOutput
+{
+%TypeHeaderCode
+#include <qgsmessageoutput.h>
+%End
+
+  public:
+    
+    QgsMessageOutputConsole();
+    
+    virtual void setMessage(const QString& message, MessageType msgType);
+    
+    virtual void appendMessage(const QString& message);
+    
+    virtual void setTitle(const QString& title);
+    
+    //! sends the message to the standard output
+    virtual void showMessage(bool blocking = true);
+    
+  signals:
+    
+    //! signals that object will be destroyed and shouldn't be used anymore
+    void destroyed();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgspoint.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgspoint.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgspoint.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,87 @@
+
+
+class QgsPoint 
+{
+
+%TypeHeaderCode
+#include <qgspoint.h>
+#include <QString>
+%End
+
+    
+public:
+    /// Default constructor
+  QgsPoint();
+    
+  /*! Create a point from another point */
+  QgsPoint(const QgsPoint& p);
+
+  /*! Create a point from x,y coordinates
+   * @param x x coordinate
+   * @param y y coordinate
+   */
+  QgsPoint(double x, double y);
+
+  ~QgsPoint();
+
+  /*! Sets the x value of the point
+   * @param x x coordinate
+   */
+  void setX(double x);
+
+  /*! Sets the y value of the point
+   * @param y y coordinate
+   */
+  void setY(double y);
+    
+  /*! Sets the x and y value of the point */
+  void set(double x, double y);
+    
+  /*! Get the x value of the point
+   * @return x coordinate
+   */
+  double x() const;
+
+  /*! Get the y value of the point
+   * @return y coordinate 
+   */
+  double y() const;
+
+  //! String representation of the point (x,y)
+  QString stringRep() const;
+
+  //! As above but with precision for string representaiton of a point
+  QString stringRep(int thePrecision) const;
+  
+  /*! Return the well known text representation for the point.
+   * The wkt is created without an SRID.
+   * @return Well known text in the form POINT(x y)
+   */
+  QString wellKnownText();
+
+  /**Returns the squared distance between this point and x,y*/
+  double sqrDist(double x, double y) const;
+
+  /**Returns the squared distance between this and other point*/
+  double sqrDist(const QgsPoint& other);
+
+  //! equality operator
+  bool operator==(const QgsPoint &other);
+    
+  //! Inequality operator
+  bool operator!=(const QgsPoint &other);
+    
+  //! Multiply x and y by the given value
+  void multiply(const double& scalar);
+  
+  
+  SIP_PYOBJECT __repr__();
+%MethodCode
+    QString str = "(" + QString::number(sipCpp->x()) + "," + QString::number(sipCpp->y()) + ")";
+    //QString str("(%f,%f)").arg(sipCpp->x()).arg(sipCpp->y());
+    sipRes = PyString_FromString(str.toLocal8Bit().data());
+%End
+
+  
+}; // class QgsPOint
+

Added: packages/qgis/branches/upstream/current/python/core/qgsproject.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsproject.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsproject.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,239 @@
+
+/** Reads and writes project states.
+   
+
+  @note
+
+  Has two general kinds of state to make persistent.  (I.e., to read and
+  write.)  First, Qgis proprietary information.  Second plug-in information.
+
+  A singleton since there shall only be one active project at a time; and
+  provides canonical location for plug-ins and main app to find/set
+  properties.
+
+  Might want to consider moving from Singleton; i.e., allowing more than one
+  project.  Just as the GIMP can have simultaneous multiple images, perhaps
+  qgis can one day have simultaneous multiple projects.
+
+*/
+class QgsProject : QObject
+{
+%TypeHeaderCode
+#include <qgsproject.h>
+%End
+
+public:
+
+    /**
+       @todo XXX Should have semantics for saving project if dirty as last gasp?
+    */
+    ~QgsProject();
+
+    /// access to canonical QgsProject instance
+    static QgsProject * instance();
+
+    /**
+       Every project has an associated title string
+
+       @todo However current dialogs don't allow setting of it yet
+     */
+    //@{
+    void title( const QString & title );
+
+    /** returns title */
+    const QString & title() const;
+    //@}
+
+    /**
+       the dirty flag is true if the project has been modified since the last
+       write()
+     */
+    //@{
+    bool dirty() const;
+
+    void dirty( bool b );
+    //@}
+
+
+    /**
+       Every project has an associated file that contains its XML
+     */
+    //@{
+    void filename( const QString & name );
+
+    /** returns file name */
+    QString filename() const;
+    //@}
+
+
+    /** read project file
+
+       @note Any current plug-in state is erased
+
+       @note dirty set to false after successful invocation
+
+       @note file name argument implicitly sets file
+
+       (Is that really desirable behavior?  Maybe prompt to save before
+       reading new one?)
+
+       Should we presume the file is opened elsewhere?  Or do we open it
+       ourselves?
+
+       XXX How to best get modify access to Qgis state?  Actually we can finagle
+       that by searching for qgisapp in object hiearchy.
+
+       @note
+
+       - Gets the extents
+       - Creates maplayers
+       - Registers maplayers
+
+       @note it's presumed that the caller has already reset the map canvas, map registry, and legend
+
+       @exception
+
+     */
+    //@{
+    bool read( const QFileInfo & file );
+    bool read( );
+    //@}
+
+
+    /** read the layer described in the associated DOM node
+
+        @param layerNode   represents a QgsProject DOM node that maps to a specific layer.
+
+        QgsProject raises an exception when one of the QgsProject::read()
+        implementations fails.  Since the read()s are invoked from qgisapp,
+        then qgisapp handles the exception.  It prompts the user for the new
+        location of the data, if any.  If there is a new location, the DOM
+        node associated with the layer has its <datasource> tag corrected.
+        Then that node is passed to this member function to be re-opened.
+
+     */
+    bool read( QDomNode & layerNode );
+
+
+    /** write project file
+
+       XXX How to best get read access to Qgis state?  Actually we can finagle
+       that by searching for qgisapp in object hiearchy.
+
+       @note file name argument implicitly sets file
+
+       @note dirty set to false after successful invocation
+     */
+    //@{
+    bool write( const QFileInfo & file );
+    bool write( );
+    //@}
+
+
+    /// syntactic sugar for property lists
+    // DEPRECATED typedef QPair< QString, QVariant >  PropertyValue;
+    // DEPRECATED typedef QValueList< PropertyValue > Properties;
+
+    /** extra properties, typically added by plug-ins
+
+       This allows for extra properties to be associated with projects.  Think
+       of it as a registry bound to a project.
+
+       Properties are arbitrary values keyed by a name and associated with a
+       scope.  The scope would presumably refer to your plug-in.
+       E.g., "openmodeller".
+
+       @note
+
+       E.g., open modeller might use:
+
+       <code>"QgsProject::instance()->properties("openmodeller")["foo"]</code>.
+
+       @todo "properties" is, overall, a good name; but that might imply that
+       the qgis specific state properites are different since they aren't
+       accessible here.  Actually, what if we make "qgis" yet another
+       scope that stores its state in the properties list?  E.g., 
+       QgsProject::instance()->properties()["qgis"]?
+
+       
+     */
+    // DEPRECATED Properties & properties( QString const & scope );
+
+    /**
+       removes all project properties
+    */
+    void clearProperties();
+
+
+    /* key value mutators 
+
+      keys would be the familiar QSettings-like '/' delimited entries, implying
+      a hierarchy of keys and corresponding values
+
+      @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
+    */
+    //@{
+    // TODO: resolve somehow to use always correct function
+    //bool writeEntry ( const QString & scope, const QString & key, bool value );
+    //bool writeEntry ( const QString & scope, const QString & key, double value );
+    bool writeEntry ( const QString & scope, const QString & key, int value );
+    bool writeEntry ( const QString & scope, const QString & key, const QString & value );
+    bool writeEntry ( const QString & scope, const QString & key, const QStringList & value );
+    //@}
+
+    /** key value accessors
+
+        keys would be the familiar QSettings-like '/' delimited entries,
+        implying a hierarchy of keys and corresponding values
+
+
+        @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
+    */
+    //@{
+    QStringList readListEntry ( const QString & scope, const QString & key, bool * ok = 0 ) const;
+
+    QString readEntry ( const QString & scope, const QString & key, const QString & def = QString::null, bool * ok = 0 ) const;
+    int readNumEntry ( const QString & scope, const QString & key, int def = 0, bool * ok = 0 ) const;
+    double readDoubleEntry ( const QString & scope, const QString & key, double def = 0, bool * ok = 0 ) const;
+    bool readBoolEntry ( const QString & scope, const QString & key, bool def = FALSE, bool * ok = 0 ) const;
+    //@}
+
+
+    /** remove the given key */
+    bool removeEntry ( const QString & scope, const QString & key );
+
+
+    /** return keys with values -- do not return keys that contain other keys
+
+      @note equivalent to QSettings entryList()
+    */
+    QStringList entryList ( const QString & scope, const QString & key ) const;
+
+    /** return keys with keys -- do not return keys that contain only values
+
+      @note equivalent to QSettings subkeyList()
+    */
+    QStringList subkeyList ( const QString & scope, const QString & key ) const;
+
+
+    /** dump out current project properties to stderr 
+
+      @todo XXX Now slightly broken since re-factoring.  Won't print out top-level key
+                and redundantly prints sub-keys.
+    */
+    void dumpProperties() const;
+
+  signals:
+    
+    //! emitted when project is being read
+    void readProject(const QDomDocument &);
+    
+    //! emitted when project is being written
+    void writeProject(QDomDocument &);
+
+  private:
+
+    QgsProject(); // private 'cause it's a singleton
+
+}; // QgsProject
+

Added: packages/qgis/branches/upstream/current/python/core/qgsprovidermetadata.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsprovidermetadata.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsprovidermetadata.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,44 @@
+
+/** holds data provider key, description, and associated shared library file information
+
+   The metadata class is used in a lazy load implementation in
+   QgsProviderRegistry.  To save memory, data providers are only actually
+   loaded via QLibrary calls if they're to be used.  (Though they're all
+   iteratively loaded once to get their metadata information, and then
+   unloaded when the QgsProviderRegistry is created.)  QgsProviderMetadata
+   supplies enough information to be able to later load the associated shared
+   library object.
+
+ */
+class QgsProviderMetadata
+{
+%TypeHeaderCode
+#include <qgsprovidermetadata.h>
+%End
+
+public:
+
+    QgsProviderMetadata(const QString & _key, const QString & _description, const QString & _library);
+
+    /** this returns the unique key associated with the provider
+
+        This key string is used for the associative container in QgsProviderRegistry
+    */
+    const QString & key() const;
+
+    /** this returns descriptive text for the provider
+
+        This is used to provide a descriptive list of available data providers.
+    */
+    const QString & description() const;
+
+    /** this returns the library file name
+
+        This is used to QLibrary calls to load the data provider.
+    */
+    const QString & library() const;
+
+
+}; // class QgsProviderMetadata
+
+

Added: packages/qgis/branches/upstream/current/python/core/qgsproviderregistry.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsproviderregistry.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsproviderregistry.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,58 @@
+
+/** canonical manager of data providers
+
+  This is a Singleton class that manages data provider access.
+*/
+class QgsProviderRegistry
+{
+%TypeHeaderCode
+#include <qgsproviderregistry.h>
+%End
+
+  public:
+
+    /** means of accessing canonical single instance  */
+    static QgsProviderRegistry* instance(QString pluginPath = QString::null);
+    
+    /** Virtual dectructor */
+    virtual ~QgsProviderRegistry();
+
+    QString library(const QString & providerKey) const;
+
+    QString pluginList(bool asHtml = false) const;
+
+    /** return library directory where plugins are found */
+    const QDir & libraryDirectory() const;
+
+    void setLibraryDirectory(const QDir & path);
+ 
+    QgsDataProvider * getProvider( const QString & providerKey, 
+                                   const QString & dataSource );
+
+    /** Return list of available providers by their keys */
+    QStringList providerList() const;
+
+    /** Return metadata of the provider or NULL if not found */
+    const QgsProviderMetadata* providerMetadata(const QString& providerKey) const;
+
+    /** return vector file filter string
+
+      Returns a string suitable for a QFileDialog of vector file formats
+      supported by all data providers.
+
+      This walks through all data providers appending calls to their
+      fileVectorFilters to a string, which is then returned.
+
+      @note
+
+      It'd be nice to eventually be raster/vector neutral.
+    */
+    virtual QString fileVectorFilters() const;
+
+  private:
+
+        /** ctor private since instance() creates it */
+        QgsProviderRegistry(QString pluginPath) /Default/ ;
+
+}; // class QgsProviderRegistry
+

Added: packages/qgis/branches/upstream/current/python/core/qgsrasterbandstats.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrasterbandstats.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrasterbandstats.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,48 @@
+
+/** \brief The RasterBandStats struct is a container for statistics about a single
+ * raster band.
+ */
+class QgsRasterBandStats
+{
+%TypeHeaderCode
+#include <qgsrasterbandstats.h>
+%End
+
+  public:
+    /** \brief The name of the band that these stats belong to. */
+    QString bandName;
+    /** \brief The gdal band number (starts at 1)*/
+    int bandNoInt; 
+    /** \brief A flag to indicate whether this RasterBandStats struct 
+     * is completely populated */
+    bool statsGatheredFlag; 
+    /** \brief The minimum cell value in the raster band. NO_DATA values
+     * are ignored. This does not use the gdal GetMinimum function. */
+    double minValDouble;
+    /** \brief The maximum cell value in the raster band. NO_DATA values
+     * are ignored. This does not use the gdal GetMaximmum function. */
+    double maxValDouble;
+    /** \brief The range is the distance between min & max. */
+    double rangeDouble;
+    /** \brief The mean cell value for the band. NO_DATA values are excluded. */
+    double meanDouble;
+    /** \brief The sum of the squares. Used to calculate standard deviation. */
+    double sumSqrDevDouble; 
+    /** \brief The standard deviation of the cell values. */
+    double stdDevDouble;
+    /** \brief The sum of all cells in the band. NO_DATA values are excluded. */
+    double sumDouble;
+    /** \brief The number of cells in the band. Equivalent to height x width. 
+     * TODO: check if NO_DATA are excluded!*/
+    int elementCountInt;    
+    /** \brief Store the histogram for a given layer */
+    typedef QVector<int> HistogramVector;
+    //HistogramVector * histogramVector;
+    /** \brief whteher histogram values are estimated or completely calculated */
+    bool histogramEstimatedFlag;
+    /** whehter histogram compuation should include out of range values */
+    bool histogramOutOfRangeFlag;
+    /** Color table */
+    QgsColorTable colorTable;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsrasterdataprovider.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrasterdataprovider.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrasterdataprovider.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,161 @@
+
+/** Base class for raster data providers
+ *
+ *  \note  This class has been copied and pasted from
+ *         QgsVectorDataProvider, and does not yet make
+ *         sense for Raster layers.
+ */
+ 
+class QgsRasterDataProvider : QgsDataProvider
+{
+%TypeHeaderCode
+#include <qgsrasterdataprovider.h>
+%End
+
+public:
+
+    //! If you add to this, please also add to capabilitiesString()
+    enum Capability
+    {
+      NoCapabilities =              0,
+      Identify =                    1
+//      Capability2 =           1 <<  1,    , etc
+    };
+
+
+    QgsRasterDataProvider();
+
+    QgsRasterDataProvider( const QString & uri );
+
+    virtual ~QgsRasterDataProvider();
+
+
+    /**
+     * Gets the HTTP proxy host used for this connection
+     */
+    virtual QString proxyHost() const = 0;
+
+    /**
+     * Gets the HTTP proxy port used for this connection
+     */
+    virtual int proxyPort() const = 0;
+
+    /**
+     * Gets the HTTP proxy user name used for this connection
+     */
+    virtual QString proxyUser() const = 0;
+
+    /**
+     * Gets the HTTP proxy user password used for this connection
+     */
+    virtual QString proxyPass() const = 0;
+
+    /**
+     *
+     * Sets a proxy for the URL given in the constructor
+     *
+     *
+     * \retval TRUE if proxy setting is successful (if indeed it is supported)
+     */
+    virtual bool setProxy(const QString & host,
+                                      int port,
+                          const QString & user,
+                          const QString & pass);
+    
+
+    /**
+     * Add the list of WMS layer names to be rendered by this server
+     */
+    virtual void addLayers(const QStringList & layers,
+                           const QStringList & styles = QStringList()) = 0;
+
+    //! get raster image encodings supported by (e.g.) the WMS Server, expressed as MIME types
+    virtual QStringList supportedImageEncodings() = 0;
+
+    /**
+     * Get the image encoding (as a MIME type) used in the transfer from (e.g.) the WMS server
+     */
+    virtual QString imageEncoding() const = 0;
+
+    /**
+     * Set the image encoding (as a MIME type) used in the transfer from (e.g.) the WMS server
+     */
+    virtual void setImageEncoding(const QString & mimeType) = 0;
+ 
+    /**
+     * Set the image projection (in WMS CRS format) used in the transfer from (e.g.) the WMS server
+     */
+    virtual void setImageCrs(const QString & crs) = 0;
+
+
+    // TODO: Document this better.
+    /** \brief   Renders the layer as an image
+     */
+    virtual QImage* draw(const QgsRect & viewExtent, int pixelWidth, int pixelHeight) = 0;
+
+    /** Returns a bitmask containing the supported capabilities
+        Note, some capabilities may change depending on whether
+        a spatial filter is active on this provider, so it may
+        be prudent to check this value per intended operation.
+      */
+    virtual int capabilities() const;
+
+    /**
+     *  Returns the above in friendly format.
+     */
+    QString capabilitiesString() const;
+
+
+    // TODO: Get the supported formats by this provider
+    
+    // TODO: Get the file masks supported by this provider, suitable for feeding into the file open dialog box
+    
+
+    /**
+     * Get metadata in a format suitable for feeding directly
+     * into a subset of the GUI raster properties "Metadata" tab.
+     */
+    virtual QString getMetadata() = 0;
+
+    /**
+     * \brief Identify details from a server (e.g. WMS) from the last screen update
+     *
+     * \param point[in]  The pixel coordinate (as it was displayed locally on screen)
+     *
+     * \return  A text document containing the return from the WMS server
+     *
+     * \note WMS Servers prefer to receive coordinates in image space, therefore
+     *       this function expects coordinates in that format.
+     *
+     * \note  The arbitraryness of the returned document is enforced by WMS standards
+     *        up to at least v1.3.0
+     */
+    virtual QString identifyAsText(const QgsPoint& point) = 0;
+
+    /**
+     * \brief   Returns the caption error text for the last error in this provider
+     *
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     *
+     */
+    virtual QString errorCaptionString() = 0;
+
+    /**
+     * \brief   Returns the verbose error text for the last error in this provider
+     *
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     *
+     */
+    virtual QString errorString() = 0;
+
+
+protected:
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsrasterlayer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrasterlayer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrasterlayer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,609 @@
+
+  
+  
+/*! \class QgsRasterLayer
+ *  \brief This class provides qgis with the ability to render raster datasets
+ *  onto the mapcanvas..
+ */
+
+class QgsRasterLayer : QgsMapLayer
+{
+%TypeHeaderCode
+#include <qgsrasterpyramid.h>
+#include <qgsrasterlayer.h>
+%End
+
+public:
+    //
+    // Static methods:
+    //
+        
+    static void buildSupportedRasterFileFilter(QString & fileFilters);
+
+    static bool isSupportedRasterDriver(const QString & driverName);
+
+    /** This helper checks to see whether the filename appears to be a valid
+       raster file name */
+    static bool isValidRasterFileName(const QString & theFileNameQString);
+
+    //
+    // Non Static methods:
+    //
+        
+    /** \brief This is the constructor for the RasterLayer class.
+     *
+     * The main tasks carried out by the constructor are:
+     *
+     * -Populate the RasterStatsVector with initial values for each band.
+     *
+     * -Calculate the layer extents
+     *
+     * -Determine whether the layer is gray, paletted or multiband.
+     *
+     * -Assign sensible defaults for the red,green, blue and gray bands.
+     *
+     * -
+     * */
+    QgsRasterLayer(const QString & path = QString::null, 
+                   const QString &  baseName = QString::null);
+
+    /** \brief The destuctor.  */
+    ~QgsRasterLayer();
+
+    /** \brief  A vector containing one RasterBandStats struct per raster band in this raster layer.
+     * Note that while very RasterBandStats element will have the name and number of its associated
+     * band populated, any additional stats are calculated on a need to know basis.*/
+    typedef QVector<QgsRasterBandStats> RasterStatsVector;
+
+
+    /** \brief  A list containing one RasterPyramid struct per 
+     * POTENTIAL pyramid layer. How this works is we divide the height
+     * and width of the raster by an incrementing number. As soon as the result
+     * of the division is <=256 we stop allowing RasterPyramid stracuts
+     * to be added to the list. Each time a RasterPyramid is created
+     * we will check to see if a pyramid matching these dimensions already exists
+     * in the raster layer, and if so mark the exists flag as true. */
+      
+    typedef QList<QgsRasterPyramid> RasterPyramidList;
+
+    /** \brief This typedef is used when the showProgress function is passed to gdal as a function
+    pointer. */
+    //  typedef  int (QgsRasterLayer::*showTextProgress)( double theProgressDouble,
+    //                                      const char *theMessageCharArray,
+    //                                      void *theData);
+
+    /** \brief Identify raster value(s) found on the point position 
+     *
+     * \param point[in]  a coordinate in the CRS of this layer.
+     */
+    // TODO: wrap
+    //void identify(const QgsPoint& point, std::map<QString,QString>& results);
+
+    /** \brief Identify arbitrary details from the WMS server found on the point position
+     *
+     * \param point[in]  an image pixel coordinate in the last requested extent of layer.
+     *
+     * \return  A text document containing the return from the WMS server
+     *
+     * \note  The arbitraryness of the returned document is enforced by WMS standards
+     *        up to at least v1.3.0
+     */
+    QString identifyAsText(const QgsPoint& point);
+
+    /** \brief Query gdal to find out the WKT projection string for this layer. This implements the virtual method of the same name defined in QgsMapLayer*/
+    QString getProjectionWKT();
+
+    /** \brief Draws a thumbnail of the rasterlayer into the supplied pixmap pointer */
+     void drawThumbnail(QPixmap * theQPixmap);
+
+    /** \brief Get an 8x8 pixmap of the colour palette. If the layer has no palette a white pixmap will be returned. */
+     QPixmap getPaletteAsPixmap();
+     
+    /** \brief This is called when the view on the rasterlayer needs to be refreshed (redrawn).
+         
+        \param drawingToEditingCanvas  Are we drawing to an editable canvas? 
+                                       currently not used, but retain to be similar to 
+                                       the QgsVectorLayer interface 
+     */
+    bool draw(QPainter * theQPainter,
+              QgsRect & theViewExtent, 
+              QgsMapToPixel * theQgsMapToPixel,
+              QgsCoordinateTransform* ct,
+              bool drawingToEditingCanvas);
+
+    /** \brief This is an overloaded version of the above function that is called by both draw above and drawThumbnail */
+    void draw(QPainter * theQPainter, QgsRasterViewPort * myRasterViewPort,
+              QgsMapToPixel * theQgsMapToPixel = 0);
+    
+    //
+    // Accessors for image height and width
+    //
+    /** \brief Accessor that returns the width of the (unclipped) raster  */
+    const int getRasterXDim();
+
+    /** \brief Accessor that returns the height of the (unclipped) raster  */
+    const int getRasterYDim();
+
+    //
+    // Accessor and mutator for no data double
+    //
+    /** \brief  Accessor that returns the NO_DATA entry for this raster. */
+    const double getNoDataValue();
+
+    /** \brief  Mutator that allows the  NO_DATA entry for this raster to be overridden. */
+    void setNoDataValue(double theNoDataDouble);
+
+    //
+    // Accessor and mutator for invertHistogramFlag
+    //
+    /** \brief Accessor to find out whether the histogram should be inverted.   */
+    bool getInvertHistogramFlag();
+    /** \brief Mutator to alter the state of the invert histogram flag.  */
+    void setInvertHistogramFlag(bool theFlag);
+    //
+    // Accessor and mutator for stdDevsToPlotDouble
+    //
+    /** \brief Accessor to find out how many standard deviations are being plotted.  */
+    double getStdDevsToPlot();
+    /** \brief Mutator to alter the number of standard deviations that should be plotted.  */
+    void setStdDevsToPlot(double theDouble);
+    /** \brief Get the number of bands in this layer  */
+    const unsigned int getBandCount();
+    /** \brief Get RasterBandStats for a band given its number (read only)  */
+    const  QgsRasterBandStats getRasterBandStats(int);
+    /** \brief  Check whether a given band number has stats associated with it */
+    const bool hasStats(int theBandNoInt);
+    /** \brief Overloaded method that also returns stats for a band, but uses the band colour name
+    *    Note this approach is not recommeneded because it is possible for two gdal raster
+    *    bands to have the same name!
+    */
+    const  QgsRasterBandStats getRasterBandStats(const QString &);
+    /** \brief Get the number of a band given its name. Note this will be the rewritten name set 
+    *   up in the constructor, and will not necessarily be the same as the name retrieved directly from gdal!
+    *   If no matching band is found zero will be returned! */
+    const  int getRasterBandNumber (const QString & theBandNameQString);
+    /** \brief Get the name of a band given its number.  */
+    const  QString getRasterBandName(int theBandNoInt);
+    /** \brief Find out whether a given band exists.    */
+    bool hasBand(const QString &  theBandName);
+    /** \brief Call any inline image manipulation filters */
+    void filterLayer(QImage * theQImage);
+    /** \brief Accessor for red band name (allows alternate mappings e.g. map blue as red colour). */
+    QString getRedBandName();
+    /** \brief Mutator for red band name (allows alternate mappings e.g. map blue as red colour). */
+    void setRedBandName(const QString & theBandNameQString);
+    // 
+    // Accessor and mutator for green band name
+    // 
+    /** \brief Accessor for green band name mapping.  */
+    QString getGreenBandName();
+    /** \brief Mutator for green band name mapping.  */
+    void setGreenBandName(const QString & theBandNameQString);
+    //
+    // Accessor and mutator for blue band name
+    // 
+    /** \brief  Accessor for blue band name mapping. */
+    QString getBlueBandName();
+    /** \brief Mutator for blue band name mapping.  */
+    void setBlueBandName(const QString & theBandNameQString);
+    //
+    // Accessor and mutator for gray band name
+    //
+    /** \brief Accessor for gray band name mapping.  */
+    QString getGrayBandName();
+    /** \brief Mutator for gray band name mapping.  */
+    void setGrayBandName(const QString & theBandNameQString);
+    // 
+    // Accessor and mutator for showDebugOverlayFlag
+    // 
+    /** \brief Accessor for a flag that determines whether to show some debug info on the image.  */
+    bool getShowDebugOverlayFlag();
+    /** \brief Mutator for a flag that determines whether to show some debug info on the image.  */
+    void setShowDebugOverlayFlag(bool theFlag);
+    // 
+    // Accessor and mutator for min and max red
+    // 
+    /** \brief Accessor for minimum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinRedDouble();
+    /** \brief Mutator for minimum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinRedDouble(double theDouble);
+    /** \brief Accessor for maximum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxRedDouble();
+    /** \brief Mutator for maximum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxRedDouble(double theDouble);
+    // 
+    // Accessor and mutator for min and max green
+    // 
+    /** \brief Accessor for minimum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinGreenDouble();
+    /** \brief Mutator for minimum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinGreenDouble(double theDouble);
+    /** \brief Accessor for maximum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxGreenDouble();
+    /** \brief Mutator for maximum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxGreenDouble(double theDouble);
+    // 
+    // Accessor and mutator for min and max blue
+    // 
+    /** \brief Accessor for minimum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    /** \brief   */
+    double getMinBlueDouble();
+    /** \brief Mutator for minimum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinBlueDouble(double theDouble);
+    /** \brief Accessor for maximum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxBlueDouble();
+    /** \brief Mutator for maximum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxBlueDouble(double theDouble);
+    // 
+    // Accessor and mutator for min and max gray
+    // 
+    /** \brief Accessor for minimum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinGrayDouble();
+    /** \brief Mutator for minimum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinGrayDouble(double theDouble);
+    /** \brief Accessor for maximum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxGrayDouble();
+    /** \brief Mutator for maximum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxGrayDouble(double theDouble);
+    //
+    /** \brief This enumerator describes the types of histogram scaling algorithms that can be used.  */
+    enum COLOR_SCALING_ALGORITHM
+    {
+        STRETCH_TO_MINMAX, //linear histogram stretch
+        STRETCH_AND_CLIP_TO_MINMAX,
+        CLIP_TO_MINMAX
+    };
+    
+    COLOR_SCALING_ALGORITHM colorScalingAlgorithm;
+    //
+    // Accessor and mutator for the color scaling algorithm
+    //
+    /** \brief Accessor for colour scaling algorithm. */
+    COLOR_SCALING_ALGORITHM getColorScalingAlgorithm();
+    /** \brief Mutator for color scaling algorithm. */
+    void setColorScalingAlgorithm(COLOR_SCALING_ALGORITHM theAlgorithm);
+    
+    /** \brief This enumerator describes the types of histogram colour ramping that can be used.  */
+    enum COLOR_RAMPING_TYPE
+    {
+        BLUE_GREEN_RED, 
+        FREAK_OUT //it will scare your granny!
+    };
+    
+    COLOR_RAMPING_TYPE colorRampingType;
+    //
+    // Accessor and mutator for the color ramping type
+    //
+    /** \brief Accessor for colour ramping type. */
+    COLOR_RAMPING_TYPE getColorRampingType();
+    /** \brief Mutator for color scaling algorithm. */
+    void setColorRampingType(COLOR_RAMPING_TYPE theRamping);
+    
+    /** \brief This enumerator describes the different kinds of drawing we can do.  */
+    enum DRAWING_STYLE
+    {
+        SINGLE_BAND_GRAY, // a "Gray" or "Undefined" layer drawn as a range of gray colors
+        SINGLE_BAND_PSEUDO_COLOR,// a "Gray" or "Undefined" layer drawn using a pseudocolor algorithm
+        PALETTED_COLOR, //a "Palette" image drawn using color table
+        PALETTED_SINGLE_BAND_GRAY,// a "Palette" layer drawn in gray scale (using only one of the color components)
+        PALETTED_SINGLE_BAND_PSEUDO_COLOR, // a "Palette" layer having only one of its color components rendered as psuedo color
+        PALETTED_MULTI_BAND_COLOR, // a "Palette" image is decomposed to 3 channels (RGB) and drawn 
+	                           // as multiband 
+        MULTI_BAND_SINGLE_BAND_GRAY, // a layer containing 2 or more bands, but using only one band to produce a grayscale image
+        MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR, //a layer containing 2 or more bands, but using only one band to produce a pseudocolor image
+        MULTI_BAND_COLOR //a layer containing 2 or more bands, mapped to the three RGBcolors. In the case of a multiband with only two bands, one band will have to be mapped to more than one color
+    };
+    
+    DRAWING_STYLE drawingStyle;    
+    //
+    // Accessor and mutator for drawing style.
+    //
+    /** \brief Accessor for drawing style.  */
+    DRAWING_STYLE getDrawingStyle();
+    /** \brief Returns a string representation of drawing style.
+     *
+     * Implementaed mainly for serialisation / deserialisation of settings to xml.
+     * NOTE: May be deprecated in the future!. Use alternate implementation above rather.
+     * */
+    QString getDrawingStyleAsQString();
+    /** \brief Mutator for drawing style.  */
+    void setDrawingStyle(const DRAWING_STYLE &  theDrawingStyle);
+    /** \brief Overloaded version of the above function for convenience when restoring from xml.
+     *
+     * Implementaed mainly for serialisation / deserialisation of settings to xml.
+     * NOTE: May be deprecated in the future! Use alternate implementation above rather.
+     * */
+    void setDrawingStyle(const QString & theDrawingStyleQString);
+
+
+
+
+    /** \brief This enumerator describes the type of raster layer.  */
+    enum RASTER_LAYER_TYPE
+    {
+        GRAY_OR_UNDEFINED,
+	PALETTE,
+	MULTIBAND    
+    };
+    
+    RASTER_LAYER_TYPE rasterLayerType;
+    //
+    //accessor and for raster layer type (READ ONLY)
+    //
+    /** \brief  Accessor for raster layer type (which is a read only property) */
+    RASTER_LAYER_TYPE getRasterLayerType();
+    /** \brief Accessor for hasPyramidsFlag (READ ONLY) */
+    bool getHasPyramidsFlag();
+     
+    /** \brief Get a legend image for this layer.  */
+    QPixmap getLegendQPixmap();
+    /** \brief  Overloaded version of above function that can print layer name onto legend. */
+    QPixmap getLegendQPixmap(bool); 
+    
+    /** \brief Use this method when you want an annotated legend suitable for print output etc. 
+     * @param int theLabelCountInt Number of vertical labels to display (defaults to 3)
+     * */
+    QPixmap getDetailedLegendQPixmap(int theLabelCount);
+    
+    /**
+     * Returns the sublayers of this layer
+     *
+     * (Useful for providers that manage their own layers, such as WMS)
+     *
+     */
+    QStringList subLayers();
+    
+    /**
+     * Reorders the *previously selected* sublayers of this layer from bottom to top
+     *
+     * (Useful for providers that manage their own layers, such as WMS)
+     *
+     */
+    virtual void setLayerOrder(const QStringList & layers);
+    
+    /**
+     * Set the visibility of the given sublayer name
+     */
+    virtual void setSubLayerVisibility(const QString & name, bool vis);
+
+    /** \brief Emit a signal asking for a repaint. (inherited from maplayer) */
+    void triggerRepaint();
+    /** \brief Obtain GDAL Metadata for this layer */
+    QString getMetadata(); 
+    /** \brief Accessor for ths raster layers pyramid list. A pyramid list defines the 
+     * POTENTIAL pyramids that can be in a raster. To know which of the pyramid layers 
+     * ACTUALLY exists you need to look at the existsFlag member in each struct stored in the 
+     * list.*/
+    RasterPyramidList buildRasterPyramidList();
+    /** \brief Helper method to retrieve the nth pyramid layer struct from the PyramidList. 
+     * If the nth layer does not exist, NULL will be returned. */
+//   RasterPyramid getRasterPyramid(int thePyramidNo);
+
+    /**Currently returns always false*/
+    bool isEditable() const;
+    
+    /** Return time stamp for given file name */
+    static QDateTime lastModified ( const QString &  name );
+
+    /**Copies the symbology settings from another layer. Returns true in case of success*/
+    bool copySymbologySettings(const QgsMapLayer& other);
+
+    bool isSymbologyCompatible(const QgsMapLayer& other) const;
+
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    QString errorCaptionString();
+  
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    QString errorString();
+
+    /** Returns the data provider
+     *
+     *  \retval 0 if not using the data provider model (i.e. directly using GDAL)
+     */
+    QgsRasterDataProvider* getDataProvider();
+
+    /** Returns the data provider in a const-correct manner
+     *
+     *  \retval 0 if not using the data provider model (i.e. directly using GDAL)
+     */
+  // TODO:  const QgsRasterDataProvider* getDataProvider() const;
+
+public slots:    
+    /**
+     * Convert this raster to another format
+     */
+    //void const convertTo();
+    /**
+     * Mainly inteded for use in propogating progress updates from gdal up to the parent app.
+     **/
+    void updateProgress(int,int);
+
+    /** \brief Create  gdal pyramid overviews  for this layer.
+    * This will speed up performance at the expense of hard drive space.
+    * Also, write access to the file is required. If no paramter is passed in
+    * it will default to nearest neighbor resampling.
+    * \return null string on success, otherwise a string specifying error
+    */
+    QString buildPyramids(const RasterPyramidList &, 
+                          const QString &  theResamplingMethod="NEAREST");
+    /** \brief Used at the moment by the above function but hopefully will later
+    be useable by any operation that needs to notify the user of its progress. */
+/*
+    int showTextProgress( double theProgressDouble,
+                          const char *theMessageCharArray,
+                          void *theData);    
+*/
+
+  /** Populate the histogram vector for a given layer
+  * @param theBandNoInt - which band to compute the histogram for
+  * @param theBinCountInt - how many 'bins' to categorise the data into
+  * @param theIgnoreOutOfRangeFlag - whether to ignore values that are out of range (default=true)
+  * @param theThoroughBandScanFlag - whether to visit each cell when computing the histogram (default=false)
+  */
+  void populateHistogram(int theBandNoInt, 
+                         int theBinCountInt=256,
+                         bool theIgnoreOutOfRangeFlag=true,
+                         bool theThoroughBandScanFlag=false);
+
+    /** \brief Color table 
+     *  \param band number
+     *  \return pointer to color table
+     */
+    // TODO: not working
+    //QgsColorTable *colorTable ( int theBandNoInt );
+ protected:
+
+    /** reads vector layer specific state from project file DOM node.
+
+        @note
+
+        Called by QgsMapLayer::readXML().
+
+    */
+    /* virtual */ bool readXML_( QDomNode & layer_node );
+
+
+
+  /** write vector layer specific state to project file DOM node.
+
+      @note
+
+      Called by QgsMapLayer::writeXML().
+
+  */
+  /* virtual */ bool writeXML_( QDomNode & layer_node, QDomDocument & doc );
+    
+
+/*
+ * 
+ * New functions that will convert this class to a data provider interface
+ * (B Morley)
+ *
+ */ 
+ 
+public:
+ 
+  //! Constructor in provider mode
+  // TODO Rename into a general constructor when the old raster interface is retired
+  // \param  dummy  is just there to distinguish this function signature from the old non-provider one.
+  QgsRasterLayer(int dummy, 
+                 const QString & baseName = QString(),
+                 const QString & path = QString(),
+                 const QString & providerLib = QString(),
+                 const QStringList & layers = QStringList(),
+                 const QStringList & styles = QStringList(),
+                 const QString & format = QString(),
+                 const QString & crs = QString(),
+                 const QString & proxyHost = QString(),
+                 int proxyPort = 80,
+                 const QString & proxyUser = QString(),
+                 const QString & proxyPass = QString());
+
+  void setDataProvider( const QString & provider,
+                        const QStringList & layers,
+                        const QStringList & styles,
+                        const QString & format,
+                        const QString & crs,
+                        const QString & proxyHost,
+                        int proxyPort,
+                        const QString & proxyUser,
+                        const QString & proxyPass );
+
+
+  //! Does this layer use a provider for setting/retrieving data?
+  bool usesProvider();
+
+  /**
+   * Sets a proxy for the path given in the constructor
+   *
+   * \retval TRUE if proxy setting is successful (if indeed it is supported)
+   */
+  bool setProxy(const QString & host = 0,
+                            int port = 80,
+                const QString & user = 0,
+                const QString & pass = 0);
+
+  //! Which provider is being used for this Raster Layer?
+  QString providerKey();
+
+public slots:
+
+  void showStatusMessage(const QString & theMessage);
+
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsrasterpyramid.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrasterpyramid.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrasterpyramid.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,18 @@
+/** \brief This struct is used to store pyramid info for the raster layer. */
+class QgsRasterPyramid
+{
+%TypeHeaderCode
+#include <qgsrasterpyramid.h>
+%End
+
+  public:
+  /** \brief The pyramid level as implemented in gdal (level 2 is half orignal raster size etc) */
+  int levelInt;
+  /** \brief XDimension for this pyramid layer */
+  int xDimInt;
+  /** \brief YDimension for this pyramid layer */
+  int yDimInt;
+  /** \brief Whether the pyramid layer has been built yet */
+  bool existsFlag;
+
+};

Added: packages/qgis/branches/upstream/current/python/core/qgsrasterviewport.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrasterviewport.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrasterviewport.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,53 @@
+
+struct QgsRasterViewPort
+{
+%TypeHeaderCode
+#include <qgsrasterviewport.h>
+%End
+
+  /** \brief  The offset from the left hand edge of the raster for the rectangle that will be drawn to screen.
+   * TODO Check this explanation is correc!*/
+  int   rectXOffsetInt;
+  float rectXOffsetFloat;
+  /** \brief  The offset from the bottom edge of the raster for the rectangle that will be drawn to screen.
+   * TODO Check this explanation is correc!*/
+  int   rectYOffsetInt;
+  float rectYOffsetFloat;
+  /** \brief Lower left X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedXMinDouble;
+  /** \brief Top Right X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedXMaxDouble;
+  /** \brief Lower left Y dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedYMinDouble;
+  /** \brief Top Right X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedYMaxDouble;
+  /** \brief  Distance in pixels from clippedXMinDouble to clippedXMaxDouble. */
+  int clippedWidthInt;
+  /** \brief Distance in pixels from clippedYMinDouble to clippedYMaxDouble  */
+  int clippedHeightInt;
+  /** \brief Coordinate (in geographic coordinate system) of top left corner of the part of the raster that 
+   * is to be rendered.*/
+  QgsPoint topLeftPoint;
+  /** \brief Coordinate (in geographic coordinate system) of bottom right corner of the part of the raster that 
+   * is to be rendered.*/
+  QgsPoint bottomRightPoint;
+  /** \brief Distance in map units from left edge to right edge for the part of the raster that 
+   * is to be rendered.*/
+  int drawableAreaXDimInt;
+  /** \brief Distance in map units from bottom edge to top edge for the part of the raster that 
+   * is to be rendered.*/
+  int drawableAreaYDimInt;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsrect.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrect.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrect.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,90 @@
+
+/*! \class QgsRect
+ * \brief A rectangle specified with double values.
+ *
+ * QgsRect is used to store a rectangle when double values are required. 
+ * Examples are storing a layer extent or the current view extent of a map
+ */
+class QgsRect
+{
+%TypeHeaderCode
+#include <qgsrect.h>
+%End
+
+ public:
+    //! Constructor
+    QgsRect(double xmin=0, double ymin=0, double xmax=0, double ymax=0);
+    //! Construct a rectangle from two points. The rectangle is normalized after construction.
+    QgsRect(const QgsPoint & p1, const QgsPoint & p2);
+    //! Copy constructor
+    QgsRect(const QgsRect &other);
+    //! Destructor
+    ~QgsRect();
+    //! Set the rectangle from two QgsPoints. The rectangle is
+    //normalised after construction. 
+    void set(const QgsPoint& p1, const QgsPoint& p2);
+    //! Set the rectangle from four points. The rectangle is
+    //  normalised after construction. 
+    void set(double xmin, double ymin, double xmax, double ymax);
+    //! Set the minimum x value
+    void setXmin(double x);
+    //! Set the maximum x value
+    void setXmax(double x);
+    //! Set the maximum y value
+    void setYmin(double y);
+    //! Set the maximum y value
+    void setYmax(double y);
+    //! Set a rectangle so that min corner is at max
+    // and max corner is at min. It is NOT normalized.
+    void setMinimal();
+    //! Get the x maximum value (right side of rectangle)
+    double xMax() const;
+    //! Get the x maximum value (right side of rectangle)
+    double xMin() const;
+    //! Get the x minimum value (left side of rectangle)
+    double yMax() const;
+    //! Get the y maximum value (top side of rectangle)
+    double yMin() const;
+    //! Normalize the rectangle so it has non-negative width/height
+    void normalize();
+    //! Width of the rectangle
+    double width() const;
+    //! Height of the rectangle
+    double height() const;
+    //! Center point of the rectangle
+    QgsPoint center() const;
+    //! Scale the rectangle around its center point
+    void scale(double, const QgsPoint *c =0);
+    //! Expand the rectangle to support zoom out scaling
+    void expand(double, const QgsPoint *c = 0);
+    //! return the intersection with the given rectangle
+    QgsRect intersect(QgsRect *rect);
+    //! expand the rectangle so that covers both the original rectangle and the given rectangle
+    void combineExtentWith(QgsRect *rect);
+    //! expand the rectangle so that covers both the original rectangle and the given point
+    void combineExtentWith(double x, double y);
+    //! test if rectangle is empty
+    bool isEmpty() const;
+    //! returns string representation in WKT form
+    QString asWKTCoords() const;
+    //! returns string representation of form xmin,ymin xmax,ymax
+    QString stringRep(bool automaticPrecision = false) const;
+    //! overloaded stringRep that allows precision of numbers to be set
+    QString stringRep(int thePrecision) const;
+    //! returns rectangle s a polygon 
+    QString asPolygon() const;
+    /*! Comparison operator
+      @return True if rectangles are equal
+    */
+    bool operator==(const QgsRect &r1) const;
+    /*! Comparison operator
+    @return False if rectangles are equal
+     */
+    bool operator!=(const QgsRect &r1) const;
+   
+    /** updates rectangle to include passed argument */
+    void unionRect(const QgsRect& rect);
+ 
+  
+};
+ 

Added: packages/qgis/branches/upstream/current/python/core/qgsrenderer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsrenderer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsrenderer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+
+/**Abstract base class for renderers. A renderer holds all the information necessary to draw the contents of a vector layer to a map canvas. The vector layer then passes each feature to paint to the renderer*/
+class QgsRenderer
+{
+%TypeHeaderCode
+#include <qgsrenderer.h>
+%End
+  
+ public:
+    /** Default ctor sets up selection colour from project properties */
+    QgsRenderer();
+    /** Virtual destructor because we have virtual methods... */
+    virtual ~QgsRenderer();
+    /**A vector layer passes features to a renderer object to change the brush and pen of the qpainter
+     @param p the painter storing brush and pen
+     @param f a pointer to the feature to be rendered
+     @param pic pointer to a marker from SVG (is only used by marker renderers)
+     @param scalefactor pointer to the scale factor for the marker image*/
+    virtual void renderFeature(QPainter* p, QgsFeature& f,QImage* pic, double* scalefactor, bool selected, double widthScale = 1)=0;
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl)=0;
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const=0;
+    /** Returns true, if attribute values are used by the renderer and false otherwise*/
+    virtual bool needsAttributes() const=0;
+    /**Returns a list with indexes of classification attributes*/
+    virtual QList<int> classificationAttributes() const=0;
+    /**Returns the renderers name*/
+    virtual QString name() const=0;    
+    /**Return symbology items*/
+    virtual const QList<QgsSymbol*> symbols() const=0;
+    /**Returns a copy of the renderer (a deep copy on the heap)*/
+    virtual QgsRenderer* clone() const=0;
+    /** Change selection color */
+    static void setSelectionColor(QColor color);
+    /**Returns true if this renderer returns a pixmap in the render method (e.g. for point data or diagrams)*/
+    virtual bool containsPixmap() const;
+    /**Returns true if this renderer uses its own transparency settings, e.g. differentiated by classification.
+     This is a hint for QgsVectorLayer to not use the transparency setting on layer level in this cases*/
+    virtual bool usesTransparency() const;
+   
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsscalecalculator.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsscalecalculator.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsscalecalculator.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,59 @@
+
+/**
+ * \class QgsScaleCalculator
+ * \brief Calculates scale for a given combination of canvas size, map extent,
+ * and monitor dpi.
+ */
+class QgsScaleCalculator
+{
+%TypeHeaderCode
+#include <qgsscalecalculator.h>
+%End
+  
+  public:
+
+    /**
+     * Constructor
+     * @param dpi Monitor resolution in dots per inch
+     * @param mapUnits Units of the data on the map. Must match a value from the
+     * QGis::units enum (METERS, FEET, DEGREES)
+     */
+    QgsScaleCalculator(int dpi = 0, 
+                       QGis::units mapUnits = QGis::METERS);
+
+    //! Destructor
+    ~QgsScaleCalculator();
+
+    /**
+     * Set the dpi to be used in scale calculations
+     * @param dpi Dots per inch of monitor resolution
+     */
+    void setDpi(int dpi);
+
+    /**
+     * Set the map units
+     * @param mapUnits Units of the data on the map. Must match a value from the
+     */
+    void setMapUnits(QGis::units mapUnits);
+
+    /** Returns current map units */
+    QGis::units mapUnits() const;
+    
+    /**
+     * Calculate the scale
+     * @param mapExtent QgsRect containing the current map extent
+     * @param canvasWidth Width of the map canvas in pixel (physical) units
+     * @return scale of current map view
+     */
+    double calculate(QgsRect &mapExtent, int canvasWidth);
+
+    /**
+     * Calculate the distance between to points in geographic coordinates.
+     * Used to calculate scale for map views with geographic (decimal degree)
+     * data.
+     * @param mapExtent QgsRect containing the current map extent
+     */
+    double calculateGeographicDistance(QgsRect &mapExtent);
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgssinglesymbolrenderer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgssinglesymbolrenderer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgssinglesymbolrenderer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,38 @@
+/**Render class to display all the features with a single QgsSymbol*/
+class QgsSingleSymbolRenderer : QgsRenderer
+{
+%TypeHeaderCode
+#include <qgssinglesymbolrenderer.h>
+%End
+
+ public:
+    QgsSingleSymbolRenderer(QGis::VectorType type);
+    QgsSingleSymbolRenderer(const QgsSingleSymbolRenderer& other);
+    virtual ~QgsSingleSymbolRenderer();
+    /**Replaces the current mSymbol by sy*/
+    void addSymbol(QgsSymbol* sy);
+    /*Returns a pointer to mSymbol*/
+    const QgsSymbol* symbol() const;
+    /**Renders an OGRFeature*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected, double widthScale = 1);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file*/
+    /*virtual void writeXML(std::ostream& xml);*/
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /**Returns false, no attributes neede for single symbol*/
+    bool needsAttributes() const;
+    /**Returns an empty list, since no classification attributes are used*/
+    QList<int> classificationAttributes() const;
+    /**Returns the renderers name*/
+    virtual QString name() const;
+    /**Returns a list containing mSymbol*/
+    const QList<QgsSymbol*> symbols() const;
+    /**Returns a deep copy of this renderer*/
+    QgsRenderer* clone() const;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsspatialindex.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsspatialindex.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsspatialindex.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,44 @@
+
+class QgsSpatialIndex
+{
+%TypeHeaderCode
+#include "qgsspatialindex.h"
+%End
+
+public:
+
+  /* creation of spatial index */
+
+  /** create new spatial index that will be stored in memory */
+  //static QgsSpatialIndex* createMemoryIndex();
+
+  /** create new spatial index that stores its data on disk */
+  //static QgsSpatialIndex* createDiskIndex(QString fileName);
+
+  /** constructor - creates R-tree */
+  QgsSpatialIndex();
+  
+  /** destructor finalizes work with spatial index */
+  ~QgsSpatialIndex();
+
+
+  /* operations */
+
+  /** add feature to index */
+  bool insertFeature(QgsFeature& f);
+
+  /** remove feature from index */
+  bool deleteFeature(QgsFeature& f);
+
+
+  /* queries */
+
+  /** returns features that intersect the specified rectangle */
+  QList<int> intersects(QgsRect rect);
+
+  /** returns nearest neighbors (their count is specified by second parameter) */
+  QList<int> nearestNeighbor(QgsPoint point, int neighbors);
+
+
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsspatialrefsys.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsspatialrefsys.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsspatialrefsys.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,297 @@
+
+/*!
+ * \class QgsSpatialRefSys
+ * \brief Class for storing a spatial reference system (SRS)
+ */ 
+class QgsSpatialRefSys
+{
+%TypeHeaderCode
+#include <qgsspatialrefsys.h>
+%End
+    public:
+
+//      typedef void (*CUSTOM_SRS_VALIDATION)(QgsSpatialRefSys*);
+      
+        enum SRS_TYPE {
+          QGIS_SRSID,
+          POSTGIS_SRID,
+          EPSG
+        };
+        
+        //! Default constructor
+        QgsSpatialRefSys();
+        
+        /*! 
+         * Constructs a SRS object from a WKT string
+         * @param theWkt A String containing a valid Wkt def
+         */
+        explicit QgsSpatialRefSys(QString theWkt);
+
+        /*! Use this constructor when you want to create a SRS object using 
+         *  a postgis SRID, an EPSG id or a QGIS SRS_ID.
+         * @param theId The ID no valid for the chosen coordinate system id type
+         * @param theType One of the types described in QgsSpatialRefSys::SRS_TYPE
+         */
+        QgsSpatialRefSys(const long theId, SRS_TYPE theType=POSTGIS_SRID);
+
+
+        // Misc helper functions -----------------------
+
+        void createFromId(const long theId, SRS_TYPE theType=POSTGIS_SRID);
+
+        /**
+         * \brief Set up this SRS from the given OGC CRS
+         *
+         * Sets this SRS to the given OGC WMS-format Coordinate Reference Systems.
+         *
+         * \note This function only deals with EPSG labels only at this time.
+         *
+         * \retval FALSE if not given an EPSG label
+         */
+        bool createFromOgcWmsCrs(QString theCrs);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @param theSrid The postgis SRID for the desired spatial reference system.
+         */
+        bool createFromSrid(const long theSrid);
+
+        /*! Set up this srs using a WKT spatial ref sys definition. 
+         * The wkt will be converted to a proj4 string using OGR helper
+         * functions. After this the srs databasses will be searched for matches.
+         * First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @note SRID and EPSG may be blank if no match can be found on srs db.
+         * @param theWkt The WKT for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromWkt(const QString theWkt);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @param theEpsg The EPSG for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromEpsg(const long theEpsg);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. If the srsid is < 100000, only the system srs.db 
+         * will be checked. If the srsid > 100000 the srs will be retrieved from 
+         * the ~/.qgis/qgis.db
+         * @note Any members will be overwritten during this process.
+         * @param theSrsId The QGIS SrsId for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromSrsId (const long theSrsId);
+
+        /*! Set up this srs by passing it a proj4 style formatted string.
+         * The string will be parsed and the projection and ellipsoid
+         * members set and the remainder of the proj4 string will be stored
+         * in the parameters member. The reason for this is so that we
+         * can easily present the user with 'natural language' representation
+         * of the projection and ellipsoid by looking them up in the srs.bs sqlite 
+         * database. Also having the ellpse and proj elements stripped out
+         * is hepful to speed up globbing queries (see below).
+         * 
+         * We try to match the proj string to and srsid using the following logic: 
+         *
+         * - perform a whole text search on srs name (if not null). The srs name will 
+         *   have been set if this method has been delegated to from createFromWkt.
+         * - if the above does not match perform a whole text search on proj4 string (if not null)
+         * - if none of the above match convert the proj4 string to an OGR SRS
+         *   then check if its a geocs or a proj cs (using ogr isGeographic)
+         *   then sequentially walk through the database (first users qgis.db srs tbl then
+         *   system srs.db tbl), converting each entry into an ogr srs and using isSame
+         *   or isSameGeocs (essentially calling the == overloaded operator). We'll try to 
+         *   be smart about this and first parse out the proj and ellpse strings and only 
+         *   check for a match in entities that have the same ellps and proj entries so 
+         *   that it doesnt munch yer cpu so much.
+         *
+         * @note If the srs was not matched, we will create a new entry on the users tbl_srs 
+         *    for this srs.
+         *
+         * @param theProjString A proj4 format string
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromProj4 (const QString theProjString);
+
+        /*! Find out whether this SRS is correctly initialised and useable */
+        bool isValid() const;
+        /*! Perform some validation on this SRS. If the sts doesnt validate the
+         *  default behaviour settings for layers with unknown SRS will be 
+         * consulted and acted on accordingly. By hell or high water this
+         * method will do its best to make sure that this SRS is valid - even
+         * if that involves resorting to a hard coded default of geocs:wgs84.
+         *
+         * @note It is not usually neccessary to use this function, unless you
+         * are trying to force theis srs to be valid.
+         */
+        void validate();
+
+        /*! This is a globbing function to try to find a record in the database
+         *  that matches a SRS defined only by a proj4string. The goal is to 
+         *  learn what the tbl_srs.srs_id value is for the SRS. Internally 
+         *  the source SRS is converted to and OGR srs object using the proj4string
+         *  and then every record in the database that matches projection and ellipsoid
+         *  will be converted to an OGR srs in turn and compared to the source SRS.
+         *  There are some gotchas with using ogr isSame() srs comparison, but
+         *  its more effective than using straight string comparison of proj4params.
+         *  @note The ellipsoid and projection acronyms must be set as well as the proj4string!
+         *  @return lomg the SrsId of the matched SRS
+         */
+        long findMatchingProj();
+         
+        /*! A string based associative array used for passing records around */
+        typedef QMap<QString, QString> RecordMap;
+        /*! Get a record from the srs.db or qgis.db backends, given an sql statment.
+         * @note only handles queries that return a single record.
+         * @note it will first try the system srs.db then the users qgis.db!
+         * @param QString The sql query to execute
+         * @return QMap An associative array of field name <-> value pairs
+         */
+         RecordMap getRecord(QString theSql);
+        /*! Overloaded == operator used to compare to SRS's.
+         *  Internally it will delegate to the equals method described below
+         */
+         bool operator==(const QgsSpatialRefSys &theSrs);
+        /*! Overloaded != operator used to compare to SRS's.
+          *  Returns opposite bool value to operator ==
+         */
+         bool operator!=(const QgsSpatialRefSys &theSrs);
+        /*! Overloaded == operator used to compare to SRS's.
+         *  Internally it will use OGR isSameSRS() or isSameGeoSRS() methods as appropriate.
+         *  Additionally logic may also be applied if the result from the OGR methods
+         *  is inconclusive.
+         */
+         bool equals(QString theProj4String);
+         /*! A helper to get an wkt representation of this srs
+          * @return string containing Wkt of the srs
+          */
+         QString toWkt() const;
+
+         /*! Restores state from the given DOM node.
+         * @param theNode The node from which state will be restored
+         * @return bool True on success, False on failure
+         */
+          bool readXML( QDomNode & theNode );
+        /*! Stores state to the given DOM node in the given document.
+         * Below is an example of the generated tag.
+         *  <spatialrefsys>
+         *      <proj4>+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs </proj4>
+         *       <srsid>2585</srsid>
+         *       <srid>4326</srid>
+         *       <epsg>4326</epsg>
+         *       <description>WGS 84</description>
+         *       <projectionacronym>longlat</projectionacronym>
+         *       <ellipsoidacronym>WGS84</ellipsoidacronym>
+         *   </spatialrefsys>
+         * @param theNode The node in which state will be restored
+         * @param theDom The document in which state will be stored
+         * @return bool True on success, False on failure
+         */
+          bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
+
+         /** A static helper function to find out the proj4 string for a srsid
+           * @param int theSrsId The srsid used for the lookup
+           * @return QString The proj4 string
+         */
+         static QString getProj4FromSrsId(const int theSrsId);
+
+         /** Sets custom function to force valid SRS
+          *  QGIS uses implementation in QgisGui::customSrsValidation
+          */
+         // TODO: disabled for now, needs usage of %Method directive to pass the function
+         //static void setCustomSrsValidation(CUSTOM_SRS_VALIDATION f);
+         
+        // Accessors -----------------------------------
+
+         /*! Get the SrsId - if possible
+         *  @return  long theSrsId The internal sqlite3 srs.db primary key for this srs 
+         */
+        long srsid() const;
+        /*! Get the Postgis SRID - if possible.
+        *  @return  long theSRID The internal postgis SRID for this SRS
+        */
+        long srid() const;
+        /*! Get the Description
+         * @return  QString the Description A textual description of the srs.
+         * @note A zero length string will be returned if the description is uninitialised
+         */
+        QString description () const;
+        /*! Get the Projection Acronym
+         * @return  QString theProjectionAcronym The official proj4 acronym for the projection family
+         * @note A zero length string will be returned if the projectionAcronym is uninitialised
+         */
+        QString projectionAcronym() const;
+        /*! Get the Ellipsoid Acronym
+         * @return  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
+         * @note A zero length string will be returned if the ellipsoidAcronym is uninitialised
+         */
+        QString ellipsoidAcronym () const;
+        /** Get the Proj Proj4String. If proj and ellps keys are found in the parameters,
+         * they will be stripped out and the Projection and ellipsoid acronyms will be
+         * overridden with these.
+         * @return  QString theProj4String Proj4 format specifies that define this srs.
+         * @note A zero length string will be returned if the proj4String is uninitialised
+         */
+        QString proj4String() const;
+        /*! Get this Geographic? flag
+         * @return  bool theGeoFlag Whether this is a geographic or projected coordinate system
+         */
+        bool geographicFlag () const;
+        /*! Get the units that the projection is in
+         * @return QGis::units that gives the units for the coordinate system
+         */
+        QGis::units mapUnits() const;
+
+        /*! Set the postgis srid for this srs
+         * @return  long theSRID the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
+         */
+        long postgisSrid () const;
+        /*! Set the EPSG identifier for this srs
+         * @return  long theEpsg the ESPG identifier for this srs (defaults to 0)
+         */
+        long epsg () const;
+
+        // Mutators -----------------------------------
+
+        /*! Set the QGIS  SrsId
+         *  @param  long theSrsId The internal sqlite3 srs.db primary key for this srs 
+         */
+        void setSrsId(long theSrsId);
+        /*! Set the postgis srid
+         *  @param  long theSrsId The postgis spatial_ref_sys key for this srs 
+         */
+        void setSrid(long theSrid);
+        /*! Set the Description
+         * @param  QString the Description A textual description of the srs.
+         */
+        void setDescription (QString theDescription);
+        /* Set the Proj Proj4String. 
+         * @param  QString theProj4String Proj4 format specifies (excluding proj and ellips) that define this srs.
+         */
+        void setProj4String (QString theProj4String);
+        /*! Set this Geographic? flag
+         * @param  bool theGeoFlag Whether this is a geographic or projected coordinate system
+         */
+        void setGeographicFlag (bool theGeoFlag);
+        /*! Set the EPSG identifier for this srs
+         * @param  long theEpsg the ESPG identifier for this srs (defaults to 0)
+         */
+        void setEpsg (long theEpsg);
+        /*! Set the projection acronym
+         * @param QString the acronym (must be a valid proj4 projection acronym)
+         */
+        void setProjectionAcronym(QString theProjectionAcronym);
+        /*! Set the ellipsoid acronym
+         * @param QString the acronym (must be a valid proj4 ellipsoid acronym)
+         */
+        void setEllipsoidAcronym(QString theEllipsoidAcronym);
+};
+
+

Added: packages/qgis/branches/upstream/current/python/core/qgssymbol.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgssymbol.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgssymbol.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,82 @@
+
+class QgsSymbol
+{
+%TypeHeaderCode
+#include <qgssymbol.h>
+%End
+
+ public:
+    /**Constructor*/
+    QgsSymbol(QGis::VectorType t, QString lvalue="", QString uvalue="", QString label="");
+    /**Constructor*/
+    QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label, QColor c);
+    QgsSymbol(const QgsSymbol&);
+    /**old constructors*/
+    QgsSymbol();
+    QgsSymbol(QColor c);
+    /**Sets the brush*/
+    virtual void setBrush(QBrush b);
+    /**Gets a reference to m_brush, Don't use the brush to change color/style */
+    virtual const QBrush& brush() const;
+    /**Set the color*/
+    virtual void setColor(QColor c);
+    /**Get the current color*/
+    virtual QColor color() const;
+    /**Get the fill color*/
+    virtual QColor fillColor() const;
+    /**Sets the fill color*/
+    virtual void setFillColor(QColor c);
+    /**Get the line width*/
+    virtual int lineWidth() const;
+    /**Sets the line width*/
+    virtual void setLineWidth(int w);
+    /**Sets the pen*/
+    virtual void setPen(QPen p);
+    /**Gets a reference to m_pen. Don't use the pen to change color/style  */
+    virtual const QPen& pen() const;
+
+    /**Set the line (pen) style*/
+    virtual void setLineStyle(Qt::PenStyle s);
+    /**Set the fill (brush) style*/
+    virtual void setFillStyle(Qt::BrushStyle s);
+    virtual void setLowerValue(QString value);
+    virtual QString lowerValue() const;
+    virtual void setUpperValue(QString value);
+    virtual QString upperValue() const;
+    virtual void setLabel(QString label);
+    virtual QString label() const;
+
+    /**Set point symbol from name*/
+    virtual void setNamedPointSymbol(QString name);
+    /**Get point symbol*/
+    virtual QString pointSymbolName() const;
+    /**Set size*/
+    virtual void setPointSize(int s);
+    /**Get size*/
+    virtual int pointSize() const;
+    //! Destructor
+    virtual ~QgsSymbol();
+
+    //! Get a little icon for the legend
+    virtual QImage getLineSymbolAsImage();
+
+    //! Get a little icon for the legend
+    virtual QImage getPolygonSymbolAsImage();
+    
+    /** Get QImage representation of point symbol with current settings
+      */
+    virtual QImage getPointSymbolAsImage( double widthScale = 1, 
+	               bool selected = false, QColor selectionColor = Qt::yellow );
+
+    /**Writes the contents of the symbol to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & item, QDomDocument & document ) const;
+    /**Reads the contents of the symbol from a configuration file
+     @ return true in case of success*/
+    virtual bool readXML( QDomNode & symbol );
+    /**Returns if this symbol is point/ line or polygon*/
+    QGis::VectorType type() const;
+
+};
+
+

Added: packages/qgis/branches/upstream/current/python/core/qgssymbologyutils.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgssymbologyutils.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgssymbologyutils.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,24 @@
+
+/**Namespace containing static methods which are useful for the symbology widgets*/
+namespace QgsSymbologyUtils
+{
+%TypeHeaderCode
+#include <qgssymbologyutils.h>
+%End
+
+    QPixmap qString2LinePixmap(QString string);
+    QPixmap char2LinePixmap(const char* c);
+    QPixmap qString2PatternPixmap(QString string);
+    QPixmap char2PatternPixmap(const char* c);
+    QString penStyle2QString(Qt::PenStyle penstyle);
+    const char* penStyle2Char(Qt::PenStyle penstyle);
+    QPixmap penStyle2Pixmap(Qt::PenStyle penstyle);
+    Qt::PenStyle qString2PenStyle(QString string);
+    Qt::PenStyle char2PenStyle(const char* c);
+    QString brushStyle2QString(Qt::BrushStyle brushstyle);
+    const char* brushStyle2Char(Qt::BrushStyle brushstyle);
+    QPixmap brushStyle2Pixmap(Qt::BrushStyle brushstyle);
+    Qt::BrushStyle qString2BrushStyle(QString string);
+    Qt::BrushStyle char2BrushStyle(const char* c);
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsuniquevaluerenderer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsuniquevaluerenderer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsuniquevaluerenderer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,40 @@
+class QgsUniqueValueRenderer : QgsRenderer
+{
+%TypeHeaderCode
+#include <qgsuniquevaluerenderer.h>
+%End
+
+ public:
+    QgsUniqueValueRenderer(QGis::VectorType type);
+    QgsUniqueValueRenderer(const QgsUniqueValueRenderer& other);
+    virtual ~QgsUniqueValueRenderer();
+    /** Determines if a feature will be rendered or not 
+	@param f a pointer to the feature to determine if rendering will happen*/
+    bool willRenderFeature(QgsFeature *f);
+    void renderFeature(QPainter* p, QgsFeature& f,QImage* img, double* scalefactor, bool selected, double widthScale = 1);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true, if attribute values are used by the renderer and false otherwise*/
+    bool needsAttributes() const;
+    /**Returns a list with indexes of classification attributes*/
+    QList<int> classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Inserts an entry into mEntries. The render items have to be created with the new operator and are automatically destroyed if not needed anymore*/
+    void insertValue(QString name, QgsSymbol* symbol);
+    /**Removes all entries from mEntries*/
+    void clearValues();
+    /**Sets the Field index used for classification*/
+    void setClassificationField(int field);
+    /**Returns the index of the classification field*/
+    int classificationField();
+    /**Return symbology items*/
+    const QList<QgsSymbol*> symbols() const;
+    QgsRenderer* clone() const;
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsvectordataprovider.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsvectordataprovider.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsvectordataprovider.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,406 @@
+
+%ModuleHeaderCode
+// From Python 2.5, some functions use Py_ssize_t instead of int
+// thus this typedef is for maintaining backward compatibility
+// for older versions of Python
+#if (PY_VERSION_HEX < 0x02050000)
+typedef int Py_ssize_t;
+#endif
+%End
+
+%MappedType QSet<int>
+{
+%TypeHeaderCode
+#include <QSet>
+%End
+
+%ConvertFromTypeCode
+  // Create the list.
+  PyObject *l;
+
+  if ((l = PyList_New(sipCpp->size())) == NULL)
+    return NULL;
+      
+  // Set the list elements.
+  QSet<int>::iterator it = sipCpp->begin();
+  for (int i = 0; it != sipCpp->end(); ++it, ++i)
+  {
+    PyObject *tobj;
+
+    if ((tobj = PyInt_FromLong(*it)) == NULL)
+    {
+      Py_DECREF(l);
+      return NULL;
+    }
+    PyList_SET_ITEM(l, i, tobj);
+  }
+
+  return l;
+%End
+
+%ConvertToTypeCode
+  // Check the type if that is all that is required.
+  if (sipIsErr == NULL)
+    return PyList_Check(sipPy);
+
+  QSet<int> *qset = new QSet<int>;
+
+  for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+  {
+    qset->insert(PyInt_AsLong(PyList_GET_ITEM(sipPy, i)));
+  }
+
+  *sipCppPtr = qset;
+  return sipGetState(sipTransferObj);
+%End
+
+};
+
+
+template<TYPE>
+%MappedType QMap<int, QMap<int, TYPE> >
+{
+%TypeHeaderCode
+#include <QMap>
+%End
+
+%ConvertFromTypeCode
+  // Create the list.
+  PyObject *d;
+
+  if ((d = PyDict_New()) == NULL)
+    return NULL;
+      
+  const sipMappedType* qmap2 = sipFindMappedType("QMap<int, TYPE>");
+      
+  // Set the list elements.
+  for (QMap<int, QMap<int, TYPE> >::iterator it = sipCpp->begin(); it != sipCpp->end(); ++it)
+  {
+    QMap<int, TYPE>* t = new QMap<int, TYPE>(*it);
+    
+    PyObject *kobj = PyInt_FromLong(it.key());
+    PyObject *tobj = sipConvertFromMappedType(t, qmap2, sipTransferObj);
+
+    if (kobj == NULL || tobj == NULL || PyDict_SetItem(d, kobj, tobj) < 0)
+    {
+      Py_DECREF(d);
+      
+      if (kobj)
+        Py_DECREF(kobj);
+
+      if (tobj)
+        Py_DECREF(tobj);
+      else
+        delete t;
+
+      return NULL;
+    }
+  
+    Py_DECREF(kobj);
+    Py_DECREF(tobj);
+  }
+ 
+  return d;
+%End
+
+%ConvertToTypeCode
+  PyObject *kobj, *tobj, *kobj2, *tobj2;
+
+  // Check the type if that is all that is required.
+  if (sipIsErr == NULL)
+  {
+    if (!PyDict_Check(sipPy))
+      return 0;
+
+    Py_ssize_t i = 0;
+    while (PyDict_Next(sipPy, &i, &kobj, &tobj))
+    {
+      if (!PyDict_Check(tobj))
+        return 0;
+        
+      Py_ssize_t j = 0;
+      while (PyDict_Next(tobj, &j, &kobj2, &tobj2))
+      {
+        if (!sipCanConvertToInstance(tobj2, sipClass_TYPE, SIP_NOT_NONE))
+          return 0;
+      }
+      
+    }
+    return 1;
+  }
+  
+  QMap<int, QMap<int, TYPE> > *qm = new QMap<int, QMap<int, TYPE> >;
+  
+
+  Py_ssize_t i = 0;
+  while (PyDict_Next(sipPy, &i, &kobj, &tobj))
+  {
+    int k = PyInt_AsLong(kobj);
+    
+    // using sipConvertToMappedType to convert directly to QMap<int, TYPE> doesn't work
+    // and ends with a segfault
+    
+    QMap<int, TYPE> qm2;
+    
+    Py_ssize_t j = 0;
+    while (PyDict_Next(tobj, &j, &kobj2, &tobj2))
+    {
+      int k2 = PyInt_AsLong(kobj2);
+      int state;
+      
+      TYPE* fa = reinterpret_cast<TYPE*>(sipConvertToInstance(tobj2, sipClass_TYPE, sipTransferObj,SIP_NOT_NONE,&state,sipIsErr));
+      
+      if (*sipIsErr)
+      {
+        sipReleaseInstance(tobj2, sipClass_TYPE, state);
+        delete qm;
+        return 0;
+      }
+      
+      qm2.insert(k2, *fa);
+      sipReleaseInstance(tobj2, sipClass_TYPE, state);
+    }
+    qm->insert(k, qm2);
+  }
+
+  *sipCppPtr = qm;
+  return sipGetState(sipTransferObj);
+%End
+
+};
+
+
+
+
+class QgsVectorDataProvider : QgsDataProvider
+{
+%TypeHeaderCode
+#include <qgsvectordataprovider.h>
+%End
+
+    public:
+
+      // If you add to this, please also add to capabilitiesString()
+      /**
+       * enumeration with capabilities that providers might implement
+       */
+      enum Capability
+      {
+        NoCapabilities =               0,
+        AddFeatures =                  1,
+        DeleteFeatures =               2,
+        ChangeAttributeValues =        4,
+        AddAttributes =                8,
+        DeleteAttributes =             16,
+        SaveAsShapefile =              32,
+        CreateSpatialIndex =           64,
+        SelectAtId =                   128,
+        ChangeGeometries =             256,
+        SelectGeometryAtId =           512,
+        RandomSelectGeometryAtId =     1024,
+        SequentialSelectGeometryAtId = 2048
+      };
+
+      /**
+       * Constructor of the vector provider
+       * @param uri  uniform resource locator (URI) for a dataset
+       */
+      QgsVectorDataProvider(QString uri = QString());
+
+      /**
+       * Destructor
+       */
+      virtual ~QgsVectorDataProvider();
+
+      /**
+       * Returns the permanent storage type for this layer as a friendly name.
+       */
+      virtual QString storageType() const;
+
+      /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+       * @param fetchAttributes list of attributes which should be fetched
+       * @param rect spatial filter
+       * @param fetchGeometry true if the feature geometry should be fetched
+       * @param useIntersect true if an accurate intersection test should be used,
+       *                     false if a test based on bounding box is sufficient
+       */
+      virtual void select(QList<int> fetchAttributes = QList<int>(),
+                          QgsRect rect = QgsRect(),
+                          bool fetchGeometry = true,
+                          bool useIntersect = false) = 0;
+
+      /**
+       * Update the feature count based on current spatial filter. If not
+       * overridden in the data provider this function returns -1
+       */
+      virtual long updateFeatureCount();
+
+      /** 
+       * Gets the feature at the given feature ID.
+       * @param featureId id of the feature
+       * @param feature feature which will receive the data
+       * @param fetchGeoemtry if true, geometry will be fetched from the provider
+       * @param fetchAttributes a list containing the indexes of the attribute fields to copy
+       * @return True when feature was found, otherwise false
+       */
+      virtual bool getFeatureAtId(int featureId,
+                                  QgsFeature& feature,
+                                  bool fetchGeometry = true,
+                                  QList<int> fetchAttributes = QList<int>());
+
+      /**
+       * Get the next feature resulting from a select operation.
+       * @param feature feature which will receive data from the provider
+       * @return true when there was a feature to fetch, false when end was hit
+       */
+      virtual bool getNextFeature(QgsFeature& feature) = 0;
+
+      /**
+       * Get feature type.
+       * @return int representing the feature type
+       */
+      virtual QGis::WKBTYPE geometryType() const = 0;
+
+
+      /**
+       * Number of features in the layer
+       * @return long containing number of features
+       */
+      virtual long featureCount() const = 0;
+
+      /**
+       * Number of attribute fields for a feature in the layer
+       */
+      virtual uint fieldCount() const = 0;
+
+      /**
+       * Return a map of indexes with field names for this layer
+       * @return map of fields
+       */
+      virtual const QMap<int, QgsField> & fields() const = 0;
+
+      /**
+       * Return a short comment for the data that this provider is
+       * providing access to (e.g. the comment for postgres table).
+       */
+      virtual QString dataComment() const;
+      
+      /** Restart reading features from previous select operation */
+      virtual void reset() = 0;
+
+      /**
+       * Returns the minimum value of an attributs
+       * @param index the index of the attribute
+       *
+       * Default implementation walks all numeric attributes and caches minimal
+       * and maximal values. If provider has facilities to retreive minimal
+       * value directly, override this function.
+       */
+      virtual QVariant minValue(int index);
+
+      /**
+       * Returns the maximum value of an attributs
+       * @param index the index of the attribute
+       *
+       * Default implementation walks all numeric attributes and caches minimal
+       * and maximal values. If provider has facilities to retreive maximal
+       * value directly, override this function.
+       */
+      virtual QVariant maxValue(int index);
+
+      /**
+       * Adds a list of features
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool addFeatures(QList<QgsFeature> & flist);
+
+      /** 
+       * Deletes a feature
+       * @param id list containing feature ids to delete
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool deleteFeatures(const QSet<int> & id);
+
+      /**
+       * Adds new attributes
+       * @param attributes map with attribute name as key and type as value
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool addAttributes(const QMap<QString, QString> & attributes);
+
+      /**
+       * Deletes existing attributes
+       * @param attributes a set containing indexes of attributes
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool deleteAttributes(const QSet<int> & attributes);
+
+      /**
+       * Changes attribute values of existing features.
+       * @param attr_map a map containing changed attributes
+       * @return true in case of success and false in case of failure 
+       */
+      virtual bool changeAttributeValues(const QMap<int, QMap<int, QVariant> > & attr_map);
+
+      /**
+       * Returns the default value for field specified by @c fieldId
+       */
+      virtual QVariant getDefaultValue(int fieldId);
+
+      /**
+       * Changes geometries of existing features
+       * @param geometry_map   A std::map containing the feature IDs to change the geometries of. 
+       *                       the second map parameter being the new geometries themselves
+       * @return               true in case of success and false in case of failure
+       */
+      virtual bool changeGeometryValues(QMap<int, QgsGeometry> & geometry_map);
+
+      /**
+       * Creates a spatial index on the datasource (if supported by the provider type).
+       * @return true in case of success
+       */
+      virtual bool createSpatialIndex();
+
+      /** Returns a bitmask containing the supported capabilities
+          Note, some capabilities may change depending on whether
+          a spatial filter is active on this provider, so it may
+          be prudent to check this value per intended operation.
+       */
+      virtual int capabilities() const;
+
+      /**
+       *  Returns the above in friendly format.
+       */
+      QString capabilitiesString() const;
+
+      /**
+       * Set encoding used for accessing data from layer
+       */
+      virtual void setEncoding(const QString& e);
+      
+      /**
+       * Get encoding which is used for accessing data
+       */
+      QString encoding() const;
+      
+      /**
+       * Returns the index of a field name or -1 if the field does not exist
+       */
+      int indexFromFieldName(const QString& fieldName) const;
+      
+      /**
+       * Return list of indexes to fetch all attributes in getNextFeature()
+       */
+      QList<int> allAttributesList();
+
+      /**Returns the names of the numerical types*/
+      // TODO: wrap, must wrap QSet<TYPE> first
+      //const QSet<QString>& supportedNativeTypes() const;
+      
+      /**
+       * Set whether provider should return also features that don't have
+       * associated geometry. FALSE by default
+       */
+      void setFetchFeaturesWithoutGeom(bool fetch);
+
+};

Added: packages/qgis/branches/upstream/current/python/core/qgsvectorfilewriter.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsvectorfilewriter.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsvectorfilewriter.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,51 @@
+
+/**
+ There are two possibilities how to use this class:
+ 1. static call to QgsVectorFileWriter::writeAsShapefile(...) which saves the whole vector layer
+ 2. create an instance of the class and issue calls to addFeature(...)
+
+ Currently supports only writing to shapefiles, but shouldn't be a problem to add capability
+ to support other OGR-writable formats.
+ */
+class QgsVectorFileWriter
+{
+%TypeHeaderCode
+#include <qgsvectorfilewriter.h>
+#include <qgsfield.h>
+%End
+
+public:
+      
+    enum WriterError
+    {
+      NoError = 0,
+      ErrDriverNotFound,
+      ErrCreateDataSource,
+      ErrCreateLayer
+    };
+
+    /** Write contents of vector layer to a shapefile */
+    static WriterError writeAsShapefile(QgsVectorLayer* layer,
+                                        const QString& shapefileName,
+                                        const QString& fileEncoding,
+                                        bool onlySelected = FALSE);
+
+
+    /** create shapefile and initialize it */
+    QgsVectorFileWriter(const QString& shapefileName,
+                        const QString& fileEncoding,
+                        const QMap<int, QgsField>& fields,
+                        QGis::WKBTYPE geometryType,
+                        const QgsSpatialRefSys* srs);
+    
+    /** checks whether there were any errors in constructor */
+    WriterError hasError();
+    
+    /** add feature to the currently opened shapefile */
+    bool addFeature(QgsFeature& feature);
+    
+    /** close opened shapefile for writing */
+    ~QgsVectorFileWriter();
+    
+};
+

Added: packages/qgis/branches/upstream/current/python/core/qgsvectorlayer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/core/qgsvectorlayer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/core/qgsvectorlayer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,350 @@
+
+
+class QgsVectorLayer : QgsMapLayer
+{
+%TypeHeaderCode
+#include <qgsvectorlayer.h>
+%End
+
+public:
+
+  /** Constructor */
+  QgsVectorLayer(QString baseName = 0, QString path = 0, QString providerLib = 0);
+
+  /** Destructor */
+  virtual ~QgsVectorLayer();
+
+  /** Returns the permanent storage type for this layer as a friendly name. */
+  QString storageType() const;
+
+  /** Capabilities for this layer in a friendly format. */
+  QString capabilitiesString() const;
+  
+  /** Returns a comment for the data in the layer */
+  QString dataComment() const;
+  
+  /** Set the primary display field to be used in the identify results dialog */
+  void setDisplayField(QString fldName=0);
+
+  /** Returns the primary display field name used in the identify results dialog */
+  const QString displayField() const;
+
+  /** bind layer to a specific data provider
+     @param provider should be "postgres", "ogr", or ??
+     @todo XXX should this return bool?  Throw exceptions?
+  */
+  bool setDataProvider(const QString & provider );
+  
+  /** Returns the data provider */
+  QgsVectorDataProvider* getDataProvider();
+
+  /** Returns the data provider in a const-correct manner */
+  //const QgsVectorDataProvider* getDataProvider() const;
+
+  /** Sets the textencoding of the data provider */
+  void setProviderEncoding(const QString& encoding);
+
+  /** Setup the coordinate system tranformation for the layer */
+  void setCoordinateSystem();
+
+  QgsLabel *label();
+
+  // TODO: wrap QgsAttributeAction* actions();
+
+  /** The number of features that are selected in this layer */
+  int selectedFeatureCount();
+  
+  /** Select features found within the search rectangle (in layer's coordinates) */
+  void select(QgsRect & rect, bool lock);
+  
+  /** Select not selected features and deselect selected ones */
+  void invertSelection();
+
+  /** Get a copy of the user-selected features */  
+  QList<QgsFeature> selectedFeatures();
+  
+  /** Return reference to identifiers of selected features */
+  const QSet<int>& selectedFeaturesIds() const;
+  
+  /** Change selection to the new set of features */
+  void setSelectedFeatures(const QSet<int>& ids);
+
+  /** Returns the bounding box of the selected features. If there is no selection, QgsRect(0,0,0,0) is returned */
+  QgsRect boundingBoxOfSelected();
+
+  
+  /** Insert a copy of the given features into the layer */
+  bool addFeatures(QList<QgsFeature> features, bool makeSelected = TRUE);
+
+  /** Copies the symbology settings from another layer. Returns true in case of success */
+  bool copySymbologySettings(const QgsMapLayer& other);
+
+  /** Returns true if this layer can be in the same symbology group with another layer */
+  bool isSymbologyCompatible(const QgsMapLayer& other) const;
+  
+  /** Returns a pointer to the renderer */
+  const QgsRenderer* renderer() const;
+
+  /** Sets the renderer. If a renderer is already present, it is deleted */
+  void setRenderer(QgsRenderer * r /Transfer/);
+
+  /** Returns point, line or polygon */
+  QGis::VectorType vectorType() const;
+
+  /**Returns the WKBType or WKBUnknown in case of error*/
+  QGis::WKBTYPE geometryType() const;
+
+  /** Return the provider type for this layer */
+  QString providerType() const;
+
+  /** reads vector layer specific state from project file DOM node.
+   *  @note Called by QgsMapLayer::readXML().
+   */
+  virtual bool readXML_( QDomNode & layer_node );
+
+  /** write vector layer specific state to project file DOM node.
+   *  @note Called by QgsMapLayer::writeXML().
+   */
+  virtual bool writeXML_( QDomNode & layer_node, QDomDocument & doc );
+
+
+  /**
+   * Number of features in the layer. This is necessary if features are
+   * added/deleted or the layer has been subsetted. If the data provider
+   * chooses not to support this feature, the total number of features
+   * can be returned.
+   * @return long containing number of features
+   */
+  virtual long featureCount() const;
+
+  /** Update the feature count 
+   * @return long containing the number of features in the datasource
+   */
+  virtual long updateFeatureCount() const;
+
+  /**
+   * Set the string (typically sql) used to define a subset of the layer
+   * @param subset The subset string. This may be the where clause of a sql statement
+   *               or other defintion string specific to the underlying dataprovider
+   *               and data store.
+   */
+  virtual void setSubsetString(QString subset);
+
+  /**
+   * Get the string (typically sql) used to define a subset of the layer
+   * @return The subset string or QString::null if not implemented by the provider
+   */
+  virtual QString subsetString();
+
+  /** Adds a feature
+      @param lastFeatureInBatch  If True, will also go to the effort of e.g. updating the extents.
+      @return                    Irue in case of success and False in case of error
+   */
+  bool addFeature(QgsFeature& f, bool alsoUpdateExtent = TRUE);
+  
+  
+  /** Insert a new vertex before the given vertex number,
+   *  in the given ring, item (first number is index 0), and feature
+   *  Not meaningful for Point geometries
+   */
+  bool insertVertexBefore(double x, double y, int atFeatureId,
+                          QgsGeometryVertexIndex beforeVertex);
+
+  /** Moves the vertex at the given position number,
+   *  ring and item (first number is index 0), and feature
+   *  to the given coordinates
+   */
+  bool moveVertexAt(double x, double y, int atFeatureId,
+                    QgsGeometryVertexIndex atVertex);
+
+  /** Deletes the vertex at the given position number,
+   *  ring and item (first number is index 0), and feature
+   */
+  bool deleteVertexAt(int atFeatureId,
+                      QgsGeometryVertexIndex atVertex);
+
+  /** Deletes the selected features
+   *  @return true in case of success and false otherwise
+   */
+  bool deleteSelectedFeatures();
+
+  /**Adds a ring to polygon/multipolygon features
+   @return 0 in case of success, 1 problem with feature type, 2 ring not closed, 3 ring not valid, 4 ring crosses \
+existing rings, 5 no feature found where ring can be inserted*/
+  int addRing(const QList<QgsPoint>& ring);
+
+  /**Adds a new island polygon to a multipolygon feature
+   @return 0 in case of success, 1 if selected feature is not multipolygon, 2 if ring is not a valid geometry, \
+3 if new polygon ring not disjoint with existing rings, 4 if no feature was selected, 5 if several features are selected, \
+6 if selected geometry not found*/
+  int addIsland(const QList<QgsPoint>& ring);
+
+  /** Set labels on */
+  void setLabelOn( bool on );
+
+  /** Label is on */
+  bool labelOn( );
+
+  /** Returns true if the provider is in editing mode */
+  virtual bool isEditable() const;
+
+  /** Returns true if the provider has been modified since the last commit */
+  virtual bool isModified() const;
+
+  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
+     @param point       The point which is set to the position of a vertex if there is one within the snapping tolerance.
+     If there is no point within this tolerance, point is left unchanged.
+     @param tolerance   The snapping tolerance
+     @return true if the position of point has been changed, and false otherwise */
+  bool snapPoint(QgsPoint& point /In, Out/, double tolerance);
+
+  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
+     @param atVertex          Set to a vertex index of the snapped-to vertex
+     @param beforeVertexIndex Returns the index of the vertex before atVertex (for rubber band purposes). -1 if no vertex is before
+     @param afterVertexIndex  Returns the index of the vertex after atVertex (for rubber band purposes). -1 if no vertex is after
+     @param snappedFeatureId  Set to the feature ID that where the snapped-to vertex belongs to.
+     @param snappedGeometry   Set to the geometry that the snapped-to vertex belongs to.
+     @param tolerance         The snapping tolerance
+     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
+     
+     TODO: Handle returning multiple verticies if they are coincident
+   */
+  bool snapVertexWithContext(QgsPoint& point,
+                             QgsGeometryVertexIndex& atVertex /Out/,
+			     int& beforeVertexIndex /Out/,
+			     int& afterVertexIndex /Out/,
+                             int& snappedFeatureId /Out/,
+                             QgsGeometry& snappedGeometry /Out/,
+                             double tolerance);
+
+  /**Snaps a point to the closest line segment if there is one within the snapping tolerance
+     @param beforeVertex      Set to a value where the snapped-to segment is before this vertex index
+     @param snappedFeatureId  Set to the feature ID that where the snapped-to segment belongs to.
+     @param snappedGeometry   Set to the geometry that the snapped-to segment belongs to.
+     @param tolerance         The snapping tolerance
+     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
+     
+     TODO: Handle returning multiple lineFeatures if they are coincident
+   */
+  bool snapSegmentWithContext(QgsPoint& point /In, Out/,
+                              QgsGeometryVertexIndex& beforeVertex /Out/,
+                              int& snappedFeatureId /Out/, 
+                              QgsGeometry& snappedGeometry /Out/,
+                              double tolerance);
+
+  /**
+    Commits edited attributes. Depending on the feature id,
+    the changes are written to not commited features or redirected to
+    the data provider
+
+    The commits (in this version) occur in three distinct stages,
+    (delete attributes, add attributes, change attribute values)
+    so if a stage fails, it's difficult to roll back cleanly.
+
+    \todo Need to indicate at which stage the failed commit occurred,
+          for better cleanup and recovery from the error.
+
+    \param deleted  Set of attribute indices (i.e. columns) to delete
+    \param added    Map (name, type) of attribute names (i.e. columns) to add
+    \param changed  Map (feature ID, Map (attribute name, new value) )
+                      of attribute values to change
+
+   */
+  bool commitAttributeChanges(const QSet<int>& deleted,
+                              const QMap<QString, QString>& added,
+                              const QMap<int, QMap<int, QVariant> >& changed);
+
+  /** Draws the layer using coordinate transformation
+   *  @return FALSE if an error occurred during drawing
+   */
+  bool draw(QPainter * p,
+            QgsRect & viewExtent,
+            QgsMapToPixel * cXf,
+            QgsCoordinateTransform* ct,
+            bool drawingToEditingCanvas);
+
+  /** Draws the layer labels using coordinate transformation */
+  void drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * cXf, QgsCoordinateTransform* ct);
+
+  /** \brief Draws the layer using coordinate transformation
+   *  \param widthScale line width scale
+   *  \param symbolScale symbol scale
+   */
+  void draw(QPainter * p,
+            QgsRect & viewExtent,
+            QgsMapToPixel * cXf,
+            QgsCoordinateTransform* ct,
+            bool drawingToEditingCanvas,
+            double widthScale,
+            double symbolScale);
+
+  /** \brief Draws the layer labels using coordinate transformation
+   *  \param scale size scale, applied to all values in pixels
+   */
+  void drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * cXf, QgsCoordinateTransform* ct, double scale);
+
+  /** returns array of added features */
+  QList<QgsFeature>& addedFeatures();
+
+  /** returns array of deleted feature IDs */
+  QSet<int>& deletedFeatureIds();
+ 
+  /** returns array of features with changed attributes */
+  QMap<int, QMap<int, QVariant> >& changedAttributes();
+
+  /** Sets whether some features are modified or not */
+  void setModified(bool modified = TRUE, bool onlyGeometryWasModified = FALSE);
+  
+  /** Make layer editable */
+  bool startEditing();
+  
+  /**
+    Attempts to commit any changes to disk.  Returns the result of the attempt.
+    If a commit fails, the in-memory changes are left alone.
+
+    This allows editing to continue if the commit failed on e.g. a
+    disallowed value in a Postgres database - the user can re-edit and try
+    again.
+
+    The commits (in this version) occur in four distinct stages,
+    (add features, change attributes, change geometries, delete features)
+    so if a stage fails, it's difficult to roll back cleanly.
+    Therefore any error message also includes which stage failed so 
+    that the user has some chance of repairing the damage cleanly.
+
+   */
+  bool commitChanges();
+
+  /** Stop editing and discard the edits */
+  bool rollBack();
+
+public slots:
+
+  /** Select feature by its ID, optionally emit signal selectionChanged() */
+  void select(int featureId, bool emitSignal = TRUE);
+  
+  /** Clear selection */
+  void removeSelection(bool emitSignal = TRUE);
+
+  void triggerRepaint();
+
+  /** Update the extents for the layer. This is necessary if features are
+   *  added/deleted or the layer has been subsetted.
+   */
+  virtual void updateExtents();
+
+signals:
+
+  /** This signal is emited when selection was changed */
+  void selectionChanged();
+  
+  /** This signal is emitted when modifications has been done on layer */
+  void wasModified(bool onlyGeometry);
+
+private:                       // Private methods
+
+  /** vector layers are not copyable */
+  QgsVectorLayer( const QgsVectorLayer & rhs );
+
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/gui.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/gui.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/gui.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+
+%Module qgis.gui 0
+
+%Import QtCore/QtCoremod.sip
+%Import QtGui/QtGuimod.sip
+%Import QtXml/QtXmlmod.sip
+
+%Import core/core.sip
+
+
+%Include qgisinterface.sip
+%Include qgisplugin.sip
+%Include qgslayerprojectionselector.sip
+%Include qgsmapcanvas.sip
+%Include qgsmapcanvasitem.sip
+%Include qgsmapcanvasmap.sip
+%Include qgsmaptool.sip
+%Include qgsmaptoolemitpoint.sip
+%Include qgsmaptoolpan.sip
+%Include qgsmaptoolzoom.sip
+%Include qgsmapoverviewcanvas.sip
+%Include qgsmessageviewer.sip
+%Include qgsprojectionselector.sip
+%Include qgsrubberband.sip
+%Include qgsvertexmarker.sip
+

Added: packages/qgis/branches/upstream/current/python/gui/qgisinterface.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgisinterface.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgisinterface.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,91 @@
+
+/** 
+ * \class QgisInterface
+ * \brief Abstract base class defining interfaces exposed by QgisApp and
+ * made available to plugins.
+ *
+ * Only functionality exposed by QgisInterface can be used in plugins.
+ * This interface has to be implemented with application specific details.
+ *
+ * QGIS implements it in QgisAppInterface class, 3rd party applications
+ * could provide their own implementation to be able to use plugins.
+ */
+
+class QgisInterface : QObject
+{
+%TypeHeaderCode
+#include <qgisinterface.h>
+%End
+
+  public:
+
+    /** Constructor */
+    QgisInterface();
+
+    /** Virtual destructor */
+    virtual ~QgisInterface();
+    
+
+  public slots: // TODO: do these functions really need to be slots?
+
+    //! Zoom to full extent of map layers
+    virtual void zoomFull()=0;
+    //! Zoom to previous view extent
+    virtual void zoomPrevious()=0;
+    //! Zoome to extent of the active layer
+    virtual void zoomActiveLayer()=0;
+
+    //! Add a vector layer
+    virtual bool addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)=0;
+    //! Add a raster layer given a raster layer file name
+    virtual bool addRasterLayer(QString rasterLayerPath)=0;
+    //! Add a raster layer given a QgsRasterLayer object
+    virtual bool addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRenderFlag=false)=0;
+
+    //! Add a project
+    virtual bool addProject(QString theProject)=0; 
+    //! Start a blank project
+    virtual void newProject(bool thePromptToSaveFlag=false)=0; 
+
+    //! Get pointer to the active layer (layer selected in the legend)
+    virtual QgsMapLayer *activeLayer()=0;
+
+    //! Add an icon to the plugins toolbar
+    virtual int addToolBarIcon(QAction *qAction) =0;
+    //! Remove an action (icon) from the plugin toolbar
+    virtual void removeToolBarIcon(QAction *qAction) = 0;
+    //! Add toolbar with specified name
+    virtual QToolBar* addToolBar(QString name)=0 /Factory/;
+
+    // TODO: is this deprecated in favour of QgsContextHelp?
+    /** Open a url in the users browser. By default the QGIS doc directory is used
+     * as the base for the URL. To open a URL that is not relative to the installed
+     * QGIS documentation, set useQgisDocDirectory to false.
+     * @param url URL to open
+     * @param useQgisDocDirectory If true, the URL will be formed by concatenating 
+     * url to the QGIS documentation directory path (<prefix>/share/doc)
+     */
+    virtual void openURL(QString url, bool useQgisDocDirectory=true)=0;
+
+    /** Return a pointer to the map canvas */
+    virtual QgsMapCanvas * getMapCanvas()=0;
+
+    /** Return a pointer to the main window (instance of QgisApp in case of QGIS) */
+    virtual QWidget * getMainWindow()=0;
+
+    /** Add action to the plugins menu */
+    virtual void addPluginMenu(QString name, QAction* action)=0;
+    /** Remove action from the plugins menu */
+    virtual void removePluginMenu(QString name, QAction* action)=0;
+
+    /** Return a pointer to the toolbox (where additional pages can be inserted) */
+    virtual QToolBox* getToolBox()=0;
+
+  signals:
+    /** Emited whenever current (selected) layer changes.
+     *  The pointer to layer can be null if no layer is selected
+     */
+    void currentLayerChanged ( QgsMapLayer * layer );
+
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgisplugin.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgisplugin.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgisplugin.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,64 @@
+
+/*! \class QgisPlugin 
+ * \brief Abstract base class from which all plugins must inherit
+ *
+ */
+class QgisPlugin
+{
+%TypeHeaderCode
+#include <qgisplugin.h>
+%End
+
+  public:
+
+    //! Interface to gui element collection object
+    //virtual QgisPluginGui *gui()=0;
+    //! Element types that can be added to the interface
+    /* enum ELEMENTS {
+       MENU,
+       MENU_ITEM,
+       TOOLBAR,
+       TOOLBAR_BUTTON,
+       };
+
+       @todo XXX this may be a hint that there should be subclasses
+       */
+
+    enum PLUGINTYPE
+    {
+      UI = 1,
+      MAPLAYER,
+      RENDERER
+    };
+
+
+
+// TODO: needs %MethodCode
+    QgisPlugin ( const QString & name = "", 
+        const QString & description = "",
+        const QString & version = "",
+        PLUGINTYPE type = MAPLAYER );
+
+    virtual ~QgisPlugin();
+
+    //! Get the name of the plugin
+    QString & name(); 
+
+    //! Version of the plugin
+    QString & version();
+
+    //! A brief description of the plugin
+    QString & description();
+
+    //! Plugin type, either UI or map layer
+    PLUGINTYPE type(); 
+
+    /// function to initialize connection to GUI
+    virtual void initGui() = 0;
+
+    //! Unload the plugin and cleanup the GUI
+    virtual void unload() = 0;
+
+}; // class QgisPlugin
+
+

Added: packages/qgis/branches/upstream/current/python/gui/qgslayerprojectionselector.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgslayerprojectionselector.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgslayerprojectionselector.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,49 @@
+
+/**
+ * \class QgsLayerProjectionSelector
+ * \brief Set Projection system for a layer
+ */
+
+class QgsLayerProjectionSelector : QDialog //, private Ui::QgsLayerProjectionSelectorBase
+{
+%TypeHeaderCode
+#include <qgslayerprojectionselector.h>
+%End
+
+  public:
+    /**
+     * Constructor
+     */
+    QgsLayerProjectionSelector(QWidget *parent = 0, 
+                               Qt::WFlags fl = QgisGui::ModalDialogFlags);
+
+    //! Destructor
+    ~QgsLayerProjectionSelector();
+
+ public slots:
+      QString getCurrentProj4String();
+      long getCurrentSRSID();
+      long getCurrentEpsg();
+
+      void setSelectedSRSName(QString theName);
+      void setSelectedSRSID(long theID);
+
+      /**
+       * \brief filters this dialog by the given CRSs
+       *
+       * Sets this dialog to filter the available projections to those listed
+       * by the given Coordinate Reference Systems.
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \note This function only deals with EPSG labels only at this time.
+       *
+       * \warning This function's behaviour is undefined if it is called after the dialog is shown.
+       */
+      // TODO void setOgcWmsCrsFilter(QSet<QString> crsFilter);
+
+
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmapcanvas.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmapcanvas.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmapcanvas.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,280 @@
+
+
+
+/** \class QgsMapCanvasLayer
+  \brief class that stores additional layer's flags together with pointer to the layer
+*/
+class QgsMapCanvasLayer
+{
+%TypeHeaderCode
+#include <qgsmapcanvas.h>
+%End
+
+public:
+  QgsMapCanvasLayer(QgsMapLayer* layer, bool visible = TRUE, bool inOverview = FALSE);
+  
+  void setVisible(bool visible);
+  void setInOverview(bool inOverview);
+  
+  bool visible() const;
+  bool inOverview() const;
+  
+  QgsMapLayer* layer();
+  //const QgsMapLayer* layer() const;
+  
+};
+
+
+/*! \class QgsMapCanvas
+ * \brief Map canvas class for displaying all GIS data types.
+ */
+
+class QgsMapCanvas : QGraphicsView
+{
+%TypeHeaderCode
+#include <qgsmapcanvas.h>
+%End
+
+%ConvertToSubClassCode
+  if (dynamic_cast<QgsMapCanvas*>(sipCpp) != NULL)
+    sipClass = sipClass_QgsMapCanvas;
+  else
+    sipClass = NULL;
+%End
+
+ public:
+
+    enum WheelAction { WheelZoom, WheelZoomAndRecenter, WheelNothing };
+
+    //! Constructor
+    QgsMapCanvas(QWidget * parent /TransferThis/ = 0, const char *name = 0);
+
+    //! Destructor
+    ~QgsMapCanvas();
+
+    void setLayerSet(QList<QgsMapCanvasLayer>& layers);
+    
+    void setCurrentLayer(QgsMapLayer* layer);
+    
+    void updateOverview();
+    
+    void setOverview(QgsMapOverviewCanvas* overview);
+    
+    QgsMapCanvasMap* map();
+    
+    QgsMapRender* mapRender();
+    
+    //! Accessor for the canvas pixmap
+    QPixmap& canvasPixmap();
+
+    //! Get the last reported scale of the canvas
+    double getScale();
+
+    //! Clear the map canvas
+    void clear();
+
+    //! Returns the mupp (map units per pixel) for the canvas
+    double mupp() const;
+
+    //! Returns the current zoom exent of the map canvas
+    QgsRect extent() const;
+    //! Returns the combined exent for all layers on the map canvas
+    QgsRect fullExtent() const;
+
+    //! Set the extent of the map canvas
+    void setExtent(const QgsRect & r);
+
+    //! Zoom to the full extent of all layers
+    void zoomFullExtent();
+
+    //! Zoom to the previous extent (view)
+    void zoomPreviousExtent();
+
+    /**Zooms to the extend of the selected features*/
+    void zoomToSelected();
+
+    /** \brief Sets the map tool currently being used on the canvas */
+    void setMapTool(QgsMapTool* mapTool);
+    
+    /** \brief Unset the current mapset tool or last non zoom tool if 
+     *         it the same as passed map tool pointer. The tool is not 
+     *         referenced/used any more, but the instance is not deleted 
+     *         by this method.
+     */
+    void unsetMapTool(QgsMapTool* mapTool);
+
+    /**Returns the currently active tool*/
+    QgsMapTool* mapTool();
+    
+    /** Write property of QColor bgColor. */
+    virtual void setCanvasColor(const QColor & _newVal);
+
+    /** Emits signal scalChanged to update scale in main window */
+    void updateScale();
+
+    /** Updates the full extent */
+    void updateFullExtent();
+
+    //! return the map layer at postion index in the layer stack
+    QgsMapLayer *getZpos(int index);
+    
+    //! return number of layers on the map
+    int layerCount() const;
+
+    /*! Freeze/thaw the map canvas. This is used to prevent the canvas from
+     * responding to events while layers are being added/removed etc.
+     * @param frz Boolean specifying if the canvas should be frozen (true) or
+     * thawed (false). Default is true.
+     */
+    void freeze(bool frz = true);
+
+    /*! Accessor for frozen status of canvas */
+    bool isFrozen();
+
+    //! Flag the canvas as dirty and needed a refresh
+    void setDirty(bool _dirty);
+
+    //! Return the state of the canvas (dirty or not)
+    bool isDirty() const;
+
+    //! Set map units (needed by project properties dialog)
+    void setMapUnits(QGis::units mapUnits);
+    //! Get the current canvas map units
+
+    QGis::units mapUnits() const;
+
+    //! Get the current coordinate transform
+    QgsMapToPixel * getCoordinateTransform();
+
+    //! true if canvas currently drawing
+    bool isDrawing();
+    
+    //! returns current layer (set by legend widget)
+    QgsMapLayer* currentLayer();
+    
+    //! set wheel action and zoom factor (should be greater than 1)
+    void setWheelAction(WheelAction action, double factor = 2);
+
+    //! Zooms in/out preserving
+    void zoom(bool zoomIn);
+
+    //! Zooms in/out with a given center
+    void zoomWithCenter(int x, int y, bool zoomIn);
+
+    //! used to determine if anti-aliasing is enabled or not
+    void enableAntiAliasing(bool theFlag);
+    
+    //! Select which Qt class to render with
+    void useQImageToRender(bool theFlag);
+
+    // following 2 methods should be moved elsewhere or changed to private
+    // currently used by pan map tool
+    //! Ends pan action and redraws the canvas.
+    void panActionEnd(QPoint releasePoint);
+    //! Called when mouse is moving and pan is activated
+    void panAction(QMouseEvent * event);
+    
+    //! returns last position of mouse cursor
+    QPoint mouseLastXY();
+  
+  public slots:
+
+    /**Sets dirty=true and calls render()*/
+    void refresh();
+
+    virtual void render();
+
+    //! Save the convtents of the map canvas to disk as an image
+    void saveAsImage(QString theFileName,QPixmap * QPixmap=0, QString="PNG" );
+
+    //! This slot is connected to the visibility change of one or more layers
+    void layerStateChange();
+
+    //! Whether to suppress rendering or not
+    void setRenderFlag(bool theFlag);
+    //! State of render suppression flag
+    bool renderFlag();
+
+    /** A simple helper method to find out if on the fly projections are enabled or not */
+    bool projectionsEnabled();
+
+    /** The map units may have changed, so cope with that */
+    void mapUnitsChanged();
+    
+    /** updates pixmap on render progress */
+    void updateMap();
+    
+    //! show whatever error is exposed by the QgsMapLayer.
+    void showError(QgsMapLayer * mapLayer);
+    
+    //! called to read map canvas settings from project
+    void readProject(const QDomDocument &);
+    
+    //! called to write map canvas settings to project
+    void writeProject(QDomDocument &);
+    
+signals:
+    /** Let the owner know how far we are with render operations */
+    void setProgress(int,int);
+    /** emits current mouse position */
+    void xyCoordinates(QgsPoint & p);
+
+    //! Emitted when the scale of the map changes
+    void scaleChanged(QString);
+
+    //! Emitted when the extents of the map change
+    void extentsChanged();
+
+    /** Emitted when the canvas has rendered.
+
+     Passes a pointer to the painter on which the map was drawn. This is
+     useful for plugins that wish to draw on the map after it has been
+     rendered.  Passing the painter allows plugins to work when the map is
+     being rendered onto a pixmap other than the mapCanvas own pixmap member.
+
+    */
+    void renderComplete(QPainter *);
+    
+    //! Emitted when a new set of layers has been received
+    void layersChanged();
+
+    //! Emit key press event
+    void keyPressed(QKeyEvent * e);
+
+    //! Emit key release event
+    void keyReleased(QKeyEvent * e);
+   
+
+protected:
+
+    //! Overridden key press event
+    void keyPressEvent(QKeyEvent * e);
+
+    //! Overridden key release event
+    void keyReleaseEvent(QKeyEvent * e);
+
+    //! Overridden mouse move event
+    void mouseMoveEvent(QMouseEvent * e);
+
+    //! Overridden mouse press event
+    void mousePressEvent(QMouseEvent * e);
+
+    //! Overridden mouse release event
+    void mouseReleaseEvent(QMouseEvent * e);
+
+    //! Overridden mouse wheel event
+    void wheelEvent(QWheelEvent * e);
+
+    //! Overridden resize event
+    void resizeEvent(QResizeEvent * e);
+
+    //! called when panning is in action, reset indicates end of panning
+    void moveCanvasContents(bool reset = FALSE);
+
+    //! called on resize or changed extent to notify canvas items to change their rectangle
+    void updateCanvasItemsPositions();
+
+ 
+}; // class QgsMapCanvas
+
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasitem.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasitem.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasitem.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,52 @@
+
+class QgsMapCanvasItem : QGraphicsItem
+{
+%TypeHeaderCode
+#include <qgsmapcanvasitem.h>
+%End
+  
+  protected:
+    
+    //! protected constructor: cannot be constructed directly
+    QgsMapCanvasItem(QgsMapCanvas* mapCanvas /TransferThis/);
+
+    virtual ~QgsMapCanvasItem();
+
+    //! function to be implemented by derived classes
+    virtual void paint(QPainter * painter) = 0;
+    
+    //! paint function called by map canvas
+    virtual void paint(QPainter * painter,
+                       const QStyleOptionGraphicsItem * option,
+                       QWidget * widget = 0);
+    
+    //! schedules map canvas for repaint
+    void updateCanvas();
+    
+
+  public:
+
+    //! called on changed extent or resize event to update position of the item
+    virtual void updatePosition();
+
+    //! default implementation for canvas items
+    virtual QRectF boundingRect() const;
+
+    //! sets current offset, to be called from QgsMapCanvas
+    void setPanningOffset(const QPoint& point);
+
+    //! returns canvas item rectangle
+    QgsRect rect() const;
+    
+    //! sets canvas item rectangle
+    void setRect(const QgsRect& r);
+    
+    //! transformation from screen coordinates to map coordinates
+    QgsPoint toMapCoords(const QPoint& point);
+    
+    //! transformation from map coordinates to screen coordinates
+    QPointF toCanvasCoords(const QgsPoint& point);
+
+};
+
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasmap.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasmap.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmapcanvasmap.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,52 @@
+
+%ModuleHeaderCode
+// fix to allow compilation with sip 4.7 that for some reason
+// doesn't add this include to the file where the code from
+// ConvertToSubClassCode goes.
+#include <qgsmapcanvasmap.h>
+%End
+
+class QgsMapCanvasMap : QGraphicsRectItem
+{
+%TypeHeaderCode
+#include <qgsmapcanvasmap.h>
+%End
+
+%ConvertToSubClassCode
+	if (dynamic_cast<QgsMapCanvasMap*>(sipCpp) != NULL)
+	{
+		sipClass = sipClass_QgsMapCanvasMap;
+	}
+  else 
+  {
+    sipClass = NULL;
+  }
+%End
+
+  public:
+    
+    //! constructor
+    QgsMapCanvasMap(QgsMapCanvas* canvas /TransferThis/);
+    
+    //! resize canvas item and pixmap
+    void resize(QSize size);
+    
+    void enableAntiAliasing(bool flag);
+    
+    void useQImageToRender(bool flag);
+
+    //! renders map using QgsMapRender to mPixmap
+    void render();
+    
+    void setBgColor(const QColor& color);
+    
+    void setPanningOffset(const QPoint& point);
+    
+    QPixmap& pixmap();
+    
+    void paint(QPainter* p, const QStyleOptionGraphicsItem*, QWidget*);
+
+    QRectF boundingRect() const;
+  
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmapoverviewcanvas.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmapoverviewcanvas.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmapoverviewcanvas.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,58 @@
+
+class QgsMapOverviewCanvas : QWidget
+{
+%TypeHeaderCode
+#include <qgsmapoverviewcanvas.h>
+%End
+
+  public:
+    QgsMapOverviewCanvas(QWidget * parent = 0, QgsMapCanvas* mapCanvas = NULL);
+    
+    ~QgsMapOverviewCanvas();
+  
+    //! used for overview canvas to reflect changed extent in main map canvas
+    void reflectChangedExtent();
+
+    //! renders overview and updates panning widget
+    void refresh();
+  
+    //! changes background color
+    void setbgColor(const QColor& color);
+        
+    //! updates layer set for overview
+    void setLayerSet(const QStringList& layerSet);
+    
+    QStringList& layerSet();
+    
+    void enableAntiAliasing(bool flag);
+    
+    void updateFullExtent(const QgsRect& rect);
+    
+  public slots:
+    
+    void projectionsEnabled(bool flag);
+    
+    void destinationSrsChanged();
+    
+  protected:
+  
+    //! Overridden paint event
+    void paintEvent(QPaintEvent * pe);
+
+    //! Overridden resize event
+    void resizeEvent(QResizeEvent * e);
+
+    //! Overridden mouse move event
+    void mouseMoveEvent(QMouseEvent * e);
+
+    //! Overridden mouse press event
+    void mousePressEvent(QMouseEvent * e);
+
+    //! Overridden mouse release event
+    void mouseReleaseEvent(QMouseEvent * e);
+    
+    //! called when panning to reflect mouse movement
+    void updatePanningWidget(const QPoint& pos);
+
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmaptool.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmaptool.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmaptool.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,87 @@
+
+%ModuleHeaderCode
+// fix to allow compilation with sip 4.7 that for some reason
+// doesn't add these includes to the file where the code from
+// ConvertToSubClassCode goes.
+#include <qgsmaptoolzoom.h>
+#include <qgsmaptoolpan.h>
+#include <qgsmaptoolemitpoint.h>
+%End
+
+class QgsMapTool : QObject
+{
+%TypeHeaderCode
+#include <qgsmaptool.h>
+%End
+
+%ConvertToSubClassCode
+  if (dynamic_cast<QgsMapToolZoom*>(sipCpp) != NULL)
+    sipClass = sipClass_QgsMapToolZoom;
+  else if (dynamic_cast<QgsMapToolPan*>(sipCpp) != NULL)
+    sipClass = sipClass_QgsMapToolPan;
+  else if (dynamic_cast<QgsMapToolEmitPoint*>(sipCpp) != NULL)
+    sipClass = sipClass_QgsMapToolEmitPoint;
+  else
+    sipClass = NULL;
+%End
+
+  public:
+    
+    //! virtual destructor
+    virtual ~QgsMapTool();
+    
+    //! Mouse move event for overriding
+    virtual void canvasMoveEvent(QMouseEvent * e);
+
+    //! Mouse press event for overriding
+    virtual void canvasPressEvent(QMouseEvent * e);
+
+    //! Mouse release event for overriding
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+    
+    //! Called when rendering has finished
+    virtual void renderComplete();
+    
+    /** Use this to associate a button, toolbutton, menu entry etc
+     * that inherits qaction to this maptool. Then when the setMapTool
+     * method of mapcanvas is called the action state will be set to on.
+     * Usually this will cause e.g. a toolbutton to appear pressed in and
+     * the previously used toolbutton to pop out. */
+    void setAction(QAction* action);
+    
+    QAction* action();
+    
+    /** Check whether this MapTool performs a zoom or pan operation.
+     * If it does, we will be able to perform the zoom  and then 
+     * resume operations with the original / previously used tool.*/
+    virtual bool isZoomTool();
+    
+    //! called when set as currently active map tool
+    virtual void activate();
+    
+    //! called when map tool is being deactivated
+    virtual void deactivate();
+    
+  protected:
+
+    //! constructor takes map canvas as a parameter
+    QgsMapTool(QgsMapCanvas* canvas /TransferThis/);
+        
+    //! transformation from screen coordinates to map coordinates
+    QgsPoint toMapCoords(const QPoint& point);
+    
+    //! transformation from screen coordinates to layer's coordinates
+    QgsPoint toLayerCoords(QgsMapLayer* layer, const QPoint& point);
+    
+    //! trnasformation from map coordinates to layer's coordinates
+    QgsPoint toLayerCoords(QgsMapLayer* layer, const QgsPoint& point);
+    
+    //! trnasformation of the rect from map coordinates to layer's coordinates
+    QgsRect toLayerCoords(QgsMapLayer* layer, const QgsRect& rect);
+
+    //! transformation from map coordinates to screen coordinates
+    QPoint toCanvasCoords(const QgsPoint& point);
+   
+   
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmaptoolemitpoint.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmaptoolemitpoint.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmaptoolemitpoint.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,25 @@
+
+class QgsMapToolEmitPoint : QgsMapTool
+{
+%TypeHeaderCode
+#include <qgsmaptoolemitpoint.h>
+%End
+  
+  public:
+    //! constructor
+    QgsMapToolEmitPoint(QgsMapCanvas* canvas);
+    
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event - emits the signal
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+    
+  signals:
+    
+    //! signal emitted on canvas click
+    void gotPoint(QgsPoint& point, Qt::MouseButton button);
+};

Added: packages/qgis/branches/upstream/current/python/gui/qgsmaptoolpan.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmaptoolpan.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmaptoolpan.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,24 @@
+
+class QgsMapToolPan : QgsMapTool
+{
+%TypeHeaderCode
+#include <qgsmaptoolpan.h>
+%End
+
+  public:
+    //! constructor
+    QgsMapToolPan(QgsMapCanvas* canvas);
+    
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+    
+    virtual bool isZoomTool();
+    
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmaptoolzoom.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmaptoolzoom.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmaptoolzoom.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,24 @@
+
+class QgsMapToolZoom : QgsMapTool
+{
+%TypeHeaderCode
+#include <qgsmaptoolzoom.h>
+%End
+
+  public:
+    //! constructor
+    QgsMapToolZoom(QgsMapCanvas* canvas, bool zoomOut);
+          
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+
+    virtual bool isZoomTool();
+    
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsmessageviewer.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsmessageviewer.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsmessageviewer.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,38 @@
+
+class QgsMessageViewer: QDialog, QgsMessageOutput //, Ui::QgsMessageViewer
+{
+%TypeHeaderCode
+#include <qgsmessageviewer.h>
+%End
+
+  public:
+    QgsMessageViewer(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    ~QgsMessageViewer();
+    
+    virtual void setMessage(const QString& message, MessageType msgType);
+    
+    virtual void appendMessage(const QString& message);
+    
+    virtual void showMessage(bool blocking = true);
+
+    virtual void setTitle(const QString& title);
+
+    // Call one of the setMessage...() functions first.
+    // Subsequent calls to appendMessage use the format as determined
+    // by the call to setMessage...()
+
+    // Treats the given text as html.
+    void setMessageAsHtml(const QString& msg);
+    // Treats the given text as plain text
+    void setMessageAsPlainText(const QString& msg);
+    // A checkbox that can be used for something like 
+    // "don't show this message again"
+    void setCheckBoxText(const QString& text);
+    // Make the check box visible/invisible
+    void setCheckBoxVisible(bool visible);
+    // Sets the check state
+    void setCheckBoxState(Qt::CheckState state);
+    // The state of the checkbox
+    Qt::CheckState checkBoxState();
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsprojectionselector.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsprojectionselector.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsprojectionselector.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,177 @@
+
+
+template <TYPE>
+%MappedType QSet<TYPE>
+{
+%TypeHeaderCode
+#include <QSet>
+%End
+
+%ConvertFromTypeCode
+  // Create the list.
+  PyObject *l;
+
+  if ((l = PyList_New(sipCpp->size())) == NULL)
+    return NULL;
+      
+  // Set the list elements.
+  int i;
+  for (QSet<TYPE>::iterator it = sipCpp->begin(); it != sipCpp->end(); ++it, ++i)
+  {
+    TYPE *t = new TYPE(*it);
+    PyObject *tobj;
+
+    if ((tobj = sipConvertFromNewInstance(t, sipClass_TYPE, sipTransferObj)) == NULL)
+    {
+      Py_DECREF(l);
+      delete t;
+      return NULL;
+    }
+    PyList_SET_ITEM(l, i, tobj);
+  }
+ 
+  return l;
+%End
+
+%ConvertToTypeCode
+  // Check the type if that is all that is required.
+  if (sipIsErr == NULL)
+  {
+    if (!PyList_Check(sipPy))
+      return 0;
+
+    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+      if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, SIP_NOT_NONE))
+        return 0;
+
+    return 1;
+  }
+
+  QSet<TYPE> *qset = new QSet<TYPE>;
+
+  for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+  {
+    int state;
+    TYPE* t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+
+    if (*sipIsErr)
+    {
+      sipReleaseInstance(t, sipClass_TYPE, state);
+      delete qset;
+      return 0;
+    }
+    qset->insert(*t);
+    sipReleaseInstance(t, sipClass_TYPE, state);
+  }
+
+  *sipCppPtr = qset;
+  return sipGetState(sipTransferObj);
+%End
+
+};
+
+
+/**
+  @author Tim Sutton
+  */
+class QgsProjectionSelector: QWidget //, private Ui::QgsProjectionSelectorBase
+{
+%TypeHeaderCode
+#include <qgsprojectionselector.h>
+%End
+
+    public:
+      QgsProjectionSelector(QWidget* parent,
+                            const char * name = "",
+                            Qt::WFlags fl = 0);
+
+      ~QgsProjectionSelector();
+
+      //typedef QSet<QString> QStringSet;
+
+      /**
+       * \brief Populate the proj tree view with user defined projection names...
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \todo Should this be public?
+       */
+      void applyUserProjList(QSet<QString> * crsFilter = 0);
+
+      /**
+       * \brief Populate the proj tree view with system projection names...
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \todo Should this be public?
+       */
+      void applyProjList(QSet<QString> * crsFilter = 0);
+
+      void updateProjAndEllipsoidAcronyms(int theSrsid, QString theProj4String);
+
+      /*!
+       * \brief Make the string safe for use in SQL statements.
+       *  This involves escaping single quotes, double quotes, backslashes,
+       *  and optionally, percentage symbols.  Percentage symbols are used
+       *  as wildcards sometimes and so when using the string as part of the
+       *  LIKE phrase of a select statement, should be escaped.
+       * \arg const QString in The input string to make safe.
+       * \return The string made safe for SQL statements.
+       */
+      const QString stringSQLSafe(const QString theSQL);
+
+      //! Gets the current EPSG-style projection identifier
+      long getCurrentEpsg();
+
+    public slots:
+      void setSelectedSRSName(QString theSRSName);
+
+      QString getSelectedName();
+
+      void setSelectedSRSID(long theSRSID);
+
+      QString getCurrentProj4String();
+
+      //! Gets the current PostGIS-style projection identifier
+      long getCurrentSRID();
+
+      //! Gets the current QGIS projection identfier
+      long getCurrentSRSID();
+
+      /**
+       * \brief filters this widget by the given CRSs
+       *
+       * Sets this widget to filter the available projections to those listed
+       * by the given Coordinate Reference Systems.
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \note This function only deals with EPSG labels only at this time.
+       *
+       * \warning This function's behaviour is undefined if it is called after the widget is shown.
+       */
+      void setOgcWmsCrsFilter(QSet<QString> crsFilter);
+
+      void on_pbnFind_clicked();
+
+    protected:
+      /** Used to ensure the projection list view is actually populated */
+      void showEvent ( QShowEvent * theEvent );
+
+      /** Used to manage column sizes */
+      void resizeEvent ( QResizeEvent * theEvent );
+
+    signals:
+      void sridSelected(QString theSRID);
+      //! Refresh any listening canvases
+      void refresh();
+      //! Let listeners know if find has focus so they can adjust the default button
+      void searchBoxHasFocus(bool);
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsrubberband.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsrubberband.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsrubberband.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,27 @@
+
+class QgsRubberBand: QgsMapCanvasItem
+{
+%TypeHeaderCode
+#include <qgsrubberband.h>
+%End
+
+  public:
+    QgsRubberBand(QgsMapCanvas* mapCanvas /TransferThis/, bool isPolygon = false);
+    ~QgsRubberBand();
+
+    void setColor(const QColor & color);
+    void setWidth(int width);
+
+    void reset(bool isPolygon = false);
+    void addPoint(const QgsPoint & p);
+    void movePoint(const QgsPoint & p);
+    void movePoint(int index, const QgsPoint& p);
+
+  protected:
+    virtual void paint(QPainter* p);
+    
+    //! recalculates needed rectangle
+    void updateRect();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/gui/qgsvertexmarker.sip
===================================================================
--- packages/qgis/branches/upstream/current/python/gui/qgsvertexmarker.sip	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/gui/qgsvertexmarker.sip	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,38 @@
+
+class QgsVertexMarker : QgsMapCanvasItem
+{
+%TypeHeaderCode
+#include <qgsvertexmarker.h>
+%End
+
+  public:
+    
+    //! Icons
+    enum IconType
+    {
+      ICON_NONE,
+      ICON_CROSS,
+      ICON_X,
+      ICON_BOX
+    };
+
+    QgsVertexMarker(QgsMapCanvas* mapCanvas /TransferThis/);
+    
+    void setCenter(const QgsPoint& point);
+    
+    void setIconType(int iconType);
+    
+    void setIconSize(int iconSize);
+    
+    void setColor(const QColor& color);
+    
+    void setPenWidth(int width);
+    
+    void paint(QPainter* p);
+    
+    QRectF boundingRect() const;
+
+    virtual void updatePosition();
+
+};
+

Added: packages/qgis/branches/upstream/current/python/qgisconfig.py.in
===================================================================
--- packages/qgis/branches/upstream/current/python/qgisconfig.py.in	                        (rev 0)
+++ packages/qgis/branches/upstream/current/python/qgisconfig.py.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+import PyQt4.pyqtconfig
+
+# These are installation specific values created when QGIS was configured.
+# The following line will be replaced when this template is used to create
+# the final configuration module.
+# @SIP_CONFIGURATION@
+
+class Configuration(pyqtconfig.Configuration):
+    """The class that represents QGIS configuration values.
+    """
+    def __init__(self, sub_cfg=None):
+        """Initialise an instance of the class.
+
+        sub_cfg is the list of sub-class configurations.  It should be None
+        when called normally.
+        """
+        # This is all standard code to be copied verbatim except for the
+        # name of the module containing the super-class.
+        if sub_cfg:
+            cfg = sub_cfg
+        else:
+            cfg = []
+
+        cfg.append(_pkg_config)
+
+        pyqtconfig.Configuration.__init__(self, cfg)
+
+class QgisModuleMakefile(pyqtconfig.QtModuleMakefile):
+    """The Makefile class for modules that %Import qgis_core.
+    """
+    def finalise(self):
+        """Finalise the macros.
+        """
+        # Make sure our C++ library is linked.
+        self.extra_libs.append("qgis_core")
+        self.extra_libs.append("qgis_gui")
+
+        # Let the super-class do what it needs to.
+        pyqtconfig.QtModuleMakefile.finalise(self)

Deleted: packages/qgis/branches/upstream/current/qgis.kdevelop
===================================================================
--- packages/qgis/branches/upstream/current/qgis.kdevelop	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/qgis.kdevelop	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,196 +0,0 @@
-<?xml version = '1.0'?>
-<kdevelop>
-  <general>
-    <author>Gary Sherman</author>
-    <email>gsherman at mrcc dot com</email>
-    <version>$VERSION$</version>
-    <projectmanagement>KDevAutoProject</projectmanagement>
-    <primarylanguage>C++</primarylanguage>
-    <ignoreparts/>
-    <projectdirectory>.</projectdirectory>
-    <absoluteprojectpath>false</absoluteprojectpath>
-    <description></description>
-  </general>
-  <kdevautoproject>
-    <general>
-      <activetarget>src/qgis</activetarget>
-      <useconfiguration>default</useconfiguration>
-    </general>
-    <run>
-      <mainprogram>/usr/bin/qgis</mainprogram>
-      <directoryradio>custom</directoryradio>
-      <customdirectory>/</customdirectory>
-      <programargs/>
-      <terminal>false</terminal>
-      <autocompile>true</autocompile>
-      <envvars/>
-    </run>
-    <configurations>
-      <optimized>
-        <builddir>optimized</builddir>
-        <ccompiler>GccOptions</ccompiler>
-        <cxxcompiler>GppOptions</cxxcompiler>
-        <f77compiler>G77Options</f77compiler>
-        <cxxflags>-O2 -g0</cxxflags>
-      </optimized>
-      <debug>
-        <configargs>--enable-debug=full --prefix=/home/gsherman/qgis07_head --with-grass=/usr/local/grass-5.7.0_org</configargs>
-        <builddir>debug</builddir>
-        <ccompiler>kdevgccoptions</ccompiler>
-        <cxxcompiler>kdevgppoptions</cxxcompiler>
-        <f77compiler>kdevpgf77options</f77compiler>
-        <cxxflags>-O0 -g3</cxxflags>
-        <envvars/>
-        <topsourcedir/>
-        <cppflags/>
-        <ldflags/>
-        <ccompilerbinary/>
-        <cxxcompilerbinary/>
-        <f77compilerbinary/>
-        <cflags/>
-        <f77flags/>
-      </debug>
-      <default>
-        <envvars/>
-      </default>
-    </configurations>
-    <make>
-      <envvars>
-        <envvar value="1" name="WANT_AUTOCONF_2_5" />
-        <envvar value="1" name="WANT_AUTOMAKE_1_6" />
-      </envvars>
-      <abortonerror>true</abortonerror>
-      <numberofjobs>1</numberofjobs>
-      <dontact>false</dontact>
-      <makebin/>
-      <prio>0</prio>
-    </make>
-  </kdevautoproject>
-  <kdevdebugger>
-    <general>
-      <dbgshell>libtool</dbgshell>
-      <programargs></programargs>
-      <gdbpath></gdbpath>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
-      <breakonloadinglibs>true</breakonloadinglibs>
-      <separatetty>false</separatetty>
-      <floatingtoolbar>false</floatingtoolbar>
-    </general>
-    <display>
-      <staticmembers>false</staticmembers>
-      <demanglenames>true</demanglenames>
-      <outputradix>10</outputradix>
-    </display>
-  </kdevdebugger>
-  <kdevdoctreeview>
-    <ignoretocs>
-      <toc>ada</toc>
-      <toc>ada_bugs_gcc</toc>
-      <toc>bash</toc>
-      <toc>bash_bugs</toc>
-      <toc>clanlib</toc>
-      <toc>fortran_bugs_gcc</toc>
-      <toc>gnome1</toc>
-      <toc>gnustep</toc>
-      <toc>gtk</toc>
-      <toc>gtk_bugs</toc>
-      <toc>haskell</toc>
-      <toc>haskell_bugs_ghc</toc>
-      <toc>java_bugs_gcc</toc>
-      <toc>java_bugs_sun</toc>
-      <toc>kde2book</toc>
-      <toc>opengl</toc>
-      <toc>pascal_bugs_fp</toc>
-      <toc>php</toc>
-      <toc>php_bugs</toc>
-      <toc>perl</toc>
-      <toc>perl_bugs</toc>
-      <toc>python</toc>
-      <toc>python_bugs</toc>
-      <toc>qt-kdev3</toc>
-      <toc>ruby</toc>
-      <toc>ruby_bugs</toc>
-      <toc>sdl</toc>
-      <toc>sw</toc>
-      <toc>w3c-dom-level2-html</toc>
-      <toc>w3c-svg</toc>
-      <toc>w3c-uaag10</toc>
-      <toc>wxwidgets_bugs</toc>
-    </ignoretocs>
-    <ignoreqt_xml>
-      <toc>Guide to the Qt Translation Tools</toc>
-      <toc>Qt Assistant Manual</toc>
-      <toc>Qt Designer Manual</toc>
-      <toc>Qt Reference Documentation</toc>
-      <toc>qmake User Guide</toc>
-    </ignoreqt_xml>
-    <ignoredoxygen>
-      <toc>KDE Libraries (Doxygen)</toc>
-    </ignoredoxygen>
-  </kdevdoctreeview>
-  <kdevfilecreate>
-    <filetypes/>
-    <useglobaltypes>
-      <type ext="ui" />
-      <type ext="cpp" />
-      <type ext="h" />
-    </useglobaltypes>
-  </kdevfilecreate>
-  <cppsupportpart>
-    <filetemplates>
-      <interfacesuffix>.h</interfacesuffix>
-      <implementationsuffix>.cpp</implementationsuffix>
-    </filetemplates>
-  </cppsupportpart>
-  <kdevcppsupport>
-    <codecompletion>
-      <includeGlobalFunctions>true</includeGlobalFunctions>
-      <includeTypes>true</includeTypes>
-      <includeEnums>true</includeEnums>
-      <includeTypedefs>false</includeTypedefs>
-      <automaticCodeCompletion>true</automaticCodeCompletion>
-      <automaticArgumentsHint>true</automaticArgumentsHint>
-      <automaticHeaderCompletion>true</automaticHeaderCompletion>
-      <codeCompletionDelay>250</codeCompletionDelay>
-      <argumentsHintDelay>400</argumentsHintDelay>
-      <headerCompletionDelay>250</headerCompletionDelay>
-    </codecompletion>
-    <creategettersetter>
-      <prefixGet></prefixGet>
-      <prefixSet>set</prefixSet>
-      <prefixVariable>m_,_</prefixVariable>
-      <parameterName>theValue</parameterName>
-      <inlineGet>true</inlineGet>
-      <inlineSet>true</inlineSet>
-    </creategettersetter>
-    <references>
-      <pcs>QGIS</pcs>
-      <pcs>Qt</pcs>
-    </references>
-    <qt>
-      <used>false</used>
-      <version>3</version>
-      <root></root>
-    </qt>
-  </kdevcppsupport>
-  <kdevfileview>
-    <groups>
-      <hidenonprojectfiles>false</hidenonprojectfiles>
-      <hidenonlocation>false</hidenonlocation>
-    </groups>
-    <tree>
-      <hidepatterns>*.o,*.lo,CVS</hidepatterns>
-      <hidenonprojectfiles>false</hidenonprojectfiles>
-      <showvcsfields>false</showvcsfields>
-    </tree>
-  </kdevfileview>
-  <kdevcvsservice>
-    <recursivewhenupdate>true</recursivewhenupdate>
-    <prunedirswhenupdate>true</prunedirswhenupdate>
-    <createdirswhenupdate>true</createdirswhenupdate>
-    <recursivewhencommitremove>true</recursivewhencommitremove>
-    <revertoptions>-C</revertoptions>
-  </kdevcvsservice>
-</kdevelop>

Deleted: packages/qgis/branches/upstream/current/qgis.pro
===================================================================
--- packages/qgis/branches/upstream/current/qgis.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/qgis.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +0,0 @@
-# qgis.pro,v 1.12 2004/07/14 18:20:11 gsherman Exp #
-TEMPLATE = subdirs
-SUBDIRS =  src 

Deleted: packages/qgis/branches/upstream/current/qgis.spec.in
===================================================================
--- packages/qgis/branches/upstream/current/qgis.spec.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/qgis.spec.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,66 +0,0 @@
-Name:         	qgis
-Version:        @VERSION@
-Release:	0
-Copyright:	GPL
-Group:		Applications/Engineering
-Autoreqprov:	on
-Source:		%{name}-%{version}.tar.gz
-URL:		http://qgis.qgis.org/
-Summary:	Quantum GIS (QGIS) is a Geographic Information System (GIS)
-for Unix, Mac and Windows operating systems.
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-
-%define prefix /usr
-
-%description
-Quantum GIS (QGIS) is a Geographic Information System (GIS) 
-for Unix, Mac and Windows operating systems. QGIS supports many vector and
-raster formats, and well as WMS data.
-
-Features include:
-
-	* 
-Authors:
-----------
-Gary Sherman
-Steve Halasz
-Marco Hugentobler
-Time Sutton
-Denis Antipov
-Mark Coletti
-Lars Luthman
-Jens Oberender
-Christoph Spoerri
-Carl Anderson
-Gavin Macaulay
-Masaru Hoshi
-Peter Brwer
-Radim Blazek
-Tom Elwertowski
-
-%prep
-%setup
-
-%build
-export CFLAGS="$RPM_OPT_FLAGS"
-./configure --prefix=%{prefix}
-make
-strip src/qgis
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%{prefix}/bin/%{name}
-%{prefix}/lib/%{name}
-%{prefix}/share/%{name}
-%doc AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README TODO
-
-%changelog -n qgis
-* Wed Feb 18 2004 - Jens Oberender <j.obi at troja.net>
-- the first spec for CVS

Deleted: packages/qgis/branches/upstream/current/qgsconfig.h.in_cmake
===================================================================
--- packages/qgis/branches/upstream/current/qgsconfig.h.in_cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/qgsconfig.h.in_cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,16 +0,0 @@
-
-// QGSCONFIG.H
-
-#ifndef QGSCONFIG_H
-#define QGSCONFIG_H
-
-#define VERSION "0.8.1-Titan"
-
-#define PREFIX "${CMAKE_INSTALL_PREFIX}"
-
-#cmakedefine HAVE_POSTGRESQL
-
-#cmakedefine HAVE_PYTHON
-
-#endif
-

Deleted: packages/qgis/branches/upstream/current/qgssvnversion.h.in_cmake
===================================================================
--- packages/qgis/branches/upstream/current/qgssvnversion.h.in_cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/qgssvnversion.h.in_cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1 +0,0 @@
-#define QGSSVNVERSION "@MYVERSION@"

Added: packages/qgis/branches/upstream/current/resources/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/resources/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/resources/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/resources/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/resources/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,20 +0,0 @@
- # Copyright (C) 2004 Tim Sutton (tim at linfiniti.com)
- #
- # This file is free software; as a special exception the author gives
- # unlimited permission to copy and/or distribute it, with or without
- # modifications, as long as this notice is preserved.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- #
- # $Id: Makefile.am 6088 2006-11-16 02:24:24Z gsherman $
-
- resourcedir = ${pkgdatadir}/resources
-
- resource_DATA = srs.db qgis.db qgis_help.db 
- 
- SUBDIRS = context_help
-
- EXTRA_DIST = $(resource_DATA)
- 

Modified: packages/qgis/branches/upstream/current/resources/context_help/151694916_sk_SK
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/151694916_sk_SK	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/151694916_sk_SK	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,22 +1,22 @@
 <h3>Geopriestorové záložky</h3>
-Geopriestorové záložky vám umožňujú zaznamenať mapový pohľad (polohu) na určitú lokalitu (miesto). K tomuto pohľadu sa je možné pomocou záložky vrátiť neskôr. 
+Geopriestorové záložky vám dovolia zaznačiť si pohľad (polohu) určitej lokality (miesta) a vrátiť sa k nej neskôr. 
 
 <h4>Vytvorenie záložky</h4>
 Postup na vytvorenie záložky:
 <ol>
-<li>Nastavte pohľad (približovaním, oddaľovaním posúvaním mapy) tak, aby obsahoval záujmovú oblasť
+<li>Nastavte pohľad (približovaním, oddaľovaním posúvaním mapy) tak aby obsahoval záujmovú oblasť
 <li>Kliknite na ikonu <i>Vytvoriť novú geopriestorovú záložku</i> alebo použite klávesovú skratku Ctrl-B
-<li>Vložte meno záložky (do 255 znakov)
-<li>Kliknutím na tlačidlo <i>OK</i> vytvoríte geopriestorovú záložku; kliknutím na <i>Zrušiť</i> opustíte dialógové okno bez toho, aby bola záložka vytvorená
+<li>Vložte popisný názov záložky (do 255 znakov)
+<li>Kliknutím na tlačidlo <i>OK</i> vytvoríte geopriestorovú záložku; kliknutím na <i>Zrušiť</i> opustíte dialógové okno bez toho aby bola záložka vytvorená
 </ol>
-Poznámka: Je možné mať aj viacero záložiek s tým istým názvom.
+Poznámka: Je možné mať viacero záložiek s tým istým názvom.
 <h4>Práca so záložkami</h4>
-So záložkami možno narábať kliknutím na tlačidlo <i>Ukázať geopriestorové záložky</i>, alebo vybratím položky <i>Geopriestorové záložky</i> z menu <i>Pohľad</i>. Dialógové okno so záložkami vám dovolí zmeniť pohľad podľa záložky, alebo vymazať nektorú záložku. Nie je možné upraviť názov záložky, alebo súradnice.
+So záložkami možno narábať kliknutím na tlačidlo <i>Ukázať geopriestorové záložky</i> alebo vybratím položky <i>Geopriestorové záložky</i> z menu <i>Pohľad</i>. Dialógové okno so záložkami vám dovolí zmeniť pohľad podľa záložky alebo vymazať nektorú záložku. Nie je možné upraviť názov záložky, alebo súradnice..
 <h5>Zmena mapového pohľadu podľa záložky</h5>
-V dialógovom okne Záložky vyberte kliknutím požadovanú záložku a následným kliknutím na tlačidlo <i>Pohľad na</i> zmeníte mapový pohľad tak, aby zodpovedal danej záložke.
+V dialógovom okne Záložky vyberte kliknutím požadovanú záložku a následným kliknutím na tlačidlo <i>Pohľad na</i> sa zmeníte mapový pohľad tak, aby zodpovedal danej záložke.
 <p>
 Zmeniť pohľad možno aj priamo dvojklikom na danú záložku.
 
 <h5>Vymazanie záložky</h5>
-Na vymazanie záložky zo zoznamu záložiek kliknite najskôr na záložku, ktorú chcete vymazať a následne na tlačidlo <i>Vymazať</i>. Svoje rozhodnutie povrďte kliknutím na <i>Áno</i>, prípadne môžete váš zámer zmeniť a kliknutím na <i>Nie</i> zrušiť operáciu vymazávania záložky.
+Na vymazanie záložky zo zoznamu záložiek v kliknite najskôr na záložku ktorú chcete vymazať a následne na tlačidlo <i>Vymazať</i>. Svoje rozhodnutie povrďte kliknutím na <i>Áno</i>, prípadne môžete váš zámer zmeniť a kliknutím na <i>Nie</i> zrušiť operáciu vymazania záložky.
 

Modified: packages/qgis/branches/upstream/current/resources/context_help/165149618_sk_SK
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/165149618_sk_SK	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/165149618_sk_SK	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,2 +1,2 @@
-<h3>Vytvorenie novej vektorovej vrstvy</h3>
+<h3>Tvorba novej vektorovej vrstvy</h3>
 

Modified: packages/qgis/branches/upstream/current/resources/context_help/831088384_sk_SK
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/831088384_sk_SK	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/831088384_sk_SK	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1 @@
 <h3>Tabuľka atribútov</h3>
-Dialógové okno Tabuľka atribútov zobrazuje riadky a stĺpce tabuľky 
-prislúchajúcej k aktuálnej vrstve. Umožnuje prezerať, upravovať a vyhľadávať 
-jednotlivé hodnoty atribútov.
\ No newline at end of file

Deleted: packages/qgis/branches/upstream/current/resources/context_help/985715179_sv_SE
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/985715179_sv_SE	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/985715179_sv_SE	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,11 +0,0 @@
-<h3>Orint Composer</h3>
-
-<p>
-The print composer lets you arrange items onto a page, which can then be printed. Items include the content of the map canvas, the scale bar, the legend, and arbituary images.
-</p>
-
-<p>
-Click on one of the icons along the top of the composer window to select what type of item to place on the page, then click and draw on the page to place the item. The size of some items, such as the map canvas and scale bar can be set by clicking and dragging on the page. Other items have a fixed size, but which can be changed later on by highlighting the item and then adjusting the size fields in the left hand pane.
-
-</p>
-

Deleted: packages/qgis/branches/upstream/current/resources/context_help/995980174_sv_SE
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/995980174_sv_SE	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/995980174_sv_SE	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1 +0,0 @@
-<h3>GPS Plugin</h3>

Deleted: packages/qgis/branches/upstream/current/resources/context_help/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/resources/context_help/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/resources/context_help/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 2526 2004-12-20 07:13:35Z gsherman $
-
-contexthelpdir = ${pkgdatadir}/resources/context_help
-
-contexthelp_DATA = *
-
-EXTRA_DIST = $(contexthelp_DATA)

Added: packages/qgis/branches/upstream/current/scripts/build_debian_package.sh
===================================================================
--- packages/qgis/branches/upstream/current/scripts/build_debian_package.sh	                        (rev 0)
+++ packages/qgis/branches/upstream/current/scripts/build_debian_package.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,24 @@
+#!/bin/bash
+set -x
+if [ -d `pwd`/src ]
+then
+  #src exists so we are prolly in the right dir
+  echo "good we are in  qgis checkout dir!"
+else
+  echo "You must run this from the top level qgis checkout dir!"
+  exit 1
+fi
+
+if [ -d `pwd`/debian ]
+then
+  cd debian
+  svn update
+  cd ..
+else
+  svn co https://svn.qgis.org/repos/qgis/trunk/debian
+fi
+
+export DEBFULLNAME="Tim Sutton"
+export DEBEMAIL=tim at linfiniti.com
+dch -v 0.9.0+svn`date +%Y%m%d`
+fakeroot dpkg-buildpackage


Property changes on: packages/qgis/branches/upstream/current/scripts/build_debian_package.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/qgis/branches/upstream/current/scripts/update_translations.bat
===================================================================
--- packages/qgis/branches/upstream/current/scripts/update_translations.bat	                        (rev 0)
+++ packages/qgis/branches/upstream/current/scripts/update_translations.bat	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+echo Creating qmake project file
+qmake -project -o qgis_ts.pro
+echo Updating translation files
+lupdate -verbose qgis_ts.pro
+lrelease -verbose qgis_ts.pro
+echo Removing qmake project file
+del qgis_ts.pro
+copy i18n\*.qm qgis-release\share\qgis\i18n\

Added: packages/qgis/branches/upstream/current/scripts/update_ts_files.sh
===================================================================
--- packages/qgis/branches/upstream/current/scripts/update_ts_files.sh	                        (rev 0)
+++ packages/qgis/branches/upstream/current/scripts/update_ts_files.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,15 @@
+#!/bin/sh
+# Update the translation files with strings used in QGIS
+# 1. create a clean Qt .pro file for the project
+# 2. run lupdate using the .pro file from step 1
+# 3. remove the .pro
+# Note the .pro file must NOT be named qgis.pro as this
+# name is reserved for the Windows qmake project file
+# update_ts_files.sh,v 1.3 2004/07/14 18:16:24 gsherman Exp
+
+echo Creating qmake project file
+$QTDIR/bin/qmake -project -o qgis_ts.pro
+echo Updating translation files
+$QTDIR/bin/lupdate -verbose qgis_ts.pro
+echo Removing qmake project file
+rm qgis_ts.pro


Property changes on: packages/qgis/branches/upstream/current/scripts/update_ts_files.sh
___________________________________________________________________
Name: svn:executable
   + *

Deleted: packages/qgis/branches/upstream/current/settings.pro
===================================================================
--- packages/qgis/branches/upstream/current/settings.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/settings.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,267 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for openModeller Gui
-# 
-#                      Tim Sutton 2005
-#
-#################################################################
-message(******************** settings.pro ***********************)
-
-#################################################################
-#
-#    all platforms - change these settings as you need them
-#
-#################################################################
-
-unix:WORKDIR=$$system(pwd)
-#a hack to get the current working dir under windows
-win32:WORKDIR=$$system(cd)
-message(Building in $${WORKDIR})
-QGIS_APP_NAME=qgis
-QGIS_LOCALPLUGIN=true
-QGIS_WEBSERVICESPLUGIN=false #disabled until renato gets it fully implemented
-QGIS_DUMMYPLUGIN=false
-#wether to try to build the  witty web toolkit fast cgi module
-QGIS_WITTY=false
-#whether to build unit tests
-QGIS_TESTS=false
-#whether to build console only applications
-QGIS_CONSOLE=false
-#whether to build the qt designer plugin
-QGIS_DESIGNER=false
-#whether to show experimental features to the user (set to true to hide 
-#experimental features when making a release
-QGIS_ALLOW_EXPERIMENTAL=true
-#whether to use to qgis mapping component
-#at the moment it only builds on linux :-(
-QGIS_USE_QGIS=true
-#linux-g++:QGIS_USE_QGIS=true
-#below is needed for winows - cant seemt to get ver_maj just by setting VERSION
-unix:VER_MAJ = 1
-unix:VERSION = 1.0.0
-
-#################################################################
-#         Should not need to change below this point!!!!        #
-#################################################################
-
-
-#################################################################
-##
-## General compilation settings and defines
-##
-#################################################################
-CONFIG += warn_off 
-
-#
-# Building both debug and release versions (turned off by default)
-#
-
-#create both debug and relase makefiles
-#CONFIG += debug_and_release
-#build both release and debug targets when make is run
-#CONFIG += build_all 
-
-#
-# Building release only version
-#
-
-CONFIG += release
-
-LANGUAGE  = C++
-CONFIG += exceptions
-# Require that there are no undefined symbols in any libs!
-QMAKE_LFLAGS_SHLIB *= --no-undefined
-#clear all qt modules - each pro should specify exactly which qt modules it wants
-QT =
-
-QGSSVNVERSION=version0.8pre2
-DEFINES += HAVE_POSTGRESQL=1
-#################################################################
-##
-## Destination dir
-##
-#################################################################
-
-# Where binary exes and libs should be placed when built
-CONFIG(debug, debug|release){
-  message(DEBUG?       : yes)
-  # for ifdefs in code that should run only 
-  # when debug support is enabled
-  QGIS_DEBUGMODE=true 
-  DEFINES += QGISDEBUG=1
-  QGIS_APP_NAME=$${QGIS_APP_NAME}-debug
-  win32:CONFIG+=console
-}else{
-  message(DEBUG?       : no )
-  QGIS_APP_NAME=$${QGIS_APP_NAME}-release
-}
-DESTDIR=$${WORKDIR}/$${QGIS_APP_NAME}
-
-#################################################################
-#
-# INSTALL PATHS
-#
-#################################################################
-
-linux-g++:QGISBINDIR=$${DESTDIR}/bin
-win32:QGISBINDIR=$${DESTDIR}
-macx:QGISBINDIR=$${DESTDIR}/$${QGIS_APP_NAME}.app/Contents/MacOS/
-
-linux-g++:QGISLIBDIR=$${DESTDIR}/lib
-macx:QGISLIBDIR=$${QGISBINDIR}
-win32:QGISLIBDIR=$${DESTDIR}
-
-QGISPLUGINDIR=$${DESTDIR}/lib/qgis
-macx:QGISPLUGINDIR=$${DESTDIR}/$${QGIS_APP_NAME}.app/Contents/lib/qgis
-
-QGISPROVIDERDIR=$${QGISBINDIR}/lib/qgis
-macx:QGISPROVIDERDIR=$${DESTDIR}/$${QGIS_APP_NAME}.app/Contents/lib/qgis
-
-win32:QGISDOCDIR=$${DESTDIR}/share/qgis/doc
-win32:QGISDEVELOPERSIMAGEDIR=$${DESTDIR}/share/qgis/images/developers
-
-message(WORKDIR      : $${WORKDIR})
-message(DESTDIR      : $${DESTDIR})
-message(QGISBINDIR    : $${QGISBINDIR})
-message(QGISLIBDIR    : $${QGISLIBDIR})
-message(QGISPLUGINDIR : $${QGISPLUGINDIR})
-
-#################################################################
-##
-## Libraries to link to (used on a case by case basis as needed)
-##
-#################################################################
-
-QGISGRASSPROVIDERLIBADD=-lgrassprovider
-CONFIG(debug, debug|release){
-  QGISGRASSPROVIDERLIBADD=$$member(QGISGRASSPROVIDERLIBADD, 0)-debug
-}
-GRASSLIBADD=-lgrass_vect -lgrass_dig2 -lgrass_dgl -lgrass_rtree \
-            -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase \
-            -lgrass_I -lgrass_gproj -lgrass_gmath -lgrass_gis \
-            -lgrass_datetime
-
-POSTGRESLIBADD=-lpq	    
-GSLLIBADD= -lgsl -lgslcblas
-QGISCORELIBADD=-lqgis_core
-CONFIG(debug, debug|release){
-  QGISCORELIBADD=$$member(QGISCORELIBADD, 0)-debug
-}
-
-QGISPROJECTIONSELECTORLIBADD=-lqgis_projectionselector
-CONFIG(debug, debug|release){
-  QGISPROJECTIONSELECTORLIBADD=$$member(QGISPROJECTIONSELECTORLIBADD, 0)-debug
-}
-
-#not currently used since I had to incorporate composer into gui lib due to 
-#cyclical dependency issues
-QGISCOMPOSERLIBADD=-lqgis_composer
-CONFIG(debug, debug|release){
-  QGISCOMPOSERLIBADD=$$member(QGISCOMPOSERLIBADD, 0)-debug
-}
-
-QGISGUILIBADD=-lqgis_gui
-CONFIG(debug, debug|release){
-  QGISGUILIBADD=$$member(QGISGUILIBADD, 0)-debug
-}
-
-win32:GDALLIBADD=-lgdal
-unix:GDALLIBADD=-lgdal
-macx:GDALLIBADD=-framework gdal
-
-SQLITELIBADD=-lsqlite3
-PROJLIBADD=-lproj
-GEOSLIBADD=-lgeos
-EXPATLIBADD=-lexpat
-
-win32:LIBS += -lWs2_32
-
-#################################################################
-#
-# Lib search paths (globally set for all pro files)
-#
-#################################################################
-
-#win32:LIBS+=-LC:\MinGW\lib
-win32:LIBS+=-LC:\msys\local\lib
-win32:LIBS+=-L$${DESTDIR}
-win32:LIBS+=-L$${DESTDIR}/lib/qgis
-linux-g++:LIBS+=-L$${DESTDIR}/lib
-linux-g++:LIBS+=-L/usr/lib/ccache/lib
-macx:LIBS+=-L$${QGISLIBDIR}
-macx:LIBS+=-F/Library/Frameworks/
-macx:LIBS+=-L/usr/local/lib
-
-
-#################################################################
-#
-# Include paths (globally set for all pro files)
-#
-#################################################################
-
-INCLUDEPATH +=$${WORKDIR}/src \
-              $${WORKDIR}/src/core \
-              $${WORKDIR}/src/gui \
-              $${WORKDIR}/src/legend \
-              $${WORKDIR}/src/composer \
-              $${WORKDIR}/src/widgets/projectionselector \
-              $${WORKDIR}/src/plugins \
-              $${WORKDIR}/src/providers \
-              $${WORKDIR}/src/raster \
-      	      $${WORKDIR}/src/providers/wfs \
-              $${WORKDIR}/src/ui 
-INCLUDEPATH += $${OBJDIR}/ui 
-
-#################################################################
-#
-#   windows platform (MinGW) 
-#
-#################################################################
-
-win32{
-  message(Installing for windows!)
-  #add any win specific rules here 
-  INCLUDEPATH += c:/msys/local/include
-  GEOSINCADD = c:/msys/local/include/geos
-  PYTHONINCLUDE =  c:/Python25/include
-  PYTHONLIBADD = -Lc:/Python25/libs -lpython25
-}
-
-
-#################################################################
-#
-# MacOSX platform specific directives
-#
-#################################################################
-
-macx{
-  #fixme should not need the next line
-  #INCLUDEPATH += /Users/timsutton/dev/cpp/om/src
-  FRAMEWORKSDIR=$${DESTDIR}/$${QGIS_APP_NAME}.app/Contents/Frameworks
-  message (Checking if $${FRAMEWORKSDIR}/gdal.framework/gdal exists)
-  exists( $${FRAMEWORKSDIR}/gdal.framework/gdal )
-  {
-    message(Gdal framework already in the bundle...skipping copy)
-  }else{
-    system(mkdir -p $${FRAMEWORKSDIR})
-    system(cp -RP /Library/Frameworks/gdal.framework $${FRAMEWORKSDIR}/)
-    message(Gdal framework copied into the bundle)
-  }
-  system(cp mac/Info.plist $${DESTDIR}/bin/$${QGIS_APP_NAME}.app/Contents)
-}
-
-
-#################################################################
-#
-# Where intermediate build files should go
-#
-#################################################################
-
-OBJDIR                =  $${WORKDIR}/obj
-MOC_DIR               =  $${OBJDIR}/moc
-UI_DIR                =  $${OBJDIR}/ui
-macx:OBJECTS_DIR       =  $${OBJDIR}/o/mac
-linux-g++:OBJECTS_DIR =  $${OBJDIR}/o/linux
-win32:OBJECTS_DIR     =  $${OBJDIR}/o/win32
-#These next two are not currently needed for this simple project
-#RCC_DIR               =  $${OBJDIR}/rcc

Deleted: packages/qgis/branches/upstream/current/src/.indent.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/.indent.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/.indent.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,2 +0,0 @@
--npsl -nbfda -l135 -i2 -ci2 -cbi2 -cp2 -ts2 -cli2 -bl -ce -lp -npcs -nut
-

Modified: packages/qgis/branches/upstream/current/src/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,5 @@
 
-SUBDIRS(core ui gui providers plugins helpviewer)
+SUBDIRS(core ui gui app providers plugins helpviewer)
 
 IF (APPLE)
   SUBDIRS(mac)

Deleted: packages/qgis/branches/upstream/current/src/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,19 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-if HAVE_QTMAC
-MAC = mac
-endif
-# NOTE - the order of the SUBDIRS is important. Currently the providers
-#        depend on the existence of libqgis_gui. 
-#        gui *must* be specified immediately before the providers
-#        subdirectory. 
-SUBDIRS =  core ui legend raster composer widgets gui providers plugins $(MAC) helpviewer
-

Deleted: packages/qgis/branches/upstream/current/src/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,48 +0,0 @@
-# We have to run first standard build system (stdsubdirs) which 
-# creates static libraries (.libs/libqgis_xxx.a)
-# then we run win32 specific makefiles which generates DLL
-
-all: stdsubdirs guilib winsubdirs
-
-include ../Makefile.win.rules
-
-STDSUBDIRS = core ui legend raster composer widgets helpviewer
-#providers plugins
-
-WINSUBDIRS = core legend raster composer \
-	     widgets/projectionselector gui \
-	providers/ogr \
-	providers/wms \
-	providers/gpx \
-	providers/delimitedtext \
-	plugins/north_arrow \
-	plugins/copyright_label \
-	plugins/scale_bar \
-	plugins/georeferencer \
-	plugins/grid_maker \
-	plugins/delimited_text \
-	plugins/gps_importer
-
-ifneq ($(PG_LIB),)
-    WINSUBDIRS += plugins/geoprocessing
-    WINSUBDIRS += plugins/spit
-endif
-
-ifneq ($(GRASS_BASE),)
-    WINSUBDIRS += providers/grass plugins/grass
-endif
-
-ifneq ($(PG_LIB),)
-    WINSUBDIRS += providers/postgres
-endif
-
-guilib:
-	$(MAKE) -C gui -f Makefile libqgis_gui.la
-
-install: all
-	@list='$(WINSUBDIRS)'; \
-	for subdir in $$list; do \
-	    echo !!!!!!!!!!!!!!!!!!!! $$subdir !!!!!!!!!!!!!!!!!!!!; \
-	    $(MAKE) -C $$subdir -f Makefile.win install || exit 1 ; \
-	done
-

Added: packages/qgis/branches/upstream/current/src/app/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/app/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+Makefile
+Makefile.in
+*.moc.cpp
+*.moc.uic.cpp
+*.uic.h
+*.uic.cpp
+qgis
+lib*.lo
+libqgis.la
+.deps
+.libs
+

Added: packages/qgis/branches/upstream/current/src/app/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/app/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,251 @@
+
+# TODO: delete qgsvectorsymbologywidget.cpp and qgsvectorsymbologywidget.h from SVN
+
+SET(QGIS_APP_SRCS
+main.cpp
+qgisapp.cpp
+qgisappinterface.cpp
+qgsabout.cpp
+qgsaddattrdialog.cpp
+qgsattributeactiondialog.cpp
+qgsattributedialog.cpp
+qgsattributetable.cpp
+qgsattributetabledisplay.cpp
+qgsbookmarkitem.cpp
+qgsbookmarks.cpp
+qgsclipboard.cpp
+qgscontinuouscolordialog.cpp
+qgscustomprojectiondialog.cpp
+qgsdelattrdialog.cpp
+qgsfillstylewidget.cpp
+qgsgeomtypedialog.cpp
+qgsgraduatedsymboldialog.cpp
+qgshelpviewer.cpp
+qgsidentifyresults.cpp
+qgslabeldialog.cpp
+qgslinestyledialog.cpp
+qgslinestylewidget.cpp
+qgsludialog.cpp
+qgsmaptooladdfeature.cpp
+qgsmaptooladdisland.cpp
+qgsmaptooladdring.cpp
+qgsmaptoolcapture.cpp
+qgsmaptoolidentify.cpp
+qgsmaptoolselect.cpp
+qgsmaptoolvertexedit.cpp
+qgsmarkerdialog.cpp
+qgsmeasuredialog.cpp
+qgsmeasuretool.cpp
+qgsnewhttpconnection.cpp
+qgsnumericsortlistviewitem.cpp
+qgsoptions.cpp
+qgspastetransformations.cpp
+qgspatterndialog.cpp
+qgspluginitem.cpp
+qgspluginmanager.cpp
+qgspluginmetadata.cpp
+qgspluginregistry.cpp
+qgspointstylewidget.cpp
+qgsprojectproperties.cpp
+qgsrasterlayerproperties.cpp
+qgssearchquerybuilder.cpp
+qgsserversourceselect.cpp
+qgssinglesymboldialog.cpp
+qgsuniquevaluedialog.cpp
+qgsvectorlayerproperties.cpp
+
+composer/qgscomposer.cpp
+composer/qgscomposeritem.cpp
+composer/qgscomposerlabel.cpp
+composer/qgscomposerpicture.cpp
+composer/qgscomposermap.cpp
+composer/qgscomposerscalebar.cpp
+composer/qgscomposervectorlegend.cpp
+composer/qgscomposerview.cpp
+composer/qgscomposition.cpp
+
+legend/qgslegendgroup.cpp
+legend/qgslegend.cpp
+legend/qgslegenditem.cpp
+legend/qgslegendlayer.cpp
+legend/qgslegendlayerfile.cpp
+legend/qgslegendlayerfilegroup.cpp
+legend/qgslegendpropertygroup.cpp
+legend/qgslegendpropertyitem.cpp
+legend/qgslegendsymbologygroup.cpp
+legend/qgslegendsymbologyitem.cpp
+legend/qgslegendvectorsymbologyitem.cpp
+)
+
+
+SET (QGIS_APP_MOC_HDRS
+
+qgisapp.h
+qgisappinterface.h
+qgsabout.h
+qgsaddattrdialog.h
+qgsattributeactiondialog.h
+qgsattributedialog.h
+qgsattributetabledisplay.h
+qgsattributetable.h
+qgsbookmarks.h
+qgscontinuouscolordialog.h
+qgscustomprojectiondialog.h
+qgsdelattrdialog.h
+qgsfillstylewidget.h
+qgsgeomtypedialog.h
+qgsgraduatedsymboldialog.h
+qgshelpviewer.h
+qgsidentifyresults.h
+qgslabeldialog.h
+qgslinestyledialog.h
+qgslinestylewidget.h
+qgsludialog.h
+qgsmaplayerinterface.h
+qgsmaptoolidentify.h
+qgsmarkerdialog.h
+qgsmeasuredialog.h
+qgsnewhttpconnection.h
+qgsoptions.h
+qgspastetransformations.h
+qgspatterndialog.h
+qgspluginmanager.h
+qgspointstylewidget.h
+qgsprojectproperties.h
+qgsrasterlayerproperties.h
+qgssearchquerybuilder.h
+qgsserversourceselect.h
+qgssinglesymboldialog.h
+qgsuniquevaluedialog.h
+qgsvectorlayerproperties.h
+
+composer/qgscomposer.h
+composer/qgscomposerlabel.h
+composer/qgscomposerpicture.h
+composer/qgscomposermap.h
+composer/qgscomposerscalebar.h
+composer/qgscomposervectorlegend.h
+composer/qgscomposerview.h
+composer/qgscomposition.h
+
+legend/qgslegend.h
+legend/qgslegendlayer.h
+legend/qgslegendlayerfile.h
+)
+
+IF (POSTGRES_FOUND)
+  SET (QGIS_APP_SRCS ${QGIS_APP_SRCS}
+          qgsdbsourceselect.cpp
+		  qgsnewconnection.cpp
+		  qgspgquerybuilder.cpp
+  )
+  SET (QGIS_APP_MOC_HDRS ${QGIS_APP_MOC_HDRS}
+          qgsdbsourceselect.h
+		  qgsnewconnection.h
+		  qgspgquerybuilder.h
+  )
+ENDIF (POSTGRES_FOUND)
+
+# Python support
+IF (PYTHON_FOUND)
+  SET (QGIS_APP_SRCS ${QGIS_APP_SRCS} qgspythondialog.cpp qgspythonutils.cpp)
+  SET (QGIS_APP_MOC_HDRS ${QGIS_APP_MOC_HDRS} qgspythondialog.h)
+ENDIF (PYTHON_FOUND)
+
+QT4_WRAP_CPP(QGIS_APP_MOC_SRCS ${QGIS_APP_MOC_HDRS})
+
+
+
+IF (WIN32 AND NOT MSVC)
+
+  # Icon for windows
+  # Note: can't include .rc directly to source files
+  # as it's ignored when used MinGW
+
+  IF (NOT WINDRES)
+    FIND_PROGRAM(WINDRES windres)
+    IF (NOT WINDRES)
+      MESSAGE(FATAL_ERROR "windres not found - aborting")
+    ENDIF (NOT WINDRES)
+  ENDIF (NOT WINDRES)
+
+
+
+  #############################################################
+  # application icon
+  IF( MINGW )
+    # resource compilation for MinGW
+    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/icon.o
+      COMMAND ${WINDRES} -I${CMAKE_CURRENT_SOURCE_DIR} -i${CMAKE_CURRENT_SOURCE_DIR}/qgis_win32.rc 
+      -o ${CMAKE_CURRENT_BINARY_DIR}/icon.o )
+    SET(QGIS_APP_SRCS ${QGIS_APP_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/icon.o)
+  ELSE( MINGW )
+    SET(QGIS_APP_SRCS ${QGIS_APP_SRCS} icon.rc)
+  ENDIF( MINGW )
+
+ENDIF (WIN32 AND NOT MSVC)
+
+# This is the right way to include icon in MSVC but currently
+# it ends with error that qgis_win322.ico is old DIB and it has to be converted
+#IF (MSVC)
+#  SET (QGIS_APP_SRCS ${QGIS_APP_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/../qgis_win32.rc)
+#ENDIF (MSVC)
+
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_SOURCE_DIR} composer legend
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ${CMAKE_CURRENT_BINARY_DIR}/../ui
+     ../core
+     ../core/raster ../core/renderer ../core/symbology
+     ../gui
+     ../plugins
+  ${PROJ_INCLUDE_DIR}
+  ${SQLITE3_INCLUDE_DIR}
+  ${GEOS_INCLUDE_DIR}
+  ${GDAL_INCLUDE_DIR}
+)
+
+IF (POSTGRES_FOUND)
+  INCLUDE_DIRECTORIES(${POSTGRES_INCLUDE_DIR})
+ENDIF (POSTGRES_FOUND)
+
+IF (PYTHON_FOUND)
+  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
+ENDIF (PYTHON_FOUND)
+
+#############
+
+ADD_EXECUTABLE(qgis ${QGIS_APP_SRCS} ${QGIS_APP_MOC_SRCS})
+
+TARGET_LINK_LIBRARIES(qgis
+  ${QT_LIBRARIES}
+  qgis_core
+  qgis_gui
+)
+
+SET_TARGET_PROPERTIES(qgis PROPERTIES
+  INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib
+  INSTALL_RPATH_USE_LINK_PATH true
+)
+
+IF (PYTHON_FOUND)
+  TARGET_LINK_LIBRARIES(qgis ${PYTHON_LIBRARIES})
+ENDIF (PYTHON_FOUND)
+
+IF (POSTGRES_FOUND)
+  TARGET_LINK_LIBRARIES (qgis ${POSTGRES_LIBRARY})
+ENDIF (POSTGRES_FOUND)
+
+IF (APPLE)
+  # For Mac OS X, the executable must be at the root of the bundle's executable folder
+  INSTALL(TARGETS qgis RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
+ELSE (APPLE)
+  INSTALL(TARGETS qgis RUNTIME DESTINATION ${QGIS_BIN_DIR})
+ENDIF (APPLE)
+
+
+########## Install headers for developers to use against qgis libs
+#commented out since app classes dont go into any lib there is little point
+#INSTALL(FILES ${CMAKE_BINARY_DIR}/src/ui/ui_qgsmeasurebase.h DESTINATION ${QGIS_INCLUDE_DIR})
+#INSTALL(FILES ${QGIS_APP_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1082 @@
+/***************************************************************************
+                         qgscomposer.cpp  -  description
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgscomposer.h"
+
+#include "qgisapp.h"
+#include "qgsapplication.h"
+#include "qgscomposerview.h"
+#include "qgscomposition.h"
+#include "qgsexception.h"
+#include "qgsproject.h"
+#include "qgsmessageviewer.h"
+#include "qgscontexthelp.h"
+
+#include <QDesktopWidget>
+#include <QFileDialog>
+#include <QFileInfo>
+#include <QMatrix>
+#include <QMessageBox>
+#include <QPainter>
+
+#include <QPrinter>
+#include <QPrintDialog>
+#include <QSettings>
+#include <QIcon>
+#include <QPixmap>
+#include <Q3Picture>
+#include <QToolBar>
+#include <QImageWriter>
+#include <QCheckBox>
+#include <QSizeGrip>
+#include <iostream>
+
+#include <Q3ValueList>
+
+QgsComposer::QgsComposer( QgisApp *qgis): QMainWindow()
+{
+  setupUi(this);
+  setupTheme();
+  setWindowTitle(tr("QGIS - print composer"));
+
+  // Template save and load is not yet implemented, so disable those actions
+  mActionOpenTemplate->setEnabled(false);
+  mActionSaveTemplateAs->setEnabled(false);
+
+  mQgis = qgis;
+  mFirstTime = true;
+
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::QgsComposer" << std::endl;
+#endif
+
+  mView = new QgsComposerView ( this, mViewFrame);
+  mPrinter = 0;
+
+  QGridLayout *l = new QGridLayout(mViewFrame, 1, 1 );
+  l->addWidget( mView, 0, 0 );
+
+  mCompositionOptionsLayout = new QGridLayout( mCompositionOptionsFrame, 1, 1 );
+  mItemOptionsLayout = new QGridLayout( mItemOptionsFrame, 1, 1 );
+
+  mCompositionNameComboBox->insertItem( tr("Map 1") );
+
+  mComposition  = new QgsComposition( this, 1 );
+  mComposition->setActive ( true );
+
+  // Create size grip (needed by Mac OS X for QMainWindow if QStatusBar is not visible)
+  mSizeGrip = new QSizeGrip(this);
+  mSizeGrip->resize(mSizeGrip->sizeHint());
+  mSizeGrip->move(rect().bottomRight() - mSizeGrip->rect().bottomRight());
+
+  if ( ! connect( mQgis, SIGNAL( projectRead() ), this, SLOT( projectRead()) ) ) {
+    qDebug( "unable to connect to projectRead" );
+  } 
+  if ( ! connect( mQgis, SIGNAL( newProject() ), this, SLOT(newProject()) ) ) {
+    qDebug( "unable to connect to newProject" );
+  }
+
+  if ( ! connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(saveWindowState()) ) ) { 
+    qDebug( "unable to connect to aboutToQuit" );
+  }
+  restoreWindowState();
+
+  selectItem(); // Set selection tool
+}
+
+QgsComposer::~QgsComposer()
+{
+}
+
+void QgsComposer::setupTheme()
+{
+  //calculate the active theme path
+  QString myThemePath= QgsApplication::themePath();
+  
+
+  //now set all the icons
+  mActionOpenTemplate->setIconSet(QIcon(QPixmap(myThemePath + "/mActionFileOpen.png")));
+  mActionSaveTemplateAs->setIconSet(QIcon(QPixmap(myThemePath + "/mActionFileSaveAs.png")));
+  mActionExportAsImage->setIconSet(QIcon(QPixmap(myThemePath + "/mActionExportMapServer.png")));
+  mActionExportAsSVG->setIconSet(QIcon(QPixmap(myThemePath + "/mActionSaveAsSVG.png")));
+  mActionPrint->setIconSet(QIcon(QPixmap(myThemePath + "/mActionFilePrint.png")));
+  mActionZoomAll->setIconSet(QIcon(QPixmap(myThemePath + "/mActionZoomFullExtent.png")));
+  mActionZoomIn->setIconSet(QIcon(QPixmap(myThemePath + "/mActionZoomIn.png")));
+  mActionZoomOut->setIconSet(QIcon(QPixmap(myThemePath + "/mActionZoomOut.png")));
+  mActionRefreshView->setIconSet(QIcon(QPixmap(myThemePath + "/mActionDraw.png")));
+  mActionAddImage->setIconSet(QIcon(QPixmap(myThemePath + "/mActionSaveMapAsImage.png")));
+  mActionAddNewMap->setIconSet(QIcon(QPixmap(myThemePath + "/mActionAddRasterLayer.png")));
+  mActionAddNewLabel->setIconSet(QIcon(QPixmap(myThemePath + "/mActionLabel.png")));
+  mActionAddNewVectLegend->setIconSet(QIcon(QPixmap(myThemePath + "/mActionAddLegend.png")));
+  mActionAddNewScalebar->setIconSet(QIcon(QPixmap(myThemePath + "/mActionScaleBar.png")));
+  mActionSelectMoveItem->setIconSet(QIcon(QPixmap(myThemePath + "/mActionPan.png")));
+}
+
+void QgsComposer::open ( void )
+{
+  if ( mFirstTime ) {
+    mComposition->createDefault();
+    mFirstTime = false;
+  }
+
+  show();
+}
+
+void QgsComposer::removeWidgetChildren ( QWidget *w )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::removeWidgetChildren" << std::endl;
+#endif
+
+  const QObjectList ol = mItemOptionsFrame->children();
+  if ( !ol.isEmpty() ) 
+  {
+    QListIterator<QObject*> olit( ol );
+    QObject *ob;
+    while( olit.hasNext() )
+    {
+      ob = olit.next();
+      if( ob->isWidgetType() ) 
+      {
+        QWidget *ow = (QWidget *) ob;
+
+        // The following line is legacy Qt3, is not supported in Qt4
+        // and can cause a SIGABRT
+        //w->removeChild ( ob );
+        // instead:
+        ow->setParent(0);
+        // TODO: Eventually mItemOptionsFrame should be made
+        // a Qt4 QStackedWidget and all this removeWidgetChildren
+        // shenanigans can alledgedly go away
+
+        ow->hide();
+      }
+    }
+  }
+}
+
+void QgsComposer::showCompositionOptions ( QWidget *w ) {
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::showCompositionOptions" << std::endl;
+#endif
+  removeWidgetChildren ( mCompositionOptionsFrame );
+
+  if ( w ) { 
+    w->reparent ( mCompositionOptionsFrame, QPoint(0,0), TRUE );
+    mCompositionOptionsLayout->addWidget( w, 0, 0 );
+  }
+}
+
+void QgsComposer::showItemOptions ( QWidget *w )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::showItemOptions" << std::endl;
+#endif
+  removeWidgetChildren ( mItemOptionsFrame );
+
+  // NOTE: It is better to leave there the tab with item options if w is NULL
+
+  if ( w ) {
+    w->reparent ( mItemOptionsFrame, QPoint(0,0), TRUE );
+
+    mItemOptionsLayout->addWidget( w, 0, 0 );
+    mOptionsTabWidget->setCurrentPage (1);
+  }
+}
+
+QgsMapCanvas *QgsComposer::mapCanvas(void)
+{
+  return mQgis->getMapCanvas();
+}
+
+QgsComposerView *QgsComposer::view(void)
+{
+  return mView;
+}
+
+QgsComposition *QgsComposer::composition(void)
+{
+  return mComposition;
+}
+
+void QgsComposer::zoomFull(void)
+{
+//can we just use QGraphicsView::fitInView with the "paper" rect?
+
+  QMatrix m;
+
+  // scale
+  double xscale = 1.0 * (mView->width()-10) / mComposition->canvas()->width();
+  double yscale = 1.0 * (mView->height()-10) / mComposition->canvas()->height();
+  double scale = ( xscale < yscale ? xscale : yscale );
+
+  // translate
+  double dx = ( mView->width() - scale * mComposition->canvas()->width() ) / 2;
+  double dy = ( mView->height() - scale * mComposition->canvas()->height() ) / 2;
+
+  m.translate ( dx, dy );
+  m.scale( scale, scale );
+
+  mView->setMatrix( m );
+//  mView->repaintContents(); //needed?
+
+}
+
+void QgsComposer::on_mActionZoomAll_activated(void)
+{
+  zoomFull();
+}
+/*
+QMatrix QgsComposer::updateMatrix(double scaleChange)
+{
+
+  double scale = mView->matrix().m11() * scaleChange; // get new scale
+
+  double dx = ( mView->width() - scale * mComposition->canvas()->width() ) / 2;
+  double dy = ( mView->height() - scale * mComposition->canvas()->height() ) / 2;
+
+  // don't translate if composition is bigger than view
+  if (dx < 0) dx = 0;
+  if (dy < 0) dy = 0;
+  
+  // create new world matrix:  
+  QMatrix m;
+  m.translate ( dx, dy );
+  m.scale ( scale, scale );
+  return m;
+
+}
+*/
+void QgsComposer::on_mActionZoomIn_activated(void)
+{
+  mView->scale(2, 2);
+  mView->update();
+}
+
+void QgsComposer::on_mActionZoomOut_activated(void)
+{
+  mView->scale(.5, .5);
+  mView->update();
+}
+
+void QgsComposer::on_mActionRefreshView_activated(void)
+{
+  mComposition->refresh();
+  mView->update();
+}
+
+void QgsComposer::on_mActionPrint_activated(void)
+{
+  /* Uff!!! It is impossible to set a custom page size for QPrinter.
+   * Only the sizes hardcoded in Qt library can be used.
+   * 'Fortunately', it seems that everything is written to postscript output file,
+   * regardless the pages size ->
+   *
+   * 1) outputToFile == false: If the output page size doesn't match the user defined size 
+   *                           (in QgsComposer) the output is rescaled and centered so that 
+   *                           it fit to the select output page size. 
+   *                           a warning is displayed, that the map was rescaled.
+   *                           
+   * 2) outputToFile == true:  the output postscript file is written (page size is not
+   *                           important but bigger is better because it lefts enough space
+   *                           in BoundingBox definition), then the file is reopened, 
+   *                           and the BoundingBox is redefined.
+   */
+
+  // NOTE: QT 3.2 has QPrinter::setOptionEnabled but only for three options 
+  if (!mPrinter)
+  {
+
+    mPrinter = new QPrinter(QPrinter::PrinterResolution);
+    //mPrinter = new QPrinter ( QPrinter::HighResolution );
+    //mPrinter = new QPrinter ( QPrinter::ScreenResolution );
+    mPrinter->setFullPage(true);
+#ifndef Q_OS_MACX
+    // For Qt/Mac 3, don't set outputToFile to true before calling setup 
+    // because it wiil suppress the Print dialog and output to file without
+    // giving the user a chance to select a printer instead.
+    // The Mac Print dialog provides an option to create a pdf which is
+    // intended to be invisible to the application. If an eps is desired,
+    // a custom Mac Print dialog is needed.
+
+    // There is a bug in Qt<=4.2.2 (dialog is not correct) if output is set to file
+    // => disable until they fix it
+    //mPrinter->setOutputToFile (true ) ;
+    //mPrinter->setOutputFileName ( QDir::convertSeparators ( QDir::home().path() + "/" + "qgis.eps") );
+#endif
+    mPrinter->setColorMode(QPrinter::Color);
+    mPrinter->setPageSize(QPrinter::A4); //would be nice set this based on the composition paper size
+  } else
+  {
+    // Because of bug in Qt<=4.2.2 (dialog is not correct) we have to reset always
+    // to printer otherwise print to file is checked but printer combobox is in dialog
+    mPrinter->setOutputToFile(false);
+  }
+
+  //set the resolution and paper orientation each time we call up the dialog, not just the first time we run it
+  mPrinter->setResolution(mComposition->resolution());
+  if (mComposition->paperOrientation() == QgsComposition::Portrait)
+  {
+    mPrinter->setOrientation(QPrinter::Portrait);
+  } else
+  {
+    mPrinter->setOrientation(QPrinter::Landscape);
+  }
+
+
+  //if ( mPrinter->setup(this) ) {
+  QPrintDialog printDialog(mPrinter, this);
+  if (printDialog.exec() == QDialog::Accepted)
+    {
+      // TODO: mPrinter->setup() moves the composer under Qgisapp, get it to foreground somehow
+      //       raise() for now, is it something better?
+      raise();
+
+      // TODO: Qt does not add pagesize to output file, it can cause problems if ps2pdf is used 
+      // or if default page on printer is different.
+      // We should add somewhere in output file:
+      // << /PageSize [ %d %d ] >> setpagedevice
+      // %d %d is width and height in points
+
+      // WARNING: If QCanvasView recieves repaint signal during the printing
+      // (e.g. covered by QPrinter::setup dialog) it breaks somehow drawing of QCanvas items 
+      // (for example not all features in the map are drawn.
+      // I don't know how to stop temporarily updating, (I don't want to reimplement 
+      // repaint in QCanvasView, so I unset the view, print and reset.
+      mView->setScene(0);
+
+      int resolution = mPrinter->resolution();
+
+      std::cout << "Resolution = " << resolution << std::endl;
+
+      double scale = resolution / 25.4 / mComposition->scale();
+
+      mComposition->setPlotStyle(QgsComposition::Postscript);
+
+      if (!mPrinter->outputFileName().isNull())
+        {
+          try
+          {
+            std::cout << "Print to file" << std::endl;
+
+            QPrinter::PageSize psize=QPrinter::A4; //sensible default
+
+            // WARNING mPrinter->outputFormat() returns always 0 in Qt 4.2.2
+            // => we have to check extension
+            bool isPs = false;
+            if (mPrinter->outputFileName().right(3).toLower() == ".ps" || mPrinter->outputFileName().right(4).toLower() == ".eps")
+              {
+                isPs = true;
+              }
+            //if ( mPrinter->outputFormat() == QPrinter::PostScriptFormat )
+            if (isPs)
+              {
+                // NOTE: setPageSize after setup() works, but setOrientation does not
+                //   -> the BoundingBox must follow the orientation 
+
+                psize = mPrinter->pageSize();
+                // B0 ( 1000x1414mm = 2835x4008pt ) is the biggest defined in Qt, a map can be bigger 
+                // but probably not bigger than 9999x9999pt = 3527x3527mm 
+                mPrinter->setPageSize(QPrinter::B0);
+              }
+
+            QPainter p(mPrinter);
+            p.scale(scale, scale);
+
+            QRectF renderArea(0, 0, (mComposition->paperWidth() * mComposition->scale()),
+                              (mComposition->paperHeight() * mComposition->scale()));
+
+            mComposition->canvas()->render(&p, renderArea);
+
+            p.end();
+
+            std::cout << "mPrinter->outputFormat() = " << mPrinter->outputFormat() << std::endl;
+
+
+            //if ( mPrinter->outputFormat() == QPrinter::PostScriptFormat )
+            if (isPs)
+              {
+                // reset the page
+                mPrinter->setPageSize(psize);
+
+                QFile f(mPrinter->outputFileName());
+
+                // Overwrite the bounding box
+                std::cout << "Overwrite the bounding box" << std::endl;
+                if (!f.open(QIODevice::ReadWrite))
+                  {
+                    throw QgsIOException(tr("Couldn't open " + f.name() + tr(" for read/write")));
+                  }
+                Q_LONG offset = 0;
+                Q_LONG size;
+                bool found = false;
+                QString s;
+                char buf[101];
+                while (!f.atEnd())
+                  {
+                    size = f.readLine(buf, 100);
+                    s = QString(buf);
+                    if (s.find("%%BoundingBox:") == 0)
+                      {
+                        found = true;
+                        break;
+                      }
+                    offset += size;
+                  }
+
+                if (found)
+                  {
+                    int w, h;
+
+                    w = (int) (72 * mComposition->paperWidth() / 25.4);
+                    h = (int) (72 * mComposition->paperHeight() / 25.4);
+                    if (mPrinter->orientation() == QPrinter::Landscape)
+                      {
+                        int tmp = w;
+                        w = h;
+                        h = tmp;
+                      }
+                    s.sprintf("%%%%BoundingBox: 0 0 %d %d", w, h);
+
+                    if (s.length() > size)
+                      {
+                        int shift = s.length() - size;
+                        shiftFileContent(&f, offset + size + 1, shift);
+                    } else
+                      {
+                        if (!f.at(offset))
+                          {
+                            QMessageBox::warning(this, tr("Error in Print"), tr("Cannot seek"));
+                        } else
+                          {
+                            // Write spaces (for case the size > s.length() )
+                            QString es;
+                            es.fill(' ', size - 1);
+                            f.flush();
+                            if (f.writeBlock(es.toLocal8Bit().data(), size - 1) < size - 1)
+                              {
+                                QMessageBox::warning(this, tr("Error in Print"), tr("Cannot overwrite BoundingBox"));
+                              }
+                            f.flush();
+                            f.at(offset);
+                            f.flush();
+                            if (f.writeBlock(s.toLocal8Bit().data(), s.length()) < s.length() - 1)
+                              {
+                                QMessageBox::warning(this, tr("Error in Print"), tr("Cannot overwrite BoundingBox"));
+                              }
+                            f.flush();
+                          }     //END else (!f.at(offset))
+                      }         //END else (s.length() > size)
+                  }             //END if(found)
+                else
+                  {
+                    QMessageBox::warning(this, tr("Error in Print"), tr("Cannot find BoundingBox"));
+                  }
+                f.close();
+
+                // Overwrite translate
+                if (mPrinter->orientation() == QPrinter::Portrait)
+                  {
+                    std::cout << "Orientation portraint -> overwrite translate" << std::endl;
+                    if (!f.open(QIODevice::ReadWrite))
+                      {
+                        throw QgsIOException(tr("Couldn't open ") + f.name() + tr(" for read/write"));
+                      }
+                    offset = 0;
+                    found = false;
+
+                    //Example Qt3:
+                    //0 4008 translate 1 -1 scale/defM ...
+                    //QRegExp rx ( "^0 [^ ]+ translate ([^ ]+ [^ ]+) scale/defM matrix CM d \\} d" );
+                    //Example Qt4:
+                    //0 0 translate 0.239999 -0.239999 scale } def
+                    QRegExp rx("^0 [^ ]+ translate ([^ ]+ [^ ]+) scale \\} def");
+
+                    while (!f.atEnd())
+                      {
+                        size = f.readLine(buf, 100);
+                        s = QString(buf);
+                        if (rx.search(s) != -1)
+                          {
+                            found = true;
+                            break;
+                          }
+                        offset += size;
+                      }         //END while( !f.atEnd() )
+
+                    if (found)
+                      {
+                        int trans;
+
+                        trans = (int) (72 * mComposition->paperHeight() / 25.4);
+                        std::cout << "trans = " << trans << std::endl;
+                        //Qt3:
+                        //s.sprintf( "0 %d translate %s scale/defM matrix CM d } d", trans, (const char *)rx.cap(1).toLocal8Bit().data() );
+                        //Qt4:
+                        s.sprintf("0 %d translate %s scale } def\n", trans, (const char *) rx.cap(1).toLocal8Bit().data());
+
+                        std::cout << "s.length() = " << s.length() << " size = " << size << std::endl;
+                        if (s.length() > size)
+                          {
+                            //QMessageBox::warning(this, tr("Error in Print"), tr("Cannot format translate"));
+                            // Move the content up
+                            int shift = s.length() - size;
+                            /*
+                               int last = f.size() + shift -1;
+                               for ( int i = last; i > offset + size; i-- )
+                               {
+                               f.at(i-shift);
+                               QByteArray ba = f.read(1);
+                               f.at(i);
+                               f.write(ba);
+                               }
+                             */
+                            shiftFileContent(&f, offset + size + 1, shift);
+                          }     //END if( s.length() > size)
+
+                        // Overwrite the row
+                        if (!f.at(offset))
+                          {
+                            QMessageBox::warning(this, tr("Error in Print"), tr("Cannot seek"));
+                        } else
+                          {
+                            /* Write spaces (for case the size > s.length() ) */
+                            QString es;
+                            es.fill(' ', size - 1);
+                            f.flush();
+                            if (f.writeBlock(es.toLocal8Bit().data(), size - 1) < size - 1)
+                              {
+                                QMessageBox::warning(this, tr("Error in Print"), tr("Cannot overwrite translate"));
+                              }
+                            f.flush();
+                            f.at(offset);
+                            f.flush();
+                            if (f.writeBlock(s.toLocal8Bit().data(), s.length()) < s.length() - 1)
+                              {
+                                QMessageBox::warning(this, tr("Error in Print"), tr("Cannot overwrite translate"));
+                              }
+                            f.flush();
+                          }     //END else
+                    } else
+                      {
+                        QMessageBox::warning(this, tr("Error in Print"), tr("Cannot find translate"));
+                      }
+                    f.close();
+                  }
+              }
+          }
+          catch(QgsIOException e)
+          {
+            QMessageBox::warning(this, tr("File IO Error"), e.what());
+          }
+      } else
+        {                       // print to printer
+          bool print = true;
+
+          // Check size 
+          std::cout << "Paper: " << mPrinter->widthMM() << " x " << mPrinter->heightMM() << std::endl;
+          if (mComposition->paperWidth() != mPrinter->widthMM() || mComposition->paperHeight() != mPrinter->heightMM())
+            {
+              int answer = QMessageBox::warning(0, tr("Paper does not match"),
+                                                tr("The selected paper size does not match the composition size"),
+                                                QMessageBox::Ok, QMessageBox::Abort);
+
+              if (answer == QMessageBox::Abort)
+                {
+                  print = false;
+                }
+            }                   //END if(compositionSize != paperSize)
+
+          if (print)
+            {
+              std::cout << "Printing ... " << std::endl;
+              QPainter p(mPrinter);
+              p.scale(scale, scale);
+
+              QRectF renderArea(0, 0, (mComposition->paperWidth() * mComposition->scale()),
+                                (mComposition->paperHeight() * mComposition->scale()));
+
+              mComposition->canvas()->render(&p, renderArea);
+
+              p.end();
+              std::cout << "... printing finished" << std::endl;
+            }                   //END if ( print )
+        }
+
+      mComposition->setPlotStyle(QgsComposition::Preview);
+      mView->setScene(mComposition->canvas());
+  } else
+    {
+      raise();
+    }
+
+}
+
+
+bool QgsComposer::shiftFileContent ( QFile *file, Q_LONG start, int shift )
+{
+	int last = file->size() + shift -1;
+	for ( int i = last; i >= start + shift; i-- )
+	{
+            if ( !file->at(i-shift) ) return false;
+	    QByteArray ba = file->read(1);
+	    if ( ba.isEmpty() ) return false;
+	    if ( !file->at(i) ) return false;
+	    if ( file->write(ba) != 1 ) return false;
+	}
+	return true;
+}
+
+void QgsComposer::on_mActionExportAsImage_activated(void)
+{
+
+  // Image size 
+  int width = (int) (mComposition->resolution() * mComposition->paperWidth() / 25.4); 
+  int height = (int) (mComposition->resolution() * mComposition->paperHeight() / 25.4); 
+
+  int memuse = width * height * 3 / 1000000;  // pixmap + image
+#ifdef QGISDEBUG
+  std::cout << "Image " << width << " x " << height << std::endl;
+  std::cout << "memuse = " << memuse << std::endl;
+#endif
+
+  if ( memuse > 200 ) { // cca 4500 x 4500
+    int answer = QMessageBox::warning ( 0, tr("Big image"), 
+        tr("To create image ") + QString::number(width) + " x " 
+        + QString::number(height) 
+        + tr(" requires circa ") 
+        + QString::number(memuse) + tr(" MB of memory"), 
+        QMessageBox::Ok,  QMessageBox::Abort );
+  
+    raise ();
+    if ( answer == QMessageBox::Abort ) return;
+  }
+
+  // Get file and format (stolen from qgisapp.cpp but modified significantely)
+
+  //create a map to hold the QImageIO names and the filter names
+  //the QImageIO name must be passed to the mapcanvas saveas image function
+  typedef QMap<QString, QString> FilterMap;
+  FilterMap myFilterMap;
+
+  //find out the last used filter
+  QSettings myQSettings;  // where we keep last used filter in persistant state
+  QString myLastUsedFormat = myQSettings.readEntry("/UI/lastSaveAsImageFormat", "png" );
+  QString myLastUsedFile = myQSettings.readEntry("/UI/lastSaveAsImageFile","qgis.png");
+  QFileInfo file(myLastUsedFile);
+
+  // get a list of supported output image types
+  int myCounterInt=0;
+  QString myFilters;
+  QString myLastUsedFilter;
+  for ( ; myCounterInt < QImageWriter::supportedImageFormats().count(); myCounterInt++ )
+  {
+    QString myFormat=QString(QImageWriter::supportedImageFormats().at( myCounterInt ));
+    QString myFilter = myFormat + " " + tr("format") + " (*." + myFormat.lower() + " *." + myFormat.upper() + ")";
+
+    if ( myCounterInt > 0 ) myFilters += ";;";
+    myFilters += myFilter;
+    myFilterMap[myFilter] = myFormat;
+    if ( myFormat == myLastUsedFormat ) 
+    { 
+      myLastUsedFilter = myFilter;
+    }
+  }
+#ifdef QGISDEBUG
+  std::cout << "Available Filters Map: " << std::endl;
+  FilterMap::Iterator myIterator;
+  for ( myIterator = myFilterMap.begin(); myIterator != myFilterMap.end(); ++myIterator )
+  {
+    std::cout << myIterator.key().toLocal8Bit().data() << "  :  " << myIterator.data().toLocal8Bit().data() << std::endl;
+  }
+#endif
+
+  //create a file dialog using the the filter list generated above
+  std::auto_ptr < QFileDialog > myQFileDialog(
+      new QFileDialog(
+        this,
+        tr("Choose a filename to save the map image as"),
+        file.path(),
+        myFilters
+        )
+      );
+  myQFileDialog->selectFile( file.fileName() );
+
+  // allow for selection of more than one file
+  myQFileDialog->setMode(QFileDialog::AnyFile);
+
+  // set the filter to the last one used
+  myQFileDialog->selectFilter(myLastUsedFilter);
+
+  // set the 'Open' button to something that makes more sense
+  myQFileDialog->setAcceptMode(QFileDialog::AcceptSave);
+
+  //prompt the user for a filename
+  QString myOutputFileNameQString; // = myQFileDialog->getSaveFileName(); //delete this
+
+  int result = myQFileDialog->exec();
+  raise ();
+  
+  if ( result != QDialog::Accepted) return;
+
+  myOutputFileNameQString = myQFileDialog->selectedFile();
+  QString myFilterString = myQFileDialog->selectedFilter();
+#ifdef QGISDEBUG
+  std::cout << "Selected filter: " << myFilterString.toLocal8Bit().data() << std::endl;
+  std::cout << "Image type: " << myFilterMap[myFilterString].toLocal8Bit().data() << std::endl;
+#endif
+
+  myQSettings.writeEntry("/UI/lastSaveAsImageFormat" , myFilterMap[myFilterString] );
+  myQSettings.writeEntry("/UI/lastSaveAsImageFile", myOutputFileNameQString);
+
+  if ( myOutputFileNameQString == "" ) return;
+
+  double scale = (double) (mComposition->resolution() / 25.4 / mComposition->scale());
+
+  mView->setScene(0);
+  mComposition->setPlotStyle ( QgsComposition::Print );
+
+  QPixmap pixmap ( width, height );
+  pixmap.fill ( QColor(255,255,255) ) ;
+  QPainter p(&pixmap);
+  p.scale ( scale, scale);
+
+QRectF renderArea(0,0,(mComposition->paperWidth() * mComposition->scale()),(mComposition->paperHeight() * mComposition->scale()));
+
+  mComposition->canvas()->render(&p, renderArea);
+  p.end();
+
+  mComposition->setPlotStyle ( QgsComposition::Preview );
+  mView->setScene(mComposition->canvas());
+
+  pixmap.save ( myOutputFileNameQString, myFilterMap[myFilterString].toLocal8Bit().data() );
+}
+
+
+void QgsComposer::on_mActionExportAsSVG_activated(void)
+{
+
+// QT 4 QPicture does not support export to SVG, so we're still using Q3Picture.
+// When QGIS moves to Qt 4.3, we can use QSvgGenerator instead.
+
+  QSettings myQSettings;
+
+  bool displaySVGWarning = myQSettings.value("/UI/displaySVGWarning", true).toBool();
+
+  if (displaySVGWarning)
+  {
+    QgsMessageViewer* m = new QgsMessageViewer(this);
+    m->setWindowTitle(tr("SVG warning"));
+    m->setCheckBoxText(tr("Don't show this message again"));
+    m->setCheckBoxState(Qt::Unchecked);
+    m->setCheckBoxVisible(true);
+    m->setMessageAsHtml(tr("<p>The SVG export function in Qgis has several "
+                           "problems due to bugs and deficiencies in the "
+                           "Qt4 svg code. Of note, text does not "
+                           "appear in the SVG file and there are problems "
+                           "with the map bounding box clipping other items "
+                           "such as the legend or scale bar.</p>"
+                           "If you require a vector-based output file from "
+                           "Qgis it is suggested that you try printing "
+                           "to PostScript if the SVG output is not "
+                           "satisfactory."
+                           "</p>"));
+    m->exec();
+
+    if (m->checkBoxState() == Qt::Checked)
+    {
+      myQSettings.setValue("/UI/displaySVGWarning", false); //turn off the warning next time
+    }
+    else
+    {
+      myQSettings.setValue("/UI/displaySVGWarning", true);
+    }
+    //delete m; // this causes a segfault
+
+  }
+  QString myLastUsedFile = myQSettings.readEntry("/UI/lastSaveAsSvgFile","qgis.svg");
+  QFileInfo file(myLastUsedFile);
+  QFileDialog *myQFileDialog = new QFileDialog( this, tr("Choose a filename to save the map as"),
+                                                file.path(), tr("SVG Format") + " (*.svg *SVG)" );
+  myQFileDialog->selectFile( file.fileName() );
+  myQFileDialog->setMode(QFileDialog::AnyFile);
+  myQFileDialog->setAcceptMode(QFileDialog::AcceptSave);
+
+  int result = myQFileDialog->exec();
+  raise ();
+  if ( result != QDialog::Accepted) return;
+
+  QString myOutputFileNameQString = myQFileDialog->selectedFile();
+  if ( myOutputFileNameQString == "" ) return;
+
+  myQSettings.writeEntry("/UI/lastSaveAsSvgFile", myOutputFileNameQString);
+
+  mView->setScene(0);//don't redraw the scene on the display while we render
+  mComposition->setPlotStyle ( QgsComposition::Print );
+
+  Q3Picture pic;
+  QPainter p(&pic);
+  QRectF renderArea(0,0, (mComposition->paperWidth() * mComposition->scale()), (mComposition->paperHeight() * mComposition->scale()) );
+
+  mComposition->canvas()->render(&p, renderArea);
+  p.end();
+
+  mComposition->setPlotStyle ( QgsComposition::Preview );
+  mView->setScene(mComposition->canvas()); //now that we're done, set the view to show the scene again
+
+  QRect br = pic.boundingRect();
+
+  pic.save ( myOutputFileNameQString, "svg" );
+
+}
+
+
+void QgsComposer::setToolActionsOff(void)
+{
+  mActionOpenTemplate->setOn ( false );
+  mActionSaveTemplateAs->setOn ( false );
+  mActionExportAsImage->setOn ( false );
+  mActionExportAsSVG->setOn ( false );
+  mActionPrint->setOn ( false );
+  mActionZoomAll->setOn ( false );
+  mActionZoomIn->setOn ( false );
+  mActionZoomOut->setOn ( false );
+  mActionRefreshView->setOn ( false );
+  mActionAddNewMap->setOn ( false );
+  mActionAddImage->setOn ( false );
+  mActionAddNewLabel->setOn ( false );
+  mActionAddNewVectLegend->setOn ( false );
+  mActionAddNewScalebar->setOn ( false );
+  mActionSelectMoveItem->setOn ( false );
+}
+
+void QgsComposer::selectItem(void)
+{
+  mComposition->setTool ( QgsComposition::Select );
+  setToolActionsOff();
+  mActionSelectMoveItem->setOn ( true );
+}
+
+void QgsComposer::on_mActionSelectMoveItem_activated(void)
+{
+  selectItem();
+}
+
+void QgsComposer::on_mActionAddNewMap_activated(void)
+{
+  mComposition->setTool ( QgsComposition::AddMap );
+  setToolActionsOff();
+  mActionAddNewMap->setOn ( true );
+}
+
+void QgsComposer::on_mActionAddNewVectLegend_activated(void)
+{
+  mComposition->setTool ( QgsComposition::AddVectorLegend );
+  setToolActionsOff();
+  mActionAddNewVectLegend->setOn ( true );
+}
+
+void QgsComposer::on_mActionAddNewLabel_activated(void)
+{
+  mComposition->setTool ( QgsComposition::AddLabel );
+  setToolActionsOff();
+  mActionAddNewLabel->setOn ( true );
+}
+
+void QgsComposer::on_mActionAddNewScalebar_activated(void)
+{
+  mComposition->setTool ( QgsComposition::AddScalebar );
+  setToolActionsOff();
+  mActionAddNewScalebar->setOn ( true );
+}
+
+void QgsComposer::on_mActionAddImage_activated(void)
+{
+  mComposition->setTool ( QgsComposition::AddPicture );
+  setToolActionsOff();
+  mActionAddImage->setOn ( true );
+}
+
+void QgsComposer::moveEvent ( QMoveEvent *e ) { saveWindowState(); }
+
+void QgsComposer::resizeEvent ( QResizeEvent *e )
+{
+  // Move size grip when window is resized
+  mSizeGrip->move(rect().bottomRight() - mSizeGrip->rect().bottomRight());
+
+  saveWindowState();
+}
+
+void QgsComposer::saveWindowState()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::saveWindowState" << std::endl;
+#endif
+
+  QSettings settings;
+
+  QPoint p = this->pos();
+  QSize s = this->size();
+
+  settings.writeEntry("/Composer/geometry/x", p.x());
+  settings.writeEntry("/Composer/geometry/y", p.y());
+  settings.writeEntry("/Composer/geometry/w", s.width());
+  settings.writeEntry("/Composer/geometry/h", s.height());
+
+  Q3ValueList<int> list = mSplitter->sizes();
+  Q3ValueList<int>::Iterator it = list.begin();
+  settings.writeEntry("/Composer/geometry/wiev", (int)(*it) );
+  it++;
+  settings.writeEntry("/Composer/geometry/options", (int)(*it) );
+
+if(this->isMaximized()){
+	std::cout << "maximized!" << std::endl;
+}
+}
+
+void QgsComposer::restoreWindowState()
+{
+
+  QSettings settings;
+
+  QDesktopWidget *d = QApplication::desktop();
+  int dw = d->width();
+  int dh = d->height();
+  int w = settings.readNumEntry("/Composer/geometry/w", 600);
+  int h = settings.readNumEntry("/Composer/geometry/h", 400);
+  int x = settings.readNumEntry("/Composer/geometry/x", (dw - 600) / 2);
+  int y = settings.readNumEntry("/Composer/geometry/y", (dh - 400) / 2);
+  resize(w, h);
+  move(x, y);
+
+//We also need to save the maximized state
+
+//std::cout << "x: " << x << "y: " << y << "w: " << w << "h: " << h << std::endl;
+
+  // This doesn't work
+  Q3ValueList<int> list;
+  w = settings.readNumEntry("/Composer/geometry/view", 300);
+  list.push_back( w );
+  w = settings.readNumEntry("/Composer/geometry/options", 300);
+  list.push_back( w );
+  mSplitter->setSizes ( list );
+
+}
+
+void QgsComposer::on_helpPButton_clicked()
+{
+  QgsContextHelp::run(context_id);
+}
+
+void QgsComposer::on_closePButton_clicked()
+{
+  close();
+}
+
+void QgsComposer::projectRead(void)
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::projectRead" << std::endl;
+#endif
+  if ( mComposition ) delete mComposition;
+  mComposition  = new QgsComposition( this, 1 );
+
+  // Read composition if it is defined in project
+  QStringList l = QgsProject::instance()->subkeyList ( "Compositions", "" );
+
+  bool found = false;
+  for ( QStringList::iterator it = l.begin(); it != l.end(); ++it ) {
+    std::cout << "key: " << (*it).toLocal8Bit().data() << std::endl;
+    if ( (*it).compare ( "composition_1" ) == 0 ) {
+      found = true;
+      break;
+    }
+  }
+
+  if ( found ) {
+    mComposition->readSettings ( );
+    mFirstTime = false;
+  } else { 
+    if ( isVisible() ) {
+      mComposition->createDefault();
+      mFirstTime = false;
+    } else {
+      mFirstTime = true;
+    }
+  }
+
+  mComposition->setActive ( true );
+}
+
+void QgsComposer::newProject(void)
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::newProject" << std::endl;
+#endif
+  if ( mComposition ) delete mComposition;
+
+  mComposition  = new QgsComposition( this, 1 );
+  mComposition->setActive ( true );
+
+  // If composer is visible, create default immediately, otherwise wait for the first open()
+  if ( isVisible() ) {
+    mComposition->createDefault();
+    mFirstTime = false;
+  } else {
+    mFirstTime = true;
+  }
+}
+
+bool QgsComposer::writeSettings ( void )
+{
+#ifdef WIN32
+  bool ok = true;
+#else
+  bool ok = false;
+#endif
+  return ok;
+}
+
+bool QgsComposer::readSettings ( void )
+{
+#ifdef WIN32
+  bool ok = true;
+#else
+  bool ok = false;
+#endif
+  return ok;
+}
+
+bool QgsComposer::writeXML( QDomNode & node, QDomDocument & doc )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::writeXML" << std::endl;
+#endif
+  QDomElement compositionsNode = doc.createElement("compositions");
+
+  node.appendChild( compositionsNode );
+
+  return true;
+}
+
+bool QgsComposer::readXML( QDomNode & node )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposer::readXML" << std::endl;
+#endif
+  return true;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,205 @@
+/***************************************************************************
+                         qgscomposer.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscomposer.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSCOMPOSER_H
+#define QGSCOMPOSER_H
+#include "ui_qgscomposerbase.h"
+
+class QgisApp;
+class QgsComposerView;
+class QgsComposition;
+class QgsMapCanvas;
+
+class QGridLayout;
+class QPrinter;
+class QDomNode;
+class QDomDocument;
+class QMoveEvent;
+class QResizeEvent;
+class QFile;
+class QSizeGrip;
+
+/* The constructor creates empty composer, without compositions and mFirstTime set to true. 
+ * - if signal projectRead() is recieved all old compositions are deleted and
+ *     - if the composition exists in project it is created from project settings (mFirstTime set to false)
+ *     - if the composition does not exist in project 
+ *         - if the composer is visible new default composition is created (mFirstTime set to false)
+ *         - if the composer is not visible the composer is left empty (mFirstTime set to true)
+ * - if signal newProject() is recieved all old compositions are deleted and 
+ *     - if the composer is visible a new default composition is created (mFirstTime set to false)
+ *     - if the composer is not visible the composer is left empty (mFirstTime set to true)
+ *         
+ * If open() is called and mFirstTime == true, a new default composition is created.
+ *
+ */
+class QgsComposer: public QMainWindow, private Ui::QgsComposerBase
+{
+    Q_OBJECT
+
+public:
+    QgsComposer(QgisApp *qgis);
+    ~QgsComposer();
+    
+    //! Open and show, set defaults if first time
+    void open();
+
+    //! Zoom to full extent of the paper
+    void zoomFull();
+
+    //! Select item
+    void selectItem();
+
+    //! Return pointer to map canvas
+    QgsMapCanvas *mapCanvas( void );
+    
+    //! Return pointer to composer view
+    QgsComposerView *view ( void );
+
+    //! Return current composition
+    QgsComposition *composition(void);
+
+    //! Show composition options in widget
+    void showCompositionOptions ( QWidget *w );
+    
+    //! Show item options in widget
+    void showItemOptions ( QWidget *w );
+
+    /** \brief stores statei in project */
+    bool writeSettings ( void );
+
+    /** \brief read state from project */
+    bool readSettings ( void );
+
+    //! Stores state in DOM node
+    bool writeXML( QDomNode & node, QDomDocument & doc);
+
+    //! Sets state from DOM document
+    bool readXML( QDomNode & node );
+
+    //! Restore the window and toolbar state
+    void restoreWindowState();
+
+    //! Move event
+    void moveEvent ( QMoveEvent * );
+    
+    //! Resize event
+    void resizeEvent ( QResizeEvent * );
+
+public slots:
+    //! Zoom to full extent of the paper
+    void on_mActionZoomAll_activated(void);
+
+    //! Zoom in
+    void on_mActionZoomIn_activated(void);
+
+    //! Zoom out 
+    void on_mActionZoomOut_activated(void);
+
+    //! Refresh view 
+    void on_mActionRefreshView_activated(void);
+
+    //! Print the composition
+    void on_mActionPrint_activated(void);
+    
+    //! Print as image
+    void on_mActionExportAsImage_activated(void);
+    
+    //! Print as SVG
+    void on_mActionExportAsSVG_activated(void);
+    
+    //! Select item
+    void on_mActionSelectMoveItem_activated(void);
+    
+    //! Add new map
+    void on_mActionAddNewMap_activated(void);
+
+    //! Add new vector legend
+    void on_mActionAddNewVectLegend_activated(void);
+    
+    //! Add new label
+    void on_mActionAddNewLabel_activated(void);
+    
+    //! Add new scalebar
+    void on_mActionAddNewScalebar_activated(void);
+    
+    //! Add new picture
+    void on_mActionAddImage_activated(void);
+
+    //! read project
+    void projectRead();
+
+    //! New project
+    void newProject();
+
+    //! Save window state
+    void saveWindowState();
+
+    //! Slot for when the help button is clicked
+    void on_helpPButton_clicked();
+
+    //! Slot for when the close button is clicked
+    void on_closePButton_clicked();
+
+private:
+    //! Set teh pixmap / icons on the toolbar buttons
+    void setupTheme();
+    //! remove widget childrens
+    void removeWidgetChildren ( QWidget *w );
+
+    /** \brief move up the content of the file
+        \param file file
+	\param from starting position
+	\param shift shift in bytes 
+    */
+    bool shiftFileContent ( QFile *file, Q_LONG start, int shift );
+    
+    //! Set buttons up
+    void setToolActionsOff (void);
+
+    //! returns new world matrix for canvas view after zoom with factor scaleChange
+    QMatrix updateMatrix(double scaleChange);
+    
+    //! Pointer to composer view
+    QgsComposerView *mView;
+
+    //! Current composition
+    QgsComposition *mComposition;
+    
+    //! Printer
+    QPrinter *mPrinter;
+
+    //! Pointer to QGIS application
+    QgisApp *mQgis;
+
+    //! The composer was opened first time (-> set defaults)
+    bool mFirstTime;
+
+    //! Layout 
+    QGridLayout *mCompositionOptionsLayout;
+
+    //! Layout
+    QGridLayout *mItemOptionsLayout;
+
+    //! Size grip
+    QSizeGrip *mSizeGrip;
+
+    //! Help context id
+    static const int context_id = 985715179;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,61 @@
+/***************************************************************************
+                         qgscomposeritem.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include <QWidget>
+#include <QDomNode>
+
+#include "qgscomposition.h"
+#include "qgscomposeritem.h"
+
+#include <iostream>
+
+QgsComposerItem::QgsComposerItem(void)
+{
+    mSelected = false;
+    mPlotStyle = QgsComposition::Preview;
+}
+
+QgsComposerItem::~QgsComposerItem()
+{
+}
+
+void QgsComposerItem::setPlotStyle ( QgsComposition::PlotStyle d ) { mPlotStyle = d; }
+
+QgsComposition::PlotStyle QgsComposerItem::plotStyle ( void ) { return mPlotStyle; }
+
+void QgsComposerItem::setSelected( bool s ) 
+{
+    std::cout << "QgsComposerItem::setSelected" << std::endl; 
+    mSelected = s; 
+}
+
+bool QgsComposerItem::selected( void ) { return mSelected; }
+
+int QgsComposerItem::id(void) { return mId; }
+
+void QgsComposerItem::showOptions ( QWidget * parent ) { }
+
+QWidget *QgsComposerItem::options ( void ) { return 0; }
+
+bool QgsComposerItem::writeSettings ( void )  { return true; }
+
+bool QgsComposerItem::readSettings ( void )  { return true; }
+
+bool QgsComposerItem::removeSettings ( void )  { return true; }
+    
+bool QgsComposerItem::writeXML( QDomNode & node, QDomDocument & doc, bool templ ) { return true; }
+
+bool QgsComposerItem::readXML( QDomNode & node ) {  return true; }

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposeritem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,87 @@
+/***************************************************************************
+                         qgscomposeritem.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERITEM_H
+#define QGSCOMPOSERITEM_H
+
+#include "qgscomposition.h"
+
+class QWidget;
+class Q3Canvas;
+class QDomNode;
+class QDomDocument;
+
+class QqsComposition;
+
+class QgsComposerItem
+{
+
+public:
+    QgsComposerItem();
+    virtual ~QgsComposerItem(); 
+public:
+    /** \brief Set plot style */
+    void setPlotStyle ( QgsComposition::PlotStyle p );
+
+    /** \brief get plot style */
+    QgsComposition::PlotStyle plotStyle ( void );
+
+    /** \brief Set selected, selected item should be highlighted */
+    virtual void setSelected( bool s );
+
+    /** \brief Is selected */
+    virtual bool selected( void );
+    
+    /** item id */
+    int id ( void );
+
+    /** Update otions and return pointer to options widget */
+    virtual QWidget *options ( void );
+
+    /** Create option controls
+     * @param parent widget where options are created
+     */
+    virtual void showOptions ( QWidget * parent );
+
+    /** stores state in project */
+    virtual bool writeSettings ( void );
+
+    /** read state from project */
+    virtual bool readSettings ( void );
+
+    /** delete settings from project file  */
+    virtual bool removeSettings( void ); 
+
+    /** stores state in DOM node
+     * @param node is DOM node corresponding to '???' tag
+     * @param temp write template file
+     */
+    virtual bool writeXML( QDomNode & node, QDomDocument & doc, bool templ = false );
+
+    /** sets state from DOM document
+     * @param node is DOM node corresponding to '???' tag
+     */
+    virtual bool readXML( QDomNode & node );
+
+protected:
+    QgsComposition::PlotStyle mPlotStyle;
+    bool mSelected;
+    int mId;
+
+private:
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,347 @@
+/***************************************************************************
+                         qgscomposerlabel.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgscomposerlabel.h"
+#include "qgsproject.h"
+
+#include <QGraphicsScene>
+#include <QAbstractGraphicsShapeItem>
+#include <QPolygonF>
+#include <QFontDialog>
+#include <QPainter>
+
+#include <iostream>
+
+QgsComposerLabel::QgsComposerLabel ( QgsComposition *composition, int id, 
+	                                            int x, int y, QString text, int fontSize )
+    : QWidget(composition), QAbstractGraphicsShapeItem(0), mBox(false)
+{
+    setupUi(this);
+
+    std::cout << "QgsComposerLabel::QgsComposerLabel()" << std::endl;
+
+    mComposition = composition;
+    mId  = id;
+
+    //mText = text;
+    mText = "Quantum GIS";
+
+    // Font and pen 
+    mFont.setPointSize ( fontSize );
+
+    // Could make this user variable in the future
+    mPen.setWidthF (0.5);
+
+    QAbstractGraphicsShapeItem::setPos(x, y);
+
+    mSelected = false;
+
+    setOptions();
+
+    // Add to canvas
+    mComposition->canvas()->addItem(this);
+
+    QAbstractGraphicsShapeItem::setZValue(100);
+    //setActive(true); //no equivalent
+    QAbstractGraphicsShapeItem::show();
+    QAbstractGraphicsShapeItem::update();
+
+    writeSettings();
+}
+
+QgsComposerLabel::QgsComposerLabel ( QgsComposition *composition, int id ) 
+    : QAbstractGraphicsShapeItem(0)
+{
+    std::cout << "QgsComposerLabel::QgsComposerLabel()" << std::endl;
+
+    setupUi(this);
+
+    mComposition = composition;
+    mId  = id;
+    mSelected = false;
+
+    readSettings();
+    
+    setOptions();
+
+    // Add to canvas
+    mComposition->canvas()->addItem(this);
+    QAbstractGraphicsShapeItem::setZValue(100);
+    //setActive(true);//no equivalent
+    QAbstractGraphicsShapeItem::show();
+    QAbstractGraphicsShapeItem::update();
+
+}
+
+QgsComposerLabel::~QgsComposerLabel()
+{
+    std::cout << "QgsComposerLabel::~QgsComposerLabel" << std::endl;
+    QGraphicsItem::hide();
+}
+/*
+void QgsComposerLabel::drawShape ( QPainter & painter, const QStyleOptionGraphicsItem* item, QWidget* pWidget)
+{
+    std::cout << "QgsComposerLabel::drawShape" << std::endl;
+    paint ( painter, item, pWidget );
+}
+*/
+
+void QgsComposerLabel::paint ( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget )
+{
+    std::cout << "QgsComposerLabel::paint" << std::endl;
+
+    float size =  25.4 * mComposition->scale() * mFont.pointSizeFloat() / 72;
+    mBoxBuffer = (int) ( size / 10 * mComposition->scale() );
+    mBoxBuffer = 1;
+
+
+    QFont font ( mFont );
+    font.setPointSizeFloat ( size );
+    QFontMetricsF metrics ( font );
+
+    // Not sure about Style Strategy, QFont::PreferMatch ?
+    //font.setStyleStrategy ( (QFont::StyleStrategy) (QFont::PreferOutline | QFont::PreferAntialias ) );
+
+    painter->setPen ( mPen );
+    painter->setFont ( font );
+    
+    double w = metrics.width ( mText );
+    double h = metrics.height() - metrics.descent();
+
+    QRectF r (0, -h, w, h); //used as the rectangle to draw the selection boxes on the corners of if there is no box
+    
+    QRectF boxRect;
+    if ( mBox ) {
+        //I don't know why the top coordinate is -h rather than -(h+mBoxBuffer), but it seems to work better.
+        boxRect.setRect(-mBoxBuffer, -h, w + (2 * mBoxBuffer), h + (2 * mBoxBuffer));
+        QBrush brush ( QColor(255,255,255) );
+        painter->setBrush ( brush );
+        painter->setPen(QPen(QColor(0, 0, 0), .2));
+        painter->drawRect ( boxRect );
+    }
+    painter->setPen ( mPen );
+    
+    // The width is not sufficient in postscript
+    QRectF tr = r;
+    tr.setWidth ( r.width() );
+
+    if ( plotStyle() == QgsComposition::Postscript ) 
+    {
+        // This metrics.ascent() is empirical
+        size = metrics.ascent() * 72.0 / mComposition->resolution(); 
+        font.setPointSizeF ( size );
+        painter->setFont ( font );
+std::cout << "label using PS render size" << std::endl;
+    } 
+    painter->drawText(0, 0, mText);
+
+    // Show selected / Highlight
+    if ( mSelected && plotStyle() == QgsComposition::Preview ) {
+        QRectF hr;
+        if ( mBox ) {
+            hr = boxRect;
+        } else {
+            hr = r;
+        }
+        painter->setPen( mComposition->selectionPen() );
+        painter->setBrush( mComposition->selectionBrush() );
+
+        double s = mComposition->selectionBoxSize();
+	
+        painter->drawRect (QRectF(hr.x(), hr.y(), s, s ));
+        painter->drawRect (QRectF(hr.x()+hr.width()-s, hr.y(), s, s ));
+        painter->drawRect (QRectF(hr.x()+hr.width()-s, hr.y()+hr.height()-s, s, s ));
+        painter->drawRect (QRectF(hr.x(), hr.y()+hr.height()-s, s, s ));
+    }
+}
+
+void QgsComposerLabel::on_mFontButton_clicked() 
+{
+    bool result;
+
+    QRectF r = boundingRect();
+
+    mFont = QFontDialog::getFont(&result, mFont, this );
+
+    if ( result ) {
+	    QAbstractGraphicsShapeItem::prepareGeometryChange();
+	    QAbstractGraphicsShapeItem::update();
+    }
+    writeSettings();
+}
+
+void QgsComposerLabel::on_mBoxCheckBox_clicked()
+{
+    QRectF r = boundingRect();
+    
+    mBox = mBoxCheckBox->isChecked();
+
+    QAbstractGraphicsShapeItem::prepareGeometryChange();
+    QAbstractGraphicsShapeItem::update();
+    writeSettings();
+}
+
+QRectF QgsComposerLabel::boundingRect ( void ) const
+{
+    // Recalculate sizes according to current font size
+    
+    float size =  25.4 * mComposition->scale() * mFont.pointSizeFloat() / 72;
+
+    QFont font ( mFont );
+    font.setPointSizeFloat ( size );
+    QFontMetrics metrics ( font );
+
+    int w = metrics.width ( mText );
+    int h = metrics.height() - metrics.descent();
+
+/*    
+    int buf = 0;
+    
+    if ( mBox ) {
+	buf = (int) ( size / 10 * mComposition->scale() + 2 ); // 2 is for line width
+    }
+    
+    QRectF r ( (int)(x - w/2 - 1.5*buf), (int) (y - h/2 - buf), (int)(w+3*buf), h+2*buf );
+*/
+
+QRectF r;
+
+    if(mBox){
+		//what happens if we haven't called paint() first?
+        r.setRect(-mBoxBuffer, -h, w + (2 * mBoxBuffer), h + (2 * mBoxBuffer));
+    }
+    else{
+        r.setRect(0, -h, w, h);
+    }
+
+    return r;
+
+}
+
+QPolygonF QgsComposerLabel::areaPoints() const
+{
+    std::cout << "QgsComposerLabel::areaPoints" << std::endl;
+    QRectF r = boundingRect();
+
+    QPolygonF pa;
+    pa << QPointF( r.x(), r.y() );
+    pa << QPointF( r.x()+r.width(), r.y() );
+    pa << QPointF( r.x()+r.width(), r.y()+r.height() );
+    pa << QPointF( r.x(), r.y()+r.height() );
+
+    return pa ;
+}
+
+void QgsComposerLabel::setOptions ( void )
+{ 
+    mTextLineEdit->setText ( mText );
+    mBoxCheckBox->setChecked ( mBox );
+    
+}
+
+void QgsComposerLabel::on_mTextLineEdit_returnPressed()
+{ 
+    QRectF r = boundingRect();
+    mText = mTextLineEdit->text();
+    QAbstractGraphicsShapeItem::prepareGeometryChange();
+    QAbstractGraphicsShapeItem::update();
+    writeSettings();
+}
+
+void QgsComposerLabel::setSelected (  bool s ) 
+{
+    std::cout << "QgsComposerLabel::setSelected" << std::endl;
+    mSelected = s;
+    QAbstractGraphicsShapeItem::update(); // show highlight
+            
+    std::cout << "mSelected = " << mSelected << std::endl;
+}    
+
+bool QgsComposerLabel::selected( void )
+{
+    return mSelected;
+}
+
+QWidget *QgsComposerLabel::options ( void )
+{
+    setOptions ();
+    return ( dynamic_cast <QWidget *> (this) );
+}
+
+bool QgsComposerLabel::writeSettings ( void )  
+{
+    QString path;
+    path.sprintf("/composition_%d/label_%d/", mComposition->id(), mId ); 
+    
+    QgsProject::instance()->writeEntry( "Compositions", path+"text", mText );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"x", mComposition->toMM((int)QAbstractGraphicsShapeItem::x()) );
+    QgsProject::instance()->writeEntry( "Compositions", path+"y", mComposition->toMM((int)QAbstractGraphicsShapeItem::y()) );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"font/size", mFont.pointSize() );
+    QgsProject::instance()->writeEntry( "Compositions", path+"font/family", mFont.family() );
+    QgsProject::instance()->writeEntry( "Compositions", path+"font/weight", mFont.weight() );
+    QgsProject::instance()->writeEntry( "Compositions", path+"font/underline", mFont.underline() );
+    QgsProject::instance()->writeEntry( "Compositions", path+"font/strikeout", mFont.strikeOut() );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"box", mBox );
+    
+    return true; 
+}
+
+bool QgsComposerLabel::readSettings ( void )
+{
+    std::cout << "QgsComposerLabel::readSettings mId = " << mId << std::endl;
+    bool ok;
+
+    QString path;
+    path.sprintf("/composition_%d/label_%d/", mComposition->id(), mId );
+
+    mText = QgsProject::instance()->readEntry("Compositions", path+"text", "???", &ok);
+
+    int x = mComposition->fromMM( QgsProject::instance()->readDoubleEntry( "Compositions", path+"x", 0, &ok) );
+    int y = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"y", 0, &ok) );
+    QAbstractGraphicsShapeItem::setPos(x,y);
+
+    mFont.setFamily ( QgsProject::instance()->readEntry("Compositions", path+"font/family", "", &ok) );
+    mFont.setPointSize ( QgsProject::instance()->readNumEntry("Compositions", path+"font/size", 10, &ok) );
+    mFont.setWeight(  QgsProject::instance()->readNumEntry("Compositions", path+"font/weight", (int)QFont::Normal, &ok) );
+    mFont.setUnderline(  QgsProject::instance()->readBoolEntry("Compositions", path+"font/underline", false, &ok) );
+    mFont.setStrikeOut(  QgsProject::instance()->readBoolEntry("Compositions", path+"font/strikeout", false, &ok) );
+
+    mBox = QgsProject::instance()->readBoolEntry("Compositions", path+"box", false, &ok);
+
+    QAbstractGraphicsShapeItem::update();
+
+    return true;
+}
+
+bool QgsComposerLabel::removeSettings ( void )
+{
+    QString path;
+    path.sprintf("/composition_%d/label_%d", mComposition->id(), mId );
+    return QgsProject::instance()->removeEntry ( "Compositions", path );
+}
+
+bool QgsComposerLabel::writeXML( QDomNode & node, QDomDocument & document, bool temp )
+{
+    return true;
+}
+
+bool QgsComposerLabel::readXML( QDomNode & node )
+{
+    return true;
+}

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerlabel.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,114 @@
+/***************************************************************************
+                         qgscomposerlabel.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERLABEL_H
+#define QGSCOMPOSERLABEL_H
+
+#include "ui_qgscomposerlabelbase.h"
+#include "qgscomposeritem.h"
+#include <QAbstractGraphicsShapeItem>
+#include <QFont>
+#include <QPen>
+#include <QPolygon>
+#include <QRect>
+#include <QString>
+
+class QgsComposition;
+class QDomNode;
+class QDomDocument;
+
+/** \class QgsComposerLabel 
+ *  \brief Object representing label. 
+ */
+// NOTE: QgsComposerLabelBase must be first, otherwise does not compile
+//class QgsComposerLabel : public QgsComposerLabelBase, public QCanvasRectangle, public QgsComposerItem
+class QgsComposerLabel : public QWidget, private Ui::QgsComposerLabelBase, public QAbstractGraphicsShapeItem, public QgsComposerItem
+{
+    Q_OBJECT
+
+public:
+    /** \brief Constructor. Settings are written to project.  
+     *  \param id object id
+     *  \param fontSize font size in typographic points!
+     */
+    QgsComposerLabel( QgsComposition *composition, int id, int x, int y, QString text, int fontSize = 0 );
+
+    /** \brief Constructor. Settings are read from project.  
+     *  \param id object id
+     */
+    QgsComposerLabel( QgsComposition *composition, int id );
+
+    ~QgsComposerLabel();
+
+    // Reimplement QgsComposerItem:
+    void setSelected( bool s );
+    bool selected( void );
+    QWidget *options ( void );
+    bool writeSettings ( void );
+    bool readSettings ( void );
+    bool removeSettings ( void );
+    bool writeXML( QDomNode & node, QDomDocument & document, bool temp = false );
+    bool readXML( QDomNode & node );
+
+    QRectF boundingRect ( void ) const; //errors about overriding things?
+     
+    /** \brief Reimplementation of QGraphicsItem::paint() - draw on canvas */
+    void paint ( QPainter*, const QStyleOptionGraphicsItem*, QWidget* );
+
+//    void drawShape(QPainter&, const QStyleOptionGraphicsItem*, QWidget*);
+    QPolygonF areaPoints() const;
+    
+    /** \brief Set values in GUI to current values */
+    void setOptions ( void );
+
+public slots:
+    // Open font dialog
+    void on_mFontButton_clicked();
+
+    void on_mTextLineEdit_returnPressed();
+
+    // Box settings changed
+    void on_mBoxCheckBox_clicked();
+    
+private:
+    // Pointer to composition
+    QgsComposition *mComposition;
+
+
+    
+    // Text 
+    QString mText;
+
+    // Font. Font size in typographic points!
+    QFont mFont;
+
+    // Pen
+    QPen  mPen;
+
+    // Margin in box
+    int mMargin;
+
+    // Current bounding box
+    QRect mBoundingRect; 
+
+    // Draw box around the label
+    bool mBox;
+
+    // Box buffer
+    int mBoxBuffer;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,734 @@
+/***************************************************************************
+                         qgscomposermap.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgscomposermap.h"
+
+#include "qgscoordinatetransform.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsmaptopixel.h"
+#include "qgsproject.h"
+#include "qgsmaprender.h"
+#include "qgsvectorlayer.h"
+
+#include <QGraphicsScene>
+#include <QGraphicsRectItem>
+#include <QPainter>
+#include <iostream>
+#include <cmath>
+
+QgsComposerMap::QgsComposerMap ( QgsComposition *composition, int id, int x, int y, int width, int height )
+    : QWidget(), QGraphicsRectItem(0,0,width,height,0)
+{
+std::cout << "QgsComposerMap::QgsComposerMap()" << std::endl;
+
+    setupUi(this);
+
+    mComposition = composition;
+    mId = id;
+    mMapCanvas = mComposition->mapCanvas();
+    mName = QString(tr("Map %1").arg(mId));
+
+    init();
+    recalculate();
+
+    // Add to scene
+    mComposition->canvas()->addItem(this);
+
+    QGraphicsRectItem::setPos(x, y);
+    QGraphicsRectItem::show();
+
+    writeSettings();
+}
+
+QgsComposerMap::QgsComposerMap ( QgsComposition *composition, int id )
+    : QGraphicsRectItem(0,0,10,10,0)
+{
+    setupUi(this);
+
+    mComposition = composition;
+    mId = id;
+    mMapCanvas = mComposition->mapCanvas();
+    mName = QString(tr("Map %1").arg(mId));
+
+    init();
+    readSettings();
+    recalculate();
+
+    // Add to scene
+    mComposition->canvas()->addItem(this);
+    QGraphicsRectItem::show();
+}
+
+void QgsComposerMap::init ()
+{
+    mNumCachedLayers = 0;
+    mSelected = false;
+    mUserExtent = mMapCanvas->extent();
+    mDrawing = false;
+
+    // Cache
+    mCacheUpdated = false;
+
+    // Calculate
+    mCalculateComboBox->insertItem( tr("Extent (calculate scale)"), Scale );
+    mCalculateComboBox->insertItem( tr("Scale (calculate extent)"), Extent );
+    mCalculate = Scale;
+
+    setPlotStyle ( QgsComposition::Preview );
+    
+    // Preview style
+    mPreviewMode = Cache;
+    mPreviewModeComboBox->insertItem ( tr("Cache"), Cache );
+    mPreviewModeComboBox->insertItem ( tr("Render"), Render );
+    mPreviewModeComboBox->insertItem ( tr("Rectangle"), Rectangle );
+    mPreviewModeComboBox->setCurrentItem ( Cache );
+
+    mWidthScale = 1.0 / mComposition->scale();
+    mSymbolScale = 0.5;
+    mFontScale = 1.0;
+
+    mFrame = true;
+
+    QGraphicsRectItem::setZValue(20);
+
+    connect ( mMapCanvas, SIGNAL(layersChanged()), this, SLOT(mapCanvasChanged()) );
+}
+
+QgsComposerMap::~QgsComposerMap()
+{
+     std::cerr << "QgsComposerMap::~QgsComposerMap" << std::endl;
+}
+
+/* This function is called by paint() and cache() to render the map.  It does not override any functions
+from QGraphicsItem. */
+void QgsComposerMap::draw ( QPainter *painter, QgsRect &extent, QgsMapToPixel *transform)
+{
+  mMapCanvas->freeze(true);  // necessary ?
+  int nlayers = mMapCanvas->layerCount();
+    QgsCoordinateTransform* ct;
+
+  for ( int i = nlayers - 1; i >= 0; i-- ) {
+    QgsMapLayer *layer = mMapCanvas->getZpos(i);
+
+    //if ( !layer->visible() ) continue;
+
+    if (mMapCanvas->projectionsEnabled())
+    {
+      ct = new QgsCoordinateTransform(layer->srs(), mMapCanvas->mapRender()->destinationSrs());
+    }
+    else
+    {
+      ct = NULL;
+    }
+
+    if ( layer->type() == QgsMapLayer::VECTOR ) {
+      QgsVectorLayer *vector = dynamic_cast <QgsVectorLayer*> (layer);
+
+      double widthScale = mWidthScale;
+      double symbolScale = mSymbolScale;
+
+//TODO: attempt to scale cache lines and point symbols to be larger as we zoom in
+/*    if(creating cache pixmap)
+      {
+        widthScale *= (cachePixmap.width / map.rect.width);
+        symbolScale *= (cachePixmap.width / map.rect.width);
+      }
+*/
+      QgsRect r1, r2;
+      r1 = extent;
+      // TODO: revisit later and make this QgsMapRender-aware [MD]
+      // bool split = layer->projectExtent(r1, r2);
+      bool split = false;
+      
+      vector->draw( painter, r1, transform, ct, FALSE, widthScale, symbolScale);
+
+      if ( split )
+      {
+        vector->draw( painter, r2, transform, ct, FALSE, widthScale, symbolScale);
+      }
+    } else { 
+      // raster
+      if ( plotStyle() == QgsComposition::Print || plotStyle() == QgsComposition::Postscript ) {
+        // we have to rescale the raster to get requested resolution
+              
+        // calculate relation between composition point size and requested resolution (in mm)
+        double multip = (1. / mComposition->scale()) / (25.4 / mComposition->resolution()) ;
+              
+        double sc = mExtent.width() / (multip*QGraphicsRectItem::rect().width());
+              
+        QgsMapToPixel trans ( sc, multip*QGraphicsRectItem::rect().height(), mExtent.yMin(), mExtent.xMin() );
+              
+        painter->save();
+        painter->scale( 1./multip, 1./multip);
+        layer->draw( painter, extent, &trans, ct, FALSE);
+              
+        painter->restore();
+      } 
+      else 
+      {
+        layer->draw( painter, extent, transform, ct, FALSE);
+      }
+    }
+    
+    delete ct;
+  }
+    
+  // Draw vector labels
+  for ( int i = nlayers - 1; i >= 0; i-- ) {
+    QgsMapLayer *layer = mMapCanvas->getZpos(i);
+
+    if (mMapCanvas->projectionsEnabled())
+    {
+      ct = new QgsCoordinateTransform(layer->srs(), mMapCanvas->mapRender()->destinationSrs());
+    }
+    else
+    {
+      ct = NULL;
+    }
+
+//    if ( !layer->visible() ) continue; //this doesn't work with the newer map layer code
+
+    if ( layer->type() == QgsMapLayer::VECTOR ) {
+      QgsVectorLayer *vector = dynamic_cast <QgsVectorLayer*> (layer);
+
+      if ( vector->labelOn() ) {
+        double fontScale = 25.4 * mFontScale * mComposition->scale() / 72;
+        if ( plotStyle() == QgsComposition::Postscript ) 
+        {
+          //fontScale = QgsComposition::psFontScaleFactor() * 72.0 / mComposition->resolution();
+
+          // TODO
+          // This is not completely correct because fonts written to postscript
+          // should use size metrics.ascent() * 72.0 / mComposition->resolution();
+          // We could add a factor for metrics.ascent()/size but it is variable
+          // Add a parrameter in drawLables() ?
+          fontScale = 72.0 / mComposition->resolution();
+        }
+        vector->drawLabels (  painter, extent, transform, ct, fontScale );
+      }
+    
+      delete ct;
+    }
+  }
+    
+  mMapCanvas->freeze(false);
+}
+
+void QgsComposerMap::setUserExtent ( QgsRect const & rect )
+{
+    mUserExtent = rect;
+    recalculate();
+    
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+}
+
+void QgsComposerMap::cache ( void )
+{
+    std::cout << "QgsComposerMap::cache()" << std::endl;
+
+    // Create preview on some reasonable size. It was slow with cca 1500x1500 points on 2x1.5GHz 
+    // Note: The resolution should also respect the line widths, it means that 
+    //       1 pixel in cache should have ia similar size as 1 pixel in canvas
+    //       but it can result in big cache -> limit
+
+    int w = (int)(QGraphicsRectItem::rect().width() * mComposition->viewScale());
+    w = w < 1000 ? w : 1000; //limit the cache pixmap to 1000 pixels wide
+    int h = (int) ( mExtent.height() * w / mExtent.width() );
+    // It can happen that extent is not initialised well -> check 
+    if ( h < 1 || h > 10000 ) h = w; 
+
+    std::cout << "extent = " << mExtent.width() <<  " x " << mExtent.height() << std::endl;
+    std::cout << "cache = " << w <<  " x " << h << std::endl;
+
+    mCacheExtent = QgsRect ( mExtent );
+    double scale = mExtent.width() / w;
+    mCacheExtent.setXmax ( mCacheExtent.xMin() + w * scale );
+    mCacheExtent.setYmax ( mCacheExtent.yMin() + h * scale );
+      
+    mCachePixmap.resize( w, h );
+
+    // WARNING: ymax in QgsMapToPixel is device height!!!
+    QgsMapToPixel transform(scale, h, mCacheExtent.yMin(), mCacheExtent.xMin() );
+
+//somthing about this transform isn't really what we want...
+/*Ideally, the cache pixmap wouldn't behave the same as the map canvas.
+* zooming in should make the lines become thicker, and symbols larger, rather than just
+* redrawing them to be n pixels wide.
+* We also want to make sure that changing the composition's resolution has the desired effect 
+* on both the cache, screen render, and print.
+*/
+
+    std::cout << "transform = " << transform.showParameters().toLocal8Bit().data() << std::endl;
+    
+    mCachePixmap.fill(QColor(255,255,255));
+
+    QPainter p(&mCachePixmap);
+    
+    draw( &p, mCacheExtent, &transform);
+    p.end();
+
+    mNumCachedLayers = mMapCanvas->layerCount();
+    mCacheUpdated = true;
+}
+
+void QgsComposerMap::paint ( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget)
+{
+  if ( mDrawing ) return; 
+  mDrawing = true;
+
+  std::cout << "QgsComposerMapt::paint mPlotStyle = " << plotStyle() 
+            << " mPreviewMode = " << mPreviewMode << std::endl;
+    
+  if ( plotStyle() == QgsComposition::Preview &&  mPreviewMode == Cache ) { // Draw from cache
+    std::cout << "use cache" << std::endl;
+
+    if ( !mCacheUpdated || mMapCanvas->layerCount() != mNumCachedLayers ) 
+    {
+      cache();
+    }
+  
+    // Scale so that the cache fills the map rectangle
+    double scale = 1.0 * QGraphicsRectItem::rect().width() / mCachePixmap.width();
+    std::cout << "scale = " << scale << std::endl;
+  
+    painter->save();
+
+    painter->translate(0, 0); //do we need this?
+    painter->scale(scale,scale);
+
+    // Note: drawing only a visible part of the pixmap doesn't make it much faster
+    painter->drawPixmap(0,0, mCachePixmap);
+
+    painter->restore();
+  } 
+  else if ( (plotStyle() == QgsComposition::Preview && mPreviewMode == Render) || 
+            plotStyle() == QgsComposition::Print ||
+            plotStyle() == QgsComposition::Postscript ) 
+  {
+    std::cout << "render" << std::endl;
+  
+    double scale = mExtent.width() / QGraphicsRectItem::rect().width();
+    QgsMapToPixel transform(scale, QGraphicsRectItem::rect().height(), mExtent.yMin(), mExtent.xMin() );
+
+    painter->save();
+    painter->translate(0, 0); //do we need this?
+
+    // TODO: Qt4 appears to force QPainter::CoordDevice - need to check if this is actually valid.
+    painter->setClipRect (QRectF( 0, 0, QGraphicsRectItem::rect().width(), QGraphicsRectItem::rect().height() ));
+
+    draw( painter, mExtent, &transform);
+    painter->restore();
+  } 
+
+  // Draw frame around
+  if ( mFrame ) {
+    QPen pen(QColor(0,0,0));
+    pen.setWidthF(0.6*mComposition->scale());
+    painter->setPen( pen );
+    painter->setBrush( Qt::NoBrush );
+    painter->setRenderHint(QPainter::Antialiasing, true); //turn on antialiasing for drawing the box
+    painter->save();
+    painter->translate(0, 0);//do we need this?
+    painter->drawRect (QRectF( 0, 0, QGraphicsRectItem::rect().width(), QGraphicsRectItem::rect().height() ));
+    painter->restore();
+  }
+
+  // Show selected / Highlight
+  if ( mSelected && plotStyle() == QgsComposition::Preview ) {
+    painter->setPen( mComposition->selectionPen() );
+    painter->setBrush( mComposition->selectionBrush() );
+
+    double s = mComposition->selectionBoxSize();
+
+    painter->drawRect (QRectF(0, 0, s, s));
+    painter->drawRect (QRectF(QGraphicsRectItem::rect().width() -s, 0, s, s));
+    painter->drawRect (QRectF(QGraphicsRectItem::rect().width() -s, QGraphicsRectItem::rect().height() -s, s, s));
+    painter->drawRect (QRectF(0, QGraphicsRectItem::rect().height() -s, s, s));
+  }
+    
+  mDrawing = false;
+}
+
+void QgsComposerMap::sizeChanged ( void ) 
+{
+    int w, h;
+    w = mComposition->fromMM ( mWidthLineEdit->text().toDouble() );
+    h = mComposition->fromMM ( mHeightLineEdit->text().toDouble() );
+
+    QGraphicsRectItem::setRect(0, 0, w, h);
+    recalculate();
+
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    
+    writeSettings();
+}
+
+void QgsComposerMap::on_mWidthLineEdit_returnPressed ( void ) { sizeChanged(); }
+void QgsComposerMap::on_mHeightLineEdit_returnPressed ( void ) { sizeChanged(); }
+
+void QgsComposerMap::on_mCalculateComboBox_activated( int )
+{
+    mCalculate = mCalculateComboBox->currentItem();
+    
+    if ( mCalculate == Scale )
+    {
+	  recalculate();
+      mCacheUpdated = false;
+      QGraphicsRectItem::scene()->update();
+      mComposition->emitMapChanged ( mId );
+    }
+    setOptions();
+    writeSettings();
+}
+
+double QgsComposerMap::scaleFromUserScale ( double us ) 
+{
+  double s=0;
+   
+  switch ( mComposition->mapCanvas()->mapUnits() ) {
+    case QGis::METERS :
+      s = 1000. * mComposition->scale() / us;
+      break;
+    case QGis::FEET :
+      s = 304.8 * mComposition->scale() / us;
+      break;
+    case QGis::UNKNOWN :
+    case QGis::DEGREES :
+      s = mComposition->scale() / us;
+      break;
+  }
+  return s;
+}
+
+double QgsComposerMap::userScaleFromScale ( double s )
+{ 
+  double us=0;
+    
+  switch ( mComposition->mapCanvas()->mapUnits() ) {
+    case QGis::METERS :
+      us = 1000. * mComposition->scale() / s; 
+      break;
+    case QGis::FEET :
+      us = 304.8 * mComposition->scale() / s; 
+      break;
+    case QGis::DEGREES :
+    case QGis::UNKNOWN :
+      us = mComposition->scale() / s;
+      break;
+  }
+    
+  return us;
+}
+
+void QgsComposerMap::on_mScaleLineEdit_returnPressed()
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerMap::on_mScaleLineEdit_returnPressed" << std::endl;
+#endif
+    mCalculate = mCalculateComboBox->currentItem();
+
+    mUserScale = mScaleLineEdit->text().toDouble();
+
+    mScale = scaleFromUserScale ( mUserScale );
+
+    recalculate();
+
+    mCacheUpdated = false;
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    
+    writeSettings();
+    mComposition->emitMapChanged ( mId );
+}
+
+void QgsComposerMap::scaleChanged ( void ) 
+{
+    mWidthScale = mWidthScaleLineEdit->text().toDouble();
+    mSymbolScale = mSymbolScaleLineEdit->text().toDouble();
+    mFontScale = mFontScaleLineEdit->text().toDouble();
+
+    mCacheUpdated = false;
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    
+    writeSettings();
+    mComposition->emitMapChanged ( mId );
+}
+
+void QgsComposerMap::on_mFontScaleLineEdit_returnPressed ( void ) { scaleChanged(); }
+void QgsComposerMap::on_mSymbolScaleLineEdit_returnPressed ( void ) { scaleChanged(); }
+void QgsComposerMap::on_mWidthScaleLineEdit_returnPressed ( void ) { scaleChanged(); }
+
+void QgsComposerMap::mapCanvasChanged ( void ) 
+{
+    std::cout << "QgsComposerMap::canvasChanged" << std::endl;
+
+    mCacheUpdated = false;
+    QGraphicsRectItem::update();
+}
+
+void QgsComposerMap::on_mPreviewModeComboBox_activated ( int i )
+{
+    mPreviewMode = (PreviewMode) i;
+    writeSettings();
+}
+
+void QgsComposerMap::recalculate ( void ) 
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposerMap::recalculate mCalculate = " << mCalculate << std::endl;
+#endif
+  if ( mCalculate == Scale ) 
+  {
+    // Calculate scale from extent and rectangle
+    double xscale = QGraphicsRectItem::rect().width() / mUserExtent.width();
+    double yscale = QGraphicsRectItem::rect().height() / mUserExtent.height();
+
+    mExtent = mUserExtent;
+
+    if ( xscale < yscale )
+    {
+      mScale = xscale;
+      // extend y
+      double d = ( 1. * QGraphicsRectItem::rect().height() / mScale - mUserExtent.height() ) / 2 ;
+      mExtent.setYmin ( mUserExtent.yMin() - d );
+      mExtent.setYmax ( mUserExtent.yMax() + d );
+    }
+    else
+    {
+      mScale = yscale;
+      // extend x
+      double d = ( 1.* QGraphicsRectItem::rect().width() / mScale - mUserExtent.width() ) / 2 ;
+      mExtent.setXmin ( mUserExtent.xMin() - d );
+      mExtent.setXmax ( mUserExtent.xMax() + d );
+    }
+
+    mUserScale = userScaleFromScale ( mScale );
+  } 
+  else
+  {
+    // Calculate extent
+    double xc = ( mUserExtent.xMax() + mUserExtent.xMin() ) / 2;
+    double yc = ( mUserExtent.yMax() + mUserExtent.yMin() ) / 2;
+  
+    double width = QGraphicsRectItem::rect().width() / mScale;
+    double height = QGraphicsRectItem::rect().height() / mScale;
+  
+    mExtent.setXmin ( xc - width/2  );
+    mExtent.setXmax ( xc + width/2  );
+    mExtent.setYmin ( yc - height/2  );
+    mExtent.setYmax ( yc + height/2  );
+  }
+
+  std::cout << "mUserExtent = " << mUserExtent.stringRep().toLocal8Bit().data() << std::endl;
+  std::cout << "mScale = " << mScale << std::endl;
+  std::cout << "mExtent = " << mExtent.stringRep().toLocal8Bit().data() << std::endl;
+
+  setOptions();
+  mCacheUpdated = false;
+}
+
+void QgsComposerMap::on_mFrameCheckBox_clicked ( )
+{
+    mFrame = mFrameCheckBox->isChecked();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+
+    writeSettings();
+}
+
+
+void QgsComposerMap::setOptions ( void )
+{ 
+  std::cout << "QgsComposerMap::setOptions" << std::endl;
+    
+  mNameLabel->setText ( mName );
+    
+  mCalculateComboBox->setCurrentItem( mCalculate );
+    
+  mWidthLineEdit->setText ( QString("%1").arg( mComposition->toMM((int)QGraphicsRectItem::rect().width()), 0,'g') );
+  mHeightLineEdit->setText ( QString("%1").arg( mComposition->toMM((int)QGraphicsRectItem::rect().height()),0,'g') );
+    
+  // Scale
+  switch ( mComposition->mapCanvas()->mapUnits() ) {
+    case QGis::METERS :
+    case QGis::FEET :
+      mScaleLineEdit->setText ( QString("%1").arg((int)mUserScale) );
+      break;
+    case QGis::DEGREES :
+    case QGis::UNKNOWN :
+      mScaleLineEdit->setText ( QString("%1").arg(mUserScale,0,'f') );
+      break;
+  }
+  if ( mCalculate == Scale ) {
+    mScaleLineEdit->setEnabled(false);  
+  } else {
+    mScaleLineEdit->setEnabled(true); 
+  }
+    
+  mWidthScaleLineEdit->setText ( QString("%1").arg(mWidthScale,0,'g',2) );
+  mSymbolScaleLineEdit->setText ( QString("%1").arg(mSymbolScale,0,'g',2) );
+  mFontScaleLineEdit->setText ( QString("%1").arg(mFontScale,0,'g',2) );
+
+  mFrameCheckBox->setChecked ( mFrame );
+    
+  mPreviewModeComboBox->setCurrentItem( mPreviewMode );
+}
+
+void QgsComposerMap::on_mSetCurrentExtentButton_clicked ( void )
+{ 
+    mUserExtent = mMapCanvas->extent();
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    setOptions();
+    writeSettings();
+    mComposition->emitMapChanged ( mId );
+}
+
+void QgsComposerMap::setSelected (  bool s ) 
+{
+    mSelected = s;
+    QGraphicsRectItem::update(); //re-paint, so we show the highlight boxes
+}    
+
+bool QgsComposerMap::selected( void )
+{
+    return mSelected;
+}
+
+void QgsComposerMap::setCacheUpdated ( bool u ) 
+{
+    mCacheUpdated = u;
+}    
+
+double QgsComposerMap::scale ( void ) { return mScale; }
+
+QWidget *QgsComposerMap::options ( void )
+{
+    setOptions ();
+    return ( dynamic_cast <QWidget *> (this) );
+}
+
+QString QgsComposerMap::name ( void ) 
+{
+    return mName;
+}
+
+double QgsComposerMap::widthScale (void ) { return mWidthScale ; }
+double QgsComposerMap::symbolScale (void ) { return mSymbolScale ; }
+double QgsComposerMap::fontScale (void ) { return mFontScale ; }
+
+bool QgsComposerMap::writeSettings ( void )  
+{
+  QString path;
+  path.sprintf("/composition_%d/map_%d/", mComposition->id(), mId ); 
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"x", mComposition->toMM((int)QGraphicsRectItem::pos().x()) );
+  QgsProject::instance()->writeEntry( "Compositions", path+"y", mComposition->toMM((int)QGraphicsRectItem::pos().y()) );
+
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"width", mComposition->toMM((int)QGraphicsRectItem::rect().width()) );
+  QgsProject::instance()->writeEntry( "Compositions", path+"height", mComposition->toMM((int)QGraphicsRectItem::rect().height()) );
+
+  if ( mCalculate == Scale ) {
+      QgsProject::instance()->writeEntry( "Compositions", path+"calculate", QString("scale") );
+  } else {
+      QgsProject::instance()->writeEntry( "Compositions", path+"calculate", QString("extent") );
+  }
+    
+  QgsProject::instance()->writeEntry( "Compositions", path+"north", mUserExtent.yMax() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"south", mUserExtent.yMin() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"east", mUserExtent.xMax() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"west", mUserExtent.xMin() );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"scale", mUserScale );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"widthscale", mWidthScale );
+  QgsProject::instance()->writeEntry( "Compositions", path+"symbolscale", mSymbolScale );
+  QgsProject::instance()->writeEntry( "Compositions", path+"fontscale", mFontScale );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"frame", mFrame );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"previewmode", mPreviewMode );
+
+  return true; 
+}
+
+bool QgsComposerMap::readSettings ( void )
+{
+  bool ok;
+  QString path;
+  path.sprintf("/composition_%d/map_%d/", mComposition->id(), mId );
+    
+  double x =  mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"x", 0, &ok));
+  double y = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"y", 0, &ok));
+  int w = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"width", 100, &ok)) ;
+  int h = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"height", 100, &ok)) ;
+  QGraphicsRectItem::setRect(0, 0, w, h);
+  QGraphicsRectItem::setPos(x, y);
+
+  QString calculate = QgsProject::instance()->readEntry("Compositions", path+"calculate", "scale", &ok);
+  if ( calculate == "extent" )
+  {
+    mCalculate = Extent;
+  }else
+  {
+    mCalculate = Scale;
+  }
+
+  mUserExtent.setYmax ( QgsProject::instance()->readDoubleEntry( "Compositions", path+"north", 100, &ok) );
+  mUserExtent.setYmin ( QgsProject::instance()->readDoubleEntry( "Compositions", path+"south", 0, &ok) );
+  mUserExtent.setXmax ( QgsProject::instance()->readDoubleEntry( "Compositions", path+"east", 100, &ok) );
+  mUserExtent.setXmin ( QgsProject::instance()->readDoubleEntry( "Compositions", path+"west", 0, &ok) );
+
+  mUserScale =  QgsProject::instance()->readDoubleEntry( "Compositions", path+"scale", 1000., &ok);
+  mScale = scaleFromUserScale ( mUserScale );
+
+  mWidthScale = QgsProject::instance()->readDoubleEntry("Compositions", path+"widthscale", 1., &ok);
+  mSymbolScale = QgsProject::instance()->readDoubleEntry("Compositions", path+"symbolscale", 1., &ok);
+  mFontScale = QgsProject::instance()->readDoubleEntry("Compositions", path+"fontscale", 1., &ok);
+    
+  mFrame = QgsProject::instance()->readBoolEntry("Compositions", path+"frame", true, &ok);
+    
+  mPreviewMode = (PreviewMode) QgsProject::instance()->readNumEntry("Compositions", path+"previewmode", Cache, &ok);
+    
+  recalculate();
+
+  return true;
+}
+
+bool QgsComposerMap::removeSettings ( void )
+{
+    QString path;
+    path.sprintf("/composition_%d/map_%d", mComposition->id(), mId );
+    return QgsProject::instance()->removeEntry ( "Compositions", path );
+}
+
+bool QgsComposerMap::writeXML( QDomNode & node, QDomDocument & document, bool temp )
+{
+    return true;
+}
+
+bool QgsComposerMap::readXML( QDomNode & node )
+{
+    return true;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposermap.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,215 @@
+/***************************************************************************
+                         qgscomposermap.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERMAP_H
+#define QGSCOMPOSERMAP_H
+
+#include "ui_qgscomposermapbase.h"
+#include "qgscomposeritem.h"
+#include "qgsrect.h"
+#include <QGraphicsRectItem>
+#include <QPixmap>
+
+class QgsComposition;
+class QgsMapCanvas;
+class QgsMapToPixel;
+class QDomNode;
+class QDomDocument;
+class QPainter;
+
+/** \class QgsComposerMap 
+ *  \brief Object representing map window. 
+ */
+// NOTE: QgsComposerMapBase must be first, otherwise does not compile
+class QgsComposerMap : public QWidget, private Ui::QgsComposerMapBase, public QGraphicsRectItem, public QgsComposerItem
+{
+    Q_OBJECT
+
+public:
+    /** Constructor. */
+    QgsComposerMap( QgsComposition *composition, int id, int x, int y, int width, int height );
+    /** Constructor. Settings are read from project. */
+    QgsComposerMap( QgsComposition *composition, int id );
+    ~QgsComposerMap();
+
+    /** \brief Calculate scale/extent.  */
+    enum Calculate {
+	Scale = 0,   // calculate scale from extent 
+	Extent      // calculate map extent from scale
+    };
+
+    /** \brief Preview style  */
+    enum PreviewMode {
+	Cache = 0,   // Use raster cache 
+	Render,      // Render the map
+	Rectangle    // Display only rectangle
+    };
+
+    /** \brief Initialise GUI and other settings, shared by constructors */
+    void init ( void );
+
+    // Reimplement QgsComposerItem:
+    void setSelected( bool s );
+    bool selected( void );
+    QWidget *options ( void );
+    bool writeSettings ( void );
+    bool readSettings ( void );
+    bool removeSettings ( void );
+    bool writeXML( QDomNode & node, QDomDocument & document, bool temp = false );
+    bool readXML( QDomNode & node );
+     
+    /** \brief Draw to paint device */
+    void draw(QPainter *painter, QgsRect &extent, QgsMapToPixel *transform);
+
+    /** \brief Reimplementation of QCanvasItem::paint - draw on canvas */
+    void paint (QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget);
+    
+    /** \brief Set extent requested by user */
+    void setUserExtent ( QgsRect const & rect);
+
+    /** \brief Recalculate rectangle/extent/scale according to current rule */
+    void recalculate ( void );
+    
+    /** \brief Create cache image */
+    void cache ( void );
+
+    /** \brief Set values in GUI to current values */
+    void setOptions ( void );
+    
+    /** \brief Map name, used in legend combobox etc. */
+    QString name ( void );
+
+    /** \brief Width scale */
+    double widthScale(void);
+    
+    /** \brief Symbol scale */
+    double symbolScale ( void );
+    
+    /** \brief Font size scale */
+    double fontScale ( void );
+
+    /** \brief Scale */
+    double scale ( void );
+
+    // Set cache outdated
+    void setCacheUpdated ( bool u = false );
+
+public slots:
+    // Called by GUI if with or height was changed 
+    void on_mWidthLineEdit_returnPressed ( void );
+    void on_mHeightLineEdit_returnPressed ( void );
+
+    // Set User extent to current map extent
+    void on_mSetCurrentExtentButton_clicked ( void );
+
+    // Called by GUI if calculate has changed 
+    void on_mCalculateComboBox_activated ( int i );
+
+    // Called by GUI if map scale has changed 
+    void on_mScaleLineEdit_returnPressed ( void );
+
+    // Called by GUI if with  scale was changed 
+    void on_mFontScaleLineEdit_returnPressed ( void );
+    void on_mSymbolScaleLineEdit_returnPressed ( void );
+    void on_mWidthScaleLineEdit_returnPressed ( void );
+
+    // Frame settings changed 
+    void on_mFrameCheckBox_clicked ( void );
+
+    // Called by GUI if preview style was changed
+    void on_mPreviewModeComboBox_activated ( int i );
+
+    // Called if map canvas has changed
+    void mapCanvasChanged ( );
+
+private:
+    // Called by GUI if with or height was changed 
+    void sizeChanged ( void );
+    
+    // Called by GUI if with  scale was changed 
+    void scaleChanged ( void );
+
+    // Pointer to composition
+    QgsComposition *mComposition;
+    
+    // Pointer to map canvas
+    QgsMapCanvas *mMapCanvas;
+    
+    /** \brief Map name, used in legend combobox etc. */
+    QString mName;
+
+    // Map region in map units specified by user 
+    QgsRect mUserExtent;
+
+    // Map region in map units realy used for rendering 
+    // It can be the same as mUserExtent, but it can be bigger in on dimension if mCalculate==Scale,
+    // so that full rectangle in paper is used.
+    QgsRect mExtent;
+
+    // Cache extent (it can be bigger for example than mExtent)
+    QgsRect mCacheExtent;
+
+    // Size of of the map rectangle in the composition in paper units
+    //double mWidth;
+    //double mHeight;
+
+    // Number of paper units in map per paper unit on paper, this is the xxx part of 1:xxx 
+    double mUserScale;
+
+    // Scale from map (in map units) to paper (in canvas points), i.e. size_on_paper/size_in_map
+    double mScale;
+
+    // Cache used in composer preview
+    // NOTE:  QCanvasView is slow with bigger images but the spped does not decrease with image size.
+    //        It is very slow, with zoom in in QCanvasView, it seems, that QCanvas is stored as a big image
+    //        with resolution necessary for current zoom and so always a big image mus be redrawn. 
+    QPixmap mCachePixmap; 
+
+    // Is cache up to date
+    bool mCacheUpdated;
+    
+    // Resize schema
+    int mCalculate;
+
+    // Line width scale
+    double mWidthScale;
+
+    // Symbol scale
+    double mSymbolScale;
+
+    // Font size scale from screen pixels to typographic points
+    double mFontScale;
+    
+    /** \brief Preview style  */
+    PreviewMode mPreviewMode;
+
+    /** \brief Number of layers when cache was created  */
+    int mNumCachedLayers;
+
+    /** \brief Draw frame  */
+    bool mFrame;
+
+    /** \brief set to true if in state of drawing, other requests are to draw are returned */
+    bool mDrawing;
+
+    /** \brief calculate mScale from mUserScale */
+    double scaleFromUserScale ( double us );
+
+    /** \brief calculate mUserScale from mScale */
+    double userScaleFromScale ( double s );
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,562 @@
+/***************************************************************************
+                           qgscomposerpicture.cpp
+                             -------------------
+    begin                : September 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : radim.blazek at gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscomposerpicture.cpp 7078 2007-07-19 15:24:39Z StevenB $ */
+
+#include "qgscomposerpicture.h"
+#include "qgsproject.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+#include <QPainter>
+#include <QImageWriter>
+#include <QSettings>
+#include <QPolygonF>
+#include <QAbstractGraphicsShapeItem>
+#include <QGraphicsScene>
+
+#include <cmath>
+#include <iostream>
+
+#define PI 3.14159265358979323846
+
+#define QGISDEBUG 1
+
+QgsComposerPicture::QgsComposerPicture ( QgsComposition *composition, 
+					int id, QString file ) 
+    : QWidget(composition),
+      QAbstractGraphicsShapeItem(0),
+      mPicturePath ( file ),
+      mPictureValid(false),
+      mCX(-10), mCY(-10),
+      mWidth(0), mHeight(0), mAngle(0),
+      mFrame(false),
+      mAreaPoints(4),
+      mBoundingRect(0,0,0,0)
+{
+    setupUi(this);
+
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::QgsComposerPicture()" << std::endl;
+#endif
+
+    mComposition = composition;
+    mId  = id;
+
+    init();
+    loadPicture();
+
+    // Add to scene
+    mComposition->canvas()->addItem(this);
+
+    QAbstractGraphicsShapeItem::show();
+    QAbstractGraphicsShapeItem::update();
+     
+    writeSettings();
+}
+
+QgsComposerPicture::QgsComposerPicture ( QgsComposition *composition, int id ) :
+    QWidget(),
+    QAbstractGraphicsShapeItem(0),
+    mFrame(false),
+    mAreaPoints(4),
+    mBoundingRect(0,0,0,0)
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::QgsComposerPicture()" << std::endl;
+#endif
+
+    setupUi(this);
+
+    mComposition = composition;
+    mId  = id;
+
+    init();
+
+    readSettings();
+
+    loadPicture();
+    adjustPictureSize();
+
+    // Add to scene
+    mComposition->canvas()->addItem(this);
+
+    recalculate();
+
+    QAbstractGraphicsShapeItem::show();
+    QAbstractGraphicsShapeItem::update();
+}
+
+void QgsComposerPicture::init ( void ) 
+{
+  mSelected = false;
+  for ( int i = 0; i < 4; i++ ) 
+  {
+    mAreaPoints[i] = QPoint( 0, 0 );
+  }
+
+  QAbstractGraphicsShapeItem::setZValue(60);
+
+}
+
+void QgsComposerPicture::loadPicture ( void ) 
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsComposerPicture::loadPicture() mPicturePath = " << mPicturePath.toLocal8Bit().data() << std::endl;
+#endif
+
+  mPicture = QPicture(); 
+  mPictureValid = false;
+
+  if ( !mPicturePath.isNull() ) 
+  {
+	if ( mPicturePath.lower().right(3) == "svg" )
+	{
+	  if ( !mPicture.load ( mPicturePath, "svg" ) )
+	  {
+		std::cerr << "Cannot load svg" << std::endl;
+	  }	
+	  else
+	  {
+		mPictureValid = true;
+	  }
+	}
+	else
+	{
+      QImage image;
+	  if ( !image.load(mPicturePath) )
+	  {
+        std::cerr << "Cannot load raster" << std::endl;
+	  }
+	  else
+	  {	
+        QPainter  p;
+        p.begin( &mPicture );
+        p.drawImage ( 0, 0, image ); 
+        p.end();	
+        mPictureValid = true;
+	  }
+	}
+  }
+
+  if ( !mPictureValid ) 
+  {
+    // Dummy picture
+    QPainter  p;
+	p.begin( &mPicture );
+    QPen pen(QColor(0,0,0));
+    pen.setWidthF(3.0);
+    p.setPen( pen );
+    p.setBrush( QBrush( QColor( 150, 150, 150) ) );
+
+    double w, h; 
+    if ( mWidth > 0 && mHeight > 0 
+         && mWidth/mHeight > 0.001 && mWidth/mHeight < 1000 ) 
+	{
+	  w = mWidth;
+	  h = mHeight;
+    }
+	else
+ 	{
+	  w = 100;
+	  h = 100;
+	}
+	
+	p.drawRect (QRectF(0, 0, w, h)); 
+	p.drawLine (QLineF(0, 0, w-1, h-1));
+	p.drawLine (QLineF(w-1, 0, 0, h-1));
+
+	p.end();	
+
+ 	mPicture.setBoundingRect ( QRect( 0, 0, (int)w, (int)h ) ); 
+  }//END if(!mPictureValid)
+}
+
+bool QgsComposerPicture::pictureValid ( void )
+{
+    return mPictureValid;
+}
+
+QgsComposerPicture::~QgsComposerPicture()
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsComposerPicture::~QgsComposerPicture()" << std::endl;
+#endif
+    QGraphicsItem::hide();
+}
+
+void QgsComposerPicture::paint ( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget )
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsComposerPicture::paint()" << std::endl;
+#endif
+
+    QRectF box = mPicture.boundingRect();
+    double scale = 1. * mWidth / box.width();
+
+    if(plotStyle() == QgsComposition::Postscript)
+    {
+      scale *= (96.0 / mComposition->resolution());
+    }
+    painter->save();
+
+    painter->translate(-mWidth/2, -mHeight/2);
+
+    painter->scale ( scale, scale );
+    painter->rotate ( -mAngle );
+    
+//    painter->drawPicture (QPointF(-box.width()/2, -box.height()/2), mPicture ); //this doesn't work right...
+
+    painter->drawPicture (0, 0, mPicture );
+
+    painter->restore();
+
+    if ( mFrame ) {
+	  // TODO: rect is not correct, +/- 1 pixel - Qt3?
+  	  painter->setPen( QPen(QColor(0,0,0), .3) );
+	  painter->setBrush( QBrush( Qt::NoBrush ) );
+
+	  painter->save();
+      painter->rotate ( -mAngle );
+      
+      painter->drawRect (QRectF(-mWidth/2, -mHeight/2, mWidth, mHeight));
+
+  	  painter->restore();
+    }
+
+    // Show selected / Highlight
+    if ( mSelected && plotStyle() == QgsComposition::Preview ) {
+      painter->setPen( mComposition->selectionPen() );
+      painter->setBrush( mComposition->selectionBrush() );
+  
+      double s = mComposition->selectionBoxSize();
+
+	  for ( int i = 0; i < 4; i++ ) 
+	  {
+	    painter->save();
+	    painter->translate ( mAreaPoints[i].x(), mAreaPoints[i].y() );
+	    painter->rotate ( -mAngle + i * 90 );
+	    painter->drawRect(QRectF(0, 0, s, s));
+	    painter->restore();
+	  }
+    }//END of drawing selected highlight
+
+}
+
+void QgsComposerPicture::setSize(double width, double height )
+{
+    mWidth = width;
+    mHeight = height;
+    adjustPictureSize(); 
+
+    recalculate();
+}
+
+void QgsComposerPicture::recalculate()
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::recalculate" << std::endl;
+#endif
+    
+    QAbstractGraphicsShapeItem::prepareGeometryChange();
+
+    QRect box = mPicture.boundingRect(); //size of the image, in pixels
+
+    double angle = PI * mAngle / 180; //convert angle to radians
+    
+    // Angle between vertical in picture space and the vector 
+    // from center to upper left corner of the picture
+    double anglePicture = atan2 ( (double)box.width(), (double)box.height() );
+
+    // Angle (clockwise) between horizontal in paper space
+    // and the vector from center to upper left corner of the picture
+    double anglePaper = PI / 2 - anglePicture - angle;
+
+    // Distance from center to upper left corner in canvas units
+    double r = sqrt ((double)(mWidth*mWidth/4 + mHeight*mHeight/4) );
+
+    // Position of upper left corner in map
+    int dx = (int) ( r * cos ( anglePaper ) );
+    int dy = (int) ( r * sin ( anglePaper ) );
+
+
+    mAreaPoints[0] = QPointF( -dx, -dy ); //add the top-left point to the polygon
+    mAreaPoints[2] = QPointF( dx, dy ); //bottom-right
+
+    anglePaper = PI / 2 - anglePicture + angle;
+    dx = (int) ( r * cos ( anglePaper ) );
+    dy = (int) ( r * sin ( anglePaper ) );
+
+    mAreaPoints[1] =  QPointF( dx, -dy ); //top right
+    mAreaPoints[3] = QPointF( -dx, dy ); //bottom left
+
+    mBoundingRect = mAreaPoints.boundingRect();
+
+    QAbstractGraphicsShapeItem::update();
+    QAbstractGraphicsShapeItem::scene()->update();
+}
+
+QRectF QgsComposerPicture::boundingRect ( void ) const
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::boundingRect" << std::endl;
+#endif
+    return mBoundingRect;
+}
+
+QPolygonF QgsComposerPicture::areaPoints() const
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::areaPoints" << std::endl;
+#endif
+
+    return mAreaPoints;
+}
+
+
+void QgsComposerPicture::on_mFrameCheckBox_stateChanged ( int )
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::on_mFrameCheckBox_stateChanged" << std::endl;
+#endif
+
+    mFrame = mFrameCheckBox->isChecked();
+
+    QAbstractGraphicsShapeItem::update();
+    QAbstractGraphicsShapeItem::scene()->update();
+
+    writeSettings();
+}
+
+void QgsComposerPicture::on_mAngleLineEdit_returnPressed ( )
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::on_mAngleLineEdit_returnPressed()" << std::endl;
+#endif
+    mAngle = mAngleLineEdit->text().toDouble();
+
+    recalculate();
+
+    writeSettings();
+
+}
+
+void QgsComposerPicture::on_mWidthLineEdit_returnPressed ( )
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::on_mWidthLineEdit_returnPressed()" << std::endl;
+#endif
+
+    mWidth = mComposition->fromMM ( mWidthLineEdit->text().toDouble() );
+
+    QRect box = mPicture.boundingRect();
+    mHeight = mWidth*box.height()/box.width();
+    setOptions();
+
+    recalculate();
+
+    writeSettings();
+}
+
+void QgsComposerPicture::on_mPictureBrowseButton_clicked ( )
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::on_mPictureBrowseButton_clicked()" << std::endl;
+#endif
+ 
+    QString file = QgsComposerPicture::pictureDialog();
+
+    if ( file.isNull() ) return;
+    
+    mPicturePath = file;
+    mPictureLineEdit->setText ( mPicturePath );
+
+    pictureChanged();
+}
+
+void QgsComposerPicture::pictureChanged ( )
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::pictureChanged()" << std::endl;
+#endif
+
+    mPicturePath = mPictureLineEdit->text();
+
+    loadPicture();
+
+    if ( !mPictureValid ) {
+        QMessageBox::warning( 0, tr("Warning"),
+                        tr("Cannot load picture.") );
+    }
+    else
+    {
+        adjustPictureSize();
+        setOptions();
+        recalculate();
+    }
+}
+
+void QgsComposerPicture::on_mPictureLineEdit_returnPressed ( )
+{
+  pictureChanged();
+}
+
+void QgsComposerPicture::adjustPictureSize ( )
+{
+    // Addjust to original size
+    QRect box = mPicture.boundingRect();
+
+    if ( box.width() == 0 || box.height() == 0
+	 || mWidth == 0 || mHeight == 0 )
+    {
+	mWidth = 0;
+	mHeight = 0;	
+        return;
+    }
+
+    if ( 1.*box.width()/box.height() > 1.*mWidth/mHeight )
+    {
+	  mHeight = mWidth*box.height()/box.width();
+    }
+    else
+    {
+      mWidth = mHeight*box.width()/box.height();
+    }
+}
+
+void QgsComposerPicture::setOptions ( void )
+{ 
+    mPictureLineEdit->setText ( mPicturePath );
+    mWidthLineEdit->setText ( QString("%1").arg( mComposition->toMM((int)mWidth), 0,'g') );
+    mHeightLineEdit->setText ( QString("%1").arg( mComposition->toMM((int)mHeight), 0,'g') );
+    mAngleLineEdit->setText ( QString::number ( mAngle ) );
+    mFrameCheckBox->setChecked ( mFrame );
+}
+
+void QgsComposerPicture::setSelected (  bool s ) 
+{
+    mSelected = s;
+    QAbstractGraphicsShapeItem::update(); // show highlight
+}    
+
+bool QgsComposerPicture::selected( void )
+{
+    return mSelected;
+}
+
+QWidget *QgsComposerPicture::options ( void )
+{
+    setOptions ();
+    return ( dynamic_cast <QWidget *> (this) ); 
+}
+
+QString QgsComposerPicture::pictureDialog ( void )
+{
+    QString filters = tr("Pictures ("); //+ " ( *.svg *.SVG ";
+    QList<QByteArray> formats = QImageWriter::supportedImageFormats();
+
+    for ( int i = 0; i < formats.count(); i++ )
+    {
+        QString frmt = formats.at( i );
+        QString fltr = " *." + frmt.lower() + " *." + frmt.upper();
+        filters += fltr;
+    }
+    filters += ");;All other files (*.*)";
+
+    // Retrieve the last used directory
+    QSettings settings;
+    QString lastUsedDir = settings.readEntry("/UI/lastComposerPictureDir", ".");
+
+    QString file = QFileDialog::getOpenFileName(
+                    0,
+                    tr("Choose a file"),
+                    lastUsedDir,
+                    filters );
+    if (file.length() != 0)
+    {
+      QFileInfo myFile(file);
+      QString myPath = myFile.dirPath();
+      settings.writeEntry("/UI/lastComposerPictureDir", myPath);
+    }
+
+    return file; 
+}
+
+bool QgsComposerPicture::writeSettings ( void )  
+{
+#ifdef QGISDEBUG
+    std::cout << "QgsComposerPicture::writeSettings" << std::endl;
+#endif
+
+    QString path;
+    path.sprintf("/composition_%d/picture_%d/", mComposition->id(), mId ); 
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"picture", mPicturePath );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"x", mComposition->toMM((int)QGraphicsItem::pos().x()) );
+    QgsProject::instance()->writeEntry( "Compositions", path+"y", mComposition->toMM((int)QGraphicsItem::pos().y()) );
+    QgsProject::instance()->writeEntry( "Compositions", path+"width", mComposition->toMM((int)mWidth) );
+    QgsProject::instance()->writeEntry( "Compositions", path+"height", mComposition->toMM((int)mHeight) );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"angle", mAngle );
+
+    QgsProject::instance()->writeEntry( "Compositions", path+"frame", mFrame );
+
+    return true; 
+}
+
+bool QgsComposerPicture::readSettings ( void )
+{
+    bool ok;
+    QString path;
+    path.sprintf("/composition_%d/picture_%d/", mComposition->id(), mId );
+
+    mPicturePath = QgsProject::instance()->readEntry( "Compositions", path+"picture", "", &ok) ;
+
+    double x = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"x", 0, &ok));
+    double y = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"y", 0, &ok));
+    setPos(x, y);
+
+    mWidth = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"width", 0, &ok));
+    mHeight = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"height", 0, &ok));
+
+    mAngle = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"angle", 0, &ok));
+
+    mFrame = QgsProject::instance()->readBoolEntry("Compositions", path+"frame", true, &ok);
+
+    return true;
+}
+
+bool QgsComposerPicture::removeSettings( void )
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsComposerPicture::deleteSettings" << std::endl;
+#endif
+
+    QString path;
+    path.sprintf("/composition_%d/picture_%d", mComposition->id(), mId ); 
+    return QgsProject::instance()->removeEntry ( "Compositions", path );
+}
+
+bool QgsComposerPicture::writeXML( QDomNode & node, QDomDocument & document, bool temp )
+{
+    return true;
+}
+
+bool QgsComposerPicture::readXML( QDomNode & node )
+{
+    return true;
+}

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerpicture.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,156 @@
+/***************************************************************************
+                         qgscomposerpicture.h
+                             -------------------
+    begin                : September 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : radim.blazek at gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERPICTURE_H
+#define QGSCOMPOSERPICTURE_H
+
+#include "ui_qgscomposerpicturebase.h"
+#include "qgscomposeritem.h"
+#include <QAbstractGraphicsShapeItem>
+#include <QPen>
+#include <QPicture>
+#include <QPolygonF>
+#include <QRect>
+
+class QgsComposition;
+class QDomNode;
+class QDomDocument;
+class QPainter;
+
+/** \class QgsComposerPicture 
+ *  \brief Object representing map window. 
+ */
+// NOTE: QgsComposerPictureBase must be first, otherwise does not compile
+//                                public QCanvasRectangle, 
+class QgsComposerPicture : public QWidget, private Ui::QgsComposerPictureBase, 
+				public QAbstractGraphicsShapeItem, public QgsComposerItem
+{
+    Q_OBJECT
+
+public:
+    /** \brief Constructor  
+     *  \param id object id
+     */
+    QgsComposerPicture( QgsComposition *composition, int id, QString file );
+
+    /** \brief Constructor. Settings are read from project. 
+     *  \param id object id
+     */
+    QgsComposerPicture( QgsComposition *composition, int id );
+    ~QgsComposerPicture();
+
+    /** \brief Initialise GUI etc., shared by constructors. */
+    void init(void);
+
+    // Reimplement QgsComposerItem:
+    void setSelected( bool s );
+    bool selected( void );
+    QWidget *options ( void );
+    bool writeSettings ( void );
+    bool readSettings ( void );
+    bool removeSettings ( void );
+    bool writeXML( QDomNode & node, QDomDocument & document, bool temp = false );
+    bool readXML( QDomNode & node );
+
+
+    // Reimplement QCanvasItem::boundingRect
+    QRectF boundingRect ( void ) const;
+
+    QPolygonF areaPoints() const;
+
+    /** \brief Reimplementation of QCanvasItem::paint - draw on canvas */
+    void paint ( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget );
+    
+    /** \brief Set values in GUI to current values */
+    void setOptions ( void );
+
+    /** \brief returns TRUE if picture is valid / loaded */
+    bool pictureValid();
+
+    // Set box, picture will be inside box, used when placed by mouse.
+    // Coordinates do not need to be oriented
+    void setSize(double width, double height );
+
+    // Picture dialog, returns file name or empty string
+    static QString pictureDialog ( void );    
+
+public slots:
+    // Called when picture file is changed in edit line
+    void on_mPictureLineEdit_returnPressed ( void );
+
+    // Select new picture in dialog box
+    void on_mPictureBrowseButton_clicked ( void );
+
+    // Frame settings changed
+    void on_mFrameCheckBox_stateChanged ( int );
+
+    // Angle changed
+    void on_mAngleLineEdit_returnPressed ( void );
+
+    // Width changed
+    void on_mWidthLineEdit_returnPressed ( void );
+
+private:
+    // Pointer to composition
+    QgsComposition *mComposition;
+
+    // Picture name
+    QString mPicturePath;
+
+    // Picture
+    QPicture mPicture;
+
+    bool mPictureValid;
+
+    // Coordinates of picture center
+    int mCX, mCY;
+
+    // Coordinates of upper left picture corner
+    int mX, mY;
+
+    // Picture width and height in scene units
+    double mWidth, mHeight;
+
+    // Scale, number of canvas units / image unit
+
+    // Rotation in degrees counter clockwise
+    double mAngle;
+
+    /** \brief Draw frame  */
+    bool mFrame;
+
+    // Frame pen
+    QPen  mPen;
+
+    // Load mPicturePath picture
+    void loadPicture();
+    
+    /** \brief Calculate size according to current settings */
+    void recalculate ( void );
+
+    QPolygonF mAreaPoints;
+
+    // Called when picture file is changed
+    void pictureChanged ( void );
+
+    // Current bounding box
+    QRectF mBoundingRect;
+
+    // Adjust size so that picture fits to current box
+    void adjustPictureSize();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,561 @@
+/***************************************************************************
+                           qgscomposerscalebar.cpp
+                             -------------------
+    begin                : March 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgscomposerscalebar.h"
+#include "qgscomposermap.h"
+#include "qgsproject.h"
+
+#include <QFontDialog>
+#include <QPainter>
+#include <QGraphicsScene>
+
+#include <cmath>
+#include <iostream>
+
+//can we/should we remove the x and y parameters?
+QgsComposerScalebar::QgsComposerScalebar ( QgsComposition *composition, int id, 
+	                                            int x, int y )
+    : QWidget(composition),
+    QAbstractGraphicsShapeItem(0),
+    mComposition(composition),
+    mMap(0),
+    mBrush(QColor(150,150,150))
+{
+  setupUi(this);
+
+  std::cout << "QgsComposerScalebar::QgsComposerScalebar()" << std::endl;
+  mId = id;
+  mSelected = false;
+
+  mMapCanvas = mComposition->mapCanvas();
+
+  QAbstractGraphicsShapeItem::setPos(x, y);
+
+  init();
+
+  // Set map to the first available if any
+  std::vector < QgsComposerMap * >maps = mComposition->maps();
+  if (maps.size() > 0)
+    {
+      mMap = maps[0]->id();
+    }
+  // Set default according to the map
+  QgsComposerMap *map = mComposition->map(mMap);
+  if (map)
+    {
+      mMapUnitsPerUnit = 1.;
+      mUnitLabel = "m";
+
+      // make one segment cca 1/10 of map width and it will be 1xxx, 2xxx or 5xxx
+      double mapwidth = 1. * map->QGraphicsRectItem::rect().width() / map->scale();
+
+      mSegmentLength = mapwidth / 10;
+
+      int powerOf10 = int (pow(10.0, int (log(mSegmentLength) / log(10.0)))); // from scalebar plugin
+
+      int isize = (int) ceil(mSegmentLength / powerOf10);
+
+      if (isize == 3)
+        isize = 2;
+      else if (isize == 4)
+        isize = 5;
+      else if (isize > 5 && isize < 8)
+        isize = 5;
+      else if (isize > 7)
+        isize = 10;
+
+      mSegmentLength = isize * powerOf10;
+
+      // the scale bar will take cca 1/4 of the map width
+      mNumSegments = (int) (mapwidth / 4 / mSegmentLength);
+
+      int segsize = (int) (mSegmentLength * map->scale());
+
+      int fontsize = segsize / 3;
+
+      if(fontsize < 6)
+      {
+        fontsize = 6;
+      }
+
+      mFont.setPointSize(fontsize);
+  } else
+    {
+      mFont.setPointSize(6);
+      mMapUnitsPerUnit = 1.;
+      mUnitLabel = "m";
+      mSegmentLength = 1000.;
+      mNumSegments = 5;
+    }
+
+  // Calc size
+  recalculate();
+
+  // Add to scene
+  mComposition->canvas()->addItem(this);
+
+  QAbstractGraphicsShapeItem::show();
+  QAbstractGraphicsShapeItem::update();
+
+  writeSettings();
+}
+
+QgsComposerScalebar::QgsComposerScalebar ( QgsComposition *composition, int id ) 
+    : QAbstractGraphicsShapeItem(0),
+    mComposition(composition),
+    mMap(0),
+    mBrush(QColor(150,150,150))
+{
+  std::cout << "QgsComposerScalebar::QgsComposerScalebar()" << std::endl;
+
+  setupUi(this);
+
+  mId = id;
+  mSelected = false;
+
+  mMapCanvas = mComposition->mapCanvas();
+
+  init();
+
+  readSettings();
+
+  // Calc size
+  recalculate();
+
+  // Add to scene
+  mComposition->canvas()->addItem(this);
+
+  QAbstractGraphicsShapeItem::show();
+  QAbstractGraphicsShapeItem::update();
+}
+
+void QgsComposerScalebar::init(void)
+{
+  mUnitLabel = "m";
+
+  // Rectangle
+  QAbstractGraphicsShapeItem::setZValue(50);
+//    setActive(true);
+
+  // Default value (map units?) for the scalebar border
+  mPen.setWidthF(.5);
+
+  // Plot style
+  setPlotStyle(QgsComposition::Preview);
+
+  connect(mComposition, SIGNAL(mapChanged(int)), this, SLOT(mapChanged(int)));
+}
+
+QgsComposerScalebar::~QgsComposerScalebar()
+{
+  std::cerr << "QgsComposerScalebar::~QgsComposerScalebar()" << std::endl;
+  QGraphicsItem::hide();
+}
+
+QRectF QgsComposerScalebar::render(QPainter * p)
+{
+  std::cout << "QgsComposerScalebar::render p = " << p << std::endl;
+
+  // Painter can be 0, create dummy to avoid many if below
+  QPainter *painter;
+  QPixmap *pixmap=NULL;
+  if (p)
+  {
+      painter = p;
+  }else
+  {
+    pixmap = new QPixmap(1, 1);
+    painter = new QPainter(pixmap);
+  }
+
+  std::cout << "mComposition->scale() = " << mComposition->scale() << std::endl;
+
+  QgsComposerMap *map = mComposition->map(mMap); //Get the topmost map from the composition
+
+  double segwidth;
+  if(map)
+  {
+    segwidth = (mSegmentLength * map->scale());  //width of one segment
+  }
+  else //if there is no map, make up a segment width
+  {
+    segwidth = mSegmentLength/100;
+  }
+  double width = (segwidth * mNumSegments); //width of whole scalebar
+  double barLx = -width / 2; //x offset to the left
+
+  double barHeight = (25.4 * mComposition->scale() * mFont.pointSize() / 72);
+
+  double tickSize = barHeight * 1.5; //ticks go from the base of the bar to 1/2 the bar's height above it
+
+  // Draw background rectangle
+  painter->setPen(QPen(QColor(255, 255, 255), 0));
+  painter->setBrush(QBrush(QColor(255, 255, 255), Qt::SolidPattern));
+  painter->drawRect(QRectF(barLx, -barHeight, width, barHeight));
+
+  // set the painter to have grey background and black border
+  painter->setPen(QPen(QColor(0, 0, 0), mPen.widthF()));
+  painter->setBrush(QBrush(QColor(127, 127, 127)));//default to solid brush
+
+  // fill every other segment with grey
+  for (int i = 0; i < mNumSegments; i += 2)
+  {
+    painter->drawRect(QRectF(barLx + ((double)i * segwidth), -barHeight, segwidth, barHeight));
+  }
+
+  // draw a box around the all of the segments
+  painter->setBrush(Qt::NoBrush);
+  painter->drawRect(QRectF(barLx, -barHeight, width, barHeight));
+
+  // set up the pen to draw the tick marks
+  painter->setPen(QPen(QColor(0, 0, 0), mPen.widthF()));
+
+  // draw the tick marks
+  for (int i = 0; i <= mNumSegments; i++)
+  {
+    painter->drawLine(QLineF(barLx + ((double)i * segwidth), 0, barLx + (i * segwidth), -tickSize));
+  }
+
+
+  // labels
+
+  // Font size in canvas units
+  float size = 25.4 * mComposition->scale() * mFont.pointSizeFloat() / 72;
+
+
+  // Create QFontMetrics so we can correctly place the text
+  QFont font(mFont);
+  font.setPointSizeFloat(size);
+  QFontMetrics metrics(font);
+
+  if (plotStyle() == QgsComposition::Postscript)
+  {
+    font.setPointSizeF(metrics.ascent() * 72.0 / mComposition->resolution());
+std::cout << "scalebar using PS font size!" << std::endl;
+  }
+
+  painter->setFont(font);
+
+  // Not sure about Style Strategy, QFont::PreferMatch?
+  font.setStyleStrategy((QFont::StyleStrategy) (QFont::PreferOutline | QFont::PreferAntialias));
+
+  double offset = .5 * tickSize; //vertical offset above the top of the tick marks
+  double textRightOverhang=0;//amount the label text hangs over the right edge of the scalebar - used for the bounding box
+
+  for (int i = 0; i <= mNumSegments; i++)
+  {
+    int lab = (int) ((double)i * mSegmentLength / mMapUnitsPerUnit);
+
+    QString txt = QString::number(lab);
+    double shift = (double)metrics.width(txt) / 2;
+
+    if (i == mNumSegments) //on the last label, append the appropriate unit symbol
+    {
+      txt.append(" " + mUnitLabel);
+      textRightOverhang = (double)metrics.width(txt) - shift;
+    }
+
+    double x = barLx + (i * segwidth) - shift; //figure out the bottom left corner and draw the text
+    double y = -tickSize - offset - metrics.descent();
+    painter->drawText(QPointF(x, y), txt);
+
+  }//end of label drawing
+
+  double totalHeight = tickSize + offset + metrics.height();
+
+  if (!p)
+    {
+      delete painter;
+      delete pixmap;
+    }
+
+//Add the 1/2 the pen width to get the full bounding box
+return QRectF(barLx - (mPen.widthF()/2), -totalHeight, width + textRightOverhang, totalHeight + (mPen.widthF()/2));
+}
+
+void QgsComposerScalebar::paint(QPainter * painter, const QStyleOptionGraphicsItem * itemStyle, QWidget * pWidget)
+{
+  std::cout << "draw mPlotStyle = " << plotStyle() << std::endl;
+
+  mBoundingRect = render(painter);
+
+  // Show selected / Highlight
+  if (mSelected && plotStyle() == QgsComposition::Preview)
+    {
+      painter->setPen(mComposition->selectionPen());
+      painter->setBrush(mComposition->selectionBrush());
+
+      double s = mComposition->selectionBoxSize();
+      QRectF r = boundingRect();
+
+      painter->drawRect(QRectF(r.x(), r.y(), s, s));
+      painter->drawRect(QRectF(r.x() + r.width() - s, r.y(), s, s));
+      painter->drawRect(QRectF(r.x() + r.width() - s, r.y() + r.height() - s, s, s));
+      painter->drawRect(QRectF(r.x(), r.y() + r.height() - s, s, s));
+    }
+}
+
+/*
+void QgsComposerScalebar::drawShape ( QPainter & painter )
+{
+    paint ( painter );
+}
+*/
+void QgsComposerScalebar::on_mFontButton_clicked(void)
+{
+  bool result;
+
+  mFont = QFontDialog::getFont(&result, mFont, this);
+
+  if (result)
+    {
+      recalculate();
+      QAbstractGraphicsShapeItem::update();
+      QAbstractGraphicsShapeItem::scene()->update();
+      writeSettings();
+    }
+}
+
+void QgsComposerScalebar::on_mUnitLabelLineEdit_returnPressed()
+{
+  mUnitLabel = mUnitLabelLineEdit->text();
+  recalculate();
+  QAbstractGraphicsShapeItem::update();
+  QAbstractGraphicsShapeItem::scene()->update();
+  writeSettings();
+}
+
+void QgsComposerScalebar::on_mMapComboBox_activated(int i)
+{
+  mMap = mMaps[i];
+  recalculate();
+  QAbstractGraphicsShapeItem::update();
+  QAbstractGraphicsShapeItem::scene()->update();
+  writeSettings();
+}
+
+void QgsComposerScalebar::mapChanged(int id)
+{
+  if (id != mMap)
+    return;
+  recalculate();
+  QAbstractGraphicsShapeItem::update();
+  QAbstractGraphicsShapeItem::scene()->update();
+}
+
+void QgsComposerScalebar::sizeChanged()
+{
+  mSegmentLength = mSegmentLengthLineEdit->text().toDouble();
+  mNumSegments = mNumSegmentsLineEdit->text().toInt();
+  mPen.setWidthF(mLineWidthSpinBox->value());
+  mMapUnitsPerUnit = mMapUnitsPerUnitLineEdit->text().toInt();
+  recalculate();
+  QAbstractGraphicsShapeItem::update();
+  QAbstractGraphicsShapeItem::scene()->update();
+  writeSettings();
+}
+
+void QgsComposerScalebar::on_mLineWidthSpinBox_valueChanged()
+{
+  sizeChanged();
+}
+
+void QgsComposerScalebar::on_mMapUnitsPerUnitLineEdit_returnPressed()
+{
+  sizeChanged();
+}
+
+void QgsComposerScalebar::on_mNumSegmentsLineEdit_returnPressed()
+{
+  sizeChanged();
+}
+
+void QgsComposerScalebar::on_mSegmentLengthLineEdit_returnPressed()
+{
+  sizeChanged();
+}
+/*
+void QgsComposerScalebar::moveBy(double x, double y)
+{
+  std::cout << "QgsComposerScalebar::move" << std::endl;
+  QGraphicsItem::moveBy(x, y);
+
+  recalculate();
+  //writeSettings(); // not necessary called by composition
+}*/
+
+void QgsComposerScalebar::recalculate(void)
+{
+  std::cout << "QgsComposerScalebar::recalculate" << std::endl;
+
+  // !!! prepareGeometryChange() MUST BE called before the value returned by areaPoints() changes
+  //Is this still true after the port to GraphicsView?
+  QAbstractGraphicsShapeItem::prepareGeometryChange();
+
+  mBoundingRect = render(0);
+
+  QGraphicsItem::update();
+}
+
+QRectF QgsComposerScalebar::boundingRect(void) const
+{
+  std::cout << "QgsComposerScalebar::boundingRect" << std::endl;
+  return mBoundingRect;
+}
+
+QPolygonF QgsComposerScalebar::areaPoints(void) const
+{
+  std::cout << "QgsComposerScalebar::areaPoints" << std::endl;
+
+  QRectF r = boundingRect();
+  QPolygonF pa;
+  pa << QPointF(r.x(), r.y());
+  pa << QPointF(r.x() + r.width(), r.y());
+  pa << QPointF(r.x() + r.width(), r.y() + r.height());
+  pa << QPointF(r.x(), r.y() + r.height());
+  return pa;
+}
+
+void QgsComposerScalebar::setOptions(void)
+{
+  mSegmentLengthLineEdit->setText(QString::number(mSegmentLength));
+  mNumSegmentsLineEdit->setText(QString::number(mNumSegments));
+  mUnitLabelLineEdit->setText(mUnitLabel);
+  mMapUnitsPerUnitLineEdit->setText(QString::number(mMapUnitsPerUnit));
+
+  mLineWidthSpinBox->setValue(mPen.widthF());
+
+  // Maps
+  mMapComboBox->clear();
+  std::vector < QgsComposerMap * >maps = mComposition->maps();
+
+  mMaps.clear();
+
+  bool found = false;
+  mMapComboBox->insertItem("", 0);
+  mMaps.push_back(0);
+  for (int i = 0; i < (int)maps.size(); i++)
+    {
+      mMapComboBox->insertItem(maps[i]->name(), i + 1);
+      mMaps.push_back(maps[i]->id());
+
+      if (maps[i]->id() == mMap)
+        {
+          found = true;
+          mMapComboBox->setCurrentItem(i + 1);
+        }
+    }
+
+  if (!found)
+    {
+      mMap = 0;
+      mMapComboBox->setCurrentItem(0);
+    }
+}
+
+void QgsComposerScalebar::setSelected(bool s)
+{
+  mSelected = s;
+  QAbstractGraphicsShapeItem::update(); // show highlight
+}
+
+bool QgsComposerScalebar::selected(void)
+{
+  return mSelected;
+}
+
+QWidget *QgsComposerScalebar::options(void)
+{
+  setOptions();
+  return (dynamic_cast < QWidget * >(this));
+}
+
+bool QgsComposerScalebar::writeSettings(void)
+{
+  std::cout << "QgsComposerScalebar::writeSettings" << std::endl;
+  QString path;
+  path.sprintf("/composition_%d/scalebar_%d/", mComposition->id(), mId);
+
+  QgsProject::instance()->writeEntry("Compositions", path + "x", mComposition->toMM((int) QAbstractGraphicsShapeItem::x()));
+  QgsProject::instance()->writeEntry("Compositions", path + "y", mComposition->toMM((int) QAbstractGraphicsShapeItem::y()));
+
+  QgsProject::instance()->writeEntry("Compositions", path + "map", mMap);
+
+  QgsProject::instance()->writeEntry("Compositions", path + "unit/label", mUnitLabel);
+  QgsProject::instance()->writeEntry("Compositions", path + "unit/mapunits", mMapUnitsPerUnit);
+
+  QgsProject::instance()->writeEntry("Compositions", path + "segmentsize", mSegmentLength);
+  QgsProject::instance()->writeEntry("Compositions", path + "numsegments", mNumSegments);
+
+  QgsProject::instance()->writeEntry("Compositions", path + "font/size", mFont.pointSize());
+  QgsProject::instance()->writeEntry("Compositions", path + "font/family", mFont.family());
+  QgsProject::instance()->writeEntry("Compositions", path + "font/weight", mFont.weight());
+  QgsProject::instance()->writeEntry("Compositions", path + "font/underline", mFont.underline());
+  QgsProject::instance()->writeEntry("Compositions", path + "font/strikeout", mFont.strikeOut());
+
+  QgsProject::instance()->writeEntry("Compositions", path + "pen/width", (double) mPen.widthF());
+
+  return true;
+}
+
+bool QgsComposerScalebar::readSettings(void)
+{
+  bool ok;
+  QString path;
+  path.sprintf("/composition_%d/scalebar_%d/", mComposition->id(), mId);
+
+  double x = mComposition->fromMM(QgsProject::instance()->readDoubleEntry("Compositions", path + "x", 0, &ok));
+  double y = mComposition->fromMM(QgsProject::instance()->readDoubleEntry("Compositions", path + "y", 0, &ok));
+  QAbstractGraphicsShapeItem::setPos(x, y);
+
+  mMap = QgsProject::instance()->readNumEntry("Compositions", path + "map", 0, &ok);
+  mUnitLabel = QgsProject::instance()->readEntry("Compositions", path + "unit/label", "???", &ok);
+  mMapUnitsPerUnit = QgsProject::instance()->readDoubleEntry("Compositions", path + "unit/mapunits", 1., &ok);
+
+  mSegmentLength = QgsProject::instance()->readDoubleEntry("Compositions", path + "segmentsize", 1000., &ok);
+  mNumSegments = QgsProject::instance()->readNumEntry("Compositions", path + "numsegments", 5, &ok);
+
+  mFont.setFamily(QgsProject::instance()->readEntry("Compositions", path + "font/family", "", &ok));
+  mFont.setPointSize(QgsProject::instance()->readNumEntry("Compositions", path + "font/size", 10, &ok));
+  mFont.setWeight(QgsProject::instance()->readNumEntry("Compositions", path + "font/weight", (int) QFont::Normal, &ok));
+  mFont.setUnderline(QgsProject::instance()->readBoolEntry("Compositions", path + "font/underline", false, &ok));
+  mFont.setStrikeOut(QgsProject::instance()->readBoolEntry("Compositions", path + "font/strikeout", false, &ok));
+
+  mPen.setWidthF(QgsProject::instance()->readDoubleEntry("Compositions", path + "pen/width", 1, &ok));
+
+  recalculate();
+
+  return true;
+}
+
+bool QgsComposerScalebar::removeSettings(void)
+{
+  std::cerr << "QgsComposerScalebar::deleteSettings" << std::endl;
+
+  QString path;
+  path.sprintf("/composition_%d/scalebar_%d", mComposition->id(), mId);
+  return QgsProject::instance()->removeEntry("Compositions", path);
+}
+
+bool QgsComposerScalebar::writeXML(QDomNode & node, QDomDocument & document, bool temp)
+{
+  return true;
+}
+
+bool QgsComposerScalebar::readXML(QDomNode & node)
+{
+  return true;
+}

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerscalebar.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,158 @@
+/***************************************************************************
+                            qgscomposerscalebar.h
+                             -------------------
+    begin                : March 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERSCALEBAR_H
+#define QGSCOMPOSERSCALEBAR_H
+
+#include "ui_qgscomposerscalebarbase.h"
+#include "qgscomposeritem.h"
+#include <QAbstractGraphicsShapeItem>
+#include <Q3PointArray>
+#include <QRect>
+#include <QPen>
+
+class QgsMapCanvas;
+class QgsComposition;
+class QBrush;
+class QDomNode;
+class QDomDocument;
+class QFont;
+class QPainter;
+class QPen;
+
+/** \class QgsComposerScalebar
+ *  \brief Object representing map window. 
+ */
+// NOTE: QgsComposerScalebarBase must be first, otherwise does not compile
+class QgsComposerScalebar : public QWidget, private Ui::QgsComposerScalebarBase, public QAbstractGraphicsShapeItem, public QgsComposerItem
+{
+    Q_OBJECT
+
+public:
+    /** \brief Constructor  
+     *  \param id object id
+     *  \param fontSize font size in typographic points!
+     */
+    QgsComposerScalebar( QgsComposition *composition, int id, int x, int y );
+
+    /** \brief Constructor. Settings are read from project. 
+     *  \param id object id
+     */
+    QgsComposerScalebar( QgsComposition *composition, int id );
+    ~QgsComposerScalebar();
+
+    /** \brief Initialise GUI etc., shared by constructors. */
+    void init(void);
+
+    // Reimplement QgsComposerItem:
+    void setSelected( bool s );
+    bool selected( void );
+    QWidget *options ( void );
+    bool writeSettings ( void );
+    bool readSettings ( void );
+    bool removeSettings ( void );
+    bool writeXML( QDomNode & node, QDomDocument & document, bool temp = false );
+    bool readXML( QDomNode & node );
+
+    QRectF boundingRect ( void ) const;
+     
+    /** \brief Draw to paint device, internal use 
+     *  \param painter painter or 0
+     *  \return bounding box 
+     */
+    QRectF render (QPainter *painter);
+
+    /** \brief Reimplementation of QGraphicsItem::paint - draw on canvas */
+    void paint ( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget);
+
+    //void drawShape(QPainter&);
+    QPolygonF areaPoints() const;
+    
+    /** \brief Calculate size according to current settings */
+    void recalculate ( void );
+    
+    /** \brief Set values in GUI to current values */
+    void setOptions ( void );
+
+    // Move to position
+//    void moveBy ( double x, double y );
+
+public slots:
+    // Open font dialog
+    void on_mFontButton_clicked ( void );
+
+    // Title changed
+    void on_mUnitLabelLineEdit_returnPressed ( void );
+
+    // Size changed
+    void on_mLineWidthSpinBox_valueChanged ( void );
+    void on_mMapUnitsPerUnitLineEdit_returnPressed ( void );
+    void on_mNumSegmentsLineEdit_returnPressed ( void );
+    void on_mSegmentLengthLineEdit_returnPressed ( void );
+    
+    // Called by GUI when map selection changed
+    void on_mMapComboBox_activated ( int i );
+
+    // Called when map was changed
+    void mapChanged ( int id );
+
+private:
+    // Pointer to composition
+    QgsComposition *mComposition;
+    
+    // Pointer to map canvas
+    QgsMapCanvas *mMapCanvas;
+    
+    // Composer map id or 0
+    int mMap;
+
+    // Vector of map id for maps in combobox
+    std::vector<int> mMaps;
+
+    // Current bounding box
+    QRectF mBoundingRect;
+
+    // Number of map units in scalebar unit
+    double mMapUnitsPerUnit;
+
+    // Unit label
+    QString mUnitLabel;
+
+    // Font. Font size in typographic points!
+    QFont mFont;
+
+    // Pen
+    QPen mPen;
+
+    // Brush
+    QBrush mBrush;
+
+    // Number of parts 
+    int mNumSegments;
+
+    // Segment size in map units
+    double mSegmentLength;
+
+    // Height of scalebar box in canvas units (box style only)
+    double mHeight;
+
+    // Margin
+    int mMargin;
+
+    // Size changed
+    void sizeChanged ( void );
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,925 @@
+/***************************************************************************
+                         qgscomposervectorlegend.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgscomposervectorlegend.h"
+#include "qgscomposermap.h"
+#include "qgscontinuouscolorrenderer.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsproject.h"
+#include "qgsrenderer.h"
+#include "qgssymbol.h"
+#include "qgsvectorlayer.h"
+
+#include <QFontDialog>
+#include <QPainter>
+#include <Q3PopupMenu>
+#include <QGraphicsScene>
+
+
+#include <iostream>
+#include <vector>
+
+QgsComposerVectorLegend::QgsComposerVectorLegend ( QgsComposition *composition, int id, 
+                                              int x, int y, int fontSize )
+    : QWidget(composition), QGraphicsRectItem(x,y,10,10,0)
+{
+  setupUi(this);
+
+  std::cout << "QgsComposerVectorLegend::QgsComposerVectorLegend()" << std::endl;
+
+  mComposition = composition;
+  mId  = id;
+  mMapCanvas = mComposition->mapCanvas();
+
+  init();
+
+  // Font and pen
+  if(fontSize < 6){
+    fontSize = 6;
+  }
+  mFont.setPointSize ( fontSize );
+    
+  // Set map to the first available if any
+  std::vector<QgsComposerMap*> maps = mComposition->maps();
+  if ( maps.size() > 0 ) {
+    mMap = maps[0]->id();
+  }
+
+  // Calc size and cache
+  recalculate();
+
+  // Add to scene
+  mComposition->canvas()->addItem(this);
+  QGraphicsRectItem::show();
+  QGraphicsRectItem::update();
+
+     
+  writeSettings();
+}
+
+QgsComposerVectorLegend::QgsComposerVectorLegend ( QgsComposition *composition, int id ) 
+    : QGraphicsRectItem(0,0,10,10,0)
+{
+    std::cout << "QgsComposerVectorLegend::QgsComposerVectorLegend()" << std::endl;
+
+    setupUi(this);
+
+    mComposition = composition;
+    mId  = id;
+    mMapCanvas = mComposition->mapCanvas();
+
+    init();
+
+    readSettings();
+
+    // Calc size and cache
+    recalculate();
+
+    // Add to scene
+    mComposition->canvas()->addItem(this);
+
+    QGraphicsRectItem::show();
+    QGraphicsRectItem::update();
+}
+
+void QgsComposerVectorLegend::init ( void ) 
+{
+    mSelected = false;
+    mNumCachedLayers = 0;
+    mTitle = tr("Legend");
+    mMap = 0;
+    mNextLayerGroup = 1;
+    mFrame = true;
+
+    // Cache
+    mCacheUpdated = false;
+
+    // Rectangle
+    QGraphicsRectItem::setZValue(50);
+//    setActive(true);
+
+    // Layers list view
+    mLayersListView->setColumnText(0,tr("Layers"));
+    mLayersListView->addColumn(tr("Group"));
+    mLayersListView->setSorting(-1);
+    mLayersListView->setResizeMode(Q3ListView::AllColumns);
+    mLayersListView->setSelectionMode(Q3ListView::Extended);
+
+    mLayersPopupMenu = new Q3PopupMenu( );
+
+    mLayersPopupMenu->insertItem( tr("Combine selected layers"), this, SLOT(groupLayers()) );
+
+    connect ( mLayersListView, SIGNAL(clicked(Q3ListViewItem *)), 
+                         this, SLOT(layerChanged(Q3ListViewItem *)));
+
+    connect ( mLayersListView, SIGNAL(rightButtonClicked(Q3ListViewItem *, const QPoint &, int)), 
+                    this, SLOT( showLayersPopupMenu(Q3ListViewItem *, const QPoint &, int)) );
+
+    // Plot style
+    setPlotStyle ( QgsComposition::Preview );
+    
+    // Preview style
+    mPreviewMode = Render;
+    mPreviewModeComboBox->insertItem ( tr("Cache"), Cache );
+    mPreviewModeComboBox->insertItem ( tr("Render"), Render );
+    mPreviewModeComboBox->insertItem ( tr("Rectangle"), Rectangle );
+    mPreviewModeComboBox->setCurrentItem ( mPreviewMode );
+
+    connect ( mComposition, SIGNAL(mapChanged(int)), this, SLOT(mapChanged(int)) ); 
+}
+
+QgsComposerVectorLegend::~QgsComposerVectorLegend()
+{
+    std::cerr << "QgsComposerVectorLegend::~QgsComposerVectorLegend()" << std::endl;
+}
+
+QRectF QgsComposerVectorLegend::render ( QPainter *p )
+{
+  std::cout << "QgsComposerVectorLegend::render p = " << p << std::endl;
+
+  // Painter can be 0, create dummy to avoid many if below
+  QPainter *painter = NULL;
+  QPixmap *pixmap = NULL;
+  if ( p ) {
+    painter = p;
+  } else {
+    pixmap = new QPixmap(1,1);
+    painter = new QPainter( pixmap );
+  }
+
+  std::cout << "mComposition->scale() = " << mComposition->scale() << std::endl;
+
+  // Font size in canvas units
+  float titleSize = 25.4 * mComposition->scale() * mTitleFont.pointSizeFloat() / 72;
+  float sectionSize = 25.4 * mComposition->scale() * mSectionFont.pointSizeFloat() / 72;
+  float size = 25.4 * mComposition->scale() * mFont.pointSizeFloat() / 72;
+
+  std::cout << "font sizes = " << titleSize << " " << sectionSize << " " << size << std::endl;
+
+  // Metrics 
+  QFont titleFont ( mTitleFont );
+  QFont sectionFont ( mSectionFont );
+  QFont font ( mFont );
+
+  titleFont.setPointSizeFloat ( titleSize );
+  sectionFont.setPointSizeFloat ( sectionSize );
+  font.setPointSizeFloat ( size );
+
+  QFontMetrics titleMetrics ( titleFont );
+  QFontMetrics sectionMetrics ( sectionFont );
+  QFontMetrics metrics ( font );
+
+  // Fonts for Postscript rendering
+  double psTitleSize = titleMetrics.ascent() * 72.0 / mComposition->resolution(); //What??
+  double psSectionSize = sectionMetrics.ascent() * 72.0 / mComposition->resolution();
+  double psSize = metrics.ascent() * 72.0 / mComposition->resolution();
+    
+  if ( plotStyle() == QgsComposition::Postscript) //do we need seperate PostScript rendering settings?
+  {
+    titleFont.setPointSizeFloat ( psTitleSize );
+    sectionFont.setPointSizeFloat ( psSectionSize );
+    font.setPointSizeFloat ( psSize );
+  }
+  else
+  {
+    titleFont.setPointSizeFloat ( titleSize );
+    sectionFont.setPointSizeFloat ( sectionSize );
+    font.setPointSizeFloat ( size );
+  }
+
+  // Not sure about Style Strategy, QFont::PreferMatch?
+  titleFont.setStyleStrategy ( (QFont::StyleStrategy) (QFont::PreferOutline | QFont::PreferAntialias) );
+  sectionFont.setStyleStrategy ( (QFont::StyleStrategy) (QFont::PreferOutline | QFont::PreferAntialias) );
+  font.setStyleStrategy ( (QFont::StyleStrategy) (QFont::PreferOutline | QFont::PreferAntialias) );
+
+  int x, y;
+
+  // Legend title  -if we do this later, we can center it
+  y = mMargin + titleMetrics.height();
+  painter->setPen ( mPen );
+  painter->setFont ( titleFont );
+
+  painter->drawText( (int) (2*mMargin), y, mTitle );
+
+//used to keep track of total width and height
+  int width = 4 * mMargin + titleMetrics.width ( mTitle ); 
+  int height = mMargin + mSymbolSpace + titleMetrics.height(); // mSymbolSpace?
+
+  // Layers
+  QgsComposerMap *map = mComposition->map ( mMap ); //Get the map from the composition by ID number
+  if ( map ) {
+ 
+    std::map<int,int> doneGroups;
+      
+    int nlayers = mMapCanvas->layerCount();
+    for ( int i = nlayers - 1; i >= 0; i-- ) {
+      QgsMapLayer *layer = mMapCanvas->getZpos(i);
+//      if ( !layer->visible() ) continue; // skip non-visible layers
+      if ( layer->type() != QgsMapLayer::VECTOR ) continue; //skip raster layers
+
+      QString layerId = layer->getLayerID();
+
+//      if( ! layerOn(layerId) ) continue; //does this need to go away?
+
+      int group = layerGroup ( layerId );
+      if ( group > 0 ) { 
+        if ( doneGroups.find(group) != doneGroups.end() ) {
+          continue; 
+        } else {
+          doneGroups.insert(std::make_pair(group,1));
+        }
+      }
+
+      // Make list of all layers in the group and count section items
+      std::vector<int> groupLayers; // vector of layers
+      std::vector<int> itemHeights; // maximum item sizes
+      std::vector<QString> itemLabels; // item labels
+      int sectionItemsCount = 0;
+      QString sectionTitle;
+
+
+      for ( int j = nlayers - 1; j >= 0; j-- )
+      {
+        QgsMapLayer *layer2 = mMapCanvas->getZpos(j);
+//        if ( !layer2->visible() ) continue;
+        if ( layer2->type() != QgsMapLayer::VECTOR ) continue;
+	      
+        QString layerId2 = layer2->getLayerID();
+        if( ! layerOn(layerId2) ) continue;
+	    
+        int group2 = layerGroup ( layerId2 );
+	    
+        QgsVectorLayer *vector = dynamic_cast <QgsVectorLayer*> (layer2);
+        const QgsRenderer *renderer = vector->renderer();
+
+        if ( (group > 0 && group2 == group) || ( group == 0 && j == i )  ) {
+          groupLayers.push_back(j);
+
+          QList<QgsSymbol*> symbols = renderer->symbols();
+
+          if ( sectionTitle.length() == 0 ) {
+            sectionTitle = layer2->name();
+          }        
+		  
+          if ( symbols.size() > sectionItemsCount ) {
+            sectionItemsCount = symbols.size();
+            itemHeights.resize(sectionItemsCount);
+            itemLabels.resize(sectionItemsCount); 
+          }
+
+          double widthScale = map->widthScale() * mComposition->scale();
+          if ( plotStyle() == QgsComposition::Preview && mPreviewMode == Render ) {
+            widthScale *= mComposition->viewScale();
+          }
+		
+          double scale = map->symbolScale() * mComposition->scale();
+
+          int icnt = 0;
+          for ( QList<QgsSymbol*>::iterator it = symbols.begin(); it != symbols.end(); ++it ) {
+		
+            QgsSymbol* sym = (*it);
+	      
+            // height
+            if ( itemHeights[icnt] < mSymbolHeight ) { // init first
+              itemHeights[icnt] = mSymbolHeight;
+            }
+
+            QPixmap pic = QPixmap::fromImage(sym->getPointSymbolAsImage(widthScale, false));
+
+            int h = (int) ( scale * pic.height() );
+            if ( h > itemHeights[icnt] ) {
+              itemHeights[icnt] = h;
+            }
+
+            if ( itemLabels[icnt].length() == 0 ) {
+              if ( sym->label().length() > 0 ) {
+		itemLabels[icnt] = sym->label();
+              } else {
+		itemLabels[icnt] = sym->lowerValue();
+                if (sym->upperValue().length() > 0)
+                  itemLabels[icnt] += " - " + sym->upperValue();
+              }
+            }
+		  
+            icnt++;
+          }
+        }
+      }
+      //std::cout << "group size = " << groupLayers.size() << std::endl;
+      //std::cout << "sectionItemsCount = " << sectionItemsCount << std::endl;
+
+
+      // Section title 
+      if ( sectionItemsCount > 1 )
+      {
+        height += mSymbolSpace;
+
+        x = (int) ( 2*mMargin );
+        y = (int) ( height + sectionMetrics.height() );
+        painter->setPen ( mPen );
+        painter->setFont ( sectionFont );
+
+        painter->drawText( x, y, sectionTitle );
+
+        int w = 3*mMargin + sectionMetrics.width( sectionTitle );
+        if ( w > width ) width = w;
+        height += sectionMetrics.height();
+        height += (int) (0.7*mSymbolSpace);
+      }
+
+
+      // Draw all layers in group 
+      int groupStartHeight = height;
+      for ( int j = groupLayers.size()-1; j >= 0; j-- )
+      {
+	    std::cout << "layer = " << groupLayers[j] << std::endl;
+
+	    int localHeight = groupStartHeight;
+	
+	    layer = mMapCanvas->getZpos(groupLayers[j]);
+	    QgsVectorLayer *vector = dynamic_cast <QgsVectorLayer*> (layer);
+	    const QgsRenderer *renderer = vector->renderer();
+
+	    // Get a list of the symbols from the renderer - some renderers can have several symbols
+	    QList<QgsSymbol*> symbols = renderer->symbols();
+
+
+	    int icnt = 0;
+	    for ( QList<QgsSymbol*>::iterator it = symbols.begin(); it != symbols.end(); ++it ) {
+          localHeight += mSymbolSpace;
+
+          int symbolHeight = itemHeights[icnt];
+          QgsSymbol* sym = (*it);
+	    
+          QPen pen = sym->pen();
+          double widthScale = map->widthScale();
+
+std::cout << "widthScale: " << widthScale << std::endl;
+
+          pen.setWidthF( ( widthScale * pen.widthF() ) );
+          painter->setPen ( pen );
+          painter->setBrush ( sym->brush() );
+	    
+          if ( vector->vectorType() == QGis::Point ) {
+            double scale = map->symbolScale();// * mComposition->scale();
+
+/*            if (plotStyle() != QgsComposition::Preview)
+            {
+              scale /= mComposition->viewScale();
+            }
+*/
+            // Get the picture of appropriate size directly from catalogue
+            QPixmap pic = QPixmap::fromImage(sym->getPointSymbolAsImage(widthScale,false,sym->color()));
+
+            painter->save();
+            painter->scale(scale,scale);
+            painter->drawPixmap ( static_cast<int>( (1.*mMargin+mSymbolWidth/2)/scale-pic.width()/2),
+                                  static_cast<int>( (1.*localHeight+symbolHeight/2)/scale-1.*pic.height()/2),
+                                  pic );
+            painter->restore();
+
+          } else if ( vector->vectorType() == QGis::Line ) {
+            painter->drawLine ( mMargin, localHeight+mSymbolHeight/2, 
+                                mMargin+mSymbolWidth, localHeight+mSymbolHeight/2 );
+          } else if ( vector->vectorType() == QGis::Polygon ) {
+            //pen.setWidth(0); //use a cosmetic pen to outline the fill box
+            pen.setCapStyle(Qt::FlatCap);
+            painter->setPen ( pen );
+            painter->drawRect ( mMargin, localHeight, mSymbolWidth, mSymbolHeight );
+          }
+
+          // Label 
+          painter->setPen ( mPen );
+          painter->setFont ( font );
+          QString lab;
+          if ( sectionItemsCount == 1 ) {
+            lab = sectionTitle;
+          } else { 
+            lab = itemLabels[icnt];
+          }
+	    
+          // drawText (x, y w, h, ...) was cutting last letter (the box was too small)
+          QRect br = metrics.boundingRect ( lab );
+          x = (int) ( 2*mMargin + mSymbolWidth );
+          y = (int) ( localHeight + symbolHeight/2 + ( metrics.height()/2 - metrics.descent()) );
+
+          painter->drawText( x, y, lab );
+
+          int w = 3*mMargin + mSymbolWidth + metrics.width(lab);
+          if ( w > width ) width = w;
+
+          localHeight += symbolHeight;
+          icnt++;
+
+	    }//End of iterating through the symbols in the renderer
+
+      }
+      // add height of section items to the total height
+      height = groupStartHeight;
+      for ( int j = 0; j < (int)itemHeights.size(); j++ ) {
+	    height += mSymbolSpace + itemHeights[j];
+      }
+      if ( sectionItemsCount > 1 ) { // add more space to separate section from next item
+        height += mSymbolSpace;
+      } 
+
+    }//End of iterating through the layers
+  }//END if(map)
+
+  height += mMargin;
+
+  if(mFrame)
+  {
+    QPen pen(QColor(0,0,0), 0.5);
+    painter->setPen( pen );
+    painter->setBrush( QBrush( QColor(255,255,255), Qt::NoBrush));
+    painter->setRenderHint(QPainter::Antialiasing, true);//turn on antialiasing
+    painter->drawRect ( 0, 0, width, height );
+  }
+
+    
+//  QGraphicsRectItem::setRect(0, 0, width, height); //BUG! - calling this causes a re-draw, which means we are continuously re-drawing.
+    
+  if ( !p ) {
+    delete painter;
+    delete pixmap;
+  }
+
+  return QRectF ( 0, 0, width, height);
+}
+
+void QgsComposerVectorLegend::cache ( void )
+{
+    std::cout << "QgsComposerVectorLegend::cache()" << std::endl;
+
+//typical boundingRect size is 15 units wide,
+    mCachePixmap.resize ((int)QGraphicsRectItem::rect().width(), (int)QGraphicsRectItem::rect().height() );
+
+
+    QPainter p(&mCachePixmap);
+    
+    mCachePixmap.fill(QColor(255,255,255));
+    render ( &p );
+    p.end();
+
+    mNumCachedLayers = mMapCanvas->layerCount();
+    mCacheUpdated = true;    
+}
+
+void QgsComposerVectorLegend::paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget )
+{
+#ifdef QGISDEBUG
+  std::cout << "paint mPlotStyle = " << plotStyle() << " mPreviewMode = " << mPreviewMode << std::endl;
+#endif
+
+  if ( plotStyle() == QgsComposition::Preview && mPreviewMode == Cache )
+  {
+    if ( !mCacheUpdated || mMapCanvas->layerCount() != mNumCachedLayers ) //If the cache is out of date, update it.
+    {
+      cache();
+    }
+    painter->drawPixmap(0,0, mCachePixmap);
+  }
+  else if(plotStyle() == QgsComposition::Preview && mPreviewMode == Rectangle)
+  {
+    QPen pen(QColor(0,0,0), 0.5);
+    painter->setPen( pen );
+    painter->setBrush( QBrush( QColor(255,255,255), Qt::NoBrush)); //use SolidPattern instead?
+    painter->drawRect(QRectF(0, 0, QGraphicsRectItem::rect().width(), QGraphicsRectItem::rect().height()));
+  }
+  else if ( (plotStyle() == QgsComposition::Preview && mPreviewMode == Render) || 
+              plotStyle() == QgsComposition::Print ||
+              plotStyle() == QgsComposition::Postscript ) 
+  //We're in render preview mode or printing, so do a full render of the legend. 
+  {
+    painter->save();
+    render(painter);
+    painter->restore();
+  }
+
+
+  // Draw the "selected highlight" boxes
+  if ( mSelected && plotStyle() == QgsComposition::Preview ) {
+
+    painter->setPen( mComposition->selectionPen() );
+    painter->setBrush( mComposition->selectionBrush() );
+  
+    double s = mComposition->selectionBoxSize();
+
+    painter->drawRect(QRectF(0, 0, s, s)); //top left
+    painter->drawRect(QRectF(QGraphicsRectItem::rect().width()-s, 0, s, s)); //top right
+    painter->drawRect(QRectF(QGraphicsRectItem::rect().width()-s, QGraphicsRectItem::rect().height()-s, s, s)); //bottom right
+    painter->drawRect(QRectF(0, QGraphicsRectItem::rect().height()-s, s, s)); //bottom left
+  }
+}
+
+void QgsComposerVectorLegend::on_mFontButton_clicked ( void ) 
+{
+  bool result;
+
+  mFont = QFontDialog::getFont(&result, mFont, this );
+
+  if ( result ) {
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    writeSettings();
+  }
+}
+
+void QgsComposerVectorLegend::on_mTitleLineEdit_returnPressed ( void )
+{
+    mTitle = mTitleLineEdit->text();
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    writeSettings();
+}
+
+void QgsComposerVectorLegend::on_mPreviewModeComboBox_activated ( int i )
+{
+    mPreviewMode = (PreviewMode) i;
+    std::cout << "mPreviewMode = " << mPreviewMode << std::endl;
+    writeSettings();
+}
+
+void QgsComposerVectorLegend::on_mMapComboBox_activated ( int i )
+{
+    mMap = mMaps[i];
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+    writeSettings();
+}
+
+void QgsComposerVectorLegend::mapChanged ( int id )
+{
+    if ( id != mMap ) return;
+
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+}
+
+void QgsComposerVectorLegend::on_mFrameCheckBox_stateChanged ( int )
+{
+    mFrame = mFrameCheckBox->isChecked();
+
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+
+    writeSettings();
+}
+
+void QgsComposerVectorLegend::recalculate ( void ) 
+{
+    std::cout << "QgsComposerVectorLegend::recalculate" << std::endl;
+    
+    // Recalculate sizes according to current font size
+    
+    // Title and section font 
+    mTitleFont = mFont;
+    mTitleFont.setPointSizeFloat ( 1.4 * mFont.pointSizeFloat());
+    mSectionFont = mFont;
+    mSectionFont.setPointSizeFloat ( 1.2 * mFont.pointSizeFloat() );
+    
+    std::cout << "font size = " << mFont.pointSizeFloat() << std::endl;
+    std::cout << "title font size = " << mTitleFont.pointSizeFloat() << std::endl;
+
+    // Font size in canvas units
+    float size = 25.4 * mComposition->scale() * mFont.pointSizeFloat() / 72;
+
+    mMargin = (int) ( 0.9 * size );
+    mSymbolHeight = (int) ( 1.3 * size );
+    mSymbolWidth = (int) ( 3.5 * size );
+    mSymbolSpace = (int) ( 0.4 * size );
+
+    std::cout << "mMargin = " << mMargin << " mSymbolHeight = " << mSymbolHeight
+              << "mSymbolWidth = " << mSymbolWidth << " mSymbolSpace = " << mSymbolSpace << std::endl;
+     
+    QRectF r = render(0);
+
+    QGraphicsRectItem::setRect(0, 0, r.width(), r.height() );
+    
+    mCacheUpdated = false;
+}
+
+void QgsComposerVectorLegend::setOptions ( void )
+{ 
+  mTitleLineEdit->setText( mTitle );
+    
+  // Maps
+  mMapComboBox->clear();
+  std::vector<QgsComposerMap*> maps = mComposition->maps();
+
+  mMaps.clear();
+    
+  bool found = false;
+  mMapComboBox->insertItem ( "", 0 );
+  mMaps.push_back ( 0 );
+  for ( int i = 0; i < (int)maps.size(); i++ ) {
+    mMapComboBox->insertItem ( maps[i]->name(), i+1 );
+    mMaps.push_back ( maps[i]->id() );
+
+    if ( maps[i]->id() == mMap ) {
+      found = true;
+      mMapComboBox->setCurrentItem ( i+1 );
+    }
+  }
+
+  if ( ! found ) {
+    mMap = 0;
+    mMapComboBox->setCurrentItem ( 0 );
+  }
+
+  mFrameCheckBox->setChecked ( mFrame );
+    
+  // Layers
+  mLayersListView->clear();
+
+  if ( mMap != 0 ) {
+    QgsComposerMap *map = mComposition->map ( mMap );
+
+    if ( map ) {
+      int nlayers = mMapCanvas->layerCount();
+      for ( int i = 0; i < nlayers; i++ ) {
+        QgsMapLayer *layer = mMapCanvas->getZpos(i);
+    
+//        if ( !layer->visible() ) continue;
+        //if ( layer->type() != QgsMapLayer::VECTOR ) continue;
+
+        Q3CheckListItem *li = new Q3CheckListItem ( mLayersListView, layer->name(), Q3CheckListItem::CheckBox );
+
+        QString id = layer->getLayerID();
+        li->setText(2, id );
+
+        li->setOn ( layerOn(id) );
+    
+        int group = layerGroup(id);
+        if ( group > 0 ) {
+          li->setText(1, QString::number(group) );
+        }
+
+        mLayersListView->insertItem ( li );
+      }
+    }
+  }
+
+  mPreviewModeComboBox->setCurrentItem( mPreviewMode );
+}
+
+void QgsComposerVectorLegend::setSelected (  bool s ) 
+{
+    mSelected = s;
+    QGraphicsRectItem::update(); // show highlight
+}    
+
+bool QgsComposerVectorLegend::selected( void )
+{
+    return mSelected;
+}
+
+void QgsComposerVectorLegend::showLayersPopupMenu ( Q3ListViewItem * lvi, const QPoint & pt, int )
+{
+    std::cout << "QgsComposerVectorLegend::showLayersPopupMenu" << std::endl;
+
+    mLayersPopupMenu->exec(pt);
+}
+
+bool QgsComposerVectorLegend::layerOn ( QString id ) 
+{
+  std::map<QString,bool>::iterator it = mLayersOn.find(id);
+
+  if(it != mLayersOn.end() ) {
+    return ( it->second );
+  }
+
+    return true;
+}
+
+void QgsComposerVectorLegend::setLayerOn ( QString id, bool on ) 
+{
+  std::map<QString,bool>::iterator it = mLayersOn.find(id);
+
+  if(it != mLayersOn.end() ) {
+    it->second = on;
+  } else {
+    mLayersOn.insert(std::make_pair(id,on));
+  }
+}
+
+int QgsComposerVectorLegend::layerGroup ( QString id ) 
+{
+  std::map<QString,int>::iterator it = mLayersGroups.find(id);
+
+  if(it != mLayersGroups.end() ) {
+    return ( it->second );
+  }
+
+  return 0;
+}
+
+void QgsComposerVectorLegend::setLayerGroup ( QString id, int group ) 
+{
+  std::map<QString,int>::iterator it = mLayersGroups.find(id);
+
+  if(it != mLayersGroups.end() ) {
+    it->second = group;
+  } else {
+    mLayersGroups.insert(std::make_pair(id,group));
+  }
+}
+
+void QgsComposerVectorLegend::layerChanged ( Q3ListViewItem *lvi )
+{
+    std::cout << "QgsComposerVectorLegend::layerChanged" << std::endl;
+
+    if ( lvi == 0 ) return; 
+    
+    QString id = lvi->text(2);
+    Q3CheckListItem *cli = dynamic_cast <Q3CheckListItem *>(lvi);
+    setLayerOn ( id, cli->isOn() );
+
+    writeSettings();
+
+    recalculate();
+    QGraphicsRectItem::update();
+    QGraphicsRectItem::scene()->update();
+}
+
+void QgsComposerVectorLegend::groupLayers ( void ) 
+{
+  std::cout << "QgsComposerVectorLegend::groupLayers" << std::endl;
+
+  Q3ListViewItemIterator it( mLayersListView );
+  int count = 0;
+  Q3ListViewItem *lastItem = NULL;
+  QString id;
+  while ( it.current() ) {
+    if ( it.current()->isSelected() ) {
+      std::cout << "selected: " << it.current()->text(0).toLocal8Bit().data() << " " << it.current()->text(2).toLocal8Bit().data() << std::endl;
+
+      id = it.current()->text(2);
+      setLayerGroup ( id, mNextLayerGroup );
+      it.current()->setText(1,QString::number(mNextLayerGroup) );
+      lastItem = it.current();
+      count++;
+    }
+    ++it;
+  }
+  if ( count == 1 ) { // one item only
+    setLayerGroup ( id, 0 );
+    lastItem->setText(1,"" );
+  }
+
+  std::cout << "Groups:" << std::endl;
+
+  for ( std::map<QString,int>::iterator it3 = mLayersGroups.begin(); it3 != mLayersGroups.end(); ++it3 ) {
+    std::cout << "layer: " << (it3->first).toLocal8Bit().data() << " group: " << it3->second << std::endl;
+  }
+    
+  mNextLayerGroup++;
+    
+  writeSettings();
+
+  recalculate();
+  QGraphicsRectItem::update();
+  QGraphicsRectItem::scene()->update();
+}    
+
+QWidget *QgsComposerVectorLegend::options ( void )
+{
+    setOptions ();
+    return ( dynamic_cast <QWidget *> (this) ); 
+}
+
+bool QgsComposerVectorLegend::writeSettings ( void )  
+{
+  std::cout << "QgsComposerVectorLegend::writeSettings" << std::endl;
+  QString path;
+  path.sprintf("/composition_%d/vectorlegend_%d/", mComposition->id(), mId ); 
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"x", mComposition->toMM((int)QGraphicsRectItem::x()) );
+  QgsProject::instance()->writeEntry( "Compositions", path+"y", mComposition->toMM((int)QGraphicsRectItem::y()) );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"map", mMap );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"title", mTitle );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"font/size", mFont.pointSize() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"font/family", mFont.family() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"font/weight", mFont.weight() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"font/underline", mFont.underline() );
+  QgsProject::instance()->writeEntry( "Compositions", path+"font/strikeout", mFont.strikeOut() );
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"frame", mFrame );
+
+  // Layers: remove all, write new
+  path.sprintf("/composition_%d/vectorlegend_%d/layers/", mComposition->id(), mId ); 
+  QgsProject::instance()->removeEntry ( "Compositions", path );
+    
+  if ( mMap != 0 ) {
+    QgsComposerMap *map = mComposition->map ( mMap );
+
+    if ( map ) {
+      int nlayers = mMapCanvas->layerCount();
+      for ( int i = 0; i < nlayers; i++ ) {
+        QgsMapLayer *layer = mMapCanvas->getZpos(i);
+    
+//        if ( !layer->visible() ) continue;
+
+        QString id = layer->getLayerID();
+        path.sprintf("/composition_%d/vectorlegend_%d/layers/layer_%s/", mComposition->id(), mId, id.toLocal8Bit().data() ); 
+        QgsProject::instance()->writeEntry( "Compositions", path+"on", layerOn(id) );
+        QgsProject::instance()->writeEntry( "Compositions", path+"group", layerGroup(id) );
+      }
+    }
+  }
+
+  QgsProject::instance()->writeEntry( "Compositions", path+"previewmode", mPreviewMode );
+    
+  return true; 
+}
+
+bool QgsComposerVectorLegend::readSettings ( void )
+{
+  bool ok;
+  QString path;
+  path.sprintf("/composition_%d/vectorlegend_%d/", mComposition->id(), mId );
+
+  double x = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"x", 0, &ok));
+  double y = mComposition->fromMM(QgsProject::instance()->readDoubleEntry( "Compositions", path+"y", 0, &ok));
+
+  QGraphicsRectItem::setPos(x, y);
+
+  mMap = QgsProject::instance()->readNumEntry("Compositions", path+"map", 0, &ok);
+  mTitle = QgsProject::instance()->readEntry("Compositions", path+"title", "???", &ok);
+     
+  mFont.setFamily ( QgsProject::instance()->readEntry("Compositions", path+"font/family", "", &ok) );
+  mFont.setPointSize ( QgsProject::instance()->readNumEntry("Compositions", path+"font/size", 10, &ok) );
+  mFont.setWeight(  QgsProject::instance()->readNumEntry("Compositions", path+"font/weight", (int)QFont::Normal, &ok) );
+  mFont.setUnderline(  QgsProject::instance()->readBoolEntry("Compositions", path+"font/underline", false, &ok) );
+  mFont.setStrikeOut(  QgsProject::instance()->readBoolEntry("Compositions", path+"font/strikeout", false, &ok) );
+
+  mFrame = QgsProject::instance()->readBoolEntry("Compositions", path+"frame", true, &ok);
+
+  // Preview mode
+  mPreviewMode = (PreviewMode) QgsProject::instance()->readNumEntry("Compositions", path+"previewmode", Render, &ok);
+    
+  // Layers
+  path.sprintf("/composition_%d/vectorlegend_%d/layers/", mComposition->id(), mId );
+  QStringList el = QgsProject::instance()->subkeyList ( "Compositions", path );
+    
+  for ( QStringList::iterator it = el.begin(); it != el.end(); ++it ) {
+    int idx = (*it).find('_');
+
+    QString id = (*it).right( (*it).length() - (idx+1) );
+  
+    path.sprintf("/composition_%d/vectorlegend_%d/layers/layer_%s/", mComposition->id(), mId, id.toLocal8Bit().data() );
+    bool on = QgsProject::instance()->readBoolEntry("Compositions", path+"on", true, &ok);
+    int group = QgsProject::instance()->readNumEntry("Compositions", path+"group", 0, &ok);
+    setLayerOn ( id , on );
+    setLayerGroup ( id, group );
+
+    if ( group >= mNextLayerGroup ) mNextLayerGroup = group+1;
+  }
+    
+    
+  recalculate();
+    
+  return true;
+}
+
+bool QgsComposerVectorLegend::removeSettings( void )
+{
+    std::cerr << "QgsComposerVectorLegend::deleteSettings" << std::endl;
+
+    QString path;
+    path.sprintf("/composition_%d/vectorlegend_%d", mComposition->id(), mId ); 
+    return QgsProject::instance()->removeEntry ( "Compositions", path );
+}
+
+bool QgsComposerVectorLegend::writeXML( QDomNode & node, QDomDocument & document, bool temp )
+{
+    return true;
+}
+
+bool QgsComposerVectorLegend::readXML( QDomNode & node )
+{
+    return true;
+}

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposervectorlegend.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,224 @@
+/***************************************************************************
+                         qgscomposervectorlegend.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSERVECTORLEGEND_H
+#define QGSCOMPOSERVECTORLEGEND_H
+
+/*           
+ *                    |<>| - mMargin         
+ *           
+ *                    +----------------------+
+ *                    |                      |        
+ *                    |    Legend Title      |
+ *                    |                      |
+ *                    |  Section             |
+ *                    |                      |
+ *                --  |  +-----+             |  __ 
+ *  mSymbolHeight |   |  |     | Item Label  |  __| - mFont->pointSize()
+ *                --  |  +-----+             |  --          
+ *                    |                      |    | - mSymbolSpace (vertical space between symbo, boxes)
+ *                    |  +-----+             |  --
+ *                    |  |     | Item Label  |
+ *                    |  +-----+             |            
+ *                    |                      |
+ *                    +----------------------+
+ *
+ *                             
+ *                       |<--->| - mSymbolWidth (lines and areas)
+ *                   
+ */ 
+ 
+#include "ui_qgscomposervectorlegendbase.h"
+#include "qgscomposeritem.h"
+
+#include <QAbstractGraphicsShapeItem>
+#include <QPen>
+#include <QPixmap>
+#include <map>
+
+class QgsComposition;
+class QgsMapCanvas;
+class QDomNode;
+class QDomDocument;
+class QFont;
+class QPainter;
+class QPen;
+class Q3PopupMenu;
+class QRect;
+
+/** \class QgsComposerVectorLegend 
+ *  \brief Object representing map window. 
+ */
+// NOTE: QgsComposerVectorLegendBase must be first, otherwise does not compile
+class QgsComposerVectorLegend : public QWidget,
+                                private Ui::QgsComposerVectorLegendBase, 
+                                public QGraphicsRectItem, 
+                                public QgsComposerItem
+{
+    Q_OBJECT
+
+public:
+    /** \brief Constructor  
+     *  \param id object id
+     *  \param fontSize font size in typographic points!
+     */
+    QgsComposerVectorLegend( QgsComposition *composition, int id, int x, int y, int fontSize = 0 );
+
+    /** \brief Constructor. Settings are read from project. 
+     *  \param id object id
+     */
+    QgsComposerVectorLegend( QgsComposition *composition, int id );
+    ~QgsComposerVectorLegend();
+
+    /** \brief Preview style  */
+    enum PreviewMode {
+	Cache = 0,   // Use raster cache 
+	Render,      // Render the map
+	Rectangle    // Display only rectangle
+    };
+
+    /** \brief Initialise GUI etc., share by constructors. */
+    void init(void);
+
+    // Reimplement QgsComposerItem:
+    void setSelected( bool s );
+    bool selected( void );
+    QWidget *options ( void );
+    bool writeSettings ( void );
+    bool readSettings ( void );
+    bool removeSettings ( void );
+    bool writeXML( QDomNode & node, QDomDocument & document, bool temp = false );
+    bool readXML( QDomNode & node );
+     
+    /** \brief Draw to paint device, internal use 
+     *  \param painter painter or 0
+     *  \return bounding box 
+     */
+    QRectF render (QPainter *painter);
+
+    /** \brief Reimplementation of QCanvasItem::paint - draw on canvas */
+    void paint ( QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
+    
+    /** \brief Calculate size according to current settings */
+    void recalculate ( void );
+    
+    /** \brief Create cache image */
+    void cache ( void );
+
+    /** \brief Set values in GUI to current values */
+    void setOptions ( void );
+
+    /** \brief Is layer on/off ? */
+    bool layerOn ( QString id );
+
+    /** \brief set layer on/off */
+    void setLayerOn ( QString id, bool on );
+
+    /** \brief get layer group, 0 == no group */
+    int layerGroup ( QString id );
+
+    /** \brief set layer group, 0 == no group */
+    void setLayerGroup ( QString id, int group );
+
+public slots:
+    // Open font dialog
+    void on_mFontButton_clicked ( void );
+
+    // Title changed
+    void on_mTitleLineEdit_returnPressed ( void );
+    
+    // Called by GUI if preview style was changed
+    void on_mPreviewModeComboBox_activated ( int i );
+
+    // Called by GUI when map selection changed
+    void on_mMapComboBox_activated ( int i );
+
+    // Called when map was changed
+    void mapChanged ( int id );
+
+    // Show popup menu
+    void showLayersPopupMenu ( Q3ListViewItem * lvi, const QPoint & pt, int );
+
+    // Layer status changed
+    void layerChanged ( Q3ListViewItem *lvi );
+
+    // Combine selected layers
+    void groupLayers( void );
+
+    // Frame settings changed
+    void on_mFrameCheckBox_stateChanged ( int i );
+
+private:
+    // Pointer to composition
+    QgsComposition *mComposition;
+    
+    // Pointer to map canvas
+    QgsMapCanvas *mMapCanvas;
+    
+    // Composer map id or 0
+    int mMap;
+
+    // Vector of map id for maps in combobox
+    std::vector<int> mMaps;
+
+    // Title 
+    QString mTitle;
+
+    // Font. Font size in typographic points!
+    QFont mTitleFont;
+    QFont mSectionFont;
+    QFont mFont;
+
+    // Pen
+    QPen  mPen;
+
+    int mMargin;
+    int mSymbolHeight;
+    int mSymbolWidth;
+    int mSymbolSpace;
+
+    // Cache used in composer preview
+    // NOTE:  QCanvasView is slow with bigger images but the spped does not decrease with image size.
+    //        It is very slow, with zoom in in QCanvasView, it seems, that QCanvas is stored as a big image
+    //        with resolution necessary for current zoom and so always a big image mus be redrawn. 
+    QPixmap mCachePixmap; 
+
+    // Is cache up to date
+    bool mCacheUpdated;
+    
+    /** \brief Preview style  */
+    PreviewMode mPreviewMode;
+
+    /** \brief Number of layers when cache was created  */
+    int mNumCachedLayers;
+
+    /** \brief Keeps info if the layer is on or off */
+    std::map<QString,bool> mLayersOn;
+
+    /** \brief layer groups */
+    std::map<QString,int> mLayersGroups;
+
+    /** \brief new layer group id */
+    int mNextLayerGroup;
+
+    /** \brief Layers list popup menu */
+    Q3PopupMenu *mLayersPopupMenu;
+
+    /** \brief Draw frame  */
+    bool mFrame;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,79 @@
+/***************************************************************************
+                         qgscomposerview.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include <iostream>
+
+#include <QMatrix>
+#include <QEvent>
+#include <QMouseEvent>
+#include <QKeyEvent>
+
+#include "qgsrect.h"
+#include "qgscomposer.h"
+#include "qgscomposeritem.h"
+#include "qgscomposerview.h"
+#include "qgscomposermap.h"
+
+// Note: |WRepaintNoErase|WResizeNoErase|WStaticContents doeen't make it faster
+QgsComposerView::QgsComposerView( QgsComposer *composer, QWidget* parent, const char* name, Qt::WFlags f) :
+                                  QGraphicsView(parent)
+//,name,f|Qt::WNoAutoErase|Qt::WResizeNoErase|Qt::WStaticContents
+{
+    mComposer = composer;
+
+    // TODO: nothing doe work -> necessary to call setFocus ()
+    setEnabled ( true );
+    setFocusPolicy ( Qt::StrongFocus );
+    setFocusProxy ( 0 );
+
+    setResizeAnchor ( QGraphicsView::AnchorViewCenter );
+
+}
+
+void QgsComposerView::mousePressEvent(QMouseEvent* e)
+{
+    // TODO: find how to get focus without setFocus
+    setFocus ();
+    mComposer->composition()->mousePressEvent(e);
+}
+
+void QgsComposerView::mouseReleaseEvent(QMouseEvent* e)
+{
+    mComposer->composition()->mouseReleaseEvent(e);
+}
+
+void QgsComposerView::mouseMoveEvent(QMouseEvent* e)
+{
+    mComposer->composition()->mouseMoveEvent(e);
+}
+
+void QgsComposerView::keyPressEvent ( QKeyEvent * e )
+{
+    mComposer->composition()->keyPressEvent ( e );
+}
+
+void QgsComposerView::resizeEvent ( QResizeEvent *  )
+{
+/* BUG: When QT adds scrollbars because we're zooming in, it causes a resizeEvent.
+ *  If we call zoomFull(), we reset the view size, which keeps us from zooming in.
+ *  Really, we should do something like re-center the window.
+*/
+    //mComposer->zoomFull();
+std::cout << "resize anchor: " << resizeAnchor() << std::endl;
+}
+
+//TODO: add mouse wheel event forwarding
+

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposerview.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,49 @@
+/***************************************************************************
+                         qgscomposerview.h
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscomposerview.h 7072 2007-07-16 18:40:59Z timlinux $ */
+#ifndef QGSCOMPOSERVIEW_H
+#define QGSCOMPOSERVIEW_H
+
+
+#include <QGraphicsScene>
+#include <QGraphicsView>
+
+class QgsComposer;
+class QKeyEvent;
+class QMouseEvent;
+
+class QgsComposerView: public QGraphicsView
+{
+    Q_OBJECT
+	
+public:
+    QgsComposerView (QgsComposer *composer, QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
+
+protected:
+    void mousePressEvent(QMouseEvent*);
+    void mouseReleaseEvent(QMouseEvent*);
+    void mouseMoveEvent(QMouseEvent*);
+
+    void keyPressEvent ( QKeyEvent * e );
+    void resizeEvent ( QResizeEvent *  );
+
+private:
+    QgsComposer *mComposer;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,964 @@
+/***************************************************************************
+                              qgscomposition.cpp
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgscomposition.h"
+
+#include "qgscomposer.h"
+#include "qgscomposeritem.h"
+#include "qgscomposerlabel.h"
+
+#include "qgscomposermap.h"
+#include "qgscomposerpicture.h"
+#include "qgscomposerscalebar.h"
+#include "qgscomposervectorlegend.h"
+
+#include "qgscomposerview.h"
+#include "qgsmapcanvas.h"
+#include "qgsproject.h"
+
+#include <QGraphicsRectItem>
+#include <QMatrix>
+#include <QMessageBox>
+
+#include <iostream>
+#include <math.h>
+
+QgsCompositionPaper::QgsCompositionPaper ( QString name, int w, int h, bool c) 
+  :mName(name), mWidth(w), mHeight(h), mCustom(c)
+{
+}
+
+QgsCompositionPaper::~QgsCompositionPaper ( )
+{
+}
+
+
+QgsComposition::QgsComposition( QgsComposer *c, int id ) 
+{
+  setupUi(this);
+  connect(mPaperWidthLineEdit, SIGNAL(returnPressed()), this, SLOT(paperSizeChanged()));
+  connect(mPaperHeightLineEdit, SIGNAL(returnPressed()), this, SLOT(paperSizeChanged()));
+  connect(mPaperOrientationComboBox, SIGNAL(activated(int)), this, SLOT(paperSizeChanged()));
+  connect(mPaperSizeComboBox, SIGNAL(activated(int)), this, SLOT(paperSizeChanged()));
+  connect(mResolutionLineEdit, SIGNAL(returnPressed()), this, SLOT(resolutionChanged()));
+
+#ifdef QGISDEBUG
+  std::cerr << "QgsComposition::QgsComposition()" << std::endl;
+#endif
+
+  mId = id;
+  mNextItemId = 1;
+  mCanvas = 0;
+  mPaperItem = 0;
+
+  mComposer = c;
+  mMapCanvas = c->mapCanvas();
+  mView = c->view();
+  mSelectedItem = 0;
+  mPlotStyle = Preview;
+  
+  // Attention: Qt4.1 writes line width to PS/PDF still as integer 
+  // (using QPen->width() to get the value) so we MUST use mScale > 1
+  
+  // Note: It seems that Qt4.2 is using widthF so that we can set mScale to 1
+  //       and hopefuly we can remove mScale completely
+
+  // Note: scale 10 make it inacceptable slow: QgsComposerMap 900x900mm on paper 1500x1000
+  //          cannot be smoothly moved even if mPreviewMode == Rectangle and no zoom in
+  //       scale 2 results in minimum line width 0.5 mmm which is too much
+  mScale = 1;
+
+  // Add paper sizes and set default. 
+  mPapers.push_back ( QgsCompositionPaper( tr("Custom"), 0, 0, 1 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A5 (148x210 mm)"), 148, 210 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A4 (210x297 mm)"), 210, 297 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A3 (297x420 mm)"), 297, 420 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A2 (420x594 mm)"), 420, 594 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A1 (594x841 mm)"), 594, 841 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("A0 (841x1189 mm)"), 841, 1189 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B5 (176 x 250 mm)"), 176, 250 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B4 (250 x 353 mm)"), 250, 353 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B3 (353 x 500 mm)"), 353, 500 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B2 (500 x 707 mm)"), 500, 707 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B1 (707 x 1000 mm)"), 707, 1000 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("B0 (1000 x 1414 mm)"), 1000, 1414 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("Letter (8.5x11 inches)"),  216, 279 ) );
+  mPapers.push_back ( QgsCompositionPaper( tr("Legal (8.5x14 inches)"), 216, 356 ) );
+
+  mPaper = mDefaultPaper = mCustomPaper = 0;
+  for( int i = 0; i < (int)mPapers.size(); i++ ) {
+    mPaperSizeComboBox->insertItem( mPapers[i].mName );
+    // Map - A4 land for now, if future read from template
+    if ( mPapers[i].mWidth == 210 && mPapers[i].mHeight == 297 ){
+      mDefaultPaper = i;
+    }
+    if ( mPapers[i].mCustom ) mCustomPaper = i;
+  }
+
+  // Orientation
+  mPaperOrientationComboBox->insertItem( tr("Portrait"), Portrait );
+  mPaperOrientationComboBox->insertItem( tr("Landscape"), Landscape );
+  mPaperOrientation = Landscape;
+
+  mPaperUnitsComboBox->insertItem( "mm" );
+
+  // Create canvas 
+  mPaperWidth = 1;
+  mPaperHeight = 1;
+  createCanvas();
+
+  // Tool
+  mRectangleItem = 0;
+  mNewCanvasItem = 0;
+  mTool = Select;
+  mToolStep = 0;
+}
+
+void QgsComposition::createDefault(void) 
+{
+  mPaperSizeComboBox->setCurrentItem(mDefaultPaper);
+  mPaperOrientationComboBox->setCurrentItem(Landscape);
+
+  mUserPaperWidth = mPapers[mDefaultPaper].mWidth;
+  mUserPaperHeight = mPapers[mDefaultPaper].mHeight;
+
+  recalculate();
+
+  mResolution = 300;
+
+  setOptions();
+
+  // Add the map to composition
+  /*
+     QgsComposerMap *m = new QgsComposerMap ( this, mNextItemId++, 
+     mScale*15, mScale*15, mScale*180, mScale*180 );
+     mItems.push_back(m);
+     */
+
+  // Add vector legend
+  /*
+     QgsComposerVectorLegend *vl = new QgsComposerVectorLegend ( this, mNextItemId++, 
+     mScale*210, mScale*100, 10 );
+     mItems.push_back(vl);
+     */
+
+  // Title
+  /*
+     QgsComposerLabel *tit = new QgsComposerLabel ( this, mNextItemId++, 
+     mScale*238, mScale*40, "Map", 24 );
+     mItems.push_back(tit);
+     */
+
+  // Tool
+  mRectangleItem = 0;
+  mNewCanvasItem = 0;
+  mTool = Select;
+  mToolStep = 0;
+
+  writeSettings();
+}
+
+void QgsComposition::createCanvas(void) 
+{
+  if ( mCanvas ) delete mCanvas;
+
+  mCanvas = new QGraphicsScene (0, 0, (int) mPaperWidth, (int) mPaperHeight);//top, left, width, height
+  mCanvas->setBackgroundBrush( QColor(180,180,180) );
+
+  // Paper
+  if ( mPaperItem ) delete mPaperItem;
+  mPaperItem = new QGraphicsRectItem( 0, 0, (int) mPaperWidth, (int) mPaperHeight, mPaperItem, mCanvas );
+
+  mPaperItem->setBrush( QColor(255,255,255) );
+  mPaperItem->setPen( QPen(QColor(0,0,0), 0) ); // 0 line width makes it use a cosmetic pen - 1px, regardless of scale.
+  mPaperItem->setZValue(0);
+  mPaperItem->show();
+}
+
+void QgsComposition::resizeCanvas(void) 
+{
+  mCanvas->setSceneRect(0, 0, (int) mPaperWidth * mScale, (int) mPaperHeight * mScale );
+#ifdef QGISDEBUG
+  std::cout << "mCanvas width = " << mCanvas->width() << " height = " << mCanvas->height() << std::endl;
+#endif
+  mPaperItem->setRect(QRectF(0, 0, (int) mPaperWidth * mScale, (int) mPaperHeight * mScale ));
+}
+
+QgsComposition::~QgsComposition()
+{
+#ifdef QGISDEBUG
+  std::cerr << "QgsComposition::~QgsComposition" << std::endl;
+#endif
+  mView->setScene ( 0 );
+
+  if ( mPaperItem ) delete mPaperItem;
+
+  for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); 
+      it != mItems.end(); ++it) 
+  {
+    delete *it;
+  }
+
+  if ( mCanvas ) delete mCanvas;
+}
+
+QgsMapCanvas *QgsComposition::mapCanvas(void) { return mMapCanvas; }
+
+void QgsComposition::setActive (  bool active )
+{
+  if ( active ) {
+    mView->setScene ( mCanvas );
+    mComposer->showCompositionOptions ( this );
+  } else {
+    // TODO
+  }
+}
+
+void QgsComposition::mousePressEvent(QMouseEvent* e)
+{
+#ifdef QGISDEBUG
+  std::cerr << "QgsComposition::mousePressEvent() mTool = " << mTool << " mToolStep = "
+    << mToolStep << std::endl;
+#endif
+
+  QPointF p = mView->mapToScene(e->pos());
+
+//  mGrabPoint = mCanvas.mapToItem(p);
+
+  switch ( mTool ) {
+    case Select:
+      {
+
+        QGraphicsItem* newItem = 0;
+        newItem = mCanvas->itemAt(p);
+        if(newItem == mPaperItem) //ignore clicks on the paper
+        {
+	      newItem = 0;
+        }
+
+//what is this doing?  Grabbing the first item in the list?
+/*
+        QList<QGraphicsItem*> l = mCanvas->items(p);
+        for ( QList<QGraphicsItem*>::Iterator it=l.fromLast(); it!=l.end(); --it) {
+          if (! (*it)->isActive() ) continue;
+          newItem = *it;
+        }
+*/
+
+        if ( newItem ) { // found
+          mGrabPoint = newItem->mapFromScene(p);
+          if ( newItem != mSelectedItem ) { // Show options
+
+            if ( mSelectedItem ) {
+              QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+              coi->setSelected ( false );
+            }
+
+            QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (newItem);
+            coi->setSelected ( true );
+
+            mComposer->showItemOptions ( coi->options() );
+            mSelectedItem = newItem;
+          }
+        } else { // not found
+          if ( mSelectedItem ) {
+            QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+            coi->setSelected ( false );
+          }
+          mSelectedItem = 0;
+          mComposer->showItemOptions ( (QWidget *) 0 ); // hide old options
+        }
+        mCanvas->update();
+      }
+      break;
+
+    case AddMap:
+
+#ifdef QGISDEBUG
+      std::cerr << "AddMap" << std::endl;
+#endif
+      if ( mToolStep == 0 ) {
+        mRectangleItem = new QGraphicsRectItem( p.x(), p.y(), 0, 0, 0, mCanvas );//null parent
+        mRectangleItem->setBrush( Qt::NoBrush );
+        mRectangleItem->setPen( QPen(QColor(0,0,0), 0) );
+        mRectangleItem->setZValue(100);
+        //mRectangleItem->setActive(false);
+        mRectangleItem->show();
+        mToolStep = 1;
+      }
+#ifdef QGISDEBUG
+      std::cerr << "mToolStep = " << mToolStep << std::endl;
+#endif
+      break;
+
+    case AddVectorLegend:
+      {
+        mNewCanvasItem->setPos(p);
+        QgsComposerVectorLegend *vl = dynamic_cast <QgsComposerVectorLegend*> (mNewCanvasItem);
+        vl->writeSettings();
+        mItems.push_back(vl);
+        mNewCanvasItem = 0;
+        mComposer->selectItem(); // usually just one legend
+
+        // Select and show options
+        vl->setSelected ( true );
+        mComposer->showItemOptions ( vl->options() );
+        mSelectedItem = dynamic_cast <QGraphicsItem*> (vl);
+
+        mCanvas->update();
+      }
+      break;
+
+    case AddLabel:
+      {
+        mNewCanvasItem->setPos(p);
+
+        QgsComposerLabel *lab = dynamic_cast <QgsComposerLabel*> (mNewCanvasItem);
+        lab->writeSettings();
+        mItems.push_back(lab);
+        mNewCanvasItem = 0;
+        mComposer->selectItem(); // usually just one ???
+
+        // Select and show options
+        lab->setSelected ( true );
+        mComposer->showItemOptions ( lab->options() );
+        mSelectedItem = dynamic_cast <QGraphicsItem*> (lab);
+
+        mCanvas->update();
+      }
+      break;
+
+    case AddScalebar:
+      {
+        mNewCanvasItem->setPos(p);
+        QgsComposerScalebar *sb = dynamic_cast <QgsComposerScalebar*> (mNewCanvasItem);
+        sb->writeSettings();
+        mItems.push_back(sb);
+        mNewCanvasItem = 0;
+        mComposer->selectItem(); // usually just one ???
+
+        // Select and show options
+        sb->setSelected ( true );
+        mComposer->showItemOptions ( sb->options() );
+        mSelectedItem = dynamic_cast <QGraphicsItem*> (sb);
+
+        mCanvas->update();
+      }
+      break;
+
+    case AddPicture:
+      {
+        //set up the bounding rectangle
+        //note: this rectangle gets used to keep track of the beginning click point for a picture
+        mRectangleItem = new QGraphicsRectItem( p.x(), p.y(), 0, 0, 0, mCanvas );//null parent
+        mRectangleItem->setBrush( Qt::NoBrush );
+        mRectangleItem->setPen( QPen(QColor(0,0,0), 0, Qt::DashLine) );
+        mRectangleItem->setZValue(100);
+        mRectangleItem->show();
+
+
+        mNewCanvasItem->setPos(p);
+
+        QgsComposerPicture *pi = dynamic_cast <QgsComposerPicture*> (mNewCanvasItem);
+
+        pi->setSize( 0, 0 );
+
+        mCanvas->update();
+
+        mToolStep = 1;
+      }
+      break;
+ }
+}
+
+void QgsComposition::mouseMoveEvent(QMouseEvent* e)
+{
+#ifdef QGISDEBUG
+#endif
+  std::cerr << "QgsComposition::mouseMoveEvent() mTool = " << mTool << " mToolStep = "
+    << mToolStep << std::endl;
+
+
+  QPointF p = mView->mapToScene(e->pos());
+
+  switch ( mTool ) {
+    case Select:
+      if ( mSelectedItem ) {
+        mSelectedItem->setPos(p - mGrabPoint);
+        mCanvas->update();
+      }
+      break;
+
+    case AddMap:
+      if ( mToolStep == 1 ) // draw rectangle while dragging
+      {
+        double x, y;
+        double w, h;
+
+        x = p.x() < mRectangleItem->x() ? p.x() : mRectangleItem->rect().x();
+        y = p.y() < mRectangleItem->y() ? p.y() : mRectangleItem->rect().y();
+
+        w = fabs ( p.x() - mRectangleItem->rect().x() );
+        h = fabs ( p.y() - mRectangleItem->rect().y() );
+
+        mRectangleItem->setRect(QRectF(x, y, w, h));
+
+        mCanvas->update();
+      }//END if(mToolStep == 1)
+      break;
+
+    case AddPicture:
+      if ( mToolStep == 1 )
+      {
+        QgsComposerPicture *pi = dynamic_cast <QgsComposerPicture*> (mNewCanvasItem);
+
+        double x, y;
+        double w, h;
+
+        x = p.x() < mRectangleItem->x() ? p.x() : mRectangleItem->rect().x();
+        y = p.y() < mRectangleItem->y() ? p.y() : mRectangleItem->rect().y();
+
+        w = fabs ( p.x() - mRectangleItem->rect().x() );
+        h = fabs ( p.y() - mRectangleItem->rect().y() );
+
+        pi->setPos(x + w/2, y + h/2);
+        pi->setSize(w, h);
+
+        mRectangleItem->setRect(QRectF(x, y, w, h));
+
+        mCanvas->update();
+      }//END if(mToolStep == 1)
+      break;
+
+    case AddScalebar:
+    case AddVectorLegend:
+    case AddLabel:
+
+      mNewCanvasItem->setPos(p);
+      mCanvas->update();
+      break;
+
+  }
+}
+
+void QgsComposition::mouseReleaseEvent(QMouseEvent* e)
+{
+#ifdef QGISDEBUG
+  std::cerr << "QgsComposition::mouseReleaseEvent() mTool = " << mTool 
+    << " mToolStep = " << mToolStep << std::endl;
+#endif
+
+  QPoint p = mView->mapFromScene(e->pos());
+
+  switch ( mTool ) {
+    case AddMap: // mToolStep should be always 1 but rectangle can be 0 size
+      {
+        int x = (int) mRectangleItem->rect().x();//use doubles?
+        int y = (int) mRectangleItem->rect().y();
+        int w = (int)mRectangleItem->rect().width();
+        int h = (int)mRectangleItem->rect().height();
+        delete mRectangleItem;
+        mRectangleItem = 0;
+
+        if ( w > 0 && h > 0 ) {
+          mComposer->selectItem(); // usually just one map
+
+          QgsComposerMap *m = new QgsComposerMap ( this, mNextItemId++, x, y, w, h );
+
+          m->setPos(x, y);
+
+          m->setUserExtent( mMapCanvas->extent());
+          mItems.push_back(m);
+          m->setSelected ( true );//do we need this twice?
+
+          if ( mSelectedItem ) {
+            QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+            coi->setSelected ( false );
+          }
+
+          m->setSelected ( true );
+          mComposer->showItemOptions ( m->options() );
+          mSelectedItem = dynamic_cast <QGraphicsItem *> (m);
+        } else {
+          mToolStep = 0;
+        }
+        mCanvas->update();
+      }
+      break;
+
+    case AddPicture:
+      {
+        double w = mRectangleItem->rect().width();
+        double h = mRectangleItem->rect().height();
+        delete mRectangleItem;
+        mRectangleItem = 0;
+
+        QgsComposerPicture *pi = dynamic_cast <QgsComposerPicture*> (mNewCanvasItem);
+
+        if ( w > 0 && h > 0 )
+        {
+	      mNewCanvasItem = 0; // !!! Must be before mComposer->selectItem()
+	      mComposer->selectItem(); // usually just one ???
+
+          pi->writeSettings();
+          mItems.push_back(pi);
+
+          pi->setSelected ( true );
+          mComposer->showItemOptions ( pi->options() );
+          mSelectedItem = dynamic_cast <QGraphicsItem*> (pi);
+
+          mCanvas->update();
+
+        } else {
+            mToolStep = 0;
+        }
+      }
+      break;
+
+    case Select:
+      if ( mSelectedItem ) {
+        // the object was probably moved
+        QgsComposerItem *ci = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+        ci->writeSettings();
+      }
+      break;
+
+    //We don't do anything special for labels, scalebars, or vector legends
+    case AddLabel:
+    case AddScalebar:
+    case AddVectorLegend:
+      break;
+
+  }
+}
+
+void QgsComposition::keyPressEvent ( QKeyEvent * e )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposition::keyPressEvent() key = " << e->key() << std::endl;
+#endif
+
+  if ( e->key() == Qt::Key_Delete && mSelectedItem ) { // delete
+
+    QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+    coi->setSelected ( false );
+    coi->removeSettings();
+    for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); 
+        it != mItems.end(); ++it) 
+    {
+      if ( (*it) == coi ) {
+        mItems.erase ( it );
+        break;
+      }
+    }
+    delete (mSelectedItem);
+    mSelectedItem = 0;
+    mCanvas->update();
+  }
+}
+
+void QgsComposition::paperSizeChanged ( void )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposition::paperSizeChanged" << std::endl;
+#endif
+
+  mPaper = mPaperSizeComboBox->currentItem();
+  mPaperOrientation = mPaperOrientationComboBox->currentItem();
+#ifdef QGISDEBUG
+  std::cout << "custom = " << mPapers[mPaper].mCustom << std::endl;
+  std::cout << "orientation = " << mPaperOrientation << std::endl;
+#endif
+  if ( mPapers[mPaper].mCustom ) {
+    mUserPaperWidth = mPaperWidthLineEdit->text().toDouble();
+    mUserPaperHeight = mPaperHeightLineEdit->text().toDouble();
+    mPaperWidthLineEdit->setEnabled( TRUE );
+    mPaperHeightLineEdit->setEnabled( TRUE );
+  } else {
+    mUserPaperWidth = mPapers[mPaper].mWidth;
+    mUserPaperHeight = mPapers[mPaper].mHeight;
+    mPaperWidthLineEdit->setEnabled( FALSE );
+    mPaperHeightLineEdit->setEnabled( FALSE );
+    setOptions();
+  }
+
+  try
+  {
+    recalculate();
+  }
+  catch (std::bad_alloc& ba)
+  {
+    // A better solution here would be to set the canvas back to the
+    // original size and carry on, but for the moment this will
+    // prevent a crash due to an uncaught exception.
+    QMessageBox::critical( 0, tr("Out of memory"),
+                           tr("Qgis is unable to resize the paper size due to "
+                              "insufficient memory.\n It is best that you avoid "
+                              "using the map composer until you restart qgis.\n") );
+  }
+
+//  mView->repaintContents(); //just repaint();?
+  writeSettings();
+}
+
+void QgsComposition::recalculate ( void ) 
+{
+  if ( (mPaperOrientation == Portrait &&  mUserPaperWidth < mUserPaperHeight) ||
+      (mPaperOrientation == Landscape &&  mUserPaperWidth > mUserPaperHeight) ) 
+  {
+    mPaperWidth = mUserPaperWidth;
+    mPaperHeight = mUserPaperHeight;
+  } else {
+    mPaperWidth = mUserPaperHeight;
+    mPaperHeight = mUserPaperWidth;
+  }
+#ifdef QGISDEBUG
+  std::cout << "mPaperWidth = " << mPaperWidth << " mPaperHeight = " << mPaperHeight << std::endl;
+#endif
+  resizeCanvas();
+  mComposer->zoomFull();
+}
+
+void QgsComposition::resolutionChanged ( void )
+{
+  mResolution = mResolutionLineEdit->text().toInt();
+  writeSettings();
+}
+
+void QgsComposition::setOptions ( void )
+{
+  mPaperSizeComboBox->setCurrentItem(mPaper);
+  mPaperOrientationComboBox->setCurrentItem(mPaperOrientation);
+  mPaperWidthLineEdit->setText ( QString("%1").arg(mUserPaperWidth,0,'g') );
+  mPaperHeightLineEdit->setText ( QString("%1").arg(mUserPaperHeight,0,'g') );
+  mResolutionLineEdit->setText ( QString("%1").arg(mResolution) );
+}
+
+void QgsComposition::setPlotStyle (  PlotStyle p )
+{
+  mPlotStyle = p;
+
+  // Set all items
+  for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); it != mItems.end(); ++it) {
+    (*it)->setPlotStyle( p ) ;
+  }
+
+  // Remove paper if Print, reset if Preview
+  if ( mPlotStyle == Print ) {
+//    mPaperItem->setScene(0);
+//    mCanvas->setBackgroundColor( Qt::white );
+  } else { 
+//    mPaperItem->setScene(mCanvas);
+//    mCanvas->setBackgroundColor( QColor(180,180,180) );
+
+  }
+}
+
+double QgsComposition::viewScale ( void ) 
+{
+  double scale = mView->matrix().m11();
+  return scale; 
+}
+
+//does this even work?
+void QgsComposition::refresh()
+{
+  // TODO add signals to map canvas
+  for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); it != mItems.end(); ++it)    {
+    QgsComposerItem *ci = (*it);
+    if (  typeid (*ci) == typeid(QgsComposerMap) ) {
+      QgsComposerMap *cm = dynamic_cast<QgsComposerMap*>(ci);
+      cm->setCacheUpdated(false);
+    } else if (  typeid (*ci) == typeid(QgsComposerVectorLegend) ) {
+      QgsComposerVectorLegend *vl = dynamic_cast<QgsComposerVectorLegend*>(ci);
+      vl->recalculate();
+    }
+  }
+  mCanvas->update();
+}
+
+int QgsComposition::id ( void ) { return mId; }
+
+QgsComposer *QgsComposition::composer(void) { return mComposer; }
+
+QGraphicsScene *QgsComposition::canvas(void) { return mCanvas; }
+
+double QgsComposition::paperWidth ( void ) { return mPaperWidth; }
+
+double QgsComposition::paperHeight ( void ) { return mPaperHeight; }
+
+int QgsComposition::paperOrientation ( void ) { return mPaperOrientation; }
+
+int QgsComposition::resolution ( void ) { return mResolution; }
+
+int QgsComposition::scale( void ) { return mScale; }
+
+double QgsComposition::toMM ( int v ) { return v/mScale ; }
+
+int QgsComposition::fromMM ( double v ) { return (int) (v * mScale); }
+
+void QgsComposition::setTool ( Tool tool )
+{
+  // Stop old in progress
+  mView->viewport()->setMouseTracking ( false ); // stop mouse tracking
+  if ( mSelectedItem ) {
+    QgsComposerItem *coi = dynamic_cast <QgsComposerItem *> (mSelectedItem);
+    coi->setSelected ( false );
+    mCanvas->update();
+  }
+  mSelectedItem = 0;
+  mComposer->showItemOptions ( (QWidget *) 0 );
+
+  if ( mNewCanvasItem ) {
+    mNewCanvasItem->setPos(-1000, -1000);
+    mCanvas->update();
+
+    delete mNewCanvasItem;
+    mNewCanvasItem = 0;
+  }
+
+  if ( mRectangleItem ) {
+    delete mRectangleItem;
+    mRectangleItem = 0;
+  }
+
+  // Start new
+  if ( tool == AddVectorLegend ) { // Create temporary object
+    if ( mNewCanvasItem ) delete mNewCanvasItem;
+
+    // Create new object outside the visible area
+    QgsComposerVectorLegend *vl = new QgsComposerVectorLegend ( this, mNextItemId++, -1000, -1000, (int) (mPaperHeight/50));
+    mNewCanvasItem = dynamic_cast <QGraphicsItem *> (vl);
+    mComposer->showItemOptions ( vl->options() );
+
+    mView->viewport()->setMouseTracking ( true ); // to recieve mouse move
+
+  }
+  else if ( tool == AddLabel ) {
+    if ( mNewCanvasItem ) delete mNewCanvasItem;
+
+    // Create new object outside the visible area
+    QgsComposerLabel *lab = new QgsComposerLabel ( this, mNextItemId++, -1000, -1000, tr("Label"), (int) (mPaperHeight/40));
+
+    mNewCanvasItem = dynamic_cast <QGraphicsItem *> (lab);
+    mComposer->showItemOptions ( lab->options() );
+
+    mView->viewport()->setMouseTracking ( true ); // to recieve mouse move
+  }
+ else if ( tool == AddScalebar ) {
+    if ( mNewCanvasItem ) delete mNewCanvasItem;
+
+    // Create new object outside the visible area
+    QgsComposerScalebar *sb = new QgsComposerScalebar ( this, mNextItemId++, -1000, -1000);
+    mNewCanvasItem = dynamic_cast <QGraphicsItem*> (sb);
+    mComposer->showItemOptions ( sb->options() );
+
+    mView->viewport()->setMouseTracking ( true ); // to recieve mouse move
+  }
+  else if ( tool == AddPicture )
+  {
+    if ( mNewCanvasItem ) delete mNewCanvasItem;
+
+    while ( 1 ) // keep trying until we get a valid image or the user clicks cancel
+    {
+	  QString file = QgsComposerPicture::pictureDialog();
+
+      if ( file.isNull() ) //user clicked cancel
+	  {
+	    // TODO: This is not nice, because selectItem() calls 
+            //       this function, do it better
+	    mComposer->selectItem();
+	    tool = Select;
+	    break; //quit the loop
+      }
+
+	  // Create new object outside the visible area
+	  QgsComposerPicture *pi = new QgsComposerPicture ( this, mNextItemId++, file );
+
+	  if ( pi->pictureValid() )
+	  {
+#ifdef QGISDEBUG
+  	    std::cout << "picture is valid" << std::endl;
+#endif
+	    mNewCanvasItem = dynamic_cast <QGraphicsItem *> (pi);
+	    mComposer->showItemOptions ( pi->options() );
+
+	    mView->viewport()->setMouseTracking ( true ); // start tracking the mouse
+        break; //quit the loop
+	  }
+	  else
+      {
+	    QMessageBox::warning( this, tr("Warning"),
+                         tr("Cannot load picture.") );
+	    delete pi;
+	  }
+    }
+
+  }//END if(tool == AddPicture)*/
+
+  mTool = tool;
+  mToolStep = 0;
+}
+
+std::vector<QgsComposerMap*> QgsComposition::maps(void) 
+{
+  std::vector<QgsComposerMap*> v;
+  for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); it != mItems.end(); ++it) {
+    QgsComposerItem *ci = (*it);
+    if (  typeid (*ci) == typeid(QgsComposerMap) ) {
+      v.push_back ( dynamic_cast<QgsComposerMap*>(ci) );
+    }
+  }
+
+  return v;
+}
+
+QgsComposerMap* QgsComposition::map ( int id ) 
+{ 
+  for (std::list < QgsComposerItem * >::iterator it = mItems.begin(); it != mItems.end(); ++it) {
+    QgsComposerItem *ci = (*it);
+    if (  ci->id() == id ) {
+      return ( dynamic_cast<QgsComposerMap*>(ci) );
+    }
+  }
+  return 0;
+}
+
+double QgsComposition::selectionBoxSize ( void )
+{
+  // Scale rectangle based on the zoom level, so we keep the rectangle a fixed size on the screen
+  return 7.0/viewScale();
+}
+
+QPen QgsComposition::selectionPen ( void ) 
+{
+  return QPen( QColor(0,0,255), 0) ;
+}
+
+QBrush QgsComposition::selectionBrush ( void )
+{
+  return QBrush ( QBrush(QColor(0,0,255), Qt::SolidPattern) );
+}
+
+void QgsComposition::emitMapChanged ( int id )
+{
+  emit mapChanged ( id );
+}
+
+bool QgsComposition::writeSettings ( void )
+{
+  QString path, val;
+  path.sprintf("/composition_%d/", mId );
+  QgsProject::instance()->writeEntry( "Compositions", path+"width", mUserPaperWidth );
+  QgsProject::instance()->writeEntry( "Compositions", path+"height", mUserPaperHeight );
+  QgsProject::instance()->writeEntry( "Compositions", path+"resolution", mResolution );
+
+  if ( mPaperOrientation == Landscape ) {
+    val = "landscape";
+  } else {
+    val = "portrait";
+  }
+  QgsProject::instance()->writeEntry( "Compositions", path+"orientation", val );
+
+
+  return true;
+}
+
+bool QgsComposition::readSettings ( void )
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsComposition::readSettings" << std::endl;
+#endif
+
+  bool ok;
+
+  mPaper = mCustomPaper;
+
+  QString path, val;
+  path.sprintf("/composition_%d/", mId );
+  mUserPaperWidth = QgsProject::instance()->readDoubleEntry( "Compositions", path+"width", 297, &ok);
+  mUserPaperHeight = QgsProject::instance()->readDoubleEntry( "Compositions", path+"height", 210, &ok);
+  mResolution = QgsProject::instance()->readNumEntry( "Compositions", path+"resolution", 300, &ok);
+
+  val = QgsProject::instance()->readEntry( "Compositions", path+"orientation", "landscape", &ok);
+  if ( val.compare("landscape") == 0 ) {
+    mPaperOrientation = Landscape;
+  } else {
+    mPaperOrientation = Portrait;
+  }
+
+  recalculate();
+  setOptions();
+
+  // Create objects
+  path.sprintf("/composition_%d", mId );
+  QStringList el = QgsProject::instance()->subkeyList ( "Compositions", path );
+
+  // First create the map(s) because they are often required by other objects
+  for ( QStringList::iterator it = el.begin(); it != el.end(); ++it ) {
+#ifdef QGISDEBUG
+    std::cout << "key: " << (*it).toLocal8Bit().data() << std::endl;
+#endif
+
+    QStringList l = QStringList::split( '_', (*it) );
+    if ( l.size() == 2 ) {
+      QString name = l.first();
+      QString ids = l.last();
+      int id = ids.toInt();
+
+      if ( name.compare("map") == 0 ) {
+        QgsComposerMap *map = new QgsComposerMap ( this, id );
+        mItems.push_back(map);
+      }
+
+      if ( id >= mNextItemId ) mNextItemId = id + 1;
+    }
+  }
+
+  for ( QStringList::iterator it = el.begin(); it != el.end(); ++it ) {
+#ifdef QGISDEBUG
+    std::cout << "key: " << (*it).toLocal8Bit().data() << std::endl;
+#endif
+
+    QStringList l = QStringList::split( '_', (*it) );
+    if ( l.size() == 2 ) {
+      QString name = l.first();
+      QString ids = l.last();
+      int id = ids.toInt();
+
+      if ( name.compare("vectorlegend") == 0 ) {
+        QgsComposerVectorLegend *vl = new QgsComposerVectorLegend ( this, id );
+        mItems.push_back(vl);
+      } else if ( name.compare("label") == 0 ) {
+        QgsComposerLabel *lab = new QgsComposerLabel ( this, id );
+        mItems.push_back(lab);
+      } else if ( name.compare("scalebar") == 0 ) {
+        QgsComposerScalebar *sb = new QgsComposerScalebar ( this, id );
+        mItems.push_back(sb);
+      } else if ( name.compare("picture") == 0 ) {
+        QgsComposerPicture *pi = new QgsComposerPicture ( this, id );
+        mItems.push_back(pi);
+      }
+
+      if ( id >= mNextItemId ) mNextItemId = id + 1;
+    }
+  }
+
+
+  mCanvas->update();
+
+  return true;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/composer/qgscomposition.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,323 @@
+/***************************************************************************
+                              qgscomposition.h 
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCOMPOSITION_H
+#define QGSCOMPOSITION_H
+
+#include "ui_qgscompositionbase.h"
+
+#include <list>
+#include <vector>
+
+class QgsComposer;
+class QgsComposerItem;
+class QgsComposerMap;
+class QgsComposerView;
+class QgsMapCanvas;
+
+class QGraphicsScene;
+class QGraphicsItem;
+class QGraphicsRectItem;
+
+class QDomDocument;
+class QDomNode;
+class QKeyEvent;
+class QMouseEvent;
+
+class QgsCompositionPaper
+{
+public:
+    QString mName;
+    int mWidth;
+    int mHeight;
+    int mCustom;
+
+    QgsCompositionPaper( QString name, int w, int h, bool c = false);
+    ~QgsCompositionPaper();
+};
+
+/** \class QgsComposition
+ * \brief This class can store, write as XML and read from XML the description
+ *        map composition for printing.
+ */
+class QgsComposition: public QWidget, private Ui::QgsCompositionBase
+{
+    Q_OBJECT
+public:
+    /** \brief Constructor. */
+    QgsComposition ( QgsComposer *c, int id ); 
+
+    /** \brief The destuctor.  */
+    ~QgsComposition();
+
+    /** \brief Orientation  */
+    enum Orientation {
+	Portrait = 0,
+	Landscape
+    };
+
+    /** \brief Current tool  */
+    enum Tool {
+	Select = 0,      // Select/Move item
+	AddMap,          // add new map 
+	AddVectorLegend, // add vector legend
+	AddLabel,        // add label
+	AddScalebar,     // add scalebar
+	AddPicture       // add raster/vector picture
+    };
+
+    /** \brief Scaling mode, defines which parameters are fixed and which are changing  */
+    enum Calculate {
+	Scale = 0, // Extent and paper are defined by user, scale is calculated
+	Paper,     // Extent and scale are defined by user, paper is calculated
+	Extent     // Paper and scale are defined by user, extent is calculated
+    };
+
+    /** \brief Plot type */
+    enum PlotStyle {
+	Preview = 0, // Use cache etc
+	Print,       // Render well
+	Postscript   // Fonts need different scaling!
+    };
+
+    /** \brief Font scaling factor for PostScript output
+     *
+     *  For output to Postscript the font must be scaled. But how?  
+     *  The factor is an empirical value. In any case, each font scales
+     *  in in different way even if painter.scale() is used instead of
+     *  font size!!! -> Postscript is never exactly the same as in preview.
+     */
+
+    // Hopefully no more needed
+    /*
+    static const double psFontScaleFactor() {
+#ifdef Q_OS_MACX
+    return 1.85;
+#else
+    return 2.45; // I have no idea why 2.45 - it is an empirical value
+#endif
+    }
+    */
+
+    /** \brief Composition ID */
+    int id ( void );
+
+    /** \brief Get paper width */
+    double paperWidth ( void );
+
+    /** \brief Get paper height */
+    double paperHeight ( void );
+    
+    /** \brief Get paper orientation */
+    int paperOrientation ( void );
+
+    /** \brief Get resolutin */
+    int resolution ( void );
+
+    /** \brief Create default composition */
+    void createDefault ( void );
+
+    /** \brief Remove all items */
+    void clear ( void );
+
+    /** \brief Recalculate page size according to mUserPaperWidth/Height and mPaperOrientation,
+     *         resize canvas and zoomFull */
+    void recalculate(void);
+
+    /** \brief pointer to map canvas */
+    QgsMapCanvas *mapCanvas(void);
+
+    /** \brief pointer to composer */
+    QgsComposer *composer(void);
+
+    // Return pointer to widget with composition options 
+    //QWidget *options ( void );
+
+    /** \brief Set this composition as active, show its canvas with items and show general options */
+    void setActive ( bool active );
+
+    /** \brief returns pointer to canvas */
+    QGraphicsScene *canvas(void);
+    
+    /** \brief recieves mousePressEvent from view */
+    void mousePressEvent(QMouseEvent*);
+    
+    /** \brief recieves mouseReleaseEvent from view */
+    void mouseReleaseEvent(QMouseEvent*);
+    
+    /** \brief recieves mouseMoveEvent from view */
+    void mouseMoveEvent(QMouseEvent*);
+    
+    /** \brief recieves keyPressEvent from view */
+    void keyPressEvent ( QKeyEvent * e );
+
+    /** \brief set plot style, use before print */
+    void setPlotStyle ( PlotStyle p );
+
+    /**  \brief Set composition optiones in GUI */
+    void setOptions ( void );
+    
+    /**  \brief Set tool */
+    void setTool ( Tool tool );
+
+    /** Refresh. Refresh objects which are not updated automaticaly, e.g. map object does not know
+     * if a layer was switched on/off. Later should be substituted by appropriate signals 
+     * se by map canvas */
+    void refresh();
+
+    /**  \brief Canvas scale */
+    int scale (void);
+
+    /**  \brief convert canvas unit to mm */
+    double toMM ( int v );
+    
+    /**  \brief convert mm to canvas unit */
+    int fromMM ( double v );
+
+    /** \brief Return number screen pixels / canvas point */
+    double viewScale( void );
+
+    /** \brief Selection box size in _scene_ units */
+    double selectionBoxSize ( void );
+    
+    /** \brief Selection box pen and brush */
+    QPen selectionPen ( void );
+    QBrush selectionBrush ( void );
+    
+    /** \brief vector of pointers to maps available in composition */
+    std::vector<QgsComposerMap*> maps(void);
+
+    /** \brief Find a map by id 
+     *  \param id canvas item id
+     *  \return pointer to existing map or 0
+     */
+    QgsComposerMap * map (int id);
+
+    /** \brief stores statei in project */
+    bool writeSettings ( void );
+
+    /** \brief read state from project */
+    bool readSettings ( void );
+
+    /** \brief  stores state in DOM node */
+    bool writeXML( QDomNode & node, QDomDocument & doc, bool templ = false );
+
+    /** \brief sets state from DOM document */
+    bool readXML( QDomNode & node );
+
+    /**  \brief Called map objects if changed, so that the composition can emit signal */
+    void emitMapChanged ( int id );
+
+public slots:
+    /**  \brief Called by GUI if paper size was changed */
+    void paperSizeChanged ( void );
+    
+    /**  \brief Called by GUI if resolution was changed */
+    void resolutionChanged ( void );
+
+signals:
+    /**  \brief Emitted when map was changed */    
+    void mapChanged ( int id );
+
+private:
+    /** \brief composition id */
+    int mId;
+
+    /** \brief paper width in mm in GUI */
+    double mUserPaperWidth;
+
+    /** \brief paper height in mm in GUI */
+    double mUserPaperHeight;
+
+    /** \brief paper width in mm (orientaion applied)  */
+    double mPaperWidth;
+
+    /** \brief paper height in mm (orientaion applied) */
+    double mPaperHeight;
+
+    /** \brief Papers */
+    std::vector<QgsCompositionPaper> mPapers;
+
+    /** \brief Current paper */
+    int mPaper;
+	
+    /** \brief Default paper index */
+    int mDefaultPaper;
+
+    /** \brief Custom paper index */
+    int mCustomPaper;
+
+    /** \brief Orientation */
+    int mPaperOrientation;
+
+    /** \brief pointer to map canvas */
+    QgsMapCanvas *mMapCanvas;
+
+    /** \brief pointer to composer */
+    QgsComposer *mComposer;
+
+    /** \brief Canvas. One per composition, created by QgsComposition */
+    QGraphicsScene *mCanvas;
+
+    /** \brief Pointer to canvas view */
+    QgsComposerView *mView;
+
+    /** \brief List of all composer items */
+    std::list<QgsComposerItem*> mItems;
+
+    /** \brief Selected item, 0 if no item is selected */ 
+    QGraphicsItem* mSelectedItem; 
+
+    /** \brief Item representing the paper */
+    QGraphicsRectItem *mPaperItem;
+
+    /** \brief  Plot style */
+    PlotStyle mPlotStyle;
+    
+    /** \brief  Current tool */
+    Tool mTool;
+    
+    /** \brief  Tool step first is 0 */
+    int mToolStep;
+    
+    /** \brief Temporary rectangle item used as rectangle drawn by mouse */
+    QGraphicsRectItem *mRectangleItem;
+
+    /** \brief Temporary item used as pointer to new objecs which must be drawn */ 
+    QGraphicsItem *mNewCanvasItem; 
+
+    /** \brief Resolution in DPI */
+    int mResolution; 
+
+    /** \brief canvas scale */
+    int mScale;
+
+    /** \brief id for next new item */
+    int mNextItemId;
+
+	QGraphicsRectItem *sizeBox;
+
+    /** \brief Create canvas */
+    void createCanvas(void);
+    
+    /** \brief Resize canvas to current paper size */
+    void resizeCanvas(void);
+
+    /** \brief Grab point, set with MousePressEvent */
+    QPointF mGrabPoint;
+};
+
+#endif
+

Added: packages/qgis/branches/upstream/current/src/app/legend/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+*.la
+*.lo
+.deps
+.libs
+Makefile
+Makefile.in
+*.moc.cpp
+

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegend.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegend.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegend.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1821 @@
+
+/***************************************************************************
+                          qgslegend.cpp  -  description
+                             -------------------
+    begin                : Sun Jul 28 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+               Romans 3:23=>Romans 6:23=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgslegend.cpp 7180 2007-09-06 18:23:44Z mhugent $ */
+
+#include "qgsapplication.h"
+#include "qgslogger.h"
+#include "qgslegend.h"
+#include "qgslegendgroup.h"
+#include "qgslegendlayer.h"
+#include "qgslegendpropertygroup.h"
+#include "qgslegendsymbologyitem.h"
+#include "qgslegendlayerfile.h"
+#include "qgslegendlayerfilegroup.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsmaprender.h"
+#include "qgsproject.h"
+#include "qgsrasterlayer.h"
+#include "qgsrasterlayerproperties.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectorlayerproperties.h"
+#include "qgsvectordataprovider.h"
+
+#include <cfloat>
+#include <iostream>
+
+#include <QFont>
+#include <QHeaderView>
+#include <QMenu>
+#include <QMessageBox>
+#include <QMouseEvent>
+#include <QPixmap>
+#include <QTreeWidgetItem>
+
+static const char *const ident_ = "$Id: qgslegend.cpp 7180 2007-09-06 18:23:44Z mhugent $";
+
+const int AUTOSCROLL_MARGIN = 16;
+
+/**
+   @note
+ 
+   set mItemBeingMoved pointer to 0 to prevent SuSE 9.0 crash
+*/
+QgsLegend::QgsLegend(QWidget * parent, const char *name)
+  : QTreeWidget(parent), mMousePressedFlag(false), mItemBeingMoved(0), mShowLegendLayerFiles(false), mToggleEditingAction(0), mMapCanvas(0), mMinimumIconSize(20, 20)
+{
+  connect( this, SIGNAL(itemChanged(QTreeWidgetItem*, int)),
+	   this, SLOT(handleItemChange(QTreeWidgetItem*, int)));
+  
+  connect( this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
+	   this, SLOT(handleCurrentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)));
+  
+  // project handling
+  connect(QgsProject::instance(), SIGNAL(readProject(const QDomDocument &)),
+          this, SLOT(readProject(const QDomDocument &)));
+  connect(QgsProject::instance(), SIGNAL(writeProject(QDomDocument &)),
+          this, SLOT(writeProject(QDomDocument &)));
+
+  setSortingEnabled(false);
+  setDragEnabled(false);
+  setAutoScroll(true);
+  QFont f("Arial", 10, QFont::Normal);
+  setFont(f);
+  setBackgroundColor(QColor(192, 192, 192));
+
+  setColumnCount(1);
+  header()->setHidden(1);
+  setRootIsDecorated(true);
+
+  initPixmaps();
+}
+
+
+
+QgsLegend::~QgsLegend()
+{}
+
+
+void QgsLegend::handleCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous)
+{
+  QgsMapLayer *layer = currentLayer();
+      
+  if(mMapCanvas)
+  {
+    mMapCanvas->setCurrentLayer( layer );
+  }
+  emit currentLayerChanged ( layer );
+}   
+
+void QgsLegend::addGroup()
+{
+    QgsLegendGroup* group = new QgsLegendGroup(this, tr("group"));
+    mStateOfCheckBoxes.insert(std::make_pair(group, Qt::Checked)); //insert the check state into the map to query for changes later
+    setExpanded(indexFromItem(group), true);
+}
+
+void QgsLegend::removeAll()
+{
+  mStateOfCheckBoxes.clear();
+  clear();
+  mPixmapWidthValues.clear();
+  mPixmapHeightValues.clear();
+  updateMapCanvasLayerSet();
+  setIconSize(mMinimumIconSize);
+}
+
+void QgsLegend::selectAll(bool select)
+{
+  QTreeWidgetItem* theItem = firstItem();
+
+  while (theItem)
+  {
+    QgsLegendItem* litem = dynamic_cast<QgsLegendItem*>(theItem);
+    if(litem && litem->type() == QgsLegendItem::LEGEND_LAYER_FILE)
+      {
+	theItem->setCheckState(0, (select ? Qt::Checked : Qt::Unchecked));
+	handleItemChange(theItem, 0);
+      }
+    theItem = nextItem(theItem);
+  }
+}
+
+void QgsLegend::removeLayer(QString layer_key)
+{
+  QTreeWidgetItem* theItem = firstItem();
+#ifdef QGISDEBUG
+  qWarning("in QgsLegend::removeLayer");
+#endif
+  while(theItem)
+    {
+	QgsLegendItem *li = dynamic_cast<QgsLegendItem*>(theItem);
+	if(li)
+	{
+	    QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(li);
+	    if(llf)
+	    {
+		if (llf->layer()&&llf->layer()->getLayerID() == layer_key)
+		{
+		  //remove the map entry for the checkbox
+		  mStateOfCheckBoxes.erase(llf);
+		  removeItem(llf);
+		  delete llf;
+		  break;
+		}
+	    }
+	}
+	theItem = nextItem(theItem);
+    }
+
+    updateMapCanvasLayerSet();
+    adjustIconSize();
+}
+
+void QgsLegend::mousePressEvent(QMouseEvent * e)
+{
+  if (e->button() == Qt::LeftButton)
+  {
+    mLastPressPos = e->pos();
+    mMousePressedFlag = true;
+  }
+  else if(e->button() == Qt::RightButton)
+    {
+      QTreeWidgetItem* item = itemAt(e->pos());
+      setCurrentItem(item);
+      handleRightClickEvent(item, e->globalPos());
+    }
+  QTreeWidget::mousePressEvent(e);
+}                               // contentsMousePressEvent
+
+void QgsLegend::mouseMoveEvent(QMouseEvent * e)
+{
+    if(mMousePressedFlag)
+    {
+	//set the flag back such that the else if(mItemBeingMoved)
+	//code part is passed during the next mouse moves
+	mMousePressedFlag = false;
+
+	// remember item we've pressed as the one being moved
+	// and where it was originally
+	QTreeWidgetItem* item = itemAt(mLastPressPos);
+	if(item)
+	{
+	    mItemBeingMoved = item;
+	    mItemBeingMovedOrigPos = getItemPos(mItemBeingMoved);
+
+	    //store information to insert the item back to the original position
+	    storeInitialPosition(mItemBeingMoved);
+ 
+	    setCursor(Qt::SizeVerCursor);
+	}
+    }
+    else if (mItemBeingMoved)
+    { 
+      QPoint p(e->pos());
+      mLastPressPos=p;
+     
+      // change the cursor appropriate to if drop is allowed
+      QTreeWidgetItem* item = itemAt(p);
+      QgsLegendItem* origin = dynamic_cast<QgsLegendItem*>(mItemBeingMoved);
+      QgsLegendItem* dest = dynamic_cast<QgsLegendItem*>(item);
+
+      if (item && (item != mItemBeingMoved))
+	{
+	  QgsLegendItem::DRAG_ACTION action = dest->accept(origin);
+	  if(action == QgsLegendItem::REORDER)
+	    {
+#ifdef QGISDEBUG
+	      qWarning("mouseMoveEvent::REORDER");
+#endif
+	      if(!yCoordAboveCenter(dest, e->y())) //over bottom of item
+		{
+		  if(origin->nextSibling() != dest)
+		    {
+		      if(origin->parent() != dest->parent())
+			{
+			  moveItem(origin, dest);
+			  moveItem(dest, origin);
+			}
+		      else
+			{
+			  moveItem(dest, origin);
+			}
+		    }
+		}
+	      else //over top of item
+	      {
+		  if (mItemBeingMoved != dest->nextSibling())
+		  {
+		    //origin->moveItem(dest);
+		    moveItem(origin, dest);
+		  } 
+	      }
+	      setCurrentItem(origin);
+	    }
+	    else if(action == QgsLegendItem::INSERT)
+	    {
+#ifdef QGISDEBUG
+	      qWarning("mouseMoveEvent::INSERT");
+#endif
+	      setCursor( QCursor(Qt::PointingHandCursor) );
+	      if(origin->parent() != dest)
+		{
+		  insertItem(origin, dest);
+		  setCurrentItem(origin);
+		}
+	    }
+	    else//no action
+	    {
+#ifdef QGISDEBUG
+	      qWarning("mouseMoveEvent::NO_ACTION");
+#endif
+	      if(origin->type() == QgsLegendItem::LEGEND_LAYER_FILE && mItemBeingMovedOrigPos != getItemPos(mItemBeingMoved))
+		{
+		  resetToInitialPosition(mItemBeingMoved);
+		}
+	      setCursor( QCursor(Qt::ForbiddenCursor) );
+	    }
+	}     
+    }
+}
+
+void QgsLegend::mouseReleaseEvent(QMouseEvent * e)
+{
+  QTreeWidget::mouseReleaseEvent(e);
+  setCursor(QCursor(Qt::ArrowCursor));
+
+  mMousePressedFlag = false;
+
+  if (!mItemBeingMoved)
+  {
+    return;
+  }
+      
+  QTreeWidgetItem *destItem = itemAt(e->pos());
+      
+  QgsLegendItem* origin = dynamic_cast<QgsLegendItem*>(mItemBeingMoved);
+  QgsLegendItem* dest = dynamic_cast<QgsLegendItem*>(destItem);
+
+  // no change?
+  if(!dest || !origin)
+  {
+    checkLayerOrderUpdate();
+    return;
+  }
+
+	QgsLegendItem::LEGEND_ITEM_TYPE originType = origin->type();
+	QgsLegendItem::LEGEND_ITEM_TYPE destType = dest->type();
+
+	if(originType == QgsLegendItem::LEGEND_LAYER_FILE && destType == QgsLegendItem::LEGEND_LAYER_FILE_GROUP)
+	  {
+      QgsDebugMsg("Legend layer file moved to layer file group");
+      // Not used... delete?
+      //QgsMapLayer* origLayer = ((QgsLegendLayerFile*)(origin))->layer();
+	    if(dest->childCount() > 1)
+	      {
+		//find the first layer in the legend layer group != origLayer and copy its settings
+		QgsLegendItem* currentItem = dynamic_cast<QgsLegendItem*>(dest->child(0));
+		while(currentItem)
+		  {
+		    if(currentItem != origin)
+		      {
+			QgsMapLayer* origLayer = ((QgsLegendLayerFile*)(origin))->layer();
+			QgsMapLayer* currentLayer = ((QgsLegendLayerFile*)(currentItem))->layer();
+			origLayer->copySymbologySettings(*currentLayer);
+			break;
+		      }
+		    currentItem = currentItem->nextSibling();
+		  }                  
+	      }
+	  }
+	else if(originType == QgsLegendItem::LEGEND_LAYER_FILE && destType == QgsLegendItem::LEGEND_LAYER_FILE)
+	  {
+      QgsDebugMsg("Legend layer file moved to legend layer file");
+      // Not used. Delete?
+      // QgsMapLayer* origLayer = ((QgsLegendLayerFile*)(origin))->layer();
+      // QgsMapLayer* destLayer = ((QgsLegendLayerFile*)(dest))->layer();
+
+	    if(dest == origin)//origin item has been moved in mouseMoveEvent such that it is under the mouse cursor now
+	      {
+		if(origin->parent()->childCount() > 1)
+		  {
+		    //find the first layer in the legend layer group != origLayer and copy its settings
+		    QTreeWidgetItem* currentItem = dest->parent()->child(0);
+		    while(currentItem)
+		      {
+			if(currentItem != origin)
+			  {
+			    QgsMapLayer* origLayer = ((QgsLegendLayerFile*)(origin))->layer();
+			    QgsMapLayer* currentLayer = ((QgsLegendLayerFile*)(currentItem))->layer();
+			    origLayer->copySymbologySettings(*currentLayer);
+			    break;
+			  }
+			currentItem = dynamic_cast<QgsLegendItem*>(currentItem)->nextSibling();
+		      }
+		  }
+	      }
+	    else
+	      {
+		QgsMapLayer* origLayer = ((QgsLegendLayerFile*)(origin))->layer();
+		QgsMapLayer* destLayer = ((QgsLegendLayerFile*)(dest))->layer();
+		origLayer->copySymbologySettings(*destLayer);
+	      }
+	  }
+    else
+    {
+      QgsDebugMsg("Other type of drag'n'drop happened!");
+    }
+	
+	checkLayerOrderUpdate();
+
+  mItemBeingMoved = NULL;
+}
+
+void QgsLegend::mouseDoubleClickEvent(QMouseEvent* e)
+{
+  legendLayerShowProperties();
+}
+
+void QgsLegend::handleRightClickEvent(QTreeWidgetItem* item, const QPoint& position)
+{
+  QMenu theMenu;
+
+  QString iconsPath = QgsApplication::themePath();
+
+  if(mMapCanvas->isDrawing())
+  {
+    return;
+  }
+
+  QgsLegendItem* li = dynamic_cast<QgsLegendItem*>(item);
+  if (li)
+  {
+  
+    if(li->type() == QgsLegendItem::LEGEND_LAYER_FILE)
+    {
+      (static_cast<QgsLegendLayerFile*>(li))->addToPopupMenu(theMenu, mToggleEditingAction);
+    }
+    else if(li->type() == QgsLegendItem::LEGEND_LAYER)
+    {
+      (static_cast<QgsLegendLayer*>(li))->addToPopupMenu(theMenu, mToggleEditingAction);
+    
+      if (li->parent())
+      {
+        theMenu.addAction(tr("&Make to toplevel item"), this, SLOT(makeToTopLevelItem()));
+      }
+      
+    }
+    else if(li->type() == QgsLegendItem::LEGEND_GROUP)
+    {
+      theMenu.addAction(QPixmap(iconsPath+QString("/mActionRemove.png")),
+                        tr("&Remove"), this, SLOT(legendGroupRemove()));
+    }
+  
+    if(li->type() == QgsLegendItem::LEGEND_LAYER || li->type() == QgsLegendItem::LEGEND_GROUP)
+    {
+      theMenu.addAction(tr("Re&name"), this, SLOT(openEditor()));
+    }
+	
+  }
+
+  theMenu.addAction(QIcon(QPixmap(iconsPath+QString("/folder_new.png"))), tr("&Add group"), this, SLOT(addGroup()));
+  theMenu.addAction(QIcon(QPixmap(iconsPath+QString("/mActionExpandTree.png"))), tr("&Expand all"), this, SLOT(expandAll()));
+  theMenu.addAction(QIcon(QPixmap(iconsPath+QString("/mActionCollapseTree.png"))), tr("&Collapse all"), this, SLOT(collapseAll()));
+
+  QAction* showFileGroupsAction = theMenu.addAction(tr("Show file groups"), this, SLOT(showLegendLayerFileGroups()));
+  showFileGroupsAction->setCheckable(true);
+  showFileGroupsAction->blockSignals(true);
+  showFileGroupsAction->setChecked(mShowLegendLayerFiles);
+  showFileGroupsAction->blockSignals(false);
+  theMenu.exec(position);
+}
+
+int QgsLegend::getItemPos(QTreeWidgetItem* item)
+{
+  int counter = 1;
+  QTreeWidgetItem* theItem = firstItem();
+  while(theItem)
+    {
+      if(theItem == item)
+	{
+	  return counter;
+	}
+      theItem = nextItem(theItem);
+      ++counter;
+    }
+  return -1;
+}
+
+void QgsLegend::addLayer( QgsMapLayer * layer )
+{
+  QgsLegendLayer * llayer = new QgsLegendLayer(layer->name());//generate entry for mStateOfCheckBoxes below
+    QgsLegendLayerFileGroup * llfgroup = new QgsLegendLayerFileGroup(llayer,QString("Files"));
+    QgsLegendLayerFile * llfile = new QgsLegendLayerFile(llfgroup, QgsLegendLayerFile::nameFromLayer(layer), layer);
+    llayer->setLayerTypeIcon();
+    llayer->setToolTip(0, layer->publicSource());
+    
+    //set the correct check states
+    blockSignals(true);
+    if(llfile->isVisible())
+      {
+	llfile->setCheckState(0, Qt::Checked);
+	llayer->setCheckState(0, Qt::Checked);
+	mStateOfCheckBoxes.insert(std::make_pair(llfile, Qt::Checked)); //insert the check state into the map to query for changes later
+	mStateOfCheckBoxes.insert(std::make_pair(llayer, Qt::Checked));
+      }
+    else
+      {
+	llfile->setCheckState(0, Qt::Unchecked);
+	llayer->setCheckState(0, Qt::Unchecked);
+	mStateOfCheckBoxes.insert(std::make_pair(llfile, Qt::Unchecked)); //insert the check state into the map to query for changes later
+	mStateOfCheckBoxes.insert(std::make_pair(llayer, Qt::Unchecked));
+      }
+    blockSignals(false);
+   
+    insertTopLevelItem(0, llayer);
+    setItemExpanded(llayer, true);
+    setItemExpanded(llfgroup, false);
+    //only if qsetting for 'legend layer file visible' is not set
+    if(!mShowLegendLayerFiles)
+      {
+	llfgroup->setHidden(true);
+      }
+      
+    llfile->updateLegendItem();
+    refreshLayerSymbology(layer->getLayerID());
+    
+    updateMapCanvasLayerSet();
+    
+    // first layer?
+    if (mMapCanvas->layerCount() == 1)
+      mMapCanvas->zoomFullExtent();
+    setCurrentItem(llayer);
+    //make the QTreeWidget item up-to-date
+    doItemsLayout();
+}
+
+QgsLegendLayerFile* QgsLegend::currentLayerFile()
+{
+  QgsLegendItem* citem=dynamic_cast<QgsLegendItem*>(currentItem());
+  
+  if(citem)
+  {
+    QgsLegendLayerFile* llf=dynamic_cast<QgsLegendLayerFile*>(citem);
+    if(llf)
+    {
+      return llf; //the current item is itself a legend layer file
+    }
+      
+    QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(citem);
+    if(ll)
+    {
+      return ll->firstLayerFile(); //the current item is a legend layer, so return its first layer
+    }
+    
+    QgsLegendLayer* lpl = dynamic_cast<QgsLegendLayer*>(citem->parent());
+    if(lpl)
+    {
+      return lpl->firstLayerFile(); //the parent of the current item is a legend layer, return its first layer
+    }  
+  }
+
+  return 0;
+}
+
+QgsMapLayer* QgsLegend::currentLayer()
+{
+  QgsLegendLayerFile* llf = currentLayerFile();
+  if (llf)
+  {
+    return llf->layer();
+  }
+  else
+  {
+    return 0;
+  }
+}
+
+void QgsLegend::legendGroupRemove()
+{
+    QgsLegendGroup* lg = dynamic_cast<QgsLegendGroup*>(currentItem());
+    if(lg)
+    {
+	//delete the legend layers first
+	QTreeWidgetItem * child = lg->child(0);
+        while(child) 
+	{
+	    setCurrentItem(child);
+	    legendLayerRemove();
+            child = lg->child(0);
+        }
+	delete lg;
+	adjustIconSize();
+    }
+}
+
+void QgsLegend::legendLayerRemove()
+{
+    //if the current item is a legend layer: remove all layers of the current legendLayer
+   QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(currentItem());
+   if(ll)
+   {
+     std::list<QgsMapLayer*> maplayers = ll->mapLayers();
+     mStateOfCheckBoxes.erase(ll);
+     
+     //also remove the entries for the QgsLegendLayerFiles from the map
+     std::list<QgsLegendLayerFile*> llfiles = ll->legendLayerFiles();
+     for(std::list<QgsLegendLayerFile*>::iterator it = llfiles.begin(); it != llfiles.end(); ++it)
+       {
+	 mStateOfCheckBoxes.erase(*it);
+       }
+     
+     for(std::list<QgsMapLayer*>::iterator it = maplayers.begin(); it!=maplayers.end(); ++it)
+       {
+	 //remove the layer
+	 if(*it)
+	   {
+	     QgsMapLayerRegistry::instance()->removeMapLayer((*it)->getLayerID());
+	   }
+       }
+     
+     if(maplayers.size()>0)
+       {
+	 mMapCanvas->refresh();
+       }
+     removeItem(ll);
+     delete ll;
+     adjustIconSize();
+     return;
+   }
+
+   //if the current item is a legend layer file
+   QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(currentItem());
+   if(llf)
+     {
+       if(llf->layer())
+	 {
+	   //the map layer registry emits a signal an this will remove the legend layer
+	   //from the legend and from memory by calling QgsLegend::removeLayer(QString layer key)
+	   QgsMapLayerRegistry::instance()->removeMapLayer(llf->layer()->getLayerID());
+	 }
+     }
+   return;
+}
+
+
+
+void QgsLegend::legendLayerShowProperties()
+{
+  QgsLegendItem* li = dynamic_cast<QgsLegendItem*>(currentItem());
+  QgsLegendLayerFile* llf = 0;
+
+  if(!li)
+  {
+    return;
+  }
+  
+  if(li->type() == QgsLegendItem::LEGEND_LAYER_FILE)
+  {
+    llf = dynamic_cast<QgsLegendLayerFile*>(li);
+  }
+  else if(li->type() == QgsLegendItem::LEGEND_LAYER)
+  {
+    QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(li);
+    llf = ll->firstLayerFile();
+  }
+       
+  if (!llf)
+  {
+    return;
+  }
+  
+  //QgsDebugMsg("Showing layer properties dialog");
+  
+  QgsMapLayer* ml = llf->layer();
+
+  /*
+  TODO: Consider reusing the property dialogs again.
+  Sometimes around mid 2005, the property dialogs were saved for later reuse;
+  this resulted in a time savings when reopening the dialog. The code below
+  cannot be used as is, however, simply by saving the dialog pointer here.
+  Either the map layer needs to be passed as an argument to sync or else
+  a separate copy of the dialog pointer needs to be stored with each layer.
+  */
+
+  if (ml->type() == QgsMapLayer::RASTER)
+  {
+    QgsRasterLayerProperties *rlp = NULL; // See note above about reusing this
+    if (rlp)
+    {
+      rlp->sync();
+    }
+    else
+    {
+      rlp = new QgsRasterLayerProperties(ml);
+      connect(rlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString)));
+    }
+    rlp->exec();
+    delete rlp; // delete since dialog cannot be reused without updating code
+  }
+  else // VECTOR
+  {
+    QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(ml);
+
+    QgsVectorLayerProperties *vlp = NULL; // See note above about reusing this
+    if (vlp)
+    {
+      vlp->reset();
+    }
+    else
+    {
+      vlp = new QgsVectorLayerProperties(vlayer);
+      connect(vlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString)));
+    }
+    vlp->exec();
+    delete vlp; // delete since dialog cannot be reused without updating code
+  }
+  
+  llf->updateLegendItem();
+
+}
+
+void QgsLegend::legendLayerShowInOverview()
+{
+  QgsLegendItem* li = dynamic_cast<QgsLegendItem*>(currentItem());
+  if(!li)
+    return;
+  
+  if(li->type() == QgsLegendItem::LEGEND_LAYER_FILE)
+  {
+    QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(li);
+    if (!llf) return;
+    llf->showInOverview();
+  }
+  else if(li->type() == QgsLegendItem::LEGEND_LAYER)
+  {
+    QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(li);
+    if (!ll) return;
+    ll->showInOverview();
+  }
+}
+
+void QgsLegend::expandAll()
+{
+    QTreeWidgetItem* theItem = firstItem();
+    while(theItem)
+      {
+	setExpanded(indexFromItem(theItem), true);
+	theItem = nextItem(theItem);
+      }
+}
+
+void QgsLegend::collapseAll()
+{
+  QTreeWidgetItem* theItem = firstItem();
+    while(theItem)
+      {
+	setExpanded(indexFromItem(theItem), false);
+	theItem = nextItem(theItem);
+      }
+}
+
+bool QgsLegend::writeXML( QDomNode & legendnode, QDomDocument & document )
+{
+    QDomNode tmplegendnode = legendnode; /*copy of the legendnode*/
+    QDomElement legendgroupnode;
+    QDomElement legendlayernode;
+    QDomElement layerfilegroupnode;
+    QDomElement legendsymbolnode;
+    QDomElement legendpropertynode;
+    QDomElement legendlayerfilenode;
+    QgsLegendLayerFile* llf;
+    Qt::CheckState cstate; //check state for legend layers and legend groups
+
+    QTreeWidgetItem* currentItem = firstItem();
+    while(currentItem) 
+    {
+	QgsLegendItem *item = dynamic_cast<QgsLegendItem*>(currentItem);
+	if(item)
+	{
+	    switch(item->type())
+	      {
+	        case QgsLegendItem::LEGEND_GROUP:
+		//make sure the legendnode is 'legend' again after a legend group
+		if(!(item->parent()))
+		    {
+			legendnode = tmplegendnode;
+		    }
+		    legendgroupnode = document.createElement("legendgroup");
+		    if(isItemExpanded(item))
+		    {
+			legendgroupnode.setAttribute("open","true");
+		    }
+		    else
+		    {
+			legendgroupnode.setAttribute("open","false");
+		    }
+		    legendgroupnode.setAttribute("name",item->text(0));
+		    cstate = item->checkState(0);
+		    if(cstate == Qt::Checked)
+		      {
+			legendgroupnode.setAttribute("checked","Qt::Checked");
+		      }
+		    else if(cstate == Qt::Unchecked)
+		      {
+			legendgroupnode.setAttribute("checked","Qt::Unchecked");
+		      }
+		    else if(cstate == Qt::PartiallyChecked)
+		      {
+			legendgroupnode.setAttribute("checked","Qt::PartiallyChecked");
+		      }
+		    legendnode.appendChild(legendgroupnode);
+		    tmplegendnode =  legendnode;
+		    legendnode = legendgroupnode;
+		    break;
+
+		case QgsLegendItem::LEGEND_LAYER:
+		    //make sure the legendnode is 'legend' again after a legend group
+		    if(!(item->parent()))
+		    {
+			legendnode = tmplegendnode;
+		    }
+		    legendlayernode = document.createElement("legendlayer");
+		    if(isItemExpanded(item))
+		    {
+			legendlayernode.setAttribute("open","true");
+		    }
+		    else
+		    {
+			legendlayernode.setAttribute("open","false");
+		    }
+		    cstate = item->checkState(0);
+		    if(cstate == Qt::Checked)
+		      {
+			legendlayernode.setAttribute("checked","Qt::Checked");
+		      }
+		    else if(cstate == Qt::Unchecked)
+		      {
+			legendlayernode.setAttribute("checked","Qt::Unchecked");
+		      }
+		    else if(cstate == Qt::PartiallyChecked)
+		      {
+			legendlayernode.setAttribute("checked","Qt::PartiallyChecked");
+		      }
+		    legendlayernode.setAttribute("name", item->text(0));
+		    legendnode.appendChild(legendlayernode);
+		    break;
+
+		case QgsLegendItem::LEGEND_PROPERTY_GROUP:
+		    legendpropertynode = document.createElement("propertygroup");
+		    if(isItemExpanded(item))
+		    {
+			legendpropertynode.setAttribute("open","true");	
+		    }
+		    else
+		    {
+			legendpropertynode.setAttribute("open","false");
+		    }
+		    legendlayernode.appendChild(legendpropertynode);
+		    break;
+
+		case QgsLegendItem::LEGEND_SYMBOL_GROUP:
+		    legendsymbolnode = document.createElement("symbolgroup");
+		    if(isItemExpanded(item))
+		    {
+			legendsymbolnode.setAttribute("open", "true");
+		    }
+		    else
+		    {
+			legendsymbolnode.setAttribute("open", "false");
+		    }
+		    legendlayernode.appendChild(legendsymbolnode);
+		    break;
+		
+  
+		case QgsLegendItem::LEGEND_LAYER_FILE_GROUP:
+		    layerfilegroupnode = document.createElement("filegroup");
+		    if(isItemExpanded(item))
+		    {
+		      layerfilegroupnode.setAttribute("open", "true");
+		    }
+		    else
+		    {
+		      layerfilegroupnode.setAttribute("open", "false");
+		    }
+		    if(isItemHidden(item))
+		    {
+		      layerfilegroupnode.setAttribute("hidden", "true");
+		    }
+		    else
+		    {
+		      layerfilegroupnode.setAttribute("hidden", "false");
+		    }
+		       
+		    legendlayernode.appendChild(layerfilegroupnode);
+		    break;
+	    
+	      case QgsLegendItem::LEGEND_LAYER_FILE:
+		legendlayerfilenode = document.createElement("legendlayerfile");
+		llf = dynamic_cast<QgsLegendLayerFile*>(item);
+		if(llf)
+		  {
+        QgsMapLayer* layer = llf->layer();
+        
+        // layer id
+		    legendlayerfilenode.setAttribute("layerid", layer->getLayerID());
+		    layerfilegroupnode.appendChild(legendlayerfilenode);
+		  
+        // visible flag
+        legendlayerfilenode.setAttribute( "visible", llf->isVisible());
+
+        // show in overview flag
+        legendlayerfilenode.setAttribute( "inOverview", llf->isInOverview());
+    
+    }
+		break;
+
+		default: //do nothing for the leaf nodes
+		    break;
+	    }
+	}
+	currentItem = nextItem(currentItem);
+    }
+    return true;
+}
+
+bool QgsLegend::readXML(QDomNode& legendnode)
+{
+  QDomElement childelem;
+  QDomNode child;
+  QgsLegendGroup* lastGroup = 0; //pointer to the last inserted group
+  QgsLegendLayer* lastLayer = 0; //pointer to the last inserted legendlayer
+  QgsLegendLayerFileGroup* lastLayerFileGroup = 0; //pointer to the last inserted layerfilegroup
+  
+  child = legendnode.firstChild();
+
+  // For some unexplained reason, collapsing/expanding the legendLayer items
+  // immediately after they have been created doesn't work (they all end up
+  // expanded). The legendGroups and legendLayerFiles seems ok through. The
+  // workaround is to store the required states of the legendLayers and set
+  // them at the end of this function.
+  QList<QTreeWidgetItem*> collapsed, expanded;
+
+  if(!child.isNull())
+    {
+      clear(); //remove all items first
+      mStateOfCheckBoxes.clear();
+
+      do
+	{
+	  QDomElement childelem = child.toElement();
+	  QString name = childelem.attribute("name");
+
+	  //test every possibility of element...
+	  if(childelem.tagName()=="legendgroup")
+	    {
+	      QgsLegendGroup* theGroup = new QgsLegendGroup(this, name);
+	      childelem.attribute("open") == "true" ? expanded.push_back(theGroup) : collapsed.push_back(theGroup);
+	      //set the checkbox of the legend group to the right state
+	      blockSignals(true);
+	      QString checked = childelem.attribute("checked");
+	      if(checked == "Qt::Checked")
+		{
+		  theGroup->setCheckState(0, Qt::Checked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theGroup, Qt::Checked));
+		}
+	      else if(checked == "Qt::Unchecked")
+		{
+		  theGroup->setCheckState(0, Qt::Unchecked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theGroup, Qt::Unchecked));
+		}
+	      else if(checked == "Qt::PartiallyChecked")
+		{
+		  theGroup->setCheckState(0, Qt::PartiallyChecked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theGroup, Qt::PartiallyChecked));
+		}
+	      blockSignals(false);
+	      lastGroup = theGroup;
+	    }
+	  else if(childelem.tagName()=="legendlayer")
+	    {
+	      //add the legendlayer to the legend (but no legendlayerfile yet, follows later)
+	      //if childelem is in a legendgroup element, add the layer to the group
+	      QgsLegendLayer* theLayer;
+	      if(child.parentNode().toElement().tagName() == "legendgroup")
+		{
+		  theLayer = new QgsLegendLayer(lastGroup, name);
+		}
+	      else
+		{
+		  theLayer = new QgsLegendLayer(this, name);
+		  lastGroup = 0;
+		}
+	      childelem.attribute("open") == "true" ? expanded.push_back(theLayer) : collapsed.push_back(theLayer);
+	      
+	      //set the checkbox of the legend layer to the right state
+	      blockSignals(true);
+	      QString checked = childelem.attribute("checked");
+	      if(checked == "Qt::Checked")
+		{
+		  theLayer->setCheckState(0, Qt::Checked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theLayer, Qt::Checked));
+		}
+	      else if(checked == "Qt::Unchecked")
+		{
+		  theLayer->setCheckState(0, Qt::Unchecked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theLayer, Qt::Unchecked));
+		}
+	      else if(checked == "Qt::PartiallyChecked")
+		{
+		  theLayer->setCheckState(0, Qt::PartiallyChecked);
+		  mStateOfCheckBoxes.insert(std::make_pair(theLayer, Qt::PartiallyChecked));
+		}
+	      blockSignals(false);
+
+	      lastLayer = theLayer;
+	    }
+	  else if(childelem.tagName()=="legendlayerfile")
+	    {
+	      //find out the legendlayer
+	      std::map<QString,QgsMapLayer*> mapLayers = QgsMapLayerRegistry::instance()->mapLayers();
+	      std::map<QString, QgsMapLayer*>::const_iterator iter = mapLayers.find(childelem.attribute("layerid"));
+	      if(iter == mapLayers.end()) //the layer cannot be found (e.g. the file has been moved)
+		{
+		  //remove the whole legendlayer if this is the only legendlayerfile
+		  if(childelem.previousSibling().isNull() && childelem.nextSibling().isNull())
+		    {
+		      collapsed.remove(lastLayer);
+		      expanded.remove(lastLayer);
+		      delete lastLayer;
+		    }
+		}
+	      else if(lastLayerFileGroup)
+		{
+		  QgsMapLayer* theMapLayer = iter->second;
+		  QgsLegendLayerFile* theLegendLayerFile = new QgsLegendLayerFile(lastLayerFileGroup, QgsLegendLayerFile::nameFromLayer(theMapLayer), theMapLayer);
+
+      // load layer's visibility and 'show in overview' flag
+      theLegendLayerFile->setVisible(atoi(childelem.attribute("visible")));
+      theLegendLayerFile->setInOverview(atoi(childelem.attribute("inOverview")));
+		  
+      //set the check state
+		  blockSignals(true);
+		  if(theLegendLayerFile->isVisible())
+		    {
+		      mStateOfCheckBoxes.insert(std::make_pair(theLegendLayerFile, Qt::Checked));
+		      theLegendLayerFile->setCheckState(0, Qt::Checked);
+		    }
+		  else
+		    {
+		      mStateOfCheckBoxes.insert(std::make_pair(theLegendLayerFile, Qt::Unchecked));
+		      theLegendLayerFile->setCheckState(0, Qt::Unchecked);
+		    }
+		  blockSignals(false);
+		  
+		  //set the layer type icon if this legendlayerfile is the last in the file group
+		  if(child.nextSibling().isNull())
+		  {
+		    static_cast<QgsLegendLayer*>(theLegendLayerFile->parent()->parent())->setLayerTypeIcon();
+		  }
+    
+      theLegendLayerFile->updateLegendItem();
+      refreshLayerSymbology(theMapLayer->getLayerID());
+		}
+	    }
+	  else if(childelem.tagName()=="filegroup")
+	    {
+	      QgsLegendLayerFileGroup* theFileGroup = new QgsLegendLayerFileGroup(lastLayer, "Files");
+	      childelem.attribute("open") == "true" ? expandItem(theFileGroup) : collapseItem(theFileGroup);
+	      childelem.attribute("hidden") == "true" ? theFileGroup->setHidden(true) : theFileGroup->setHidden(false);
+	      lastLayerFileGroup = theFileGroup;
+	    }
+	  else if(childelem.tagName() == "propertygroup")
+	    {
+	      QgsLegendPropertyGroup* thePropertyGroup = new QgsLegendPropertyGroup(lastLayer, "Properties");
+	      childelem.attribute("open") == "true" ? expandItem(thePropertyGroup) : collapseItem(thePropertyGroup);
+	    }	  
+	  child = nextDomNode(child);
+	}
+      while(!(child.isNull()));
+    }
+
+  // Do the tree item expands and collapses.
+  for (int i = 0; i < expanded.size(); ++i)
+      expandItem(expanded[i]);
+  for (int i = 0; i < collapsed.size(); ++i)
+      collapseItem(collapsed[i]);
+
+  return true;
+}
+
+void QgsLegend::storeInitialPosition(QTreeWidgetItem* li)
+{
+  if(li == firstItem()) //the item is the first item in the list view
+    {
+      mRestoreInformation = FIRST_ITEM;
+      mRestoreItem = 0;
+    }
+  else if(li->parent() == 0) //li is a toplevel item, but not the first one
+    {
+      mRestoreInformation = YOUNGER_SIBLING;
+      mRestoreItem = ((QgsLegendItem*)(li))->findYoungerSibling();
+    }
+  else if(li == li->parent()->child(0))//li is not a toplevel item, but the first child
+    {
+      mRestoreInformation = FIRST_CHILD;
+      mRestoreItem = li->parent();
+    }
+  else
+    {
+      mRestoreInformation = YOUNGER_SIBLING;
+      mRestoreItem = ((QgsLegendItem*)(li))->findYoungerSibling();
+    }
+  mLayersPriorToMove = layerIDs();
+}
+
+void QgsLegend::resetToInitialPosition(QTreeWidgetItem* li)
+{
+  QgsLegendItem* formerParent = dynamic_cast<QgsLegendItem*>(li->parent()); //todo: make sure legend layers are updated
+  if(mRestoreInformation == FIRST_ITEM)
+    {
+#ifdef QGISDEBUG
+      qWarning("FIRST_ITEM");
+#endif
+      removeItem(li);
+      insertTopLevelItem(0, li);
+    }
+  else if(mRestoreInformation == FIRST_CHILD)
+    {
+#ifdef QGISDEBUG
+      qWarning("FIRST_CHILD");
+#endif
+      removeItem(li);
+      if(formerParent)
+	{
+	  formerParent->release((QgsLegendItem*)li);
+	}
+      mRestoreItem->insertChild(0, li);
+      ((QgsLegendItem*)mRestoreItem)->receive((QgsLegendItem*)li);
+    }
+  else if(mRestoreInformation == YOUNGER_SIBLING)
+    {
+#ifdef QGISDEBUG
+      qWarning("YOUNGER_SIBLING");
+#endif
+      if(formerParent)
+	{
+	  formerParent->release((QgsLegendItem*)li);
+	}
+      dynamic_cast<QgsLegendItem*>(li)->moveItem(dynamic_cast<QgsLegendItem*>(mRestoreItem));
+      if(mRestoreItem->parent())
+	{
+	  ((QgsLegendItem*)(mRestoreItem->parent()))->receive((QgsLegendItem*)li);
+	}
+    }
+}
+
+QgsLegendLayer* QgsLegend::findLegendLayer(const QString& layerKey)
+{
+  QgsLegendLayer* theLegendLayer = 0;
+  std::list<QgsMapLayer*> theMapLayers;
+  QTreeWidgetItem* theItem = firstItem();
+  do
+    {
+      theLegendLayer = dynamic_cast<QgsLegendLayer*>(theItem);
+      if(theLegendLayer) //item is a legend layer
+	{
+	  theMapLayers = theLegendLayer->mapLayers();
+	  for(std::list<QgsMapLayer*>::iterator it = theMapLayers.begin(); it != theMapLayers.end(); ++it)
+	    {
+	      if((*it)->getLayerID() == layerKey)
+		{
+		  return theLegendLayer;
+		}
+	    }
+	}
+    }
+  while((theItem = nextItem(theItem)));
+  return 0;
+}
+
+void QgsLegend::adjustIconSize()
+{
+  if(mPixmapWidthValues.size() > 0 && mPixmapHeightValues.size() > 0)
+    { 
+      std::multiset<int>::const_reverse_iterator width_it = mPixmapWidthValues.rbegin();
+      std::multiset<int>::const_reverse_iterator height_it = mPixmapHeightValues.rbegin();
+      int maxWidth = *width_it;
+      int maxHeight = *height_it;
+
+      QSize currentIconSize = iconSize();
+      if(maxWidth == currentIconSize.width() && maxHeight == currentIconSize.height())
+	{
+	  //no resizing necessary
+	  return;
+	}
+
+      //keep the minimum size
+      if(maxWidth < mMinimumIconSize.width())
+	{
+	  maxWidth = mMinimumIconSize.width();
+	}
+      if(maxHeight < mMinimumIconSize.height())
+	{
+	  maxHeight = mMinimumIconSize.height();
+	}
+
+      setIconSize(QSize(maxWidth, maxHeight));
+    }
+}
+
+bool QgsLegend::yCoordAboveCenter(QgsLegendItem* it, int ycoord)
+{
+  QRect rect = visualItemRect(it);
+  int height = rect.height();
+  int top = rect.top();
+  int mid = top + (height / 2);
+  if (ycoord > mid) //bottom, remember the y-coordinate increases downwards
+    {
+      return false;
+    }
+  else//top
+    {
+      return true;
+    }
+}
+
+/**Returns the first item in the hierarchy*/
+QTreeWidgetItem* QgsLegend::firstItem()
+{
+  return topLevelItem(0);
+}
+
+/**Returns the next item (next sibling or next item on level above)*/
+QTreeWidgetItem* QgsLegend::nextItem(QTreeWidgetItem* item)
+{
+  QgsLegendItem* litem = dynamic_cast<QgsLegendItem*>(item);
+  if(litem->childCount() > 0)
+    {
+      return litem->child(0);
+    }
+  else if(litem->nextSibling())
+    {
+      return litem->nextSibling();
+    }
+  else if(!(litem->parent()))
+    {
+      return 0;
+    }
+  //go to other levels to find the next item
+  else if(litem->parent() && ((QgsLegendItem*)(litem->parent()))->nextSibling())
+    {
+      return (dynamic_cast<QgsLegendItem*>(litem->parent())->nextSibling());
+    }
+  else if(litem->parent() && litem->parent()->parent() && ((QgsLegendItem*)(litem->parent()->parent()))->nextSibling())
+    {
+      return (dynamic_cast<QgsLegendItem*>(litem->parent()->parent())->nextSibling());
+    }
+  else if(litem->parent() && litem->parent()->parent() && litem->parent()->parent()->parent() &&\
+	  ((QgsLegendItem*)(litem->parent()->parent()->parent()))->nextSibling())//maximum four nesting states in the current legend
+    {
+      return (dynamic_cast<QgsLegendItem*>(litem->parent()->parent()->parent())->nextSibling());
+    }
+  else
+    {
+      return 0;
+    }
+}
+
+QTreeWidgetItem* QgsLegend::nextSibling(QTreeWidgetItem* item)
+{
+  QModelIndex thisidx = indexFromItem(item);
+  QModelIndex nextsidx = thisidx.sibling(thisidx.row()+1, thisidx.column());
+  if(nextsidx.isValid())
+    {
+      return dynamic_cast<QgsLegendItem*>(itemFromIndex(nextsidx));
+    }
+  else
+    {
+      return 0;
+    }
+}
+
+QTreeWidgetItem* QgsLegend::previousSibling(QTreeWidgetItem* item)
+{
+  QModelIndex thisidx = indexFromItem(item);
+  QModelIndex nextsidx = thisidx.sibling(thisidx.row()-1, thisidx.column());
+  if(nextsidx.isValid())
+    {
+      return dynamic_cast<QgsLegendItem*>(itemFromIndex(nextsidx));
+    }
+  else
+    {
+      return 0;
+    }
+}
+
+QDomNode QgsLegend::nextDomNode(const QDomNode& theNode)
+{
+  if(!theNode.firstChild().isNull())
+    {
+      return (theNode.firstChild());
+    }
+  
+  QDomNode currentNode = theNode;
+  do
+    {
+      if(!currentNode.nextSibling().isNull())
+	{
+	  return currentNode.nextSibling();
+	}
+      currentNode = currentNode.parentNode();
+    }
+  while(!currentNode.isNull());
+  
+  QDomNode nullNode;
+  return nullNode;
+}
+
+void QgsLegend::insertItem(QTreeWidgetItem* move, QTreeWidgetItem* into)
+{
+  QgsLegendItem* movedItem = dynamic_cast<QgsLegendItem*>(move);
+  QgsLegendItem* intoItem = dynamic_cast<QgsLegendItem*>(into);
+
+  if(movedItem && intoItem)
+    {
+      QgsLegendItem* parentItem = dynamic_cast<QgsLegendItem*>(movedItem->parent());
+      movedItem->storeAppearanceSettings();//store settings in the moved item and its children
+      removeItem(movedItem);
+      intoItem->insert(movedItem);
+      if(parentItem)
+	{
+	  parentItem->release(movedItem); //give the former parent item the possibility to do cleanups
+	}
+      intoItem->receive(movedItem);
+      movedItem->restoreAppearanceSettings();//apply the settings again
+    }
+}
+
+void QgsLegend::moveItem(QTreeWidgetItem* move, QTreeWidgetItem* after)
+{
+  static_cast<QgsLegendItem*>(move)->storeAppearanceSettings();//store settings in the moved item and its childern
+  if(move->parent())
+    {
+      move->parent()->takeChild(move->parent()->indexOfChild(move));
+    }
+  else //move is toplevel item
+    {
+      takeTopLevelItem(indexOfTopLevelItem(move));
+    }
+  if(after->parent())
+    {
+      after->parent()->insertChild(after->parent()->indexOfChild(after)+1, move);
+    }
+  else //toplevel item
+    {
+      insertTopLevelItem(indexOfTopLevelItem(after)+1, move);
+    }
+  static_cast<QgsLegendItem*>(move)->restoreAppearanceSettings();//apply the settings again
+}
+
+void QgsLegend::removeItem(QTreeWidgetItem* item)
+{
+  if(item->parent())
+    {
+      item->parent()->takeChild(item->parent()->indexOfChild(item));
+    }
+  else
+    {
+      takeTopLevelItem(indexOfTopLevelItem(item));
+    }
+}
+
+void QgsLegend::updateMapCanvasLayerSet()
+{ 
+  //std::deque<QString> layers = layerIDs();
+  
+  QList<QgsMapCanvasLayer> layers;
+  
+  // create list of the layers
+  QTreeWidgetItem* theItem = firstItem();
+  while (theItem)
+  {
+    QgsLegendItem *li = dynamic_cast<QgsLegendItem*>(theItem);
+    QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(li);
+    if(llf)
+    {
+      QgsMapCanvasLayer& lyr = llf->canvasLayer();
+      layers.append(lyr);
+    }
+    theItem = nextItem(theItem);
+  }
+
+  // set layers in canvas
+  mMapCanvas->setLayerSet(layers);
+}
+
+void QgsLegend::updateOverview()
+{
+  mMapCanvas->updateOverview();
+}
+
+void QgsLegend::setOverviewAllLayers(bool inOverview)
+{
+  QTreeWidgetItem* theItem = firstItem();
+  while(theItem)
+    {
+      QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(theItem);
+      if(llf)
+	{
+	  llf->setInOverview(inOverview);
+	}
+      theItem = nextItem(theItem);
+    }
+  updateMapCanvasLayerSet();
+  updateOverview();
+}
+
+std::deque<QString> QgsLegend::layerIDs()
+{
+  std::deque<QString> layers;
+  QTreeWidgetItem* theItem = firstItem();
+  while (theItem)
+    {
+      QgsLegendItem *li = dynamic_cast<QgsLegendItem*>(theItem);
+      QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(li);
+      if(llf)
+	{
+	  QgsMapLayer *lyr = llf->layer();
+	  layers.push_front(lyr->getLayerID());
+	}
+      theItem = nextItem(theItem);
+    }
+  
+#ifdef QGISDEBUG
+  qWarning("QgsLegend::layerIDs()");
+  for(std::deque<QString>::iterator it = layers.begin(); it != layers.end(); ++it)
+    {
+      qWarning(*it);
+    }
+#endif
+
+  return layers;
+}
+
+
+void QgsLegend::refreshLayerSymbology(QString key)
+{
+  QgsLegendLayer* theLegendLayer = findLegendLayer(key);
+  if(!theLegendLayer)
+  {
+    return;
+  }
+  
+  //store the current item
+  QTreeWidgetItem* theCurrentItem = currentItem();
+
+  theLegendLayer->refreshSymbology(key);
+  
+  //restore the current item again
+  setCurrentItem(theCurrentItem);
+  adjustIconSize();
+  setItemExpanded(theLegendLayer, true);//make sure the symbology items are visible
+}
+
+
+void QgsLegend::addPixmapWidthValue(int width)
+{
+  mPixmapWidthValues.insert(width);
+}
+
+void QgsLegend::addPixmapHeightValue(int height)
+{
+  mPixmapHeightValues.insert(height);
+}
+
+void QgsLegend::removePixmapWidthValue(int width)
+{
+  std::multiset<int>::iterator it = mPixmapWidthValues.find(width);
+  if (it != mPixmapWidthValues.end())
+    {
+      mPixmapWidthValues.erase(it);
+    }
+  //todo: adapt the icon size if width is the largest value and the size of the next element is higher than the minimum
+}
+
+void QgsLegend::removePixmapHeightValue(int height)
+{
+  std::multiset<int>::iterator it = mPixmapHeightValues.find(height);
+  if (it != mPixmapHeightValues.end())
+    {
+      mPixmapHeightValues.erase(height);
+    }
+  //todo: adapt the icon size if height is the largest value and the size of the next element is higher than the minimum
+}
+
+void QgsLegend::setName(QgsLegendLayerFile* legendLayerFile,
+                        QString layerName)
+{
+  if (legendLayerFile)
+  {
+    QTreeWidgetItem* p = legendLayerFile->parent();
+    if (p)
+    {
+      p = p->parent();
+      if (p)
+        p->setText(0, layerName);
+    }
+  }
+
+}
+
+void QgsLegend::handleItemChange(QTreeWidgetItem* item, int row)
+{
+  if(!item)
+    {
+      return;
+    }
+
+  closePersistentEditor(item, row);
+  //if the text of a QgsLegendLayer has changed, change the display names of all its maplayers
+  QgsLegendLayer* theLegendLayer = dynamic_cast<QgsLegendLayer*>(item); //item is a legend layer
+  if(theLegendLayer)
+    {
+       std::list<QgsMapLayer*> theMapLayers = theLegendLayer->mapLayers();
+       for(std::list<QgsMapLayer*>::iterator it = theMapLayers.begin(); it != theMapLayers.end(); ++it)
+	 {
+	   (*it)->setLayerName(theLegendLayer->text(0));
+	 }
+    }
+
+  std::map<QTreeWidgetItem*, Qt::CheckState>::iterator it = mStateOfCheckBoxes.find(item);
+  if (it == mStateOfCheckBoxes.end())
+    return;
+    
+  // has the checkState changed?
+  if (it->second == item->checkState(0))
+	 return;
+	  
+  QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(item); //item is a layer file
+  if(llf)
+  {
+    if(llf->layer())
+		{
+		  llf->setVisible(item->checkState(0) == Qt::Checked);
+		}
+    //update check state of the legend layer
+    QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(item->parent()->parent());
+    if(ll)
+		{
+		  ll->updateCheckState();
+		  mStateOfCheckBoxes[ll] = ll->checkState(0);
+		}
+    //update check state of the legend group (if any)
+    if(item->parent()->parent()->parent())
+		{
+		  QgsLegendGroup* lg = dynamic_cast<QgsLegendGroup*>(item->parent()->parent()->parent());
+		  if(lg)
+		    {
+		      lg->updateCheckState();
+		      mStateOfCheckBoxes[lg] = lg->checkState(0);
+		    }
+		}
+    mStateOfCheckBoxes[item] = item->checkState(0);
+    // Setting the renderFlag to true will trigger a render,
+    // so only do this if the flag is alread set to true. 
+    if (mMapCanvas->renderFlag())
+      mMapCanvas->setRenderFlag(true);
+  }
+	  
+  std::list<QgsLegendLayerFile*> subfiles;
+  QgsLegendGroup* lg = dynamic_cast<QgsLegendGroup*>(item); //item is a legend group
+  if(lg)
+  {
+    //set all the child layer files to the new check state
+    subfiles = lg->legendLayerFiles();
+    bool renderFlagState = mMapCanvas->renderFlag();
+    mMapCanvas->setRenderFlag(false);
+    for(std::list<QgsLegendLayerFile*>::iterator iter = subfiles.begin(); iter != subfiles.end(); ++iter)
+		{
+#ifdef QGISDEBUG
+		  if(item->checkState(0) == Qt::Checked)
+		    {
+		      qWarning("item checked");
+		    }
+		  else if(item->checkState(0) == Qt::Unchecked)
+		    {
+		      qWarning("item unchecked");
+		    }
+		  else if(item->checkState(0) == Qt::PartiallyChecked)
+		    {
+		      qWarning("item partially checked");
+		    }
+#endif
+		  blockSignals(true);
+		  (*iter)->setCheckState(0, item->checkState(0));
+		  blockSignals(false);
+		  mStateOfCheckBoxes[(*iter)] = item->checkState(0);
+		  if((*iter)->layer())
+      {
+        (*iter)->setVisible(item->checkState(0) == Qt::Checked);
+      }
+		}
+	      
+    //update the check states of all child legend layers
+    for(int i = 0; i < lg->childCount(); ++i)
+		{
+		  static_cast<QgsLegendLayer*>(lg->child(i))->updateCheckState();
+		  mStateOfCheckBoxes[lg->child(i)] = lg->child(i)->checkState(0);
+		}
+    // If it was on, turn it back on, otherwise leave it
+    // off, as turning it on causes a refresh.
+    if (renderFlagState)
+      mMapCanvas->setRenderFlag(true);
+    mStateOfCheckBoxes[item] = item->checkState(0);
+  }
+  
+  QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(item); //item is a legend layer
+  if(ll)
+  {
+    //set all the child layer files to the new check state
+    subfiles = ll->legendLayerFiles();
+    bool renderFlagState = mMapCanvas->renderFlag();
+    mMapCanvas->setRenderFlag(false);
+    for(std::list<QgsLegendLayerFile*>::iterator iter = subfiles.begin(); iter != subfiles.end(); ++iter)
+		{
+		  blockSignals(true);
+		  (*iter)->setCheckState(0, item->checkState(0));
+		  blockSignals(false);
+		  mStateOfCheckBoxes[(*iter)] = item->checkState(0);
+		  if((*iter)->layer())
+      {
+        (*iter)->setVisible(item->checkState(0) == Qt::Checked);
+      }
+		}
+    if(ll->parent())
+		{
+		  static_cast<QgsLegendGroup*>(ll->parent())->updateCheckState();
+		  mStateOfCheckBoxes[ll->parent()] = ll->parent()->checkState(0);
+		}
+    // If it was on, turn it back on, otherwise leave it
+    // off, as turning it on causes a refresh.
+    if (renderFlagState)
+      mMapCanvas->setRenderFlag(true);
+    //update check state of the legend group
+    mStateOfCheckBoxes[item] = item->checkState(0);
+  }
+    
+  // update layer set
+  updateMapCanvasLayerSet();
+}
+
+void QgsLegend::openEditor()
+{
+  QTreeWidgetItem* theItem = currentItem();
+  if(theItem)
+    {
+      openPersistentEditor(theItem, 0);
+    }
+}
+
+void QgsLegend::makeToTopLevelItem()
+{
+  QgsLegendItem* theItem = dynamic_cast<QgsLegendItem*>(currentItem());
+  if(theItem)
+    {
+      theItem->storeAppearanceSettings();
+      removeItem(theItem);
+      addTopLevelItem(theItem);
+      theItem->restoreAppearanceSettings();
+    }
+}
+
+void QgsLegend::showLegendLayerFileGroups()
+{
+  // Toggle the boolean associated with the checkbox
+  mShowLegendLayerFiles = !mShowLegendLayerFiles;
+
+  QgsLegendLayerFileGroup* theFileGroup = 0;
+  QTreeWidgetItem* theItem = firstItem();
+  
+  if(!theItem)
+    {
+      return;
+    }
+
+  do
+    {
+      // This call seems to fix a bug in Qt4.2 (qgis trac #405) whereby the
+      // setHidden() call in the if statement below doesn't result in
+      // correct drawing of the visible file group part of the tree,
+      // but doing this setHidden() call does result in correct drawing.
+      theItem->setHidden(false);
+
+      theFileGroup = dynamic_cast<QgsLegendLayerFileGroup*>(theItem);
+      if(theFileGroup)
+      {
+        theFileGroup->setHidden(!mShowLegendLayerFiles);
+      }
+    }
+  while((theItem = nextItem(theItem)));
+}
+
+void QgsLegend::legendLayerZoom()
+{
+  std::list<QgsLegendLayerFile*> layerFiles;
+  
+  //find current Layer
+  QgsLegendLayer* currentLayer=dynamic_cast<QgsLegendLayer*>(currentItem());
+  if (currentLayer)
+  {
+    layerFiles = currentLayer->legendLayerFiles();
+  }
+  else
+  {
+    QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(currentItem());
+    if (llf)
+    {
+      // user selected legend layer file - use just that one
+      layerFiles.push_back(llf);
+    }
+  }
+  
+  if(layerFiles.size() == 0)
+    return;
+  
+  QgsMapLayer* theLayer;
+  bool first(true);
+  QgsRect extent;
+  
+  for(std::list<QgsLegendLayerFile*>::iterator it= layerFiles.begin(); it != layerFiles.end(); ++it)
+  {
+    theLayer = (*it)->layer();
+    if (!theLayer)
+      continue;
+      
+    QgsRect lyrExtent = mMapCanvas->mapRender()->layerExtentToOutputExtent(theLayer, theLayer->extent());
+    
+    if (!lyrExtent.isFinite())
+      lyrExtent = theLayer->extent();
+  
+    if (first)
+    {
+      extent = lyrExtent;
+      first = false;
+    }
+    else
+    {
+      extent.combineExtentWith(&lyrExtent);
+    }
+  }
+
+  //zoom to bounding box
+  mMapCanvas->setExtent(extent);
+  mMapCanvas->refresh(); 
+
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+void QgsLegend::legendLayerZoomNative()
+{
+  QgsLegendItem* citem=dynamic_cast<QgsLegendItem*>(currentItem());
+  if(!citem)
+  {
+      return;
+  }
+  QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(citem);
+  if(!ll)
+  {
+    return;
+  }
+  QgsRasterLayer *layer =  dynamic_cast<QgsRasterLayer*>(ll->firstMapLayer()); 
+  if(layer)
+  {
+    QgsDebugMsg("Raster units per pixel  : " + QString::number(layer->rasterUnitsPerPixel()));
+    QgsDebugMsg("Mupp before             : " + QString::number(mMapCanvas->mupp()));
+
+    mMapCanvas->zoom(fabs( layer->rasterUnitsPerPixel() / mMapCanvas->mupp()));
+    mMapCanvas->refresh();
+
+    QgsDebugMsg("Mupp after              : " + QString::number(mMapCanvas->mupp()));
+
+    // notify the project we've made a change
+    QgsProject::instance()->dirty(true);
+  }
+}
+
+void QgsLegend::legendLayerAttributeTable()
+{
+
+  // try whether it's a legend layer
+  QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(currentItem());
+  if (ll)
+  {
+    ll->table();
+    return;
+  }
+  
+  // try whether it's a legend layer file
+  QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(currentItem());
+  if (llf)
+  {
+    llf->table();
+    return;
+  }
+
+  // nothing selected
+  QMessageBox::information(this, tr("No Layer Selected"),
+                           tr("To open an attribute table, you must select a vector layer in the legend"));
+}
+
+void QgsLegend::initPixmaps()
+{
+  QString myThemePath = QgsApplication::themePath();
+  mPixmaps.mOriginalPixmap.load(myThemePath + "/mActionFileSmall.png");
+  mPixmaps.mInOverviewPixmap.load(myThemePath + "/mActionInOverview.png");
+  mPixmaps.mEditablePixmap.load(myThemePath + "/mIconEditable.png");
+  mPixmaps.mProjectionErrorPixmap.load(myThemePath + "/mIconProjectionProblem.png");
+}
+
+void QgsLegend::readProject(const QDomDocument & doc)
+{
+  QDomNodeList nodes = doc.elementsByTagName("legend");
+  if (nodes.count())
+  {
+    QDomNode node = nodes.item(0);
+    readXML(node);
+    
+    // update canvas layers to match the order defined by legend
+    updateMapCanvasLayerSet();
+  }
+  else
+  {
+    QgsDebugMsg("Couldn't read legend information from project");
+  }
+}
+  
+void QgsLegend::writeProject(QDomDocument & doc)
+{
+  QDomNodeList nl = doc.elementsByTagName("qgis");
+  if (!nl.count())
+  {
+    QgsDebugMsg("Unable to find qgis element in project file");
+    return;
+  }
+  QDomNode qgisNode = nl.item(0);  // there should only be one, so zeroth element ok
+  
+  QDomElement mapcanvasNode = doc.createElement("legend");
+  qgisNode.appendChild(mapcanvasNode);
+  writeXML(mapcanvasNode, doc);
+}
+
+
+bool QgsLegend::checkLayerOrderUpdate()
+{
+  std::deque<QString> layersAfterRelease = layerIDs(); //test if canvas redraw is really necessary
+  if(layersAfterRelease != mLayersPriorToMove)
+    {
+      // z-order has changed - update layer set
+      updateMapCanvasLayerSet();
+      return true;
+    }
+  return false;
+}


Property changes on: packages/qgis/branches/upstream/current/src/app/legend/qgslegend.cpp
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegend.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegend.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegend.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,420 @@
+/***************************************************************************
+                          qgslegend.h  -  description
+                             -------------------
+    begin                : Sun Jul 28 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+               Romans 3:23=>Romans 6:23=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgslegend.h 7180 2007-09-06 18:23:44Z mhugent $ */
+
+#ifndef QGSLEGEND_H
+#define QGSLEGEND_H
+
+#include <deque>
+#include <map>
+#include <set>
+#include <QTreeWidget>
+
+class QgsLegendLayer;
+class QgsLegendLayerFile;
+class QgsLegendItem;
+class QgsMapLayer;
+class QgsMapCanvas;
+class QDomDocument;
+class QDomNode;
+class QMouseEvent;
+class QTreeWidgetItem;
+
+/**
+   \class QgsLegend
+   \brief A Legend treeview for QGIS
+   Map legend is a specialised QListView designed to show grooups of map layers,
+   map layers, and the map layer members, properties and symbols for each layer.
+
+   The legend supports simple operations such as displaying an ordered list of 
+   layers in the current canvas, and complex operations such as drag/dropping 
+   layer symbologies and properties between layers. 
+
+   There are a variety of different items that can appear in a QgsLegend. All 
+   items added to a QgsLegend should be inherited from QgsLegendItem as this
+   will ensure that they can perform legend specific tasks such as seeing if
+   dropping of other items onto them is allowed, returning their type etc.
+
+   The following types are defined:
+   <ul>
+   <li>QgsLegendGroup - a group folder for many layers (can include other groups)</li>
+   <li>QgsLegendLayer - a layer that contains one or more files associated with it. 
+                        allowing more than one file lets you create virtual layers where
+                        1 or more files can share the same symbology and properties
+                        and be treated as they are one layer for things such as hiding / 
+                        showing, scale dependent visibility etc.</li>
+   <li>QgsLegendSymbologyGroup - a collabsable node that contains symbology items. Can
+                                only exist inside of a QgsLegendLayer</li>
+   <li>QgsLegendSymbologyItem - a class break (vector) or pallette entry (raster) etc. 
+                                Double clicking on a symbology item will let you change
+                                the properties for only that specific item. Can only exist
+                                inside a symbology group.</li>
+   <li>QgsLegendPropertyGroup - a collapsable node that shows 1 or more properties. Can
+                                only exist inside of a QgsLegendLayer</li>
+   <li>QgsLegendPropertyItem - A list of properties related to the layer. Double clicking
+                              a property item will invoke a dialog that will let you change
+                              the property settings. Can only exist inside a property group</li>
+   <li>QgsLegendLayerFileGroup - each QgsLegendLayer can have one or more files associated
+                              with it. This is the container group for these files. Can
+                              only exist inside of a QgsLegendLayer.</li>
+   <li>QgsLegendLayerFile -  A file node that relates to a file on disk. Assigning multiple
+                             file nodes in a file group allows you treat them as if they are
+                             one entity.</li>
+   </ul>
+   @note Additional group types may be defined in the future to accommodate WMS, PostGIS etc layers.
+   @author Gary E.Sherman, Tim Sutton, Marco Hugentobler and Jens Oberender
+*/
+
+class QgsLegend : public QTreeWidget
+{
+    Q_OBJECT;
+	
+ public:
+    /*! Constructor.
+   * @param qgis_app link to qgisapp   
+   * @param theParent An optional parent widget
+   * @param theName An optional name for the widget
+   */
+  QgsLegend(QWidget * parent = 0, const char *name = 0);
+
+  //! Destructor
+   ~QgsLegend();
+
+   /** Returns QgsLegendLayerFile associated with current layer */
+   QgsLegendLayerFile* currentLayerFile();
+  
+   /*!Returns the current layer if the current item is a QgsLegendLayerFile.
+   If the current item is a QgsLegendLayer, its first maplayer is returned.
+  Else, 0 is returned.*/
+  QgsMapLayer* currentLayer();
+
+  /**Writes the content of the legend to a project file*/
+  bool writeXML(QDomNode & layer_node, QDomDocument & document);
+
+  /**Restores the legend from a project file*/
+  bool readXML(QDomNode& legendnode);
+
+  /**Returns true, if the y-coordinate is >= the center of the item*/
+  bool yCoordAboveCenter(QgsLegendItem* it, int ycoord);
+
+  /**Returns the first item in the hierarchy*/
+  QTreeWidgetItem* firstItem();
+
+  /**Returns the next item (next sibling or next item on level above)*/
+  QTreeWidgetItem* nextItem(QTreeWidgetItem* item);
+
+  /**Returns the next sibling of an item or 0 if there is none*/
+  QTreeWidgetItem* nextSibling(QTreeWidgetItem* item);
+
+  /**Returns the previous sibling of an item or 0 if there is none*/
+  QTreeWidgetItem* previousSibling(QTreeWidgetItem* item);
+
+  /**Finds the next dom node. This function is used by QgsLegend, but probably its not a good place here*/
+  static QDomNode nextDomNode(const QDomNode& theNode);
+
+  /**Inserts an item into another one. Stores the item specific settings of the moved item (and its subitems)
+   and applies it afterwards again*/
+  void insertItem(QTreeWidgetItem* move, QTreeWidgetItem* into);
+
+  /**Moves an item after another one. Stores the item specific settings of the moved item (and its subitems)
+   and applies it afterwards again*/
+  void moveItem(QTreeWidgetItem* move, QTreeWidgetItem* after);
+
+  /**Removes an item from the legend. This is e.g. necessary before shifting it to another place*/
+  void removeItem(QTreeWidgetItem* item);
+
+  /**Returns the ids of the layers contained in this legend. The order is bottom->top*/
+  std::deque<QString> layerIDs();
+  
+  /**Updates layer set of map canvas*/
+  void updateMapCanvasLayerSet();
+  
+  /**Updates overview*/
+  void updateOverview();
+
+  /**Show/remove all layer in/from overview*/
+  void setOverviewAllLayers(bool inOverview);
+
+  /**Adds an entry to mPixmapWidthValues*/
+  void addPixmapWidthValue(int width);
+
+  /**Adds an entry to mPixmapHeightValues*/
+  void addPixmapHeightValue(int height);
+
+  /**Removes an entry from mPixmapWidthValues*/
+  void removePixmapWidthValue(int width);
+
+  /**Removes an entry from mPixmapHeightValues*/
+  void removePixmapHeightValue(int height);
+
+  /** Sets the name of the QgsLegendLayer that is the parent of 
+      the given QgsLegendLayerFile */
+  void setName(QgsLegendLayerFile* w, QString layerName);
+
+  /**Sets the toggle editing action. Usually called from QgisApp*/
+  void setToggleEditingAction(QAction* editingAction){mToggleEditingAction = editingAction;}
+
+  class QgsLegendPixmaps;
+  /**Returns structure with legend pixmaps*/
+  QgsLegendPixmaps& pixmaps() { return mPixmaps; }
+  
+  void updateCheckStates(QTreeWidgetItem* item, Qt::CheckState state) {mStateOfCheckBoxes[item] = state;}
+  
+public slots:
+
+    /*!Adds a new layer group with the maplayer to the canvas*/
+    void addLayer( QgsMapLayer * layer );
+
+    void setMapCanvas(QgsMapCanvas * canvas){mMapCanvas = canvas;}
+
+    /**Updates symbology items for a layer*/
+    void refreshLayerSymbology(QString key);
+  
+ /*!
+   * Slot called to clear the tree of all items
+   * @note Usually connected to a QgsMapCanvas that will ask its legend to clear itself.
+   * @return void
+   */
+  void removeAll();
+
+  /*!
+   * Called when the user wishes to toggle on or off all of the layers in
+   * the legend, and in the map.
+   * @return void
+   */
+  void selectAll(bool select);
+
+  /*!
+   * Slot called when user wishes to add a new empty layer group to the legend.
+   * The user will be prompted for the name of the newly added group.
+   * @return void
+   */
+  void addGroup();
+  void removeLayer(QString);
+
+  /** called to read legend settings from project */
+  void readProject(const QDomDocument &);
+    
+  /** called to write legend settings to project */
+  void writeProject(QDomDocument &);
+
+  /**Removes the current LegendLayer and all its LegendLayerFiles*/
+  void legendLayerRemove();
+  
+  /**Toggle show in overview for current layer*/
+  void legendLayerShowInOverview();
+
+  /**Zooms to extent of the current legend layer (considers there may be several
+  legend layer files*/
+  void legendLayerZoom();
+
+ /***Zooms so that the pixels of the raster layer occupies exactly one screen pixel.
+     Only works on raster layers*/
+  void legendLayerZoomNative();
+  
+  /**Show attribute table*/
+  void legendLayerAttributeTable();
+
+  /**Shows the property dialog of the first legend layer file in a legend layer*/
+  void legendLayerShowProperties();
+  
+protected:
+
+  /*!Event handler for mouse movements.
+   * Mainly intended so handle cases where user is dragging and dropping
+   * items into or out of groups, or is reordering layers.
+   * @note Overrides method of the same name in the QListView class.
+   * @return void
+   */ 
+  void mouseMoveEvent(QMouseEvent * e);
+
+  /*!
+   * Event handler for buton mouse presses.
+   * Mainly intended so handle cases where user is dragging and dropping
+   * items into or out of groups, or is reordering layers.
+   * @note Overrides method of the same name in the QListView class.
+   * @return void
+   */ 
+  void mousePressEvent(QMouseEvent * e);
+
+  /*!
+   * Event handler for mouse button releases.
+   * Mainly intended so handle cases where user is dragging and dropping
+   * items into or out of groups, or is reordering layers. Each sublass of
+   * QgsLegendItem has an accept method that defines behaviour rules for
+   * whether another QgsLegendItem child instance can be dropped onto it.
+   * <h1>Behaviour rules for dropped legend items</h1>
+   * <ul>
+   * <li> Symbology groups, properies groups and layers groups can only be dropped
+   * onto QgsLegendLayer nodes. </li> 
+   * <li>Only QgsLegendGroup and QgsLegendLayer can be top level items in the view</li>
+   * <li>Groups can be nested by dropping them into each other,</li>
+   * <li>Each group can have one or more layers</li>
+   * <li>Layers can be ordered by dragging them above or below another layer.</li>
+   * <li>The order for QgsLegendSymbologyGroup, QgsLegendPropertyGroup and QgsLegendLayerGroup
+   * is predefined to sort in that order.</li>
+   * </ul>
+   * @note Overrides method of the same name in the QListView class.
+   * @return void
+   */  
+  void mouseReleaseEvent(QMouseEvent * e);
+  void mouseDoubleClickEvent(QMouseEvent* e);
+
+    /**Stores the necessary information about the position of an item in the hierarchy. Afterwards, 
+this item may be moved back to the original position with resetToInitialPosition()*/
+  void storeInitialPosition(QTreeWidgetItem* li);
+  
+  /**Moves an item back to the position where storeInitialPosition has been called*/
+  void resetToInitialPosition(QTreeWidgetItem* li);
+
+  /**Returns the legend layer to which a map layer gelongs*/
+  QgsLegendLayer* findLegendLayer(const QString& layerKey);
+
+  /**Checks mPixmapWidthValues and mPixmapHeightValues and sets a new icon size if necessary*/
+  void adjustIconSize();
+
+  /**Initialize pixmaps - called when QgsLegend is constructed */
+  void initPixmaps();
+
+  /**This function compares the layer order before a drag with the current layer ordering and triggers a canvas repaint if it has changed*/
+  bool checkLayerOrderUpdate();
+
+  private slots:
+
+  /**Calls 'handleRightClickEvent' on the item*/
+  void handleRightClickEvent(QTreeWidgetItem* item, const QPoint& position);
+  /**Removes the current legend group*/
+  void legendGroupRemove();
+   /**Sets all listview items to open*/
+  void expandAll();
+  /**Sets all listview items to closed*/
+  void collapseAll();
+  /**Just for a test*/
+  void handleItemChange(QTreeWidgetItem* item, int row);
+  /** delegates current layer to map canvas */
+  void handleCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous);
+  /**Calls openPersistentEditor for the current item*/
+  void openEditor();
+  /**Removes the current item and inserts it as a toplevel item at the end of the legend*/
+  void makeToTopLevelItem();
+  /**Show/ Hide the legend layer file groups*/
+  void showLegendLayerFileGroups();
+  
+private:
+
+   /*! Prevent the copying of QgsLegends
+   * @todo See if this is really required - we may want multiple map, canvas and 
+           legend support at some stage in the future.
+   */
+  QgsLegend( QgsLegend const & );
+
+  /*!
+   * Prevent the copying of QgsLegends
+   * @todo See if this is really required - we may want multiple map, canvas and 
+           legend support at some stage in the future.
+   */
+  QgsLegend & operator=( QgsLegend const & );
+
+  /*!
+   * Position of mouse when it is pressed at the start of a drag event.
+   */
+  QPoint mLastPressPos;
+
+  /**True if the mouse is pressed*/
+  bool mMousePressedFlag;
+
+  /// keep track of the Item being dragged
+  QTreeWidgetItem* mItemBeingMoved;
+
+  /*!
+   * Position in the list of the item being moved as it was at the start of a drag event.
+   * An item at the top of the list will be 0 and each successive item below it
+   * will be 1,2 3 etc... regardless of nesting level.
+   */
+  int mItemBeingMovedOrigPos;
+
+  /**Information needed by 'storeInitialPosition' and 'resetToInitialPosition'*/
+  enum HIERARCHY_POSITION_TYPE
+    {
+      FIRST_ITEM,
+      FIRST_CHILD,
+      YOUNGER_SIBLING
+    };
+  HIERARCHY_POSITION_TYPE mRestoreInformation;
+  QTreeWidgetItem* mRestoreItem;
+
+  bool mShowLegendLayerFiles;
+
+  /**Stores the layer ordering before a mouse Move. After the move, this is used to
+   decide if the mapcanvas really has to be refreshed*/
+  std::deque<QString> mLayersPriorToMove;
+
+  /**Action for the legendlayer right click menu*/
+  QAction* mToggleEditingAction;
+
+  /*!
+   * A fuction sed to determin how far down in the list an item is (starting with one for the first Item.
+   *If the item is not in the legend, -1 is returned
+   * @see mItemBeingMovedOrigPos
+   */
+  int getItemPos(QTreeWidgetItem* item);
+
+  /**Pointer to the main canvas. Used for requiring repaints in case of legend changes*/
+  QgsMapCanvas* mMapCanvas;
+
+  /**Map that keeps track of which checkboxes are in which check state. This is necessary because QTreeView does not emit 
+     a signal for check state changes*/
+  std::map<QTreeWidgetItem*, Qt::CheckState> mStateOfCheckBoxes;
+
+  /**Stores the width values of the LegendSymbologyItem pixmaps. The purpose of this is that the legend may automatically change
+   the global IconWidth when items are added or removed*/
+  std::multiset<int> mPixmapWidthValues;
+
+  /**Stores the width values of the LegendSymbologyItem pixmaps. The purpose of this is that the legend may automatically change
+   the global IconWidth when items are added or removed*/
+  std::multiset<int> mPixmapHeightValues;
+
+  /**QgsLegend does not set the icon with/height to values lower than the minimum icon size*/
+  QSize mMinimumIconSize;
+  
+  /** structure which holds pixmap which are used in legend */
+  class QgsLegendPixmaps
+  {
+  public:
+    //! Pixmap which is shown by default
+    QPixmap mOriginalPixmap;
+    
+    //! Pixmap to show a bogus vertex was encoutnered in this layer (applies to vector layers only)
+    QPixmap mProjectionErrorPixmap;
+
+    //! Pixmap to show if this layer is represented in overview or now
+    QPixmap mInOverviewPixmap;
+
+    //! Pixmap to show it this layer has currently editing turned on
+    QPixmap mEditablePixmap;
+
+  } mPixmaps;
+
+signals:
+  void zOrderChanged(QgsLegend * lv);
+
+  //! Emited whenever current (selected) layer changes
+  //  the pointer to layer can be null if no layer is selected
+  void currentLayerChanged ( QgsMapLayer * layer );
+};
+#endif


Property changes on: packages/qgis/branches/upstream/current/src/app/legend/qgslegend.h
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,149 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include "qgsapplication.h"
+#include "qgslegendgroup.h"
+#include "qgslegendlayer.h"
+#include "qgslegendlayerfile.h"
+#include <QCoreApplication>
+#include <QIcon>
+
+QgsLegendGroup::QgsLegendGroup(QTreeWidgetItem * theItem ,QString theName)
+    : QgsLegendItem(theItem,theName)
+{
+  mType=LEGEND_GROUP;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  QIcon myIcon(QgsApplication::themePath()+"/mActionFolder.png");
+  setIcon(0, myIcon);
+}
+QgsLegendGroup::QgsLegendGroup(QTreeWidget* theListView, QString theString)
+    : QgsLegendItem(theListView,theString)
+{
+  mType=LEGEND_GROUP;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  QIcon myIcon(QgsApplication::themePath()+"/mActionFolder.png");
+  setIcon(0, myIcon);
+}
+
+QgsLegendGroup::QgsLegendGroup(QString name): QgsLegendItem()
+{
+  mType=LEGEND_GROUP;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  QIcon myIcon(QgsApplication::themePath()+"/mActionFolder.png");
+  setText(0, name);
+  setIcon(0, myIcon);
+}
+
+QgsLegendGroup::~QgsLegendGroup()
+{}
+
+
+bool QgsLegendGroup::isLeafNode()
+{
+  return mLeafNodeFlag;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendGroup::accept(LEGEND_ITEM_TYPE type)
+{
+    if ( type == LEGEND_GROUP )
+    {
+	return REORDER;
+    }
+    if( type == LEGEND_LAYER )
+    {
+	return INSERT;
+    }
+    else
+    {
+	return NO_ACTION;
+    }
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendGroup::accept(const QgsLegendItem* li) const
+{
+  if(li)
+    {
+      LEGEND_ITEM_TYPE type = li->type();
+      if ( type == LEGEND_GROUP )
+	{
+	  return REORDER;
+	}
+      if( type == LEGEND_LAYER )
+	{
+	  return INSERT;
+	}
+    }
+  return NO_ACTION;
+}
+
+bool QgsLegendGroup::insert(QgsLegendItem* theItem)
+{
+    if(theItem->type() == LEGEND_LAYER)
+    {
+        addChild(theItem);
+    }
+    // XXX - mloskot - I don't know what to return
+    // but this function must return a value
+    return true;
+}
+
+std::list<QgsLegendLayerFile*> QgsLegendGroup::legendLayerFiles()
+{
+  std::list<QgsLegendLayerFile*> result;
+  for(int i = 0; i < childCount(); ++i)
+    {
+      QgsLegendLayer* childItem = dynamic_cast<QgsLegendLayer*>(child(i));
+      if(childItem)
+	{
+	  std::list<QgsLegendLayerFile*> childList = childItem->legendLayerFiles();
+	  result.splice(result.end(), childList);
+	}
+    }
+  return result;
+}
+
+void QgsLegendGroup::updateCheckState()
+{
+  std::list<QgsLegendLayerFile*> llfiles = legendLayerFiles();
+  if(llfiles.size() < 1)
+    {
+      return;
+    }
+
+  std::list<QgsLegendLayerFile*>::iterator iter = llfiles.begin();
+  Qt::CheckState theState = (*iter)->checkState(0);
+  for(; iter != llfiles.end(); ++iter)
+    {
+      if(theState != (*iter)->checkState(0))
+	{
+	  theState = Qt::PartiallyChecked;
+	  break;
+	}
+    }
+
+  if(theState != checkState(0))
+    {
+      treeWidget()->blockSignals(true);
+      setCheckState(0, theState);
+      treeWidget()->blockSignals(false);
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendgroup.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,51 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDGROUP_H
+#define QGSLEGENDGROUP_H
+
+#include <list>
+#include <qgslegenditem.h>
+
+class QgsLegendLayerFile;
+
+/**
+This is a specialised version of QLegendItem that specifies that the items below this point will be treated as a group. For example hiding this node will hide all layers below that are members of the group.
+
+ at author Tim Sutton
+*/
+class QgsLegendGroup : public QgsLegendItem
+{
+public:
+    QgsLegendGroup(QTreeWidgetItem * ,QString);
+    QgsLegendGroup(QTreeWidget*,QString);
+    QgsLegendGroup(QString name);
+    ~QgsLegendGroup();
+
+    QgsLegendItem::DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+    QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+    bool isLeafNode();
+    bool insert(QgsLegendItem* theItem);
+    /**Returns all legend layer files under this group*/
+    std::list<QgsLegendLayerFile*> legendLayerFiles();
+    /**Goes through all the legendlayerfiles and sets check state to checked/partially checked/unchecked*/
+    void updateCheckState();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,135 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include "qgslegenditem.h"
+#include <iostream>
+#include <QCoreApplication>
+#include <QIcon>
+#include "qgslegend.h"
+
+
+QgsLegendItem::QgsLegendItem(QTreeWidgetItem * theItem ,QString theName)
+ : QTreeWidgetItem(theItem)
+{
+  setText(0, theName);
+}
+
+QgsLegendItem::QgsLegendItem(QTreeWidget* theListView,QString theString)
+ : QTreeWidgetItem(theListView)
+{
+  setText(0, theString);
+}
+
+QgsLegendItem::QgsLegendItem(): QTreeWidgetItem()
+{
+}
+
+QgsLegendItem::~QgsLegendItem()
+{
+}
+
+
+void QgsLegendItem::print(QgsLegendItem * theItem)
+{
+#if 0 //todo: adapt to qt4
+    Q3ListViewItemIterator myIterator (theItem);
+    while (myIterator.current())
+    {
+      LEGEND_ITEM_TYPE curtype = dynamic_cast<QgsLegendItem *>(myIterator.current())->type();
+      std::cout << myIterator.current()->text(0).toLocal8Bit().data() << " - " << curtype << std::endl;
+      if (myIterator.current()->childCount() > 0)
+      {
+        //print(dynamic_cast<QgsLegendItem *>(myIterator.current()));
+      }
+      ++myIterator;
+    }
+#endif
+}
+
+QgsLegendItem* QgsLegendItem::firstChild()
+{
+  return dynamic_cast<QgsLegendItem*>(child(0));
+}
+
+QgsLegendItem* QgsLegendItem::nextSibling()
+{
+  return dynamic_cast<QgsLegendItem*>(dynamic_cast<QgsLegend*>(treeWidget())->nextSibling(this));
+}
+
+QgsLegendItem* QgsLegendItem::findYoungerSibling()
+{
+  return dynamic_cast<QgsLegendItem*>(dynamic_cast<QgsLegend*>(treeWidget())->previousSibling(this));
+}
+
+void QgsLegendItem::moveItem(QgsLegendItem* after)
+{
+  dynamic_cast<QgsLegend*>(treeWidget())->moveItem(this, after);
+}
+
+void QgsLegendItem::removeAllChildren()
+{
+  while(child(0))
+    {
+      takeChild(0);
+    }
+}
+
+void QgsLegendItem::storeAppearanceSettings()
+{
+  mExpanded = treeWidget()->isItemExpanded(this);
+  mHidden = treeWidget()->isItemHidden(this);
+  //call recursively for all subitems
+  for(int i = 0; i < childCount(); ++i)
+    {
+      static_cast<QgsLegendItem*>(child(i))->storeAppearanceSettings();
+    }
+}
+
+void QgsLegendItem::restoreAppearanceSettings()
+{
+  treeWidget()->setItemExpanded(this, mExpanded);
+  treeWidget()->setItemHidden(this, mHidden);
+  //call recursively for all subitems
+  for(int i = 0; i < childCount(); ++i)
+    {
+      static_cast<QgsLegendItem*>(child(i))->restoreAppearanceSettings();
+    }
+}
+
+QgsLegend* QgsLegendItem::legend() const
+{
+  QTreeWidget* treeWidgetPtr = treeWidget();
+  QgsLegend* legendPtr = dynamic_cast<QgsLegend*>(treeWidgetPtr);
+  return legendPtr;
+}
+
+QTreeWidgetItem* QgsLegendItem::child(int i) const
+{
+  return QTreeWidgetItem::child(i);
+}
+
+QTreeWidgetItem* QgsLegendItem::parent() const
+{
+  return QTreeWidgetItem::parent();
+}
+
+void QgsLegendItem::insertChild(int index, QTreeWidgetItem *child)
+{
+  QTreeWidgetItem::insertChild(index, child);
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegenditem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,125 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDITEM_H
+#define QGSLEGENDITEM_H
+
+#include <QTreeWidget>
+#include <QTreeWidgetItem>
+
+class QgsLegend;
+class QgsLegendGroup;
+class QgsLegendLayer;
+class QgsLegendPropertyGroup;
+class QgsLegendPropertyItem;
+
+/**
+This is an abstract base class that all qgis legen items inerit from
+
+ at author Tim Sutton
+*/
+class QgsLegendItem : public QTreeWidgetItem, public QObject
+{
+
+public:
+    QgsLegendItem(QTreeWidgetItem*, QString);
+    QgsLegendItem (QTreeWidget*,QString);
+    QgsLegendItem();
+    virtual ~QgsLegendItem();
+
+   enum LEGEND_ITEM_TYPE 
+   {
+     LEGEND_GROUP,
+     LEGEND_LAYER,
+     LEGEND_PROPERTY_GROUP,
+     LEGEND_PROPERTY_ITEM,
+     LEGEND_SYMBOL_GROUP,
+     LEGEND_SYMBOL_ITEM,
+     LEGEND_VECTOR_SYMBOL_ITEM,
+     LEGEND_LAYER_FILE_GROUP,
+     LEGEND_LAYER_FILE
+   } ;
+
+   /**Describes the action that will be done if the mouse button will be released after a drag*/
+   enum DRAG_ACTION
+       {
+	   REORDER, //change order of items (drag with left mouse button)
+	   INSERT, //insert an item into another one (drag with middle mouse button)
+	   NO_ACTION //do nothing
+       };
+
+    virtual bool isLeafNode()=0;
+    virtual LEGEND_ITEM_TYPE type() const {return mType;}
+    virtual void addItem(QgsLegendItem*){}
+    /**Returns the type of action that will be done if a drag, originating at a certain
+     item type, will be released at this item*/
+    virtual DRAG_ACTION accept(LEGEND_ITEM_TYPE type)=0;
+    /**Retrns the type of action that will be done if a legend item is dragged over this item*/
+    virtual DRAG_ACTION accept(const QgsLegendItem* li) const = 0;
+    /**Subclasses which allow insertion of other items may implement this method. 
+       @param theItem legend item to insert into this item
+       @param changesettings Some insert actions may change the state of the layers or the map canvas. 
+       If false, such settings don't change (e.g. during mouse drags). If true, the layers and/or map canvas
+       settings are allowed to change (e.g. if the mouse button is released).
+       @return true in case of success and false if theItem cannot be inserted*/
+    virtual bool insert(QgsLegendItem* theItem) {return false;}
+    void print(QgsLegendItem * theItem);
+    /**Returns a pointer to the first child or 0 if there is none*/
+    QgsLegendItem* firstChild();
+    /**Returns the older sibling or 0 if there is none*/
+    QgsLegendItem* nextSibling();
+    /**Returns the younger sibling or 0 if this item is the first child of its parent*/
+    QgsLegendItem* findYoungerSibling();
+    /**Moves this item after (as an older sibling) another item*/
+    void moveItem(QgsLegendItem* after);
+    /**Removes all the children of this item. This function is for qt-4.0.1 compatibility, where
+     'takeChildren()' does not yet exist*/
+    void removeAllChildren();
+    /**Stores the current appearance settings (expanded, hidden). The purpose of this is that if an item is removed 
+     from its position and insert into another position, these settings can be restored after insertion. storeAppearanceSettings is 
+    also called for all childs*/
+    void storeAppearanceSettings();
+    /**Restore appearanc settings (expanded and hidden) e.g. after being inserted into a new place in the tree widget*/
+    void restoreAppearanceSettings();
+    /**Returns a pointer to the legend widget*/
+    QgsLegend* legend() const;
+    /**Returns child of the item - convenience function to distinguish between
+       QTreeWidgetItem's and QObject's child() function */
+    QTreeWidgetItem* child(int i) const;
+    /**Returns parent of the item - convenience function to distinguish between
+       QTreeWidgetItem's and QObject's parent() function */
+    QTreeWidgetItem* parent() const;
+    /**Inserts child - convenience function to distinguish between
+      QTreeWidgetItem's and QObject's insertChild() function */
+    void insertChild(int index, QTreeWidgetItem *child);
+    /**Do preparations after a new child was inserted (default empty)*/
+    virtual void receive(QgsLegendItem* newChild){}
+    /**Do cleanups after a child item leaves (default empty)*/
+    virtual void release(QgsLegendItem* formerChild){}
+
+  protected:
+   bool mLeafNodeFlag;
+   LEGEND_ITEM_TYPE mType;
+   /**Stores expanded property when storeAppearanceSettings is called*/
+   bool mExpanded;
+   /**Stores hidden property when storeAppearanceSettings is called*/
+   bool mHidden;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,609 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#include "qgsapplication.h"
+#include "qgslegend.h"
+#include "qgslegendlayer.h"
+#include "qgslegendlayerfile.h"
+#include "qgslegendlayerfilegroup.h"
+#include "qgslegendsymbologyitem.h"
+#include "qgslogger.h"
+
+#include "qgsapplication.h"
+#include "qgsfield.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsrasterlayer.h"
+#include "qgsrenderer.h"
+#include "qgssymbol.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+
+#include <iostream>
+#include <QAction>
+#include <QCoreApplication>
+#include <QIcon>
+#include <QMenu>
+#include <QMessageBox>
+#include <QPainter>
+
+QgsLegendLayer::QgsLegendLayer(QTreeWidgetItem* parent,QString name)
+    : QgsLegendItem(parent, name)
+{
+  mType=LEGEND_LAYER;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  setText(0, name);
+}
+
+QgsLegendLayer::QgsLegendLayer(QTreeWidget* parent, QString name): QgsLegendItem(parent, name)
+{
+  mType=LEGEND_LAYER;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  setText(0, name);
+}
+
+QgsLegendLayer::QgsLegendLayer(QString name): QgsLegendItem()
+{
+  mType=LEGEND_LAYER;
+  setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState (0, Qt::Checked);
+  setText(0, name);
+}
+
+QgsLegendLayer::~QgsLegendLayer()
+{
+  mType=LEGEND_LAYER;
+}
+
+void QgsLegendLayer::setLayerTypeIcon()
+{
+  QIcon myIcon(getOriginalPixmap());
+  setIcon(0, myIcon);
+}
+
+bool QgsLegendLayer::isLeafNode()
+{
+  return false;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayer::accept(LEGEND_ITEM_TYPE type)
+{
+    if ( type == LEGEND_LAYER || type == LEGEND_GROUP)
+    {
+      return REORDER;
+    }
+    else
+      {
+	return NO_ACTION;
+      }
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayer::accept(const QgsLegendItem* li) const
+{
+  if(li && li != this)
+    {
+      LEGEND_ITEM_TYPE type = li->type();
+      if ( type == LEGEND_LAYER)
+	{
+	  //if(parent() == li->parent())
+	  //{
+	      return REORDER;
+	      //}
+	}
+      else if(type == LEGEND_GROUP)
+	{
+	  //only parent legend layers can change positions with groups
+	  if(parent() == 0)
+	    {
+	      return REORDER;
+	    }
+	}
+    }
+  return NO_ACTION;
+}
+
+QgsLegendLayerFile* QgsLegendLayer::firstLayerFile() const
+{
+  //first find the legend layer file group
+  QgsLegendLayerFileGroup* llfg = 0;
+  for(int i = 0; i < childCount(); ++i)
+  {
+    llfg = dynamic_cast<QgsLegendLayerFileGroup*>(child(i));
+    if(llfg)
+    {
+      break;
+    }
+  }
+
+  if(!llfg)
+  {
+    return 0;
+  }
+
+  QTreeWidgetItem* llf = llfg->child(0);
+  if(!llf)
+  {
+    return 0;
+  }
+  QgsLegendLayerFile* legendlayerfile = dynamic_cast<QgsLegendLayerFile*>(llf);
+  return legendlayerfile;
+}
+
+QgsMapLayer* QgsLegendLayer::firstMapLayer() const
+{
+  QgsLegendLayerFile* llf = firstLayerFile();
+  if (llf)
+  {
+    return llf->layer();
+  }
+  else
+  {
+    return 0;
+  }
+}
+
+std::list<QgsMapLayer*> QgsLegendLayer::mapLayers()
+{
+    std::list<QgsMapLayer*> list;
+    std::list<QgsLegendLayerFile*> llist = legendLayerFiles();
+    for(std::list<QgsLegendLayerFile*>::iterator it = llist.begin(); it != llist.end(); ++it)
+      {
+	list.push_back((*it)->layer());
+      }
+    return list;
+}
+
+std::list<QgsLegendLayerFile*> QgsLegendLayer::legendLayerFiles()
+{
+  std::list<QgsLegendLayerFile*> list;
+  
+  //find the layer file group
+  QgsLegendLayerFileGroup* theLayerGroup = 0;
+  for(int i = 0; i < childCount(); ++i)
+    {
+      theLayerGroup = dynamic_cast<QgsLegendLayerFileGroup*>(child(i));
+      if(theLayerGroup)
+	{
+	  break;
+	}
+    }
+
+  //add all the legend layer files in the group
+  if(theLayerGroup)
+    {
+      QgsLegendLayerFile* theFile = 0;
+      for(int i = 0; i < theLayerGroup->childCount(); ++i)
+	{
+	  theFile = dynamic_cast<QgsLegendLayerFile*>(theLayerGroup->child(i));
+	  if(theFile)
+	    {
+	      list.push_back(theFile);
+	    }
+	}
+    }
+  return list;
+}
+
+void QgsLegendLayer::updateLayerSymbologySettings(const QgsMapLayer* mapLayer)
+{
+  if(mapLayer)
+    {
+      //find all layers
+      std::list<QgsMapLayer*> theMapLayers = mapLayers();
+      for(std::list<QgsMapLayer*>::iterator it = theMapLayers.begin(); it != theMapLayers.end(); ++it)
+	{
+	  if((*it) != mapLayer)
+	    {
+	      (*it)->copySymbologySettings(*mapLayer);
+	    }
+	}
+      // source might have changed - e.g. other subset
+      setToolTip(0, mapLayer->publicSource());
+    }
+}
+
+void QgsLegendLayer::updateCheckState()
+{
+  std::list<QgsLegendLayerFile*> llfiles = legendLayerFiles();
+  if(llfiles.size() < 1)
+    {
+      return;
+    }
+
+  std::list<QgsLegendLayerFile*>::iterator iter = llfiles.begin();
+  Qt::CheckState theState = (*iter)->checkState(0);
+  for(; iter != llfiles.end(); ++iter)
+    {
+      if(theState != (*iter)->checkState(0))
+	{
+	  theState = Qt::PartiallyChecked;
+	  break;
+	}
+    }
+
+  if(theState != checkState(0))
+    {
+      treeWidget()->blockSignals(true);
+      setCheckState(0, theState);
+      //notify the legend that the check state has changed
+      legend()->updateCheckStates(this, theState);
+      treeWidget()->blockSignals(false);
+    }
+}
+
+void QgsLegendLayer::refreshSymbology(const QString& key)
+{
+  QgsMapLayer* theMapLayer = QgsMapLayerRegistry::instance()->mapLayer(key);
+  if(!theMapLayer)
+  {
+    return;
+  }
+
+  if (theMapLayer->type() == QgsMapLayer::VECTOR) // VECTOR
+  {
+    QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(theMapLayer);
+    vectorLayerSymbology(vlayer); // get and change symbology
+  }
+  else // RASTER
+  {
+    QgsRasterLayer* rlayer = dynamic_cast<QgsRasterLayer*>(theMapLayer);
+    rasterLayerSymbology(rlayer); // get and change symbology
+  }
+}
+
+void QgsLegendLayer::changeSymbologySettings(const QgsMapLayer* theMapLayer,
+                                             const SymbologyList& newSymbologyItems)
+{
+  if(!theMapLayer)
+  {
+    return;
+  }
+
+  QgsLegendSymbologyItem* theSymbologyItem = 0;
+
+  //remove the symbology items under the legend layer
+  for(int i = childCount(); i >= 0; --i)
+  {
+    theSymbologyItem = dynamic_cast<QgsLegendSymbologyItem*>(child(i));
+    if(theSymbologyItem)
+    {
+      delete takeChild(i);
+    }
+  }
+
+  //add the new symbology items
+  int childposition = 0; //position to insert the items
+  for(SymbologyList::const_iterator it= newSymbologyItems.begin(); it != newSymbologyItems.end(); ++it)
+  {
+    QgsLegendSymbologyItem* theItem = new QgsLegendSymbologyItem(it->second.width(), it->second.height());
+    theItem->setText(0, it->first);
+    theItem->setIcon(0, QIcon(it->second));
+    insertChild(childposition, theItem);
+
+    ++childposition;
+  }
+
+  //copy the legend settings for the other layer files in the same legend layer
+  updateLayerSymbologySettings(theMapLayer);
+
+}
+
+
+
+void QgsLegendLayer::vectorLayerSymbology(const QgsVectorLayer* layer)
+{
+  SymbologyList itemList;
+
+  //add the new items
+  QString lw, uv, label;
+  const QgsRenderer* renderer = layer->renderer();
+  const QList<QgsSymbol*> sym = renderer->symbols();
+
+  for(QList<QgsSymbol*>::const_iterator it=sym.begin(); it!=sym.end(); ++it)
+  {
+    QImage img;
+    if((*it)->type() == QGis::Point)
+    {
+      img = (*it)->getPointSymbolAsImage();
+    }
+    else if((*it)->type() == QGis::Line)
+    {
+      img = (*it)->getLineSymbolAsImage();
+    }
+    else //polygon
+    {
+      img = (*it)->getPolygonSymbolAsImage();
+    }
+
+    QString values;
+    lw = (*it)->lowerValue();
+    if(!lw.isEmpty())
+    {
+      values += lw;
+    }
+    uv = (*it)->upperValue();
+    if(!uv.isEmpty())
+    {
+      values += " - ";
+      values += uv;
+    }
+    label = (*it)->label();
+    if(!label.isEmpty())
+    {
+      values += " ";
+      values += label;
+    }
+
+    QPixmap pix = QPixmap::fromImage(img); // convert to pixmap
+    itemList.push_back(std::make_pair(values, pix));
+  }
+
+  if(renderer->needsAttributes()) //create an item for each classification field (only one for most renderers)
+  {
+    QgsAttributeList classfieldlist = renderer->classificationAttributes();
+    const QgsFieldMap& fields = layer->getDataProvider()->fields();
+    for(QgsAttributeList::iterator it = classfieldlist.begin(); it!=classfieldlist.end(); ++it)
+    {
+      const QgsField& theField = fields[*it];
+      QString classfieldname = theField.name();
+      itemList.push_front(std::make_pair(classfieldname, QPixmap()));
+    }
+  }
+
+  changeSymbologySettings(layer, itemList);
+}
+
+void QgsLegendLayer::rasterLayerSymbology(QgsRasterLayer* layer)
+{
+  SymbologyList itemList;
+  QPixmap legendpixmap = layer->getLegendQPixmap(true).scaled(20, 20, Qt::KeepAspectRatio); 
+  itemList.push_back(std::make_pair("", legendpixmap));   
+    
+  changeSymbologySettings(layer, itemList);
+}
+
+void QgsLegendLayer::updateIcon()
+{
+  QPixmap newIcon(getOriginalPixmap());
+
+  QgsMapLayer* theLayer = firstMapLayer();
+  QgsLegendLayerFile* theFile = firstLayerFile();
+
+  if(mapLayers().size() == 1)
+    {
+  
+      //overview
+      if(theFile->isInOverview())
+	{
+	  // Overlay the overview icon on the default icon
+	  QPixmap myPixmap(QgsApplication::themePath()+"mIconOverview.png");
+	  QPainter p(&newIcon);
+	  p.drawPixmap(0,0,myPixmap);
+	  p.end();
+	}
+      
+      //editable
+      if(theLayer->isEditable())
+	{
+	  // Overlay the editable icon on the default icon
+	  QPixmap myPixmap(QgsApplication::themePath()+"mIconEditable.png");
+	  QPainter p(&newIcon);
+	  p.drawPixmap(0,0,myPixmap);
+	  p.end();
+	}
+    }
+
+  QIcon theIcon(newIcon);
+  setIcon(0, theIcon);
+}
+
+QPixmap QgsLegendLayer::getOriginalPixmap() const
+{
+  QgsMapLayer* firstLayer = firstMapLayer();
+  if(firstLayer)
+  {
+    QString myThemePath = QgsApplication::themePath();
+    QString myPath;
+
+    if (firstLayer->type() == QgsMapLayer::VECTOR)
+    {
+      QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(firstLayer);
+      switch(vlayer->vectorType())
+      {
+        case QGis::Point:
+          myPath = myThemePath+"/mIconPointLayer.png";
+          break;
+        case QGis::Line:
+          myPath = myThemePath+"/mIconLineLayer.png";
+          break;
+        case QGis::Polygon:
+          myPath = myThemePath+"/mIconPolygonLayer.png";
+          break;
+        default:
+          myPath = myThemePath+"/mIconLayer.png";
+      }
+    }
+    else // RASTER
+    {
+      myPath = myThemePath+"/mIconLayer.png";
+    }
+
+    
+    QFileInfo file(myPath);
+    if(file.exists())
+    {
+      return QPixmap(file.absoluteFilePath());
+    }
+  }
+
+  QPixmap emptyPixmap;
+  return emptyPixmap;
+}
+
+
+void QgsLegendLayer::addToPopupMenu(QMenu& theMenu, QAction* toggleEditingAction)
+{
+  QString iconsPath = QgsApplication::themePath();
+  std::list<QgsLegendLayerFile*> files = legendLayerFiles();
+  QgsMapLayer* firstLayer = NULL;
+  if (files.size() > 0)
+  {
+    firstLayer = files.front()->layer();
+  }
+  
+  // zoom to layer extent
+  theMenu.addAction(QIcon(iconsPath+QString("/mActionZoomToLayer.png")),
+                    tr("&Zoom to layer extent"), legend(), SLOT(legendLayerZoom()));
+  if (firstLayer && firstLayer->type() == QgsMapLayer::RASTER)
+  {
+    theMenu.addAction(tr("&Zoom to best scale (100%)"), legend(), SLOT(legendLayerZoomNative()));
+  }
+
+  // show in overview
+  QAction* showInOverviewAction = theMenu.addAction(tr("&Show in overview"), this, SLOT(showInOverview()));
+  showInOverviewAction->setCheckable(true); // doesn't support tristate
+  showInOverviewAction->setChecked(isInOverview());
+    
+  // remove from canvas
+  theMenu.addAction(QIcon(QPixmap(iconsPath+QString("/mActionRemove.png"))),
+                    tr("&Remove"), legend(), SLOT(legendLayerRemove()));
+	  
+  theMenu.addSeparator();
+  
+  if (firstLayer && firstLayer->type() == QgsMapLayer::VECTOR)
+  {
+    // attribute table
+    QAction* tableAction = theMenu.addAction(tr("&Open attribute table"), this, SLOT(table()));
+    if (files.size() != 1)
+    {
+      tableAction->setEnabled(false);
+    }
+    
+    // allow editing
+    if(toggleEditingAction)
+      {
+	theMenu.addAction(toggleEditingAction);
+      }
+    
+    QgsVectorLayer* theVectorLayer = dynamic_cast<QgsVectorLayer*>(firstLayer);
+  
+    if (files.size() != 1)
+    {
+      toggleEditingAction->setEnabled(false);
+    }
+    if (theVectorLayer)
+    {
+      toggleEditingAction->setChecked(theVectorLayer->isEditable());
+    }
+  
+    // save as shapefile
+    QAction* saveShpAction = theMenu.addAction(tr("Save as shapefile..."), this, SLOT(saveAsShapefile()));
+    if (files.size() != 1)
+    {
+      saveShpAction->setEnabled(false);
+    }
+    
+    // save selection as shapefile
+    QAction* saveSelectionAction = theMenu.addAction(tr("Save selection as shapefile..."), this, SLOT(saveSelectionAsShapefile()));
+    if (files.size() != 1 || theVectorLayer->selectedFeatureCount() == 0)
+    {
+      saveSelectionAction->setEnabled(false);
+    }
+    
+    theMenu.addSeparator();
+  }
+	
+  
+  QAction* propertiesAction = theMenu.addAction(tr("&Properties"), legend(), SLOT(legendLayerShowProperties()));
+  if (files.size() != 1)
+  {
+    propertiesAction->setEnabled(false);
+  }
+
+}
+
+bool QgsLegendLayer::isInOverview()
+{
+  // QAction doesn't support tristate checkboxes
+  // returns true if just some are in overview
+  bool hasVisible = false;
+  
+  // find out whether we're showing or hiding them
+  std::list<QgsLegendLayerFile*> maplayers = legendLayerFiles();
+  for (std::list<QgsLegendLayerFile*>::iterator it = maplayers.begin(); it!=maplayers.end(); ++it)
+  {
+    if (*it && (*it)->isInOverview())
+    {
+      hasVisible = true;
+      break;
+    }
+  }
+  
+  return hasVisible;
+}
+
+void QgsLegendLayer::showInOverview()
+{
+  std::list<QgsLegendLayerFile*> maplayers = legendLayerFiles();
+  bool showLayers = ( ! isInOverview() );
+  
+  // set overview visibility
+  for (std::list<QgsLegendLayerFile*>::iterator it = maplayers.begin(); it!=maplayers.end(); ++it)
+  {
+    if (*it)
+      (*it)->setInOverview(showLayers);
+  }
+   
+  legend()->updateMapCanvasLayerSet();
+  legend()->updateOverview();
+}
+
+void QgsLegendLayer::table()
+{
+  std::list<QgsLegendLayerFile*> maplayers = legendLayerFiles();
+  if (maplayers.size() > 1)
+  {
+    QMessageBox::information(0, tr("More layers"),
+      tr("This item contains more layer files. Displaying more layers in table is not supported."));
+  }
+  else if (maplayers.size() == 1)
+  {
+    maplayers.front()->table();
+  }
+}
+
+void QgsLegendLayer::saveAsShapefile()
+{
+  std::list<QgsLegendLayerFile*> maplayers = legendLayerFiles();
+  if (maplayers.size() == 1)
+  {
+    maplayers.front()->saveAsShapefile();
+  }
+}
+
+void QgsLegendLayer::saveSelectionAsShapefile()
+{
+  std::list<QgsLegendLayerFile*> maplayers = legendLayerFiles();
+  if (maplayers.size() == 1)
+  {
+    maplayers.front()->saveSelectionAsShapefile();
+  }
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,117 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDLAYER_H
+#define QGSLEGENDLAYER_H
+
+//#include <qobject.h>
+#include <qgslegenditem.h>
+#include <QFileInfo>
+
+class QgsLegendLayer;
+class QgsLegendLayerFile;
+class QgsLegendPropertyGroup;
+class QgsMapLayer;
+class QgsRasterLayer;
+class QgsVectorLayer;
+
+class QTreeWidget;
+
+typedef std::list< std::pair<QString, QPixmap> > SymbologyList;
+
+/**
+Container for layer, including layer file(s), symbology class breaks and properties
+
+ at author Tim Sutton
+*/
+class QgsLegendLayer : public QgsLegendItem
+{
+    Q_OBJECT
+  
+public:
+    QgsLegendLayer(QTreeWidgetItem * ,QString);
+    QgsLegendLayer(QTreeWidget* ,QString);
+    QgsLegendLayer(QString name);
+    ~QgsLegendLayer();
+    /**Sets an icon characterising the type of layer(s) it contains.
+     Note: cannot be in the constructor because layers are added after creation*/
+    void setLayerTypeIcon();
+    bool isLeafNode();
+    QgsLegendItem::DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+    QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+    /**Returns the map layer associated with the first QgsLegendLayerFile or 0 if
+     there is no QgsLegendLayerFile*/
+    QgsMapLayer* firstMapLayer() const;
+    /**Returns first map layer's file or 0 if there's no QgsLegendLayerFile */
+    QgsLegendLayerFile* firstLayerFile() const;
+    /**Returns the map layers associated with the QgsLegendLayerFiles*/
+    std::list<QgsMapLayer*> mapLayers();
+    /**Returns the legend layer file items associated with this legend layer*/
+    std::list<QgsLegendLayerFile*> legendLayerFiles();
+    /**Goes through all the legendlayerfiles and sets check state to checked/partially checked/unchecked*/
+    void updateCheckState();
+
+    /**Updates symbology of the layer and copies symbology to other layer files in the group*/
+    void refreshSymbology(const QString& key);
+
+    /**Goes through all the legendlayerfiles and adds editing/overview pixmaps to the icon. If not all layer files
+    have the same editing/overview state, a tristate is applied*/
+    void updateIcon();
+  
+    /** called to add appropriate menu items to legend's popup menu */
+    void addToPopupMenu(QMenu& theMenu, QAction* toggleEditingAction);
+    
+    /**Determines whether there are layers in overview*/
+    bool isInOverview();
+    
+  public slots:
+    
+    /**Toggle show in overview*/
+    void showInOverview();
+  
+    /**Show layer attribute table*/
+    void table();
+    
+    void saveAsShapefile();
+    void saveSelectionAsShapefile();
+    
+  protected:
+    
+    /** Prepare and change symbology for vector layer */
+    void vectorLayerSymbology(const QgsVectorLayer* mapLayer);
+    
+    /** Prepare and change symbology for raster layer */
+    void rasterLayerSymbology(QgsRasterLayer* mapLayer);
+    
+    /** Removes the symbology items of a layer and adds new ones.
+     * If other files are in the same legend layer, the new symbology settings are copied.
+     * Note: the QIcon* are deleted and therefore need to be allocated by calling
+     * functions using operator new
+     */
+    void changeSymbologySettings(const QgsMapLayer* mapLayer, const SymbologyList& newSymbologyItems);
+    
+    /** Copies the symbology settings of the layer to all maplayers in the QgsLegendLayerFileGroup.
+     * This method should be called whenever a layer in this group changes it symbology settings
+     */
+    void updateLayerSymbologySettings(const QgsMapLayer* mapLayer);
+
+    QPixmap getOriginalPixmap() const;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,506 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#include "qgsapplication.h"
+#include "qgslegend.h"
+#include "qgslegendlayer.h"
+#include "qgslegendlayerfile.h"
+#include "qgsmaplayer.h"
+#include "qgsrasterlayer.h"
+#include "qgsvectorfilewriter.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+
+// attribute table
+#include "qgsattributetable.h"
+#include "qgsattributetabledisplay.h"
+
+#include "qgsencodingfiledialog.h"
+
+#include <QApplication>
+#include <QMenu>
+#include <QMessageBox>
+#include <QPainter>
+#include <QSettings>
+
+
+QgsLegendLayerFile::QgsLegendLayerFile(QTreeWidgetItem * theLegendItem, QString theString, QgsMapLayer* theLayer)
+  : QgsLegendItem(theLegendItem, theString), mLyr(theLayer), mTableDisplay(NULL)
+{
+  // Set the initial visibility flag for layers
+  // This user option allows the user to turn off inital drawing of
+  // layers when they are added to the map. This is useful when adding
+  // many layers and the user wants to adjusty symbology, etc prior to
+  // actually viewing the layer.
+  QSettings settings;
+  bool visible = settings.readBoolEntry("/qgis/new_layers_visible", 1);
+  mLyr.setVisible(visible);
+
+  // not in overview by default
+  mLyr.setInOverview(FALSE);
+  
+  mType = LEGEND_LAYER_FILE;
+  
+  setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+  setCheckState(0, Qt::Checked);
+  setText(0, theString);
+
+  // get notifications of changed selection - used to update attribute table
+  connect(mLyr.layer(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
+
+  // get notifications of modified layer - used to close table as it's out of sync
+  connect(mLyr.layer(), SIGNAL(wasModified(bool)), this, SLOT(closeTable(bool)));
+  
+  connect(mLyr.layer(), SIGNAL(layerNameChanged()), this, SLOT(layerNameChanged()));
+}
+
+QgsLegendLayerFile::~QgsLegendLayerFile()
+{
+  if (mTableDisplay)
+  {
+    mTableDisplay->close();
+    delete mTableDisplay;
+  }
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayerFile::accept(LEGEND_ITEM_TYPE type)
+{
+  return NO_ACTION;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayerFile::accept(const QgsLegendItem* li) const
+{
+  if(li->type() == QgsLegendItem::LEGEND_LAYER_FILE)
+    {
+      if(li->parent() == this->parent())
+	{
+	  return REORDER;
+	}
+    }
+  return NO_ACTION;
+}
+
+QPixmap QgsLegendLayerFile::getOriginalPixmap() const
+{
+  QPixmap myPixmap(QgsApplication::themePath()+"mActionFileSmall.png");
+  return myPixmap;
+}
+
+void QgsLegendLayerFile::updateLegendItem()
+{
+  QPixmap pix = legend()->pixmaps().mOriginalPixmap;
+  
+  if(mLyr.inOverview())
+  {
+    //add overview glasses to the pixmap
+    QPainter p(&pix);
+    p.drawPixmap(0,0, legend()->pixmaps().mInOverviewPixmap);
+  }
+  if(mLyr.layer()->isEditable())
+  {
+    //add editing icon to the pixmap
+    QPainter p(&pix);
+    p.drawPixmap(30,0, legend()->pixmaps().mEditablePixmap);
+  }
+
+  /*
+  // TODO:
+  if(mLyr.layer()->hasProjectionError())
+  {
+    //add overview glasses to the pixmap
+    QPainter p(&pix);
+    p.drawPixmap(60,0, legend()->pixmaps().mProjectionErrorPixmap);
+  }
+  */
+  
+  QIcon theIcon(pix);
+  setIcon(0, theIcon);
+
+}
+
+void QgsLegendLayerFile::setIconAppearance(bool inOverview,
+                                           bool editable)
+{
+  QPixmap newIcon(getOriginalPixmap());
+
+  if (inOverview)
+  {
+    // Overlay the overview icon on the default icon
+    QPixmap myPixmap(QgsApplication::themePath()+"mIconOverview.png");
+    QPainter p(&newIcon);
+    p.drawPixmap(0,0,myPixmap);
+    p.end();
+  }
+  
+  if (editable)
+  {
+    // Overlay the editable icon on the default icon
+    QPixmap myPixmap(QgsApplication::themePath()+"mIconEditable.png");
+    QPainter p(&newIcon);
+    p.drawPixmap(0,0,myPixmap);
+    p.end();
+  }
+
+  QIcon theIcon(newIcon);
+  setIcon(0, theIcon);
+
+  //also update the icon of the legend layer
+  ((QgsLegendLayer*)(parent()->parent()))->updateIcon();
+}
+
+
+QString QgsLegendLayerFile::nameFromLayer(QgsMapLayer* layer)
+{
+  QString sourcename = layer->source(); //todo: move this duplicated code into a new function
+  if(sourcename.startsWith("host", false))
+    {
+      //this layer is a database layer
+      //modify source string such that password is not visible
+      sourcename = layer->name();
+    }
+  else
+    {
+      //modify source name such that only the file is visible
+      sourcename = layer->source().section('/',-1,-1);
+    }
+  return sourcename;
+}
+
+
+void QgsLegendLayerFile::setVisible(bool visible)
+{
+  mLyr.setVisible(visible);
+}
+
+bool QgsLegendLayerFile::isVisible()
+{
+  return mLyr.visible();
+}
+
+void QgsLegendLayerFile::setInOverview(bool inOverview)
+{
+  mLyr.setInOverview(inOverview);
+}
+
+bool QgsLegendLayerFile::isInOverview()
+{
+  return mLyr.inOverview();
+}
+
+void QgsLegendLayerFile::showInOverview()
+{
+  // toggle current status
+  setInOverview( ! isInOverview() );
+  
+  legend()->updateMapCanvasLayerSet();
+  legend()->updateOverview();
+}
+
+
+void QgsLegendLayerFile::table()
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mLyr.layer());
+  if (!vlayer)
+  {
+    QMessageBox::information(0, tr("Not a vector layer"),
+                             tr("To open an attribute table, you must select a vector layer in the legend"));
+    return;
+  }
+  
+  QgsAttributeAction& actions = *vlayer->actions();
+  
+  if (mTableDisplay)
+  {
+    
+    mTableDisplay->raise();
+
+    // Give the table the most recent copy of the actions for this layer.
+    mTableDisplay->table()->setAttributeActions(actions);
+  }
+  else
+  {
+    // display the attribute table
+    QApplication::setOverrideCursor(Qt::waitCursor);
+    // TODO: pointer to QgisApp should be passed instead of NULL
+    // but we don't have pointer to it. [MD]
+    mTableDisplay = new QgsAttributeTableDisplay(vlayer, NULL);
+    mTableDisplay->table()->fillTable(vlayer);
+    mTableDisplay->table()->setSorting(true);
+
+    connect(mTableDisplay, SIGNAL(deleted()), this, SLOT(invalidateTableDisplay()));
+
+    mTableDisplay->setTitle(tr("Attribute table - ") + name());
+    mTableDisplay->show();
+
+    // Give the table the most recent copy of the actions for this layer.
+    mTableDisplay->table()->setAttributeActions(actions);
+    
+    // select rows which should be selected
+    selectionChanged();
+    
+    // etablish the necessary connections between the table and the vector layer
+    connect(mTableDisplay->table(), SIGNAL(selected(int, bool)), mLyr.layer(), SLOT(select(int, bool)));
+    connect(mTableDisplay->table(), SIGNAL(selectionRemoved(bool)), mLyr.layer(), SLOT(removeSelection(bool)));
+    connect(mTableDisplay->table(), SIGNAL(repaintRequested()), mLyr.layer(), SLOT(triggerRepaint()));
+    
+    QApplication::restoreOverrideCursor();
+  }
+
+}
+
+void QgsLegendLayerFile::invalidateTableDisplay()
+{
+  // from signal deleted() - table doesn't exist anymore, just erase our pointer
+  mTableDisplay = 0;
+}
+
+void QgsLegendLayerFile::selectionChanged()
+{
+  if (!mTableDisplay)
+    return;
+
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mLyr.layer());
+  const QgsFeatureIds& ids = vlayer->selectedFeaturesIds();
+  mTableDisplay->table()->selectRowsWithId(ids);
+
+}
+
+void QgsLegendLayerFile::closeTable(bool onlyGeometryWasChanged)
+{
+  if (mTableDisplay)
+  {
+    mTableDisplay->close();
+    delete mTableDisplay;
+    mTableDisplay = NULL;
+  }
+}
+
+void QgsLegendLayerFile::saveAsShapefile()
+{
+  saveAsShapefileGeneral(FALSE);
+}
+
+void QgsLegendLayerFile::saveSelectionAsShapefile()
+{
+  saveAsShapefileGeneral(TRUE);
+}
+
+void QgsLegendLayerFile::saveAsShapefileGeneral(bool saveOnlySelection)
+{
+  if (mLyr.layer()->type() != QgsMapLayer::VECTOR)
+    return;
+
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mLyr.layer());
+  
+  // get a name for the shapefile
+  // Get a file to process, starting at the current directory
+  QSettings settings;
+  QString filter =  QString("Shapefiles (*.shp)");
+  QString dirName = settings.readEntry("/UI/lastShapefileDir", ".");
+
+  QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(0,
+      tr("Save layer as..."),
+      dirName,
+      filter,
+      QString("UTF-8"));
+  openFileDialog->setAcceptMode(QFileDialog::AcceptSave);
+
+  // allow for selection of more than one file
+  //openFileDialog->setMode(QFileDialog::AnyFile);
+
+  if (openFileDialog->exec() != QDialog::Accepted)
+    return;
+    
+  
+  QString encoding = openFileDialog->encoding();
+  QString shapefileName = openFileDialog->selectedFile();
+  settings.writeEntry("/UI/lastShapefileDir", QFileInfo(shapefileName).absolutePath());
+  
+  
+  if (shapefileName.isNull())
+    return;
+
+  // add the extension if not present
+  if (shapefileName.find(".shp") == -1)
+  {
+    shapefileName += ".shp";
+  }
+  
+  QApplication::setOverrideCursor(Qt::waitCursor);
+  
+  QgsVectorFileWriter::WriterError error;
+  error = QgsVectorFileWriter::writeAsShapefile(vlayer, shapefileName, encoding, saveOnlySelection);
+  
+  QApplication::restoreOverrideCursor();
+  
+  switch (error)
+  {
+    case QgsVectorFileWriter::NoError:
+      QMessageBox::information(0, tr("Saving done"), tr("Export to Shapefile has been completed"));
+      break;
+    
+    case QgsVectorFileWriter::ErrDriverNotFound:
+      QMessageBox::warning(0, tr("Driver not found"), tr("ESRI Shapefile driver is not available"));
+      break;
+  
+    case QgsVectorFileWriter::ErrCreateDataSource:
+      QMessageBox::warning(0, tr("Error creating shapefile"),
+                           tr("The shapefile could not be created (") + shapefileName + ")");
+      break;
+    
+    case QgsVectorFileWriter::ErrCreateLayer:
+      QMessageBox::warning(0, tr("Error"), tr("Layer creation failed"));
+      break;
+  }
+}
+
+void QgsLegendLayerFile::toggleEditing()
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mLyr.layer());
+  if (!vlayer)
+    return;
+  
+  if (!vlayer->isEditable())
+  {
+    vlayer->startEditing();
+    if(!(vlayer->getDataProvider()->capabilities() & QgsVectorDataProvider::AddFeatures))
+      {
+	QMessageBox::information(0,tr("Start editing failed"),
+				 tr("Provider cannot be opened for editing"));
+      }
+    else
+      {
+	vlayer->triggerRepaint();
+      }
+  }
+  else
+  {
+    if(vlayer->isModified())
+      {
+
+	// commit or roll back?
+	QMessageBox::StandardButton commit = QMessageBox::information(0,tr("Stop editing"),
+								      tr("Do you want to save the changes?"),
+								      QMessageBox::Save | QMessageBox::Discard);  
+	
+	if(commit==QMessageBox::Save)
+	  {
+	    if(!vlayer->commitChanges())
+	      {
+		QMessageBox::information(0,tr("Error"),tr("Could not commit changes"));
+		
+		// Leave the in-memory editing state alone,
+		// to give the user a chance to enter different values
+		// and try the commit again later
+	      }
+	  }
+	else if(commit==QMessageBox::Discard)
+	  {
+	    if(!vlayer->rollBack())
+	      {
+		QMessageBox::information(0,tr("Error"),
+					 tr("Problems during roll back"));
+	      }
+	  }
+      }
+    else //layer not modified
+      {
+	vlayer->rollBack();
+      }
+    vlayer->triggerRepaint();
+    
+  }
+  
+  updateLegendItem();
+
+}
+
+void QgsLegendLayerFile::layerNameChanged()
+{
+  QString name = mLyr.layer()->name();
+  setText(0, name);
+
+  // set also parent's name
+  legend()->setName(this, name);
+}
+
+
+void QgsLegendLayerFile::addToPopupMenu(QMenu& theMenu, QAction* toggleEditingAction)
+{
+  QgsMapLayer* lyr = layer();
+  QString iconsPath = QgsApplication::themePath();
+
+  // zoom to layer extent
+  theMenu.addAction(QIcon(iconsPath+QString("/mActionZoomToLayer.png")),
+                    tr("&Zoom to layer extent"), legend(), SLOT(legendLayerZoom()));
+  
+  // show in overview
+  QAction* showInOverviewAction = theMenu.addAction(tr("&Show in overview"), this, SLOT(showInOverview()));
+  showInOverviewAction->setCheckable(true);
+  showInOverviewAction->blockSignals(true);
+  showInOverviewAction->setChecked(mLyr.inOverview());
+  showInOverviewAction->blockSignals(false);
+  
+  // remove from canvas
+  theMenu.addAction(QIcon(iconsPath+QString("/mActionRemove.png")),
+                    tr("&Remove"), legend(), SLOT(legendLayerRemove()));
+
+  theMenu.addSeparator();
+
+  if (lyr->type() == QgsMapLayer::VECTOR)
+  {
+    QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(lyr);
+    
+    // attribute table
+    theMenu.addAction(tr("&Open attribute table"), this, SLOT(table()));
+    
+    // editing
+    int cap = vlayer->getDataProvider()->capabilities();
+    if ((cap & QgsVectorDataProvider::AddFeatures)
+        ||(cap & QgsVectorDataProvider::DeleteFeatures))
+    {
+      if(toggleEditingAction)
+	{
+	  theMenu.addAction(toggleEditingAction);
+	}
+    }
+    
+    // save as shapefile
+    theMenu.addAction(tr("Save as shapefile..."), this, SLOT(saveAsShapefile()));
+
+    QAction* saveSelectionAction = theMenu.addAction(tr("Save selection as shapefile..."), this, SLOT(saveSelectionAsShapefile()));
+    if (vlayer->selectedFeatureCount() == 0)
+    {
+      saveSelectionAction->setEnabled(false);
+    }
+
+    theMenu.addSeparator();
+  }
+  else if (lyr->type() == QgsMapLayer::RASTER)
+  {
+    // TODO: what was this for?
+    //QgsRasterLayer* rlayer = dynamic_cast<QgsRasterLayer*>(lyr);
+    //theMenu.addAction(tr("&Convert to..."), rlayer, SLOT(convertTo()));
+  }
+     
+  // properties goes on bottom of menu for consistency with normal ui standards
+  // e.g. kde stuff
+  theMenu.addAction(tr("&Properties"), legend(), SLOT(legendLayerShowProperties()));
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfile.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,111 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDLAYERFILE_H
+#define QGSLEGENDLAYERFILE_H
+
+#include <QPixmap>
+
+#include "qgslegenditem.h"
+#include "qgsmapcanvas.h"
+
+class QgsMapLayer;
+class QgsAttributeTableDisplay;
+
+/**
+ at author Tim Sutton
+*/
+class QgsLegendLayerFile : public QgsLegendItem
+{
+  Q_OBJECT;
+  
+public:
+    QgsLegendLayerFile(QTreeWidgetItem * theLegendItem, QString theString, QgsMapLayer* theLayer);
+    ~QgsLegendLayerFile();
+    bool isLeafNode() {return true;}
+    DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+    QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+    QgsMapLayer* layer() { return mLyr.layer(); }
+    const QgsMapLayer* layer() const { return mLyr.layer(); }
+    QgsMapCanvasLayer& canvasLayer() { return mLyr; }
+    
+    QPixmap getOriginalPixmap() const;
+
+    /** updates item to the current state of the layer */
+    void updateLegendItem();
+    
+    void setIconAppearance(bool inOverview, bool editable);
+
+    /**Returns a label for a layer. Is static such that
+     the name can be passed to the constructor of QgsLegendLayerFile*/
+    static QString nameFromLayer(QgsMapLayer* layer);
+    
+    
+    void setVisible(bool visible = TRUE);
+    bool isVisible();
+    
+    void setInOverview(bool inOverview = TRUE);
+    bool isInOverview();
+    
+    /** called to add appropriate menu items to legend's popup menu */
+    void addToPopupMenu(QMenu& theMenu, QAction* toggleEditingAction);
+    
+  public slots:
+    
+    /**Open attribute table*/
+    void table();
+    
+    /**Connected to deleted() signal of attribute table*/
+    void invalidateTableDisplay();
+
+    /**Connected to layer's selectionChanged() */
+    void selectionChanged();
+    
+    /**Connected to layer's wasModified() */
+    void closeTable(bool onlyGeometryWasChanged);
+    
+    /**Save as shapefile*/
+    void saveAsShapefile();
+    
+    /**Save selection as shapefile*/
+    void saveSelectionAsShapefile();
+    
+    /**Toggle editing for layer*/
+    void toggleEditing();
+    
+    /**Toggle show in overview*/
+    void showInOverview();
+    
+    /**Layer name has changed - set it also in legend*/
+    void layerNameChanged();
+    
+ protected:
+
+    /**Save as shapefile (called from saveAsShapefile and saveSelectionAsShapefile)*/
+    void saveAsShapefileGeneral(bool saveOnlySelection);
+
+    /** layer identified by its layer id */
+    QgsMapCanvasLayer mLyr;
+   
+    /** Pointer to the table display object if there is one, otherwise NULL */
+    QgsAttributeTableDisplay* mTableDisplay;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,161 @@
+/***************************************************************************
+                         qgslegendlayerfilegroup.cpp  -  description
+                             -------------------
+    begin                : Juli 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgslegendlayer.h"
+#include "qgslegendlayerfilegroup.h"
+#include "qgslegendlayerfile.h"
+#include "qgslegendsymbologygroup.h"
+#include "qgsmaplayer.h"
+
+QgsLegendLayerFileGroup::QgsLegendLayerFileGroup(QTreeWidgetItem* theItem, QString theString): QgsLegendItem(theItem, theString)
+{
+    mType = LEGEND_LAYER_FILE_GROUP;
+    setText(0, theString);
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayerFileGroup::accept(LEGEND_ITEM_TYPE type)
+{
+    if ( type == LEGEND_LAYER_FILE )
+      {
+	return INSERT; //there should be a way to already test, if the layers are symbology compatible
+      }
+    else
+      {
+	return NO_ACTION;
+      }
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendLayerFileGroup::accept(const QgsLegendItem* li) const
+{
+#ifdef QGISDEBUG
+  qWarning("in QgsLegendLayerFileGroup::accept");
+#endif
+  if(li)
+    {
+      LEGEND_ITEM_TYPE type = li->type();
+      if ( type == LEGEND_LAYER_FILE /*&& this != li->parent()*/)
+      {
+	if(child(0) == 0)
+	  {
+	    return INSERT;
+	  }
+	else
+	  {
+	    QgsLegendLayerFile* llf = dynamic_cast<QgsLegendLayerFile*>(child(0));
+	    if(llf)
+	      {
+		QgsMapLayer* childlayer = llf->layer();
+		const QgsMapLayer* newlayer = (dynamic_cast<const QgsLegendLayerFile*>(li))->layer();
+		if(newlayer->isSymbologyCompatible(*childlayer))
+		  {
+		    return INSERT;
+		  }
+	      }
+	  }
+      }
+    }
+  return NO_ACTION;
+}
+
+bool QgsLegendLayerFileGroup::insert(QgsLegendItem* newItem)
+{
+  if ( newItem->type() == LEGEND_LAYER_FILE )
+    {
+      QgsLegendItem* oldItem = firstChild();
+
+      if(!oldItem)//this item is the first child
+	{
+	  insertChild(0, newItem);
+	  return true;
+	}
+      //there are already legend layer files
+      
+      //find the lowest sibling
+      while(oldItem->nextSibling() != 0)
+	{
+	  oldItem = oldItem->nextSibling();
+	}
+      QgsLegendLayerFile* thefile = dynamic_cast<QgsLegendLayerFile*>(oldItem);
+      
+      if(!thefile)
+	{
+	  return false;
+	}
+      QgsMapLayer* thelayer = thefile->layer();
+      if(!thelayer)
+	{
+	  return false;
+	}
+      QgsMapLayer* newLayer = (dynamic_cast<QgsLegendLayerFile*>(newItem))->layer();
+      if(newLayer->isSymbologyCompatible(*thelayer))
+	{	
+	  insertChild(childCount(), newItem);
+	  return true;
+	}
+      else
+	{
+	  return false;
+	}  
+    }
+  else
+    {
+      return false;
+    }
+}
+
+bool QgsLegendLayerFileGroup::containsLegendLayerFile(const QgsLegendLayerFile* llf) const
+{
+  bool result = false;
+  for(int i = 0; i < childCount(); ++i)
+    {
+      if(llf == child(i))
+	{
+	  result = true;
+	  break;
+	}
+    }
+  return result;
+}
+
+void QgsLegendLayerFileGroup::receive(QgsLegendItem* newChild)
+{
+  if(newChild->type() == LEGEND_LAYER_FILE)
+    {
+      QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(parent());
+      if(ll)
+	{
+	  ll->updateIcon();
+	  ll->updateCheckState();
+	}
+    }
+}
+
+void QgsLegendLayerFileGroup::release(QgsLegendItem* formerChild)
+{
+#ifdef QGISDEBUG
+  qWarning("In QgsLegendLayerFileGroup::release");
+#endif
+  if(formerChild->type() == LEGEND_LAYER_FILE)
+    {
+      QgsLegendLayer* ll = dynamic_cast<QgsLegendLayer*>(parent());
+      if(ll)
+	{
+	  ll->updateIcon();
+	  ll->updateCheckState();
+	}
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendlayerfilegroup.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,38 @@
+/***************************************************************************
+                         qgslegendlayerfilegroup.h  -  description
+                             -------------------
+    begin                : Juli 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgslegenditem.h"
+
+class QgsLegendLayerFile;
+
+class QgsLegendLayerFileGroup: public QgsLegendItem
+{
+ public:
+    QgsLegendLayerFileGroup(QTreeWidgetItem* theItem, QString theString);
+    bool isLeafNode() {return false;}
+    DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+    QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+    bool insert(QgsLegendItem* theItem);
+    /**Returns true if llf is a childelement*/
+    bool containsLegendLayerFile(const QgsLegendLayerFile* llf) const;
+    /**Makes the parent QgsLegendLayer update the checkState and the icon after a new
+     QgsLegendLayerFile was inserted*/
+    void receive(QgsLegendItem* newChild);
+    /**Cleanups when after a child QgsLegendLayerFile item has left. Tells the parent QgsLegendLayer to
+     refresh the checkState and the icon*/
+    void release(QgsLegendItem* formerChild);
+};

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,49 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include "qgsapplication.h"
+#include "qgslegendpropertygroup.h"
+#include <QCoreApplication>
+#include <QIcon>
+
+QgsLegendPropertyGroup::QgsLegendPropertyGroup(QTreeWidgetItem* theLegendItem, QString theString)
+    : QgsLegendItem(theLegendItem,theString )
+{
+  mType=LEGEND_PROPERTY_GROUP;
+  QIcon myIcon(QgsApplication::themePath()+"/mIconProperties.png");
+  setText(0, theString);
+  setIcon(0,myIcon);
+}
+
+
+QgsLegendPropertyGroup::~QgsLegendPropertyGroup()
+{
+
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendPropertyGroup::accept(LEGEND_ITEM_TYPE type)
+{
+    return NO_ACTION;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendPropertyGroup::accept(const QgsLegendItem* li) const
+{
+    return NO_ACTION;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertygroup.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDPROPERTYGROUP_H
+#define QGSLEGENDPROPERTYGROUP_H
+
+#include <qgslegenditem.h>
+
+/**
+container for layer properties  (e.g. projection, scale dependent view)
+
+ at author Tim Sutton
+*/
+class QgsLegendPropertyGroup : public QgsLegendItem
+{
+public:
+    QgsLegendPropertyGroup(QTreeWidgetItem * ,QString);
+
+    ~QgsLegendPropertyGroup();
+
+	bool isLeafNode() {return mLeafNodeFlag;}
+        DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+	QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+        /** Overloads cmpare function of QListViewItem
+          * @note The property group must always be the first in the list
+          */
+        int compare (QTreeWidgetItem* i,int col, bool ascending) {return -1;}
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,48 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include "qgslegendpropertyitem.h"
+#include "qgsapplication.h"
+#include <QIcon>
+
+QgsLegendPropertyItem::QgsLegendPropertyItem(QTreeWidgetItem * theItem,QString theString)
+ : QgsLegendItem(theItem ,theString)
+{
+  mType=LEGEND_PROPERTY_ITEM;
+  QIcon myIcon(QgsApplication::pkgDataPath()+QString("/images/icons/property_item.png"));
+  setIcon(0,myIcon);
+}
+
+
+QgsLegendPropertyItem::~QgsLegendPropertyItem()
+{
+  mType=LEGEND_PROPERTY_ITEM;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendPropertyItem::accept(LEGEND_ITEM_TYPE type)
+{
+  return NO_ACTION;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendPropertyItem::accept(const QgsLegendItem* li) const
+{
+  return NO_ACTION;
+}
+
+

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendpropertyitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,42 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDPROPERTYITEM_H
+#define QGSLEGENDPROPERTYITEM_H
+
+#include <qgslegenditem.h>
+
+/**
+A legend property item is a leaf node (it can have no children) that is used to represent a layer property e.g. projection, labels,metadata etc.
+ 
+ at author Tim Sutton
+*/
+class QgsLegendPropertyItem : public QgsLegendItem
+{
+public:
+  QgsLegendPropertyItem(QTreeWidgetItem * theItem,QString theString);
+
+  ~QgsLegendPropertyItem();
+
+  bool isLeafNode() {return mLeafNodeFlag;}
+  DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+  QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,66 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include "qgsapplication.h"
+#include "qgslegendlayerfile.h"
+#include "qgslegendlayerfilegroup.h"
+#include "qgslegendsymbologygroup.h"
+#include "qgsmaplayer.h"
+#include <QCoreApplication>
+#include <QIcon>
+
+QgsLegendSymbologyGroup::QgsLegendSymbologyGroup(QTreeWidgetItem * theItem, QString theString)
+    : QgsLegendItem( theItem, theString)
+{
+  mType = LEGEND_SYMBOL_GROUP;
+  QIcon myIcon(QgsApplication::themePath()+"/mIconSymbology.png");
+  setText(0, theString);
+  setIcon(0,myIcon);
+}
+
+
+QgsLegendSymbologyGroup::~QgsLegendSymbologyGroup()
+{}
+
+QgsLegendItem::DRAG_ACTION QgsLegendSymbologyGroup::accept(LEGEND_ITEM_TYPE type)
+{
+    return NO_ACTION;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendSymbologyGroup::accept(const QgsLegendItem* li) const
+{
+  return NO_ACTION;
+}
+
+/** Overloads cmpare function of QListViewItem
+  * @note The symbology group must always be the second in the list
+  */
+int QgsLegendSymbologyGroup::compare (QTreeWidgetItem * i,int col, bool ascending)
+{
+  QgsLegendItem * myItem = dynamic_cast<QgsLegendItem *>(i) ;
+  if (myItem->type() == QgsLegendItem::LEGEND_PROPERTY_GROUP)
+  {
+    return 1;
+  }
+  else 
+  {
+    return -1;
+  }
+}
+

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologygroup.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,44 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDSYMBOLOGYGROUP_H
+#define QGSLEGENDSYMBOLOGYGROUP_H
+
+#include <qgslegenditem.h>
+
+class QgsMapLayer;
+
+/**
+ at author Tim Sutton
+*/
+class QgsLegendSymbologyGroup : public QgsLegendItem
+{
+public:
+  QgsLegendSymbologyGroup(QTreeWidgetItem * theItem, QString theString);
+  ~QgsLegendSymbologyGroup();
+  bool isLeafNode() {return false;}
+  DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+  QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+  /** Overloads cmpare function of QListViewItem
+    * @note The symbology group must always be the second in the list
+    */
+  int compare (QTreeWidgetItem * i,int col, bool ascending);
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,62 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#include "qgslegendsymbologyitem.h"
+
+QgsLegendSymbologyItem::QgsLegendSymbologyItem(QTreeWidgetItem * theItem,QString theString, int pixmapWidth, int pixmapHeight)
+  : QgsLegendItem(theItem, theString), mPixmapWidth(pixmapWidth), mPixmapHeight(pixmapHeight), mLegend(0)
+{
+  mType = LEGEND_SYMBOL_ITEM;
+}
+
+QgsLegendSymbologyItem::QgsLegendSymbologyItem(int pixmapWidth, int pixmapHeight): QgsLegendItem(), mPixmapWidth(pixmapWidth), mPixmapHeight(pixmapHeight), mLegend(0)
+{
+  mType = LEGEND_SYMBOL_ITEM;
+}
+
+QgsLegendSymbologyItem::~QgsLegendSymbologyItem()
+{  
+  if(mLegend)
+    {
+      mLegend->removePixmapWidthValue(mPixmapWidth);
+      mLegend->removePixmapHeightValue(mPixmapHeight);
+    }
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendSymbologyItem::accept(LEGEND_ITEM_TYPE type)
+{
+  return NO_ACTION;
+}
+
+QgsLegendItem::DRAG_ACTION QgsLegendSymbologyItem::accept(const QgsLegendItem* li) const
+{
+  return NO_ACTION;
+}
+
+void QgsLegendSymbologyItem::setLegend(QgsLegend* theLegend)
+{
+  mLegend = theLegend;
+  if(mLegend)
+    {
+      mLegend->addPixmapWidthValue(mPixmapWidth);
+      mLegend->addPixmapHeightValue(mPixmapHeight);
+    }
+}
+

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendsymbologyitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Tim Sutton   *
+ *   aps02ts at macbuntu   *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   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, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef QGSLEGENDSYMBOLOGYITEM_H
+#define QGSLEGENDSYMBOLOGYITEM_H
+
+#include "qgslegend.h"
+#include <qgslegenditem.h>
+
+/**
+ at author Tim Sutton
+*/
+class QgsLegendSymbologyItem : public QgsLegendItem
+{
+public:
+    QgsLegendSymbologyItem(QTreeWidgetItem* theItem, QString theString, int pixmapWidth, int pixmapHeight);
+    QgsLegendSymbologyItem(int pixmapWidth, int pixmapHeight);
+    ~QgsLegendSymbologyItem();
+    bool isLeafNode() {return true;}
+    DRAG_ACTION accept(LEGEND_ITEM_TYPE type);
+    QgsLegendItem::DRAG_ACTION accept(const QgsLegendItem* li) const;
+    int pixmapWidth() const {return mPixmapWidth;}
+    int pixmapHeight() const {return mPixmapHeight;}
+    void setLegend(QgsLegend* theLegend);
+    QgsLegend* legend() const {return mLegend;}
+ protected:
+    int mPixmapWidth;
+    int mPixmapHeight;
+    /**This pointer is needed to remove the width/height values of this item
+     in the legend even if this item is not in the legend anymore*/
+    QgsLegend* mLegend;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,41 @@
+/***************************************************************************
+                         qgslegendvectorsymbologyitem.cpp  -  description
+                             -------------------
+    begin                : Juli 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgslegendvectorsymbologyitem.h"
+
+QgsLegendVectorSymbologyItem::QgsLegendVectorSymbologyItem(QTreeWidgetItem * theItem, QString col1, int pixmapWidth, int pixmapHeight)
+: QgsLegendSymbologyItem(theItem, col1, pixmapWidth, pixmapHeight)
+{
+    mType = LEGEND_VECTOR_SYMBOL_ITEM;
+}
+
+void QgsLegendVectorSymbologyItem::addSymbol(QgsSymbol* s)
+{
+    mSymbols.push_back(s);
+}
+
+void QgsLegendVectorSymbologyItem::handleDoubleClickEvent()
+{
+#ifdef QGISDEBUG
+    qWarning("in QgsLegendVectorSymbologyItem::handleDoubleClickEvent");
+#endif
+    //todo: show the dialog
+    //QgsSiSyDialog d(0);
+    //std::list<QgsSymbol*>::iterator iter = mSymbols.begin();
+    //d.set(*iter);
+    //d.exec();
+}

Added: packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/legend/qgslegendvectorsymbologyitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+                         qgslegendvectorsymbologyitem.h  -  description
+                             -------------------
+    begin                : Juli 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef QGSLEGENDVECTORSYMBOLOGYITEM_H
+#define QGSLEGENDVECTORSYMBOLOGYITEM_H
+
+#include <list>
+#include "qgslegendsymbologyitem.h"
+
+class QgsSymbol;
+
+class QgsLegendVectorSymbologyItem: public QgsLegendSymbologyItem
+{
+ public:
+    QgsLegendVectorSymbologyItem(QTreeWidgetItem * theItem, QString col1, int pixmapWidth, int pixmapHeight);
+    /**Add a symbol to the list such that it will be updated if necessary*/
+    void addSymbol(QgsSymbol* s);
+    /**Brings up a single symbol dialog. The changes are then applied to all entries of mSymbols*/
+    void handleDoubleClickEvent();
+ private:
+    /**Collection of pointers to the vector layer symbols associated with this item*/
+    std::list<QgsSymbol*> mSymbols;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/main.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,595 @@
+/***************************************************************************
+                            main.cpp  -  description
+                              -------------------
+              begin                : Fri Jun 21 10:48:28 AKDT 2002
+              copyright            : (C) 2002 by Gary E.Sherman
+              email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: main.cpp 7111 2007-07-30 02:01:54Z gsherman $ */
+
+//qt includes
+#include <QBitmap>
+#include <QDir>
+#include <QFile>
+#include <QFileInfo>
+#include <QFont>
+#include <QMessageBox>
+#include <QPixmap>
+#include <QPixmap>
+#include <QSettings>
+#include <QSplashScreen>
+#include <QString>
+#include <QStringList> 
+#include <QStyle>
+#include <QPlastiqueStyle>
+#include <QTextCodec>
+#include <QTranslator>
+
+#include <iostream>
+#include <cstdio>
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef WIN32
+ // Open files in binary mode
+ #include <fcntl.h> /*  _O_BINARY */
+ #undef _fmode
+ int _fmode = _O_BINARY;
+#else
+ #include <getopt.h>
+#endif
+
+#ifdef Q_OS_MACX
+#include <ApplicationServices/ApplicationServices.h>
+#endif
+
+#include "qgisapp.h"
+#include "qgsapplication.h"
+#include <qgsconfig.h>
+#include <qgssvnversion.h>
+#include "qgsexception.h"
+#include "qgsproject.h"
+#include "qgsrect.h"
+
+static const char * const ident_ = "$Id: main.cpp 7111 2007-07-30 02:01:54Z gsherman $";
+
+/** print usage text
+ */
+void usage( std::string const & appName )
+{
+  std::cerr << "Quantum GIS - " << VERSION << " 'Ganymede' (" 
+            << QGSSVNVERSION << ")\n" 
+      << "Quantum GIS (QGIS) is a viewer for spatial data sets, including\n" 
+      << "raster and vector data.\n"  
+      << "Usage: " << appName <<  " [options] [FILES]\n"  
+      << "  options:\n"
+      << "\t[--snapshot filename]\temit snapshot of loaded datasets to given file\n"
+      << "\t[--lang language]\tuse language for interface text\n"
+      << "\t[--project projectfile]\tload the given QGIS project\n"
+      << "\t[--extent xmin,ymin,xmax,ymax]\tset initial map extent\n"
+      << "\t[--help]\t\tthis text\n\n"
+      << "  FILES:\n"  
+      << "    Files specified on the command line can include rasters,\n"  
+      << "    vectors, and QGIS project files (.qgs): \n"  
+      << "     1. Rasters - Supported formats include GeoTiff, DEM \n"  
+      << "        and others supported by GDAL\n"  
+      << "     2. Vectors - Supported formats include ESRI Shapefiles\n"  
+      << "        and others supported by OGR and PostgreSQL layers using\n"  
+            << "        the PostGIS extension\n"  ;
+
+} // usage()
+
+
+/////////////////////////////////////////////////////////////////
+// Command line options 'behaviour' flag setup
+////////////////////////////////////////////////////////////////
+
+// These two are global so that they can be set by the OpenDocuments
+// AppleEvent handler as well as by the main routine argv processing
+
+// This behaviour will cause QGIS to autoload a project
+static QString myProjectFileName="";
+
+// This is the 'leftover' arguments collection
+static QStringList myFileList;
+
+
+#ifdef Q_OS_MACX
+/* Mac OS OpenDocuments AppleEvent handler called when files are double-clicked.
+ * May be called at startup before application is initialized as well as
+ * at any time while the application is running.
+ */
+short openDocumentsAEHandler(const AppleEvent *event, AppleEvent *reply, long refCon)
+{
+  AEDescList docs;
+  if (AEGetParamDesc(event, keyDirectObject, typeAEList, &docs) == noErr)
+  {
+    // Get count of files to open
+    long count = 0;
+    AECountItems(&docs, &count);
+
+    // Examine files and load first project file followed by all other non-project files
+    myProjectFileName.truncate(0);
+    myFileList.clear();
+    for (int i = 0; i < count; i++)
+    {
+      FSRef ref;
+      UInt8 strBuffer[256];
+      if (AEGetNthPtr(&docs, i + 1, typeFSRef, 0, 0, &ref, sizeof(ref), 0) == noErr &&
+          FSRefMakePath(&ref, strBuffer, 256) == noErr)
+      {
+        QString fileName(QString::fromUtf8(reinterpret_cast<char *>(strBuffer)));
+        if (fileName.endsWith(".qgs"))
+        {
+          // Load first project file and ignore all other project files
+          if (myProjectFileName.isEmpty())
+          {
+            myProjectFileName = fileName;
+          }
+        }
+        else
+        {
+           // Load all non-project files
+           myFileList.append(fileName);
+        }
+      }
+    }
+
+    // Open files now if application has been initialized
+    QgisApp *qgis = dynamic_cast<QgisApp *>(qApp->mainWidget());
+    if (qgis)
+    {
+      if (!myProjectFileName.isEmpty())
+      {
+        qgis->openProject(myProjectFileName);
+      }
+      for (QStringList::Iterator myIterator = myFileList.begin();
+           myIterator != myFileList.end(); ++myIterator ) 
+      {
+        QString fileName = *myIterator;
+        qgis->openLayer(fileName);
+      }
+    }
+  }
+  return noErr;
+}
+#endif
+
+
+/* Test to determine if this program was started on Mac OS X by double-clicking
+ * the application bundle rather then from a command line. If clicked, argv[1]
+ * contains a process serial number in the form -psn_0_1234567. Don't process
+ * the command line arguments in this case because argv[1] confuses the processing.
+ */
+bool bundleclicked(int argc, char *argv[])
+{
+  return ( argc > 1 && memcmp(argv[1], "-psn_", 5) == 0 );
+}
+
+
+/* 
+ * Hook into the qWarning/qFatal mechanism so that we can channel messages
+ * from libpng to the user.
+ *
+ * Some JPL WMS images tend to overload the libpng 1.2.2 implementation
+ * somehow (especially when zoomed in)
+ * and it would be useful for the user to know why their picture turned up blank
+ *
+ * Based on qInstallMsgHandler example code in the Qt documentation.
+ *
+ */
+void myMessageOutput( QtMsgType type, const char *msg )
+{
+  switch ( type ) {
+    case QtDebugMsg:
+      fprintf( stderr, "Debug: %s\n", msg );
+      break;
+    case QtCriticalMsg:
+      fprintf( stderr, "Critical: %s\n", msg );
+      break;
+    case QtWarningMsg:
+      fprintf( stderr, "Warning: %s\n", msg );
+      
+      // TODO: Verify this code in action.
+      if ( 0 == strncmp(msg, "libpng error:", 13) )
+      {
+        // Let the user know
+        QMessageBox::warning( 0, "libpng Error", msg );
+      }
+      
+      break;
+    case QtFatalMsg:
+      fprintf( stderr, "Fatal: %s\n", msg );
+      abort();                    // deliberately core dump
+  }
+}
+
+
+int main(int argc, char *argv[])
+{
+
+  // Set up the custom qWarning/qDebug custom handler
+  qInstallMsgHandler( myMessageOutput );
+
+  /////////////////////////////////////////////////////////////////
+  // Command line options 'behaviour' flag setup
+  ////////////////////////////////////////////////////////////////
+
+  //
+  // Parse the command line arguments, looking to see if the user has asked for any 
+  // special behaviours. Any remaining non command arguments will be kept aside to
+  // be passed as a list of layers and / or a project that should be loaded.
+  //
+
+  // This behaviour is used to load the app, snapshot the map,
+  // save the image to disk and then exit
+  QString mySnapshotFileName="";
+
+  // This behaviour will set initial extent of map canvas, but only if
+  // there are no command line arguments. This gives a usable map
+  // extent when qgis starts with no layers loaded. When layers are
+  // loaded, we let the layers define the initial extent.
+  QString myInitialExtent="";
+  if (argc == 1)
+    myInitialExtent="-1,-1,1,1";
+
+  // This behaviour will allow you to force the use of a translation file
+  // which is useful for testing
+  QString myTranslationCode="";
+
+#ifndef WIN32
+  if ( !bundleclicked(argc, argv) )
+  {
+
+  //////////////////////////////////////////////////////////////// 
+  // USe the GNU Getopts utility to parse cli arguments
+  // Invokes ctor `GetOpt (int argc, char **argv,  char *optstring);'
+  ///////////////////////////////////////////////////////////////
+  int optionChar;
+  while (1)
+  {
+    static struct option long_options[] =
+    {
+    /* These options set a flag. */
+    {"help", no_argument, 0, 'h'},
+    /* These options don't set a flag.
+     *  We distinguish them by their indices. */
+    {"snapshot", required_argument, 0, 's'},
+    {"lang",     required_argument, 0, 'l'},
+    {"project",  required_argument, 0, 'p'},
+    {"extent",   required_argument, 0, 'e'},
+    {0, 0, 0, 0}
+    };
+
+    /* getopt_long stores the option index here. */
+    int option_index = 0;
+
+    optionChar = getopt_long (argc, argv, "slpe",
+        long_options, &option_index);
+
+    /* Detect the end of the options. */
+    if (optionChar == -1)
+    break;
+
+    switch (optionChar)
+    {
+    case 0:
+      /* If this option set a flag, do nothing else now. */
+      if (long_options[option_index].flag != 0)
+      break;
+      printf ("option %s", long_options[option_index].name);
+      if (optarg)
+      printf (" with arg %s", optarg);
+      printf ("\n");
+      break;
+
+    case 's':
+      mySnapshotFileName = QDir::convertSeparators(QFileInfo(QFile::decodeName(optarg)).absFilePath());
+      break;
+
+    case 'l':
+      myTranslationCode = optarg;
+      break;
+
+    case 'p':
+      myProjectFileName = QDir::convertSeparators(QFileInfo(QFile::decodeName(optarg)).absFilePath());
+      break;
+
+    case 'e':
+      myInitialExtent = optarg;
+      break;
+      
+    case 'h':
+    case '?':
+      usage( argv[0] );
+      return 2;   // XXX need standard exit codes
+      break;
+
+    default:
+      std::cerr << argv[0] << ": getopt returned character code " << optionChar << "\n";
+      return 1;   // XXX need standard exit codes
+    }
+  }
+
+  // Add any remaining args to the file list - we will attempt to load them 
+  // as layers in the map view further down....
+#ifdef QGISDEBUG
+  std::cout << "Files specified on command line: " << optind << std::endl;
+#endif
+  if (optind < argc)
+  {
+    while (optind < argc)
+    {
+#ifdef QGISDEBUG
+    int idx = optind;
+    std::cout << idx << ": " << argv[idx] << std::endl;
+#endif
+    myFileList.append(QDir::convertSeparators(QFileInfo(QFile::decodeName(argv[optind++])).absFilePath()));
+    }
+  }
+  }
+#endif //WIN32
+
+  /////////////////////////////////////////////////////////////////////
+  // Now we have the handlers for the different behaviours...
+  ////////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////////
+  // Initialise the application and the translation stuff
+  /////////////////////////////////////////////////////////////////////
+
+#ifdef Q_WS_X11
+  bool myUseGuiFlag = getenv( "DISPLAY" ) != 0;
+#else
+  bool myUseGuiFlag = TRUE;
+#endif
+  if (!myUseGuiFlag) 
+  {
+    std::cerr << "QGIS starting in non-interactive mode not supported.\n You are seeing this message most likely because you have no DISPLAY environment variable set." << std::endl;
+    exit(1); //exit for now until a version of qgis is capabable of running non interactive
+  }
+  QgsApplication a(argc, argv, myUseGuiFlag );
+  //  
+  // Set up the QSettings environment must be done after qapp is created
+  QCoreApplication::setOrganizationName("QuantumGIS");
+  QCoreApplication::setOrganizationDomain("qgis.org");
+  QCoreApplication::setApplicationName("qgis");
+#ifdef Q_OS_MACX
+  // Install OpenDocuments AppleEvent handler after application object is initialized
+  // but before any other event handling (including dialogs or splash screens) occurs.
+  // If an OpenDocuments event has been created before the application was launched,
+  // it must be handled before some other event handler runs and dismisses it as unknown.
+  // If run at startup, the handler will set either or both of myProjectFileName and myFileList.
+  AEInstallEventHandler(kCoreEventClass, kAEOpenDocuments, openDocumentsAEHandler, 0, false);
+
+  // If the GDAL plugins are bundled with the application and GDAL_DRIVER_PATH
+  // is not already defined, use the GDAL plugins in the application bundle.
+  QString gdalPlugins(QCoreApplication::applicationDirPath().append("/lib/gdalplugins"));
+  if (QFile::exists(gdalPlugins) && !getenv("GDAL_DRIVER_PATH"))
+  {
+    setenv("GDAL_DRIVER_PATH", gdalPlugins, 1);
+  }
+#endif
+
+#ifdef Q_WS_WIN
+  //for windows lets use plastique syle!
+  QApplication::setStyle(new QPlastiqueStyle);
+#endif
+
+  // Check to see if qgis was started from the source directory. 
+  // This is done by checking whether qgis binary is in 'src/app'
+  // directory. If running from there, exit gracefully.
+  // (QGIS might work incorrectly when run from the sources)
+  QString appDir = qApp->applicationDirPath();
+
+  if(appDir.endsWith("/src/app"))
+  {
+    QMessageBox::critical(0,"QGIS Not Installed",
+          "You appear to be running QGIS from the source directory.\n"
+          "You must install QGIS using make install and run it from the "
+          "installed directory.");
+    exit(1);
+  }
+
+  
+  // a.setFont(QFont("helvetica", 11));
+
+  QString i18nPath = QgsApplication::i18nPath();
+  if (myTranslationCode.isEmpty())
+  {
+    myTranslationCode = QTextCodec::locale();
+  }
+#ifdef QGISDEBUG
+  std::cout << "Setting translation to "
+    << i18nPath.toLocal8Bit().data() << "/qgis_" << myTranslationCode.toLocal8Bit().data() << std::endl;
+#endif
+
+  /* Translation file for Qt.
+   * The strings from the QMenuBar context section are used by Qt/Mac to shift
+   * the About, Preferences and Quit items to the Mac Application menu.
+   * These items must be translated identically in both qt_ and qgis_ files.
+   */
+  QTranslator qttor(0);
+  if (qttor.load(QString("qt_") + myTranslationCode, i18nPath))
+  {
+    a.installTranslator(&qttor);
+  }
+
+  /* Translation file for QGIS.
+   */
+  QTranslator qgistor(0);
+  if (qgistor.load(QString("qgis_") + myTranslationCode, i18nPath))
+  {
+    a.installTranslator(&qgistor);
+  }
+
+  //set up splash screen 
+  QString mySplashPath(QgsApplication::splashPath());
+  QPixmap myPixmap(mySplashPath+QString("splash.png"));
+  QSplashScreen *mypSplash = new QSplashScreen(myPixmap);
+  QSettings mySettings;
+  if (mySettings.value("/qgis/hideSplash").toBool())
+  {
+    //splash screen hidden
+  }
+  else
+  {
+#ifdef Q_OS_MACX
+    //on mac automasking as done below does not work (as of qt 4.2.1)
+    //so we do it the old way see bug #387
+    qDebug("setting mask for mac");
+    QPixmap myMaskPixmap(mySplashPath+QString("splash_mask.png"), 0, Qt::ThresholdDither | Qt::ThresholdAlphaDither | Qt::AvoidDither ); 
+    mypSplash->setMask( myMaskPixmap.createHeuristicMask() ); 
+#else
+    //for win and linux we can just automask and png transparency areas will be used
+    mypSplash->setMask( myPixmap.mask() );
+#endif
+    mypSplash->show();
+  }
+
+
+
+
+  QgisApp *qgis = new QgisApp(mypSplash); // "QgisApp" used to find canonical instance
+  qgis->setName( "QgisApp" );
+  
+
+  /////////////////////////////////////////////////////////////////////
+  // If no --project was specified, parse the args to look for a     //
+  // .qgs file and set myProjectFileName to it. This allows loading  //
+  // of a project file by clicking on it in various desktop managers //
+  // where an appropriate mime-type has been set up.                 //
+  /////////////////////////////////////////////////////////////////////
+  if(myProjectFileName.isEmpty())
+  {
+    // check for a .qgs
+    for(int i = 0; i < argc; i++)
+    {
+      QString arg = QDir::convertSeparators(QFileInfo(QFile::decodeName(argv[i])).absFilePath());
+      if(arg.contains(".qgs"))
+      {
+        myProjectFileName = arg;
+        break;
+      }
+    }
+  }
+
+  /////////////////////////////////////////////////////////////////////
+  // Load a project file if one was specified
+  /////////////////////////////////////////////////////////////////////
+  if( ! myProjectFileName.isEmpty() )
+  {
+    qgis->openProject(myProjectFileName);
+  }
+
+
+  /////////////////////////////////////////////////////////////////////
+  // autoload any filenames that were passed in on the command line
+  /////////////////////////////////////////////////////////////////////
+#ifdef QGISDEBUG
+  std::cout << "Number of files in myFileList: " << myFileList.count() << std::endl;
+#endif
+  for ( QStringList::Iterator myIterator = myFileList.begin(); myIterator != myFileList.end(); ++myIterator ) 
+  {
+
+
+#ifdef QGISDEBUG
+    std::cout << "Trying to load file : " << (*myIterator).toLocal8Bit().data() << std::endl;
+#endif
+    QString myLayerName = *myIterator;
+    // don't load anything with a .qgs extension - these are project files
+    if(!myLayerName.contains(".qgs"))
+    {
+      qgis->openLayer(myLayerName);
+    }
+  }
+
+
+  /////////////////////////////////////////////////////////////////////
+  // Set initial extent if requested
+  /////////////////////////////////////////////////////////////////////
+  if ( ! myInitialExtent.isEmpty() )
+  {
+    double coords[4];
+    int pos, posOld = 0;
+    bool ok;
+
+    // XXX is it necessary to switch to "C" locale?
+    
+    // parse values from string
+    // extent is defined by string "xmin,ymin,xmax,ymax"
+    for (int i = 0; i < 3; i++)
+    {
+      // find comma and get coordinate
+      pos = myInitialExtent.find(',', posOld);
+      if (pos == -1) {
+        ok = false; break;
+      }
+
+      coords[i] = QString( myInitialExtent.mid(posOld, pos - posOld) ).toDouble(&ok);
+      if (!ok)
+        break;
+      
+      posOld = pos+1;
+    }
+  
+    // parse last coordinate
+    if (ok)
+      coords[3] = QString( myInitialExtent.mid(posOld) ).toDouble(&ok);
+    
+    if (!ok)
+       std::cout << "Error while parsing initial extent!" << std::endl;
+    else
+    {
+       // set extent from parsed values
+       QgsRect rect(coords[0],coords[1],coords[2],coords[3]);
+       qgis->setExtent(rect);
+    }
+  }
+ 
+  /////////////////////////////////////////////////////////////////////
+  // Take a snapshot of the map view then exit if snapshot mode requested
+  /////////////////////////////////////////////////////////////////////
+  if(mySnapshotFileName!="")
+  {
+
+    /*You must have at least one paintEvent() delivered for the window to be
+      rendered properly.
+
+      It looks like you don't run the event loop in non-interactive mode, so the
+      event is never occuring.
+
+      To achieve this without runing the event loop: show the window, then call
+      qApp->processEvents(), grab the pixmap, save it, hide the window and exit.
+      */
+    //qgis->show();
+    a.processEvents();
+    QPixmap * myQPixmap = new QPixmap(800,600);
+    myQPixmap->fill();
+    qgis->saveMapAsImage(mySnapshotFileName,myQPixmap);
+    a.processEvents();
+    qgis->hide();
+    return 1;
+  }
+
+
+  /////////////////////////////////////////////////////////////////////
+  // Continue on to interactive gui...
+  /////////////////////////////////////////////////////////////////////
+  qgis->show();
+  a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
+
+  mypSplash->finish(qgis);
+  delete mypSplash;
+  return a.exec();
+
+}

Added: packages/qgis/branches/upstream/current/src/app/qgis.ico
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/app/qgis.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/app/qgis_win32.rc
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgis_win32.rc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgis_win32.rc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1 @@
+IDI_ICON1               ICON    DISCARDABLE     "qgis.ico"

Added: packages/qgis/branches/upstream/current/src/app/qgisapp.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgisapp.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgisapp.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,5345 @@
+/***************************************************************************
+  qgisapp.cpp  -  description
+  -------------------
+
+           begin                : Sat Jun 22 2002
+           copyright            : (C) 2002 by Gary E.Sherman
+           email                : sherman at mrcc.com
+           Romans 3:23=>Romans 6:23=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgisapp.cpp 7180 2007-09-06 18:23:44Z mhugent $ */
+
+
+//
+// QT4 includes make sure to use the new <CamelCase> style!
+//
+#include <Q3ListViewItem>
+#include <Q3PopupMenu>
+#include <QAction>
+#include <QApplication>
+#include <QBitmap>
+#include <QCheckBox>
+#include <QClipboard>
+#include <QColor>
+#include <QCursor>
+#include <QDesktopWidget>
+#include <QDialog>
+#include <QDir>
+#include <QEvent>
+#include <QFile>
+#include <QFileInfo>
+#include <QInputDialog>
+#include <QKeyEvent>
+#include <QLabel>
+#include <QLibrary>
+#include <QMenu>
+#include <QMenuBar>
+#include <QMenuItem>
+#include <QMessageBox>
+#include <QPainter>
+#include <QPictureIO>
+#include <QPixmap>
+#include <QPoint>
+#include <QPrinter>
+#include <QProcess>
+#include <QProgressBar>
+#include <QSettings>
+#include <QSplashScreen>
+#include <QStatusBar>
+#include <QStringList>
+#include <QTcpSocket>
+#include <QTextStream>
+#include <QToolButton>
+#include <QToolTip>
+#include <QVBoxLayout>
+#include <QWhatsThis>
+#include <QtGlobal>
+#include <QRegExp>
+#include <QRegExpValidator>
+//
+// Mac OS X Includes
+// Must include before GEOS 3 due to unqualified use of 'Point'
+//
+#ifdef Q_OS_MACX
+#include <ApplicationServices/ApplicationServices.h>
+#endif
+
+//
+// QGIS Specific Includes
+//
+#include "../../images/themes/default/qgis.xpm"
+#include "qgisapp.h"
+#include "qgisappinterface.h"
+#include "qgis.h"
+#include "qgisplugin.h"
+#include "qgsabout.h"
+#include "qgsapplication.h"
+#include "qgsbookmarkitem.h"
+#include "qgsbookmarks.h"
+#include "qgsclipboard.h"
+#include "qgscomposer.h"
+#include "qgscoordinatetransform.h"
+#include "qgscursors.h"
+#include "qgscustomprojectiondialog.h"
+#include "qgsencodingfiledialog.h"
+#include "qgsexception.h"
+#include "qgsfeature.h"
+#include "qgsgeomtypedialog.h"
+#include "qgshelpviewer.h"
+#include "qgslayerprojectionselector.h"
+#include "qgslegend.h"
+#include "qgslegendlayerfile.h"
+#include "qgslegendlayer.h"
+#include "qgslogger.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsmaplayerinterface.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsmapoverviewcanvas.h"
+#include "qgsmaprender.h"
+#include "qgsmessageviewer.h"
+#include "qgsoptions.h"
+#include "qgspastetransformations.h"
+#include "qgspluginitem.h"
+#include "qgspluginmanager.h"
+#include "qgspluginregistry.h"
+#include "qgsproject.h"
+#include "qgsprojectproperties.h"
+#include "qgsproviderregistry.h"
+#include "qgsrasterlayer.h"
+#include "qgsrasterlayerproperties.h"
+#include "qgsrect.h"
+#include "qgsrenderer.h"
+#include "qgsserversourceselect.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+//
+// Gdal/Ogr includes
+//
+#include <ogrsf_frmts.h>
+
+//
+// Other includes
+//
+#include <algorithm>
+#include <cassert>
+#include <cmath>
+#include <functional>
+#include <iomanip>
+#include <iostream>
+#include <list>
+#include <memory>
+#include <vector>
+
+//
+// Map tools
+//
+#include "qgsmaptooladdfeature.h"
+#include "qgsmaptooladdisland.h"
+#include "qgsmaptooladdring.h"
+#include "qgsmaptoolidentify.h"
+#include "qgsmaptoolpan.h"
+#include "qgsmaptoolselect.h"
+#include "qgsmaptoolvertexedit.h"
+#include "qgsmaptoolzoom.h"
+#include "qgsmeasuretool.h"
+
+//
+// Conditional Includes
+//
+#ifdef HAVE_POSTGRESQL
+#include "qgsdbsourceselect.h"
+#endif
+
+#ifdef HAVE_PYTHON
+#include "qgspythondialog.h"
+#include "qgspythonutils.h"
+#endif
+
+#ifndef WIN32
+#include <dlfcn.h>
+#endif
+
+using namespace std;
+class QTreeWidgetItem;
+
+/* typedefs for plugins */
+typedef QgsMapLayerInterface *create_it();
+typedef QgisPlugin *create_ui(QgisInterface * qI);
+typedef QString name_t();
+typedef QString description_t();
+typedef int type_t();
+
+// IDs for locating particular menu items
+const int BEFORE_RECENT_PATHS = 123;
+const int AFTER_RECENT_PATHS = 321;
+
+
+/// build the vector file filter string for a QFileDialog
+/*
+   called in ctor for initializing mVectorFileFilter
+   */
+static void buildSupportedVectorFileFilter_(QString & fileFilters);
+
+
+/** set the application title bar text
+
+  If the current project title is null
+  if the project file is null then
+  set title text to just application name and version
+  else
+  set set title text to the the project file name
+  else
+  set the title text to project title
+  */
+static void setTitleBarText_( QWidget & qgisApp )
+{
+  QString caption = QgisApp::tr("Quantum GIS - ");
+  caption += QString("%1 ('%2') ").arg(QGis::qgisVersion).arg(QGis::qgisReleaseName) + " ";
+
+  if ( QgsProject::instance()->title().isEmpty() )
+  {
+    if ( QgsProject::instance()->filename().isEmpty() )
+    {
+      // no project title nor file name, so just leave caption with
+      // application name and version
+    }
+    else
+    {
+      QFileInfo projectFileInfo( QgsProject::instance()->filename() );
+      caption += projectFileInfo.baseName();
+    }
+  }
+  else
+  {
+    caption += QgsProject::instance()->title();
+  }
+
+  qgisApp.setCaption( caption );
+} // setTitleBarText_( QWidget * qgisApp )
+
+/**
+ Creator function for output viewer
+*/
+static QgsMessageOutput* messageOutputViewer_()
+{
+  return new QgsMessageViewer();
+}
+
+
+/**
+ * This function contains forced validation of SRS used in QGIS.
+ * There are 3 options depending on the settings:
+ * - ask for SRS using projection selecter
+ * - use project's SRS
+ * - use predefined global SRS
+ */
+static void customSrsValidation_(QgsSpatialRefSys* srs)
+{
+  QString proj4String;
+  QSettings mySettings;
+  QString myDefaultProjectionOption =
+      mySettings.readEntry("/Projections/defaultBehaviour");
+  if (myDefaultProjectionOption=="prompt")
+  {
+    //@note this class is not a descendent of QWidget so we cant pass
+    //it in the ctor of the layer projection selector
+
+    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector();
+    long myDefaultSRS =
+        QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
+    mySelector->setSelectedSRSID(myDefaultSRS);
+    if(mySelector->exec())
+    {
+      QgsDebugMsg("Layer srs set from dialog: " + QString::number(mySelector->getCurrentSRSID()));
+      srs->createFromSrsId(mySelector->getCurrentSRSID());
+      srs->debugPrint();
+    }
+    else
+    {
+      QApplication::restoreOverrideCursor();
+    }
+    delete mySelector;
+  }
+  else if (myDefaultProjectionOption=="useProject")
+  {
+    // XXX TODO: Change project to store selected CS as 'projectSRS' not 'selectedWKT'
+    proj4String = QgsProject::instance()->readEntry("SpatialRefSys","//ProjectSRSProj4String",GEOPROJ4);
+    QgsDebugMsg("Layer srs set from project: " + proj4String);
+    srs->createFromProj4(proj4String);  
+    srs->debugPrint();
+  }
+  else ///Projections/defaultBehaviour==useGlobal
+  {
+    // XXX TODO: Change global settings to store default CS as 'defaultSRS' not 'defaultProjectionWKT'
+    int srs_id = mySettings.readNumEntry("/Projections/defaultProjectionSRSID",GEOSRS_ID); 
+    QgsDebugMsg("Layer srs set from global: " + proj4String);
+    srs->createFromSrsId(srs_id);
+    srs->debugPrint();
+  }
+
+}
+
+
+// constructor starts here
+  QgisApp::QgisApp(QSplashScreen *splash, QWidget * parent, Qt::WFlags fl)
+: QMainWindow(parent,fl),
+  mSplash(splash)
+{
+  setupUi(this);
+
+  mSplash->showMessage(tr("Checking database"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  // Do this early on before anyone else opens it and prevents us copying it
+  createDB();    
+
+
+  mSplash->showMessage(tr("Reading settings"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  readSettings();
+
+  mSplash->showMessage(tr("Setting up the GUI"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  createActions();
+  createActionGroups();
+  createMenus();
+  createToolBars();
+  createStatusBar();
+  setTheme(mThemeName);
+  updateRecentProjectPaths();
+  createCanvas();
+  createOverview();
+  createLegend();
+
+  mComposer = new QgsComposer(this); // Map composer
+  mInternalClipboard = new QgsClipboard; // create clipboard
+  mQgisInterface = new QgisAppInterface(this); // create the interfce
+
+  // set application's icon
+  setIcon(QPixmap(qgis_xpm));
+
+  // set application's caption
+  QString caption = tr("Quantum GIS - ");
+  caption += QString("%1 ('%2')").arg(QGis::qgisVersion).arg(QGis::qgisReleaseName);
+  setCaption(caption);
+
+  // set QGIS specific srs validation
+  QgsSpatialRefSys::setCustomSrsValidation(customSrsValidation_);
+  // set graphical message output
+  QgsMessageOutput::setMessageOutputCreator(messageOutputViewer_);
+  
+  fileNew(); // prepare empty project
+  qApp->processEvents();
+
+  // load providers
+  mSplash->showMessage(tr("Checking provider plugins"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  QgsApplication::initQgis();
+  
+#ifdef HAVE_PYTHON
+  mSplash->showMessage(tr("Starting Python"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  QgsPythonUtils::initPython(mQgisInterface);
+
+  if (!QgsPythonUtils::isEnabled())
+    mActionShowPythonDialog->setEnabled(false);
+#endif
+
+  // Create the plugin registry and load plugins
+  // load any plugins that were running in the last session
+  mSplash->showMessage(tr("Restoring loaded plugins"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  restoreSessionPlugins(QgsApplication::pluginPath());
+
+  mSplash->showMessage(tr("Initializing file filters"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  // now build vector file filter
+  buildSupportedVectorFileFilter_( mVectorFileFilter );
+
+  // now build raster file filter
+  QgsRasterLayer::buildSupportedRasterFileFilter( mRasterFileFilter );
+  
+  // Set the background colour for toolbox and overview as they default to 
+  // white instead of the window color
+  QPalette myPalette = toolBox->palette();
+  myPalette.setColor(QPalette::Button, myPalette.window().color());
+  toolBox->setPalette(myPalette);
+  //do the same for legend control
+  myPalette = toolBox->palette();
+  myPalette.setColor(QPalette::Button, myPalette.window().color());
+  mMapLegend->setPalette(myPalette);
+  //and for overview control this is done in createOverView method
+  
+  // Do this last in the ctor to ensure that all members are instantiated properly
+  setupConnections();
+  //
+  // Please make sure this is the last thing the ctor does so that we can ensure teh 
+  // widgets are all initialised before trying to restore their state.
+  //
+  mSplash->showMessage(tr("Restoring window state"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+  restoreWindowState();
+  
+  mSplash->showMessage(tr("QGIS Ready!"), Qt::AlignHCenter | Qt::AlignBottom);
+  qApp->processEvents();
+} // QgisApp ctor
+
+
+
+QgisApp::~QgisApp()
+{
+  delete mInternalClipboard;
+  delete mQgisInterface;
+  
+  delete mMapTools.mZoomIn;
+  delete mMapTools.mZoomOut;
+  delete mMapTools.mPan;
+  delete mMapTools.mIdentify;
+  delete mMapTools.mMeasureDist;
+  delete mMapTools.mMeasureArea;
+  delete mMapTools.mCapturePoint;
+  delete mMapTools.mCaptureLine;
+  delete mMapTools.mCapturePolygon;
+  delete mMapTools.mSelect;
+  delete mMapTools.mVertexAdd;
+  delete mMapTools.mVertexMove;
+  delete mMapTools.mVertexDelete;
+
+#ifdef HAVE_PYTHON
+  delete mPythonConsole;
+#endif
+  
+  // delete map layer registry and provider registry
+  QgsApplication::exitQgis();
+}
+
+// restore any application settings stored in QSettings
+void QgisApp::readSettings()
+{
+
+  QSettings settings;
+  // get the users theme preference from the settings
+  mThemeName = settings.readEntry("/Themes","default");
+
+
+  // Add the recently accessed project file paths to the File menu
+  mRecentProjectPaths = settings.readListEntry("/UI/recentProjectsList");
+
+  // Set the behaviour when the map splitters are resized
+  bool splitterRedraw = settings.value("/qgis/splitterRedraw", true).toBool();
+  canvasLegendSplit->setOpaqueResize(splitterRedraw);
+  legendOverviewSplit->setOpaqueResize(splitterRedraw);
+}
+
+
+//////////////////////////////////////////////////////////////////////
+//            Set Up the gui toolbars, menus, statusbar etc 
+//////////////////////////////////////////////////////////////////////            
+
+void QgisApp::createActions()
+{
+  QString myIconPath = QgsApplication::themePath();
+  //
+  // File Menu Related Items
+  //
+  mActionFileNew= new QAction(QIcon(myIconPath+"/mActionFileNew.png"), tr("&New Project"), this);
+  mActionFileNew->setShortcut(tr("Ctrl+N","New Project"));
+  mActionFileNew->setStatusTip(tr("New Project"));
+  connect(mActionFileNew, SIGNAL(triggered()), this, SLOT(fileNew()));
+  //
+  mActionFileOpen= new QAction(QIcon(myIconPath+"/mActionFileOpen.png"), tr("&Open Project..."), this);
+  mActionFileOpen->setShortcut(tr("Ctrl+O","Open a Project"));
+  mActionFileOpen->setStatusTip(tr("Open a Project"));
+  connect(mActionFileOpen, SIGNAL(triggered()), this, SLOT(fileOpen()));
+  //
+  mActionFileSave= new QAction(QIcon(myIconPath+"/mActionFileSave.png"), tr("&Save Project"), this);
+  mActionFileSave->setShortcut(tr("Ctrl+S","Save Project"));
+  mActionFileSave->setStatusTip(tr("Save Project"));
+  connect(mActionFileSave, SIGNAL(triggered()), this, SLOT(fileSave()));
+  //
+  mActionFileSaveAs= new QAction(QIcon(myIconPath+"/mActionFileSaveAs.png"), tr("Save Project &As..."), this);
+  mActionFileSaveAs->setShortcut(tr("Ctrl+A","Save Project under a new name"));
+  mActionFileSaveAs->setStatusTip(tr("Save Project under a new name"));
+  connect(mActionFileSaveAs, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
+  //
+  mActionFilePrint= new QAction(QIcon(myIconPath+"/mActionFilePrint.png"), tr("&Print..."), this);
+  mActionFilePrint->setShortcut(tr("Ctrl+P","Print"));
+  mActionFilePrint->setStatusTip(tr("Print"));
+  connect(mActionFilePrint, SIGNAL(triggered()), this, SLOT(filePrint()));
+  //
+  mActionSaveMapAsImage= new QAction(QIcon(myIconPath+"/mActionSaveMapAsImage.png"), tr("Save as Image..."), this);
+  mActionSaveMapAsImage->setShortcut(tr("Ctrl+I","Save map as image"));
+  mActionSaveMapAsImage->setStatusTip(tr("Save map as image"));
+  connect(mActionSaveMapAsImage, SIGNAL(triggered()), this, SLOT(saveMapAsImage()));
+  //
+  mActionExportMapServer= new QAction(QIcon(myIconPath+"/mActionExportMapServer.png"), tr("Export to MapServer Map..."), this);
+  mActionExportMapServer->setShortcut(tr("M","Export as MapServer .map file"));
+  mActionExportMapServer->setStatusTip(tr("Export as MapServer .map file"));
+  connect(mActionExportMapServer, SIGNAL(triggered()), this, SLOT(exportMapServer()));
+  //
+  mActionFileExit= new QAction(QIcon(myIconPath+"/mActionFileExit.png"), tr("Exit"), this);
+  mActionFileExit->setShortcut(tr("Ctrl+Q","Exit QGIS"));
+  mActionFileExit->setStatusTip(tr("Exit QGIS"));
+  connect(mActionFileExit, SIGNAL(triggered()), this, SLOT(fileExit()));
+  //
+  // Layer Menu Related Items
+  //
+  mActionAddNonDbLayer= new QAction(QIcon(myIconPath+"/mActionAddNonDbLayer.png"), tr("Add a Vector Layer..."), this);
+  mActionAddNonDbLayer->setShortcut(tr("V","Add a Vector Layer"));
+  mActionAddNonDbLayer->setStatusTip(tr("Add a Vector Layer"));
+  connect(mActionAddNonDbLayer, SIGNAL(triggered()), this, SLOT(addLayer()));
+  //
+  mActionAddRasterLayer= new QAction(QIcon(myIconPath+"/mActionAddRasterLayer.png"), tr("Add a Raster Layer..."), this);
+  mActionAddRasterLayer->setShortcut(tr("R","Add a Raster Layer"));
+  mActionAddRasterLayer->setStatusTip(tr("Add a Raster Layer"));
+  connect(mActionAddRasterLayer, SIGNAL(triggered()), this, SLOT(addRasterLayer()));
+  //
+  mActionAddLayer= new QAction(QIcon(myIconPath+"/mActionAddLayer.png"), tr("Add a PostGIS Layer..."), this);
+  mActionAddLayer->setShortcut(tr("D","Add a PostGIS Layer"));
+  mActionAddLayer->setStatusTip(tr("Add a PostGIS Layer"));
+//#ifdef HAVE_POSTGRESQL
+//  std::cout << "HAVE_POSTGRESQL is defined" << std::endl; 
+//  assert(0);
+//#else
+//  std::cout << "HAVE_POSTGRESQL not defined" << std::endl; 
+//  assert(0);
+//#endif
+  connect(mActionAddLayer, SIGNAL(triggered()), this, SLOT(addDatabaseLayer()));
+  //
+  mActionNewVectorLayer= new QAction(QIcon(myIconPath+"/mActionNewVectorLayer.png"), tr("New Vector Layer..."), this);
+  mActionNewVectorLayer->setShortcut(tr("N","Create a New Vector Layer"));
+  mActionNewVectorLayer->setStatusTip(tr("Create a New Vector Layer"));
+  connect(mActionNewVectorLayer, SIGNAL(triggered()), this, SLOT(newVectorLayer()));
+  //
+  mActionRemoveLayer= new QAction(QIcon(myIconPath+"/mActionRemoveLayer.png"), tr("Remove Layer"), this);
+  mActionRemoveLayer->setShortcut(tr("Ctrl+D","Remove a Layer"));
+  mActionRemoveLayer->setStatusTip(tr("Remove a Layer"));
+  connect(mActionRemoveLayer, SIGNAL(triggered()), this, SLOT(removeLayer()));
+  //
+  mActionAddAllToOverview= new QAction(QIcon(myIconPath+"/mActionAddAllToOverview.png"), tr("Add All To Overview"), this);
+  mActionAddAllToOverview->setShortcut(tr("+","Show all layers in the overview map"));
+  mActionAddAllToOverview->setStatusTip(tr("Show all layers in the overview map"));
+  connect(mActionAddAllToOverview, SIGNAL(triggered()), this, SLOT(addAllToOverview()));
+  //
+  mActionRemoveAllFromOverview= new QAction(QIcon(myIconPath+"/mActionRemoveAllFromOverview.png"), tr("Remove All From Overview"), this);
+  mActionRemoveAllFromOverview->setShortcut(tr("-","Remove all layers from overview map"));
+  mActionRemoveAllFromOverview->setStatusTip(tr("Remove all layers from overview map"));
+  connect(mActionRemoveAllFromOverview, SIGNAL(triggered()), this, SLOT(removeAllFromOverview()));
+  //
+  mActionShowAllLayers= new QAction(QIcon(myIconPath+"/mActionShowAllLayers.png"), tr("Show All Layers"), this);
+  mActionShowAllLayers->setShortcut(tr("S","Show all layers"));
+  mActionShowAllLayers->setStatusTip(tr("Show all layers"));
+  connect(mActionShowAllLayers, SIGNAL(triggered()), this, SLOT(showAllLayers()));
+  //
+  mActionHideAllLayers= new QAction(QIcon(myIconPath+"/mActionHideAllLayers.png"), tr("Hide All Layers"), this);
+  mActionHideAllLayers->setShortcut(tr("H","Hide all layers"));
+  mActionHideAllLayers->setStatusTip(tr("Hide all layers"));
+  connect(mActionHideAllLayers, SIGNAL(triggered()), this, SLOT(hideAllLayers()));
+  //
+  // Settings Menu Related Items
+  //
+  mActionProjectProperties= new QAction(QIcon(myIconPath+"/mActionProjectProperties.png"), tr("Project Properties..."), this);
+  mActionProjectProperties->setShortcut(tr("P","Set project properties"));
+  mActionProjectProperties->setStatusTip(tr("Set project properties"));
+  connect(mActionProjectProperties, SIGNAL(triggered()), this, SLOT(projectProperties()));
+  //
+  mActionOptions= new QAction(QIcon(myIconPath+"/mActionOptions.png"), tr("Options..."), this);
+  // mActionOptions->setShortcut(tr("Alt+O","Change various QGIS options"));
+  mActionOptions->setStatusTip(tr("Change various QGIS options"));
+  connect(mActionOptions, SIGNAL(triggered()), this, SLOT(options()));
+  //
+  mActionCustomProjection= new QAction(QIcon(myIconPath+"/mActionCustomProjection.png"), tr("Custom Projection..."), this);
+  // mActionCustomProjection->setShortcut(tr("Alt+I","Manage custom projections"));
+  mActionCustomProjection->setStatusTip(tr("Manage custom projections"));
+  connect(mActionCustomProjection, SIGNAL(triggered()), this, SLOT(customProjection()));
+  //
+  // Help Menu Related items
+  //
+  mActionHelpContents= new QAction(QIcon(myIconPath+"/mActionHelpContents.png"), tr("Help Contents"), this);
+#ifdef Q_WS_MAC
+  mActionHelpContents->setShortcut(tr("Ctrl+?","Help Documentation (Mac)"));
+#else
+  mActionHelpContents->setShortcut(tr("F1","Help Documentation"));
+#endif
+  mActionHelpContents->setStatusTip(tr("Help Documentation"));
+  connect(mActionHelpContents, SIGNAL(triggered()), this, SLOT(helpContents()));
+  //
+  mActionQgisHomePage= new QAction(QIcon(myIconPath+"/mActionQgisHomePage.png"), tr("Qgis Home Page"), this);
+#ifndef Q_WS_MAC
+  mActionQgisHomePage->setShortcut(tr("Ctrl+H","QGIS Home Page"));
+#endif
+  mActionQgisHomePage->setStatusTip(tr("QGIS Home Page"));
+  connect(mActionQgisHomePage, SIGNAL(triggered()), this, SLOT(helpQgisHomePage()));
+  //
+  mActionHelpAbout= new QAction(QIcon(myIconPath+"/mActionHelpAbout.png"), tr("About"), this);
+  mActionHelpAbout->setStatusTip(tr("About QGIS"));
+  connect(mActionHelpAbout, SIGNAL(triggered()), this, SLOT(about()));
+  //
+  mActionCheckQgisVersion= new QAction(QIcon(myIconPath+"/mActionCheckQgisVersion.png"), tr("Check Qgis Version"), this);
+  mActionCheckQgisVersion->setStatusTip(tr("Check if your QGIS version is up to date (requires internet access)"));
+  connect(mActionCheckQgisVersion, SIGNAL(triggered()), this, SLOT(checkQgisVersion()));
+  // 
+  // View Menu Items
+  //
+  mActionDraw= new QAction(QIcon(myIconPath+"/mActionDraw.png"), tr("Refresh"), this);
+  mActionDraw->setShortcut(tr("Ctrl+R","Refresh Map"));
+  mActionDraw->setStatusTip(tr("Refresh Map"));
+  connect(mActionDraw, SIGNAL(triggered()), this, SLOT(refreshMapCanvas()));
+  //
+  mActionZoomIn= new QAction(QIcon(myIconPath+"/mActionZoomIn.png"), tr("Zoom In"), this);
+  mActionZoomIn->setShortcut(tr("Ctrl++","Zoom In"));
+  mActionZoomIn->setStatusTip(tr("Zoom In"));
+  connect(mActionZoomIn, SIGNAL(triggered()), this, SLOT(zoomIn()));
+  //
+  mActionZoomOut= new QAction(QIcon(myIconPath+"/mActionZoomOut.png"), tr("Zoom Out"), this);
+  mActionZoomOut->setShortcut(tr("Ctrl+-","Zoom Out"));
+  mActionZoomOut->setStatusTip(tr("Zoom Out"));
+  connect(mActionZoomOut, SIGNAL(triggered()), this, SLOT(zoomOut()));
+  //
+  mActionZoomFullExtent= new QAction(QIcon(myIconPath+"/mActionZoomFullExtent.png"), tr("Zoom Full"), this);
+  mActionZoomFullExtent->setShortcut(tr("F","Zoom to Full Extents"));
+  mActionZoomFullExtent->setStatusTip(tr("Zoom to Full Extents"));
+  connect(mActionZoomFullExtent, SIGNAL(triggered()), this, SLOT(zoomFull()));
+  //
+  mActionZoomToSelected= new QAction(QIcon(myIconPath+"/mActionZoomToSelected.png"), tr("Zoom To Selection"), this);
+  mActionZoomToSelected->setShortcut(tr("Ctrl+F","Zoom to selection"));
+  mActionZoomToSelected->setStatusTip(tr("Zoom to selection"));
+  connect(mActionZoomToSelected, SIGNAL(triggered()), this, SLOT(zoomToSelected()));
+  //
+  mActionPan= new QAction(QIcon(myIconPath+"/mActionPan.png"), tr("Pan Map"), this);
+  mActionPan->setStatusTip(tr("Pan the map"));
+  connect(mActionPan, SIGNAL(triggered()), this, SLOT(pan()));
+  //
+  mActionZoomLast= new QAction(QIcon(myIconPath+"/mActionZoomLast.png"), tr("Zoom Last"), this);
+  //mActionZoomLast->setShortcut(tr("Ctrl+O","Zoom to Last Extent"));
+  mActionZoomLast->setStatusTip(tr("Zoom to Last Extent"));
+  connect(mActionZoomLast, SIGNAL(triggered()), this, SLOT(zoomPrevious()));
+  //
+  mActionZoomToLayer= new QAction(QIcon(myIconPath+"/mActionZoomToLayer.png"), tr("Zoom To Layer"), this);
+  //mActionZoomToLayer->setShortcut(tr("Ctrl+O","Zoom to Layer"));
+  mActionZoomToLayer->setStatusTip(tr("Zoom to Layer"));
+  connect(mActionZoomToLayer, SIGNAL(triggered()), this, SLOT(zoomToLayerExtent()));
+  //
+  mActionIdentify= new QAction(QIcon(myIconPath+"/mActionIdentify.png"), tr("Identify Features"), this);
+  mActionIdentify->setShortcut(tr("I","Click on features to identify them"));
+  mActionIdentify->setStatusTip(tr("Click on features to identify them"));
+  connect(mActionIdentify, SIGNAL(triggered()), this, SLOT(identify()));
+  //
+  mActionSelect= new QAction(QIcon(myIconPath+"/mActionSelect.png"), tr("Select Features"), this);
+  mActionSelect->setStatusTip(tr("Select Features"));
+  connect(mActionSelect, SIGNAL(triggered()), this, SLOT(select()));
+  mActionSelect->setEnabled(false);
+  //
+  mActionOpenTable= new QAction(QIcon(myIconPath+"/mActionOpenTable.png"), tr("Open Table"), this);
+  //mActionOpenTable->setShortcut(tr("Ctrl+O","Open Table"));
+  mActionOpenTable->setStatusTip(tr("Open Table"));
+  connect(mActionOpenTable, SIGNAL(triggered()), this, SLOT(attributeTable()));
+  mActionOpenTable->setEnabled(false);
+  //
+  mActionMeasure= new QAction(QIcon(myIconPath+"/mActionMeasure.png"), tr("Measure Line "), this);
+  mActionMeasure->setShortcut(tr("Ctrl+M","Measure a Line"));
+  mActionMeasure->setStatusTip(tr("Measure a Line"));
+  connect(mActionMeasure, SIGNAL(triggered()), this, SLOT(measure()));
+  //
+  mActionMeasureArea= new QAction(QIcon(myIconPath+"/mActionMeasureArea.png"), tr("Measure Area"), this);
+  mActionMeasureArea->setShortcut(tr("Ctrl+J","Measure an Area"));
+  mActionMeasureArea->setStatusTip(tr("Measure an Area"));
+  connect(mActionMeasureArea, SIGNAL(triggered()), this, SLOT(measureArea()));
+  //
+  mActionShowBookmarks= new QAction(QIcon(myIconPath+"/mActionShowBookmarks.png"), tr("Show Bookmarks"), this);
+  mActionShowBookmarks->setShortcut(tr("B","Show Bookmarks"));
+  mActionShowBookmarks->setStatusTip(tr("Show Bookmarks"));
+  connect(mActionShowBookmarks, SIGNAL(triggered()), this, SLOT(showBookmarks()));
+  //
+  mActionShowAllToolbars = new QAction(tr("Show most toolbars"), this);
+  mActionShowAllToolbars->setShortcut(tr("T", "Show most toolbars"));
+  mActionShowAllToolbars->setStatusTip(tr("Show most toolbars"));
+  connect(mActionShowAllToolbars, SIGNAL(triggered()), this,
+          SLOT(showAllToolbars()));
+  //
+  mActionHideAllToolbars = new QAction(tr("Hide most toolbars"), this);
+  mActionHideAllToolbars->setShortcut(tr("Ctrl+T", "Hide most toolbars"));
+  mActionHideAllToolbars->setStatusTip(tr("Hide most toolbars"));
+  connect(mActionHideAllToolbars, SIGNAL(triggered()), this,
+          SLOT(hideAllToolbars()));
+  //
+  mActionNewBookmark= new QAction(QIcon(myIconPath+"/mActionNewBookmark.png"), tr("New Bookmark..."), this);
+  mActionNewBookmark->setShortcut(tr("Ctrl+B","New Bookmark"));
+  mActionNewBookmark->setStatusTip(tr("New Bookmark"));
+  connect(mActionNewBookmark, SIGNAL(triggered()), this, SLOT(newBookmark()));
+  //
+  mActionAddWmsLayer= new QAction(QIcon(myIconPath+"/mActionAddWmsLayer.png"), tr("Add WMS Layer..."), this);
+  mActionAddWmsLayer->setShortcut(tr("W","Add Web Mapping Server Layer"));
+  mActionAddWmsLayer->setStatusTip(tr("Add Web Mapping Server Layer"));
+  connect(mActionAddWmsLayer, SIGNAL(triggered()), this, SLOT(addWmsLayer()));
+  //
+  mActionInOverview= new QAction(QIcon(myIconPath+"/mActionInOverview.png"), tr("In Overview"), this);
+  mActionInOverview->setShortcut(tr("O","Add current layer to overview map"));
+  mActionInOverview->setStatusTip(tr("Add current layer to overview map"));
+  connect(mActionInOverview, SIGNAL(triggered()), this, SLOT(inOverview()));
+  //
+  // Plugin Menu Related Items
+  //
+  mActionShowPluginManager= new QAction(QIcon(myIconPath+"/mActionShowPluginManager.png"), tr("Plugin Manager..."), this);
+  // mActionShowPluginManager->setShortcut(tr("Ctrl+P","Open the plugin manager"));
+  mActionShowPluginManager->setStatusTip(tr("Open the plugin manager"));
+  connect(mActionShowPluginManager, SIGNAL(triggered()), this, SLOT(showPluginManager()));
+  //
+  // Add the whats this toolbar button
+  // QWhatsThis::whatsThisButton(mHelpToolBar);
+  // 
+  //
+  // Digitising Toolbar Items
+  //
+
+  mActionToggleEditing = new QAction(QIcon(myIconPath+"/mActionToggleEditing.png"), 
+                                    tr("Toggle editing"), this);
+  mActionToggleEditing->setStatusTip(tr("Toggles the editing state of the current layer")); 
+  mActionToggleEditing->setCheckable(true);
+  connect(mActionToggleEditing, SIGNAL(triggered()), this, SLOT(toggleEditing()));
+  
+  //
+  mActionCapturePoint= new QAction(QIcon(myIconPath+"/mActionCapturePoint.png"), tr("Capture Point"), this);
+  mActionCapturePoint->setShortcut(tr(".","Capture Points"));
+  mActionCapturePoint->setStatusTip(tr("Capture Points"));
+  connect(mActionCapturePoint, SIGNAL(triggered()), this, SLOT(capturePoint()));
+  mActionCapturePoint->setEnabled(false);
+  //
+  mActionCaptureLine= new QAction(QIcon(myIconPath+"/mActionCaptureLine.png"), tr("Capture Line"), this);
+  mActionCaptureLine->setShortcut(tr("/","Capture Lines"));
+  mActionCaptureLine->setStatusTip(tr("Capture Lines"));
+  connect(mActionCaptureLine, SIGNAL(triggered()), this, SLOT(captureLine()));
+  mActionCaptureLine->setEnabled(false);
+  //
+  mActionCapturePolygon= new QAction(QIcon(myIconPath+"/mActionCapturePolygon.png"), tr("Capture Polygon"), this);
+  mActionCapturePolygon->setShortcut(tr("Ctrl+/","Capture Polygons"));
+  mActionCapturePolygon->setStatusTip(tr("Capture Polygons"));
+  connect(mActionCapturePolygon, SIGNAL(triggered()), this, SLOT(capturePolygon()));
+  mActionCapturePolygon->setEnabled(false);
+  //
+  mActionDeleteSelected = new QAction(QIcon(myIconPath+"/mActionDeleteSelected.png"), tr("Delete Selected"), this);
+  mActionDeleteSelected->setStatusTip(tr("Delete Selected"));
+  connect(mActionDeleteSelected, SIGNAL(triggered()), this, SLOT(deleteSelected()));
+  mActionDeleteSelected->setEnabled(false);
+  //
+  mActionAddVertex = new QAction(QIcon(myIconPath+"/mActionAddVertex.png"), tr("Add Vertex"), this);
+  mActionAddVertex->setStatusTip(tr("Add Vertex"));
+  connect(mActionAddVertex, SIGNAL(triggered()), this, SLOT(addVertex()));
+  mActionAddVertex->setEnabled(false);
+  //
+  mActionDeleteVertex = new QAction(QIcon(myIconPath+"/mActionDeleteVertex.png"), tr("Delete Vertex"), this);
+  mActionDeleteVertex->setStatusTip(tr("Delete Vertex"));
+  connect(mActionDeleteVertex, SIGNAL(triggered()), this, SLOT(deleteVertex()));
+  mActionDeleteVertex->setEnabled(false);
+  //
+  mActionMoveVertex = new QAction(QIcon(myIconPath+"/mActionMoveVertex.png"), tr("Move Vertex"), this);
+  mActionMoveVertex->setStatusTip(tr("Move Vertex"));
+  connect(mActionMoveVertex, SIGNAL(triggered()), this, SLOT(moveVertex()));
+  mActionMoveVertex->setEnabled(false);
+
+  mActionAddRing = new QAction(QIcon(myIconPath+"/mActionAddRing.png"), tr("Add Ring"), this);
+  mActionAddRing->setStatusTip(tr("Add Ring"));
+  connect(mActionAddRing, SIGNAL(triggered()), this, SLOT(addRing()));
+  mActionAddRing->setEnabled(false);
+
+  mActionAddIsland = new QAction(QIcon(myIconPath+"/mActionAddIsland.png"), tr("Add Island"), this);
+  mActionAddIsland->setStatusTip(tr("Add Island to multipolygon"));
+  connect(mActionAddIsland, SIGNAL(triggered()), this, SLOT(addIsland()));
+  mActionAddIsland->setEnabled(false);
+
+  mActionEditCut = new QAction(QIcon(myIconPath+"/mActionEditCut.png"), tr("Cut Features"), this);
+  mActionEditCut->setStatusTip(tr("Cut selected features"));
+  connect(mActionEditCut, SIGNAL(triggered()), this, SLOT(editCut()));
+  mActionEditCut->setEnabled(false);
+
+  mActionEditCopy = new QAction(QIcon(myIconPath+"/mActionEditCopy.png"), tr("Copy Features"), this);
+  mActionEditCopy->setStatusTip(tr("Copy selected features"));
+  connect(mActionEditCopy, SIGNAL(triggered()), this, SLOT(editCopy()));
+  mActionEditCopy->setEnabled(false);
+
+  mActionEditPaste = new QAction(QIcon(myIconPath+"/mActionEditPaste.png"), tr("Paste Features"), this);
+  mActionEditPaste->setStatusTip(tr("Paste selected features"));
+  connect(mActionEditPaste, SIGNAL(triggered()), this, SLOT(editPaste()));
+  mActionEditPaste->setEnabled(false);
+  
+#ifdef HAVE_PYTHON  
+  mActionShowPythonDialog = new QAction(tr("Python console"), this);
+  connect(mActionShowPythonDialog, SIGNAL(triggered()), this, SLOT(showPythonDialog()));
+  mPythonConsole = NULL;
+#endif
+}
+
+void QgisApp::showPythonDialog()
+{
+#ifdef HAVE_PYTHON
+  if (mPythonConsole == NULL)
+    mPythonConsole = new QgsPythonDialog(mQgisInterface);
+  mPythonConsole->show();
+#endif
+}
+
+void QgisApp::createActionGroups()
+{
+  //
+  // Map Tool Group
+  mMapToolGroup = new QActionGroup(this);
+  mActionPan->setCheckable(true);
+  mMapToolGroup->addAction(mActionPan);
+  mActionZoomIn->setCheckable(true);
+  mMapToolGroup->addAction(mActionZoomIn);
+  mActionZoomOut->setCheckable(true);
+  mMapToolGroup->addAction(mActionZoomOut);
+  mActionIdentify->setCheckable(true);
+  mMapToolGroup->addAction(mActionIdentify);
+  mActionSelect->setCheckable(true);
+  mMapToolGroup->addAction(mActionSelect);
+  mActionMeasure->setCheckable(true);
+  mMapToolGroup->addAction(mActionMeasure);
+  mActionMeasureArea->setCheckable(true);
+  mMapToolGroup->addAction(mActionMeasureArea);
+  mActionCaptureLine->setCheckable(true);
+  mMapToolGroup->addAction(mActionCaptureLine);
+  mActionCapturePoint->setCheckable(true);
+  mMapToolGroup->addAction(mActionCapturePoint);
+  mActionCapturePolygon->setCheckable(true);
+  mMapToolGroup->addAction(mActionCapturePolygon);
+  mMapToolGroup->addAction(mActionDeleteSelected);
+  mActionAddVertex->setCheckable(true);
+  mMapToolGroup->addAction(mActionAddVertex);
+  mActionDeleteVertex->setCheckable(true);
+  mMapToolGroup->addAction(mActionDeleteVertex);
+  mActionMoveVertex->setCheckable(true);
+  mMapToolGroup->addAction(mActionMoveVertex);
+  mActionAddRing->setCheckable(true);
+  mMapToolGroup->addAction(mActionAddRing);
+  mActionAddIsland->setCheckable(true);
+  mMapToolGroup->addAction(mActionAddIsland);
+}
+
+void QgisApp::createMenus()
+{
+  QString myIconPath = QgsApplication::themePath();
+  //
+  // File Menu
+  mFileMenu = menuBar()->addMenu(tr("&File"));
+  mFileMenu->addAction(mActionFileNew);
+  mFileMenu->addAction(mActionFileOpen);
+  mRecentProjectsMenu = mFileMenu->addMenu(tr("&Open Recent Projects"));
+  // Connect once for the entire submenu.
+  connect(mRecentProjectsMenu, SIGNAL(triggered(QAction *)),
+          this, SLOT(openProject(QAction *)));
+
+  mFileMenu->addSeparator();
+  mFileMenu->addAction(mActionFileSave);
+  mFileMenu->addAction(mActionFileSaveAs);
+  mFileMenu->addAction(mActionSaveMapAsImage);
+  mFileMenu->addSeparator();
+  mFileMenu->addAction(mActionExportMapServer);
+  mFileMenu->addAction(mActionFilePrint);
+  mFileMenu->addSeparator();
+  mFileMenu->addAction(mActionFileExit);
+
+  //
+  // View Menu
+  mViewMenu = menuBar()->addMenu(tr("&View"));
+  mViewMenu->addAction(mActionZoomFullExtent);
+  mViewMenu->addAction(mActionZoomToSelected);
+  mViewMenu->addAction(mActionZoomToLayer);
+  mViewMenu->addAction(mActionZoomLast);
+  mViewMenu->addAction(mActionDraw);
+  mViewMenu->addSeparator();
+  mViewMenu->addAction(mActionShowBookmarks);
+  mViewMenu->addAction(mActionNewBookmark);
+  mViewMenu->addSeparator();
+
+  //
+  // View:toolbars menu
+  mViewMenu->addAction(mActionShowAllToolbars);
+  mViewMenu->addAction(mActionHideAllToolbars);
+
+  //
+  // Layers Menu
+  mLayerMenu = menuBar()->addMenu(tr("&Layer"));
+  mLayerMenu->addAction(mActionAddNonDbLayer);
+  mLayerMenu->addAction(mActionAddRasterLayer);
+#ifdef HAVE_POSTGRESQL
+  mLayerMenu->addAction(mActionAddLayer);
+#endif
+  mLayerMenu->addAction(mActionAddWmsLayer);
+  mLayerMenu->addSeparator();
+  mLayerMenu->addAction(mActionRemoveLayer);
+  mLayerMenu->addAction(mActionNewVectorLayer);
+  mLayerMenu->addSeparator();
+  mLayerMenu->addAction(mActionInOverview);
+  mLayerMenu->addAction(mActionAddAllToOverview);
+  mLayerMenu->addAction(mActionRemoveAllFromOverview);
+  mLayerMenu->addSeparator();
+  mLayerMenu->addAction(mActionHideAllLayers);
+  mLayerMenu->addAction(mActionShowAllLayers);
+
+  //
+  // Settings Menu
+  mSettingsMenu = menuBar()->addMenu(tr("&Settings"));
+  mSettingsMenu->addAction(mActionProjectProperties);
+  mSettingsMenu->addAction(mActionCustomProjection);
+  mSettingsMenu->addAction(mActionOptions);
+  
+  //
+  // Plugins Menu
+  mPluginMenu = menuBar()->addMenu(tr("&Plugins"));
+  mPluginMenu->addAction(mActionShowPluginManager);
+#ifdef HAVE_PYTHON
+  mPluginMenu->addAction(mActionShowPythonDialog);
+#endif
+  mPluginMenu->addSeparator();
+
+  // Add the plugin manager action to it
+  //actionPluginManager->addTo(mPluginMenu);
+  // Add separator. Plugins will add their menus to this
+  // menu when they are loaded by the plugin manager
+  //mPluginMenu->insertSeparator();
+  // Add to the menubar
+  //menuBar()->insertItem(tr("&Plugins"), mPluginMenu, -1, menuBar()->count() - 1);
+
+  menuBar()->addSeparator();
+  mHelpMenu = menuBar()->addMenu(tr("&Help"));
+  mHelpMenu->addAction(mActionHelpContents);
+  mHelpMenu->addSeparator();
+  mHelpMenu->addAction(mActionQgisHomePage);
+  mHelpMenu->addAction(mActionCheckQgisVersion);
+  mHelpMenu->addSeparator();
+  mHelpMenu->addAction(mActionHelpAbout);
+}
+
+void QgisApp::createToolBars()
+{
+  // Note: we need to set each object name to ensure that
+  // qmainwindow::saveState and qmainwindow::restoreState
+  // work properly
+  
+  //
+  // File Toolbar
+  mFileToolBar = addToolBar(tr("File"));
+  mFileToolBar->setIconSize(QSize(24,24));
+  mFileToolBar->setObjectName("FileToolBar");
+  mFileToolBar->addAction(mActionFileNew);
+  mFileToolBar->addAction(mActionFileNew);
+  mFileToolBar->addAction(mActionFileSave);
+  mFileToolBar->addAction(mActionFileSaveAs);
+  mFileToolBar->addAction(mActionFileOpen);
+  mFileToolBar->addAction(mActionFilePrint);
+  //
+  // Layer Toolbar
+  mLayerToolBar = addToolBar(tr("Manage Layers"));
+  mLayerToolBar->setIconSize(QSize(24,24));
+  mLayerToolBar->setObjectName("LayerToolBar");
+  mLayerToolBar->addAction(mActionAddNonDbLayer);
+  mLayerToolBar->addAction(mActionAddRasterLayer);
+#ifdef HAVE_POSTGRESQL
+  mLayerToolBar->addAction(mActionAddLayer);
+#endif
+  mLayerToolBar->addAction(mActionAddWmsLayer);
+  mLayerToolBar->addAction(mActionNewVectorLayer);
+  mLayerToolBar->addAction(mActionRemoveLayer);
+  mLayerToolBar->addAction(mActionInOverview);
+  mLayerToolBar->addAction(mActionAddAllToOverview);
+  mLayerToolBar->addAction(mActionRemoveAllFromOverview);
+  mLayerToolBar->addAction(mActionShowAllLayers);
+  mLayerToolBar->addAction(mActionHideAllLayers);
+  //
+  // Help Toolbar
+  mHelpToolBar = addToolBar(tr("Help"));
+  mHelpToolBar->setIconSize(QSize(24,24));
+  mHelpToolBar->setObjectName("Help");
+  mHelpToolBar->addAction(mActionHelpContents);
+  //
+  // Digitizing Toolbar
+  mDigitizeToolBar = addToolBar(tr("Digitizing"));
+  mDigitizeToolBar->setIconSize(QSize(24,24));
+  mDigitizeToolBar->setObjectName("Digitizing");
+  mDigitizeToolBar->addAction(mActionToggleEditing);
+  mDigitizeToolBar->addAction(mActionCapturePoint);
+  mDigitizeToolBar->addAction(mActionCaptureLine);
+  mDigitizeToolBar->addAction(mActionCapturePolygon);
+  mDigitizeToolBar->addAction(mActionDeleteSelected);
+  mDigitizeToolBar->addAction(mActionAddVertex);
+  mDigitizeToolBar->addAction(mActionDeleteVertex);
+  mDigitizeToolBar->addAction(mActionMoveVertex);
+  mDigitizeToolBar->addAction(mActionAddRing);
+  mDigitizeToolBar->addAction(mActionAddIsland);
+  mDigitizeToolBar->addAction(mActionEditCut);
+  mDigitizeToolBar->addAction(mActionEditCopy);
+  mDigitizeToolBar->addAction(mActionEditPaste);
+  //
+  // Map Navigation Toolbar
+  mMapNavToolBar = addToolBar(tr("Map Navigation"));
+  mMapNavToolBar->setIconSize(QSize(24,24));
+  mMapNavToolBar->setObjectName("Map Navigation");
+  mMapNavToolBar->addAction(mActionPan);
+  mMapNavToolBar->addAction(mActionZoomIn);
+  mMapNavToolBar->addAction(mActionZoomOut);
+  mMapNavToolBar->addAction(mActionZoomFullExtent);
+  mMapNavToolBar->addAction(mActionZoomToSelected);
+  mMapNavToolBar->addAction(mActionZoomToLayer);
+  mMapNavToolBar->addAction(mActionZoomLast);
+  mMapNavToolBar->addAction(mActionDraw);
+  //
+  // Attributes Toolbar
+  mAttributesToolBar = addToolBar(tr("Attributes"));
+  mAttributesToolBar->setIconSize(QSize(24,24));
+  mAttributesToolBar->setObjectName("Attributes");
+  mAttributesToolBar->addAction(mActionIdentify);
+  mAttributesToolBar->addAction(mActionSelect);
+  mAttributesToolBar->addAction(mActionOpenTable);
+  mAttributesToolBar->addAction(mActionMeasure);
+  mAttributesToolBar->addAction(mActionMeasureArea);
+  mAttributesToolBar->addAction(mActionShowBookmarks);
+  mAttributesToolBar->addAction(mActionNewBookmark);
+  //
+  // Plugins Toolbar
+  mPluginToolBar = addToolBar(tr("Plugins"));
+  mPluginToolBar->setIconSize(QSize(24,24));
+  mPluginToolBar->setObjectName("Plugins");
+
+  //Add the menu for toolbar visibility here
+  //because createPopupMenu() would return 0
+  //before the toolbars are created
+  QMenu* toolbarVisibilityMenu = createPopupMenu();
+  if(toolbarVisibilityMenu)
+    {
+      toolbarVisibilityMenu->setTitle(tr("Toolbar Visibility..."));
+      mViewMenu->addMenu(toolbarVisibilityMenu);
+    }
+}
+
+void QgisApp::createStatusBar()
+{
+  //
+  // Add a panel to the status bar for the scale, coords and progress
+  // And also rendering suppression checkbox
+  //
+  mProgressBar = new QProgressBar(statusBar());
+  mProgressBar->setMaximumWidth(100);
+  mProgressBar->hide();
+  QWhatsThis::add(mProgressBar, tr("Progress bar that displays the status of rendering layers and other time-intensive operations"));
+  statusBar()->addWidget(mProgressBar, 1,true);
+  // Bumped the font up one point size since 8 was too 
+  // small on some platforms. A point size of 9 still provides
+  // plenty of display space on 1024x768 resolutions
+  QFont myFont( "Arial", 9 );
+  statusBar()->setFont(myFont);
+  mScaleLabel = new QLabel(QString(),statusBar());
+  mScaleLabel->setFont(myFont);
+  mScaleLabel->setMinimumWidth(10);
+  mScaleLabel->setMargin(3);
+  mScaleLabel->setAlignment(Qt::AlignCenter);
+  mScaleLabel->setFrameStyle(QFrame::NoFrame);
+  mScaleLabel->setText(tr("Scale "));
+  statusBar()->addWidget(mScaleLabel, 0,true);
+
+  mScaleEdit = new QLineEdit(QString(),statusBar());
+  mScaleEdit->setFont(myFont);
+  mScaleEdit->setMinimumWidth(10);
+  mScaleEdit->setMaximumWidth(100);
+  mScaleEdit->setMargin(0);
+  mScaleEdit->setAlignment(Qt::AlignLeft);
+  QRegExp validator("\\d+\\.?\\d*:\\d+\\.?\\d*");
+  mScaleEditValidator = new QRegExpValidator(validator, mScaleEdit);
+  mScaleEdit->setValidator(mScaleEditValidator);
+  QWhatsThis::add(mScaleEdit, tr("Displays the current map scale"));
+  QToolTip::add (mScaleEdit, tr("Current map scale (formatted as x:y)"));
+  statusBar()->addWidget(mScaleEdit, 0,true);
+  connect(mScaleEdit, SIGNAL(editingFinished()), this, SLOT(userScale()));
+
+  //coords status bar widget
+  mCoordsLabel = new QLabel(QString(), statusBar());
+  mCoordsLabel->setMinimumWidth(10);
+  mCoordsLabel->setFont(myFont);
+  mCoordsLabel->setMargin(3);
+  mCoordsLabel->setAlignment(Qt::AlignCenter);
+  QWhatsThis::add(mCoordsLabel, tr("Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved."));
+  QToolTip::add (mCoordsLabel, tr("Map coordinates at mouse cursor position"));
+  statusBar()->addWidget(mCoordsLabel, 0, true);
+  // render suppression status bar widget
+  mRenderSuppressionCBox = new QCheckBox(tr("Render"),statusBar());
+  mRenderSuppressionCBox->setChecked(true);
+  mRenderSuppressionCBox->setFont(myFont);
+  QWhatsThis::add(mRenderSuppressionCBox, tr("When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering."));
+  QToolTip::add( mRenderSuppressionCBox, tr("Toggle map rendering") );
+  statusBar()->addWidget(mRenderSuppressionCBox,0,true);
+  // On the fly projection status bar icon
+  // Changed this to a tool button since a QPushButton is
+  // sculpted on OS X and the icon is never displayed [gsherman]
+  mOnTheFlyProjectionStatusButton = new QToolButton(statusBar());
+  mOnTheFlyProjectionStatusButton->setMaximumWidth(20);
+  // Maintain uniform widget height in status bar by setting button height same as labels
+  // For Qt/Mac 3.3, the default toolbutton height is 30 and labels were expanding to match
+  mOnTheFlyProjectionStatusButton->setMaximumHeight(mScaleLabel->height());
+  QPixmap myProjPixmap;
+  QString myIconPath = QgsApplication::themePath();
+  myProjPixmap.load(myIconPath+"/mIconProjectionDisabled.png");
+  mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
+  assert(!myProjPixmap.isNull());
+  QWhatsThis::add(mOnTheFlyProjectionStatusButton, tr("This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour."));
+  QToolTip::add( mOnTheFlyProjectionStatusButton, tr("Projection status - Click to open projection dialog"));
+  connect(mOnTheFlyProjectionStatusButton, SIGNAL(clicked()),
+      this, SLOT(projectPropertiesProjections()));//bring up the project props dialog when clicked
+  statusBar()->addWidget(mOnTheFlyProjectionStatusButton,0,true);
+  statusBar()->showMessage(tr("Ready"));
+}
+
+
+void QgisApp::setTheme(QString theThemeName)
+{
+  /*****************************************************************
+  // Init the toolbar icons by setting the icon for each action.
+  // All toolbar/menu items must be a QAction in order for this
+  // to work.
+  //
+  // When new toolbar/menu QAction objects are added to the interface,
+  // add an entry below to set the icon
+  //
+  // PNG names must match those defined for the default theme. The
+  // default theme is installed in <prefix>/share/qgis/themes/default.
+  //
+  // New core themes can be added by creating a subdirectory under src/themes
+  // and modifying the appropriate Makefile.am files. User contributed themes
+  // will be installed directly into <prefix>/share/qgis/themes/<themedir>.
+  //
+  // Themes can be selected from the preferences dialog. The dialog parses
+  // the themes directory and builds a list of themes (ie subdirectories)
+  // for the user to choose from.
+  //
+  // TODO: Check as each icon is grabbed and if it doesn't exist, use the
+  // one from the default theme (which is installed with qgis and should
+  // always be good)
+  */
+  QgsApplication::selectTheme(theThemeName);
+  QString myIconPath = QgsApplication::themePath();
+  mActionFileNew->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileNew.png")));
+  mActionFileSave->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileSave.png")));
+  mActionFileSaveAs->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileSaveAs.png")));
+  mActionFileOpen->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileOpen.png")));
+  mActionFilePrint->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFilePrint.png")));
+  mActionSaveMapAsImage->setIconSet(QIcon(QPixmap(myIconPath + "/mActionSaveMapAsImage.png")));
+  mActionExportMapServer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionExportMapServer.png")));
+  mActionFileExit->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileExit.png")));
+  mActionAddNonDbLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddNonDbLayer.png")));
+  mActionAddRasterLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddRasterLayer.png")));
+  mActionAddLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddLayer.png")));
+  mActionRemoveLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionRemoveLayer.png")));
+  mActionNewVectorLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionNewVectorLayer.png")));
+  mActionAddAllToOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddAllToOverview.png")));
+  mActionHideAllLayers->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHideAllLayers.png")));
+  mActionShowAllLayers->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowAllLayers.png")));
+  mActionRemoveAllFromOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionRemoveAllFromOverview.png")));
+  mActionProjectProperties->setIconSet(QIcon(QPixmap(myIconPath + "/mActionProjectProperties.png")));
+  mActionShowPluginManager->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowPluginManager.png")));
+  mActionCheckQgisVersion->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCheckQgisVersion.png")));
+  mActionOptions->setIconSet(QIcon(QPixmap(myIconPath + "/mActionOptions.png")));
+  mActionHelpContents->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHelpContents.png")));
+  mActionQgisHomePage->setIconSet(QIcon(QPixmap(myIconPath + "/mActionQgisHomePage.png")));
+  mActionHelpAbout->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHelpAbout.png")));
+  mActionDraw->setIconSet(QIcon(QPixmap(myIconPath + "/mActionDraw.png")));
+  mActionCapturePoint->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCapturePoint.png")));
+  mActionCaptureLine->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCaptureLine.png")));
+  mActionCapturePolygon->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCapturePolygon.png")));
+  mActionZoomIn->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomIn.png")));
+  mActionZoomOut->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomOut.png")));
+  mActionZoomFullExtent->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomFullExtent.png")));
+  mActionZoomToSelected->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomToSelected.png")));
+  mActionPan->setIconSet(QIcon(QPixmap(myIconPath + "/mActionPan.png")));
+  mActionZoomLast->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomLast.png")));
+  mActionZoomToLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomToLayer.png")));
+  mActionIdentify->setIconSet(QIcon(QPixmap(myIconPath + "/mActionIdentify.png")));
+  mActionSelect->setIconSet(QIcon(QPixmap(myIconPath + "/mActionSelect.png")));
+  mActionOpenTable->setIconSet(QIcon(QPixmap(myIconPath + "/mActionOpenTable.png")));
+  mActionMeasure->setIconSet(QIcon(QPixmap(myIconPath + "/mActionMeasure.png")));
+  mActionMeasureArea->setIconSet(QIcon(QPixmap(myIconPath + "/mActionMeasureArea.png")));
+  mActionShowBookmarks->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowBookmarks.png")));
+  mActionNewBookmark->setIconSet(QIcon(QPixmap(myIconPath + "/mActionNewBookmark.png")));
+  mActionCustomProjection->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCustomProjection.png")));
+  mActionAddWmsLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddWmsLayer.png")));
+  mActionInOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionInOverview.png")));
+}
+
+void QgisApp::setupConnections()
+{
+  // connect the "cleanup" slot
+  connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(saveWindowState()));
+  //connect the legend, mapcanvas and overview canvas to the registry
+  
+  // connect map layer registry signals to legend
+  connect(QgsMapLayerRegistry::instance(), SIGNAL(layerWillBeRemoved(QString)),
+          mMapLegend, SLOT(removeLayer(QString)));
+  connect(QgsMapLayerRegistry::instance(), SIGNAL(removedAll()),
+          mMapLegend, SLOT(removeAll()));
+  connect(QgsMapLayerRegistry::instance(), SIGNAL(layerWasAdded(QgsMapLayer*)),
+          mMapLegend, SLOT(addLayer(QgsMapLayer *)));
+  
+  connect(mMapLegend, SIGNAL(currentLayerChanged(QgsMapLayer*)),
+          this, SLOT(activateDeactivateLayerRelatedActions(QgsMapLayer*)));
+
+  
+  //signal when mouse moved over window (coords display in status bar)
+  connect(mMapCanvas, SIGNAL(xyCoordinates(QgsPoint &)), this, SLOT(showMouseCoordinate(QgsPoint &)));
+  //signal when mouse in capturePoint mode and mouse clicked on canvas
+  connect(mMapCanvas->mapRender(), SIGNAL(drawingProgress(int,int)), this, SLOT(showProgress(int,int)));
+  connect(mMapCanvas->mapRender(), SIGNAL(projectionsEnabled(bool)), this, SLOT(projectionsEnabled(bool)));
+  connect(mMapCanvas->mapRender(), SIGNAL(destinationSrsChanged()), this, SLOT(destinationSrsChanged()));
+  connect(mMapCanvas, SIGNAL(extentsChanged()),this,SLOT(showExtents()));
+  connect(mMapCanvas, SIGNAL(scaleChanged(double)), this, SLOT(showScale(double)));
+  connect(mMapCanvas, SIGNAL(scaleChanged(double)), this, SLOT(updateMouseCoordinatePrecision()));
+
+  connect(mRenderSuppressionCBox, SIGNAL(toggled(bool )), mMapCanvas, SLOT(setRenderFlag(bool)));
+}
+void QgisApp::createCanvas()
+{
+  // "theMapCanvas" used to find this canonical instance later
+  mMapCanvas = new QgsMapCanvas(NULL, "theMapCanvas" );
+  QWhatsThis::add(mMapCanvas, tr("Map canvas. This is where raster and vector layers are displayed when added to the map"));
+  
+  mMapCanvas->setMinimumWidth(10);
+  QVBoxLayout *myCanvasLayout = new QVBoxLayout;
+  myCanvasLayout->addWidget(mMapCanvas);
+  tabWidget->widget(0)->setLayout(myCanvasLayout);
+  // set the focus to the map canvas
+  mMapCanvas->setFocus();
+
+  // create tools
+  mMapTools.mZoomIn = new QgsMapToolZoom(mMapCanvas, FALSE /* zoomIn */);
+  mMapTools.mZoomIn->setAction(mActionZoomIn);
+  mMapTools.mZoomOut = new QgsMapToolZoom(mMapCanvas, TRUE /* zoomOut */);
+  mMapTools.mZoomOut->setAction(mActionZoomOut);
+  mMapTools.mPan = new QgsMapToolPan(mMapCanvas);
+  mMapTools.mPan->setAction(mActionPan);
+  mMapTools.mIdentify = new QgsMapToolIdentify(mMapCanvas);
+  mMapTools.mIdentify->setAction(mActionIdentify);
+  mMapTools.mMeasureDist = new QgsMeasureTool(mMapCanvas, FALSE /* area */);
+  mMapTools.mMeasureDist->setAction(mActionMeasure);
+  mMapTools.mMeasureArea = new QgsMeasureTool(mMapCanvas, TRUE /* area */);
+  mMapTools.mMeasureArea->setAction(mActionMeasureArea);
+  mMapTools.mCapturePoint = new QgsMapToolAddFeature(mMapCanvas, QgsMapToolCapture::CapturePoint);
+  mMapTools.mCapturePoint->setAction(mActionCapturePoint);
+  mMapTools.mCaptureLine = new QgsMapToolAddFeature(mMapCanvas, QgsMapToolCapture::CaptureLine);
+  mMapTools.mCaptureLine->setAction(mActionCaptureLine);
+  mMapTools.mCapturePolygon = new QgsMapToolAddFeature(mMapCanvas, QgsMapToolCapture::CapturePolygon);
+  mMapTools.mCapturePolygon->setAction(mActionCapturePolygon);
+  mMapTools.mSelect = new QgsMapToolSelect(mMapCanvas);
+  mMapTools.mSelect->setAction(mActionSelect);
+  mMapTools.mVertexAdd = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::AddVertex);
+  mMapTools.mVertexAdd->setAction(mActionAddVertex);
+  mMapTools.mVertexMove = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::MoveVertex);
+  mMapTools.mVertexMove->setAction(mActionMoveVertex);
+  mMapTools.mVertexDelete = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::DeleteVertex);
+  mMapTools.mVertexDelete->setAction(mActionDeleteVertex);
+  mMapTools.mAddRing = new QgsMapToolAddRing(mMapCanvas);
+  mMapTools.mAddRing->setAction(mActionAddRing);
+  mMapTools.mAddIsland = new QgsMapToolAddIsland(mMapCanvas);
+}
+
+void QgisApp::createOverview()
+{
+  // overview canvas
+  QgsMapOverviewCanvas* overviewCanvas = new QgsMapOverviewCanvas(NULL, mMapCanvas);
+  QWhatsThis::add(overviewCanvas, tr("Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas."));
+        
+  QBitmap overviewPanBmp(16, 16, pan_bits, true);
+  QBitmap overviewPanBmpMask(16, 16, pan_mask_bits, true);
+  mOverviewMapCursor = new QCursor(overviewPanBmp, overviewPanBmpMask, 5, 5);
+  overviewCanvas->setCursor(*mOverviewMapCursor);
+  QVBoxLayout *myOverviewLayout = new QVBoxLayout;
+  myOverviewLayout->addWidget(overviewCanvas);
+  overviewFrame->setLayout(myOverviewLayout);
+  
+  mMapCanvas->setOverview(overviewCanvas);
+  
+  // moved here to set anti aliasing to both map canvas and overview
+  QSettings mySettings;
+  mMapCanvas->enableAntiAliasing(mySettings.value("/qgis/enable_anti_aliasing",false).toBool());
+  mMapCanvas->useQImageToRender(mySettings.value("/qgis/use_qimage_to_render",false).toBool());
+
+  int action = mySettings.value("/qgis/wheel_action", 0).toInt();
+  double zoomFactor = mySettings.value("/qgis/zoom_factor", 2).toDouble();
+  mMapCanvas->setWheelAction((QgsMapCanvas::WheelAction) action, zoomFactor);
+}
+
+
+void QgisApp::createLegend()
+{
+  //legend
+  mMapLegend = new QgsLegend(NULL, "theMapLegend");
+  mMapLegend->setObjectName("theMapLegend");
+  mMapLegend->setMapCanvas(mMapCanvas);
+
+  //add the toggle editing action also to legend such that right click menu and button show the same state
+  mMapLegend->setToggleEditingAction(mActionToggleEditing);
+
+  QWhatsThis::add(mMapLegend, tr("Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties."));
+  QVBoxLayout *myLegendLayout = new QVBoxLayout;
+  myLegendLayout->addWidget(mMapLegend);
+  toolBox->widget(0)->setLayout(myLegendLayout);
+  return;
+}
+
+bool QgisApp::createDB()
+{
+  // Check qgis.db and make private copy if necessary
+  QFile qgisPrivateDbFile(QgsApplication::qgisUserDbFilePath());
+
+  // first we look for ~/.qgis/qgis.db
+  if (!qgisPrivateDbFile.exists())
+  {
+    // if it doesnt exist we copy it in from the global resources dir
+    QString qgisMasterDbFileName = QgsApplication::qgisMasterDbFilePath();
+    QFile masterFile(qgisMasterDbFileName);
+
+    // Must be sure there is destination directory ~/.qgis
+    QDir().mkpath(QgsApplication::qgisSettingsDirPath());
+
+    //now copy the master file into the users .qgis dir
+    bool isDbFileCopied = masterFile.copy(qgisPrivateDbFile.name());
+
+    if (!isDbFileCopied)
+    {
+#ifdef QGISDEBUG
+      std::cout << "[ERROR] Can not make qgis.db private copy" << std::endl;
+      return FALSE;
+#endif
+    }
+  }
+  return TRUE;
+}
+
+// Update file menu with the current list of recently accessed projects
+void QgisApp::updateRecentProjectPaths()
+{
+  // Remove existing paths from the recent projects menu
+  int i;
+
+  int menusize = mRecentProjectsMenu->actions().size();
+
+  for(i = menusize; i < mRecentProjectPaths.size(); i++)
+  {
+    mRecentProjectsMenu->addAction("Dummy text");
+  }
+
+  QList<QAction *> menulist = mRecentProjectsMenu->actions();
+
+  assert(menulist.size() == mRecentProjectPaths.size());
+
+  for (i = 0; i < mRecentProjectPaths.size(); i++)
+    {
+      menulist.at(i)->setText(mRecentProjectPaths.at(i));
+
+      // Disable this menu item if the file has been removed, if not enable it
+      menulist.at(i)->setEnabled(QFile::exists((mRecentProjectPaths.at(i))));
+
+    }
+} // QgisApp::updateRecentProjectPaths
+
+// add this file to the recently opened/saved projects list
+void QgisApp::saveRecentProjectPath(QString projectPath, QSettings & settings)
+{
+  // Get canonical absolute path
+  QFileInfo myFileInfo(projectPath);
+  projectPath = myFileInfo.absFilePath();
+
+  // If this file is already in the list, remove it
+  mRecentProjectPaths.removeAll(projectPath);
+
+  // Prepend this file to the list
+  mRecentProjectPaths.prepend(projectPath);
+
+  // Keep the list to 8 items by trimming excess off the bottom
+  while (mRecentProjectPaths.count() > 8)
+  {
+    mRecentProjectPaths.pop_back();
+  }
+
+  // Persist the list
+  settings.writeEntry("/UI/recentProjectsList", mRecentProjectPaths);
+
+  // Update menu list of paths
+  updateRecentProjectPaths();
+
+} // QgisApp::saveRecentProjectPath
+
+void QgisApp::saveWindowState()
+{
+  // store window and toolbar positions
+  QSettings settings;
+  // store the toolbar/dock widget settings using Qt4 settings API
+  settings.setValue("/Geometry/state", this->saveState());
+
+  // store window geometry
+  QPoint p = this->pos();
+  QSize s = this->size();
+  settings.writeEntry("/Geometry/maximized", this->isMaximized());
+  settings.writeEntry("/Geometry/x", p.x());
+  settings.writeEntry("/Geometry/y", p.y());
+  settings.writeEntry("/Geometry/w", s.width());
+  settings.writeEntry("/Geometry/h", s.height());
+  settings.setValue("/Geometry/canvasSplitterState", canvasLegendSplit->saveState());
+  settings.setValue("/Geometry/legendSplitterState", legendOverviewSplit->saveState());
+}
+
+void QgisApp::restoreWindowState()
+{
+  // restore the toolbar and dock widgets postions using Qt4 settings API
+  QSettings settings;
+  QVariant vstate = settings.value("/Geometry/state");
+  this->restoreState(vstate.toByteArray());
+
+  // restore window geometry
+  QDesktopWidget *d = QApplication::desktop();
+  int dw = d->width();          // returns desktop width
+  int dh = d->height();         // returns desktop height
+  int w = settings.readNumEntry("/Geometry/w", 600);
+  int h = settings.readNumEntry("/Geometry/h", 400);
+  int x = settings.readNumEntry("/Geometry/x", (dw - 600) / 2);
+  int y = settings.readNumEntry("/Geometry/y", (dh - 400) / 2);
+  resize(w, h);
+  move(x, y);
+
+  canvasLegendSplit->restoreState(settings.value("/Geometry/canvasSplitterState").toByteArray());
+  legendOverviewSplit->restoreState(settings.value("/Geometry/legendSplitterState").toByteArray());
+}
+///////////// END OF GUI SETUP ROUTINES ///////////////
+
+void QgisApp::about()
+{
+  static QgsAbout *abt = NULL;
+  if (!abt) {
+     QApplication::setOverrideCursor(Qt::WaitCursor);
+     abt = new QgsAbout();
+     QString versionString = tr("Version ");
+     versionString += QGis::qgisVersion;
+     versionString += " (";
+     versionString += QGis::qgisSvnVersion;
+     versionString += ")";
+#ifdef HAVE_POSTGRESQL
+
+versionString += tr(" with PostgreSQL support");
+#else
+
+versionString += tr(" (no PostgreSQL support)");
+#endif
+ versionString += tr("\nCompiled against Qt ") + QT_VERSION_STR
+   + tr(", running against Qt ") + qVersion();
+
+#ifdef WIN32
+  // special version stuff for windows (if required)
+  //  versionString += "\nThis is a Windows preview release - not for production use";
+#endif
+
+abt->setVersion(versionString);
+QString urls = "<p align=\"center\">" +
+tr("Quantum GIS is licensed under the GNU General Public License") +
+"</p><p align=\"center\">" +
+tr("http://www.gnu.org/licenses") +
+"</p>";
+abt->setURLs(urls);
+QString watsNew = "<html><body>" + tr("Version") + " ";
+watsNew += QGis::qgisVersion;
+watsNew += "<h3>" + tr("New features") + "</h3>";
+watsNew += "<ul><li>"
++ tr("Python bindings - This is the major focus of this release "
+    "it is now possible to create plugins using python. It is also "
+    "possible to create GIS enabled applications written in python " 
+    "that use the QGIS libraries."
+    )
++ "</li>"
++ "<li>"
++ tr("Removed automake build system - QGIS now needs CMake for compilation.")
++ "</li>"
++ "<li>"
++ tr("Many new GRASS tools added (with thanks to http://faunalia.it/)")
++ "</li>"
++ "<li>"
++ tr("Map Composer updates")
++ "</li>"
++ "<li>"
++ tr("Crash fix for 2.5D shapefiles")
++ "</li>"
++ "<li>"
++ tr("The QGIS libraries have been refactored and better organised.")
++ "</li>"
++ "<li>"
++ tr("Improvements to the GeoReferencer")
++ "</li>"
+//+ "<li>"
+//+ tr("")
+//+ "</li>"
++ "</ul></body></html>";
+
+
+abt->setWhatsNew(watsNew);
+
+  // add the available plugins to the list
+  QString providerInfo = "<b>" + tr("Available Data Provider Plugins") + "</b><br>";
+  abt->setPluginInfo(providerInfo + QgsProviderRegistry::instance()->pluginList(true));
+  QApplication::restoreOverrideCursor();
+  }
+  abt->show();
+  abt->raise();
+  abt->setActiveWindow();
+}
+
+/** Load up any plugins used in the last session
+*/
+
+void QgisApp::restoreSessionPlugins(QString thePluginDirString)
+{
+  QSettings mySettings;
+
+  QgsDebugMsg("Restoring plugins from last session " + thePluginDirString);
+  
+#ifdef WIN32
+  QString pluginExt = "*.dll";
+#else
+  QString pluginExt = "*.so*";
+#endif
+
+  // check all libs in the current plugin directory and get name and descriptions
+  QDir myPluginDir(thePluginDirString, pluginExt, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
+
+  for (uint i = 0; i < myPluginDir.count(); i++)
+  {
+    QString myFullPath = thePluginDirString + "/" + myPluginDir[i];
+
+    QgsDebugMsg("Examining " + myFullPath);
+
+    QLibrary *myLib = new QLibrary(myFullPath);
+    bool loaded = myLib->load();
+    if (loaded)
+    {
+        //purposely leaving this one to stdout!
+        std::cout << "Loaded " << myLib->library().toLocal8Bit().data() << std::endl;
+        
+        name_t * myName =(name_t *) myLib->resolve("name");
+        description_t *  myDescription = (description_t *)  myLib->resolve("description");
+        version_t *  myVersion =  (version_t *) myLib->resolve("version");
+        if (myName && myDescription  && myVersion )
+        {
+          //check if the plugin was active on last session
+          QString myEntryName = myName();
+          // Windows stores a "true" value as a 1 in the registry so we
+          // have to use readBoolEntry in this function
+
+          if (mySettings.readBoolEntry("/Plugins/" + myEntryName))
+          {
+            QgsDebugMsg("Loading plugin: " + myEntryName);
+
+            loadPlugin(myName(), myDescription(), myFullPath);
+          }
+        }
+        else
+        {
+          QgsDebugMsg("Failed to get name, description, or type for " + myLib->library());
+        }
+    }
+    else
+    {
+      QgsDebugMsg("Failed to load " + myLib->library());
+      QgsDebugMsg("Reason: " + myLib->errorString());
+    }
+    delete myLib;
+  }
+
+#ifdef HAVE_PYTHON
+  QString pluginName, description, version;
+  
+  if (QgsPythonUtils::isEnabled())
+  {
+  
+    // check for python plugins
+    QDir pluginDir(QgsPythonUtils::pluginsPath(), "*",
+                  QDir::Name | QDir::IgnoreCase, QDir::Dirs | QDir::NoDotAndDotDot);
+  
+    for (uint i = 0; i < pluginDir.count(); i++)
+    {
+      QString packageName = pluginDir[i];
+      
+      // import plugin's package
+      if (!QgsPythonUtils::loadPlugin(packageName))
+        continue;
+      
+      // get information from the plugin
+      // if there are some problems, don't continue with metadata retreival
+      pluginName = QgsPythonUtils::getPluginMetadata(packageName, "name");
+      if (pluginName != "__error__")
+      {
+        description = QgsPythonUtils::getPluginMetadata(packageName, "description");
+        if (description != "__error__")
+          version = QgsPythonUtils::getPluginMetadata(packageName, "version");
+      }
+      
+      if (pluginName == "__error__" || description == "__error__" || version == "__error__")
+      {
+        QMessageBox::warning(this, tr("Python error"), tr("Error when reading metadata of plugin ") + packageName);
+        continue;
+      }
+      
+      if (mySettings.readBoolEntry("/PythonPlugins/" + packageName))
+      {
+        loadPythonPlugin(packageName, pluginName);
+      }
+    }
+  
+  }
+#endif
+}
+
+
+/**
+
+  Convenience function for readily creating file filters.
+
+  Given a long name for a file filter and a regular expression, return
+  a file filter string suitable for use in a QFileDialog::OpenFiles()
+  call.  The regular express, glob, will have both all lower and upper
+  case versions added.
+
+*/
+static QString createFileFilter_(QString const &longName, QString const &glob)
+{
+  return longName + " (" + glob.lower() + " " + glob.upper() + ");;";
+}                               // createFileFilter_
+
+
+
+/**
+  Builds the list of file filter strings to later be used by
+  QgisApp::addLayer()
+
+  We query OGR for a list of supported vector formats; we then build a list
+  of file filter strings from that list.  We return a string that contains
+  this list that is suitable for use in a a QFileDialog::getOpenFileNames()
+  call.
+
+  XXX Most of the file name filters need to be filled in; however we
+  XXX may want to wait until we've tested each format before committing
+  XXX them permanently instead of blindly relying on OGR to properly
+  XXX supply all needed spatial data.
+
+*/
+static void buildSupportedVectorFileFilter_(QString & fileFilters)
+{
+
+#ifdef DEPRECATED
+  static QString myFileFilters;
+
+  // if we've already built the supported vector string, just return what
+  // we've already built
+  if ( ! ( myFileFilters.isEmpty() || myFileFilters.isNull() ) )
+  {
+    fileFilters = myFileFilters;
+
+    return;
+  }
+
+  // first get the GDAL driver manager
+
+  OGRSFDriverRegistrar *driverRegistrar = OGRSFDriverRegistrar::GetRegistrar();
+
+  if (!driverRegistrar)
+  {
+    QMessageBox::warning(this,tr("OGR Driver Manager"),tr("unable to get OGRDriverManager"));
+    return;                 // XXX good place to throw exception if we
+  }                           // XXX decide to do exceptions
+
+  // then iterate through all of the supported drivers, adding the
+  // corresponding file filter
+
+  OGRSFDriver *driver;          // current driver
+
+  QString driverName;           // current driver name
+
+  // Grind through all the drivers and their respective metadata.
+  // We'll add a file filter for those drivers that have a file
+  // extension defined for them; the others, welll, even though
+  // theoreticaly we can open those files because there exists a
+  // driver for them, the user will have to use the "All Files" to
+  // open datasets with no explicitly defined file name extension.
+#ifdef QGISDEBUG
+
+  std::cerr << "Driver count: " << driverRegistrar->GetDriverCount() << std::endl;
+#endif
+
+  for (int i = 0; i < driverRegistrar->GetDriverCount(); ++i)
+  {
+    driver = driverRegistrar->GetDriver(i);
+
+    Q_CHECK_PTR(driver);
+
+    if (!driver)
+    {
+      qWarning("unable to get driver %d", i);
+      continue;
+    }
+
+    driverName = driver->GetName();
+
+
+
+    if (driverName.startsWith("ESRI"))
+    {
+      myFileFilters += createFileFilter_("ESRI Shapefiles", "*.shp");
+    }
+    else if (driverName.startsWith("UK"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("SDTS"))
+    {
+      myFileFilters += createFileFilter_( "Spatial Data Transfer Standard",
+          "*catd.ddf" );
+    }
+    else if (driverName.startsWith("TIGER"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("S57"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("MapInfo"))
+    {
+      myFileFilters += createFileFilter_("MapInfo", "*.mif *.tab");
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("DGN"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("VRT"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("AVCBin"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("REC"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("Memory"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("Jis"))
+    {
+      // XXX needs file filter extension
+    }
+    else if (driverName.startsWith("GML"))
+    {
+      // XXX not yet supported; post 0.1 release task
+      myFileFilters += createFileFilter_( "Geography Markup Language",
+          "*.gml" );
+    }
+    else
+    {
+      // NOP, we don't know anything about the current driver
+      // with regards to a proper file filter string
+      qDebug( "%s:%d unknown driver %s", __FILE__, __LINE__, (const char *)driverName.toLocal8Bit().data() );
+    }
+
+  }                           // each loaded GDAL driver
+
+  std::cout << myFileFilters.toLocal8Bit().data() << std::endl;
+
+  // can't forget the default case
+
+  myFileFilters += "All files (*.*)";
+  fileFilters = myFileFilters;
+
+#endif // DEPRECATED
+
+  fileFilters = QgsProviderRegistry::instance()->fileVectorFilters();
+  QgsDebugMsg("Vector file filters: " + fileFilters);
+
+}                               // buildSupportedVectorFileFilter_()
+
+
+
+
+/**
+  Open files, preferring to have the default file selector be the
+  last one used, if any; also, prefer to start in the last directory
+  associated with filterName.
+
+  @param filterName the name of the filter; used for persistent store
+  key
+  @param filters    the file filters used for QFileDialog
+
+  @param selectedFiles string list of selected files; will be empty
+  if none selected
+  @param enc        encoding?
+  @param title      the title for the dialog
+  @note
+
+  Stores persistent settings under /UI/.  The sub-keys will be
+  filterName and filterName + "Dir".
+
+  Opens dialog on last directory associated with the filter name, or
+  the current working directory if this is the first time invoked
+  with the current filter name.
+
+*/
+static void openFilesRememberingFilter_(QString const &filterName, 
+    QString const &filters, QStringList & selectedFiles, QString& enc, QString &title)
+{
+
+  bool haveLastUsedFilter = false; // by default, there is no last
+  // used filter
+
+  QSettings settings;         // where we keep last used filter in
+  // persistant state
+
+  QString lastUsedFilter = settings.readEntry("/UI/" + filterName,
+      QString::null,
+      &haveLastUsedFilter);
+
+  QString lastUsedDir = settings.readEntry("/UI/" + filterName + "Dir",".");
+
+  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
+
+#ifdef QGISDEBUG
+  std::cerr << "Opening file dialog with filters: " << filters.toLocal8Bit().data() << std::endl;
+#endif
+
+  QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(0,
+      title, lastUsedDir, filters, lastUsedEncoding);
+
+  // allow for selection of more than one file
+  openFileDialog->setMode(QFileDialog::ExistingFiles);
+
+  if (haveLastUsedFilter)       // set the filter to the last one used
+  {
+    openFileDialog->selectFilter(lastUsedFilter);
+  }
+
+  if (openFileDialog->exec() == QDialog::Accepted)
+  {
+    selectedFiles = openFileDialog->selectedFiles();
+    enc = openFileDialog->encoding();
+    // Fix by Tim - getting the dirPath from the dialog
+    // directly truncates the last node in the dir path.
+    // This is a workaround for that
+    QString myFirstFileName = selectedFiles.first();
+    QFileInfo myFI(myFirstFileName);
+    QString myPath = myFI.dirPath();
+#ifdef QGISDEBUG
+    qDebug("Writing last used dir: " + myPath);
+#endif
+
+    settings.writeEntry("/UI/" + filterName, openFileDialog->selectedFilter());
+    settings.writeEntry("/UI/" + filterName + "Dir", myPath);
+    settings.writeEntry("/UI/encoding", openFileDialog->encoding());
+  }
+
+  delete openFileDialog;
+}   // openFilesRememberingFilter_
+
+
+/**
+  This method prompts the user for a list of vector filenames with a dialog.
+
+  @todo XXX I'd really like to return false, but can't because this
+  XXX is for a slot that was defined void; need to fix.
+  */
+void QgisApp::addLayer()
+{
+  mMapCanvas->freeze();
+
+  QStringList selectedFiles;
+#ifdef QGISDEBUG
+  std::cerr << "Vector file filters: " << mVectorFileFilter.toLocal8Bit().data() << std::endl;
+#endif
+
+  QString enc;
+  QString title = tr("Open an OGR Supported Vector Layer");
+  openFilesRememberingFilter_("lastVectorFileFilter", mVectorFileFilter, selectedFiles, enc,
+      title);
+  if (selectedFiles.isEmpty())
+  {
+    // no files were selected, so just bail
+    mMapCanvas->freeze(false);
+
+    return;
+  }
+
+  addLayer(selectedFiles, enc);
+} // QgisApp::addLayer()
+
+
+
+
+bool QgisApp::addLayer(QFileInfo const & vectorFile)
+{
+  // let the user know we're going to possibly be taking a while
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  mMapCanvas->freeze();         // XXX why do we do this?
+
+  // create the layer
+  QgsDebugMsg("completeBaseName is: " + vectorFile.completeBaseName());
+
+  QgsVectorLayer *layer = new QgsVectorLayer(vectorFile.filePath(),
+      vectorFile.completeBaseName(),
+      "ogr");
+  Q_CHECK_PTR( layer );
+
+  if ( ! layer )
+  {
+    mMapCanvas->freeze(false);
+    QApplication::restoreOverrideCursor();
+
+    // XXX insert meaningful whine to the user here
+    return false;
+  }
+
+  if (layer->isValid())
+  {
+    // Register this layer with the layers registry
+    QgsMapLayerRegistry::instance()->addMapLayer(layer);
+
+  }
+  else
+  {
+    QString msg = vectorFile.completeBaseName() + " ";
+    msg += tr("is not a valid or recognized data source");
+    QMessageBox::critical(this, tr("Invalid Data Source"), msg);
+
+    // since the layer is bad, stomp on it
+    delete layer;
+
+    mMapCanvas->freeze(false);
+
+// Let render() do its own cursor management
+//    QApplication::restoreOverrideCursor();
+
+    return false;
+  }
+
+  // update UI
+  qApp->processEvents();
+  
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+  statusBar()->message(mMapCanvas->extent().stringRep(2));
+
+  return true;
+
+} // QgisApp::addLayer()
+
+
+
+
+
+/** \brief overloaded vesion of the above method that takes a list of
+ * filenames instead of prompting user with a dialog.
+
+ XXX yah know, this could be changed to just iteratively call the above
+
+*/
+bool QgisApp::addLayer(QStringList const &theLayerQStringList, const QString& enc)
+{
+  mMapCanvas->freeze();
+
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  for ( QStringList::ConstIterator it = theLayerQStringList.begin();
+      it != theLayerQStringList.end();
+      ++it )
+  {
+    QFileInfo fi(*it);
+    QString base = fi.completeBaseName();
+
+    QgsDebugMsg("completeBaseName: "+base);
+
+    // create the layer
+
+    QgsVectorLayer *layer = new QgsVectorLayer(*it, base, "ogr");
+    Q_CHECK_PTR( layer );
+
+    if ( ! layer )
+    {
+      mMapCanvas->freeze(false);
+
+// Let render() do its own cursor management
+//      QApplication::restoreOverrideCursor();
+
+      // XXX insert meaningful whine to the user here
+      return false;
+    }
+
+    if (layer->isValid())
+    {
+      layer->setProviderEncoding(enc);
+
+      // Register this layer with the layers registry
+      QgsMapLayerRegistry::instance()->addMapLayer(layer);
+
+    }
+    else
+    {
+      QString msg = *it + " ";
+      msg += tr("is not a valid or recognized data source");
+      QMessageBox::critical(this, tr("Invalid Data Source"), msg);
+
+      // since the layer is bad, stomp on it
+      delete layer;
+
+      // XXX should we return false here, or just grind through
+      // XXX the remaining arguments?
+    }
+
+  }
+
+  // update UI
+  qApp->processEvents();
+  
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+  statusBar()->message(mMapCanvas->extent().stringRep(2));
+
+
+  return true;
+
+} // QgisApp::addLayer()
+
+
+
+/** This helper checks to see whether the filename appears to be a valid vector file name */
+bool QgisApp::isValidVectorFileName(QString theFileNameQString)
+{
+  return (theFileNameQString.lower().endsWith(".shp"));
+}
+
+/** Overloaded of the above function provided for convenience that takes a qstring pointer */
+bool QgisApp::isValidVectorFileName(QString * theFileNameQString)
+{
+  //dereference and delegate
+  return isValidVectorFileName(*theFileNameQString);
+}
+
+#ifndef HAVE_POSTGRESQL
+void QgisApp::addDatabaseLayer(){}
+#else
+void QgisApp::addDatabaseLayer()
+{
+  // only supports postgis layers at present
+
+  // show the postgis dialog
+
+  QgsDbSourceSelect *dbs = new QgsDbSourceSelect(this);
+
+  mMapCanvas->freeze();
+
+  if (dbs->exec())
+  {
+// Let render() do its own cursor management
+//    QApplication::setOverrideCursor(Qt::WaitCursor);
+
+
+    // repaint the canvas if it was covered by the dialog
+
+    // add files to the map canvas
+    QStringList tables = dbs->selectedTables();
+
+    QString connInfo = dbs->connInfo();
+    // for each selected table, connect to the database, parse the WKT geometry,
+    // and build a cavnasitem for it
+    // readWKB(connInfo,tables);
+    QStringList::Iterator it = tables.begin();
+    while (it != tables.end())
+    {
+
+      // create the layer
+      //qWarning("creating layer");
+      QgsVectorLayer *layer = new QgsVectorLayer(connInfo + " table=" + *it, *it, "postgres");
+      if (layer->isValid())
+      {
+        // register this layer with the central layers registry
+        QgsMapLayerRegistry::instance()->addMapLayer(layer);
+
+      }
+      else
+      {
+        std::cerr << (*it).toLocal8Bit().data() << " is an invalid layer - not loaded" << std::endl;
+        QMessageBox::critical(this, tr("Invalid Layer"), tr("%1 is an invalid layer and cannot be loaded.").arg(*it));
+        delete layer;
+      }
+      //qWarning("incrementing iterator");
+      ++it;
+    }
+    statusBar()->message(mMapCanvas->extent().stringRep(2));
+  }
+
+  delete dbs;
+  
+  // update UI
+  qApp->processEvents();
+  
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+} // QgisApp::addDatabaseLayer()
+#endif
+
+
+void QgisApp::addWmsLayer()
+{
+  // Fudge for now
+
+#ifdef QGISDEBUG
+  std::cout << "QgisApp::addWmsLayer: about to addRasterLayer" << std::endl;
+#endif
+
+
+  QgsServerSourceSelect *wmss = new QgsServerSourceSelect(this);
+
+  mMapCanvas->freeze();
+
+  if (wmss->exec())
+  {
+
+    addRasterLayer(wmss->connInfo(),
+        wmss->connName(),
+        "wms",
+        wmss->selectedLayers(),
+        wmss->selectedStylesForSelectedLayers(),
+        wmss->selectedImageEncoding(),
+        wmss->selectedCrs(),
+        wmss->connProxyHost(),
+        wmss->connProxyPort(),
+        wmss->connProxyUser(),
+        wmss->connProxyPass()
+        );
+  }
+}
+
+
+
+
+/// file data representation
+enum dataType { IS_VECTOR, IS_RASTER, IS_BOGUS };
+
+
+
+/** returns data type associated with the given QgsProject file DOM node
+
+  The DOM node should represent the state associated with a specific layer.
+  */
+static
+  dataType
+dataType_( QDomNode & layerNode )
+{
+  QString type = layerNode.toElement().attribute( "type" );
+
+  if ( QString::null == type )
+  {
+    qDebug( "%s:%d cannot find ``type'' attribute", __FILE__, __LINE__ );
+
+    return IS_BOGUS;
+  }
+
+  if ( "raster" == type )
+  {
+    qDebug( "%s:%d is a raster", __FILE__, __LINE__ );
+
+    return IS_RASTER;
+  }
+  else if ( "vector" == type )
+  {
+    qDebug( "%s:%d is a vector", __FILE__, __LINE__ );
+
+    return IS_VECTOR;
+  }
+
+  qDebug( "%s:%d is unknown type %s", __FILE__, __LINE__, (const char *)type.toLocal8Bit().data() );
+
+  return IS_BOGUS;
+} // dataType_( QDomNode & layerNode )
+
+
+/** return the data source for the given layer
+
+  The QDomNode is a QgsProject DOM node corresponding to a map layer state.
+
+  Essentially dumps <datasource> tag.
+
+*/
+static
+  QString
+dataSource_( QDomNode & layerNode )
+{
+  QDomNode dataSourceNode = layerNode.namedItem( "datasource" );
+
+  if ( dataSourceNode.isNull() )
+  {
+    qDebug( "%s:%d cannot find datasource node", __FILE__, __LINE__ );
+
+    return QString::null;
+  }
+
+  return dataSourceNode.toElement().text();
+
+} // dataSource_( QDomNode & layerNode )
+
+
+
+/// the three flavors for data
+typedef enum { IS_FILE, IS_DATABASE, IS_URL, IS_UNKNOWN } providerType;
+
+
+/** return the physical storage type associated with the given layer
+
+  The QDomNode is a QgsProject DOM node corresponding to a map layer state.
+
+  If the <provider> is "ogr", then it's a file type.
+
+  However, if the layer is a raster, then there won't be a <provider> tag.  It
+  will always have an associated file.
+
+  If the layer doesn't fall into either of the previous two categories, then
+  it's either a database or URL.  If the <datasource> tag has "url=", then
+  it's URL based.  If the <datasource> tag has "dbname=">, then the layer data
+  is in a database.
+
+*/
+static
+  providerType
+providerType_( QDomNode & layerNode )
+{
+  // XXX but what about rasters that can be URLs?  _Can_ they be URLs?
+
+  switch( dataType_( layerNode ) )
+  {
+    case IS_VECTOR:
+      {
+        QString dataSource = dataSource_( layerNode );
+
+#ifdef QGISDEBUG
+        qDebug( "%s:%d datasource is %s", __FILE__, __LINE__, (const char *)dataSource.toLocal8Bit().data() );
+#endif
+        if ( dataSource.contains("host=") )
+        {
+          return IS_URL;
+        }
+#ifdef HAVE_POSTGRESQL
+        else if ( dataSource.contains("dbname=") )
+        {
+          return IS_DATABASE;
+        }
+#endif
+        // be default, then, this should be a file based layer data source
+        // XXX is this a reasonable assumption?
+
+        return IS_FILE;
+      }
+
+    case IS_RASTER:         // rasters are currently only accessed as
+      // physical files
+      return IS_FILE;
+
+    default:
+      qDebug( "%s:%d unknown ``type'' attribute", __FILE__, __LINE__ );
+  }
+
+  return IS_UNKNOWN;
+
+} // providerType_
+
+
+
+/** set the <datasource> to the new value
+*/
+static
+  void
+setDataSource_( QDomNode & layerNode, QString const & dataSource )
+{
+  QDomNode dataSourceNode = layerNode.namedItem("datasource");
+  QDomElement dataSourceElement = dataSourceNode.toElement();
+  QDomText dataSourceText = dataSourceElement.firstChild().toText();
+
+
+#ifdef QGISDEBUG
+  QString originalDataSource = dataSourceText.data();
+
+  qDebug( "%s:%d datasource changed from %s", __FILE__, __LINE__, (const char *)originalDataSource.toLocal8Bit().data() );
+#endif
+
+  dataSourceText.setData( dataSource );
+
+#ifdef QGISDEBUG
+  QString newDataSource = dataSourceText.data();
+
+  qDebug( "%s:%d to %s", __FILE__, __LINE__, (const char *)newDataSource.toLocal8Bit().data() );
+#endif
+} // setDataSource_
+
+
+
+
+/** this is used to locate files that have moved or otherwise are missing
+
+*/
+static
+  void
+findMissingFile_( QString const & fileFilters, QDomNode & layerNode )
+{
+  // Prepend that file name to the valid file format filter list since it
+  // makes it easier for the user to not only find the original file, but to
+  // perhaps find a similar file.
+
+  QFileInfo originalDataSource( dataSource_(layerNode) );
+
+  QString memoryQualifier;    // to differentiate between last raster and
+  // vector directories
+
+  switch( dataType_( layerNode ) )
+  {
+    case IS_VECTOR:
+      {
+        memoryQualifier = "lastVectorFileFilter";
+
+        break;
+      }
+    case IS_RASTER:
+      {
+        memoryQualifier = "lastRasterFileFilter";
+
+        break;
+      }
+    default:
+      qDebug( "%s:%d unable to determine data type", __FILE__, __LINE__ );
+      return;
+  }
+
+  // Prepend the original data source base name to make it easier to pick it
+  // out from a list of other files; however the appropriate filter strings
+  // for the file type will also be added in case the file name itself has
+  // changed, too.
+
+  QString myFileFilters = originalDataSource.fileName() + ";;" + fileFilters;
+
+  QStringList selectedFiles;
+  QString     enc;
+  QString     title( QObject::tr("Where is '") + originalDataSource.fileName() + "'? (" + QObject::tr("original location: ") + originalDataSource.absoluteFilePath() + ")");
+
+  openFilesRememberingFilter_(memoryQualifier,
+      myFileFilters, 
+      selectedFiles, 
+      enc,
+      title);
+
+  if (selectedFiles.isEmpty())
+  {
+    return;
+  }
+  else
+  {
+    setDataSource_( layerNode, selectedFiles.first() );
+    if ( ! QgsProject::instance()->read( layerNode ) )
+    {
+      qDebug( "%s:%d unable to re-read layer", __FILE__, __LINE__ );
+    }
+  }
+
+} // findMissingFile_
+
+
+
+
+/** find relocated data source for the given layer
+
+  This QDom object represents a QgsProject node that maps to a specific layer.
+
+  @param layerNode QDom node containing layer project information
+
+  @todo
+
+  XXX Only implemented for file based layers.  It will need to be extended for
+  XXX other data source types such as databases.
+
+*/
+static
+  void
+findLayer_( QString const & fileFilters, QDomNode const & constLayerNode ) 
+{
+  // XXX actually we could possibly get away with a copy of the node
+  QDomNode & layerNode = const_cast<QDomNode&>(constLayerNode);
+
+  switch ( providerType_(layerNode) )
+  {
+    case IS_FILE:
+      qDebug( "%s:%d layer is file based", __FILE__, __LINE__ );
+      findMissingFile_( fileFilters, layerNode );
+      break;
+
+    case IS_DATABASE:
+      qDebug( "%s:%d layer is database based", __FILE__, __LINE__ );
+      break;
+
+    case IS_URL:
+      qDebug( "%s:%d layer is URL based", __FILE__, __LINE__ );
+      break;
+
+    case IS_UNKNOWN:
+      qDebug( "%s:%d layer has an unkown type", __FILE__, __LINE__ );
+      break;
+  }
+
+}; // findLayer_
+
+
+
+
+/** find relocated data sources for given layers
+
+  These QDom objects represent QgsProject nodes that map to specific layers.
+
+*/
+static
+  void
+findLayers_( QString const & fileFilters, list<QDomNode> const & layerNodes )
+{
+
+  for( list<QDomNode>::const_iterator i = layerNodes.begin();
+      i != layerNodes.end();
+      ++i )
+  {
+    findLayer_( fileFilters, *i );
+  }
+
+} // findLayers_
+
+
+
+void QgisApp::fileExit()
+{
+  if (saveDirty())
+  {
+    removeAllLayers();
+    qApp->exit(0);
+  }
+}
+
+
+
+void QgisApp::fileNew()
+{
+  fileNew(TRUE); // prompts whether to save project
+} // fileNew()
+
+
+//as file new but accepts flags to indicate whether we should prompt to save
+void QgisApp::fileNew(bool thePromptToSaveFlag)
+{ 
+  if (thePromptToSaveFlag)
+  {
+    if (!saveDirty())
+    {
+      return;
+    }
+  }
+  
+#ifdef QGISDEBUG
+    std::cout << "erasing project" << std::endl;
+#endif
+  
+  mMapCanvas->freeze(true);
+  QgsMapLayerRegistry::instance()->removeAllMapLayers();
+  mMapCanvas->clear();
+
+  QgsProject* prj = QgsProject::instance();
+  prj->title( QString::null );
+  prj->filename( QString::null );
+  prj->clearProperties(); // why carry over properties from previous projects?
+  
+  QSettings settings;
+  
+  //set the colour for selections
+  //the default can be set in qgisoptions 
+  //use project properties to override the colour on a per project basis
+  int myRed = settings.value("/qgis/default_selection_color_red",255).toInt();
+  int myGreen = settings.value("/qgis/default_selection_color_green",255).toInt();
+  int myBlue = settings.value("/qgis/default_selection_color_blue",0).toInt();
+  prj->writeEntry("Gui","/SelectionColorRedPart",myRed);
+  prj->writeEntry("Gui","/SelectionColorGreenPart",myGreen);
+  prj->writeEntry("Gui","/SelectionColorBluePart",myBlue); 
+  QgsRenderer::setSelectionColor(QColor(myRed,myGreen,myBlue));
+
+  //set the canvas to the default background colour
+  //the default can be set in qgisoptions 
+  //use project properties to override the colour on a per project basis
+  myRed = settings.value("/qgis/default_canvas_color_red",255).toInt();
+  myGreen = settings.value("/qgis/default_canvas_color_green",255).toInt();
+  myBlue = settings.value("/qgis/default_canvas_color_blue",255).toInt();
+  prj->writeEntry("Gui","/CanvasColorRedPart",myRed);
+  prj->writeEntry("Gui","/CanvasColorGreenPart",myGreen);
+  prj->writeEntry("Gui","/CanvasColorBluePart",myBlue);  
+  mMapCanvas->setCanvasColor(QColor(myRed,myGreen,myBlue));
+    
+  prj->dirty(false);
+
+  setTitleBarText_( *this );
+    
+#ifdef QGISDEBUG
+  std::cout << "emiting new project signal" << std::endl ;
+#endif
+
+  //note by Tim: I did some casual egrepping and this signal doesnt actually
+  //seem to be connected to anything....why is it here? Just for future needs?
+  //note by Martin: actually QgsComposer does use it
+  emit newProject();
+
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+  
+  mMapCanvas->mapRender()->setProjectionsEnabled(FALSE);
+  
+  pan(); // set map tool - panning
+
+} // QgisApp::fileNew(bool thePromptToSaveFlag)
+
+
+void QgisApp::newVectorLayer()
+{
+
+  QGis::WKBTYPE geometrytype;
+  QString fileformat;
+
+  QgsGeomTypeDialog geomDialog(this);
+  if(geomDialog.exec()==QDialog::Rejected)
+  {
+    return;
+  }
+  geometrytype = geomDialog.selectedType();
+  fileformat = geomDialog.selectedFileFormat();
+
+  std::list<std::pair<QString, QString> > attributes;
+  geomDialog.attributes(attributes);
+
+  bool haveLastUsedFilter = false; // by default, there is no last
+  // used filter
+  QString enc;
+  QString filename;
+
+  QSettings settings;         // where we keep last used filter in
+  // persistant state
+
+  QString lastUsedFilter = settings.readEntry("/UI/lastVectorFileFilter",
+      QString::null,
+      &haveLastUsedFilter);
+
+  QString lastUsedDir = settings.readEntry("/UI/lastVectorFileFilterDir",
+      ".");
+
+  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
+
+#ifdef QGISDEBUG
+
+  std::cerr << "Saving vector file dialog without filters: " << std::endl;
+#endif
+
+  QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(this,
+      tr("Save As"), lastUsedDir, "", lastUsedEncoding);
+
+  // allow for selection of more than one file
+  openFileDialog->setMode(QFileDialog::AnyFile);
+  openFileDialog->setAcceptMode(QFileDialog::AcceptSave); 
+  openFileDialog->setConfirmOverwrite( true ); 
+
+  if (haveLastUsedFilter)       // set the filter to the last one used
+  {
+    openFileDialog->selectFilter(lastUsedFilter);
+  }
+
+  if (openFileDialog->exec() != QDialog::Accepted)
+  {
+    delete openFileDialog;
+    return;
+  }
+
+  filename = openFileDialog->selectedFile();
+  enc = openFileDialog->encoding();
+
+  // If the file exists, delete it otherwise we'll end up loading that
+  // file, which can cause problems (e.g., if the file contains
+  // linestrings, but we're wanting to create points, we'll end up
+  // with a linestring file).
+  QFile::remove(filename);
+
+  settings.writeEntry("/UI/lastVectorFileFilter", openFileDialog->selectedFilter());
+
+  settings.writeEntry("/UI/lastVectorFileFilterDir", openFileDialog->directory().absolutePath());
+  settings.writeEntry("/UI/encoding", openFileDialog->encoding());
+
+  delete openFileDialog;
+
+  //try to create the new layer with OGRProvider instead of QgsVectorFileWriter
+  QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
+  QString ogrlib = pReg->library("ogr");
+  // load the data provider
+  QLibrary* myLib = new QLibrary((const char *) ogrlib);
+  bool loaded = myLib->load();
+  if (loaded)
+  {
+#ifdef QGISDEBUG
+    qWarning("ogr provider loaded");
+#endif
+    typedef bool (*createEmptyDataSourceProc)(const QString&, const QString&, const QString&, QGis::WKBTYPE, \
+        const std::list<std::pair<QString, QString> >&);
+    createEmptyDataSourceProc createEmptyDataSource=(createEmptyDataSourceProc)myLib->resolve("createEmptyDataSource");
+    if(createEmptyDataSource)
+    {
+#if 0
+      if(geometrytype == QGis::WKBPoint)
+      {
+        createEmptyDataSource(filename,fileformat, enc, QGis::WKBPoint, attributes);
+      }
+      else if (geometrytype == QGis::WKBLineString)
+      {
+        createEmptyDataSource(filename,fileformat, enc, QGis::WKBLineString, attributes);
+      }
+      else if(geometrytype == QGis::WKBPolygon)
+      {
+        createEmptyDataSource(filename,fileformat, enc, QGis::WKBPolygon, attributes);
+      }
+#endif
+      if(geometrytype != QGis::WKBUnknown)
+	{
+	  createEmptyDataSource(filename,fileformat, enc, geometrytype, attributes);
+	}
+      else
+	{
+#ifdef QGISDEBUG
+	  qWarning("QgisApp.cpp: geometry type not recognised");
+#endif
+	  return;
+	}
+    }
+    else
+    {
+#ifdef QGISDEBUG
+      qWarning("Resolving newEmptyDataSource(...) failed");;
+#endif
+    }
+  }
+
+  //then add the layer to the view
+  QStringList filelist;
+  filelist.append(filename);
+  addLayer(filelist, enc);
+  return;
+}
+
+void QgisApp::fileOpen()
+{
+  // possibly save any pending work before opening a new project
+  if (saveDirty())
+  {
+    // Retrieve last used project dir from persistent settings
+    QSettings settings;
+    QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
+
+    QFileDialog * openFileDialog = new QFileDialog(this,
+        tr("Choose a QGIS project file to open"),
+        lastUsedDir, QObject::tr("QGis files (*.qgs)"));
+    openFileDialog->setMode(QFileDialog::ExistingFile);
+
+
+    QString fullPath;
+    if (openFileDialog->exec() == QDialog::Accepted)
+    {
+      // Fix by Tim - getting the dirPath from the dialog
+      // directly truncates the last node in the dir path.
+      // This is a workaround for that
+      fullPath = openFileDialog->selectedFile();
+      QFileInfo myFI(fullPath);
+      QString myPath = myFI.dirPath();
+      // Persist last used project dir
+      settings.writeEntry("/UI/lastProjectDir", myPath);
+    }
+    else 
+    {
+      // if they didn't select anything, just return
+      delete openFileDialog;
+      return;
+    }
+
+    delete openFileDialog;
+
+    // clear out any stuff from previous project
+    removeAllLayers();
+
+    QgsProject::instance()->filename( fullPath );
+
+    try 
+    {
+      if ( QgsProject::instance()->read() )
+      {
+        setTitleBarText_( *this );
+        emit projectRead();     // let plug-ins know that we've read in a new
+        // project so that they can check any project
+        // specific plug-in state
+
+        // add this to the list of recently used project files
+        saveRecentProjectPath(fullPath, settings);
+      }
+    }
+    catch ( QgsProjectBadLayerException & e )
+    {
+      QMessageBox::critical(this, 
+          tr("QGIS Project Read Error"), 
+          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) );
+      qDebug( "%s:%d %d bad layers found", __FILE__, __LINE__, static_cast<int>(e.layers().size()) );
+
+      // attempt to find the new locations for missing layers
+      // XXX vector file hard-coded -- but what if it's raster?
+      findLayers_( mVectorFileFilter, e.layers() );
+    }
+    catch ( std::exception & e )
+    {
+      QMessageBox::critical(this, 
+          tr("QGIS Project Read Error"), 
+          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) );
+      qDebug( "%s:%d BAD LAYERS FOUND", __FILE__, __LINE__ );
+    }
+  }
+
+} // QgisApp::fileOpen
+
+
+
+/**
+  adds a saved project to qgis, usually called on startup by specifying a
+  project file on the command line
+  */
+bool QgisApp::addProject(QString projectFile)
+{
+  mMapCanvas->freeze(true);
+
+  // clear the map canvas
+  removeAllLayers();
+
+  try
+  {
+    if ( QgsProject::instance()->read( projectFile ) )
+    {
+      setTitleBarText_( *this );
+      int  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
+      int  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
+      int  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
+      QColor myColor = QColor(myRedInt,myGreenInt,myBlueInt);
+      mMapCanvas->setCanvasColor(myColor); //this is fill colour before rendering starts
+      qDebug("Canvas background color restored...");
+
+      emit projectRead(); // let plug-ins know that we've read in a new
+      // project so that they can check any project
+      // specific plug-in state
+
+      // add this to the list of recently used project files
+      QSettings settings;
+      saveRecentProjectPath(projectFile, settings);
+    }
+    else
+    {
+      mMapCanvas->freeze(false);
+      mMapCanvas->refresh();
+      return false;
+    }
+  }
+  catch ( QgsProjectBadLayerException & e )
+  {
+    qDebug( "%s:%d %d bad layers found", __FILE__, __LINE__, static_cast<int>(e.layers().size()) );
+
+    if ( QMessageBox::Ok == QMessageBox::critical( this, 
+          tr("QGIS Project Read Error"), 
+          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) + "\n" +
+          tr("Try to find missing layers?"),
+          QMessageBox::Ok | QMessageBox::Cancel ) )
+    {
+      qDebug( "%s:%d want to find missing layers is true", __FILE__, __LINE__ );
+
+      // attempt to find the new locations for missing layers
+      // XXX vector file hard-coded -- but what if it's raster?
+      findLayers_( mVectorFileFilter, e.layers() );
+    }
+
+  }
+  catch ( std::exception & e )
+  {
+    qDebug( "%s:%d BAD LAYERS FOUND", __FILE__, __LINE__ );
+
+    QMessageBox::critical( this, 
+        tr("Unable to open project"), QString::fromLocal8Bit( e.what() ) );
+
+    mMapCanvas->freeze(false);
+    mMapCanvas->refresh();
+    return false;
+  }
+
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+  return true;
+} // QgisApp::addProject(QString projectFile)
+
+
+
+bool QgisApp::fileSave()
+{
+  // if we don't have a filename, then obviously we need to get one; note
+  // that the project file name is reset to null in fileNew()
+  QFileInfo fullPath;
+
+  // we need to remember if this is a new project so that we know to later
+  // update the "last project dir" settings; we know it's a new project if
+  // the current project file name is empty
+  bool isNewProject = false;
+
+  if ( QgsProject::instance()->filename().isNull() )
+  {
+    isNewProject = true;
+
+    // Retrieve last used project dir from persistent settings
+    QSettings settings;
+    QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
+
+    std::auto_ptr<QFileDialog> saveFileDialog( new QFileDialog(this,
+        tr("Choose a QGIS project file"),
+        lastUsedDir, QObject::tr("QGis files (*.qgs)")) );
+
+    saveFileDialog->setMode(QFileDialog::AnyFile);
+    saveFileDialog->setAcceptMode(QFileDialog::AcceptSave); 
+    saveFileDialog->setConfirmOverwrite( true ); 
+
+    if (saveFileDialog->exec() == QDialog::Accepted)
+    {
+      fullPath.setFile( saveFileDialog->selectedFile() );
+    }
+    else 
+    {
+      // if they didn't select anything, just return
+      // delete saveFileDialog; auto_ptr auto destroys
+      return false;
+    }
+
+    // make sure we have the .qgs extension in the file name
+    if( "qgs" != fullPath.extension( false ) )
+    {
+      QString newFilePath = fullPath.filePath() + ".qgs";
+      fullPath.setFile( newFilePath );
+    }
+
+
+    QgsProject::instance()->filename( fullPath.filePath() );
+  }
+
+  try
+  {
+    if ( QgsProject::instance()->write() )
+    {
+      setTitleBarText_(*this); // update title bar
+      statusBar()->message(tr("Saved project to:") + " " + QgsProject::instance()->filename() );
+
+      if (isNewProject)
+      {
+        // add this to the list of recently used project files
+        QSettings settings;
+        saveRecentProjectPath(fullPath.filePath(), settings);
+      }
+    }
+    else
+    {
+      QMessageBox::critical(this,
+          tr("Unable to save project"),
+          tr("Unable to save project to ") + QgsProject::instance()->filename() );
+    }
+  }
+  catch ( std::exception & e )
+  {
+    QMessageBox::critical( this,
+        tr("Unable to save project ") + QgsProject::instance()->filename(),
+        QString::fromLocal8Bit( e.what() ) );
+  }
+  return true;
+} // QgisApp::fileSave
+
+
+
+void QgisApp::fileSaveAs()
+{
+  // Retrieve last used project dir from persistent settings
+  QSettings settings;
+  QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
+
+  auto_ptr<QFileDialog> saveFileDialog( new QFileDialog(this,
+      tr("Choose a filename to save the QGIS project file as"),
+      lastUsedDir, QObject::tr("QGis files (*.qgs)")) );
+
+  saveFileDialog->setMode(QFileDialog::AnyFile);
+
+  saveFileDialog->setAcceptMode(QFileDialog::AcceptSave);
+
+  saveFileDialog->setConfirmOverwrite( true );
+
+  // if we don't have a filename, then obviously we need to get one; note
+  // that the project file name is reset to null in fileNew()
+  QFileInfo fullPath;
+
+  if (saveFileDialog->exec() == QDialog::Accepted)
+  {
+    // Fix by Tim - getting the dirPath from the dialog
+    // directly truncates the last node in the dir path.
+    // This is a workaround for that
+    fullPath.setFile(saveFileDialog->selectedFile());
+    QString myPath = fullPath.dirPath();
+    // Persist last used project dir
+    settings.writeEntry("/UI/lastProjectDir", myPath);
+  } 
+  else
+  {
+    // if they didn't select anything, just return
+    // delete saveFileDialog; auto_ptr auto deletes
+    return;
+  }
+
+  // make sure the .qgs extension is included in the path name. if not, add it...
+  if( "qgs" != fullPath.extension( false ) )
+  {
+    QString newFilePath = fullPath.filePath() + ".qgs";
+    fullPath.setFile( newFilePath );
+  }
+
+  try
+  {
+    QgsProject::instance()->filename( fullPath.filePath() );
+
+    if ( QgsProject::instance()->write() )
+    {
+      setTitleBarText_(*this); // update title bar
+      statusBar()->message(tr("Saved project to:") + " " + QgsProject::instance()->filename() );
+      // add this to the list of recently used project files
+      saveRecentProjectPath(fullPath.filePath(), settings);
+    }
+    else
+    {
+      QMessageBox::critical(this,
+          tr("Unable to save project"),
+          tr("Unable to save project to ") + QgsProject::instance()->filename() );
+    }
+  }
+  catch ( std::exception & e )
+  {
+    QMessageBox::critical( 0x0,
+        tr("Unable to save project ") + QgsProject::instance()->filename(),
+        QString::fromLocal8Bit( e.what() ),
+        QMessageBox::Ok,
+        Qt::NoButton );
+  }
+} // QgisApp::fileSaveAs
+
+
+
+
+
+
+// Open the project file corresponding to the
+// path at the given index in mRecentProjectPaths
+void QgisApp::openProject(QAction *action)
+{
+
+  // possibly save any pending work before opening a different project
+  QString debugme;
+  assert(action != NULL);
+
+  debugme = action->text();
+
+  if (saveDirty())
+  {
+    addProject(debugme);
+
+  }
+  //set the projections enabled icon in the status bar
+  int myProjectionEnabledFlag =
+    QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0);
+  mMapCanvas->mapRender()->setProjectionsEnabled(myProjectionEnabledFlag);
+
+} // QgisApp::openProject
+
+/**
+  Open the specified project file; prompt to save previous project if necessary.
+  Used to process a commandline argument or OpenDocument AppleEvent.
+  */
+void QgisApp::openProject(const QString & fileName)
+{
+  // possibly save any pending work before opening a different project
+  if (saveDirty())
+  {
+    try
+    {
+      if ( ! addProject(fileName) )
+      {
+#ifdef QGISDEBUG
+        std::cerr << "unable to load project " << fileName.toLocal8Bit().data() << "\n";
+#endif
+      }
+      else
+      {
+      }
+    }
+    catch ( QgsIOException & io_exception )
+    {
+      QMessageBox::critical( this, 
+          tr("QGIS: Unable to load project"), 
+          tr("Unable to load project ") + fileName );
+    }
+  }
+  return ;
+}
+
+
+/**
+  Open a raster or vector file; ignore other files.
+  Used to process a commandline argument or OpenDocument AppleEvent.
+  @returns true if the file is successfully opened
+  */
+bool QgisApp::openLayer(const QString & fileName)
+{
+  QFileInfo fileInfo(fileName);
+  // try to load it as raster
+  bool ok = false;
+  CPLPushErrorHandler(CPLQuietErrorHandler); 
+  if (QgsRasterLayer::isValidRasterFileName(fileName))
+    ok = addRasterLayer(fileInfo, false);
+  else // nope - try to load it as a shape/ogr
+    ok = addLayer(fileInfo);
+  CPLPopErrorHandler();
+
+  if (!ok)
+  {
+    // we have no idea what this file is...
+    std::cout << "Unable to load " << fileName.toLocal8Bit().data() << std::endl;
+  }
+
+  return ok;
+}
+
+
+/*
+   void QgisApp::filePrint()
+   {
+//
+//  Warn the user first that priting is experimental still
+//
+QString myHeading = "QGIS Printing Support is Experimental";
+QString myMessage = "Please note that printing only works on A4 landscape at the moment.\n";
+myMessage += "For other page sizes your mileage may vary.\n";
+QMessageBox::information( this, tr(myHeading),tr(myMessage) );
+
+QPrinter myQPrinter;
+if(myQPrinter.setup(this))
+{
+#ifdef QGISDEBUG
+std::cout << ".............................." << std::endl;
+std::cout << "...........Printing..........." << std::endl;
+std::cout << ".............................." << std::endl;
+#endif
+// Ithought we could just do this:
+//mMapCanvas->render(&myQPrinter);
+//but it doesnt work so now we try this....
+QPaintDeviceMetrics myMetrics( &myQPrinter ); // need width/height of printer surface
+std::cout << "Print device width: " << myMetrics.width() << std::endl;
+std::cout << "Print device height: " << myMetrics.height() << std::endl;
+QPainter myQPainter;
+myQPainter.begin( &myQPrinter );
+QPixmap myQPixmap(myMetrics.width(),myMetrics.height());
+myQPixmap.fill();
+mMapCanvas->freeze(false);
+mMapCanvas->setDirty(true);
+mMapCanvas->render(&myQPixmap);
+myQPainter.drawPixmap(0,0, myQPixmap);
+myQPainter.end();
+}
+}
+*/
+
+void QgisApp::filePrint()
+{
+  mComposer->open();
+  mComposer->zoomFull();
+}
+
+void QgisApp::saveMapAsImage()
+{
+  //create a map to hold the QImageIO names and the filter names
+  //the QImageIO name must be passed to the mapcanvas saveas image function
+  typedef QMap<QString, QString> FilterMap;
+  FilterMap myFilterMap;
+
+  //find out the last used filter
+  QSettings myQSettings;  // where we keep last used filter in persistant state
+  QString myLastUsedFilter = myQSettings.readEntry("/UI/saveAsImageFilter");
+  QString myLastUsedDir = myQSettings.readEntry("/UI/lastSaveAsImageDir",".");
+
+
+  // get a list of supported output image types
+  int myCounterInt=0;
+  QString myFilters;
+  QList<QByteArray> formats = QPictureIO::outputFormats();
+  // Workaround for a problem with Qt4 - calls to outputFormats tend
+  // to return nothing :(
+  if (formats.count() == 0)
+  {
+    formats.append("png");
+    formats.append("jpg");
+  }
+
+  for ( ; myCounterInt < formats.count(); myCounterInt++ )
+  {
+    QString myFormat=QString(formats.at( myCounterInt ));
+    QString myFilter = createFileFilter_(myFormat + " format", "*."+myFormat);
+    myFilters += myFilter;
+    myFilterMap[myFilter] = myFormat;
+  }
+#ifdef QGISDEBUG
+  std::cout << "Available Filters Map: " << std::endl;
+  FilterMap::Iterator myIterator;
+  for ( myIterator = myFilterMap.begin(); myIterator != myFilterMap.end(); ++myIterator )
+  {
+    std::cout << myIterator.key().toLocal8Bit().data() << "  :  " << myIterator.data().toLocal8Bit().data() << std::endl;
+  }
+
+#endif
+
+  //create a file dialog using the the filter list generated above
+  std::auto_ptr < QFileDialog > myQFileDialog( new QFileDialog(this,
+      tr("Choose a filename to save the map image as"),
+      myLastUsedDir, myFilters) );
+
+  // allow for selection of more than one file
+  myQFileDialog->setMode(QFileDialog::AnyFile);
+
+  myQFileDialog->setAcceptMode(QFileDialog::AcceptSave);
+
+  myQFileDialog->setConfirmOverwrite( true );
+
+
+  if (!myLastUsedFilter.isEmpty())       // set the filter to the last one used
+  {
+    myQFileDialog->selectFilter(myLastUsedFilter);
+  }
+
+
+  //prompt the user for a filename
+  QString myOutputFileNameQString; // = myQFileDialog->getSaveFileName(); //delete this
+  if (myQFileDialog->exec() == QDialog::Accepted)
+  {
+    myOutputFileNameQString = myQFileDialog->selectedFile();
+  }
+
+  QString myFilterString = myQFileDialog->selectedFilter()+";;";
+#ifdef QGISDEBUG
+
+  std::cout << "Selected filter: " << myFilterString.toLocal8Bit().data() << std::endl;
+  std::cout << "Image type to be passed to mapcanvas: " << (myFilterMap[myFilterString]).toLocal8Bit().data() << std::endl;
+#endif
+
+  // Add the file type suffix to the filename if required
+  if (!myOutputFileNameQString.endsWith(myFilterMap[myFilterString]))
+  {
+    myOutputFileNameQString += "." + myFilterMap[myFilterString];
+  }
+
+  myQSettings.writeEntry("/UI/lastSaveAsImageFilter" , myFilterString);
+  myQSettings.writeEntry("/UI/lastSaveAsImageDir", myQFileDialog->directory().absolutePath());
+
+  if ( myOutputFileNameQString !="")
+  {
+
+    //save the mapview to the selected file
+    mMapCanvas->saveAsImage(myOutputFileNameQString,NULL,myFilterMap[myFilterString]);
+    statusBar()->message(tr("Saved map image to") + " " + myOutputFileNameQString);
+  }
+
+} // saveMapAsImage
+
+
+
+//overloaded version of the above function
+void QgisApp::saveMapAsImage(QString theImageFileNameQString, QPixmap * theQPixmap)
+{
+  if ( theImageFileNameQString=="")
+  {
+    //no filename chosen
+    return;
+  }
+  else
+  {
+    //force the size of the canvase
+    mMapCanvas->resize(theQPixmap->width(), theQPixmap->height());
+    //save the mapview to the selected file
+    mMapCanvas->saveAsImage(theImageFileNameQString,theQPixmap);
+  }
+} // saveMapAsImage
+
+
+//reimplements method from base (gui) class
+void QgisApp::addAllToOverview()
+{
+  if(mMapLegend)
+    {
+      mMapLegend->setOverviewAllLayers(true);
+    }
+ 
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+//reimplements method from base (gui) class
+void QgisApp::removeAllFromOverview()
+{
+  if(mMapLegend)
+    {
+      mMapLegend->setOverviewAllLayers(false);
+    }
+ 
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+
+//reimplements method from base (gui) class
+void QgisApp::hideAllLayers()
+{
+#ifdef QGISDEBUG
+  std::cout << "hiding all layers!" << std::endl;
+#endif
+
+  legend()->selectAll(false);
+}
+
+
+// reimplements method from base (gui) class
+void QgisApp::showAllLayers()
+{
+#ifdef QGISDEBUG
+  std::cout << "Showing all layers!" << std::endl;
+#endif
+
+  legend()->selectAll(true);
+}
+
+void QgisApp::exportMapServer()
+{
+  // check to see if there are any layers to export
+  // Possibly we may reinstate this in the future if we provide 'active project' export again
+  //if (mMapCanvas->layerCount() > 0)
+  //{
+    QString myMSExportPath = QgsApplication::msexportAppPath(); 
+    QProcess *process = new QProcess;
+#ifdef WIN32
+    // quote the application path on windows
+    myMSExportPath = QString("\"") + myMSExportPath + QString("\"");
+#endif
+    process->start(myMSExportPath);
+
+    // Delete this object if the process terminates
+    connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), 
+        SLOT(processExited()));
+
+    // Delete the process if the application quits
+    connect(qApp, SIGNAL(aboutToQuit()), process, SLOT(terminate()));
+
+  //}
+  //else
+  //{
+  //  QMessageBox::warning(this, tr("No Map Layers"),
+  //      tr("No layers to export. You must add at least one layer to the map in order to export the view."));
+  //}
+}
+
+
+
+void QgisApp::zoomIn()
+{
+  QgsDebugMsg ("Setting map tool to zoomIn");
+  
+  mMapCanvas->setMapTool(mMapTools.mZoomIn);
+
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+
+void QgisApp::zoomOut()
+{
+  mMapCanvas->setMapTool(mMapTools.mZoomOut);
+
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+void QgisApp::zoomToSelected()
+{
+  mMapCanvas->zoomToSelected();
+
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+void QgisApp::pan()
+{
+  mMapCanvas->setMapTool(mMapTools.mPan);
+}
+
+void QgisApp::zoomFull()
+{
+  mMapCanvas->zoomFullExtent();
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+
+}
+
+void QgisApp::zoomPrevious()
+{
+  mMapCanvas->zoomPreviousExtent();
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+
+}
+
+void QgisApp::identify()
+{
+  mMapCanvas->setMapTool(mMapTools.mIdentify);
+}
+
+void QgisApp::measure()
+{
+  mMapCanvas->setMapTool(mMapTools.mMeasureDist);
+}
+
+void QgisApp::measureArea()
+{
+  mMapCanvas->setMapTool(mMapTools.mMeasureArea);
+}
+
+
+
+void QgisApp::attributeTable()
+{
+  mMapLegend->legendLayerAttributeTable();
+}
+
+void QgisApp::deleteSelected()
+{
+  QgsMapLayer *layer = mMapLegend->currentLayer();
+  if(!layer)
+  {
+    QMessageBox::information(this, tr("No Layer Selected"),
+                              tr("To delete features, you must select a vector layer in the legend"));
+    return;
+  }
+    
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(layer);
+  if(!vlayer)
+  {
+    QMessageBox::information(this, tr("No Vector Layer Selected"),
+                              tr("Deleting features only works on vector layers"));
+    return;
+  }
+      
+  if(!(vlayer->getDataProvider()->capabilities() & QgsVectorDataProvider::DeleteFeatures))
+  {
+    QMessageBox::information(this, tr("Provider does not support deletion"), 
+                            tr("Data provider does not support deleting features"));
+    return;
+  }
+
+  if(!vlayer->isEditable())
+  {
+    QMessageBox::information(this, tr("Layer not editable"), 
+                             tr("The current layer is not editable. Choose 'Start editing' in the digitizing toolbar."));
+    return;
+  }
+
+  
+  if(!vlayer->deleteSelectedFeatures())
+  {
+    QMessageBox::information(this, tr("Problem deleting features"),
+        tr("A problem occured during deletion of features"));
+  }
+
+  // notify the project we've made a change
+  QgsProject::instance()->dirty(true);
+}
+
+void QgisApp::capturePoint()
+{
+  // set current map tool to select
+  mMapCanvas->setMapTool(mMapTools.mCapturePoint);
+  
+  // FIXME: is this still actual or something old that's not used anymore?
+  //connect(t, SIGNAL(xyClickCoordinates(QgsPoint &)), this, SLOT(showCapturePointCoordinate(QgsPoint &)));
+}
+
+void QgisApp::captureLine()
+{
+  mMapCanvas->setMapTool(mMapTools.mCaptureLine);
+}
+
+void QgisApp::capturePolygon()
+{
+  mMapCanvas->setMapTool(mMapTools.mCapturePolygon);
+}
+
+void QgisApp::select()
+{
+  mMapCanvas->setMapTool(mMapTools.mSelect);
+}
+
+
+void QgisApp::addVertex()
+{
+  mMapCanvas->setMapTool(mMapTools.mVertexAdd);
+  
+}
+
+void QgisApp::moveVertex()
+{
+  mMapCanvas->setMapTool(mMapTools.mVertexMove);
+}
+
+void QgisApp::addRing()
+{
+  mMapCanvas->setMapTool(mMapTools.mAddRing);
+}
+
+void QgisApp::addIsland()
+{
+  mMapCanvas->setMapTool(mMapTools.mAddIsland);
+}
+
+
+void QgisApp::deleteVertex()
+{
+  mMapCanvas->setMapTool(mMapTools.mVertexDelete);
+}
+
+
+void QgisApp::editCut(QgsMapLayer * layerContainingSelection)
+{
+  QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ?
+                                 (layerContainingSelection) :
+                                 (activeLayer());
+
+  if (selectionLayer)
+  {
+    // Test for feature support in this layer
+    QgsVectorLayer* selectionVectorLayer = dynamic_cast<QgsVectorLayer*>(selectionLayer);
+
+    if (selectionVectorLayer != 0)
+    {
+      QgsFeatureList features = selectionVectorLayer->selectedFeatures();
+      clipboard()->replaceWithCopyOf( selectionVectorLayer->getDataProvider()->fields(), features );
+      selectionVectorLayer->deleteSelectedFeatures();
+    }
+  }
+}
+
+
+void QgisApp::editCopy(QgsMapLayer * layerContainingSelection)
+{
+  QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ?
+                                 (layerContainingSelection) :
+                                 (activeLayer());
+
+  if (selectionLayer)
+  {
+    // Test for feature support in this layer
+    QgsVectorLayer* selectionVectorLayer = dynamic_cast<QgsVectorLayer*>(selectionLayer);
+
+    if (selectionVectorLayer != 0)
+    {
+      QgsFeatureList features = selectionVectorLayer->selectedFeatures();
+      clipboard()->replaceWithCopyOf( selectionVectorLayer->getDataProvider()->fields(), features );
+    }
+  }
+}
+
+
+void QgisApp::editPaste(QgsMapLayer * destinationLayer)
+{
+  QgsMapLayer * pasteLayer = (destinationLayer != 0) ?
+                             (destinationLayer) :
+                             (activeLayer());
+
+  if (pasteLayer)
+  {
+    // Test for feature support in this layer
+    QgsVectorLayer* pasteVectorLayer = dynamic_cast<QgsVectorLayer*>(pasteLayer);
+
+    if (pasteVectorLayer != 0)
+    {
+      pasteVectorLayer->addFeatures( clipboard()->copyOf() );
+      mMapCanvas->refresh();
+    }
+  }
+}
+
+
+void QgisApp::pasteTransformations()
+{
+  QgsPasteTransformations *pt = new QgsPasteTransformations();
+
+  mMapCanvas->freeze();
+
+  pt->exec();
+}
+
+
+void QgisApp::refreshMapCanvas()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgisApp:refreshMapCanvas" << std::endl;
+#endif
+
+  mMapCanvas->refresh();
+}
+
+void QgisApp::toggleEditing()
+{
+  QgsLegendLayerFile* currentLayerFile = mMapLegend->currentLayerFile();
+  if(currentLayerFile)
+    {
+      currentLayerFile->toggleEditing();
+    }
+  else
+    {
+      mActionToggleEditing->setChecked(false);
+    }
+}
+
+void QgisApp::showMouseCoordinate(QgsPoint & p)
+{
+  mCoordsLabel->setText(p.stringRep(mMousePrecisionDecimalPlaces));
+  // Set minimum necessary width
+  if ( mCoordsLabel->width() > mCoordsLabel->minimumWidth() )
+  {
+    mCoordsLabel->setMinimumWidth(mCoordsLabel->width());
+  }
+}
+
+void QgisApp::showScale(double theScale)
+{
+  if (theScale >= 1.0)
+    mScaleEdit->setText("1:" + QString::number(theScale, 'f', 0));
+  else if (theScale > 0.0)
+    mScaleEdit->setText(QString::number(1.0/theScale, 'f', 0) + ":1");
+  else
+    mScaleEdit->setText(tr("Invalid scale"));
+
+   // Set minimum necessary width
+  if ( mScaleEdit->width() > mScaleEdit->minimumWidth() )
+  {
+    mScaleEdit->setMinimumWidth(mScaleEdit->width());
+  }
+}
+
+void QgisApp::userScale()
+{
+  double currentScale = mMapCanvas->getScale();
+
+  QStringList parts = mScaleEdit->text().split(':');
+  if (parts.size() == 2)
+  {
+    bool leftOk, rightOk;
+    double leftSide = parts.at(0).toDouble(&leftOk);
+    double rightSide = parts.at(1).toDouble(&rightOk);
+    if (leftSide > 0.0 && leftOk && rightOk)
+    {
+       double wantedScale = rightSide / leftSide;
+       mMapCanvas->zoom(wantedScale/currentScale);
+    }
+  }
+}
+void QgisApp::testButton()
+{
+  /* QgsShapeFileLayer *sfl = new QgsShapeFileLayer("foo");
+     mMapCanvas->addLayer(sfl); */
+  //      delete sfl;
+
+}
+
+void QgisApp::menubar_highlighted( int i )
+{
+  // used to save us from re-enabling layer menu items every single time the
+  // user tweaks the layers drop down menu
+  static bool enabled;
+
+  if ( 6 == i )               // XXX I hate magic numbers; where is '6' defined
+    // XXX for Layers menu?
+  {
+    // first, if there are NO layers, disable everything that assumes we
+    // have at least one layer loaded
+    if ( QgsMapLayerRegistry::instance()->mapLayers().empty() )
+    {
+      mActionRemoveLayer->setEnabled(false);
+      mActionRemoveAllFromOverview->setEnabled(false);
+      mActionInOverview->setEnabled(false);
+      mActionShowAllLayers->setEnabled(false);
+      mActionHideAllLayers->setEnabled(false);
+      mActionOpenTable->setEnabled(false);
+      mActionLayerProperties->setEnabled(false);
+
+      enabled = false;
+    }
+    else
+    {
+      if ( ! enabled )
+      {
+        mActionRemoveLayer->setEnabled(true);
+        mActionRemoveAllFromOverview->setEnabled(true);
+        mActionInOverview->setEnabled(true);
+        mActionShowAllLayers->setEnabled(true);
+        mActionHideAllLayers->setEnabled(true);
+        mActionOpenTable->setEnabled(true);
+        mActionLayerProperties->setEnabled(true);
+      }
+    }
+  }
+} // QgisApp::menubar_highlighted( int i )
+
+
+
+
+// toggle overview status
+void QgisApp::inOverview()
+{
+  mMapLegend->legendLayerShowInOverview();
+}
+
+void QgisApp::removeLayer()
+{
+  mMapLegend->legendLayerRemove();
+}
+
+
+void QgisApp::removeAllLayers()
+{
+  QgsMapLayerRegistry::instance()->removeAllMapLayers();
+  mMapCanvas->refresh();
+} //remove all layers
+
+
+void QgisApp::zoomToLayerExtent()
+{
+  mMapLegend->legendLayerZoom();
+}
+
+
+void QgisApp::showPluginManager()
+{
+  QgsPluginManager *pm = new QgsPluginManager(this);
+  if (pm->exec())
+  {
+    // load selected plugins
+    std::vector < QgsPluginItem > pi = pm->getSelectedPlugins();
+    std::vector < QgsPluginItem >::iterator it = pi.begin();
+    while (it != pi.end())
+    {
+      QgsPluginItem plugin = *it;
+      if (plugin.isPython())
+      {
+        loadPythonPlugin(plugin.fullPath(), plugin.name());
+      }
+      else
+      {
+        loadPlugin(plugin.name(), plugin.description(), plugin.fullPath());
+      }
+      it++;
+    }
+  }
+}
+
+void QgisApp::loadPythonPlugin(QString packageName, QString pluginName)
+{
+#ifdef HAVE_PYTHON
+  if (!QgsPythonUtils::isEnabled())
+    return;
+  
+  QgsDebugMsg("I should load python plugin: " + pluginName + " (package: " + packageName + ")");
+  
+  QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
+  
+  // is loaded already?
+  if (pRegistry->library(pluginName).isEmpty())
+  {
+    QgsPythonUtils::loadPlugin(packageName);
+    QgsPythonUtils::startPlugin(packageName);
+  
+    // TODO: test success
+  
+    // add to plugin registry
+    pRegistry->addPythonPlugin(packageName, pluginName);
+  
+    // add to settings
+    QSettings settings;
+    settings.writeEntry("/PythonPlugins/" + packageName, true);
+  }
+  
+
+#else
+  QgsDebugMsg("Python is not enabled in QGIS.");
+#endif
+}
+
+void QgisApp::loadPlugin(QString name, QString description, QString theFullPathName)
+{
+  QSettings settings;
+  // first check to see if its already loaded
+  QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
+  QString lib = pRegistry->library(name);
+  if (lib.length() > 0)
+  {
+    // plugin is loaded
+    // QMessageBox::warning(this, "Already Loaded", description + " is already loaded");
+  }
+  else
+  {
+    QLibrary *myLib = new QLibrary(theFullPathName);
+#ifdef QGISDEBUG
+
+    std::cerr << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
+#endif
+
+    bool loaded = myLib->load();
+    if (loaded)
+    {
+#ifdef QGISDEBUG
+      std::cerr << "Loaded test plugin library" << std::endl;
+      std::cerr << "Attempting to resolve the classFactory function" << std::endl;
+#endif
+
+      type_t *pType = (type_t *) myLib->resolve("type");
+
+
+      switch (pType())
+      {
+        case QgisPlugin::RENDERER:
+        case QgisPlugin::UI:
+          {
+            // UI only -- doesn't use mapcanvas
+            create_ui *cf = (create_ui *) myLib->resolve("classFactory");
+            if (cf)
+            {
+              QgisPlugin *pl = cf(mQgisInterface);
+              if (pl)
+              {
+                pl->initGui();
+                // add it to the plugin registry
+                pRegistry->addPlugin(myLib->library(), name, pl);
+                //add it to the qsettings file [ts]
+                settings.writeEntry("/Plugins/" + name, true);
+              }
+              else
+              {
+                // something went wrong
+                QMessageBox::warning(this, tr("Error Loading Plugin"), tr("There was an error loading %1."));
+                //disable it to the qsettings file [ts]
+                settings.writeEntry("/Plugins/" + name, false);
+              }
+            }
+            else
+            {
+              //#ifdef QGISDEBUG
+              std::cerr << "Unable to find the class factory for " << theFullPathName.toLocal8Bit().data() << std::endl;
+              //#endif
+            }
+
+          }
+          break;
+        case QgisPlugin::MAPLAYER:
+          {
+            // Map layer - requires interaction with the canvas
+            create_it *cf = (create_it *) myLib->resolve("classFactory");
+            if (cf)
+            {
+              QgsMapLayerInterface *pl = cf();
+              if (pl)
+              {
+                // set the main window pointer for the plugin
+                pl->setQgisMainWindow(this);
+                pl->initGui();
+                //add it to the qsettings file [ts]
+                settings.writeEntry("/Plugins/" + name, true);
+
+              }
+              else
+              {
+                // something went wrong
+                QMessageBox::warning(this, tr("Error Loading Plugin"), tr("There was an error loading %1."));
+                //add it to the qsettings file [ts]
+                settings.writeEntry("/Plugins/" + name, false);
+              }
+            }
+            else
+            {
+              //#ifdef QGISDEBUG
+              std::cerr << "Unable to find the class factory for " << theFullPathName.toLocal8Bit().data() << std::endl;
+              //#endif
+            }
+          }
+          break;
+        default:
+          // type is unknown
+          //#ifdef QGISDEBUG
+          std::cerr << "Plugin " << theFullPathName.toLocal8Bit().data() << " did not return a valid type and cannot be loaded" << std::endl;
+          //#endif
+          break;
+      }
+
+      /*  }else{
+          std::cout << "Unable to find the class factory for " << mFullPathName << std::endl;
+          } */
+
+  }
+  else
+  {
+    //#ifdef QGISDEBUG
+    std::cerr << "Failed to load " << theFullPathName.toLocal8Bit().data() << "\n";
+    //#endif
+  }
+  delete myLib;
+}
+}
+void QgisApp::testMapLayerPlugins()
+{
+#ifndef WIN32
+  // map layer plugins live in their own directory (somewhere to be determined)
+  QDir mlpDir("../plugins/maplayer", "*.so.1.0.0", QDir::Name | QDir::IgnoreCase, QDir::Files);
+  if (mlpDir.count() == 0)
+  {
+    QMessageBox::information(this, tr("No MapLayer Plugins"), tr("No MapLayer plugins in ../plugins/maplayer"));
+  }
+  else
+  {
+    for (unsigned i = 0; i < mlpDir.count(); i++)
+    {
+#ifdef QGISDEBUG
+      std::cout << "Getting information for plugin: " << mlpDir[i].toLocal8Bit().data() << std::endl;
+      std::cout << "Attempting to load the plugin using dlopen\n";
+#endif
+      //          void *handle = dlopen("../plugins/maplayer/" + mlpDir[i], RTLD_LAZY);
+      void *handle = dlopen(("../plugins/maplayer/" + mlpDir[i]).toLocal8Bit().data(), RTLD_LAZY | RTLD_GLOBAL );
+      if (!handle)
+      {
+#ifdef QGISDEBUG
+        std::cout << "Error in dlopen: " << dlerror() << std::endl;
+#endif
+
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "dlopen suceeded" << std::endl;
+#endif
+
+        dlclose(handle);
+      }
+
+      QLibrary *myLib = new QLibrary("../plugins/maplayer/" + mlpDir[i]);
+#ifdef QGISDEBUG
+
+      std::cout << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
+#endif
+
+      bool loaded = myLib->load();
+      if (loaded)
+      {
+#ifdef QGISDEBUG
+        std::cout << "Loaded test plugin library" << std::endl;
+        std::cout << "Attempting to resolve the classFactory function" << std::endl;
+#endif
+
+        create_it *cf = (create_it *) myLib->resolve("classFactory");
+
+        if (cf)
+        {
+#ifdef QGISDEBUG
+          std::cout << "Getting pointer to a MapLayerInterface object from the library\n";
+#endif
+
+          QgsMapLayerInterface *pl = cf();
+          if (pl)
+          {
+#ifdef QGISDEBUG
+            std::cout << "Instantiated the maplayer test plugin\n";
+#endif
+            // set the main window pointer for the plugin
+            pl->setQgisMainWindow(this);
+#ifdef QGISDEBUG
+            //the call to getInt is deprecated and this line should be removed
+            //std::cout << "getInt returned " << pl->getInt() << " from map layer plugin\n";
+#endif
+            // set up the gui
+            pl->initGui();
+          }
+          else
+          {
+#ifdef QGISDEBUG
+            std::cout << "Unable to instantiate the maplayer test plugin\n";
+#endif
+
+          }
+        }
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "Failed to load " << mlpDir[i].toLocal8Bit().data() << "\n";
+#endif
+
+      }
+    }
+  }
+#endif //#ifndef WIN32
+}
+void QgisApp::testPluginFunctions()
+{
+  // test maplayer plugins first
+  testMapLayerPlugins();
+  if (false)
+  {
+    // try to load plugins from the plugin directory and test each one
+
+    QDir pluginDir("../plugins", "*.so*", QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
+    //pluginDir.setFilter(QDir::Files || QDir::NoSymLinks);
+    //pluginDir.setNameFilter("*.so*");
+    if (pluginDir.count() == 0)
+    {
+      QMessageBox::information(this, tr("No Plugins"),
+          tr("No plugins found in ../plugins. To test plugins, start qgis from the src directory"));
+    }
+    else
+    {
+
+      for (unsigned i = 0; i < pluginDir.count(); i++)
+      {
+#ifdef QGISDEBUG
+        std::cout << "Getting information for plugin: " << pluginDir[i].toLocal8Bit().data() << std::endl;
+#endif
+
+        QLibrary *myLib = new QLibrary("../plugins/" + pluginDir[i]); //"/home/gsherman/development/qgis/plugins/" + pluginDir[i]);
+#ifdef QGISDEBUG
+
+        std::cout << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
+#endif
+        //QLibrary myLib("../plugins/" + pluginDir[i]);
+#ifdef QGISDEBUG
+
+        std::cout << "Attempting to load ../plugins/" << pluginDir[i].toLocal8Bit().data() << std::endl;
+#endif
+        /*  void *handle = dlopen("/home/gsherman/development/qgis/plugins/" + pluginDir[i], RTLD_LAZY);
+            if (!handle) {
+            std::cout << "Error in dlopen: " <<  dlerror() << std::endl;
+
+            }else{
+            std::cout << "dlopen suceeded" << std::endl;
+            dlclose(handle);
+            }
+
+*/
+        bool loaded = myLib->load();
+        if (loaded)
+        {
+#ifdef QGISDEBUG
+          std::cout << "Loaded test plugin library" << std::endl;
+          std::cout << "Getting the name of the plugin" << std::endl;
+#endif
+
+          name_t *pName = (name_t *) myLib->resolve("name");
+          if (pName)
+          {
+            QMessageBox::information(this, tr("Name"), tr("Plugin %1 is named %2").arg(pluginDir[i]).arg(pName()));
+          }
+#ifdef QGISDEBUG
+          std::cout << "Attempting to resolve the classFactory function" << std::endl;
+#endif
+
+          create_t *cf = (create_t *) myLib->resolve("classFactory");
+
+          if (cf)
+          {
+#ifdef QGISDEBUG
+            std::cout << "Getting pointer to a QgisPlugin object from the library\n";
+#endif
+
+            QgisPlugin *pl = cf(mQgisInterface);
+#ifdef QGISDEBUG
+
+            std::cout << "Displaying name, version, and description\n";
+            std::cout << "Plugin name: " << pl->name().toLocal8Bit().data() << std::endl;
+            std::cout << "Plugin version: " << pl->version().toLocal8Bit().data() << std::endl;
+            std::cout << "Plugin description: " << pl->description().toLocal8Bit().data() << std::endl;
+#endif
+
+            QMessageBox::information(this, tr("Plugin Information"), tr("QGis loaded the following plugin:") +
+                tr("Name: %1").arg(pl->name()) + "\n" + tr("Version: %1").arg(pl->version()) + "\n" +
+                tr("Description: %1").arg(pl->description()));
+            // unload the plugin (delete it)
+#ifdef QGISDEBUG
+
+            std::cout << "Attempting to resolve the unload function" << std::endl;
+#endif
+            /*
+               unload_t *ul = (unload_t *) myLib.resolve("unload");
+               if (ul) {
+               ul(pl);
+               std::cout << "Unloaded the plugin\n";
+               } else {
+               std::cout << "Unable to resolve unload function. Plugin was not unloaded\n";
+               }
+               */
+          }
+        }
+        else
+        {
+          QMessageBox::warning(this, tr("Unable to Load Plugin"),
+              tr("QGIS was unable to load the plugin from: %1").arg(pluginDir[i]));
+#ifdef QGISDEBUG
+
+          std::cout << "Unable to load library" << std::endl;
+#endif
+
+        }
+      }
+    }
+  }
+}
+
+
+void QgisApp::checkQgisVersion()
+{
+  QApplication::setOverrideCursor(Qt::WaitCursor);
+  /* QUrlOperator op = new QUrlOperator( "http://mrcc.com/qgis/version.txt" );
+     connect(op, SIGNAL(data()), SLOT(urlData()));
+     connect(op, SIGNAL(finished(QNetworkOperation)), SLOT(urlFinished(QNetworkOperation)));
+
+     op.get(); */
+  mSocket = new QTcpSocket(this);
+  connect(mSocket, SIGNAL(connected()), SLOT(socketConnected()));
+  connect(mSocket, SIGNAL(connectionClosed()), SLOT(socketConnectionClosed()));
+  connect(mSocket, SIGNAL(readyRead()), SLOT(socketReadyRead()));
+  connect(mSocket, SIGNAL(error(QAbstractSocket::SocketError)), 
+                   SLOT(socketError(QAbstractSocket::SocketError)));
+  mSocket->connectToHost("mrcc.com", 80);
+}
+
+void QgisApp::socketConnected()
+{
+  QTextStream os(mSocket);
+  mVersionMessage = "";
+  // send the qgis version string
+  // os << qgisVersion << "\r\n";
+  os << "GET /qgis/version.txt HTTP/1.0\n\n";
+
+
+}
+
+void QgisApp::socketConnectionClosed()
+{
+  QApplication::restoreOverrideCursor();
+  // strip the header
+  QString contentFlag = "#QGIS Version";
+  int pos = mVersionMessage.find(contentFlag);
+  if (pos > -1)
+  {
+    pos += contentFlag.length();
+    /* std::cout << mVersionMessage << "\n ";
+       std::cout << "Pos is " << pos <<"\n"; */
+    mVersionMessage = mVersionMessage.mid(pos);
+    QStringList parts = QStringList::split("|", mVersionMessage);
+    // check the version from the  server against our version
+    QString versionInfo;
+    int currentVersion = parts[0].toInt();
+    if (currentVersion > QGis::qgisVersionInt)
+    {
+      // show version message from server
+      versionInfo = tr("There is a new version of QGIS available") + "\n";
+    }
+    else
+    {
+      if (QGis::qgisVersionInt > currentVersion)
+      {
+        versionInfo = tr("You are running a development version of QGIS") + "\n";
+      }
+      else
+      {
+        versionInfo = tr("You are running the current version of QGIS") + "\n";
+      }
+    }
+    if (parts.count() > 1)
+    {
+      versionInfo += parts[1] + "\n\n" + tr("Would you like more information?");
+      ;
+      QMessageBox::StandardButton result = QMessageBox::information(this, tr("QGIS Version Information"), versionInfo, QMessageBox::Ok | QMessageBox::Cancel);
+      if (result == QMessageBox::Ok)
+      {
+        // show more info
+        QgsMessageViewer *mv = new QgsMessageViewer(this);
+        mv->setCaption(tr("QGIS - Changes in SVN Since Last Release"));
+        mv->setMessageAsHtml(parts[2]);
+        mv->exec();
+      }
+    }
+    else
+    {
+      QMessageBox::information(this, tr("QGIS Version Information"), versionInfo);
+    }
+  }
+  else
+  {
+    QMessageBox::warning(this, tr("QGIS Version Information"), tr("Unable to get current version information from server"));
+  }
+}
+void QgisApp::socketError(QAbstractSocket::SocketError e)
+{
+  if (e == QAbstractSocket::RemoteHostClosedError)
+    return;
+
+  QApplication::restoreOverrideCursor();
+  // get error type
+  QString detail;
+  switch (e)
+  {
+    case QAbstractSocket::ConnectionRefusedError:
+      detail = tr("Connection refused - server may be down");
+      break;
+    case QAbstractSocket::HostNotFoundError:
+      detail = tr("QGIS server was not found");
+      break;
+    case QAbstractSocket::NetworkError:
+      detail = tr("Network error while communicating with server");
+      break;
+    default:
+      detail = tr("Unknown network socket error");
+      break;
+  }
+
+  // show version message from server
+  QMessageBox::critical(this, tr("QGIS Version Information"), tr("Unable to communicate with QGIS Version server") + "\n" + detail);
+}
+
+void QgisApp::socketReadyRead()
+{
+  while (mSocket->bytesAvailable() > 0)
+  {
+    char *data = new char[mSocket->bytesAvailable() + 1];
+    memset(data, '\0', mSocket->bytesAvailable() + 1);
+    mSocket->readBlock(data, mSocket->bytesAvailable());
+    mVersionMessage += data;
+    delete[]data;
+  }
+
+}
+void QgisApp::options()
+{
+  QgsOptions *optionsDialog = new QgsOptions(this);
+  if(optionsDialog->exec())
+  {
+    // set the theme if it changed
+    setTheme(optionsDialog->theme());
+
+    QSettings mySettings;
+    mMapCanvas->enableAntiAliasing(mySettings.value("/qgis/enable_anti_aliasing").toBool());
+    mMapCanvas->useQImageToRender(mySettings.value("/qgis/use_qimage_to_render").toBool());
+  
+    int action = mySettings.value("/qgis/wheel_action", 0).toInt();
+    double zoomFactor = mySettings.value("/qgis/zoom_factor", 2).toDouble();
+    mMapCanvas->setWheelAction((QgsMapCanvas::WheelAction) action, zoomFactor);
+
+    bool splitterRedraw = mySettings.value("/qgis/splitterRedraw", true).toBool();
+    canvasLegendSplit->setOpaqueResize(splitterRedraw);
+    legendOverviewSplit->setOpaqueResize(splitterRedraw);
+  }
+}
+
+void QgisApp::helpContents()
+{
+  openURL("index.html");
+}
+
+void QgisApp::helpQgisHomePage()
+{
+  openURL("http://qgis.org", false);
+}
+
+void QgisApp::openURL(QString url, bool useQgisDocDirectory)
+{
+  // open help in user browser
+  if (useQgisDocDirectory)
+  {
+    url = "file://" + QgsApplication::pkgDataPath() + "/doc/" + url;
+  }
+#ifdef Q_OS_MACX
+  /* Use Mac OS X Launch Services which uses the user's default browser
+   * and will just open a new window if that browser is already running.
+   * QProcess creates a new browser process for each invocation and expects a
+   * commandline application rather than a bundled application.
+   */
+  CFURLRef urlRef = CFURLCreateWithBytes(kCFAllocatorDefault,
+      reinterpret_cast<const UInt8*>(url.utf8().data()), url.length(),
+      kCFStringEncodingUTF8, NULL);
+  OSStatus status = LSOpenCFURLRef(urlRef, NULL);
+  status = 0; //avoid compiler warning
+  CFRelease(urlRef);
+#else
+  // find a browser
+  QSettings settings;
+  QString browser = settings.readEntry("/qgis/browser");
+  if (browser.length() == 0)
+  {
+    // ask user for browser and use it
+    bool ok;
+    QString myHeading = tr("QGIS Browser Selection");
+    QString myMessage = tr("Enter the name of a web browser to use (eg. konqueror).\n");
+    myMessage += tr("Enter the full path if the browser is not in your PATH.\n");
+    myMessage += tr("You can change this option later by selecting Options from the Settings menu (Help Browser tab).");
+    QString text = QInputDialog::getText(myHeading,
+        myMessage,
+        QLineEdit::Normal,
+        QString::null, &ok, this);
+    if (ok && !text.isEmpty())
+    {
+      // user entered something and pressed OK
+      browser = text;
+      // save the setting
+      settings.writeEntry("/qgis/browser", browser);
+    }
+    else
+    {
+      browser = "";
+    }
+
+  }
+  if (browser.length() > 0)
+  {
+    // find the installed location of the help files
+    // open index.html using browser
+    //XXX for debug on win32      QMessageBox::information(this,"Help opening...", browser + " - " + url);
+    QProcess *helpProcess = new QProcess(this);
+    QStringList myArgs;
+    myArgs << url;
+    helpProcess->start(browser,myArgs);
+  }
+  /*  mHelpViewer = new QgsHelpViewer(this,"helpviewer",false);
+      mHelpViewer->showContent(QgsApplication::prefixPath() +"/share/doc","index.html");
+      mHelpViewer->show(); */
+#endif
+}
+
+/** Get a pointer to the currently selected map layer */
+QgsMapLayer *QgisApp::activeLayer()
+{
+  return (mMapLegend->currentLayer());
+}
+
+/** Add a vector layer directly without prompting user for location
+  The caller must provide information compatible with the provider plugin
+  using the vectorLayerPath and baseName. The provider can use these
+  parameters in any way necessary to initialize the layer. The baseName
+  parameter is used in the Map Legend so it should be formed in a meaningful
+  way.
+  */
+void QgisApp::addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)
+{
+  mMapCanvas->freeze();
+
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  // create the layer
+  QgsVectorLayer *layer;
+  /* Eliminate the need to instantiate the layer based on provider type.
+     The caller is responsible for cobbling together the needed information to
+     open the layer
+     */
+#ifdef QGISDEBUG
+
+  std::cout << "Creating new vector layer using " <<
+    vectorLayerPath.toLocal8Bit().data() << " with baseName of " << baseName.toLocal8Bit().data() <<
+    " and providerKey of " << providerKey.toLocal8Bit().data() << std::endl;
+#endif
+
+  layer = new QgsVectorLayer(vectorLayerPath, baseName, providerKey);
+
+  if( layer && layer->isValid() )
+  {
+    // Register this layer with the layers registry
+    QgsMapLayerRegistry::instance()->addMapLayer(layer);
+
+    QgsProject::instance()->dirty(false); // XXX this might be redundant
+
+    statusBar()->message(mMapCanvas->extent().stringRep(2));
+
+  }
+  else
+  {
+    QMessageBox::critical(this,tr("Layer is not valid"),
+        tr("The layer is not a valid layer and can not be added to the map"));
+  }
+  
+  // update UI
+  qApp->processEvents();
+  
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+} // QgisApp::addVectorLayer
+
+
+
+void QgisApp::addMapLayer(QgsMapLayer *theMapLayer)
+{
+  mMapCanvas->freeze();
+
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  if(theMapLayer->isValid())
+  {
+    // Register this layer with the layers registry
+    QgsMapLayerRegistry::instance()->addMapLayer(theMapLayer);
+    // add it to the mapcanvas collection
+    // not necessary since adding to registry adds to canvas mMapCanvas->addLayer(theMapLayer);
+
+    statusBar()->message(mMapCanvas->extent().stringRep(2));
+
+  }
+  else
+  {
+    QMessageBox::critical(this,tr("Layer is not valid"),
+        tr("The layer is not a valid layer and can not be added to the map"));
+  }
+  
+  // update UI
+  qApp->processEvents();
+  
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+}
+
+void QgisApp::setExtent(QgsRect theRect)
+{
+  mMapCanvas->setExtent(theRect);
+}
+
+/**
+  Prompt and save if project has been modified.
+  @return true if saved or discarded, false if cancelled
+ */
+bool QgisApp::saveDirty()
+{
+  QMessageBox::StandardButton answer(QMessageBox::Discard);
+  mMapCanvas->freeze(true);
+
+#ifdef QGISDEBUG
+
+  std::cout << "Layer count is " << mMapCanvas->layerCount() << std::endl;
+  std::cout << "Project is ";
+  if ( QgsProject::instance()->dirty() )
+  {
+    std::cout << "dirty" << std::endl;
+  }
+  else
+  {
+    std::cout << "not dirty" << std::endl;
+  }
+
+  std::cout << "Map canvas is ";
+  if (mMapCanvas->isDirty())
+  {
+    std::cout << "dirty" << std::endl;
+  }
+  else
+  {
+    std::cout << "not dirty" << std::endl;
+  }
+#endif
+
+  QSettings settings;
+  bool askThem = settings.value("qgis/askToSaveProjectChanges", true).toBool();
+
+  if (askThem && (QgsProject::instance()->dirty() || (mMapCanvas->isDirty()) && mMapCanvas->layerCount() > 0))
+  {
+    // flag project as dirty since dirty state of canvas is reset if "dirty"
+    // is based on a zoom or pan
+    QgsProject::instance()->dirty( true );
+    // old code: mProjectIsDirtyFlag = true;
+
+    // prompt user to save
+    answer = QMessageBox::information(this, tr("Save?"),
+        tr("Do you want to save the current project?"),
+        QMessageBox::Save | QMessageBox::Cancel | QMessageBox::Discard);
+    if (QMessageBox::Save == answer)
+    {
+      if (!fileSave())
+	    answer = QMessageBox::Cancel;
+    }
+  }
+
+  mMapCanvas->freeze(false);
+
+  return (answer != QMessageBox::Cancel);
+
+} // QgisApp::saveDirty()
+
+
+void QgisApp::closeEvent(QCloseEvent* event)
+{
+  // We'll close in our own good time, thank you very much
+  event->ignore();
+  // Do the usual checks and ask if they want to save, etc
+  fileExit();
+}
+
+
+void QgisApp::whatsThis()
+{
+  QWhatsThis::enterWhatsThisMode();
+} // QgisApp::whatsThis()
+
+
+std::map<QString, int> QgisApp::menuMapByName()
+{
+  // Must populate the maps with each call since menus might have been
+  // added or deleted
+  populateMenuMaps();
+  // Return the menu items mapped by name (key is name, value is menu id)
+  return mMenuMapByName;
+}
+std::map<int, QString> QgisApp::menuMapById()
+{
+  // Must populate the maps with each call since menus might have been
+  // added or deleted
+  populateMenuMaps();
+  // Return the menu items mapped by menu id (key is menu id, value is name)
+  return mMenuMapById;
+}
+void QgisApp::populateMenuMaps()
+{
+  // Populate the two menu maps by iterating through the menu bar
+  mMenuMapByName.clear();
+  mMenuMapById.clear();
+  int idx = 0;
+  int menuId;
+  // Loop until we get an id of -1, which indicates there are no more
+  // items.
+  do
+  {
+    menuId = menuBar()->idAt(idx++);
+    std::cout << "Menu id " << menuId << " is " << menuBar()->text(menuId).toLocal8Bit().data() << std::endl;
+    mMenuMapByName[menuBar()->text(menuId)] = menuId;
+    mMenuMapById[menuId] = menuBar()->text(menuId);
+  }
+  while(menuId != -1);
+}
+
+QMenu* QgisApp::getPluginMenu(QString menuName)
+{
+  // This is going to record the menu item that the potentially new
+  // menu item is going to be inserted before. A value of 0 will a new
+  // menu item to be appended.
+  QAction* before = 0;
+
+  QList<QAction*> actions = mPluginMenu->actions();
+  // Avoid 1 because the first item (number 0) is 'Plugin Manager',
+  // which we  want to stay first. Search in reverse order as that
+  // makes it easier to find out where which item a new menu item
+  // should go before (since the insertMenu() function requires a
+  // 'before' argument).
+  for (unsigned int i = actions.count()-1; i > 0; --i)
+  {
+    if (actions.at(i)->text() == menuName)
+    {
+      return actions.at(i)->menu();
+    }
+    // Find out where to put the menu item, assuming that it is a new one
+    //
+    // This bit of code assumes that the menu items are already in
+    // alphabetical order, which they will be if the menus are all
+    // created using this function.
+    if (menuName.localeAwareCompare(actions.at(i)->text()) <= 0)
+      before = actions.at(i);
+  }
+
+  // It doesn't exist, so create 
+  QMenu* menu = new QMenu(menuName, this);
+  // Where to put it? - we worked that out above...
+  mPluginMenu->insertMenu(before, menu);
+
+  return menu;
+}
+
+void QgisApp::addPluginMenu(QString name, QAction* action)
+{
+  QMenu* menu = getPluginMenu(name);
+  menu->addAction(action);
+}
+
+void QgisApp::removePluginMenu(QString name, QAction* action)
+{
+  QMenu* menu = getPluginMenu(name);
+  menu->removeAction(action);
+  if (menu->actions().count() == 0)
+    {
+      mPluginMenu->removeAction(menu->menuAction());
+    }
+}
+
+int QgisApp::addPluginToolBarIcon (QAction * qAction)
+{
+  qAction->addTo(mPluginToolBar);
+  return 0;
+}
+void QgisApp::removePluginToolBarIcon(QAction *qAction)
+{
+  qAction->removeFrom(mPluginToolBar);
+}
+
+void QgisApp::destinationSrsChanged()
+{
+  // save this information to project
+  long srsid = mMapCanvas->mapRender()->destinationSrs().srsid();
+  QgsProject::instance()->writeEntry("SpatialRefSys", "/ProjectSRSID", (int)srsid);
+
+}
+
+void QgisApp::projectionsEnabled(bool theFlag)
+{
+  // save this information to project
+  QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectionsEnabled", (theFlag?1:0));
+
+  // update icon
+  QString myIconPath = QgsApplication::themePath();
+  if (theFlag)
+  {
+    QPixmap myProjPixmap;
+    myProjPixmap.load(myIconPath+"/mIconProjectionEnabled.png");
+    //assert(!myProjPixmap.isNull());
+    mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
+  }
+  else
+  {
+    QPixmap myProjPixmap;
+    myProjPixmap.load(myIconPath+"/mIconProjectionDisabled.png");
+    //assert(!myProjPixmap.isNull());
+    mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
+  }
+}
+// slot to update the progress bar in the status bar
+void QgisApp::showProgress(int theProgress, int theTotalSteps)
+{
+#ifdef QGISDEBUG
+  std::cout << "showProgress called with " << theProgress << "/" << theTotalSteps << std::endl;
+#endif
+
+  if (theProgress==theTotalSteps)
+  {
+    mProgressBar->reset();
+    mProgressBar->hide();
+   }
+  else
+  {
+    //only call show if not already hidden to reduce flicker
+    if (!mProgressBar->isVisible())
+    {
+      mProgressBar->show();
+    }
+    mProgressBar->setMaximum(theTotalSteps);
+    mProgressBar->setValue(theProgress);
+  }
+
+
+}
+
+void QgisApp::showExtents()
+{
+  // update the statusbar with the current extents.
+  QgsRect myExtents = mMapCanvas->extent();
+  statusBar()->message(QString(tr("Extents: ")) + myExtents.stringRep(true));
+
+} // QgisApp::showExtents
+
+
+void QgisApp::updateMouseCoordinatePrecision()
+{
+  // Work out what mouse display precision to use. This only needs to
+  // be when the settings change or the zoom level changes. This
+  // function needs to be called every time one of the above happens.
+
+  // Get the display precision from the project settings
+  bool automatic = QgsProject::instance()->readBoolEntry("PositionPrecision","/Automatic");
+  int dp = 0;
+
+  if (automatic)
+  {
+    // Work out a suitable number of decimal places for the mouse
+    // coordinates with the aim of always having enough decimal places
+    // to show the difference in position between adjacent pixels.
+    // Also avoid taking the log of 0.
+    if (getMapCanvas()->mupp() != 0.0)
+      dp = static_cast<int> (ceil(-1.0*log10(getMapCanvas()->mupp())));
+  }
+  else
+    dp = QgsProject::instance()->readNumEntry("PositionPrecision","/DecimalPlaces");
+
+  // Keep dp sensible
+  if (dp < 0) dp = 0;
+
+  mMousePrecisionDecimalPlaces = dp;
+}
+
+void QgisApp::showStatusMessage(QString theMessage)
+{
+#ifdef QGISDEBUG
+  //  std::cout << "QgisApp::showStatusMessage: entered with '" << theMessage << "'." << std::endl;
+#endif
+
+  statusBar()->message(theMessage);
+}
+
+void QgisApp::projectPropertiesProjections()
+{
+  // Driver to display the project props dialog and switch to the
+  // projections tab
+  mShowProjectionTab = true;
+  projectProperties();
+}
+
+void QgisApp::projectProperties()
+{
+  /* Display the property sheet for the Project */
+  // set wait cursor since construction of the project properties
+  // dialog results in the construction of the spatial reference
+  // system QMap
+  QApplication::setOverrideCursor(Qt::WaitCursor);
+  QgsProjectProperties *pp = new QgsProjectProperties(mMapCanvas, this);
+  // if called from the status bar, show the projection tab
+  if(mShowProjectionTab)
+  {
+    pp->showProjectionsTab();
+    mShowProjectionTab = false;
+  }
+  qApp->processEvents();
+  // Be told if the mouse display precision may have changed by the user
+  // changing things in the project properties dialog box
+  connect(pp, SIGNAL(displayPrecisionChanged()), this, 
+      SLOT(updateMouseCoordinatePrecision()));
+  QApplication::restoreOverrideCursor();
+
+  //pass any refresg signals off to canvases
+  //connect (pp,SIGNAL(refresh()), mMapCanvas, SLOT(refresh()));
+
+  QgsMapRender* myRender = mMapCanvas->mapRender();
+  bool wasProjected = myRender->projectionsEnabled();
+  long oldSRSID = myRender->destinationSrs().srsid();
+
+  // Display the modal dialog box.
+  pp->exec();
+
+  long newSRSID = myRender->destinationSrs().srsid();
+  bool isProjected = myRender->projectionsEnabled();
+  
+  // projections have been turned on/off or dest SRS has changed while projections are on
+  if (wasProjected != isProjected || (isProjected && oldSRSID != newSRSID))
+  {
+    // TODO: would be better to try to reproject current extent to the new one
+    mMapCanvas->updateFullExtent();
+  }
+
+  int  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
+  int  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
+  int  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
+  QColor myColor = QColor(myRedInt,myGreenInt,myBlueInt);
+  mMapCanvas->setCanvasColor(myColor); // this is fill colour before rendering onto canvas
+  
+  // Set the window title.
+  setTitleBarText_( *this );
+  
+  // delete the property sheet object
+  delete pp;
+} // QgisApp::projectProperties
+
+
+QgsClipboard * QgisApp::clipboard()
+{
+  return mInternalClipboard;
+}
+
+void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
+{
+  if(!layer)
+    {
+      return;
+    }
+
+  /***********Vector layers****************/
+  if(layer->type() == QgsMapLayer::VECTOR)
+    {
+      mActionSelect->setEnabled(true);
+      mActionOpenTable->setEnabled(true);
+      mActionIdentify->setEnabled(true);
+      mActionEditCopy->setEnabled(true);
+
+      const QgsVectorLayer* vlayer = dynamic_cast<const QgsVectorLayer*>(layer);
+      const QgsVectorDataProvider* dprovider = vlayer->getDataProvider();
+
+      if (dprovider)
+	{
+	  //start editing/stop editing
+	  if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
+	    {
+	      mActionToggleEditing->setEnabled(true);
+	      mActionToggleEditing->setChecked(vlayer->isEditable());
+	      mActionEditPaste->setEnabled(true);
+	    }
+	  else
+	    {
+	      mActionToggleEditing->setEnabled(false);
+	      mActionEditPaste->setEnabled(false);
+	    }
+
+	  //does provider allow deleting of features?
+	  if(dprovider->capabilities() & QgsVectorDataProvider::DeleteFeatures)
+	    {
+	      mActionDeleteSelected->setEnabled(true);
+	      mActionEditCut->setEnabled(true);
+	    }
+	  else
+	    {
+	      mActionDeleteSelected->setEnabled(false);
+	      mActionEditCut->setEnabled(false);
+	    }
+
+
+	  if(vlayer->vectorType() == QGis::Point)
+	    {
+	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
+		{
+		  mActionCapturePoint->setEnabled(true);
+		}
+	      else
+		{
+		  mActionCapturePoint->setEnabled(false);
+		}
+	      mActionCaptureLine->setEnabled(false);
+	      mActionCapturePolygon->setEnabled(false);
+	      mActionAddVertex->setEnabled(false);
+	      mActionDeleteVertex->setEnabled(false);
+	      mActionAddRing->setEnabled(false);
+	      mActionAddIsland->setEnabled(false);
+	      if(dprovider->capabilities() & QgsVectorDataProvider::ChangeGeometries)
+		{
+		  mActionMoveVertex->setEnabled(true);
+		}
+	      return;
+	    }
+	  else if(vlayer->vectorType() == QGis::Line)
+	    {
+	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
+		{
+		  mActionCaptureLine->setEnabled(true);
+		}
+	      else
+		{
+		  mActionCaptureLine->setEnabled(false);
+		}
+	      mActionCapturePoint->setEnabled(false);
+	      mActionCapturePolygon->setEnabled(false);
+	      mActionAddRing->setEnabled(false);
+	      mActionAddIsland->setEnabled(false);
+	    }
+	  else if(vlayer->vectorType() == QGis::Polygon)
+	    {
+	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
+		{
+		  mActionCapturePolygon->setEnabled(true);
+		}
+	      else
+		{
+		  mActionCapturePolygon->setEnabled(false);
+		}
+	      mActionCapturePoint->setEnabled(false);
+	      mActionCaptureLine->setEnabled(false);
+	    }
+
+	  //are add/delete/move vertex supported?
+	  if(dprovider->capabilities() & QgsVectorDataProvider::ChangeGeometries)
+	    {
+	      mActionAddVertex->setEnabled(true);
+	      mActionMoveVertex->setEnabled(true);
+	      mActionDeleteVertex->setEnabled(true);
+	      if(vlayer->vectorType() == QGis::Polygon)
+		{
+		  mActionAddRing->setEnabled(true);
+		  //some polygon layers contain also multipolygon features. 
+		  //Therefore, the test for multipolygon is done in QgsGeometry
+		  mActionAddIsland->setEnabled(true);
+		}
+	    }
+	  else
+	    {
+	      mActionAddVertex->setEnabled(false);
+	      mActionMoveVertex->setEnabled(false);
+	      mActionDeleteVertex->setEnabled(false);
+	    }
+	  return;
+	}
+    }
+  /*************Raster layers*************/
+  else if(layer->type() == QgsMapLayer::RASTER)
+    {
+      mActionSelect->setEnabled(false);
+      mActionOpenTable->setEnabled(false);
+      mActionToggleEditing->setEnabled(false);
+      mActionCapturePoint->setEnabled(false);
+      mActionCaptureLine->setEnabled(false);
+      mActionCapturePolygon->setEnabled(false);
+      mActionDeleteSelected->setEnabled(false);
+      mActionAddRing->setEnabled(false);
+      mActionAddIsland->setEnabled(false);
+      mActionAddVertex->setEnabled(false);
+      mActionDeleteVertex->setEnabled(false);
+      mActionMoveVertex->setEnabled(false);
+      mActionEditCopy->setEnabled(false);
+      mActionEditCut->setEnabled(false);
+      mActionEditPaste->setEnabled(false);
+
+      const QgsRasterLayer* vlayer = dynamic_cast<const QgsRasterLayer*> (layer);
+      const QgsRasterDataProvider* dprovider = vlayer->getDataProvider();
+      if (dprovider)
+      {
+        // does provider allow the identify map tool?
+        if (dprovider->capabilities() & QgsRasterDataProvider::Identify)
+        {
+          mActionIdentify->setEnabled(TRUE);
+        }
+        else
+        {
+          mActionIdentify->setEnabled(FALSE);
+        }
+      }
+    }
+}
+
+
+//copy the click coord to clipboard and let the user know its there
+void QgisApp::showCapturePointCoordinate(QgsPoint & theQgsPoint)
+{
+#ifdef QGISDEBUG
+  std::cout << "Capture point (clicked on map) at position " << theQgsPoint.stringRep(2).toLocal8Bit().data() << std::endl;
+#endif
+
+  QClipboard *myClipboard = QApplication::clipboard();
+  //if we are on x11 system put text into selection ready for middle button pasting
+  if (myClipboard->supportsSelection())
+  {
+    myClipboard->setText(theQgsPoint.stringRep(2),QClipboard::Selection);
+    QString myMessage = tr("Clipboard contents set to: ");
+    statusBar()->message(myMessage + myClipboard->text(QClipboard::Selection));
+  }
+  else
+  {
+    //user has an inferior operating system....
+    myClipboard->setText(theQgsPoint.stringRep(2),QClipboard::Clipboard );
+    QString myMessage = tr("Clipboard contents set to: ");
+    statusBar()->message(myMessage + myClipboard->text(QClipboard::Clipboard));
+  }
+#ifdef QGISDEBUG
+  /* Well use this in ver 0.5 when we do digitising! */
+  /*
+     QgsVectorFileWriter myFileWriter("/tmp/test.shp", wkbPoint);
+     if (myFileWriter.initialise())
+     {
+     myFileWriter.createField("TestInt",OFTInteger,8,0);
+     myFileWriter.createField("TestRead",OFTReal,8,3);
+     myFileWriter.createField("TestStr",OFTString,255,0);
+     myFileWriter.writePoint(&theQgsPoint);
+     }
+     */
+#endif
+}
+
+
+
+/////////////////////////////////////////////////////////////////
+//
+//
+// Only functions relating to raster layer management in this
+// section (look for a similar comment block to this to find
+// the end of this section).
+//
+// Tim Sutton
+//
+//
+/////////////////////////////////////////////////////////////////
+
+
+/** @todo XXX I'd *really* like to return, ya know, _false_.
+*/
+//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
+void QgisApp::addRasterLayer()
+{
+  //mMapCanvas->freeze(true);
+
+  QString fileFilters;
+
+  QStringList selectedFiles;
+  QString e;//only for parameter correctness
+  QString title = tr("Open a GDAL Supported Raster Data Source");
+  openFilesRememberingFilter_("lastRasterFileFilter", mRasterFileFilter, selectedFiles,e,
+      title);
+
+  if (selectedFiles.isEmpty())
+  {
+    // no files were selected, so just bail
+    return;
+  }
+
+  addRasterLayer(selectedFiles);
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+}// QgisApp::addRasterLayer()
+
+//
+// This is the method that does the actual work of adding a raster layer - the others
+// here simply create a raster layer object and delegate here. It is the responsibility
+// of the calling method to manage things such as the frozen state of the mapcanvas and
+// using waitcursors etc. - this method wont and SHOULDNT do it
+//
+bool QgisApp::addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRedrawFlag)
+{
+
+  Q_CHECK_PTR( theRasterLayer );
+
+  if ( ! theRasterLayer )
+  {
+    // XXX insert meaningful whine to the user here; although be
+    // XXX mindful that a null layer may mean exhausted memory resources
+    return false;
+  }
+
+  if (theRasterLayer->isValid())
+  {
+    // register this layer with the central layers registry
+    QgsMapLayerRegistry::instance()->addMapLayer(theRasterLayer);
+    // XXX doesn't the mMapCanvas->addLayer() do this?
+    // XXX now it does
+    //     QObject::connect(theRasterLayer,
+    //             SIGNAL(repaintRequested()),
+    //             mMapCanvas,
+    //             SLOT(refresh()));
+
+    // connect up any request the raster may make to update the app progress
+    QObject::connect(theRasterLayer,
+        SIGNAL(drawingProgress(int,int)),
+        this,
+        SLOT(showProgress(int,int)));
+    // connect up any request the raster may make to update the statusbar message
+    QObject::connect(theRasterLayer,
+        SIGNAL(setStatus(QString)),
+        this,
+        SLOT(showStatusMessage(QString)));
+
+    // add it to the mapcanvas collection
+    // no longer necessary since adding to registry automatically adds to canvas
+    // mMapCanvas->addLayer(theRasterLayer);
+
+  }
+  else
+  {
+    delete theRasterLayer;
+    return false;
+  }
+
+  if (theForceRedrawFlag)
+  {
+    // update UI
+    qApp->processEvents();
+    // draw the map
+    mMapCanvas->freeze(false);
+    mMapCanvas->refresh();
+  }
+  return true;
+
+}
+
+
+//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
+
+bool QgisApp::addRasterLayer(QFileInfo const & rasterFile, bool guiWarning)
+{
+  // let the user know we're going to possibly be taking a while
+  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  mMapCanvas->freeze(true);
+
+  // XXX ya know QgsRasterLayer can snip out the basename on its own;
+  // XXX why do we have to pass it in for it?
+  QgsRasterLayer *layer =
+    new QgsRasterLayer(rasterFile.filePath(), rasterFile.completeBaseName());
+
+  if (!addRasterLayer(layer))
+  {
+    mMapCanvas->freeze(false);
+    QApplication::restoreOverrideCursor();
+
+// Let render() do its own cursor management
+//    QApplication::restoreOverrideCursor();
+
+    if(guiWarning)
+    {
+      // don't show the gui warning (probably because we are loading from command line)
+      QString msg(rasterFile.completeBaseName()
+          + tr(" is not a valid or recognized raster data source"));
+      QMessageBox::critical(this, tr("Invalid Data Source"), msg);
+    }
+    delete layer;
+    return false;
+  }
+  else
+  {
+    statusBar()->message(mMapCanvas->extent().stringRep(2));
+    mMapCanvas->freeze(false);
+    QApplication::restoreOverrideCursor();
+
+// Let render() do its own cursor management
+//    QApplication::restoreOverrideCursor();
+
+    return true;
+  }
+
+} // QgisApp::addRasterLayer
+
+
+
+/** Add a raster layer directly without prompting user for location
+  The caller must provide information compatible with the provider plugin
+  using the rasterLayerPath and baseName. The provider can use these
+  parameters in any way necessary to initialize the layer. The baseName
+  parameter is used in the Map Legend so it should be formed in a meaningful
+  way.
+
+  \note   Copied from the equivalent addVectorLayer function in this file
+  TODO    Make it work for rasters specifically.
+  */
+void QgisApp::addRasterLayer(QString const & rasterLayerPath,
+    QString const & baseName,
+    QString const & providerKey,
+    QStringList const & layers,
+    QStringList const & styles,
+    QString const & format,
+    QString const & crs,
+    QString const & proxyHost, 
+    int proxyPort, 
+    QString const & proxyUser,
+    QString const & proxyPassword)
+{
+
+#ifdef QGISDEBUG
+  std::cout << "QgisApp::addRasterLayer: about to get library for " << providerKey.toLocal8Bit().data() << std::endl;
+#endif
+
+  mMapCanvas->freeze();
+
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  // create the layer
+  QgsRasterLayer *layer;
+  /* Eliminate the need to instantiate the layer based on provider type.
+     The caller is responsible for cobbling together the needed information to
+     open the layer
+     */
+#ifdef QGISDEBUG
+
+  std::cout << "QgisApp::addRasterLayer: Creating new raster layer using " <<
+    rasterLayerPath.toLocal8Bit().data() << " with baseName of " << baseName.toLocal8Bit().data() <<
+    " and layer list of " << layers.join(", ").toLocal8Bit().data() <<
+    " and style list of " << styles.join(", ").toLocal8Bit().data() <<
+    " and format of " << format.toLocal8Bit().data() <<
+    " and providerKey of " << providerKey.toLocal8Bit().data() <<
+    " and CRS of " << crs.toLocal8Bit().data() << std::endl;
+#endif
+
+  // TODO: Remove the 0 when the raster layer becomes a full provider gateway.
+  layer = new QgsRasterLayer(0, rasterLayerPath, baseName, providerKey, layers, styles, format, crs,
+			     proxyHost, proxyPort, proxyUser, proxyPassword);
+
+#ifdef QGISDEBUG
+  std::cout << "QgisApp::addRasterLayer: Constructed new layer." << std::endl;
+#endif
+
+  if( layer && layer->isValid() )
+  {
+    // Register this layer with the layers registry
+    QgsMapLayerRegistry::instance()->addMapLayer(layer);
+
+    // connect up any request the raster may make to update the app progress
+    QObject::connect(layer,
+        SIGNAL(drawingProgress(int,int)),
+        this,
+        SLOT(showProgress(int,int)));
+    // connect up any request the raster may make to update the statusbar message
+    QObject::connect(layer,
+        SIGNAL(setStatus(QString)),
+        this,
+        SLOT(showStatusMessage(QString)));
+
+    QgsProject::instance()->dirty(false); // XXX this might be redundant
+
+    statusBar()->message(mMapCanvas->extent().stringRep(2));
+
+  }
+  else
+  {
+    QMessageBox::critical(this,tr("Layer is not valid"),
+        tr("The layer is not a valid layer and can not be added to the map"));
+  }
+
+  // update UI
+  qApp->processEvents();
+  // draw the map
+  mMapCanvas->freeze(false);
+  mMapCanvas->refresh();
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+} // QgisApp::addRasterLayer
+
+
+
+//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
+bool QgisApp::addRasterLayer(QStringList const &theFileNameQStringList, bool guiWarning)
+{
+  if (theFileNameQStringList.empty())
+  {
+    // no files selected so bail out, but
+    // allow mMapCanvas to handle events
+    // first
+    mMapCanvas->freeze(false);
+    return false;
+  }
+
+  mMapCanvas->freeze(true);
+
+// Let render() do its own cursor management
+//  QApplication::setOverrideCursor(Qt::WaitCursor);
+
+  // this is messy since some files in the list may be rasters and others may
+  // be ogr layers. We'll set returnValue to false if one or more layers fail
+  // to load.
+  bool returnValue = true;
+  for (QStringList::ConstIterator myIterator = theFileNameQStringList.begin();
+      myIterator != theFileNameQStringList.end();
+      ++myIterator)
+  {
+    if (QgsRasterLayer::isValidRasterFileName(*myIterator))
+    {
+      QFileInfo myFileInfo(*myIterator);
+      // get the directory the .adf file was in
+      QString myDirNameQString = myFileInfo.dirPath();
+      QString myBaseNameQString = myFileInfo.completeBaseName();
+      //only allow one copy of a ai grid file to be loaded at a
+      //time to prevent the user selecting all adfs in 1 dir which
+      //actually represent 1 coverage,
+
+      // create the layer
+      QgsRasterLayer *layer = new QgsRasterLayer(*myIterator, myBaseNameQString);
+
+      addRasterLayer(layer);
+
+      //only allow one copy of a ai grid file to be loaded at a
+      //time to prevent the user selecting all adfs in 1 dir which
+      //actually represent 1 coverate,
+
+      if (myBaseNameQString.lower().endsWith(".adf"))
+      {
+        break;
+      }
+    }
+    else
+    {
+      // Issue message box warning unless we are loading from cmd line since
+      // non-rasters are passed to this function first and then sucessfully
+      // loaded afterwards (see main.cpp)
+
+      if(guiWarning)
+      {
+        QString msg(*myIterator + tr(" is not a supported raster data source"));
+        QMessageBox::critical(this, tr("Unsupported Data Source"), msg);
+      }
+      returnValue = false;
+    }
+  }
+
+  statusBar()->message(mMapCanvas->extent().stringRep(2));
+  mMapCanvas->freeze(false);
+
+// Let render() do its own cursor management
+//  QApplication::restoreOverrideCursor();
+
+  return returnValue;
+
+}// QgisApp::addRasterLayer()
+
+
+
+
+///////////////////////////////////////////////////////////////////
+//
+//
+//
+//
+//    RASTER ONLY RELATED FUNCTIONS BLOCK ENDS....
+//
+//
+//
+//
+///////////////////////////////////////////////////////////////////
+
+
+void QgisApp::keyPressEvent ( QKeyEvent * e )
+{
+  // The following statment causes a crash on WIN32 and should be 
+  // enclosed in an #ifdef QGISDEBUG if its really necessary. Its
+  // commented out for now. [gsherman]
+  //    std::cout << e->text().toLocal8Bit().data() << " (keypress recevied)" << std::endl;
+  emit keyPressed (e);
+  e->ignore();
+
+}
+// Debug hook - used to output diagnostic messages when evoked (usually from the menu)
+/* Temporarily disabled...
+   void QgisApp::debugHook()
+   {
+   std::cout << "Hello from debug hook" << std::endl; 
+// show the map canvas extent
+std::cout << mMapCanvas->extent() << std::endl; 
+}
+*/
+void QgisApp::customProjection()
+{
+  // Create an instance of the Custom Projection Designer modeless dialog.
+  // Autodelete the dialog when closing since a pointer is not retained.
+  QgsCustomProjectionDialog * myDialog = new QgsCustomProjectionDialog(this,
+      Qt::WDestructiveClose);
+  myDialog->show();
+}
+void QgisApp::showBookmarks()
+{
+  // Create or show the single instance of the Bookmarks modeless dialog.
+  // Closing a QWidget only hides it so it can be shown again later.
+  static QgsBookmarks *bookmarks = NULL;
+  if (bookmarks == NULL)
+  {
+    bookmarks = new QgsBookmarks(this, Qt::WindowMinMaxButtonsHint);
+  }
+  bookmarks->show();
+  bookmarks->raise();
+  bookmarks->setActiveWindow();
+}
+
+void QgisApp::newBookmark()
+{
+  // Get the name for the bookmark. Everything else we fetch from
+  // the mapcanvas
+
+  bool ok;
+  QString bookmarkName = QInputDialog::getText(tr("New Bookmark"), 
+      tr("Enter a name for the new bookmark:"), QLineEdit::Normal,
+      QString::null, &ok, this);
+  if( ok && !bookmarkName.isEmpty())
+  {
+    if (createDB())
+    {
+      // create the bookmark
+      QgsBookmarkItem *bmi = new QgsBookmarkItem(bookmarkName, 
+          QgsProject::instance()->title(), mMapCanvas->extent(), -1,
+          QgsApplication::qgisUserDbFilePath());
+      bmi->store();
+      delete bmi;
+      // emit a signal to indicate that the bookmark was added
+      emit bookmarkAdded();
+    }
+    else
+    {
+      QMessageBox::warning(this,tr("Error"), tr("Unable to create the bookmark. Your user database may be missing or corrupted"));
+    }
+  }
+}      
+
+void QgisApp::showAllToolbars()
+{
+  setToolbarVisibility(true);
+}
+
+void QgisApp::hideAllToolbars()
+{
+  setToolbarVisibility(false);
+}
+
+void QgisApp::setToolbarVisibility(bool visibility)
+{
+  mFileToolBar->setVisible(visibility);
+  mLayerToolBar->setVisible(visibility);
+  mMapNavToolBar->setVisible(visibility);
+  mDigitizeToolBar->setVisible(visibility);
+  mAttributesToolBar->setVisible(visibility);
+  mPluginToolBar->setVisible(visibility);
+  mHelpToolBar->setVisible(visibility);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgisapp.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgisapp.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgisapp.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,632 @@
+/***************************************************************************
+                          qgisapp.h  -  description
+                             -------------------
+    begin                : Sat Jun 22 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/*  $Id: qgisapp.h 6965 2007-05-26 10:29:13Z mhugent $ */
+
+#ifndef QGISAPP_H
+#define QGISAPP_H
+
+class QRect;
+class QStringList;
+class QCursor;
+class QLabel;
+class QLineEdit;
+class QProgressBar;
+class QFileInfo;
+class QSettings;
+class QTcpSocket;
+class QCheckBox;
+class QToolButton;
+class QKeyEvent;
+class QMenu;
+class QPixmap;
+class QSplashScreen;
+class QValidator;
+
+class QgisAppInterface;
+class QgsClipboard;
+class QgsComposer;
+class QgsHelpViewer;
+class QgsLegend;
+class QgsMapCanvas;
+class QgsMapLayer;
+class QgsMapTool;
+class QgsPoint;
+class QgsProviderRegistry;
+class QgsPythonDialog;
+class QgsRasterLayer;
+class QgsRect;
+
+#include <map>
+
+#include <ui_qgisappbase.h>
+#include <QMainWindow>
+#include <QAbstractSocket>
+
+#include "qgsconfig.h"
+
+/*! \class QgisApp
+ * \brief Main window for the Qgis application
+ */
+class QgisApp : public QMainWindow, public Ui::QgisAppBase
+{
+  Q_OBJECT;
+  public:
+  //! Constructor
+  QgisApp(QSplashScreen *splash, QWidget * parent = 0, Qt::WFlags fl = Qt::WType_TopLevel);
+  //! Destructor
+  ~QgisApp();
+  /**
+   * Add a vector layer to the canvas
+   */
+  void addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey);
+  /** \brief overloaded vesion of the privat addLayer method that takes a list of
+   * filenames instead of prompting user with a dialog.
+   @param enc encoding type for the layer 
+   @returns true if successfully added layer
+   @note
+   This should be deprecated because it's possible to have a
+   heterogeneous set of files; i.e., a mix of raster and vector.
+   It's much better to try to just open one file at a time.
+   */
+  bool addLayer(QStringList const & theLayerQStringList, const QString& enc);
+
+  /** open a vector layer for the given file
+    @returns false if unable to open a raster layer for rasterFile
+    @note
+    This is essentially a simplified version of the above
+    */
+  bool addLayer(QFileInfo const & vectorFile);
+  /** overloaded vesion of the private addRasterLayer()
+    Method that takes a list of filenames instead of prompting
+    user with a dialog.
+    @returns true if successfully added layer(s)
+    @note
+    This should be deprecated because it's possible to have a
+    heterogeneous set of files; i.e., a mix of raster and vector.
+    It's much better to try to just open one file at a time.
+    */
+  bool addRasterLayer(QStringList const & theLayerQStringList, bool guiWarning=true);
+
+  /** Open a raster layer using the Raster Data Provider.
+   *  Note this is included to support WMS layers only at this stage,
+   *  GDAL layer support via a Provider is not yet implemented.
+   */
+  void addRasterLayer(QString const & rasterLayerPath,
+      QString const & baseName,
+      QString const & providerKey,
+      QStringList const & layers,
+      QStringList const & styles,
+      QString const & format,
+      QString const & crs,
+      QString const & proxyHost = QString(),
+      int proxyPort = 80,
+      QString const & proxyUser = QString(), 
+      QString const & proxyPassword = QString());
+
+  /** open a raster layer for the given file
+    @returns false if unable to open a raster layer for rasterFile
+    @note
+    This is essentially a simplified version of the above
+    */
+  bool addRasterLayer(QFileInfo const & rasterFile, bool guiWarning=true);
+  /** Add a 'pre-made' map layer to the project */
+  void addMapLayer(QgsMapLayer *theMapLayer);
+  /** Set the extents of the map canvas */
+  void setExtent(QgsRect theRect);
+  //! Remove all layers from the map and legend - reimplements same method from qgisappbase
+  void removeAllLayers();
+  /** Open a raster or vector file; ignore other files.
+    Used to process a commandline argument or OpenDocument AppleEvent.
+    @returns true if the file is successfully opened
+    */
+  bool openLayer(const QString & fileName);
+  /** Open the specified project file; prompt to save previous project if necessary.
+    Used to process a commandline argument or OpenDocument AppleEvent.
+    */
+  void openProject(const QString & fileName);
+  /** opens a qgis project file
+    @returns false if unable to open the project
+    */
+  bool addProject(QString projectFile);
+  //!Overloaded version of the private function with same name that takes the imagename as a parameter
+  void saveMapAsImage(QString, QPixmap *);
+  /** Get the mapcanvas object from the app */
+  QgsMapCanvas * getMapCanvas() { return mMapCanvas; };
+  //! Set theme (icons)
+  void setTheme(QString themeName="default");
+  //! Setup the toolbar popup menus for a given theme
+  void setupToolbarPopups(QString themeName);
+  //! Returns a pointer to the internal clipboard
+  QgsClipboard * clipboard();
+
+//private slots:
+public slots:
+  //! About QGis
+  void about();
+  //! Add a raster layer to the map (will prompt user for filename using dlg )
+  void addRasterLayer();
+  //#ifdef HAVE_POSTGRESQL
+  //! Add a databaselayer to the map
+  void addDatabaseLayer();
+  //#endif
+  //! reimplements widget keyPress event so we can check if cancel was pressed
+  void keyPressEvent ( QKeyEvent * e );
+  /** for when a menu bar item is activated
+    Used to dynamically update pop-up menu items
+    */
+  /* virtual */ void menubar_highlighted( int i );
+  /** toggles whether the current selected layer is in overview or not */
+  void inOverview();
+  //! Slot to show the map coordinate position of the mouse cursor
+  void showMouseCoordinate(QgsPoint &);
+  //copy the click coord to clipboard and let the user know its there
+  void showCapturePointCoordinate(QgsPoint &);
+  //! Slot to show current map scale;
+  void showScale(double theScale);
+  //! Slot to handle user scale input;
+  void userScale();
+  //! Remove a layer from the map and legend
+  void removeLayer();
+  //! zoom to extent of layer
+  void zoomToLayerExtent();
+  //! load any plugins used in the last qgis session
+  void restoreSessionPlugins(QString thePluginDirString);
+  //! test plugin functionality
+  void testPluginFunctions();
+  //! test maplayer plugins
+  void testMapLayerPlugins();
+  //! plugin manager
+  void showPluginManager();
+  //! plugin loader
+  void loadPlugin(QString name, QString description, QString mFullPath);
+  //! python plugin loader
+  void loadPythonPlugin(QString packageName, QString pluginName);
+  //! Find the QMenu with the given name (ie the user visible text on the menu item)
+  QMenu* getPluginMenu(QString menuName);
+  //! Add the action to the submenu with the given name under the plugin menu
+  void addPluginMenu(QString name, QAction* action);
+  //! Remove the action to the submenu with the given name under the plugin menu
+  void removePluginMenu(QString name, QAction* action);
+  //! Add an icon to the plugin toolbar
+  int addPluginToolBarIcon (QAction * qAction);
+  //! Remove an icon from the plugin toolbar
+  void removePluginToolBarIcon(QAction *qAction);
+  //! Save window state
+  void saveWindowState();
+  //! Restore the window and toolbar state
+  void restoreWindowState();
+  //! Save project. Returns true if the user selected a file to save to, false if not.
+  bool fileSave();
+  //! Save project as
+  void fileSaveAs();
+  //! Open the project file corresponding to the
+  //! text)= of the given action.
+  void openProject(QAction *action);
+  //! Save the map view as an image - user is prompted for image name using a dialog
+  void saveMapAsImage();
+  //! Open a project
+  void fileOpen();
+  //! Create a new project
+  void fileNew();
+  //! As above but allows forcing without prompt
+  void fileNew(bool thePromptToSaveFlag);
+  //! Create a new empty vector layer
+  void newVectorLayer();
+  //! Print the current map view frame
+  void filePrint();
+  //! Add all loaded layers into the overview - overides qgisappbase method
+  void addAllToOverview();
+  //! Remove all loaded layers from the overview - overides qgisappbase method
+  void removeAllFromOverview();
+  //reimplements method from base (gui) class
+  void hideAllLayers();
+  //reimplements method from base (gui) class
+  void showAllLayers();
+  //! Export current view as a mapserver map file
+  void exportMapServer();
+  //! Return pointer to the active layer
+  QgsMapLayer *activeLayer();
+  //! Open the help contents in a browser
+  void helpContents();
+  //! Open the QGIS homepage in users browser
+  void helpQgisHomePage();
+  //! Open a url in the users configured browser
+  void openURL(QString url, bool useQgisDocDirectory=true);
+  //! Check qgis version against the qgis version server
+  void checkQgisVersion();
+  //!Invoke the custom projection dialog
+  void customProjection(); 
+  //! options dialog slot
+  void options();
+  //! Whats-this help slot
+  void whatsThis();
+  //! Get the Menu map (key is name, value is menu id)
+  std::map<QString, int> menuMapByName();
+  //! Get the Menu map (key is menu id, value is name)
+  std::map<int, QString> menuMapById();
+  //! Populate the menu maps
+  void populateMenuMaps();
+  void socketConnected();
+  void socketConnectionClosed();
+  void socketReadyRead();
+  void socketError(QAbstractSocket::SocketError e);
+  //! Set project properties, including map untis
+  void projectProperties();
+  //! Open project properties dialog and show the projections tab
+  void projectPropertiesProjections();
+  /*  void urlData(); */
+  //! Show the spatial bookmarks dialog
+  void showBookmarks();
+  //! Create a new spatial bookmark
+  void newBookmark();
+  //! Lets the user show all of the toolbars
+  void showAllToolbars();
+  //! Lets the user hide all of the toolbars
+  void hideAllToolbars();
+  //! Sets the visibility of the toolbars
+  void setToolbarVisibility(bool visibility);
+  //! activates the capture point tool
+  void capturePoint();
+  //! activates the capture line tool
+  void captureLine();
+  //! activates the capture polygon tool
+  void capturePolygon();
+  /**Deletes the selected attributes for the currently selected vector layer*/
+  void deleteSelected();
+  //! activates the add vertex tool
+  void addVertex();
+  //! activates the move vertex tool
+  void moveVertex();
+  //! activates the delete vertex tool
+  void deleteVertex();
+  //! activates the add ring tool
+  void addRing();
+  //! activates the add island tool
+  void addIsland();
+
+  //! activates the selection tool
+  void select();
+  //! refresh map canvas
+  void refreshMapCanvas();
+  //! returns pointer to map legend
+  QgsLegend *legend() { return mMapLegend; }
+  //! starts/stops editing mode of the current layer
+  void toggleEditing();
+
+  /** Activates or deactivates actions depending on the current maplayer type.
+  Is called from the legend when the current legend item has changed*/
+  void activateDeactivateLayerRelatedActions(QgsMapLayer* layer);
+
+public slots:
+  void showProgress(int theProgress, int theTotalSteps);
+  void showExtents();
+  void showStatusMessage(QString theMessage);
+  void updateMouseCoordinatePrecision();
+  void projectionsEnabled(bool theFlag);
+  void destinationSrsChanged();
+  //    void debugHook();
+  //! Add a vector layer to the map
+  void addLayer();
+  //! Exit Qgis
+  void fileExit();
+  //! Add a WMS layer to the map
+  void addWmsLayer();
+  //! Set map tool to Zoom out
+  void zoomOut();
+  //! Set map tool to Zoom in
+  void zoomIn();
+  //! Zoom to full extent
+  void zoomFull();
+  //! Zoom to the previous extent
+  void zoomPrevious();
+  //! Zoom to selected features
+  void zoomToSelected();
+  //! Set map tool to pan
+  void pan();
+  //! Identify feature(s) on the currently selected layer
+  void identify();
+  //! Measure distance
+  void measure();
+  //! Measure area
+  void measureArea();
+  //! show the attribute table for the currently selected layer
+  void attributeTable();
+  
+  //! show python console
+  void showPythonDialog();
+
+  //! cuts selected features on the active layer to the clipboard
+  /**
+     \param layerContainingSelection  The layer that the selection will be taken from
+                                      (defaults to the active layer on the legend)
+   */
+  void editCut(QgsMapLayer * layerContainingSelection = 0);
+  //! copies selected features on the active layer to the clipboard
+  /**
+     \param layerContainingSelection  The layer that the selection will be taken from
+                                      (defaults to the active layer on the legend)
+   */
+  void editCopy(QgsMapLayer * layerContainingSelection = 0);
+  //! copies features on the clipboard to the active layer
+  /**
+     \param destinationLayer  The layer that the clipboard will be pasted to
+                              (defaults to the active layer on the legend)
+   */
+  void editPaste(QgsMapLayer * destinationLayer = 0);
+
+
+signals:
+  /** emitted when a key is pressed and we want non widget sublasses to be able
+    to pick up on this (e.g. maplayer) */
+  void keyPressed (QKeyEvent *e);
+
+  /** emitted when a project file is successfully read
+    @note
+    This is useful for plug-ins that store properties with project files.  A
+    plug-in can connect to this signal.  When it is emitted, the plug-in
+    knows to then check the project properties for any relevant state.
+    */
+  void projectRead();
+  /** emitted when starting an entirely new project
+    @note
+    This is similar to projectRead(); plug-ins might want to be notified
+    that they're in a new project.  Yes, projectRead() could have been
+    overloaded to be used in the case of new projects instead.  However,
+    it's probably more semantically correct to have an entirely separate
+    signal for when this happens.
+    */
+  void newProject();
+
+  //! emitted when a new bookmark is added 
+  void bookmarkAdded();
+
+private:
+  /** Add a raster layer to the map (passed in as a ptr). 
+   * It won't force a refresh unless you explicitly
+   * use the force redraw flag.
+   */
+  bool addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRedrawFlag=false);
+  //@todo We should move these next two into vector layer class
+  /** This helper checks to see whether the filename appears to be a valid vector file name */
+  bool isValidVectorFileName (QString theFileNameQString);
+  /** Overloaded version of the above function provided for convenience that takes a qstring pointer */
+  bool isValidVectorFileName (QString * theFileNameQString);
+  /** add this file to the recently opened/saved projects list
+   *  pass settings by reference since creating more than one
+   * instance simultaneously results in data loss.
+   */
+  void saveRecentProjectPath(QString projectPath, QSettings & settings);
+  //! Update file menu with the current list of recently accessed projects
+  void updateRecentProjectPaths();
+  //! Read Well Known Binary stream from PostGIS
+  //void readWKB(const char *, QStringList tables);
+  //! test function
+  void testButton();
+  //! shows the paste-transformations dialog
+  void pasteTransformations();
+  //! check to see if file is dirty and if so, prompt the user th save it
+  bool saveDirty();
+  //! Have some control over closing of the application
+  virtual void closeEvent(QCloseEvent* event);
+
+  /// QgisApp aren't copyable
+  QgisApp( QgisApp const & );
+  /// QgisApp aren't copyable
+  QgisApp & operator=( QgisApp const & );
+
+  void readSettings();
+  void writeSettings();
+  void createActions();
+  void createActionGroups();
+  void createMenus();
+  void createToolBars();
+  void createStatusBar();
+  void setupConnections();
+  void createLegend();
+  void createOverview();
+  void createCanvas();
+  bool createDB();
+  //toolbars ----------------------------------------
+  QToolBar *mFileToolBar;
+  QToolBar *mLayerToolBar;
+  QToolBar *mMapNavToolBar;
+  QToolBar *mDigitizeToolBar;
+  QToolBar *mAttributesToolBar;
+  QToolBar *mPluginToolBar;
+  QToolBar *mHelpToolBar;
+  //
+  //toolbar buttons ---------------------------------
+  QAction *mActionFileNew;
+  QAction *mActionFileSave;
+  QAction *mActionFileSaveAs;
+  QAction *mActionFileOpen;
+  QAction *mActionFilePrint;
+  QAction *mActionSaveMapAsImage;
+  QAction *mActionExportMapServer;
+  QAction *mActionFileExit;
+  QAction *mActionAddNonDbLayer;
+  QAction *mActionAddRasterLayer;
+  QAction *mActionAddLayer;
+  QAction *mActionRemoveLayer;
+  QAction *mActionNewVectorLayer;
+  QAction *mActionAddAllToOverview;
+  QAction *mActionHideAllLayers;
+  QAction *mActionShowAllLayers;
+  QAction *mActionRemoveAllFromOverview;
+  QAction *mActionLayerProperties;
+  QAction *mActionProjectProperties;
+  QAction *mActionShowPluginManager;
+  QAction *mActionCheckQgisVersion;
+  QAction *mActionOptions;
+  QAction *mActionHelpContents;
+  QAction *mActionQgisHomePage;
+  QAction *mActionHelpAbout;
+  QAction *mArawAction;
+  QAction *mActionToggleEditing;
+  QAction *mActionCapturePoint;
+  QAction *mActionCaptureLine;
+  QAction *mActionCapturePolygon;
+  QAction *mActionDeleteSelected;
+  QAction *mActionAddVertex;
+  QAction *mActionDeleteVertex;
+  QAction *mActionMoveVertex;
+  QAction *mActionAddRing;
+  QAction *mActionAddIsland;
+  QAction *mActionEditCut;
+  QAction *mActionEditCopy;
+  QAction *mActionEditPaste;
+  QAction *mActionZoomIn;
+  QAction *mActionZoomOut;
+  QAction *mActionZoomFullExtent;
+  QAction *mActionZoomToSelected;
+  QAction *mActionPan;
+  QAction *mActionZoomLast;
+  QAction *mActionZoomToLayer;
+  QAction *mActionIdentify;
+  QAction *mActionSelect;
+  QAction *mActionOpenTable;
+  QAction *mActionMeasure;
+  QAction *mActionMeasureArea;
+  QAction *mActionShowBookmarks;
+  QAction *mActionNewBookmark;
+  QAction *mActionCustomProjection;
+  QAction *mActionAddWmsLayer;
+  QAction *mActionInOverview;
+  QAction *mActionDraw;
+  QAction *mActionShowAllToolbars;
+  QAction *mActionHideAllToolbars;
+#ifdef HAVE_PYTHON
+  QAction *mActionShowPythonDialog;
+#endif
+  //
+  //tool groups -------------------------------------
+  QActionGroup *mMapToolGroup;
+  //
+  //menus   -----------------------------------------
+  QMenu *mFileMenu;
+  QMenu *mRecentProjectsMenu;
+  QMenu *mViewMenu;
+  QMenu *mToolbarMenu;
+  QMenu *mLayerMenu;
+  QMenu *mSettingsMenu;
+  QMenu *mHelpMenu;
+
+  class Tools
+  {
+    public:
+      QgsMapTool* mZoomIn;
+      QgsMapTool* mZoomOut;
+      QgsMapTool* mPan;
+      QgsMapTool* mIdentify;
+      QgsMapTool* mMeasureDist;
+      QgsMapTool* mMeasureArea;
+      QgsMapTool* mCapturePoint;
+      QgsMapTool* mCaptureLine;
+      QgsMapTool* mCapturePolygon;
+      QgsMapTool* mSelect;
+      QgsMapTool* mVertexAdd;
+      QgsMapTool* mVertexMove;
+      QgsMapTool* mVertexDelete;
+      QgsMapTool* mAddRing;
+      QgsMapTool* mAddIsland;
+  } mMapTools;
+  
+  //!The name of the active theme
+  QString mThemeName;
+
+  //! Widget that will live on the statusbar to display "scale 1:"
+  QLabel * mScaleLabel;
+  //! Widget that will live on the statusbar to display scale value
+  QLineEdit * mScaleEdit;
+  //! The validator for the mScaleEdit
+  QValidator * mScaleEditValidator;
+  //! Widget that will live in the statusbar to display coords
+  QLabel * mCoordsLabel;
+  //! Widget that will live in the statusbar to show progress of operations
+  QProgressBar * mProgressBar;
+  //! Widget used to suppress rendering
+  QCheckBox * mRenderSuppressionCBox;
+  //! Widget in status bar used to show status of on the fly projection
+  QToolButton * mOnTheFlyProjectionStatusButton;
+  //! Popup menu
+  QMenu * mPopupMenu;
+  //! Top level plugin menu
+  QMenu *mPluginMenu;
+  //! Popup menu for the map overview tools
+  QMenu *toolPopupOverviews;
+  //! Popup menu for the display tools
+  QMenu *toolPopupDisplay;
+  //! Popup menu for the capture tools
+  QMenu *toolPopupCapture;
+  //! Map canvas
+  QgsMapCanvas *mMapCanvas;
+  //! Table of contents (legend) for the map
+  QgsLegend *mMapLegend;
+  //! Cursor for the overview map
+  QCursor *mOverviewMapCursor;
+  //! scale factor
+  double mScaleFactor;
+  //! Current map window extent in real-world coordinates
+  QRect *mMapWindow;
+  //! The previously selected non zoom map tool.
+  int mPreviousNonZoomMapTool;
+  //QCursor *mCursorZoomIn; //doesnt seem to be used anymore (TS)
+  QString mStartupPath;
+  //! full path name of the current map file (if it has been saved or loaded)
+  QString mFullPathName;
+
+  //! interface to QgisApp for plugins
+  QgisAppInterface *mQgisInterface;
+  friend class QgisAppInterface;
+
+  QTcpSocket *mSocket;
+  QString mVersionMessage;
+  QSplashScreen *mSplash;
+  //! help viewer
+  QgsHelpViewer *mHelpViewer;
+  //! menu map (key is name, value is menu id)
+  std::map<QString, int>mMenuMapByName;
+  //! menu map (key is menu id, value is name)
+  std::map<int, QString>mMenuMapById;
+  //! list of recently opened/saved project files
+  QStringList mRecentProjectPaths;
+  //! Map composer
+  QgsComposer *mComposer;
+  //! How to determine the number of decimal places used to
+  //! display the mouse position
+  bool mMousePrecisionAutomatic;
+  //! The number of decimal places to use if not automatic
+  unsigned int mMousePrecisionDecimalPlaces;
+  /** QGIS-internal vector feature clipboard */
+  QgsClipboard* mInternalClipboard;
+  //! Flag to indicate how the project properties dialog was summoned
+  bool mShowProjectionTab;
+  /** String containing supporting vector file formats 
+    Suitable for a QFileDialog file filter.  Build in ctor.
+    */
+  QString mVectorFileFilter;
+  /** String containing supporting raster file formats 
+    Suitable for a QFileDialog file filter.  Build in ctor.
+    */
+  QString mRasterFileFilter;
+
+#ifdef HAVE_PYTHON
+  QgsPythonDialog* mPythonConsole;
+#endif
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgisappinterface.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgisappinterface.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgisappinterface.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,142 @@
+/***************************************************************************
+                          qgisappinterface.cpp
+                          Interface class for accessing exposed functions
+                          in QgisApp
+                             -------------------
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgisappinterface.cpp 7114 2007-07-30 07:58:57Z mhugent $ */
+
+#include <iostream>
+#include <QString>
+#include <QMenu>
+
+#include "qgisappinterface.h"
+#include "qgisapp.h"
+#include "qgsmaplayer.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsmapcanvas.h"
+#include "qgslegend.h"
+
+QgisAppInterface::QgisAppInterface(QgisApp * _qgis)
+  : qgis(_qgis)
+{
+    // connect signals
+    connect ( qgis->legend(), SIGNAL(currentLayerChanged(QgsMapLayer *)),
+              this, SIGNAL(currentLayerChanged(QgsMapLayer *)) );
+
+}
+
+QgisAppInterface::~QgisAppInterface()
+{
+}
+
+void QgisAppInterface::zoomFull()
+{
+  qgis->zoomFull();
+}
+
+void QgisAppInterface::zoomPrevious()
+{
+  qgis->zoomPrevious();
+}
+
+void QgisAppInterface::zoomActiveLayer()
+{
+  qgis->zoomToLayerExtent();
+}
+
+bool QgisAppInterface::addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)
+{
+  qgis->addVectorLayer(vectorLayerPath, baseName, providerKey);
+  //TODO fix this so it returns something meaningfull
+  return true;
+}
+
+bool QgisAppInterface::addRasterLayer(QString rasterLayerPath)
+{
+  return qgis->addRasterLayer( QStringList(rasterLayerPath) );
+}
+
+bool QgisAppInterface::addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRenderFlag)
+{
+  return qgis->addRasterLayer(theRasterLayer, theForceRenderFlag);
+}
+
+bool QgisAppInterface::addProject(QString theProjectName)
+{
+  return qgis->addProject(theProjectName);
+}
+
+void QgisAppInterface::newProject(bool thePromptToSaveFlag)
+{
+  qgis->fileNew(thePromptToSaveFlag);
+}
+
+QgsMapLayer *QgisAppInterface::activeLayer()
+{
+  return qgis->activeLayer();
+}
+
+void QgisAppInterface::addPluginMenu(QString name, QAction* action)
+{
+  qgis->addPluginMenu(name, action);
+}
+
+void QgisAppInterface::removePluginMenu(QString name, QAction* action)
+{
+  qgis->removePluginMenu(name, action);
+}
+
+int QgisAppInterface::addToolBarIcon(QAction * qAction)
+{
+  // add the menu to the master Plugins menu
+  return qgis->addPluginToolBarIcon(qAction);
+}
+void QgisAppInterface::removeToolBarIcon(QAction *qAction)
+{
+  qgis->removePluginToolBarIcon(qAction);
+}
+QToolBar* QgisAppInterface::addToolBar(QString name)
+{
+  return qgis->addToolBar(name);
+}
+void QgisAppInterface::openURL(QString url, bool useQgisDocDirectory)
+{
+  qgis->openURL(url, useQgisDocDirectory);
+}
+
+std::map<QString, int> QgisAppInterface::menuMapByName()
+{
+  return qgis->menuMapByName();
+}
+
+std::map<int, QString> QgisAppInterface::menuMapById()
+{
+  return qgis->menuMapById();
+}
+  
+QgsMapCanvas * QgisAppInterface::getMapCanvas()
+{
+  return qgis->getMapCanvas();
+}
+
+QWidget * QgisAppInterface::getMainWindow()
+{
+  return qgis;
+}
+
+QToolBox* QgisAppInterface::getToolBox()
+{
+  return qgis->toolBox;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgisappinterface.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgisappinterface.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgisappinterface.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,120 @@
+/***************************************************************************
+                          qgisappinterface.h 
+ Interface class for exposing functions in QgisApp for use by plugins
+                             -------------------
+  begin                : 2004-02-11
+  copyright            : (C) 2004 by Gary E.Sherman
+  email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgisappinterface.h 7114 2007-07-30 07:58:57Z mhugent $ */
+#ifndef QGISIFACE_H
+#define QGISIFACE_H
+
+#include "qgisinterface.h"
+
+class QgisApp;
+
+/** \class QgisAppInterface
+ * \brief Interface class to provide access to private methods in QgisApp
+ * for use by plugins.
+ * 
+ * Only those functions "exposed" by QgisInterface can be called from within a
+ * plugin.
+ */
+class QgisAppInterface : public QgisInterface
+{
+    Q_OBJECT;
+
+    public:
+        /**
+         * Constructor.
+         * @param qgis Pointer to the QgisApp object
+         */
+        QgisAppInterface(QgisApp *qgisapp);
+        ~QgisAppInterface();
+
+        /* Exposed functions */
+        //! Zoom map to full extent
+        void zoomFull();
+        //! Zoom map to previous extent
+        void zoomPrevious();
+        //! Zoom to active layer
+        void zoomActiveLayer();
+
+        //! Add a vector layer
+        bool addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey);
+        //! Add a raster layer given its file name
+        bool addRasterLayer(QString rasterLayerPath);
+        //! Add a raster layer given a raster layer obj
+        bool addRasterLayer(QgsRasterLayer * theRasterLayer,bool theForceRenderFlag=false);
+
+        //! Add a project
+        bool addProject(QString theProjectName);
+        //! Start a new blank project
+        void newProject(bool thePromptToSaveFlag=false);
+
+        //! Get pointer to the active layer (layer selected in the legend)
+        QgsMapLayer *activeLayer();
+
+        //! Add an icon to the plugins toolbar
+        int addToolBarIcon(QAction *qAction);
+        //! Remove an icon (action) from the plugin toolbar
+        void removeToolBarIcon(QAction *qAction);
+        //! Add toolbar with specified name
+        QToolBar* addToolBar(QString name);
+
+        /** Open a url in the users browser. By default the QGIS doc directory is used
+         * as the base for the URL. To open a URL that is not relative to the installed
+         * QGIS documentation, set useQgisDocDirectory to false.
+         * @param url URL to open
+         * @param useQgisDocDirectory If true, the URL will be formed by concatenating 
+         * url to the QGIS documentation directory path (<prefix>/share/doc)
+         */
+        void openURL(QString url, bool useQgisDocDirectory=true);
+
+        /** Get the menu info mapped by menu name (key is name, value is menu id) */
+        std::map<QString,int> menuMapByName();
+        /** Get the menu info mapped by menu id (key is menu id, value is name) */
+        std::map<int,QString> menuMapById();
+
+        /** Return a pointer to the map canvas used by qgisapp */
+        QgsMapCanvas * getMapCanvas();	
+
+        /** Gives access to main QgisApp object
+
+            Plugins don't need to know about QgisApp, as we pass it as QWidget,
+            it can be used for connecting slots and using as widget's parent
+        */
+        QWidget * getMainWindow();
+
+        /** Add action to the plugins menu */
+        void addPluginMenu(QString name, QAction* action); 
+        /** Remove action from the plugins menu */
+        void removePluginMenu(QString name, QAction* action); 
+
+        /** Return a pointer to the toolbox (where additional pages can be inserted) */
+        virtual QToolBox* getToolBox();
+
+    private:
+
+        /// QgisInterface aren't copied
+        QgisAppInterface( QgisAppInterface const & );
+        
+        /// QgisInterface aren't copied
+        QgisAppInterface & operator=( QgisAppInterface const & );
+
+        //! Pointer to the QgisApp object
+        QgisApp *qgis;
+};
+
+
+#endif //#define QGISAPPINTERFACE_H

Added: packages/qgis/branches/upstream/current/src/app/qgsabout.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsabout.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsabout.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,271 @@
+/***************************************************************************
+                          qgsabout.cpp  -  description
+                             -------------------
+    begin                : Sat Aug 10 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsabout.cpp 6623 2007-02-18 04:59:10Z timlinux $ */
+
+#include "qgsabout.h"
+#include "qgsapplication.h"
+#ifdef Q_OS_MACX
+#include <ApplicationServices/ApplicationServices.h>
+#else
+#include <QInputDialog>
+#include <QProcess>
+#include <QSettings>
+#endif
+#include <QFile>
+#include <QTextStream>
+#include <iostream>
+
+/* Uncomment this block to use preloaded images
+#include <map>
+std::map<QString, QPixmap> mugs;
+*/
+
+QgsAbout::QgsAbout()
+: QDialog(NULL, Qt::WindowSystemMenuHint)  // Modeless dialog with close button only
+{
+  setupUi(this);
+  init();
+}
+
+QgsAbout::~QgsAbout()
+{
+}
+
+void QgsAbout::init()
+{
+  // set the 60x60 icon pixmap
+  QPixmap icon(QgsApplication::iconsPath() + "qgis-icon-60x60.png");
+  qgisIcon->setPixmap(icon);
+  //read the authors file to populate the contributors list
+  QStringList lines;
+
+  QFile file(QgsApplication::authorsFilePath());
+#ifdef QGISDEBUG
+  printf (("Reading authors file " + file.name() +
+      ".............................................\n").toLocal8Bit().data());
+#endif
+  if ( file.open( QIODevice::ReadOnly ) ) {
+    QTextStream stream( &file );
+    QString line;
+#ifdef QGISDEBUG 
+    int i = 1; 
+#endif 
+
+    while ( !stream.atEnd() ) 
+    {
+      line = stream.readLine(); // line of text excluding '\n'
+      //ignore the line if it starts with a hash....
+      if (line.left(1)=="#") continue;
+#ifdef QGISDEBUG 
+      printf( "Contributor: %3d: %s\n", i++, (const char *)line.toLocal8Bit().data() );
+#endif 
+      QStringList myTokens = QStringList::split("\t",line);
+      //printf ("Added contributor name to listbox: %s ",myTokens[0]);
+      lines += myTokens[0];
+
+      // add the image to the map
+      /* Uncomment this block to preload the images (takes time at initial startup)
+      QString authorName = myTokens[0].replace(" ","_");
+
+      QString myString =QString(appPath + "/images/developers/") + authorName + QString(".jpg");
+      printf ("Loading mug: %s\n", myString.toLocal8Bit().data()); 
+      QPixmap *pixmap = new QPixmap(myString);
+      mugs[myTokens[0]] = *pixmap;
+      */
+    }
+    file.close();
+    listBox1->clear();
+    listBox1->insertItems(0, lines);
+
+    // Load in the image for the first author
+    if (listBox1->count() > 0)
+      listBox1->setCurrentRow(0);
+  }
+
+  // read the SPONSORS file and populate the text widget
+    QFile sponsorFile(QgsApplication::sponsorsFilePath());
+  #ifdef QGISDEBUG
+    printf (("Reading sponsors file " + sponsorFile.name() +
+        ".............................................\n").toLocal8Bit().data());
+  #endif
+    if ( sponsorFile.open( QIODevice::ReadOnly ) ) {
+      QString sponsorHTML = "<html><body><h2>"
+        + tr("QGIS Sponsors") + "</h2><center>"
+
+        + tr("The following have sponsored QGIS by contributing money to fund development and other project costs")
+        + "</center><hr>"
+        + "<table border='1' cellpadding='1' width='100%'>"
+        + "<tr><th>" + tr("Name") + "</th><th>" + tr("Website") + "</th>"
+        + "<th></th>"
+        + "</th><th>" + tr("Name") + "</th><th>" + tr("Website") + "</th></tr>";
+      QString website;
+      QTextStream sponsorStream( &sponsorFile );
+      QString sline;
+      int count = 0;
+      while ( !sponsorStream.atEnd() ) 
+      {
+        sline = sponsorStream.readLine(); // line of text excluding '\n'
+        //ignore the line if it starts with a hash....
+        if (sline.left(1)=="#") continue;
+        count++;
+        QStringList myTokens = QStringList::split("|",sline);
+        if(myTokens.size() > 1)
+        {
+          website = myTokens[1];
+        }
+        else
+        { 
+          website = "&nbsp;";
+        }
+        if(count == 1){
+          sponsorHTML += "<tr>";
+        }
+        if(count == 2)
+        {
+          // a spacer between donator columns
+          sponsorHTML += "<td></td>";
+        }
+        sponsorHTML += "<td>" + myTokens[0] + "</td><td>" + website + "</td>";
+        if(count == 2){
+          // close the row 
+          sponsorHTML += "</tr>";
+          count = 0;
+        }
+        
+      }
+      sponsorHTML += "</table></body></html>";
+
+      txtSponsors->setAcceptRichText(true);
+      txtSponsors->setHtml(sponsorHTML);
+      #ifdef QGISDEBUG
+       std::cout << "sponsorHTML:" << sponsorHTML.ascii() << std::endl;
+       std::cout << "txtSponsors:" << txtSponsors->toHtml().ascii() << std::endl;
+      #endif
+    }
+}
+
+void QgsAbout::setVersion(QString v)
+{
+  lblVersion->setText(v);
+}
+
+void QgsAbout::setURLs(QString urls)
+{
+  lblUrls->setText(urls);
+}
+
+void QgsAbout::setWhatsNew(QString txt)
+{
+  txtWhatsNew->setText(txt);
+}
+
+void QgsAbout::setPluginInfo(QString txt)
+{
+  txtBrowserPlugins->setText(txt);
+}
+
+void QgsAbout::on_buttonCancel_clicked()
+{
+  reject();
+}
+
+void QgsAbout::on_listBox1_currentItemChanged(QListWidgetItem *theItem)
+{
+  //replace spaces in author name
+#ifdef QGISDEBUG 
+  printf ("Loading mug: "); 
+#endif 
+  QString myString = listBox1->currentItem()->text();
+  myString = myString.replace(" ","_");
+#ifdef QGISDEBUG 
+  printf ("Loading mug: %s", (const char *)myString.toLocal8Bit().data()); 
+#endif 
+  myString = QgsApplication::developerPath() + myString + QString(".jpg");
+#ifdef QGISDEBUG 
+  printf ("Loading mug: %s\n", (const char *)myString.toLocal8Bit().data()); 
+#endif 
+  QPixmap *pixmap = new QPixmap(myString);
+  pixAuthorMug->setPixmap(*pixmap);
+  /* Uncomment this block to use preloaded images
+  pixAuthorMug->setPixmap(mugs[myString]);
+  */
+}
+
+void QgsAbout::on_btnQgisUser_clicked()
+{
+  // find a browser
+  QString url = "http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-user";
+  openUrl(url);
+}
+
+void QgsAbout::on_btnQgisHome_clicked()
+{
+  openUrl("http://qgis.org");
+}
+
+void QgsAbout::openUrl(QString url)
+{
+#ifdef Q_OS_MACX
+  /* Use Mac OS X Launch Services which uses the user's default browser
+   * and will just open a new window if that browser is already running.
+   * QProcess creates a new browser process for each invocation and expects a
+   * commandline application rather than a bundled application.
+   */
+  CFURLRef urlRef = CFURLCreateWithBytes(kCFAllocatorDefault,
+      reinterpret_cast<const UInt8*>(url.utf8().data()), url.length(),
+      kCFStringEncodingUTF8, NULL);
+  OSStatus status = LSOpenCFURLRef(urlRef, NULL);
+  status = 0; // avoid compiler warnings
+  CFRelease(urlRef);
+#else
+  QSettings settings;
+  QString browser = settings.readEntry("/qgis/browser");
+  if (browser.length() == 0)
+  {
+    // ask user for browser and use it
+    bool ok;
+    QString text = QInputDialog::getText(tr("QGIS Browser Selection"),
+	 tr("Enter the name of a web browser to use (eg. konqueror).\n"
+	    "Enter the full path if the browser is not in your PATH.\n"
+            "You can change this option later by selection Options from"
+	    " the Settings menu (Help Browser tab)."),
+        QLineEdit::Normal,
+        QString::null, &ok, this);
+    if (ok && !text.isEmpty())
+    {
+      // user entered something and pressed OK
+      browser = text;
+      // save the setting
+      settings.writeEntry("/qgis/browser", browser);
+    } else
+    {
+      browser = "";
+    }
+  }
+  if (browser.length() > 0)
+  {
+    // find the installed location of the help files
+    // open index.html using browser
+    //XXX for debug on win32    QMessageBox::information(this, "Help opening...", browser + " - " + url);
+    QProcess *helpProcess = new QProcess(this);
+    helpProcess->start(browser, QStringList() << url);
+  }
+#endif
+  /*  mHelpViewer = new QgsHelpViewer(this,"helpviewer",false);
+      mHelpViewer->showContent(mAppDir +"/share/doc","index.html");
+      mHelpViewer->show(); */
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsabout.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsabout.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsabout.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,45 @@
+/***************************************************************************
+                          qgsabout.h  -  description
+                             -------------------
+    begin                : Sat Aug 10 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id:$ */
+#ifndef QGSABOUT_H
+#define QGSABOUT_H
+
+#include "ui_qgsabout.h"
+
+class QgsAbout : public QDialog, private Ui::QgsAbout
+{
+  Q_OBJECT
+  public:
+    QgsAbout();
+    ~QgsAbout();
+    void setVersion(QString v);
+    void setURLs(QString urls);
+    void setWhatsNew(QString txt);
+    void setPluginInfo(QString txt);
+
+  private:
+    void init();
+    void openUrl(QString url);
+
+  private slots:
+    void on_buttonCancel_clicked();
+    void on_listBox1_currentItemChanged(QListWidgetItem *theItem);
+    void on_btnQgisUser_clicked();
+    void on_btnQgisHome_clicked();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,58 @@
+/***************************************************************************
+                         qgsaddattrdialog.h  -  description
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsaddattrdialog.h"
+#include "qgsvectordataprovider.h"
+
+QgsAddAttrDialog::QgsAddAttrDialog(QgsVectorDataProvider* provider, QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl), mDataProvider(provider)
+{
+    setupUi(this);
+    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
+    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+
+    //fill data types into the combo box    
+    const QSet<QString>& typelist=mDataProvider->supportedNativeTypes();
+
+    for(QSet<QString>::const_iterator it = typelist.constBegin(); it != typelist.constEnd(); ++it)
+      {
+	mTypeBox->insertItem(*it);
+      }
+}
+
+QgsAddAttrDialog::QgsAddAttrDialog(const std::list<QString>& typelist, QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl), mDataProvider(0)
+{
+    setupUi(this);
+    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
+    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+
+    for(std::list<QString>::const_iterator iter=typelist.begin();iter!=typelist.end();++iter)
+    {
+	mTypeBox->insertItem(*iter);
+    }
+}
+
+QString QgsAddAttrDialog::name() const
+{
+    return mNameEdit->text();
+}
+
+QString QgsAddAttrDialog::type() const
+{
+    return mTypeBox->currentText();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsaddattrdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,40 @@
+/***************************************************************************
+                         qgsaddattrdialog.h  -  description
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef QGSADDATTRDIALOG_H
+#define QGSADDATTRDIALOG_H
+
+#include "ui_qgsaddattrdialogbase.h"
+#include "qgisgui.h"
+
+class QgsVectorDataProvider;
+
+class QgsAddAttrDialog: public QDialog, private Ui::QgsAddAttrDialogBase
+{
+    Q_OBJECT
+ public:
+    QgsAddAttrDialog(QgsVectorDataProvider* provider,
+                     QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    QgsAddAttrDialog(const std::list<QString>& typelist,
+                     QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    QString name() const;
+    QString type() const;
+ protected:
+    QgsVectorDataProvider* mDataProvider;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,308 @@
+/***************************************************************************
+                qgsattributeactiondialog.cpp  -  attribute action dialog
+                             -------------------
+
+This class creates and manages the Action tab of the Vector Layer
+Properties dialog box. Changes made in the dialog box are propagated
+back to QgsVectorLayer.
+
+    begin                : October 2004
+    copyright            : (C) 2004 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+ ***************************************************************************/
+ 
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributeactiondialog.cpp 6618 2007-02-17 17:30:54Z homann $ */
+
+#include "qgsattributeactiondialog.h"
+#include "qgsattributeaction.h"
+
+#include <QFileDialog>
+
+
+QgsAttributeActionDialog::QgsAttributeActionDialog(QgsAttributeAction* actions,
+						   const QgsFieldMap& fields,
+						   QWidget* parent):
+  QWidget(parent), mActions(actions)
+{
+  setupUi(this);
+  connect(attributeActionTable, SIGNAL(clicked(int,int,int,const QPoint&)),
+    this, SLOT(rowSelected(int,int,int,const QPoint&)));
+  connect(moveUpButton, SIGNAL(clicked()), this, SLOT(moveUp()));
+  connect(moveDownButton, SIGNAL(clicked()), this, SLOT(moveDown()));
+  connect(removeButton, SIGNAL(clicked()), this, SLOT(remove()));
+  connect(browseButton, SIGNAL(clicked()), this, SLOT(browse()));
+  connect(insertButton, SIGNAL(clicked()), this, SLOT(insert()));
+  connect(updateButton, SIGNAL(clicked()), this, SLOT(update()));
+  connect(insertFieldButton, SIGNAL(clicked()), this, SLOT(insertField()));
+
+  init();
+  // Populate the combo box with the field names. Will the field names
+  // change? If so, they need to be passed into the init() call, or
+  // some access to them retained in this class.
+  for (QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); it++)
+    fieldComboBox->insertItem(it->name());
+}
+
+void QgsAttributeActionDialog::init()
+{
+  Q3Header* header = attributeActionTable->horizontalHeader();
+  header->setLabel(0, tr("Name") );
+  header->setLabel(1, tr("Action") );
+  header->setLabel(2, tr("Capture") );
+
+  attributeActionTable->setColumnStretchable(0, true);
+  attributeActionTable->setColumnStretchable(1, true);
+  attributeActionTable->setColumnStretchable(2, true);
+
+  // Start from a fresh slate.
+  for (int i = attributeActionTable->numRows()-1; i >= 0; --i)
+    attributeActionTable->removeRow(i);
+
+  // Populate with our actions.
+  QgsAttributeAction::AttributeActions::const_iterator 
+    iter = mActions->begin();
+  int i = 0;
+  for (; iter != mActions->end(); ++iter, ++i)
+  {
+    attributeActionTable->insertRows(i);
+    attributeActionTable->setText(i, 0, iter->name());
+    attributeActionTable->setText(i, 1, iter->action());
+    Q3CheckTableItem* cp = new Q3CheckTableItem(attributeActionTable, "");
+    cp->setEnabled(false);
+    if (iter->capture())
+      cp->setChecked(true);
+    else
+      cp->setChecked(false);
+
+    attributeActionTable->setItem(i, 2, cp);
+  }
+}
+
+void QgsAttributeActionDialog::moveUp()
+{
+  // Swap the selected row with the one above
+
+  int row1 = -1, row2 = -1;
+  for (int i = 0; i < attributeActionTable->numRows(); ++i)
+    if (attributeActionTable->isRowSelected(i))
+      row1 = i;
+
+  if (row1 > 0)
+    row2 = row1 - 1;
+  
+  if (row1 != -1 && row2 != -1)
+  {
+    for (int i = 0; i < attributeActionTable->numSelections(); ++i)
+      attributeActionTable->removeSelection(i);
+
+    attributeActionTable->swapRows(row1, row2);
+    attributeActionTable->updateContents();
+    // Move the selection to follow
+    attributeActionTable->selectRow(row2);
+  }
+}
+
+void QgsAttributeActionDialog::moveDown()
+{
+  // Swap the selected row with the one below
+  int row1 = -1, row2 = -1;
+  for (int i = 0; i < attributeActionTable->numRows(); ++i)
+    if (attributeActionTable->isRowSelected(i))
+      row1 = i;
+
+  if (row1 < attributeActionTable->numRows()-1)
+    row2 = row1 + 1;
+  
+  if (row1 != -1 && row2 != -1)
+  {
+    for (int i = 0; i < attributeActionTable->numSelections(); ++i)
+      attributeActionTable->removeSelection(i);
+
+    attributeActionTable->swapRows(row1, row2);
+    attributeActionTable->updateContents();
+    // Move the selection to follow
+    attributeActionTable->selectRow(row2);
+  }
+}
+
+void QgsAttributeActionDialog::browse()
+{
+  // Popup a file browser and place the results into the actionName
+  // widget 
+
+  QString action = QFileDialog::getOpenFileName(
+    this, tr("Select an action","File dialog window title") );
+
+  if (!action.isNull())
+    actionAction->insert(action);    
+}
+
+void QgsAttributeActionDialog::remove()
+{
+  // Remove the selected row. Remember which row was selected.
+  int row = -1;
+  for (int i = 0; i < attributeActionTable->numRows(); ++i)
+    if (attributeActionTable->isRowSelected(i))
+    {
+      row = i;
+      break;
+    }
+
+  if (row != -1)
+  {
+    attributeActionTable->removeRow(row);
+    attributeActionTable->clearSelection();
+
+    // And select the row below the one that was selected or the last
+    // one, or none.
+    // Note something is not quite right here. The highlight in the
+    // QTable isn't turning on when a row is selected. Don't
+    // understand why. Needs a bit more investigation.
+    if (row < attributeActionTable->numRows())
+      attributeActionTable->selectRow(row);
+    else if (attributeActionTable->numRows() > 0)
+      attributeActionTable->selectRow(attributeActionTable->numRows()-1);
+  }
+}
+
+void QgsAttributeActionDialog::insert()
+{
+  // Add the action details as a new row in the table. 
+
+  int pos = attributeActionTable->numRows();
+  insert(pos);
+}
+
+void QgsAttributeActionDialog::insert(int pos)
+{
+  // Get the action details and insert into the table at the given
+  // position. Name needs to be unique, so make it so if required. 
+
+  // If the new action name is the same as the action name in the
+  // given pos, don't make the new name unique (because we're
+  // replacing it).
+
+  QString name;
+  if (actionName->text() == attributeActionTable->text(pos, 0))
+    name = actionName->text();
+  else
+    name = uniqueName(actionName->text());
+
+  // Expand the table to have a row with index pos
+  int numRows = attributeActionTable->numRows();
+  if (pos >= numRows)
+    attributeActionTable->insertRows(numRows, pos-numRows+1);
+
+  attributeActionTable->setText(pos, 0, name);
+  attributeActionTable->setText(pos, 1, actionAction->text());
+  Q3CheckTableItem* cp = new Q3CheckTableItem(attributeActionTable, "");
+  cp->setEnabled(false);
+  if (captureCB->isChecked())
+    cp->setChecked(true);
+  else
+    cp->setChecked(false);
+
+  attributeActionTable->setItem(pos, 2, cp);
+}
+
+void QgsAttributeActionDialog::update()
+{
+  // Updates the action that is selected with the
+  // action details.
+  for (int i = 0; i < attributeActionTable->numRows(); ++i)
+    if (attributeActionTable->isRowSelected(i))
+    {
+      insert(i);
+      break;
+    }
+}
+
+void QgsAttributeActionDialog::insertField()
+{
+  // Take the selected field, preprend a % and insert into the action
+  // field at the cursor position
+
+  if (!fieldComboBox->currentText().isNull())
+  {
+    QString field("%");
+    field += fieldComboBox->currentText();
+    actionAction->insert(field);
+  }
+}
+
+void QgsAttributeActionDialog::apply()
+{
+  // Update the contents of mActions from the UI.
+
+  mActions->clearActions();
+  for (int i = 0; i < attributeActionTable->numRows(); ++i)
+  {
+    if (!attributeActionTable->text(i, 0).isEmpty() &&
+	!attributeActionTable->text(i, 1).isEmpty())
+    {
+      Q3CheckTableItem* cp = (Q3CheckTableItem*) (attributeActionTable->item(i, 2));
+      mActions->addAction(attributeActionTable->text(i, 0),
+			  attributeActionTable->text(i, 1),
+			  cp->isChecked());
+    }
+  }
+}
+
+void QgsAttributeActionDialog::rowSelected(int row, int col, int button, 
+					   const QPoint& pos)
+{
+  // The user has selected a row. We take the contents of that row and
+  // populate the edit section of the dialog so that they can change
+  // the row if desired.
+
+  Q3CheckTableItem* cp = (Q3CheckTableItem*) (attributeActionTable->item(row, 2));
+  if ( cp )
+  {
+    // Only if a populated row was selected
+    actionName->setText(attributeActionTable->text(row, 0));
+    actionAction->setText(attributeActionTable->text(row, 1));
+    captureCB->setChecked(cp->isChecked());
+  }
+}
+
+QString QgsAttributeActionDialog::uniqueName(QString name)
+{
+  // Make sure that the given name is unique, adding a numerical
+  // suffix if necessary.
+
+  int pos = attributeActionTable->numRows();
+  bool unique = true;
+
+  for (int i = 0; i < pos; ++i)
+  {
+    if (attributeActionTable->text(i, 0) == name)
+      unique = false;
+  }
+
+  if (!unique)
+  {
+    int suffix_num = 1;
+    QString new_name;
+    while (!unique)
+    {
+      QString suffix = QString::number(suffix_num);
+      new_name = name + "_" + suffix;
+      unique = true;
+      for (int i = 0; i < pos; ++i)
+	if (attributeActionTable->text(i, 0) == new_name)
+	  unique = false;
+      ++suffix_num;
+    }
+    name = new_name;
+  }
+  return name;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributeactiondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,69 @@
+/***************************************************************************
+                qgsattributeactiondialog.h  -  attribute action dialog
+                             -------------------
+
+This class creates and manages the Action tab of the Vector Layer
+Properties dialog box. Changes made in the dialog box are propagated
+back to QgsVectorLayer.
+
+    begin                : October 2004
+    copyright            : (C) 2004 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+ ***************************************************************************/
+ 
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributeactiondialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSATTRIBUTEACTIONDIALOG_H
+#define QGSATTRIBUTEACTIONDIALOG_H
+
+#include "ui_qgsattributeactiondialogbase.h"
+#include "qgsfield.h"
+#include <QMap>
+
+class QgsAttributeAction;
+
+typedef QMap<int, QgsField> QgsFieldMap;
+
+class QgsAttributeActionDialog: public QWidget, private Ui::QgsAttributeActionDialogBase
+{
+  Q_OBJECT;
+  
+ public:
+  QgsAttributeActionDialog(QgsAttributeAction* actions, 
+			   const QgsFieldMap& fields,
+			   QWidget* parent = 0);
+
+  ~QgsAttributeActionDialog() {};
+
+  void init();
+
+ public slots:
+  void moveUp();
+  void moveDown();
+  void browse();
+  void remove();
+  void insert();
+  void insertField();
+  void apply();
+  void update();
+  void rowSelected(int, int, int, const QPoint&);
+
+ private:
+ 
+  void insert(int pos);
+
+  QString uniqueName(QString name);
+
+  // Pointer to the QgsAttributeAction in the class that created us.
+  QgsAttributeAction* mActions;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsattributedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributedialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,139 @@
+/***************************************************************************
+                         qgsattributedialog.cpp  -  description
+                             -------------------
+    begin                : October 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributedialog.cpp 6976 2007-06-02 03:01:57Z gsherman $ */
+#include "qgsattributedialog.h"
+#include "qgsfield.h"
+#include "qgslogger.h"
+
+#include <QTableWidgetItem>
+#include <QSettings>
+
+QgsAttributeDialog::QgsAttributeDialog(const QgsFieldMap& fields, const QgsAttributeMap& attributes)
+  : QDialog(),
+    _settingsPath("/Windows/AttributeDialog/"),
+    mRowIsDirty(attributes.size(), FALSE)
+{
+    restorePositionAndColumnWidth();
+
+    setupUi(this);
+    mTable->setRowCount(attributes.size());
+
+    int index=0;
+    for (QgsAttributeMap::const_iterator it = attributes.begin(); it != attributes.end(); ++it)
+    {
+      // set attribute name
+      
+      QString fieldName = fields[it.key()].name();
+
+      QTableWidgetItem * myFieldItem = new QTableWidgetItem(fieldName);
+      myFieldItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+      mTable->setItem(index, 0, myFieldItem);
+
+      // set attribute value
+
+      QTableWidgetItem * myValueItem = new QTableWidgetItem((*it).toString());
+      mTable->setItem(index, 1, myValueItem);
+
+      ++index;
+    }
+
+    // setup the mechanism to track edited attribute values
+    // if we do it this way, only edited attributes will
+    // be attempted to be saved when the editing session stops.
+    connect(mTable, SIGNAL(cellChanged(int, int)),
+            this,   SLOT  (setAttributeValueChanged(int, int)));
+
+    mTable->resizeColumnsToContents();
+}
+
+QgsAttributeDialog::~QgsAttributeDialog()
+{
+
+}
+
+QString QgsAttributeDialog::value(int row)
+{
+  return mTable->item(row,1)->text();
+}
+
+bool QgsAttributeDialog::isDirty(int row)
+{
+  return mRowIsDirty.at(row);
+}
+
+bool QgsAttributeDialog::queryAttributes(const QgsFieldMap& fields, QgsFeature& f)
+{
+  QgsAttributeMap featureAttributes = f.attributeMap();
+  QgsAttributeDialog attdialog(fields, featureAttributes);
+
+  if (attdialog.exec() == QDialog::Accepted)
+  {
+    for (int i = 0; i < featureAttributes.size(); ++i)
+    {
+      f.changeAttribute(i, QVariant(attdialog.value(i)) );
+    }
+    return true;
+  }
+  else
+  {
+    return false;
+  }
+}
+
+void QgsAttributeDialog::savePositionAndColumnWidth()
+{
+  QSettings settings;
+  QPoint p = this->pos();
+  QSize s = this->size();
+  settings.writeEntry(_settingsPath+"x", p.x());
+  settings.writeEntry(_settingsPath+"y", p.y());
+  settings.writeEntry(_settingsPath+"w", s.width());
+  settings.writeEntry(_settingsPath+"h", s.height());
+
+}
+
+void QgsAttributeDialog::resizeEvent(QResizeEvent *event)
+ {
+  savePositionAndColumnWidth();
+  QWidget::resizeEvent(event);
+ }
+
+void QgsAttributeDialog::moveEvent(QMoveEvent *event)
+ {
+  savePositionAndColumnWidth();
+  QWidget::moveEvent(event);
+ }
+
+void QgsAttributeDialog::restorePositionAndColumnWidth()
+{
+  QSettings settings;
+  int ww = settings.readNumEntry(_settingsPath+"w", 281);
+  int wh = settings.readNumEntry(_settingsPath+"h", 316);
+  int wx = settings.readNumEntry(_settingsPath+"x", 100);
+  int wy = settings.readNumEntry(_settingsPath+"y", 100);
+
+  resize(ww,wh);
+  move(wx,wy);
+}
+
+void QgsAttributeDialog::setAttributeValueChanged(int row, int column)
+{
+  QgsDebugMsg("Entered with row " + QString::number(row) +
+              ", column " + QString::number(column) + ".");
+
+  mRowIsDirty.at(row) = TRUE;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsattributedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributedialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+                         qgsattributedialog.h  -  description
+                             -------------------
+    begin                : October 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributedialog.h 6976 2007-06-02 03:01:57Z gsherman $ */
+#ifndef QGSATTRIBUTEDIALOG_H
+#define QGSATTRIBUTEDIALOG_H
+
+#include "ui_qgsattributedialogbase.h"
+
+#include "qgsfeature.h"
+#include <vector>
+
+class QDialog;
+class QgsFeature;
+
+class QgsField;
+typedef QMap<int, QgsField> QgsFieldMap;
+
+class QgsAttributeDialog: public QDialog, private Ui::QgsAttributeDialogBase
+{
+    Q_OBJECT
+
+  public:
+    QgsAttributeDialog(const QgsFieldMap& fields, const QgsAttributeMap& attributes);
+
+    ~QgsAttributeDialog();
+
+    /** Returns the field value of a row */
+    QString value(int row);
+
+    /** Returns if the field value of a row was edited since this dialog opened */
+    bool isDirty(int row);
+
+    /** Opens an attribute dialog and queries the attributes for a given feature. The
+     attribute values are set to the feature if the dialog is accepted.
+     \retval true if accepted
+     \retval false if canceled */
+    static bool queryAttributes(const QgsFieldMap& fields, QgsFeature& f);
+
+    // Saves and restores the size and position from the last time
+    // this dialog box was used.
+    void savePositionAndColumnWidth();
+
+    void restorePositionAndColumnWidth();
+
+    void resizeEvent(QResizeEvent *event);
+
+    void moveEvent(QMoveEvent *event);
+  
+  public slots:
+    //! Slot to be called when an attribute value is edited in the table.
+    void setAttributeValueChanged(int row, int column);
+
+  private:
+    QString _settingsPath;
+
+    std::vector<bool> mRowIsDirty;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsattributetable.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributetable.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributetable.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,745 @@
+/***************************************************************************
+                          qgsattributetable.cpp  -  description
+                             -------------------
+    begin                : Sat Nov 23 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributetable.cpp 7181 2007-09-07 06:25:49Z mhugent $ */
+#include <QApplication>
+#include <QMouseEvent>
+#include <QKeyEvent>
+#include <QLabel>
+#include <QFont>
+#include <QClipboard>
+#include <QAction>
+#include <QMenu>
+
+#include "qgsattributetable.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgslogger.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+#include <iostream>
+#include <stdlib.h>
+
+QgsAttributeTable::QgsAttributeTable(QWidget * parent, const char *name):
+        Q3Table(parent, name),
+        lockKeyPressed(false),
+        sort_ascending(true),
+        mEditable(false),
+        mEdited(false),
+        mActionPopup(0)
+{
+  QFont f(font());
+  f.setFamily("Helvetica");
+  f.setPointSize(11);
+  setFont(f);
+  setSelectionMode(Q3Table::MultiRow);
+  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
+  connect(this, SIGNAL(contextMenuRequested(int, int, const QPoint&)), this, SLOT(popupMenu(int, int, const QPoint&)));
+  connect(this, SIGNAL(valueChanged(int, int)), this, SLOT(storeChangedValue(int,int)));
+  connect(verticalHeader(), SIGNAL(released(int)), this, SLOT(rowClicked(int))); 
+  setReadOnly(true);
+  setFocus();
+}
+
+QgsAttributeTable::~QgsAttributeTable()
+{
+
+}
+void QgsAttributeTable::columnClicked(int col)
+{
+  QApplication::setOverrideCursor(Qt::waitCursor);
+
+  //store the ids of the selected rows in a list
+  QList < int >idsOfSelected;
+  for (int i = 0; i < numSelections(); i++)
+    {
+      for (int j = selection(i).topRow(); j <= selection(i).bottomRow(); j++)
+        {
+          idsOfSelected.append(text(j, 0).toInt());
+        }
+    }
+
+  sortColumn(col, sort_ascending, true);
+
+  //clear and rebuild rowIdMap. Overwrite sortColumn later and sort rowIdMap there
+  rowIdMap.clear();
+  int id;
+  for (int i = 0; i < numRows(); i++)
+    {
+      id = text(i, 0).toInt();
+      rowIdMap.insert(id, i);
+    }
+
+  QObject::disconnect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
+  clearSelection(true);
+
+  //select the rows again after sorting
+
+  QList < int >::iterator it;
+  for (it = idsOfSelected.begin(); it != idsOfSelected.end(); ++it)
+    {
+      selectRowWithId((*it));
+    }
+  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
+
+  //change the sorting order after each sort
+  (sort_ascending == true) ? sort_ascending = false : sort_ascending = true;
+
+  QApplication::restoreOverrideCursor();
+}
+
+void QgsAttributeTable::keyPressEvent(QKeyEvent * ev)
+{
+  if (ev->key() == Qt::Key_Control || ev->key() == Qt::Key_Shift)
+    {
+      lockKeyPressed = true;
+    }
+}
+
+void QgsAttributeTable::keyReleaseEvent(QKeyEvent * ev)
+{
+  if (ev->key() == Qt::Key_Control || ev->key() == Qt::Key_Shift)
+    {
+      lockKeyPressed = false;
+    }
+}
+
+void QgsAttributeTable::handleChangedSelections()
+{
+  Q3TableSelection cselection;
+  if (lockKeyPressed == false)
+    {
+      //clear the list and evaluate the last selection
+      emit selectionRemoved(false);
+    }
+  //if there is no current selection, there is nothing to do
+  if (currentSelection() == -1)
+    {
+      return;
+    }
+
+  cselection = selection(currentSelection());
+
+  for (int index = cselection.topRow(); index <= cselection.bottomRow(); index++)
+    {
+      emit selected(text(index, 0).toInt(), false);
+    }
+
+  //don't send the signal repaintRequested() from here
+  //but in contentsMouseReleaseEvent() and rowClicked(int)
+  //todo: don't repaint in case of double clicks
+}
+
+void QgsAttributeTable::insertFeatureId(int id, int row)
+{
+  rowIdMap.insert(id, row);
+}
+
+void QgsAttributeTable::selectRowWithId(int id)
+{
+  QMap < int, int >::iterator it = rowIdMap.find(id);
+  selectRow(it.data());
+}
+
+void QgsAttributeTable::sortColumn(int col, bool ascending, bool wholeRows)
+{
+  //if the first entry contains a letter, sort alphanumerically, otherwise numerically
+  QString firstentry = text(0, col);
+  bool containsletter = false;
+  for (int i = 0; i < firstentry.length(); i++)
+    {
+      if (firstentry.ref(i).isLetter())
+        {
+          containsletter = true;
+        }
+    }
+
+  if (containsletter)
+    {
+      qsort(0, numRows() - 1, col, ascending, true);
+  } else
+    {
+      qsort(0, numRows() - 1, col, ascending, false);
+    }
+
+  repaintContents();
+}
+
+
+/**
+  XXX Doesn't QString have something ilke this already?
+*/
+int QgsAttributeTable::compareItems(QString s1, QString s2, bool ascending, bool alphanumeric)
+{
+  if (alphanumeric)
+    {
+      if (s1 > s2)
+        {
+          if (ascending)
+            {
+              return 1;
+          } else
+            {
+              return -1;
+            }
+      } else if (s1 < s2)
+        {
+          if (ascending)
+            {
+              return -1;
+          } else
+            {
+              return 1;
+            }
+      } else if (s1 == s2)
+        {
+          return 0;
+        }
+  } else                        //numeric
+    {
+      double d1 = s1.toDouble();
+      double d2 = s2.toDouble();
+      if (d1 > d2)
+        {
+          if (ascending)
+            {
+              return 1;
+          } else
+            {
+              return -1;
+            }
+      } else if (d1 < d2)
+        {
+          if (ascending)
+            {
+              return -1;
+          } else
+            {
+              return 1;
+            }
+      } else if (d1 == d2)
+        {
+          return 0;
+        }
+    }
+
+  return 0;                     // XXX has to return something; is this reasonable?
+
+}
+
+void QgsAttributeTable::qsort(int lower, int upper, int col, bool ascending, bool alphanumeric)
+{
+  int i, j;
+  QString v;
+  if (upper > lower)
+    {
+      //chose a random element (this avoids n^2 worst case)
+      int element = int ( (double)rand() / (double)RAND_MAX * (upper - lower) + lower);
+      swapRows(element, upper);
+      v = text(upper, col);
+      i = lower - 1;
+      j = upper;
+      for (;;)
+      {
+	  while (compareItems(text(++i, col), v, ascending, alphanumeric) == -1);
+	  while (compareItems(text(--j, col), v, ascending, alphanumeric) == 1 && j > 0); //make sure that j does not get negative
+          if (i >= j)
+            {
+              break;
+            }
+          swapRows(i, j);
+        }
+      swapRows(i, upper);
+      qsort(lower, i - 1, col, ascending, alphanumeric);
+      qsort(i + 1, upper, col, ascending, alphanumeric);
+    }
+}
+
+void QgsAttributeTable::popupMenu(int row, int col, const QPoint& pos)
+{
+  // Duplication of code in qgsidentufyresults.cpp. Consider placing
+  // in a seperate class
+  if (mActionPopup == 0)
+  {
+    mActionPopup = new QMenu();
+    mActionPopup->addAction( tr("Run action") );
+    mActionPopup->addSeparator();
+
+    QgsAttributeAction::aIter	iter = mActions.begin();
+    for (int j = 0; iter != mActions.end(); ++iter, ++j)
+    {
+      QAction* a = mActionPopup->addAction(iter->name());
+      // The menu action stores an integer that is used later on to
+      // associate an menu action with an actual qgis action.
+      a->setData(QVariant::fromValue(j));
+    }
+    connect(mActionPopup, SIGNAL(triggered(QAction*)),
+            this, SLOT(popupItemSelected(QAction*)));
+  }
+
+  // Get and store the attribute values and their column names are
+  // these are needed for substituting into the actions if the user
+  // chooses one.
+  mActionValues.clear();
+  Q3Header* header = horizontalHeader();
+
+#ifdef QGISDEBUG
+  if (header->count() != numCols())
+    std::cerr << "Something wrong with the table (file " 
+	      << __FILE__<< ", line " << __LINE__ 
+	      << ")." << std::endl;
+#endif
+
+  for (int i = 0; i < numCols(); ++i)
+    mActionValues.push_back(std::make_pair(header->label(i), text(row, i)));
+
+  // The item that was clicked on, stored as an index into the
+  // mActionValues vector.
+  mClickedOnValue = col;
+
+  if (mActions.size() > 0)
+    mActionPopup->popup(pos);  
+}
+
+void QgsAttributeTable::popupItemSelected(QAction* menuAction)
+{
+  int id = menuAction->data().toInt();
+  mActions.doAction(id, mActionValues, mClickedOnValue);
+}
+
+bool QgsAttributeTable::addAttribute(const QString& name, const QString& type)
+{
+    //first test if an attribute with the same name is already in the table
+    for(int i=0;i<horizontalHeader()->count();++i)
+    {
+	if(horizontalHeader()->label(i)==name)
+	{
+	    //name conflict
+	    return false;
+	}
+    }
+    mAddedAttributes.insert(name,type);
+    
+    QgsDebugMsg("inserting attribute " + name + " of type " + type + ", numCols: " + QString::number(numCols()) );
+    
+    //add a new column at the end of the table
+        
+    insertColumns(numCols());
+    horizontalHeader()->setLabel(numCols()-1,name);
+    mEdited=true;
+    return true;
+}
+
+void QgsAttributeTable::deleteAttribute(const QString& name)
+{
+    //check, if there is already an attribute with this name in mAddedAttributes
+    QgsNewAttributesMap::iterator iter = mAddedAttributes.find(name);
+    if(iter!=mAddedAttributes.end())
+    {
+	mAddedAttributes.remove(iter);
+	removeAttrColumn(name);
+    }
+    else
+    {
+	mDeletedAttributes.insert(name); 
+	removeAttrColumn(name);
+    }
+    mEdited=true;
+}
+
+
+/* Deprecated: See QgisApp::editCopy() instead */
+void QgsAttributeTable::copySelectedRows()
+{
+  // Copy selected rows to the clipboard
+
+  QString toClipboard;
+  const char fieldSep = '\t';
+
+  // Pick up the headers first
+  Q3Header* header = horizontalHeader();
+  for (int i = 0; i < header->count(); ++i)
+    toClipboard += header->label(i) + fieldSep;
+  toClipboard += '\n';
+
+  // Then populate with the cell contents
+  for (int i = 0; i < numSelections(); ++i)
+  {
+    Q3TableSelection sel = selection(i);
+    for (int row = sel.topRow(); row < sel.topRow()+sel.numRows(); ++row)
+    {
+      for (int column = 0; column < numCols(); ++column)
+	toClipboard += text(row, column) + fieldSep;
+      toClipboard += '\n';
+    }
+  }
+#ifdef QGISDEBUG
+  std::cerr << "Selected data in table is:\n" << toClipboard.data();
+#endif
+  // And then copy to the clipboard
+  QClipboard* clipboard = QApplication::clipboard();
+
+  // With qgis running under Linux, but with a Windows based X
+  // server (Xwin32), ::Selection was necessary to get the data into
+  // the Windows clipboard (which seems contrary to the Qt
+  // docs). With a Linux X server, ::Clipboard was required.
+  // The simple solution was to put the text into both clipboards.
+
+  // The ::Selection setText() below one may need placing inside so
+  // #ifdef so that it doesn't get compiled under Windows.
+  clipboard->setText(toClipboard, QClipboard::Selection);
+  clipboard->setText(toClipboard, QClipboard::Clipboard);
+}
+
+bool QgsAttributeTable::commitChanges(QgsVectorLayer* layer)
+{
+  bool isSuccessful = FALSE;
+
+  if(layer)
+  {
+    //convert strings of deleted attributes to ids
+
+    QgsVectorDataProvider* provider = layer->getDataProvider();
+
+    if(provider)
+      {
+
+	QgsAttributeIds deletedIds;
+	QSet<QString>::const_iterator it = mDeletedAttributes.constBegin();
+	
+	for(; it != mDeletedAttributes.constEnd(); ++it)
+	  {
+	    deletedIds.insert(provider->indexFromFieldName(*it));
+	  }
+
+	QgsChangedAttributesMap attributeChanges; //convert mChangedValues to QgsChangedAttributesMap
+	int fieldIndex;
+
+	QMap<int, QMap<QString, QString> >::const_iterator att_it = mChangedValues.constBegin();
+	for(; att_it != mChangedValues.constEnd(); ++att_it)
+	  {
+	    QgsAttributeMap newAttMap;
+	    QMap<QString, QString>::const_iterator record_it = att_it->constBegin();
+	    for(; record_it != att_it->constEnd(); ++record_it)
+	      {
+		fieldIndex = provider->indexFromFieldName(record_it.key());
+		if(fieldIndex != -1)
+		  {
+		    newAttMap.insert(fieldIndex, record_it.value());
+		  }
+	      }
+	    attributeChanges.insert(att_it.key(), newAttMap);
+	  } 
+	
+	isSuccessful = layer->commitAttributeChanges(deletedIds,
+						     mAddedAttributes,
+						     attributeChanges);
+      }
+  }
+
+  if (isSuccessful)
+  {
+    mEdited=false;
+    clearEditingStructures();
+  }
+
+  return isSuccessful;
+}
+
+bool QgsAttributeTable::rollBack(QgsVectorLayer* layer)
+{
+  if(layer)
+  {
+    fillTable(layer);
+  }
+  mEdited=false;
+  clearEditingStructures();
+  return true;
+}
+
+
+void QgsAttributeTable::fillTable(QgsVectorLayer* layer)
+{
+  QgsVectorDataProvider* provider=layer->getDataProvider();
+  if(provider)
+  {
+    QgsFeature fet;
+    int row = 0;
+    
+    QgsFeatureList& addedFeatures = layer->addedFeatures();
+    QgsFeatureIds& deletedFeatures = layer->deletedFeatureIds();
+
+    // set up the column headers
+    Q3Header *colHeader = horizontalHeader();
+    mFields = provider->fields();
+    int fieldcount=provider->fieldCount();
+  
+    setNumRows(provider->featureCount() + addedFeatures.size() - deletedFeatures.size());
+    setNumCols(fieldcount+1);
+    colHeader->setLabel(0, "id"); //label for the id-column
+
+    int h = 1;
+    QgsFieldMap::const_iterator fldIt;
+    for (fldIt = mFields.begin(); fldIt != mFields.end(); ++fldIt)
+    {
+      QgsDebugMsg("field " + QString::number(fldIt.key()) + ": " + fldIt->name() +
+                  " | " + QString(QVariant::typeToName(fldIt->type())) );
+        
+      colHeader->setLabel(h++, fldIt->name());
+    }
+
+    //go through the features and fill the values into the table
+    QgsAttributeList all = provider->allAttributesList();
+    provider->select(all, QgsRect(), false);
+    
+    while (provider->getNextFeature(fet))
+    {
+      if (!deletedFeatures.contains(fet.featureId()))
+      {
+        putFeatureInTable(row, fet);
+        row++;
+      }
+    }
+
+    //also consider the not commited features
+    for(QgsFeatureList::iterator it = addedFeatures.begin(); it != addedFeatures.end(); it++)
+    {
+      putFeatureInTable(row, *it);
+      row++;
+    }
+
+  }
+}
+
+void QgsAttributeTable::putFeatureInTable(int row, QgsFeature& fet)
+{
+  if(row >= numRows())//prevent a crash if a provider doesn't update the feature count properly
+    {
+      setNumRows(row+1);
+    }
+  
+  //id-field
+  int id = fet.featureId();
+  setText(row, 0, QString::number(id));
+  insertFeatureId(id, row);  //insert the id into the search tree of qgsattributetable
+  const QgsAttributeMap& attr = fet.attributeMap();
+  QgsAttributeMap::const_iterator it;
+  int h = 1;
+  for (it = attr.begin(); it != attr.end(); ++it)
+  {
+    // get the field values
+    setText(row, h++, it->toString());
+  }
+}
+
+void QgsAttributeTable::storeChangedValue(int row, int column)
+{
+  //id column is not editable
+  if(column>0)
+    {
+      //find feature id
+      int id=text(row,0).toInt();
+      QString field = horizontalHeader()->label(column);
+      
+      // add empty map for feature if doesn't exist
+      if (!mChangedValues.contains(id))
+	{
+	  mChangedValues.insert(id, QMap<QString, QString>());
+	}
+      
+      mChangedValues[id].insert(field, text(row,column));
+      mEdited=true;
+    }
+}
+
+void QgsAttributeTable::clearEditingStructures()
+{
+    mDeletedAttributes.clear();
+    mAddedAttributes.clear();
+    mChangedValues.clear();
+}
+
+void QgsAttributeTable::removeAttrColumn(const QString& name)
+{
+    Q3Header* header=horizontalHeader();
+    for(int i=0;i<header->count();++i)
+    {
+	if(header->label(i)==name)
+	{
+	    removeColumn(i);
+	    break;
+	}
+    }
+}
+
+void QgsAttributeTable::bringSelectedToTop()
+{
+    blockSignals(true);
+    int swaptorow=0;
+    std::list<Q3TableSelection> selections;
+    bool removeselection;
+
+    for(int i=0;i<numSelections();++i)
+    {
+	selections.push_back(selection(i));
+    }
+
+    Q3TableSelection sel;  
+
+    for(std::list<Q3TableSelection>::iterator iter=selections.begin();iter!=selections.end();++iter)
+    {
+	removeselection=true;
+	while(isRowSelected(swaptorow, true))//selections are not necessary stored in ascending order
+	    {
+		++swaptorow;
+	    }
+	
+	for(int j=iter->topRow();j<=iter->bottomRow();++j)
+	{   
+	    if(j>swaptorow)//selections are not necessary stored in ascending order
+	    {
+		swapRows(j,swaptorow);
+		selectRow(swaptorow);
+		++swaptorow;	
+		
+	    }
+	    else
+	    {
+		removeselection=false;//keep selection
+	    }
+	}
+	if(removeselection)
+	{	    
+	    removeSelection(*iter);
+	}
+    }
+
+    //clear and rebuild rowIdMap.
+    rowIdMap.clear();
+    int id;
+    for (int i = 0; i < numRows(); i++)
+    {
+      id = text(i, 0).toInt();
+      rowIdMap.insert(id, i);
+    }
+
+    blockSignals(false);
+
+}
+
+void QgsAttributeTable::selectRowsWithId(const QgsFeatureIds& ids)
+{
+  /*
+  // if selecting rows takes too much time we can use progress dialog
+    QProgressDialog progress( tr("Updating selection..."), tr("Abort"), 0, mSelected.size(), tabledisplay);
+    int i=0;
+    for(std::set<int>::iterator iter=mSelected.begin();iter!=mSelected.end();++iter)
+    {
+      ++i;
+      progress.setValue(i);
+      qApp->processEvents();
+      if(progress.wasCanceled())
+      {
+        //deselect the remaining features if action was canceled
+        mSelected.erase(iter,--mSelected.end());
+        break;
+      }
+      selectRowWithId(*iter);//todo: avoid that the table gets repainted during each selection
+    }
+  */
+  
+  
+  // to select more rows at once effectively, we stop sending signals to handleChangedSelections()
+  // otherwise it will repaint map everytime row is selected
+  
+  QObject::disconnect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
+    
+  clearSelection(true); 
+  QgsFeatureIds::const_iterator it;
+  for (it = ids.begin(); it != ids.end(); it++)
+  {
+    selectRowWithId(*it);
+  }
+  
+  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
+  emit repaintRequested();
+}
+
+void QgsAttributeTable::showRowsWithId(const QgsFeatureIds& ids)
+{
+  setUpdatesEnabled(false);
+  
+  // hide all rows first
+  for (int i = 0; i < numRows(); i++)
+    hideRow(i);
+  
+  // show only matching rows
+  QgsFeatureIds::const_iterator it;
+  for (it = ids.begin(); it != ids.end(); it++)
+  {
+    showRow(rowIdMap[*it]);
+  }
+  
+  clearSelection(); // deselect all
+  setUpdatesEnabled(true);
+  repaintContents();
+}
+
+void QgsAttributeTable::showAllRows()
+{
+  for (int i = 0; i < numRows(); i++)
+    showRow(i);
+}
+
+void QgsAttributeTable::rowClicked(int row)
+{
+  if(checkSelectionChanges())//only repaint the canvas if the selection has changed
+    {
+      emit repaintRequested();
+    }
+}
+
+void QgsAttributeTable::contentsMouseReleaseEvent(QMouseEvent* e)
+{
+  Q3Table::contentsMouseReleaseEvent(e);
+  if(checkSelectionChanges())//only repaint the canvas if the selection has changed
+    {
+      emit repaintRequested();
+    }
+}
+
+bool QgsAttributeTable::checkSelectionChanges()
+{
+  std::set<int> theCurrentSelection;
+  Q3TableSelection cselection;
+  cselection = selection(currentSelection());
+  for (int index = cselection.topRow(); index <= cselection.bottomRow(); index++)
+    {
+      theCurrentSelection.insert(index);
+    }
+
+  if(theCurrentSelection == mLastSelectedRows)
+    {
+      return false;
+    }
+  else
+    {
+      mLastSelectedRows = theCurrentSelection;
+      return true;
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsattributetable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributetable.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributetable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,178 @@
+/***************************************************************************
+                          qgsattributetable.h  -  description
+                             -------------------
+    begin                : Sat Nov 23 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributetable.h 7181 2007-09-07 06:25:49Z mhugent $ */
+#ifndef QGSATTRIBUTETABLE_H
+#define QGSATTRIBUTETABLE_H
+
+#include <Q3Table>
+#include <QMap>
+
+#include <map>
+#include <set>
+
+class QgsVectorLayer;
+class QgsFeature;
+class QMouseEvent;
+class QKeyEvent;
+class QAction;
+class QMenu;
+
+#include "qgsattributeaction.h"
+#include "qgsvectorlayer.h"
+
+#include <vector>
+#include <utility>
+/**
+ *@author Gary E.Sherman
+ */
+
+class QgsAttributeTable:public Q3Table
+{
+  Q_OBJECT 
+
+  public:
+    QgsAttributeTable(QWidget * parent = 0, const char *name = 0);
+    ~QgsAttributeTable();
+
+    /**Inserts the feature with the specified id into rowIdMap. This function has to be called (e.g. from QgsShapeFileLayer) when a row is inserted into the table*/
+    void insertFeatureId(int id, int row);
+    /**Selects the row which belongs to the feature with the specified id*/
+    void selectRowWithId(int id);
+    /**Sorts a column. This method replaces the one from QTable to allow numeric sorting*/
+    virtual void sortColumn(int col, bool ascending=true, bool wholeRows=false);
+    /* Use this to give this class the current attribute actions,
+       which are used when the user requests a popup menu */
+    void setAttributeActions(const QgsAttributeAction& actions)
+    { mActions = actions; }
+    /**Returns if the table contains uncommited changes*/
+    bool edited() const {return mEdited;}
+    /**Switches editing mode on and off*/
+    void setEditable(bool enabled){mEditable=enabled;}
+    /**Adds an attribute to the table (but does not commit it yet)
+      @param name attribute name
+      @param type attribute type
+      @return false in case of a name conflict, true in case of success*/
+    bool addAttribute(const QString& name, const QString& type);
+    /**Deletes an attribute (but does not commit it)
+      @param name attribute name*/
+    void deleteAttribute(const QString& name);
+
+    /** Copies the selected rows to the clipboard 
+        Deprecated: See QgisApp::editCopy() instead */
+    void copySelectedRows();
+
+    /**
+      Attempts to commit any changes to disk.  Returns the result of the attempt.
+      If a commit fails, the in-memory changes are left alone.
+
+      This allows editing to continue if the commit failed on e.g. a
+      disallowed value in a Postgres database - the user can re-edit and try
+      again.
+
+      Delegates to QgsVectorLayer to decide, which changes
+      belong to not commited features or to commited ones.
+
+     */
+    bool commitChanges(QgsVectorLayer* layer);
+
+    /**Discard all changes and restore
+      the state before editing was started*/
+    bool rollBack(QgsVectorLayer* layer);
+    /**Fills the contents of a provider into this table*/
+    void fillTable(QgsVectorLayer* layer);
+    /**Swaps the selected rows such that the selected ones are on the top of the table*/
+    void bringSelectedToTop();
+    /** Selects rows with chosen feature IDs */
+    void selectRowsWithId(const QgsFeatureIds& ids);
+    /** Shows only rows with chosen feature IDs, others get hidden */
+    void showRowsWithId(const QgsFeatureIds& ids);
+    /** Shows all rows */
+    void showAllRows();
+
+    public slots:
+      void columnClicked(int col);
+      void rowClicked(int row);
+    // Called when the user requests a popup menu
+    void popupMenu(int row, int col, const QPoint& pos);
+    // Called when the user chooses an item on the popup menu
+    void popupItemSelected(QAction * menuAction);
+    protected slots:
+      void handleChangedSelections();
+    /**Writes changed values to 'mChangedValues'*/
+    void storeChangedValue(int row, int column);
+
+  protected:
+    /**Flag telling if the ctrl-button or the shift-button is pressed*/
+    bool lockKeyPressed;
+    /**Search tree to find a row corresponding to a feature id*/
+    QMap<int,int> rowIdMap;
+    /**Flag indicating, which sorting order should be used*/
+    bool sort_ascending;
+    bool mEditable;
+    /**True if table has been edited and contains uncommited changes*/
+    bool mEdited;
+    /**Map containing the added attributes. The key is the attribute name
+      and the value the attribute type*/
+    QgsNewAttributesMap mAddedAttributes;
+    /**Set containing the attribute names of deleted attributes*/
+    QSet<QString> mDeletedAttributes;
+    /**Nested map containing the changed attribute values. The int is the feature id, 
+      the first QString the attribute name and the second QString the new value*/
+    QMap<int, QMap<QString, QString> > mChangedValues;
+
+    /**Stors the numbers of the last selected rows. This is used to check for selection changes before emit repaintRequested()*/
+    std::set<int> mLastSelectedRows;
+
+    /**Compares the content of two cells either alphanumeric or numeric. If 'ascending' is true, -1 means s1 is less, 0 equal, 1 greater. If 'ascending' is false, -1 means s1 is more, 0 equal, 1 greater. This method is used mainly to sort a column*/
+    int compareItems(QString s1, QString s2, bool ascending, bool alphanumeric);
+    void keyPressEvent(QKeyEvent* ev);
+    void keyReleaseEvent(QKeyEvent* ev);
+    /**Method used by sortColumn (implementation of a quicksort)*/
+    void qsort(int lower, int upper, int col, bool ascending, bool alphanumeric);
+    /**Clears mAddedAttributes, mDeletedAttributes and mChangedValues*/
+    void clearEditingStructures();
+    /**Removes the column belonging to an attribute from the table
+      @name attribut name*/
+    void removeAttrColumn(const QString& name);
+    /** puts attributes of feature to the chosen table row */
+    void putFeatureInTable(int row, QgsFeature& fet);
+    void contentsMouseReleaseEvent(QMouseEvent* e);
+    /**This function compares the current selection and the selection of the last repaint. Returns true if there are differences in the selection.
+     Also, mLastSelectedRows is updated*/
+    bool checkSelectionChanges();
+
+signals:
+
+    /**Is emitted when a row was selected*/
+    void selected(int, bool);
+    /**Is emitted when all rows have been deselected*/
+    void selectionRemoved(bool);
+    /**Is emmited when a set of related selection and deselection signals have been emitted*/
+    void repaintRequested();
+
+  private:
+    // Data to do with providing a popup menu of actions that
+    std::vector<std::pair<QString, QString> > mActionValues;
+    int mClickedOnValue;
+    QMenu* mActionPopup;
+    QgsAttributeAction mActions;
+    
+    QgsFieldMap mFields;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,382 @@
+/***************************************************************************
+                          QgsAttributeTableDisplay.cpp  -  description
+                             -------------------
+    begin                : Sat Nov 23 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributetabledisplay.cpp 6879 2007-04-11 11:46:35Z wonder $ */
+
+#include "qgsattributetabledisplay.h"
+
+#include "qgisapp.h"
+#include "qgsapplication.h"
+#include "qgsaddattrdialog.h"
+#include "qgsdelattrdialog.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgslogger.h"
+#include "qgssearchquerybuilder.h"
+#include "qgssearchstring.h"
+#include "qgssearchtreenode.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+#include "qgscontexthelp.h"
+
+#include <QMessageBox>
+#include <QIcon>
+#include <QPixmap>
+#include <QToolButton>
+
+QgsAttributeTableDisplay::QgsAttributeTableDisplay(QgsVectorLayer* layer, QgisApp * qgisApp)
+: QDialog(0, Qt::Window),
+  mLayer(layer),
+  mQgisApp(qgisApp)
+{
+  setupUi(this);
+  setTheme();
+  connect(mRemoveSelectionButton, SIGNAL(clicked()), this, SLOT(removeSelection()));
+  connect(mSelectedToTopButton, SIGNAL(clicked()), this, SLOT(selectedToTop()));
+  connect(mInvertSelectionButton, SIGNAL(clicked()), this, SLOT(invertSelection()));
+  connect(mCopySelectedRowsButton, SIGNAL(clicked()), this, SLOT(copySelectedRowsToClipboard()));
+  connect(mAddAttributeButton, SIGNAL(clicked()), this, SLOT(addAttribute()));
+  connect(mDeleteAttributeButton, SIGNAL(clicked()), this, SLOT(deleteAttributes()));
+  connect(btnStartEditing, SIGNAL(clicked()), this, SLOT(startEditing()));
+  connect(btnStopEditing, SIGNAL(clicked()), this, SLOT(stopEditing()));
+  connect(mSearchButton, SIGNAL(clicked()), this, SLOT(search()));
+  connect(mSearchShowResults, SIGNAL(activated(int)), this, SLOT(searchShowResultsChanged(int)));
+  connect(btnAdvancedSearch, SIGNAL(clicked()), this, SLOT(advancedSearch()));
+  connect(btnClose, SIGNAL(clicked()), this, SLOT(close()));
+
+  //disable those buttons until start editing has been pressed and provider supports it
+  mAddAttributeButton->setEnabled(false);
+  mDeleteAttributeButton->setEnabled(false);
+
+  btnStopEditing->setEnabled(false);
+  int cap=layer->getDataProvider()->capabilities();
+  if((cap&QgsVectorDataProvider::ChangeAttributeValues)
+      ||(cap&QgsVectorDataProvider::AddAttributes)
+      ||(cap&QgsVectorDataProvider::DeleteAttributes))
+  {
+    btnStartEditing->setEnabled(true);
+  }
+  else
+  {
+    btnStartEditing->setEnabled(false);
+  }
+
+  // fill in mSearchColumns with available columns
+  QgsVectorDataProvider* provider = mLayer->getDataProvider();
+  if (provider)
+  {
+    const QgsFieldMap& fields = provider->fields();
+    int fieldcount = provider->fieldCount();
+    for (int h = 0; h < fieldcount; h++)
+    {
+      mSearchColumns->insertItem(fields[h].name());
+    }
+  }
+  
+  // TODO: create better labels
+  mSearchShowResults->insertItem(tr("select"));
+  mSearchShowResults->insertItem(tr("select and bring to top"));
+  mSearchShowResults->insertItem(tr("show only matching"));
+}
+
+QgsAttributeTableDisplay::~QgsAttributeTableDisplay()
+{
+}
+QgsAttributeTable *QgsAttributeTableDisplay::table()
+{
+  return tblAttributes;
+}
+void QgsAttributeTableDisplay::setTheme()
+{
+  QString myIconPath = QgsApplication::themePath();
+  mAddAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionNewAttribute.png"));
+  mRemoveSelectionButton->setPixmap(QPixmap(myIconPath+"/mActionUnselectAttributes.png"));
+  mSelectedToTopButton->setPixmap(QPixmap(myIconPath+"/mActionSelectedToTop.png"));
+  mInvertSelectionButton->setPixmap(QPixmap(myIconPath+"/mActionInvertSelection.png"));
+  mCopySelectedRowsButton->setPixmap(QPixmap(myIconPath+"/mActionCopySelected.png"));
+  mAddAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionNewAttribute.png"));
+  mDeleteAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionDeleteAttribute.png"));
+}
+
+void QgsAttributeTableDisplay::setTitle(QString title)
+{
+  setCaption(title);
+}
+
+void QgsAttributeTableDisplay::deleteAttributes()
+{
+  QgsDelAttrDialog dialog(table()->horizontalHeader());
+  if(dialog.exec()==QDialog::Accepted)
+  {
+    const std::list<QString>* attlist=dialog.selectedAttributes();
+    for(std::list<QString>::const_iterator iter=attlist->begin();iter!=attlist->end();++iter)
+    {
+      table()->deleteAttribute(*iter);
+    }
+  }
+}
+
+void QgsAttributeTableDisplay::addAttribute()
+{
+  QgsAddAttrDialog dialog(mLayer->getDataProvider(), this);
+  if(dialog.exec()==QDialog::Accepted)
+  {
+    if(!table()->addAttribute(dialog.name(),dialog.type()))
+    {
+      QMessageBox::information(this,tr("Name conflict"),tr("The attribute could not be inserted. The name already exists in the table"));
+    }
+  }
+}
+
+void QgsAttributeTableDisplay::startEditing()
+{
+  QgsVectorDataProvider* provider=mLayer->getDataProvider();
+  bool editing=false; 
+
+  if(provider)
+  {
+    if(provider->capabilities()&QgsVectorDataProvider::AddAttributes)
+    {
+      mAddAttributeButton->setEnabled(true);
+      editing=true;
+    }
+    if(provider->capabilities()&QgsVectorDataProvider::DeleteAttributes)
+    {
+      
+      mDeleteAttributeButton->setEnabled(true);
+      editing=true;
+    }
+    if(provider->capabilities()&QgsVectorDataProvider::ChangeAttributeValues)
+    {
+      table()->setReadOnly(false);
+      table()->setColumnReadOnly(0,true);//id column is not editable
+      editing=true;
+    }
+    if(editing)
+    {
+      btnStartEditing->setEnabled(false);
+      btnStopEditing->setEnabled(true);
+      btnClose->setEnabled(false);
+      //make the dialog modal when in editable
+      //otherwise map editing and table editing
+      //may disturb each other
+      hide();
+      setModal(true);
+      show();
+    }
+  }
+}
+
+void QgsAttributeTableDisplay::stopEditing()
+{
+  if(table()->edited())
+  {
+    //commit or roll back?
+    QMessageBox::StandardButton commit=QMessageBox::information(this,tr("Stop editing"),
+                                        tr("Do you want to save the changes?"),
+                                        QMessageBox::Save | QMessageBox::Discard);
+    if(commit==QMessageBox::Save)
+    {
+      if(!table()->commitChanges(mLayer))
+      {
+        QMessageBox::information(this,tr("Error"),tr("Could not commit changes"));
+      }
+    }
+    else
+    {
+      table()->rollBack(mLayer);
+    }
+  }
+  btnStartEditing->setEnabled(true);
+  btnStopEditing->setEnabled(false);
+  btnClose->setEnabled(true);
+  mAddAttributeButton->setEnabled(false);
+  mDeleteAttributeButton->setEnabled(false);
+  table()->setReadOnly(true);
+  //make this dialog modeless again
+  hide();
+  setModal(false);
+  show();
+}
+
+void QgsAttributeTableDisplay::selectedToTop()
+{
+  table()->bringSelectedToTop();
+}
+
+void QgsAttributeTableDisplay::invertSelection()
+{
+  if(mLayer)
+  {
+    QApplication::setOverrideCursor(Qt::waitCursor);
+    mLayer->invertSelection();
+    QApplication::restoreOverrideCursor();
+  }
+}
+
+void QgsAttributeTableDisplay::removeSelection()
+{
+    table()->clearSelection();
+    mLayer->triggerRepaint();
+}
+
+void QgsAttributeTableDisplay::copySelectedRowsToClipboard()
+{
+  // Deprecated
+  // table()->copySelectedRows();
+
+  // Use the Application's copy method instead
+  mQgisApp->editCopy(mLayer);
+}
+
+void QgsAttributeTableDisplay::search()
+{
+  // if selected field is numeric, numeric comparison will be used
+  // else attributes containing entered text will be matched
+
+  QgsVectorDataProvider* provider = mLayer->getDataProvider();
+  int item = mSearchColumns->currentItem();
+  QVariant::Type type = provider->fields()[item].type();
+  bool numeric = (type == QVariant::Int || type == QVariant::Double);
+  
+  QString str;
+  str = mSearchColumns->currentText();
+  if (numeric)
+    str += " = '";
+  else
+    str += " ~ '";
+  str += mSearchText->text();
+  str += "'";
+
+  doSearch(str);
+}
+
+
+void QgsAttributeTableDisplay::advancedSearch()
+{
+  QgsSearchQueryBuilder dlg(mLayer, this);
+  dlg.setSearchString(mSearchString);
+  if (dlg.exec())
+  {
+    doSearch(dlg.searchString());
+  }
+}
+
+
+void QgsAttributeTableDisplay::searchShowResultsChanged(int item)
+{
+  QApplication::setOverrideCursor(Qt::waitCursor);
+
+  if (item == 2) // show only matching
+  {
+    table()->showRowsWithId(mSearchIds);
+  }
+  else
+  {    
+    // make sure that all rows are shown
+    table()->showAllRows();
+    
+    // select matching
+    mLayer->setSelectedFeatures(mSearchIds);
+  
+    if (item == 1) // select matching and bring to top
+      table()->bringSelectedToTop();
+  }
+
+  QApplication::restoreOverrideCursor();
+}
+
+
+void QgsAttributeTableDisplay::doSearch(const QString& searchString)
+{
+  mSearchString = searchString;
+
+  // parse search string (and build parsed tree)
+  QgsSearchString search;
+  if (!search.setString(searchString))
+  {
+    QMessageBox::critical(this, tr("Search string parsing error"), search.parserErrorMsg());
+    return;
+  }
+  QgsSearchTreeNode* searchTree = search.tree();
+  if (searchTree == NULL)
+  {
+    QMessageBox::information(this, tr("Search results"), tr("You've supplied an empty search string."));
+    return;
+  }
+
+  QgsDebugMsg("Search by attribute: " + searchString + " parsed as: " + search.tree()->makeSearchString());
+
+  QApplication::setOverrideCursor(Qt::waitCursor);
+
+  // TODO: need optimized getNextFeature which won't extract geometry
+  // or search by traversing table ... which one is quicker?
+  QgsFeature fet;
+  QgsVectorDataProvider* provider = mLayer->getDataProvider();
+  mSearchIds.clear();
+  const QgsFieldMap& fields = provider->fields();
+  QgsAttributeList all = provider->allAttributesList();
+  
+  provider->select(all, QgsRect(), false);
+
+  while (provider->getNextFeature(fet))
+  {
+    if (searchTree->checkAgainst(fields, fet.attributeMap()))
+    {
+      mSearchIds.insert(fet.featureId());
+    }
+    
+    // check if there were errors during evaulating
+    if (searchTree->hasError())
+      break;
+  }
+
+  QApplication::restoreOverrideCursor();
+
+  if (searchTree->hasError())
+  {
+    QMessageBox::critical(this, tr("Error during search"), searchTree->errorMsg());
+    return;
+  }
+
+  // update table
+  searchShowResultsChanged(mSearchShowResults->currentItem());
+   
+  QString str;
+  if (mSearchIds.size())
+    str.sprintf(tr("Found %d matching features.","", mSearchIds.size()), mSearchIds.size());
+  else
+    str = tr("No matching features found.");
+  QMessageBox::information(this, tr("Search results"), str);
+
+}
+
+void QgsAttributeTableDisplay::closeEvent(QCloseEvent* ev)
+{
+  ev->ignore();
+  emit deleted();
+  delete this;
+}
+
+void QgsAttributeTableDisplay::on_btnHelp_clicked()
+{
+  showHelp();
+}
+void QgsAttributeTableDisplay::showHelp()
+{
+  QgsContextHelp::run(context_id);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsattributetabledisplay.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,86 @@
+/***************************************************************************
+                          qgsattributetabledisplay.h  -  description
+                             -------------------
+    begin                : Sat Nov 23 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributetabledisplay.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSATTRIBUTETABLEDISPLAY_H
+#define QGSATTRIBUTETABLEDISPLAY_H
+
+#include "ui_qgsattributetablebase.h"
+
+
+class QgsAttributeTable;
+class QgsVectorLayer;
+class QgisApp;
+
+/**
+  *@author Gary E.Sherman
+  */
+
+class QgsAttributeTableDisplay:public QDialog, private Ui::QgsAttributeTableBase
+{
+  Q_OBJECT
+  public:
+    /**
+     \param qgisApp   This should be the QgisApp that spawned this table.
+                      Otherwise the Copy button on this QgsAttributeTableDisplay
+                      will not work.
+     */
+    QgsAttributeTableDisplay(QgsVectorLayer* layer, QgisApp * qgisApp);
+    ~QgsAttributeTableDisplay();
+
+    QgsAttributeTable *table();
+    void setTitle(QString title);
+  protected:
+    QgsVectorLayer* mLayer;
+
+    QgisApp * mQgisApp;
+
+    void doSearch(const QString& searchString);
+
+    virtual void closeEvent(QCloseEvent* ev);
+    void showHelp();
+
+    /** array of feature IDs that match last searched condition */
+    QgsFeatureIds mSearchIds;
+
+  protected slots:
+    void deleteAttributes();
+    void addAttribute();
+    void startEditing();
+    void stopEditing();
+    void selectedToTop();
+    void invertSelection();
+    void removeSelection();
+    void copySelectedRowsToClipboard();
+    void search();
+    void advancedSearch();
+    void searchShowResultsChanged(int item);
+    void on_btnHelp_clicked();
+
+  signals:
+    void deleted();
+  private:
+    /** Set the icon theme for this dialog */
+    void setTheme();
+    
+    QString mSearchString;
+
+    static const int context_id = 831088384;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,92 @@
+
+/***************************************************************************
+               QgsBookmarkItem.h  - Spatial Bookmark Item
+                             -------------------
+    begin                : 2005-04-23
+    copyright            : (C) 2005 Gary Sherman
+    email                : sherman at mrcc dot com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsbookmarkitem.cpp 6828 2007-03-23 19:31:04Z homann $ */
+#include <iostream>
+#include <sqlite3.h>
+#include <qstring.h>
+#include <qtextstream.h>
+
+#include <cassert>
+
+#include "qgsrect.h"
+#include "qgsbookmarkitem.h"
+
+QgsBookmarkItem::QgsBookmarkItem(QString name, QString projectTitle, 
+      QgsRect viewExtent, int srid, QString dbPath)
+      : mName(name), mProjectTitle(projectTitle), mViewExtent(viewExtent),
+      mSrid(srid), mUserDbPath(dbPath)
+{
+}
+QgsBookmarkItem::~QgsBookmarkItem()
+{
+}
+  void QgsBookmarkItem::store()
+{
+  // To store the bookmark we have to open the database and insert
+  // the record using the parameters set in the constructor
+
+  sqlite3 *db;
+  int rc;
+#ifdef QGISDEBUG 
+  std::cout << "Opening user database: " << mUserDbPath.toLocal8Bit().data() << std::endl; 
+#endif 
+  rc = sqlite3_open(mUserDbPath.toUtf8().data(), &db);
+  if(rc)
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
+
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist.
+    assert(rc == 0);
+  }
+  // prepare the sql statement
+  const char *pzTail;
+  sqlite3_stmt *ppStmt;
+  QString sql;
+  QTextOStream sqlStream(&sql);
+  sqlStream << "insert into tbl_bookmarks values(null,'" <<
+    mName << "','" <<
+    mProjectTitle << "'," <<
+    mViewExtent.xMin() << "," <<
+    mViewExtent.yMin() << "," <<
+    mViewExtent.xMax() << "," <<
+    mViewExtent.yMax() << "," <<
+    mSrid << ")";
+
+#ifdef QGISDEBUG 
+  std::cout << "Storing bookmark using: " << sql.toLocal8Bit().data() << std::endl; 
+#endif 
+  rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(rc == SQLITE_OK)
+  {
+    // get the first row of the result set
+    if(sqlite3_step(ppStmt) != SQLITE_DONE)
+    {
+
+      // XXX query failed -- warn the user some how
+      std::cout << "Failed to store bookmark: " << sqlite3_errmsg(db) << std::endl; 
+    }
+    // close the statement
+    sqlite3_finalize(ppStmt);
+    // close the database
+    sqlite3_close(db);
+  }
+
+
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsbookmarkitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,55 @@
+
+/***************************************************************************
+               QgsBookmarkItem.h  - Spatial Bookmark Item
+                             -------------------
+    begin                : 2005-04-23
+    copyright            : (C) 2005 Gary Sherman
+    email                : sherman at mrcc dot com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsbookmarkitem.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSBOOKMARKITEM_H
+#define QGSBOOKMARKITEM_H
+
+#include <QString>
+#include "qgsrect.h"
+
+/*!
+ * \class QgsBookmarkItem
+ * \brief A spatial bookmark record that is stored in a sqlite3
+ * database.
+ */ 
+class QgsBookmarkItem
+{
+public:
+  //! Constructs a bookmark item
+  QgsBookmarkItem(QString name, QString projectTitle, 
+      QgsRect viewExtent, int srid, QString databasePath);
+  //! Default destructor
+  ~QgsBookmarkItem();
+  //! Store the bookmark in the database
+  void store();
+private:
+  //! Name of the bookmark
+  QString mName;
+  //! Project that this bookmark was created from
+  QString mProjectTitle;
+  //! Extent of the view for the bookmark
+  QgsRect mViewExtent;
+  //! SRID of the canvas coordinate system when the bookmark was created
+  int mSrid;
+  //! Full path to the user database
+  QString mUserDbPath;
+
+};
+
+#endif // QGSBOOKMARKITEM_H
+

Added: packages/qgis/branches/upstream/current/src/app/qgsbookmarks.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsbookmarks.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsbookmarks.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,234 @@
+/***************************************************************************
+               QgsBookmarks.cpp  - Spatial Bookmarks
+                             -------------------
+    begin                : 2005-04-23
+    copyright            : (C) 2005 Gary Sherman
+    email                : sherman at mrcc dot com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsbookmarks.cpp 6828 2007-03-23 19:31:04Z homann $ */
+#include "qgsbookmarks.h"
+#include "qgisapp.h"
+#include "qgsapplication.h"
+#include "qgscontexthelp.h"
+#include "qgsmapcanvas.h"
+#include "qgslogger.h"
+ 
+#include <QDir>
+#include <QFileInfo>
+#include <QMessageBox>
+
+//standard includes
+#include <iostream>
+#include <cassert>
+#include <sqlite3.h>
+#include <fstream>
+
+QgsBookmarks::QgsBookmarks(QWidget *parent, Qt::WFlags fl)
+  : QDialog(parent, fl),
+  mParent(parent)
+{
+  setupUi(this);
+  connect(btnClose, SIGNAL(clicked()), this, SLOT(reject()));
+
+  // user database is created at QGIS startup in QgisApp::createDB
+  // we just check whether there is our database [MD]
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(QgsApplication::qgisSettingsDirPath());
+  if ( !myFileInfo.exists( ) )
+  {
+#ifdef QGISDEBUG 
+    std::cout << "The qgis.db does not exist" << std::endl; 
+#endif 
+  }
+  
+  // Note proper queens english on next line
+  initialise();
+
+  // connect the slot up to catch when a new bookmark is added
+  connect(mParent, SIGNAL(bookmarkAdded()), this, SLOT(refreshBookmarks()));
+}
+
+// Destructor
+QgsBookmarks::~QgsBookmarks()
+{
+}
+
+void QgsBookmarks::refreshBookmarks()
+{
+  lstBookmarks->clear();
+  initialise();
+}
+// Initialise the bookmark tree from the database
+void QgsBookmarks::initialise()
+{
+  int rc = connectDb();
+  if(rc == SQLITE_OK)
+  {
+    // prepare the sql statement
+    const char *pzTail;
+    sqlite3_stmt *ppStmt;
+    QString sql = "select * from tbl_bookmarks";
+
+    rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+    // XXX Need to free memory from the error msg if one is set
+    if(rc == SQLITE_OK)
+    {
+      // get the first row of the result set
+      while(sqlite3_step(ppStmt) == SQLITE_ROW)
+      {
+        QString name = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 1));
+        //        sqlite3_bind_parameter_index(ppStmt, "name"));
+        //QgsDebugMsg("Bookmark name: " + name.toLocal8Bit().data()); 
+        Q3ListViewItem *lvi = new Q3ListViewItem(lstBookmarks, name);
+        // set the project name
+        lvi->setText(1, QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 2))); 
+        // get the extents
+        QString xMin = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 3));
+        QString yMin = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 4));
+        QString xMax = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 5));
+        QString yMax = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 6));
+        // set the extents
+        lvi->setText(2, xMin + ", " + yMin + ", " + xMax + ", " + yMax); 
+        // set the id
+        lvi->setText(3, QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 0)));
+      }
+    }
+    else
+    {
+      // XXX query failed -- warn the user some how
+      std::cout << "Failed to get bookmarks: " << sqlite3_errmsg(db) << std::endl; 
+    }
+    // close the statement
+    sqlite3_finalize(ppStmt);
+    // close the database
+    sqlite3_close(db);
+    // return the srs wkt
+
+  }
+}
+
+
+void QgsBookmarks::on_btnDelete_clicked()
+{
+  // get the current item
+  Q3ListViewItem *lvi = lstBookmarks->currentItem();
+  if(lvi)
+  {
+    // make sure the user really wants to delete this bookmark
+    if(QMessageBox::Ok == QMessageBox::information(this,tr("Really Delete?"),
+          tr("Are you sure you want to delete the ") + lvi->text(0) + tr(" bookmark?"),
+          QMessageBox::Ok | QMessageBox::Cancel))
+    {
+      // remove it from the listview
+      lstBookmarks->takeItem(lvi);
+      // delete it from the database
+      int rc = connectDb();
+      if(rc == SQLITE_OK)
+      {
+        char *errmsg;
+        // build the sql statement
+        QString sql = "delete from tbl_bookmarks where bookmark_id = " + lvi->text(3);
+        rc = sqlite3_exec(db, sql.utf8(), NULL, NULL, &errmsg);
+        if(rc != SQLITE_OK)
+        {
+          // XXX Provide popup message on failure?
+          QMessageBox::warning(this, tr("Error deleting bookmark"),
+                               tr("Failed to delete the ") + 
+                               lvi->text(0) +
+                               tr(" bookmark from the database. The "
+                                  "database said:\n") + QString(errmsg));
+          sqlite3_free(errmsg);
+        }
+        // close the database
+        sqlite3_close(db);
+      }
+    }
+  }
+}
+
+void QgsBookmarks::on_btnZoomTo_clicked()
+{
+  zoomToBookmark();
+}
+
+void QgsBookmarks::on_lstBookmarks_doubleClicked(Q3ListViewItem *lvi)
+{
+  zoomToBookmark();
+}
+
+void QgsBookmarks::zoomToBookmark()
+{
+	// Need to fetch the extent for the selected bookmark and then redraw
+	// the map
+  // get the current item
+  Q3ListViewItem *lvi = lstBookmarks->currentItem();
+  if(!lvi)
+  {
+      return;
+  }
+  // get the extent from the database
+  int rc = connectDb();
+  if(rc == SQLITE_OK)
+  {
+    sqlite3_stmt *ppStmt;
+    const char *pzTail;
+    // build the sql statement
+    QString sql = "select xmin, ymin, xmax, ymax from tbl_bookmarks where bookmark_id = " + lvi->text(3);
+    rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+    if(rc == SQLITE_OK)
+    {
+      if(sqlite3_step(ppStmt) == SQLITE_ROW){
+        // get the extents from the resultset
+        QString xmin  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 0));
+        QString ymin  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 1));
+        QString xmax  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 2));
+        QString ymax  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 3));
+        // set the extent to the bookmark
+        dynamic_cast<QgisApp*>(mParent)->setExtent(QgsRect(xmin.toDouble(),
+              ymin.toDouble(),
+              xmax.toDouble(),
+              ymax.toDouble()));
+        // redraw the map
+        dynamic_cast<QgisApp*>(mParent)->getMapCanvas()->refresh();
+
+
+      }
+    }
+
+    // close the statement
+    sqlite3_finalize(ppStmt);
+    // close the database
+    sqlite3_close(db);
+  }
+  
+}
+
+int QgsBookmarks::connectDb()
+{
+
+  int rc;
+  rc = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &db);
+  if(rc)
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
+
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist.
+    assert(rc == 0);
+  }
+  return rc;
+}
+
+void QgsBookmarks::on_btnHelp_clicked()
+{
+  QgsContextHelp::run(context_id);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsbookmarks.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsbookmarks.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsbookmarks.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+/***************************************************************************
+               QgsBookmarks.h  - Spatial Bookmarks
+                             -------------------
+    begin                : 2005-04-23
+    copyright            : (C) 2005 Gary Sherman
+    email                : sherman at mrcc dot com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsbookmarks.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSBOOKMARKS_H
+#define QGSBOOKMARKS_H
+#include "ui_qgsbookmarksbase.h"
+#include <QDialog>
+
+class QString;
+class QWidget;
+class Q3ListViewItem;
+class sqlite3;
+class QgsBookmarks : public QDialog, private Ui::QgsBookmarksBase
+{
+  Q_OBJECT
+public:
+ QgsBookmarks(QWidget *parent = 0, Qt::WFlags fl = 0);
+ ~QgsBookmarks();
+public slots:
+ void on_btnDelete_clicked();
+ void on_btnZoomTo_clicked();
+ void on_lstBookmarks_doubleClicked(Q3ListViewItem *);
+ void on_btnHelp_clicked();
+ void refreshBookmarks();
+
+private:
+ QWidget *mParent;
+ void initialise();
+ int connectDb();
+ void zoomToBookmark();
+ sqlite3 *db;
+ static const int context_id = 151694916;
+
+};
+#endif // QGSBOOKMARKS_H
+

Added: packages/qgis/branches/upstream/current/src/app/qgsclipboard.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsclipboard.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsclipboard.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,151 @@
+/***************************************************************************
+     qgsclipboard.cpp  -  QGIS internal clipboard for storage of features 
+     --------------------------------------------------------------------
+    begin                : 20 May, 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+/* $Id: qgsclipboard.cpp 6879 2007-04-11 11:46:35Z wonder $ */
+
+#include <fstream>
+#include <iostream>
+
+#include <QApplication>
+#include <QString>
+#include <QStringList>
+#include <QClipboard>
+
+#include "qgsclipboard.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgsgeometry.h"
+#include "qgslogger.h"
+
+
+QgsClipboard::QgsClipboard()
+  : mFeatureClipboard()
+{
+}
+
+QgsClipboard::~QgsClipboard()
+{
+}
+
+void QgsClipboard::replaceWithCopyOf( const QgsFieldMap& fields, QgsFeatureList& features )
+{
+
+  // Replace the QGis clipboard.
+  mFeatureClipboard = features;
+#ifdef QGISDEBUG
+        std::cerr << "QgsClipboard::replaceWith: replaced QGis clipboard."
+                  << std::endl;
+#endif
+
+  // Replace the system clipboard.
+
+  QStringList textLines;
+  QStringList textFields;
+
+  // first do the field names
+  textFields += "wkt_geom";
+  for (QgsFieldMap::const_iterator fit = fields.begin(); fit != fields.end(); ++fit)
+  {
+    textFields += fit->name();
+  }
+  textLines += textFields.join(",");
+  textFields.clear();
+
+  
+  // then the field contents
+  for (QgsFeatureList::iterator it = features.begin(); it != features.end(); ++it)
+  {
+    QgsAttributeMap attributes = it->attributeMap();
+
+
+    // TODO: Set up Paste Transformations to specify the order in which fields are added.
+
+    if (it->geometry())
+      textFields += it->geometry()->exportToWkt();
+    else
+      textFields += "NULL";
+
+#ifdef QGISDEBUG
+//       std::cout << "QgsClipboard::replaceWithCopyOf: about to traverse fields." << std::endl;
+#endif
+    for (QgsAttributeMap::iterator it2 = attributes.begin(); it2 != attributes.end(); ++it2)
+    {
+#ifdef QGISDEBUG
+//       std::cout << "QgsClipboard::replaceWithCopyOf: inspecting field '"
+//                 << (it2->fieldName()).toLocal8Bit().data()
+//                 << "'." << std::endl;
+#endif
+      textFields += it2->toString();
+    }
+
+    textLines += textFields.join(",");
+    textFields.clear();
+  }
+  
+  QString textCopy = textLines.join("\n");
+
+  QClipboard *cb = QApplication::clipboard();
+
+  // Copy text into the clipboard
+
+  // With qgis running under Linux, but with a Windows based X
+  // server (Xwin32), ::Selection was necessary to get the data into
+  // the Windows clipboard (which seems contrary to the Qt
+  // docs). With a Linux X server, ::Clipboard was required.
+  // The simple solution was to put the text into both clipboards.
+
+  // The ::Selection setText() below one may need placing inside so
+  // #ifdef so that it doesn't get compiled under Windows.
+  cb->setText(textCopy, QClipboard::Selection);
+  cb->setText(textCopy, QClipboard::Clipboard);
+  
+#ifdef QGISDEBUG
+        std::cerr << "QgsClipboard::replaceWith: replaced system clipboard with: "
+                  << textCopy.toLocal8Bit().data()
+                  << "."
+                  << std::endl;
+#endif
+
+}
+
+QgsFeatureList QgsClipboard::copyOf()
+{
+
+  QgsDebugMsg("QgsClipboard::copyOf: returning clipboard.");
+  
+  //TODO: Slurp from the system clipboard as well.
+
+  return mFeatureClipboard;
+    
+//  return mFeatureClipboard;
+  
+}
+
+void QgsClipboard::clear()
+{
+  mFeatureClipboard.clear();
+
+  QgsDebugMsg("QgsClipboard::clear: cleared clipboard.");
+}
+  
+void QgsClipboard::insert( QgsFeature& feature )
+{
+  mFeatureClipboard.push_back(feature);
+        
+  QgsDebugMsg("QgsClipboard::insert: inserted " + feature.geometry()->exportToWkt());
+}
+ 

Added: packages/qgis/branches/upstream/current/src/app/qgsclipboard.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsclipboard.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsclipboard.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,99 @@
+/***************************************************************************
+      qgsclipboard.h  -  QGIS internal clipboard for storage of features 
+      ------------------------------------------------------------------
+    begin                : 20 May, 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ 
+/* $Id: qgsclipboard.h 6833 2007-03-24 22:40:10Z wonder $ */
+
+#ifndef QGSCLIPBOARD_H
+#define QGSCLIPBOARD_H
+
+#include <QList>
+#include <QMap>
+
+class QgsFeature;
+class QgsField;
+
+typedef QList<QgsFeature> QgsFeatureList;
+typedef QMap<int, QgsField> QgsFieldMap;
+
+/**
+
+  \brief QGIS internal clipboard for features.
+ 
+  An internal clipboard is required so that features can be retained in
+  their original fidelity.
+  
+  The internal clipboard makes a copy of features that are presented to it,
+  therefore the original objects can safely be destructed independent of
+  the lifetime of the internal clipboard.
+  
+  As this class matures it should also be able to accept CSV repesentations
+  of features in and out of the system clipboard (QClipboard).
+  
+  TODO: Make it work
+  
+*/
+
+class QgsClipboard
+{
+  
+
+public:
+  
+ 
+  /**
+  * Constructor for the clipboard. 
+  */
+  QgsClipboard();
+
+  //! Destructor
+  virtual ~QgsClipboard();
+  
+  /*
+   *  Place a copy of features on the internal clipboard, 
+   *  destroying the previous contents.
+   */
+  void replaceWithCopyOf( const QgsFieldMap& fields, QgsFeatureList& features );
+
+  /*
+   *  Returns a copy of features on the internal clipboard, 
+   *  the caller assumes responsibility fot destroying the contents
+   *  when it's done with it.
+   */
+  QgsFeatureList copyOf();
+  
+  /*
+   *  Clears the internal clipboard.
+   */
+  void clear();
+  
+  /*
+   *  Inserts a copy of the feature on the internal clipboard.
+   */
+  void insert( QgsFeature& feature );
+ 
+    
+private:
+
+    /** QGIS-internal vector feature clipboard.
+        Stored as values not pointers as each clipboard operation
+        involves a deep copy anyway.
+     */
+    QgsFeatureList mFeatureClipboard;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,232 @@
+/***************************************************************************
+                          qgscontinuouscolordialog.cpp 
+ Continuous color renderer dialog
+                             -------------------
+    begin                : 2004-02-11
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgscontinuouscolordialog.cpp 6833 2007-03-24 22:40:10Z wonder $ */
+
+#include "qgscontinuouscolordialog.h"
+#include "qgscontinuouscolorrenderer.h"
+#include "qgsfield.h"
+#include "qgssymbol.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+#include <QColorDialog>
+
+
+QgsContinuousColorDialog::QgsContinuousColorDialog(QgsVectorLayer * layer)
+    : QDialog(), mVectorLayer(layer)
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    qWarning("constructor QgsContinuousColorDialog");
+#endif
+
+    QObject::connect(btnMinValue, SIGNAL(clicked()), this, SLOT(selectMinimumColor()));
+    QObject::connect(btnMaxValue, SIGNAL(clicked()), this, SLOT(selectMaximumColor()));
+
+    //find out the numerical fields of mVectorLayer
+    QgsVectorDataProvider *provider = mVectorLayer->getDataProvider();
+    if (provider)
+    {
+	const QgsFieldMap & fields = provider->fields();
+	int fieldnumber(0), combonumber(0);
+	QString str;
+
+	for (QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
+        {
+	    QVariant::Type type = (*it).type();
+	    if (type == QVariant::Int || type == QVariant::Double)
+            {
+		str = (*it).name();
+		classificationComboBox->insertItem(str);
+		mFieldMap.insert(std::make_pair(combonumber, fieldnumber));
+		combonumber++;
+            }
+	    fieldnumber++;
+        }
+    } 
+    else
+    {
+	qWarning("Warning, data provider is null in QgsContinuousColorDialog::QgsContinuousColorDialog(...)");
+	return;
+    }
+
+    //restore the correct colors for minimum and maximum values
+
+    const QgsContinuousColorRenderer* renderer = dynamic_cast < const QgsContinuousColorRenderer * >(layer->renderer());;
+
+    if (renderer)
+    {
+	// Awkard - here we want to search through mFieldMap for a
+	// particular value, while elsewhere in this code we need to search
+	// for a particular key, so one or the other loses out, which is here.
+
+	std::map<int,int>::const_iterator iter = mFieldMap.begin();
+	while (iter != mFieldMap.end())
+	{
+	    if (iter->second == renderer->classificationField())
+		break;
+	    iter++;
+	}
+	if (iter != mFieldMap.end())
+	    classificationComboBox->setCurrentItem(iter->first);
+	else
+	    classificationComboBox->setCurrentItem(-1);
+
+	const QgsSymbol* minsymbol = renderer->minimumSymbol();
+	const QgsSymbol* maxsymbol = renderer->maximumSymbol();
+
+	if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
+    {
+        btnMinValue->setColor( minsymbol->pen().color() );
+        btnMaxValue->setColor( maxsymbol->pen().color() );
+	}
+	else
+    {
+        btnMinValue->setColor( minsymbol->brush().color() );
+        btnMaxValue->setColor( maxsymbol->brush().color() );
+    }
+
+	outlinewidthspinbox->setMinValue(0);
+	outlinewidthspinbox->setValue(minsymbol->pen().width());
+
+	if (renderer->drawPolygonOutline()) 
+	  cb_polygonOutline->setCheckState(Qt::Checked);
+	else
+	  cb_polygonOutline->setCheckState(Qt::Unchecked);
+	if (mVectorLayer->vectorType() != QGis::Polygon)
+	  cb_polygonOutline->setVisible(false);
+    }
+    else
+    {
+      cb_polygonOutline->setCheckState(Qt::Checked);
+      outlinewidthspinbox->setValue(1);
+      if (mVectorLayer->vectorType() != QGis::Polygon)
+        cb_polygonOutline->setVisible(false);
+
+      btnMinValue->setColor(Qt::black);
+      btnMaxValue->setColor(Qt::white);
+
+    }
+    // Ensure that the state of other widgets is appropriate for the
+    // state of the polygonoutline checkbox.
+    on_cb_polygonOutline_clicked();
+}
+
+QgsContinuousColorDialog::QgsContinuousColorDialog()
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    qWarning("constructor QgsContinuousColorDialog");
+#endif
+}
+
+QgsContinuousColorDialog::~QgsContinuousColorDialog()
+{
+#ifdef QGISDEBUG
+    qWarning("destructor QgsContinuousColorDialog");
+#endif
+}
+
+void QgsContinuousColorDialog::apply()
+{
+    int comboIndex = classificationComboBox->currentIndex();
+    if (comboIndex == -1)    //don't do anything, if there is no classification field
+    {
+	return;
+    }
+    std::map < int, int >::iterator iter = mFieldMap.find(comboIndex);
+    // Should never happen...
+    assert(iter != mFieldMap.end());
+
+    int classfield = iter->second;
+
+    //find the minimum and maximum for the classification variable
+    double minimum, maximum;
+    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider*>(mVectorLayer->getDataProvider());
+    if (provider)
+    {
+	minimum = provider->minValue(classfield).toDouble();
+	maximum = provider->maxValue(classfield).toDouble();
+    } 
+    else
+    {
+	qWarning("Warning, provider is null in QgsGraSyExtensionWidget::QgsGraSyExtensionWidget(...)");
+	return;
+    }
+
+
+    //create the render items for minimum and maximum value
+    QgsSymbol* minsymbol = new QgsSymbol(mVectorLayer->vectorType(), QString::number(minimum, 'f'), "", "");
+    if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
+    {
+	minsymbol->setPen(QPen(btnMinValue->color(), outlinewidthspinbox->value()));
+    } 
+    else
+    {
+	minsymbol->setBrush(QBrush(btnMinValue->color()));
+        minsymbol->setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value()));
+    }
+    
+    QgsSymbol* maxsymbol = new QgsSymbol(mVectorLayer->vectorType(), QString::number(maximum, 'f'), "", "");
+    if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
+    {
+	maxsymbol->setPen(QPen(btnMaxValue->color(), outlinewidthspinbox->value()));
+    } 
+    else
+    {
+	maxsymbol->setBrush(QBrush(btnMaxValue->color()));
+	maxsymbol->setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value()));
+    }
+  
+    QgsContinuousColorRenderer* renderer = new QgsContinuousColorRenderer(mVectorLayer->vectorType());
+    mVectorLayer->setRenderer(renderer);
+    
+    renderer->setMinimumSymbol(minsymbol);
+    renderer->setMaximumSymbol(maxsymbol);
+    renderer->setClassificationField(classfield);
+    bool drawOutline = (cb_polygonOutline->checkState() == Qt::Checked) ? true:false; 
+    renderer->setDrawPolygonOutline(drawOutline);
+}
+
+void QgsContinuousColorDialog::selectMinimumColor()
+{
+    QColor mincolor = QColorDialog::getColor(btnMinValue->color(), this);
+    if(mincolor.isValid())
+    {
+      btnMinValue->setColor(mincolor);
+    }
+    setActiveWindow();
+}
+
+void QgsContinuousColorDialog::selectMaximumColor()
+{
+    QColor maxcolor = QColorDialog::getColor(btnMaxValue->color(), this);
+    if(maxcolor.isValid())
+    {
+      btnMaxValue->setColor(maxcolor);
+    }
+    setActiveWindow();
+}
+
+void QgsContinuousColorDialog::on_cb_polygonOutline_clicked()
+{
+  if (cb_polygonOutline->checkState() == Qt::Checked)
+    outlinewidthspinbox->setEnabled(true);
+  else
+    outlinewidthspinbox->setEnabled(false);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgscontinuouscolordialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,57 @@
+/***************************************************************************
+                          qgscontinuouscolordialog.h 
+                        Continuous color renderer dialog
+                             -------------------
+    begin                : 2004-02-12
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgscontinuouscolordialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSCONTINUOUSCOLORDIALOG_H
+#define QGSCONTINUOUSCOLORDIALOG_H
+
+#include "ui_qgscontinuouscolordialogbase.h"
+#include <map>
+
+class QgsVectorLayer;
+
+
+class QgsContinuousColorDialog: public QDialog, private Ui::QgsContinuousColorDialogBase
+{
+    Q_OBJECT
+
+ public:
+    QgsContinuousColorDialog(QgsVectorLayer* layer);
+    ~QgsContinuousColorDialog();
+
+ public slots:
+    void apply();
+
+ protected slots:
+    void selectMinimumColor();
+    void selectMaximumColor();
+    void on_cb_polygonOutline_clicked();
+
+ protected:
+    QgsVectorLayer* mVectorLayer;
+    /**Stores the relationship between provider field indices and field selection 
+       combobox indices. First is the combobox index, second is the provider field index */
+     std::map<int,int> mFieldMap;
+
+ private:
+    /** Default constructor is private, do not use this */
+    QgsContinuousColorDialog();
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1083 @@
+/***************************************************************************
+                          qgscustomprojectiondialog.cpp 
+                       
+                             -------------------
+    begin                : 2005
+    copyright            : (C) 2005 by Tim Sutton
+    email                : tim at linfiniti.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgscustomprojectiondialog.h"
+
+//qgis includes
+#include "qgis.h" //<--magick numbers
+#include "qgsapplication.h"
+#include "qgslogger.h"
+
+//qt includes
+#include <QFileInfo>
+#include <QMessageBox>
+
+//stdc++ includes
+#include <cassert>
+#include <fstream>
+#include <iostream>
+#include <sqlite3.h>
+
+//proj4 includes
+extern "C"{
+#include <proj_api.h>
+}
+
+
+QgsCustomProjectionDialog::QgsCustomProjectionDialog(QWidget *parent, Qt::WFlags fl)
+  : QDialog(parent, fl)
+{
+  setupUi(this);
+
+  // user database is created at QGIS startup in QgisApp::createDB
+  // we just check whether there is our database [MD]
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(QgsApplication::qgisSettingsDirPath());
+  if ( !myFileInfo.exists( ) )
+  {
+#ifdef QGISDEBUG 
+    std::cout << "The qgis.db does not exist" << std::endl; 
+#endif 
+  }
+
+  //
+  // Setup member vars
+  //
+  mCurrentRecordId="";
+
+  //
+  // Set up databound controls
+  //
+
+  // deprecated methods
+  //getProjList();
+  //getEllipsoidList();
+  mRecordCountLong=getRecordCount();
+  if (mRecordCountLong > 0)
+    on_pbnFirst_clicked();
+  else
+    on_pbnNew_clicked();
+  //automatically go to insert mode if there are not recs yet
+  if (mRecordCountLong<1)
+  {
+    on_pbnNew_clicked();
+  }
+}
+
+QgsCustomProjectionDialog::~QgsCustomProjectionDialog()
+{
+  
+}
+/*
+ * These two methods will be deprecated
+ * 
+void QgsCustomProjectionDialog::getProjList ()
+{
+  // 
+  // Populate the projection combo
+  // 
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  // Set up the query to retreive the projection information needed to populate the PROJECTION list
+  QString mySql = "select * from tbl_projection order by name";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      cboProjectionFamily->insertItem(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+    }
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+}
+
+void QgsCustomProjectionDialog::getEllipsoidList()
+{
+
+  // 
+  // Populate the ellipsoid combo
+  // 
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select * from tbl_ellipsoid order by name";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      cboEllipsoid->insertItem(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+    }
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+}
+*/
+
+void QgsCustomProjectionDialog::on_pbnDelete_clicked()
+{
+
+  if (QMessageBox::Yes!=QMessageBox::warning(
+        this,
+        tr("Delete Projection Definition?"),
+        tr("Deleting a projection definition is not reversable. Do you want to delete it?"),
+        QMessageBox::Ok | QMessageBox::Cancel ) )
+  {
+    return ;
+  }
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "delete from tbl_srs where srs_id='" + mCurrentRecordId + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+#ifdef QGISDEBUG
+    std::cout << "Query to delete current:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  if(myResult == SQLITE_OK)
+  {
+    sqlite3_step(myPreparedStatement);
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  //move to an appropriate rec now this one is gone
+  --mRecordCountLong;
+  if (mRecordCountLong < 1)
+  {
+    on_pbnNew_clicked();
+  }
+  else if (mCurrentRecordLong==1)
+  {
+    on_pbnFirst_clicked();
+  }
+  else if (mCurrentRecordLong>mRecordCountLong)
+  {
+    on_pbnLast_clicked();
+  }
+  else
+  {
+    mCurrentRecordLong=mCurrentRecordLong-2;
+    on_pbnNext_clicked();
+  }
+  return ;
+}
+
+void QgsCustomProjectionDialog::on_pbnClose_clicked()
+{
+ close(); 
+}
+
+
+
+
+long QgsCustomProjectionDialog::getRecordCount()
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  long          myRecordCount=0;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select count(*) from tbl_srs";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      {
+	QString myRecordCountString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+	myRecordCount=myRecordCountString.toLong();
+      }
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myRecordCount;
+
+}
+
+QString QgsCustomProjectionDialog::getProjectionFamilyName(QString theProjectionFamilyAcronym)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select name from tbl_projection where acronym='" + theProjectionFamilyAcronym + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+	myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}
+QString QgsCustomProjectionDialog::getEllipsoidName(QString theEllipsoidAcronym)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select name from tbl_ellipsoid where acronym='" + theEllipsoidAcronym + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+	myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}
+QString QgsCustomProjectionDialog::getProjectionFamilyAcronym(QString theProjectionFamilyName)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select acronym from tbl_projection where name='" + theProjectionFamilyName + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+	myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}
+QString QgsCustomProjectionDialog::getEllipsoidAcronym(QString theEllipsoidName)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select acronym from tbl_ellipsoid where name='" + theEllipsoidName + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+	myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}
+
+void QgsCustomProjectionDialog::on_pbnFirst_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnFirst_clicked()" << std::endl;
+#endif
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  QString mySql = "select * from tbl_srs order by srs_id limit 1";
+#ifdef QGISDEBUG
+    std::cout << "Query to move first:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      {
+	mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+	leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+	//QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+	//cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
+	//QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+	//cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
+	leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
+	mCurrentRecordLong=1; 
+	lblRecordNo->setText(QString::number(mCurrentRecordLong) + " of " + QString::number(mRecordCountLong));
+      }
+  }
+  else
+  {
+#ifdef QGISDEBUG
+  std::cout << "pbnFirst query failed: " << mySql.toLocal8Bit().data() << std::endl;
+#endif
+    
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  
+  //enable nav buttons as appropriate
+  pbnFirst->setEnabled(false);
+  pbnPrevious->setEnabled(false);
+  //automatically go to insert mode if there are not recs yet
+  if (mRecordCountLong < 1)
+  {
+    on_pbnNew_clicked();
+    pbnDelete->setEnabled(false);
+  }
+  else if (mCurrentRecordLong==mRecordCountLong)
+  {
+    pbnNext->setEnabled(false);
+    pbnLast->setEnabled(false);
+    pbnDelete->setEnabled(false);
+  }
+  else
+  {
+    pbnNext->setEnabled(true);
+    pbnLast->setEnabled(true);
+    pbnDelete->setEnabled(false);
+  }
+}
+
+
+void QgsCustomProjectionDialog::on_pbnPrevious_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnPrevious_clicked()" << std::endl;
+#endif
+  if (mCurrentRecordLong <= 1) 
+  {
+    return;
+  }
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  QString mySql = "select * from tbl_srs where srs_id < " + mCurrentRecordId + " order by srs_id desc limit 1";
+#ifdef QGISDEBUG
+    std::cout << "Query to move previous:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      {
+	mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+	leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+	//QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+	//cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
+	//QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+	//cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
+	leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4))),
+	  --mCurrentRecordLong;
+	lblRecordNo->setText(QString::number(mCurrentRecordLong) + " of " + QString::number(mRecordCountLong));
+      }
+  }
+  else
+  {
+#ifdef QGISDEBUG
+  std::cout << "pbnPrevious query failed: " << mySql.toLocal8Bit().data() << std::endl;
+#endif
+    
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+
+  //enable nav buttons as appropriate
+  if (mCurrentRecordLong<= 1)
+  {
+    pbnFirst->setEnabled(false);
+    pbnPrevious->setEnabled(false);
+  }
+  else
+  {
+    pbnFirst->setEnabled(true);
+    pbnPrevious->setEnabled(true);
+  }
+  if (mCurrentRecordLong==mRecordCountLong)
+  {
+    pbnNext->setEnabled(false);
+    pbnLast->setEnabled(false);
+  }
+  else
+  {
+    pbnNext->setEnabled(true);
+    pbnLast->setEnabled(true);
+  }
+
+}
+
+
+void QgsCustomProjectionDialog::on_pbnNext_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnNext_clicked()" << std::endl;
+#endif
+  if (mCurrentRecordLong >= mRecordCountLong)
+  {
+    return;
+  }
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+
+  QString mySql = "select * from tbl_srs where srs_id > " + mCurrentRecordId + " order by srs_id asc limit 1";
+#ifdef QGISDEBUG
+    std::cout << "Query to move next:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      {
+	mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+	leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+	//QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+	//cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
+	//QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+	//cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
+	leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
+	++mCurrentRecordLong;
+	lblRecordNo->setText(QString::number(mCurrentRecordLong) + " of " + QString::number(mRecordCountLong));
+      }
+  }
+  else
+  {
+#ifdef QGISDEBUG
+  std::cout << "pbnNext query failed: " << mySql.toLocal8Bit().data() << std::endl;
+#endif
+    
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+
+  //enable nav buttons as appropriate
+  if (mCurrentRecordLong==mRecordCountLong)
+  {
+    pbnNext->setEnabled(false);
+    pbnLast->setEnabled(false);
+  }
+  else
+  {
+    pbnNext->setEnabled(true);
+    pbnLast->setEnabled(true);
+  }
+  if (mRecordCountLong <= 1)
+  {
+    pbnFirst->setEnabled(false);
+    pbnPrevious->setEnabled(false);
+  }
+  else
+  {
+    pbnFirst->setEnabled(true);
+    pbnPrevious->setEnabled(true);
+  }
+
+}
+
+
+void QgsCustomProjectionDialog::on_pbnLast_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnLast_clicked()" << std::endl;
+#endif
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  QString mySql = "select * from tbl_srs order by srs_id desc limit 1";
+#ifdef QGISDEBUG
+    std::cout << "Query to move last:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+      if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      {
+	mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+	leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
+	//QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+	//cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
+	//QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+	//cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
+	leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
+	mCurrentRecordLong =mRecordCountLong;
+	lblRecordNo->setText(QString::number(mCurrentRecordLong) + " of " + QString::number(mRecordCountLong));
+      }
+  }
+  else
+  {
+#ifdef QGISDEBUG
+  std::cout << "pbnLast query failed: " << mySql.toLocal8Bit().data() << std::endl;
+#endif
+    
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  
+  //enable nav buttons as appropriate
+  pbnNext->setEnabled(false);
+  pbnLast->setEnabled(false);
+  if (mRecordCountLong <= 1)
+  {
+    pbnFirst->setEnabled(false);
+    pbnPrevious->setEnabled(false);
+  }
+  else
+  {
+    pbnFirst->setEnabled(true);
+    pbnPrevious->setEnabled(true);
+  }
+}
+
+
+void QgsCustomProjectionDialog::on_pbnNew_clicked()
+{
+#ifdef QGISDEBUG
+  if (pbnNew->text()==tr("Abort")) 
+  {
+    std::cout << "QgsCustomProjectionDialog::on_pbnNew_clicked() - abort requested" << std::endl;
+  }
+  else
+  {
+   std::cout << "QgsCustomProjectionDialog::on_pbnNew_clicked() - new requested" << std::endl;
+  }
+#endif
+  if (pbnNew->text()==tr("Abort")) 
+  {
+    //if we get here, user has aborted add record
+    pbnNew->setText(tr("New"));
+    //get back to the last used record before insert was pressed
+   if (mCurrentRecordId.isEmpty())
+   {
+      on_pbnFirst_clicked();
+    }
+    else
+    {
+      mCurrentRecordLong=mLastRecordLong;
+      on_pbnNext_clicked();
+    }
+  }
+  else
+  {
+    //if we get here user has elected to add new record
+    pbnFirst->setEnabled(false);
+    pbnPrevious->setEnabled(false);
+    pbnNext->setEnabled(false);
+    pbnLast->setEnabled(false);
+    pbnDelete->setEnabled(false);
+    pbnNew->setText(tr("Abort"));
+    //clear the controls
+    leName->setText("");
+    leParameters->setText("");
+    //cboProjectionFamily->setCurrentItem(0);
+    //cboEllipsoid->setCurrentItem(0);
+    lblRecordNo->setText("* of " + QString::number(mRecordCountLong));
+    //remember the rec we are on in case the user aborts
+    mLastRecordLong=mCurrentRecordLong;
+    mCurrentRecordId="";
+  }
+
+}
+
+
+void QgsCustomProjectionDialog::on_pbnSave_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnSave_clicked()" << std::endl;
+#endif
+ 
+  QString myName = leName->text();
+  QString myParameters = leParameters->text();
+  if (myName.isEmpty())
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 projection definition is not valid. Please give the projection a name before pressing save.") );
+    return;
+  }
+  if (myParameters.isEmpty())
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 projection definition is not valid. Please add the parameters before pressing save.") );
+    return;
+  }
+
+  
+  //
+  // Now make sure parameters have proj and ellipse 
+  //
+  
+  QString myProjectionAcronym  =  getProjFromParameters();
+  QString myEllipsoidAcronym   =  getEllipseFromParameters();
+  
+  if ( myProjectionAcronym.isNull() ) 
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 projection definition is not valid. Please add a proj= clause before pressing save.") );
+    return;
+  }
+  
+  if ( myEllipsoidAcronym.isNull() ) 
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.") );
+    return;
+  }
+  
+  
+  //
+  // We must check the prj def is valid!
+  // NOTE :  the test below may be bogus as the processes abpve emsired there
+  // is always at least a projection and ellpsoid - which proj will parse as acceptible
+  //
+
+  projPJ myProj = pj_init_plus( leParameters->text().toLocal8Bit().data() );
+
+  if ( myProj == NULL ) 
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 projection definition is not valid. Please correct before pressing save.") );
+    pj_free(myProj);
+    return;
+    
+  }
+  pj_free(myProj);
+
+
+  /** TODO Check the projection is not a duplicate ! */
+
+  
+  //CREATE TABLE tbl_srs (
+  //srs_id integer primary key,
+  //description varchar(255) NOT NULL,
+  //projection_acronym varchar(20) NOT NULL default '',
+  //ellipsoid_acronym varchar(20) NOT NULL default '',
+  //parameters varchar(80) NOT NULL default ''
+  //);
+
+  QString mySql;
+  //insert a record if mode is enabled
+  if (pbnNew->text()==tr("Abort")) 
+  {
+    //if this is the first record we need to ensure that its srs_id is 10000. For 
+    //any rec after that sqlite3 will take care of the autonumering
+    //this was done to support sqlite 3.0 as it does not yet support
+    //the autoinc related system tables.
+    if (getRecordCount() == 0)
+    {
+      mySql=QString("insert into tbl_srs (srs_id,description,projection_acronym,ellipsoid_acronym,parameters,is_geo) ") 
+        + " values ("+ QString::number(USER_PROJECTION_START_ID) + ",'" 
+        + stringSQLSafe(myName) + "','" + myProjectionAcronym  
+        + "','" + myEllipsoidAcronym  + "','" + stringSQLSafe(myParameters)
+        + "',0)"; // <-- is_geo shamelessly hard coded for now
+    }
+    else
+    {
+      mySql="insert into tbl_srs (description,projection_acronym,ellipsoid_acronym,parameters,is_geo) values ('" 
+        + stringSQLSafe(myName) + "','" + myProjectionAcronym  
+        + "','" + myEllipsoidAcronym  + "','" + stringSQLSafe(myParameters )
+        + "',0)"; // <-- is_geo shamelessly hard coded for now
+    }
+  }
+  else //user is updating an existing record
+  {
+    mySql="update tbl_srs set description='" + stringSQLSafe(myName)  
+        + "',projection_acronym='" + myProjectionAcronym 
+        + "',ellipsoid_acronym='" + myEllipsoidAcronym 
+        + "',parameters='" + stringSQLSafe(myParameters) + "' "
+        + ",is_geo=0" // <--shamelessly hard coded for now
+        + " where srs_id='" + mCurrentRecordId + "'"
+        ;
+  }
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult!=SQLITE_OK) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << 
+        " /n please notify  QGIS developers of this error \n " << 
+        QgsApplication::qgisUserDbFilePath().toLocal8Bit().data() << " (file name) "
+        << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+#ifdef QGISDEBUG
+  std::cout << "Update or insert sql \n" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  sqlite3_step(myPreparedStatement);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult != SQLITE_OK)
+  {
+#ifdef QGISDEBUG
+    std::cout << "Update or insert failed in custom projection dialog " << std::endl;
+#endif
+  }
+  //reinstate button if we were doing an insert
+  else if (pbnNew->text()==tr("Abort")) 
+  {
+    pbnNew->setText(tr("New"));
+    //get to the newly inserted record 
+    ++mRecordCountLong;
+    mCurrentRecordLong=mRecordCountLong-1;
+    on_pbnLast_clicked();
+  }
+
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+}
+
+void QgsCustomProjectionDialog::on_pbnCalculate_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsCustomProjectionDialog::on_pbnCalculate_clicked()" << std::endl;
+#endif
+
+
+  //
+  // We must check the prj def is valid!
+  //
+
+  projPJ myProj = pj_init_plus( leTestParameters->text().toLocal8Bit().data() );
+
+  std::cout << "My proj: " << leTestParameters->text().toLocal8Bit().data() << std::endl;
+
+  if ( myProj == NULL ) 
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("This proj4 projection definition is not valid.") );
+    projectedX->setText("");
+    projectedY->setText("");
+    pj_free(myProj);
+    return;
+    
+  }
+  // Get the WGS84 coordinates
+  bool okN, okE;
+  double northing = northWGS84->text().toDouble(&okN) * DEG_TO_RAD;  
+  double easthing = eastWGS84->text().toDouble(&okE)  * DEG_TO_RAD;  
+
+  if ( !okN || !okE )
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("Northing and Easthing must be in decimal form.") );
+    projectedX->setText("");
+    projectedY->setText("");
+    pj_free(myProj);
+    return;    
+  }  
+
+  projPJ wgs84Proj = pj_init_plus( GEOPROJ4.toLocal8Bit().data() ); //defined in qgis.h
+
+  if ( wgs84Proj == NULL ) 
+  {
+    QMessageBox::information( this, tr("QGIS Custom Projection"),
+            tr("Internal Error (source projection invalid?)") );
+    projectedX->setText("");
+    projectedY->setText("");
+    pj_free(myProj);
+    return;
+  }
+
+  double z = 0.0;
+
+  int projResult = pj_transform(wgs84Proj, myProj, 1, 0, &easthing, &northing, &z);
+  if ( projResult != 0 )
+  {
+    projectedX->setText("Error");
+    projectedY->setText("Error");
+    std::cout << pj_strerrno(projResult) << std::endl;
+  }
+  else 
+  {
+    QString tmp;
+
+    tmp = tmp.setNum(northing, 'f', 4);
+    projectedX->setText(tmp);
+    tmp = tmp.setNum(easthing, 'f', 4);
+    projectedY->setText(tmp);
+  }
+
+  //
+  pj_free(myProj);
+  pj_free(wgs84Proj);
+
+}
+
+
+/* This is deprecated - to be deleted
+void QgsCustomProjectionDialog::cboProjectionFamily_highlighted( const QString & theText)
+{
+#ifdef QGISDEBUG
+    std::cout << "Projection selected from combo" << std::endl;
+#endif
+  //search the sqlite user projections db for the projection entry 
+  //and display its parameters
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult!=SQLITE_OK) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  // Set up the query to retreive the projection information needed to populate the PROJECTION list
+  QString mySql = "select parameters from tbl_projection name where name='"+theText+"'";
+#ifdef QGISDEBUG
+    std::cout << "Query to get proj params:" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    sqlite3_step(myPreparedStatement) == SQLITE_ROW;
+    QString myParametersString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+#ifdef QGISDEBUG
+    std::cout << "Setting parameters text box to: " << myParametersString.toLocal8Bit().data() << std::endl;
+#endif
+    txtExpectedParameters->setReadOnly(false);
+    txtExpectedParameters->setText(myParametersString);
+    txtExpectedParameters->setReadOnly(true);
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+}
+*/
+
+
+QString QgsCustomProjectionDialog::getProjFromParameters()
+{
+  QgsLogger::debug("QgsCustomProjectionDialog::getProjFromParameters()");
+  QString myProj4String = leParameters->text();
+  QRegExp myProjRegExp( "\\+proj=[a-zA-Z]*" );    
+  int myStart= 0;
+  myStart = myProjRegExp.search(myProj4String, myStart);
+  if (myStart==-1)
+  {
+    qDebug ("proj string supplied has no +proj argument!");
+    return NULL;
+  }
+  else
+  {
+    int myLength = myProjRegExp.matchedLength();
+    QString myProjectionAcronym = myProj4String.mid(myStart+(PROJ_PREFIX_LEN),myLength-(PROJ_PREFIX_LEN));//+1 for space
+    return myProjectionAcronym;
+  }
+}
+
+QString QgsCustomProjectionDialog::getEllipseFromParameters()
+{
+  QgsLogger::debug("QgsCustomProjectionDialog::getEllipseFromParameters()");
+  QString myProj4String = leParameters->text();
+  QRegExp myEllipseRegExp( "\\+ellps=[a-zA-Z0-9\\-_]*" );    
+  int myStart= 0;
+  myStart = myEllipseRegExp.search(myProj4String, myStart);
+  if (myStart==-1)
+  {
+    std::cout << "proj string supplied has no +ellps!" << std::endl;
+    return NULL;
+  }
+  else //match was found
+  {
+    int myLength = myEllipseRegExp.matchedLength();
+    QString myEllipsoidAcronym = myProj4String.mid(myStart+(ELLPS_PREFIX_LEN),myLength-(ELLPS_PREFIX_LEN));
+    return myEllipsoidAcronym;
+  }
+}
+
+  /*!
+ * \brief Make the string safe for use in SQL statements.
+ *  This involves escaping single quotes, double quotes, backslashes,
+ *  and optionally, percentage symbols.  Percentage symbols are used
+ *  as wildcards sometimes and so when using the string as part of the
+ *  LIKE phrase of a select statement, should be escaped.
+ * \arg const QString in The input string to make safe.
+ * \return The string made safe for SQL statements.
+ */
+const QString QgsCustomProjectionDialog::stringSQLSafe(const QString theSQL)
+{
+
+    QString myRetval;
+    QChar *it = (QChar *)theSQL.unicode();
+    for (int i = 0; i < theSQL.length(); i++) {
+        if (*it == '\"') {
+            myRetval += "\\\"";
+        } else if (*it == '\'') {
+            myRetval += "\\'";
+        } else if (*it == '\\') {
+            myRetval += "\\\\";
+        } else if (*it == '%')  {
+            myRetval += "\\%";
+        } else {
+            myRetval += *it;
+        }
+        it++;
+    }
+    return myRetval;
+}
+  

Added: packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgscustomprojectiondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,77 @@
+/***************************************************************************
+                          qgscustomprojectiondialog.h 
+                       
+                             -------------------
+    begin                : 2005
+    copyright            : (C) 2005 by Tim Sutton
+    email                : tim at linfiniti.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSCUSTOMPROJECTIONDIALOG_H
+#define QGSCUSTOMPROJECTIONDIALOG_H
+
+#include "ui_qgscustomprojectiondialogbase.h"
+class QDir;
+
+/**
+The custom projection widget is used to define the projection family, ellipsoid and paremters needed by proj4 to assemble a customised projection definition. The resulting projection will be store in an sqlite backend.
+
+ at author Tim Sutton
+*/
+class QgsCustomProjectionDialog : public QDialog, private Ui::QgsCustomProjectionDialogBase
+{
+Q_OBJECT
+public:
+    QgsCustomProjectionDialog(QWidget *parent = 0, Qt::WFlags fl = 0);
+    ~QgsCustomProjectionDialog();
+    //a recursive function to make a directory and its ancestors
+public slots:    
+    void on_pbnCalculate_clicked();
+    void on_pbnClose_clicked();
+    void on_pbnDelete_clicked();
+    //
+    // Database navigation controles
+    //
+    long getRecordCount();
+    void on_pbnFirst_clicked();
+    void on_pbnPrevious_clicked();
+    void on_pbnNext_clicked();
+    void on_pbnLast_clicked();
+    void on_pbnNew_clicked();
+    void on_pbnSave_clicked();
+
+    //
+    // Contol population
+    //
+    /* These two methods will be deprecated
+    void getProjList();
+    void getEllipsoidList();
+    */
+    QString getProjectionFamilyName(QString theProjectionFamilyAcronym);
+    QString getEllipsoidName(QString theEllipsoidAcronym);
+    QString getProjectionFamilyAcronym(QString theProjectionFamilyName);
+    QString getEllipsoidAcronym(QString theEllipsoidName);
+private: 
+    QString getProjFromParameters();
+    QString getEllipseFromParameters();
+    
+        
+    QString mCurrentRecordId;
+    long mCurrentRecordLong;
+    //the record previous to starting an insert operation
+    //so that we can return to it if the record insert is aborted
+    long mLastRecordLong;
+    long mRecordCountLong;
+    const QString stringSQLSafe(const QString theSQL);
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,749 @@
+/***************************************************************************
+                             qgsdbsourceselect.cpp  
+       Dialog to select PostgreSQL layer(s) and add it to the map canvas
+                              -------------------
+begin                : Sat Jun 22 2002
+copyright            : (C) 2002 by Gary E.Sherman
+email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsdbsourceselect.cpp 6451 2007-01-22 02:38:33Z g_j_m $ */
+
+#include "qgsdbsourceselect.h"
+
+#include "qgisapp.h"
+#include "qgsapplication.h"
+#include "qgscontexthelp.h"
+#include "qgsnewconnection.h"
+#include "qgspgquerybuilder.h"
+
+#include <QInputDialog>
+#include <QMessageBox>
+#include <QSettings>
+#include <QTextOStream>
+#include <QTableWidgetItem>
+#include <QHeaderView>
+#include <QStringList>
+
+#include <cassert>
+#include <iostream>
+
+QgsDbSourceSelect::QgsDbSourceSelect(QgisApp *app, Qt::WFlags fl)
+  : QDialog(app, fl), mColumnTypeThread(NULL), qgisApp(app), pd(0)
+{
+  setupUi(this);
+  btnAdd->setEnabled(false);
+  populateConnectionList();
+  // connect the double-click signal to the addSingleLayer slot in the parent
+
+  //disable the 'where clause' box for 0.4 release
+  //  groupBox3->hide();
+  //insert the encoding types available in qt
+  mEncodingComboBox->insertItem("BIG5"); 
+  mEncodingComboBox->insertItem("BIG5-HKSCS"); 
+  mEncodingComboBox->insertItem("EUCJP"); 
+  mEncodingComboBox->insertItem("EUCKR"); 
+  mEncodingComboBox->insertItem("GB2312"); 
+  mEncodingComboBox->insertItem("GBK"); 
+  mEncodingComboBox->insertItem("GB18030"); 
+  mEncodingComboBox->insertItem("JIS7"); 
+  mEncodingComboBox->insertItem("SHIFT-JIS"); 
+  mEncodingComboBox->insertItem("TSCII"); 
+  mEncodingComboBox->insertItem("UTF-8"); 
+  mEncodingComboBox->insertItem("UTF-16"); 
+  mEncodingComboBox->insertItem("KOI8-R"); 
+  mEncodingComboBox->insertItem("KOI8-U"); 
+  mEncodingComboBox->insertItem("ISO8859-1"); 
+  mEncodingComboBox->insertItem("ISO8859-2");
+  mEncodingComboBox->insertItem("ISO8859-3"); 
+  mEncodingComboBox->insertItem("ISO8859-4"); 
+  mEncodingComboBox->insertItem("ISO8859-5"); 
+  mEncodingComboBox->insertItem("ISO8859-6");
+  mEncodingComboBox->insertItem("ISO8859-7"); 
+  mEncodingComboBox->insertItem("ISO8859-8"); 
+  mEncodingComboBox->insertItem("ISO8859-8-I"); 
+  mEncodingComboBox->insertItem("ISO8859-9"); 
+  mEncodingComboBox->insertItem("ISO8859-10"); 
+  mEncodingComboBox->insertItem("ISO8859-13"); 
+  mEncodingComboBox->insertItem("ISO8859-14"); 
+  mEncodingComboBox->insertItem("ISO8859-15"); 
+  mEncodingComboBox->insertItem("IBM 850"); 
+  mEncodingComboBox->insertItem("IBM 866"); 
+  mEncodingComboBox->insertItem("CP874"); 
+  mEncodingComboBox->insertItem("CP1250"); 
+  mEncodingComboBox->insertItem("CP1251"); 
+  mEncodingComboBox->insertItem("CP1252"); 
+  mEncodingComboBox->insertItem("CP1253"); 
+  mEncodingComboBox->insertItem("CP1254"); 
+  mEncodingComboBox->insertItem("CP1255"); 
+  mEncodingComboBox->insertItem("CP1256"); 
+  mEncodingComboBox->insertItem("CP1257"); 
+  mEncodingComboBox->insertItem("CP1258"); 
+  mEncodingComboBox->insertItem("Apple Roman"); 
+  mEncodingComboBox->insertItem("TIS-620"); 
+
+  //read the last encoding from the settings
+  //or use local as default
+  QSettings settings; 
+  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
+  if(lastUsedEncoding.isNull()||lastUsedEncoding.isEmpty()||lastUsedEncoding=="\0")
+    {
+      mEncodingComboBox->setCurrentText(QString(QTextCodec::codecForLocale()->name()));
+    }
+  else
+    {
+      mEncodingComboBox->setCurrentText(lastUsedEncoding);
+    }
+
+  // Do some things that couldn't be done in designer
+  lstTables->horizontalHeader()->setStretchLastSection(true);
+  // Set the column count to 3 for the type, name, and sql
+  lstTables->setColumnCount(3);
+  mColumnLabels += tr("Type"); 
+  mColumnLabels += tr("Name"); 
+  mColumnLabels += tr("Sql");
+  lstTables->setHorizontalHeaderLabels(mColumnLabels);
+  lstTables->verticalHeader()->hide();
+}
+/** Autoconnected SLOTS **/
+// Slot for adding a new connection
+void QgsDbSourceSelect::on_btnNew_clicked()
+{
+  addNewConnection();
+}
+// Slot for deleting an existing connection
+void QgsDbSourceSelect::on_btnDelete_clicked()
+{
+  deleteConnection();
+}
+// Slot for performing action when the Add button is clicked
+void QgsDbSourceSelect::on_btnAdd_clicked()
+{
+  addTables();
+}
+
+// Slot for opening the query builder when a layer is double clicked
+void QgsDbSourceSelect::on_lstTables_itemDoubleClicked(QTableWidgetItem *item)
+{
+  setSql(item);
+}
+
+// Slot for editing a connection
+void QgsDbSourceSelect::on_btnEdit_clicked()
+{
+  editConnection();
+}
+
+// Slot for showing help
+void QgsDbSourceSelect::on_btnHelp_clicked()
+{
+  showHelp();
+}
+/** End Autoconnected SLOTS **/
+
+// Remember which database is selected
+void QgsDbSourceSelect::on_cmbConnections_activated(int)
+{
+  dbChanged();
+}
+
+void QgsDbSourceSelect::setLayerType(QString schema, 
+                                     QString table, QString column,
+                                     QString type)
+{
+#ifdef QGISDEBUG
+  std::cerr << "Received layer type of " << type.toLocal8Bit().data()
+            << " for " 
+            << (schema+'.'+table+'.'+column).toLocal8Bit().data() 
+            << '\n';
+#endif
+
+  // Find the right row in the table by searching for the text that
+  // was put into the Name column.
+  QString full_desc = fullDescription(schema, table, column);
+
+  QList<QTableWidgetItem*> ii = lstTables->findItems(full_desc,
+                                                     Qt::MatchExactly);
+
+  if (ii.count() > 0)
+  {
+    int row = lstTables->row(ii.at(0)); // just use the first one
+    QTableWidgetItem* iconItem = lstTables->item(row, 0);
+
+    // Get the icon and tooltip text 
+    const QIcon* p;
+    QString toolTipText;
+    if (mLayerIcons.contains(type))
+    {
+      p = &(mLayerIcons.value(type).second);
+      toolTipText = mLayerIcons.value(type).first;
+    }
+    else
+    {
+      qDebug(("Unknown geometry type of '" + type + "'.").toLocal8Bit().data());
+      p = &(mLayerIcons.value("UNKNOWN").second);
+      toolTipText = mLayerIcons.value("UNKNOWN").first;
+    }
+
+    iconItem->setIcon(*p);
+    iconItem->setToolTip(toolTipText);
+  }
+}
+
+QString QgsDbSourceSelect::makeGeomQuery(QString schema, 
+                                                QString table, QString column)
+{
+  QString query = "select GeometryType(\"" + column + "\") from ";
+  if (schema.length() > 0)
+    query += "\"" + schema + "\".";
+  query += "\"" + table + "\" where \"" + column + "\" is not null limit 1";
+  return query;
+}
+
+QgsDbSourceSelect::~QgsDbSourceSelect()
+{
+    PQfinish(pd);
+}
+void QgsDbSourceSelect::populateConnectionList()
+{
+  QSettings settings;
+  QStringList keys = settings.subkeyList("/PostgreSQL/connections");
+  QStringList::Iterator it = keys.begin();
+  cmbConnections->clear();
+  while (it != keys.end())
+  {
+    cmbConnections->insertItem(*it);
+    ++it;
+  }
+  setConnectionListPosition();
+}
+void QgsDbSourceSelect::addNewConnection()
+{
+
+  QgsNewConnection *nc = new QgsNewConnection(this);
+
+  if (nc->exec())
+  {
+    populateConnectionList();
+  }
+}
+void QgsDbSourceSelect::editConnection()
+{
+
+  QgsNewConnection *nc = new QgsNewConnection(this, cmbConnections->currentText());
+
+  if (nc->exec())
+  {
+    nc->saveConnection();
+  }
+}
+
+void QgsDbSourceSelect::deleteConnection()
+{
+  QSettings settings;
+  QString key = "/Postgresql/connections/" + cmbConnections->currentText();
+  QString msg =
+    tr("Are you sure you want to remove the ") + cmbConnections->currentText() + tr(" connection and all associated settings?");
+  QMessageBox::StandardButton result = QMessageBox::information(this, tr("Confirm Delete"), msg, QMessageBox::Ok | QMessageBox::Cancel);
+  if (result == QMessageBox::Ok)
+  {
+    settings.removeEntry(key + "/host");
+    settings.removeEntry(key + "/database");
+    settings.removeEntry(key + "/username");
+    settings.removeEntry(key + "/password");
+    settings.removeEntry(key + "/port");
+    settings.removeEntry(key + "/save");
+    settings.removeEntry(key);
+    //if(!success){
+    //  QMessageBox::information(this,"Unable to Remove","Unable to remove the connection " + cmbConnections->currentText());
+    //}
+    cmbConnections->removeItem(cmbConnections->currentItem());  // populateConnectionList();
+    setConnectionListPosition();
+  }
+}
+void QgsDbSourceSelect::addTables()
+{
+  //store the table info
+
+  for (int i = 0; i < lstTables->rowCount(); ++i)
+  {
+    if (lstTables->isItemSelected(lstTables->item(i, 0)))
+    {
+      QString table = lstTables->item(i,1)->text() + " sql=";
+      QTableWidgetItem* sqlItem = lstTables->item(i,2);
+      if (sqlItem)
+        table += sqlItem->text();
+      m_selectedTables += table;
+    }
+  }
+
+  // BEGIN CHANGES ECOS
+  if (m_selectedTables.empty() == true)
+    QMessageBox::information(this, tr("Select Table"), tr("You must select a table in order to add a Layer."));
+  else
+    accept();
+  // END CHANGES ECOS
+}
+
+void QgsDbSourceSelect::on_btnConnect_clicked()
+{
+  // populate the table list
+  QSettings settings;
+
+  QString key = "/PostgreSQL/connections/" + cmbConnections->currentText();
+  QString connString = "host=";
+  QString host = settings.readEntry(key + "/host");
+  connString += host;
+  connString += " dbname=";
+  QString database = settings.readEntry(key + "/database");
+  connString += database + " port=";
+  QString port = settings.readEntry(key + "/port");
+  if(port.length() == 0){
+    port = "5432";
+  }
+  connString += port + " user=";
+  QString username = settings.readEntry(key + "/username");
+  connString += username;
+  QString password = settings.readEntry(key + "/password");
+  bool searchPublicOnly = settings.readBoolEntry(key + "/publicOnly");
+  bool searchGeometryColumnsOnly = settings.readBoolEntry(key + "/geometryColumnsOnly");
+  bool makeConnection = true;
+  if (password == QString::null)
+  {
+    // get password from user 
+    makeConnection = false;
+    QString password = QInputDialog::getText(tr("Password for ") + database + "@" + host,
+        tr("Please enter your password:"),
+        QLineEdit::Password, QString::null, &makeConnection, this);
+    // allow null password entry in case its valid for the database
+  }
+
+  // Need to escape the password to allow for single quotes and backslashes
+  password.replace('\\', "\\\\");
+  password.replace('\'', "\\'");
+  connString += " password='" + password + "'";
+#ifdef QGISDEBUG
+  std::cout << "Connection info: " << connString.toLocal8Bit().data() << std::endl;
+#endif
+  if (makeConnection)
+  {
+    m_connInfo = connString;  //host + " " + database + " " + username + " " + password;
+    //qDebug(m_connInfo);
+    // Tidy up an existing connection if one exists.
+    if (pd != 0)
+      PQfinish(pd);
+
+    pd = PQconnectdb(m_connInfo.toLocal8Bit().data());
+    //  std::cout << pd->ErrorMessage();
+    if (PQstatus(pd) == CONNECTION_OK)
+    {
+      // create the pixmaps for the layer types if we haven't already
+      // done so.
+      if (mLayerIcons.count() == 0)
+      {
+        QString myThemePath = QgsApplication::themePath();
+        mLayerIcons.insert("POINT",
+                           qMakePair(tr("Point layer"), 
+                            QIcon(myThemePath+"/mIconPointLayer.png")));
+        mLayerIcons.insert("MULTIPOINT", 
+                           qMakePair(tr("Multi-point layer"), 
+                            mLayerIcons.value("POINT").second));
+
+        mLayerIcons.insert("LINESTRING",
+                           qMakePair(tr("Linestring layer"), 
+                            QIcon(myThemePath+"/mIconLineLayer.png")));
+        mLayerIcons.insert("MULTILINESTRING",
+                           qMakePair(tr("Multi-linestring layer"), 
+                            mLayerIcons.value("LINESTRING").second));
+
+        mLayerIcons.insert("POLYGON",
+                           qMakePair(tr("Polygon layer"), 
+                            QIcon(myThemePath+"/mIconPolygonLayer.png")));
+        mLayerIcons.insert("MULTIPOLYGON",
+                           qMakePair(tr("Multi-polygon layer"),
+                            mLayerIcons.value("POLYGON").second));
+
+        mLayerIcons.insert("GEOMETRY",
+                           qMakePair(tr("Mixed geometry layer"), 
+                            QIcon(myThemePath+"/mIconGeometryLayer.png")));
+        mLayerIcons.insert("GEOMETRYCOLLECTION",
+                           qMakePair(tr("Geometry collection layer"), 
+                            mLayerIcons.value("GEOMETRY").second));
+
+        mLayerIcons.insert("WAITING",
+                           qMakePair(tr("Waiting for layer type"), 
+                            QIcon(myThemePath+"/mIconWaitingForLayerType.png")));
+        mLayerIcons.insert("UNKNOWN",
+                           qMakePair(tr("Unknown layer type"), 
+                            QIcon(myThemePath+"/mIconUnknownLayerType.png")));
+      }
+      //qDebug("Connection succeeded");
+      // tell the DB that we want text encoded in UTF8
+      PQsetClientEncoding(pd, "UNICODE");
+
+      // Here's an annoying thing... calling clear() removes the
+      // header items too, so we need to reinstate them after calling
+      // clear(). 
+      lstTables->clear();
+      lstTables->setRowCount(0);
+      lstTables->setHorizontalHeaderLabels(mColumnLabels);
+
+      // get the list of suitable tables and columns and populate the UI
+      geomCol details;
+      if (getGeometryColumnInfo(pd, details, searchGeometryColumnsOnly,
+                                searchPublicOnly))
+      {
+        details.sort();
+        geomCol::const_iterator iter = details.begin();
+        for (; iter != details.end(); ++iter)
+        {
+          QString toolTipText;
+          const QIcon* p;
+
+          if (mLayerIcons.contains(iter->second))
+          {
+            p = &(mLayerIcons.value(iter->second).second);
+            toolTipText = mLayerIcons.value(iter->second).first;
+          }
+          else
+          {
+	    qDebug(("Unknown geometry type of '" + iter->second + "'.").toLocal8Bit().data());
+            p = &(mLayerIcons.value("UNKNOWN").second);
+            toolTipText = mLayerIcons.value("UNKNOWN").first;
+          }
+
+          if (p != 0)
+          {
+            QTableWidgetItem *iconItem = new QTableWidgetItem();
+            iconItem->setIcon(*p);
+            iconItem->setToolTip(toolTipText);
+            QTableWidgetItem *textItem = new QTableWidgetItem(iter->first);
+            int row = lstTables->rowCount();
+            lstTables->setRowCount(row+1);
+            lstTables->setItem(row, 0, iconItem);
+            lstTables->setItem(row, 1, textItem);
+          }
+        }
+
+        // And tidy up the columns & rows
+        lstTables->resizeColumnsToContents();
+        lstTables->resizeRowsToContents();
+
+        // Start the thread that gets the geometry type for relations that
+        // may take a long time to return
+        if (mColumnTypeThread != NULL)
+        {
+            connect(mColumnTypeThread, 
+                    SIGNAL(setLayerType(QString,QString,QString,QString)),
+                    this, 
+                    SLOT(setLayerType(QString,QString,QString,QString)));
+            // Do it in a thread. Does not yet cope correctly with the
+            // layer selection dialog box closing before the thread
+            // completes, nor the qgis process ending before the
+            // thread completes, nor does the thread know to stop working
+            // when the user chooses a layer.
+            //mColumnTypeThread->start();
+
+            // do it in this process for the moment. 
+            mColumnTypeThread->getLayerTypes();
+        }
+      }
+      else
+      {
+        qDebug("Unable to get list of spatially enabled tables from the database");
+        qDebug(PQerrorMessage(pd));
+      }
+      // BEGIN CHANGES ECOS
+      if (cmbConnections->count() > 0)
+        btnAdd->setEnabled(true);
+      // END CHANGES ECOS
+    } else
+    {
+      QMessageBox::warning(this, tr("Connection failed"),
+          tr
+          ("Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6").
+          arg(settings.readEntry(key + "/database")).arg(settings.readEntry(key + "/host")).arg("\n\n").arg("\n\n").arg("\n").arg(PQerrorMessage(pd)));
+    }
+  }
+}
+
+QStringList QgsDbSourceSelect::selectedTables()
+{
+  return m_selectedTables;
+}
+
+QString QgsDbSourceSelect::connInfo()
+{
+  return m_connInfo;
+}
+void QgsDbSourceSelect::setSql(QTableWidgetItem *item)
+{
+  int row = lstTables->row(item);
+  QString tableText = lstTables->item(row, 1)->text();
+
+  QTableWidgetItem* sqlItem = lstTables->item(row, 2);
+  QString sqlText;
+  if (sqlItem)
+    sqlText = sqlItem->text();
+  // Parse out the table name
+  QString table = tableText.left(tableText.find("("));
+  assert(pd != 0);
+  // create a query builder object
+  QgsPgQueryBuilder * pgb = new QgsPgQueryBuilder(table, pd, this);
+  // set the current sql in the query builder sql box
+  pgb->setSql(sqlText);
+  // set the PG connection object so it can be used to fetch the
+  // fields for the table, get sample values, and test the query
+  pgb->setConnection(pd);
+  // show the dialog
+  if(pgb->exec())
+  {
+    // if user accepts, store the sql for the layer so it can be used
+    // if and when the layer is added to the map
+    if (!sqlItem)
+    {
+      sqlItem = new QTableWidgetItem();
+      lstTables->setItem(row, 2, sqlItem);
+    }
+    sqlItem->setText(pgb->sql());
+    // Ensure that the current row remains selected
+    lstTables->setItemSelected(lstTables->item(row,0), true);
+    lstTables->setItemSelected(lstTables->item(row,1), true);
+    lstTables->setItemSelected(lstTables->item(row,2), true);
+  }
+  // delete the query builder object
+  delete pgb;
+}
+
+bool QgsDbSourceSelect::getGeometryColumnInfo(PGconn *pg, 
+                geomCol& details, bool searchGeometryColumnsOnly,
+                                              bool searchPublicOnly)
+{
+  bool ok = false;
+
+  QString sql = "select * from geometry_columns";
+  // where f_table_schema ='" + settings.readEntry(key + "/database") + "'";
+  sql += " order by f_table_schema,f_table_name";
+  //qDebug("Fetching tables using: " + sql);
+  PGresult *result = PQexec(pg, sql.toLocal8Bit().data());
+  if (result)
+  {
+    QString msg;
+    QTextOStream(&msg) << "Fetched " << PQntuples(result) << " tables from database";
+    //qDebug(msg);
+    for (int idx = 0; idx < PQntuples(result); idx++)
+    {
+      // Be a bit paranoid and check that the table actually
+      // exists. This is not done as a subquery in the query above
+      // because I can't get it to work correctly when there are tables
+      // with capital letters in the name.
+
+      // Take care to deal with tables with the same name but in different schema.
+      QString tableName = PQgetvalue(result, idx, PQfnumber(result, "f_table_name"));
+      QString schemaName = PQgetvalue(result, idx, PQfnumber(result, "f_table_schema"));
+      sql = "select oid from pg_class where relname = '" + tableName + "'";
+      if (schemaName.length() > 0)
+	sql +=" and relnamespace = (select oid from pg_namespace where nspname = '" +
+	  schemaName + "')";
+
+      PGresult* exists = PQexec(pg, sql.toLocal8Bit().data());
+      if (PQntuples(exists) == 1)
+      {
+        QString v = "";
+
+        if (schemaName.length() > 0)
+        {
+          v += '"';
+          v += schemaName;
+          v += "\".";
+        }
+
+        v += '"';
+        v += tableName;
+        v += "\" (";
+        v += PQgetvalue(result, idx, PQfnumber(result, "f_geometry_column"));
+        v += ")";
+
+        QString type = PQgetvalue(result, idx, PQfnumber(result, "type"));
+        details.push_back(geomPair(v, type));
+      }
+      PQclear(exists);
+    }
+    ok = true;
+  }
+  PQclear(result);
+
+  if (searchGeometryColumnsOnly)
+    return ok;
+
+  // Now have a look for geometry columns that aren't in the
+  // geometry_columns table. This code is specific to postgresql,
+  // but an equivalent query should be possible in other
+  // databases.
+  sql = "select pg_class.relname, pg_namespace.nspname, pg_attribute.attname, "
+    "pg_class.relkind from "
+    "pg_attribute, pg_class, pg_type, pg_namespace where pg_type.typname = 'geometry' and "
+    "pg_attribute.atttypid = pg_type.oid and pg_attribute.attrelid = pg_class.oid ";
+
+  if (searchPublicOnly)
+    sql += "and pg_namespace.nspname = 'public' ";
+
+  sql += "and cast(pg_class.relname as character varying) not in "
+    "(select f_table_name from geometry_columns) "
+    "and pg_namespace.oid = pg_class.relnamespace "
+    "and pg_class.relkind in ('v', 'r')"; // only from views and relations (tables)
+  
+  result = PQexec(pg, sql.toLocal8Bit().data());
+
+  for (int i = 0; i < PQntuples(result); i++)
+  {
+    // Have the column name, schema name and the table name. The concept of a
+    // catalog doesn't exist in postgresql so we ignore that, but we
+    // do need to get the geometry type.
+
+    // Make the assumption that the geometry type for the first
+    // row is the same as for all other rows. 
+
+    QString table  = PQgetvalue(result, i, 0); // relname
+    QString schema = PQgetvalue(result, i, 1); // nspname
+    QString column = PQgetvalue(result, i, 2); // attname
+    QString relkind = PQgetvalue(result, i, 3); // relation kind
+
+    QString full_desc = fullDescription(schema, table, column);
+
+    QString type = "UNKNOWN";
+    if (relkind == "r")
+    {
+      QString query = makeGeomQuery(schema, table, column);
+      PGresult* gresult = PQexec(pg, query.toLocal8Bit().data());
+      if (PQresultStatus(gresult) != PGRES_TUPLES_OK)
+        {
+          QString myError = (tr("Access to relation ") + table + tr(" using sql;\n") + query +
+                             tr("\nhas failed. The database said:\n"));
+          qDebug(myError + QString(PQresultErrorMessage(gresult)));
+        }
+      else if (PQntuples(gresult) > 0)
+        type = PQgetvalue(gresult, 0, 0); // GeometryType
+      PQclear(gresult);
+    }
+    else // view
+    {
+      // store the column details and do the query in a thread
+      if (mColumnTypeThread == NULL)
+      {
+        mColumnTypeThread = new QgsGeomColumnTypeThread();
+        mColumnTypeThread->setConnInfo(m_connInfo);
+      }
+      mColumnTypeThread->setGeometryColumn(schema, table, column);
+      type = "WAITING";
+    }
+
+    details.push_back(geomPair(full_desc, type));
+  }
+  ok = true;
+
+  PQclear(result);
+
+  return ok;
+}
+QString QgsDbSourceSelect::encoding()
+{
+  return mEncodingComboBox->currentText();
+}
+void QgsDbSourceSelect::showHelp()
+{
+  QgsContextHelp::run(context_id);
+}
+QString QgsDbSourceSelect::fullDescription(QString schema, QString table, 
+                                           QString column)
+{
+  QString full_desc = "";
+  if (schema.length() > 0)
+    full_desc = '"' + schema + "\".\"";
+  full_desc += table + "\" (" + column + ")";
+  return full_desc;
+}
+void QgsDbSourceSelect::dbChanged()
+{
+  // Remember which database was selected.
+  QSettings settings;
+  settings.writeEntry("/PostgreSQL/connections/selected", 
+		      cmbConnections->currentText());
+}
+
+void QgsDbSourceSelect::setConnectionListPosition()
+{
+  QSettings settings;
+  // If possible, set the item currently displayed database
+  QString toSelect = settings.readEntry("/PostgreSQL/connections/selected");
+  // Does toSelect exist in cmbConnections?
+  bool set = false;
+  for (int i = 0; i < cmbConnections->count(); ++i)
+    if (cmbConnections->text(i) == toSelect)
+    {
+      cmbConnections->setCurrentItem(i);
+      set = true;
+      break;
+    }
+  // If we couldn't find the stored item, but there are some, 
+  // default to the last item (this makes some sense when deleting
+  // items as it allows the user to repeatidly click on delete to
+  // remove a whole lot of items).
+  if (!set && cmbConnections->count() > 0)
+  {
+    // If toSelect is null, then the selected connection wasn't found
+    // by QSettings, which probably means that this is the first time
+    // the user has used qgis with database connections, so default to
+    // the first in the list of connetions. Otherwise default to the last.
+    if (toSelect.isNull())
+      cmbConnections->setCurrentItem(0);
+    else
+      cmbConnections->setCurrentItem(cmbConnections->count()-1);
+  }
+}
+
+void QgsGeomColumnTypeThread::setConnInfo(QString s)
+{
+  mConnInfo = s;
+}
+
+void QgsGeomColumnTypeThread::setGeometryColumn(QString schema, QString table, QString column)
+{
+  schemas.push_back(schema);
+  tables.push_back(table);
+  columns.push_back(column);
+}
+
+void QgsGeomColumnTypeThread::getLayerTypes()
+{
+  PGconn *pd = PQconnectdb(mConnInfo.toLocal8Bit().data());
+  if (PQstatus(pd) == CONNECTION_OK)
+  {
+    PQsetClientEncoding(pd, "UNICODE");
+
+    for (uint i = 0; i < schemas.size(); ++i)
+    {
+      QString query = QgsDbSourceSelect::makeGeomQuery(schemas[i],
+                                                       tables[i],
+                                                       columns[i]);
+      PGresult* gresult = PQexec(pd, query.toLocal8Bit().data());
+      QString type;
+      if (PQresultStatus(gresult) == PGRES_TUPLES_OK)
+        type = PQgetvalue(gresult, 0, 0);
+      PQclear(gresult);
+
+      // Now tell the layer list dialog box...
+      emit setLayerType(schemas[i], tables[i], columns[i], type);
+    }
+  }
+
+  PQfinish(pd);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsdbsourceselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,157 @@
+/***************************************************************************
+                          qgdbsourceselect.h  -  description
+                             -------------------
+    begin                : Sat Jun 22 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsdbsourceselect.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSDBSOURCESELECT_H
+#define QGSDBSOURCESELECT_H
+#include "ui_qgsdbsourceselectbase.h"
+#include "qgisgui.h"
+extern "C"
+{
+#include <libpq-fe.h>
+}
+
+#include <QThread>
+
+#include <vector>
+#include <list>
+#include <utility>
+
+#include <QMap>
+#include <QPair>
+#include <QIcon>
+
+class QStringList;
+class QTableWidgetItem;
+class QgsGeomColumnTypeThread;
+class QgisApp;
+/*! \class QgsDbSourceSelect
+ * \brief Dialog to create connections and add tables from PostgresQL.
+ *
+ * This dialog allows the user to define and save connection information
+ * for PostGIS enabled PostgresQL databases. The user can then connect and add 
+ * tables from the database to the map canvas.
+ */
+class QgsDbSourceSelect : public QDialog, private Ui::QgsDbSourceSelectBase 
+{
+  Q_OBJECT
+ public:
+
+    //! Constructor
+    QgsDbSourceSelect(QgisApp *app, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsDbSourceSelect();
+    //! Opens the create connection dialog to build a new connection
+    void addNewConnection();
+    //! Opens a dialog to edit an existing connection
+    void editConnection();
+    //! Deletes the selected connection
+    void deleteConnection();
+    //! Populate the connection list combo box
+    void populateConnectionList();
+    //! Determines the tables the user selected and closes the dialog
+    void addTables();
+    //! String list containing the selected tables
+    QStringList selectedTables();
+    //! Connection info (database, host, user, password)
+    QString connInfo();
+    //! Return the name of the selected encoding (e.g. UTf-8, ISO-8559-1, etc/)
+    QString encoding();
+    // Store the selected database
+    void dbChanged();
+    // Utility function to construct the query for finding out the
+    // geometry type of a column
+    static QString makeGeomQuery(QString schema, QString table, QString column);
+
+    public slots:
+    /*! Connects to the database using the stored connection parameters. 
+    * Once connected, available layers are displayed.
+    */
+      void on_btnConnect_clicked();
+      void on_btnAdd_clicked();
+      void on_btnNew_clicked();
+      void on_btnEdit_clicked();
+      void on_btnDelete_clicked();
+      void on_lstTables_itemDoubleClicked(QTableWidgetItem *);
+      void setSql(QTableWidgetItem *);
+      void on_btnHelp_clicked();
+      void on_cmbConnections_activated(int);
+      void setLayerType(QString schema, QString table, QString column,
+                        QString type);
+ private:
+
+    typedef std::pair<QString, QString> geomPair;
+    typedef std::list<geomPair > geomCol;
+
+    bool getGeometryColumnInfo(PGconn *pd, 
+			       geomCol& details, 
+                               bool searchGeometryColumnsOnly,
+                               bool searchPublicOnly);
+    // Set the position of the database connection list to the last
+    // used one. 
+    void setConnectionListPosition();
+    // Show the context help for the dialog
+    void showHelp();
+    // Combine the schema, table and column data into a single string
+    // useful for display to the user
+    QString fullDescription(QString schema, QString table, QString column);
+    // The column labels
+    QStringList mColumnLabels;
+    // Our thread for doing long running queries
+    QgsGeomColumnTypeThread* mColumnTypeThread;
+    QString m_connInfo;
+    QStringList m_selectedTables;
+    // Storage for the range of layer type icons
+    QMap<QString, QPair<QString, QIcon> > mLayerIcons;
+    //! Pointer to the qgis application mainwindow
+    QgisApp *qgisApp;
+    PGconn *pd;
+    static const int context_id = 939347163;
+};
+
+
+// Perhaps this class should be in its own file??
+//
+// A class that determines the geometry type of a given database 
+// schema.table.column, with the option of doing so in a separate
+// thread.
+
+class QgsGeomColumnTypeThread : public QThread
+{
+  Q_OBJECT
+ public:
+
+  void setConnInfo(QString s);
+  void setGeometryColumn(QString schema, QString table, QString column);
+
+  // These functions get the layer types and pass that information out
+  // by emitting the setLayerType() signal. The getLayerTypes()
+  // function does the actual work, but use the run() function if you
+  // want the work to be done as a separate thread from the calling
+  // process. 
+  virtual void run() { getLayerTypes(); }
+  void getLayerTypes();
+
+  signals:
+  void setLayerType(QString schema, QString table, QString column,
+                    QString type);
+
+ private:
+  QString mConnInfo;
+  std::vector<QString> schemas, tables, columns;
+};
+
+#endif // QGSDBSOURCESELECT_H

Added: packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+/***************************************************************************
+                         qgsdelattrdialog.cpp  -  description
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsdelattrdialog.h"
+#include "qgsfield.h"
+#include <Q3Header>
+
+QgsDelAttrDialog::QgsDelAttrDialog(Q3Header* header): QDialog()
+{
+  setupUi(this);
+  QObject::connect(mOkButton, SIGNAL(clicked(bool)), this, SLOT(accept()));
+  QObject::connect(mCancelButton, SIGNAL(clicked(bool)), this, SLOT(reject()));
+
+  //insert attribute names into the QListView
+  if(header)
+    {
+      listBox2->clear();
+      for(int i=1;i<header->count();++i)
+	{
+	  listBox2->insertItem(header->label(i));
+	}
+    }
+}
+
+const std::list<QString>* QgsDelAttrDialog::selectedAttributes()
+{
+    mSelectedItems.clear();
+    for(int i=0;i<listBox2->numRows();++i)
+    {
+	if(listBox2->isSelected(i))
+	{
+	    mSelectedItems.push_back(listBox2->text(i));
+	}
+    }
+    return &mSelectedItems;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsdelattrdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,37 @@
+/***************************************************************************
+                         qgsdelattrdialog.h  -  description
+                             -------------------
+    begin                : January 2005
+    copyright            : (C) 2005 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef QGSDELATTRDIALOG_H
+#define QGSDELATTRDIALOG_H
+
+#include "ui_qgsdelattrdialogbase.h"
+#include <QDialog>
+#include <list>
+
+class Q3Header;
+
+class QgsDelAttrDialog: public QDialog, private Ui::QgsDelAttrDialogBase
+{
+    Q_OBJECT
+ public:
+    QgsDelAttrDialog(Q3Header* header);
+    const std::list<QString>* selectedAttributes();
+ protected:
+    std::list<QString> mSelectedItems;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,27 @@
+
+/***************************************************************************
+                                 qgsfillstyle.h
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsfillstylewidget.h"
+
+QgsFillStyleWidget::QgsFillStyleWidget(  QWidget *parent, const char * name, Qt::WFlags f)
+           :QgsFillStyleWidgetBase( )
+{
+}
+
+QgsFillStyleWidget::~QgsFillStyleWidget()
+{
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsfillstylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+                                qgsfillstyle.h 
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSFILLSTYLEWIDGET_H
+#define QGSFILLSTYLEWIDGET_H
+
+#include "ui_qgsfillstylewidgetbase.h"
+#include <QDialog>
+
+class QgsFillStyleWidget:public QDialog, Ui::QgsFillStyleWidgetBase
+{
+  Q_OBJECT;
+  public:
+
+  //! Constructor
+  QgsFillStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
+
+  ~QgsFillStyleWidget();
+
+
+public slots:
+  
+private:
+    
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,112 @@
+/***************************************************************************
+                         qgsgeomtypedialog.cpp  -  description
+                             -------------------
+    begin                : October 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgeomtypedialog.cpp 6963 2007-05-26 07:31:01Z mhugent $ */
+
+#include "qgsgeomtypedialog.h"
+#include "qgsaddattrdialog.h"
+
+QgsGeomTypeDialog::QgsGeomTypeDialog(QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+    setupUi(this);
+    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+
+    mPointRadioButton->setChecked(true);
+    mAttributeView->removeColumn(0);
+    mAttributeView->addColumn(tr("Name"));
+    mAttributeView->addColumn(tr("Type"));
+    mFileFormatComboBox->insertItem("ESRI Shapefile");
+    /*mFileFormatComboBox->insertItem("Comma Separated Value");
+    mFileFormatComboBox->insertItem("GML");
+    mFileFormatComboBox->insertItem("Mapinfo File");*/
+    mOkButton = buttonBox->button(QDialogButtonBox::Ok);
+	mOkButton->setEnabled(false);
+}
+
+QgsGeomTypeDialog::~QgsGeomTypeDialog()
+{
+
+}
+
+QGis::WKBTYPE QgsGeomTypeDialog::selectedType() const
+{
+  if(mPointRadioButton->isChecked())
+    {
+      return QGis::WKBPoint;
+    }
+  else if(mLineRadioButton->isChecked())
+    {
+      return QGis::WKBLineString;
+    }
+  else if(mPolygonRadioButton->isChecked())
+    {
+      return QGis::WKBPolygon;
+    }
+  return QGis::WKBUnknown;
+}
+
+void QgsGeomTypeDialog::on_mAddAttributeButton_clicked()
+{
+    std::list<QString> types;
+    types.push_back("Real");
+    types.push_back("Integer");
+    types.push_back("String");
+    QgsAddAttrDialog d(types, this);
+    if(d.exec()==QDialog::Accepted)
+    {
+      new Q3ListViewItem(mAttributeView, d.name(), d.type());
+    }
+    if(mAttributeView->childCount()>0)
+    {
+	mOkButton->setEnabled(true);
+    }
+}
+
+void QgsGeomTypeDialog::on_mRemoveAttributeButton_clicked()
+{
+    delete(mAttributeView->currentItem());
+    if(mAttributeView->childCount()==0)
+    {
+	mOkButton->setEnabled(false);	
+    }
+    
+}
+
+void QgsGeomTypeDialog::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}
+
+void QgsGeomTypeDialog::attributes(std::list<std::pair<QString, QString> >& at) const
+{
+    Q3ListViewItemIterator it(mAttributeView);
+    while ( it.current() ) 
+    {
+	Q3ListViewItem *item = it.current();
+	at.push_back(std::make_pair(item->text(0), item->text(1)));
+#ifdef QGISDEBUG
+	qWarning(("appending "+item->text(0)+"//"+item->text(1)).toLocal8Bit().data());
+#endif	
+	++it;
+    }
+}
+
+QString QgsGeomTypeDialog::selectedFileFormat() const
+{
+    return mFileFormatComboBox->currentText();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsgeomtypedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,51 @@
+/***************************************************************************
+                         qgsgeomtypedialog.h  -  description
+                             -------------------
+    begin                : October 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgeomtypedialog.h 6447 2007-01-21 05:29:14Z telwertowski $ */
+#ifndef QGSGEOMTYPEDIALOG_H
+#define QGSGEOMTYPEDIALOG_H
+
+#include "ui_qgsgeomtypedialogbase.h"
+#include "qgisgui.h"
+#include "qgscontexthelp.h"
+
+#include "qgis.h"
+
+class QgsGeomTypeDialog: public QDialog, private Ui::QgsGeomTypeDialogBase
+{
+  Q_OBJECT
+  public:
+  QgsGeomTypeDialog(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+  ~QgsGeomTypeDialog();
+  /**Returns the selected geometry type*/
+  QGis::WKBTYPE selectedType() const;
+  /**Appends the chosen attribute names and types to at*/
+  void attributes(std::list<std::pair<QString, QString> >& at) const;
+  /**Returns the file format for storage*/
+  QString selectedFileFormat() const;
+  
+  protected slots:
+  void on_mAddAttributeButton_clicked();
+  void on_mRemoveAttributeButton_clicked();
+  void on_buttonBox_helpRequested();
+
+  private:
+  QAbstractButton *mOkButton;
+  static const int context_id = 165149618;
+  
+};
+
+#endif //QGSGEOMTYPEDIALOG_H

Added: packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,523 @@
+/***************************************************************************
+                         qgsgraduatedsymboldialog.cpp  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgraduatedsymboldialog.cpp 7066 2007-07-07 07:53:35Z mhugent $ */
+
+#include "qgsgraduatedsymboldialog.h"
+#include "qgsfield.h"
+#include "qgsgraduatedsymbolrenderer.h"
+#include "qgsludialog.h"
+#include "qgssymbol.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+#include <algorithm>
+#include <cmath>
+
+
+QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(QgsVectorLayer * layer): QDialog(), mVectorLayer(layer), sydialog(layer)
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    qWarning("constructor QgsGraduatedSymbolDialog");
+#endif
+
+    setOrientation(Qt::Vertical);
+    setSizeGripEnabled(true);
+
+    //find out the numerical fields of mVectorLayer
+    QgsVectorDataProvider *provider = mVectorLayer->getDataProvider();
+    if (provider)
+    {
+	const QgsFieldMap & fields = provider->fields();
+	QString str;
+	
+	for (QgsFieldMap::const_iterator it = fields.begin(); 
+             it != fields.end(); 
+             ++it)
+        {
+	    QVariant::Type type = (*it).type();
+	    if (type == QVariant::Int || type == QVariant::Double)
+            {
+	      classificationComboBox->insertItem(it->name());
+	      mFieldMap.insert(std::make_pair(it->name(), it.key()));
+            }
+        }
+    } 
+    else
+    {
+	qWarning("Warning, data provider is null in QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(...)");
+	return;
+    }
+
+    modeComboBox->insertItem("Equal Interval");
+    modeComboBox->insertItem("Quantiles");
+    modeComboBox->insertItem("Empty");
+    
+    //restore the correct settings
+    const QgsGraduatedSymbolRenderer* renderer = dynamic_cast < const QgsGraduatedSymbolRenderer * >(layer->renderer());
+    
+    if (renderer)
+    {
+	QList < QgsSymbol * >list = renderer->symbols();
+	
+	//display the classification field
+	QString classfield="";
+	for(std::map<QString,int>::iterator it=mFieldMap.begin();it!=mFieldMap.end();++it)
+	{
+	    if(it->second==renderer->classificationField())
+	    {
+		classfield=it->first;
+		break;
+	    }
+	}
+	classificationComboBox->setCurrentText(classfield);
+
+	numberofclassesspinbox->setValue(list.size());
+	//fill the items of the renderer into mValues
+	for(QList<QgsSymbol*>::iterator it=list.begin();it!=list.end();++it)
+	{
+	    //todo: make an assignment operator and a copy constructor for QgsSymbol
+		QString classbreak=(*it)->lowerValue()+" - "+(*it)->upperValue();
+		QgsSymbol* sym=new QgsSymbol(mVectorLayer->vectorType(), (*it)->lowerValue(), (*it)->upperValue(), (*it)->label());
+		sym->setPen((*it)->pen());
+		sym->setCustomTexture((*it)->customTexture());
+		sym->setBrush((*it)->brush());
+		sym->setNamedPointSymbol((*it)->pointSymbolName());
+		sym->setPointSize((*it)->pointSize());
+		mEntries.insert(std::make_pair(classbreak,sym));
+		mClassListWidget->addItem(classbreak);
+	}
+	
+    }
+    
+    //do the necessary signal/slot connections
+    QObject::connect(mClassifyButton, SIGNAL(clicked()), this, SLOT(adjustClassification()));
+    QObject::connect(mClassListWidget, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(changeCurrentValue()));
+    QObject::connect(&sydialog, SIGNAL(settingsChanged()), this, SLOT(applySymbologyChanges()));
+    QObject::connect(mClassListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(modifyClass(QListWidgetItem*)));
+    QObject::connect(mDeleteClassButton, SIGNAL(clicked()), this, SLOT(deleteCurrentClass()));
+
+    mSymbolWidgetStack->addWidget(&sydialog);
+    mSymbolWidgetStack->setCurrentWidget(&sydialog); 
+
+    mClassListWidget->setCurrentRow(0);
+}
+
+QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(): QDialog(), mVectorLayer(0), sydialog(0)
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    qWarning("constructor QgsGraduatedSymbolDialog");
+#endif
+}
+
+QgsGraduatedSymbolDialog::~QgsGraduatedSymbolDialog()
+{
+#ifdef QGISDEBUG
+    qWarning("destructor QgsGraduatedSymbolDialog");
+#endif
+}
+
+void QgsGraduatedSymbolDialog::adjustNumberOfClasses()
+{
+    //find out the number of the classification field
+    QString fieldstring = classificationComboBox->currentText();
+    
+    if (fieldstring.isEmpty())    //don't do anything, it there is no classification field
+    {
+	show();
+	return;
+    }
+    
+    std::map < QString, int >::iterator iter = mFieldMap.find(fieldstring);
+}
+
+void QgsGraduatedSymbolDialog::apply()
+{
+	if (classificationComboBox->currentText().isEmpty())  //don't do anything, it there is no classification field
+        {
+	    return;
+        }
+	
+	QgsGraduatedSymbolRenderer* renderer = new QgsGraduatedSymbolRenderer(mVectorLayer->vectorType());
+
+	for (int item=0;item<mClassListWidget->count();++item)
+        {
+	  QString classbreak=mClassListWidget->item(item)->text();
+	  std::map<QString,QgsSymbol*>::iterator it=mEntries.find(classbreak);
+	  if(it==mEntries.end())
+	    {
+	      continue;
+	    }
+	  
+	  QString lower_bound=it->second->lowerValue();
+	  QString upper_bound=it->second->upperValue();
+	  QString label=it->second->label();
+	  
+	  QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType(), lower_bound, upper_bound, label);
+	  
+	  sy->setColor(it->second->pen().color());
+	  sy->setLineStyle(it->second->pen().style());
+	  sy->setLineWidth(it->second->pen().width());
+	  
+	  if (mVectorLayer->vectorType() == QGis::Point)
+	    {
+	      sy->setNamedPointSymbol(it->second->pointSymbolName());
+	      sy->setPointSize(it->second->pointSize());
+	      
+	    }
+	  
+	  if (mVectorLayer->vectorType() != QGis::Line)
+            {
+	      sy->setFillColor(it->second->brush().color());
+	      sy->setCustomTexture(it->second->customTexture());//necessary?
+	      sy->setFillStyle(it->second->brush().style());
+            }
+	  
+	  //test, if lower_bound is numeric or not (making a subclass of QString would be the proper solution)
+	  bool lbcontainsletter = false;
+	  for (int j = 0; j < lower_bound.length(); j++)
+            {
+	      if (lower_bound.ref(j).isLetter())
+                {
+		  lbcontainsletter = true;
+                }
+            }
+	  
+	  //test, if upper_bound is numeric or not (making a subclass of QString would be the proper solution)
+	  bool ubcontainsletter = false;
+	  for (int j = 0; j < upper_bound.length(); j++)
+            {
+	      if (upper_bound.ref(j).isLetter())
+                {
+		  ubcontainsletter = true;
+                }
+            }
+	  if (lbcontainsletter == false && ubcontainsletter == false && lower_bound.length() > 0 && upper_bound.length() > 0) //only add the item if the value bounds do not contain letters and are not null strings
+            {
+	      renderer->addSymbol(sy);
+	    }
+	  else
+	    {
+	      delete sy;
+	    }
+        }
+	
+	std::map<QString,int>::iterator iter=mFieldMap.find(classificationComboBox->currentText());
+	if(iter!=mFieldMap.end())
+	  {
+	    renderer->setClassificationField(iter->second);
+	  }
+	mVectorLayer->setRenderer(renderer);
+}
+
+void QgsGraduatedSymbolDialog::adjustClassification()
+{
+    mClassListWidget->clear();
+    QGis::VectorType m_type = mVectorLayer->vectorType();
+    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider());
+    double minimum = 0;
+    double maximum = 0;
+    
+    //delete all previous entries
+    for(std::map<QString, QgsSymbol*>::iterator it=mEntries.begin();it!=mEntries.end();++it)
+    {
+	delete it->second;
+    }
+    mEntries.clear();
+
+    //find out the number of the classification field
+    QString fieldstring = classificationComboBox->currentText();
+
+    if (fieldstring.isEmpty())    //don't do anything, it there is no classification field
+    {
+	show();
+	return;
+    }
+    
+    std::map < QString, int >::iterator iter = mFieldMap.find(fieldstring);
+    int field = iter->second;
+
+
+    if (provider)
+    {
+	if (modeComboBox->currentText() == "Equal Interval")
+	{
+	    minimum = provider->minValue(field).toDouble();
+	    maximum = provider->maxValue(field).toDouble();
+	} 
+	else                    //don't waste performance if mMode is QgsGraduatedSymbolDialog::EMPTY
+	{
+	    minimum = 0;
+	    maximum = 0;
+	}
+    }
+
+    //todo: setup a data structure which holds the symbols
+    std::list<QgsSymbol*> symbolList;
+    for(int i = 0; i < numberofclassesspinbox->value(); ++i)
+      {
+	QgsSymbol* symbol = new QgsSymbol(m_type);
+	symbol->setLabel("");
+	QPen pen;
+	QBrush brush;
+
+	//apply a nice color range from red to green as default
+	//todo: make other color ranges available
+	if (i == 0)
+	  {
+	    if (m_type == QGis::Line)
+	      {
+		pen.setColor(QColor(255, 0, 0));
+	      } 
+	    else                //point or polygon
+	      {
+		brush.setColor(QColor(255, 0, 0));
+		pen.setColor(Qt::black);
+	      }
+	  } 
+	else
+	  {
+	    if (m_type == QGis::Line)
+	      {
+		pen.setColor(QColor(255 - (255 / numberofclassesspinbox->value() * (i+1)), 255 / numberofclassesspinbox->value() * (i+1), 0));
+	      } 
+	    else                //point or polygon
+	      {
+		brush.setColor(QColor(255 - (255 / numberofclassesspinbox->value() * (i+1)), 255 / numberofclassesspinbox->value() * (i+1), 0));  
+		pen.setColor(Qt::black);
+	      }
+	  }
+	pen.setWidth(1);
+	brush.setStyle(Qt::SolidPattern);
+	symbol->setPen(pen);
+	symbol->setBrush(brush);
+	symbolList.push_back(symbol);
+      }
+
+    QString listBoxText;
+    if(modeComboBox->currentText() == "Quantiles")
+      {
+	//test: insert the values into mClassListWidget
+	std::list<double> quantileBorders;
+	quantilesFromVectorLayer(quantileBorders, field, numberofclassesspinbox->value());
+
+	std::list<double>::const_iterator it;
+	std::list<double>::const_iterator last_it = quantileBorders.end();
+	std::list<QgsSymbol*>::const_iterator symbol_it = symbolList.begin();
+	for(it = quantileBorders.begin(); it != quantileBorders.end(); ++it)
+	  {
+	    if(last_it != quantileBorders.end())
+	      {
+		listBoxText = QString::number(*last_it, 'f') + " - " + QString::number(*it, 'f');
+		mClassListWidget->addItem(listBoxText);
+		(*symbol_it)->setLowerValue(QString::number(*last_it, 'f'));
+		(*symbol_it)->setUpperValue(QString::number(*it, 'f'));
+		mEntries.insert(std::make_pair(listBoxText,*symbol_it));
+		++symbol_it;
+	      }
+	    last_it = it;
+	  }
+      }
+    else if(modeComboBox->currentText() == "Equal Interval")
+      {
+	std::list<QgsSymbol*>::const_iterator symbol_it = symbolList.begin();
+	for(int i=0;i<numberofclassesspinbox->value();++i)
+	  {
+	    double lower=minimum + (maximum - minimum) / numberofclassesspinbox->value() * i;
+	    double upper=minimum + (maximum - minimum) / numberofclassesspinbox->value() * (i+1);
+	    if(i==0)//make sure all feature attributes are between minimum and maximum value (round off problem)
+	      {
+		lower-=0.001;
+	      }
+	    if(i==numberofclassesspinbox->value()-1)
+	      {
+		upper+=0.001;
+	      }
+	    (*symbol_it)->setLowerValue(QString::number(lower,'f',3));
+	    (*symbol_it)->setUpperValue(QString::number(upper,'f',3));
+	    listBoxText=QString::number(lower,'f',3)+" - " +QString::number(upper,'f',3);
+	    mClassListWidget->addItem(listBoxText);
+	    
+	    mEntries.insert(std::make_pair(listBoxText,*symbol_it));
+	    ++symbol_it;
+	  }
+      }
+    else if(modeComboBox->currentText() == "Empty")
+      {
+	std::list<QgsSymbol*>::const_iterator symbol_it = symbolList.begin();
+	for(int i=0;i<numberofclassesspinbox->value();++i)
+	  {
+	    listBoxText="Empty"+QString::number(i+1);
+	    mClassListWidget->addItem(listBoxText);
+	    mEntries.insert(std::make_pair(listBoxText,*symbol_it));
+	    ++symbol_it;
+	  }
+      }
+    
+    mClassListWidget->setCurrentRow(0);
+}
+
+void QgsGraduatedSymbolDialog::changeCurrentValue()
+{
+    sydialog.blockSignals(true);//block signals to prevent sydialog from changing the current QgsRenderItem
+    QListWidgetItem* item=mClassListWidget->currentItem();
+    if(item)
+    {
+	QString value=item->text();
+	std::map<QString,QgsSymbol*>::iterator it=mEntries.find(value);
+	if(it!=mEntries.end())
+	{
+	    sydialog.set((*it).second);
+	    sydialog.setLabel((*it).second->label());
+	}
+    }
+    sydialog.blockSignals(false);
+}
+
+void QgsGraduatedSymbolDialog::applySymbologyChanges()
+{
+    QListWidgetItem* item=mClassListWidget->currentItem();
+    if(item)
+    {
+	QString value=item->text();
+	std::map<QString,QgsSymbol*>::iterator it=mEntries.find(value);
+	if(it!=mEntries.end())
+	{
+	    sydialog.apply((*it).second);
+	    it->second->setLabel((*it).second->label());
+	}
+    }
+}
+
+void QgsGraduatedSymbolDialog::modifyClass(QListWidgetItem* item)
+{
+    QString currenttext=item->text();
+    QgsSymbol* symbol=0;
+    std::map<QString,QgsSymbol*>::iterator iter=mEntries.find(currenttext);
+    if(iter!=mEntries.end())
+    {
+	symbol=iter->second;
+    }
+    QgsLUDialog dialog(this);
+    
+    if(symbol)
+    {
+	dialog.setLowerValue(symbol->lowerValue());
+	dialog.setUpperValue(symbol->upperValue());
+    }
+
+    if(dialog.exec()==QDialog::Accepted)
+    {
+	if(symbol)
+	{
+	    mEntries.erase(currenttext);
+	    symbol->setLowerValue(dialog.lowerValue());
+	    symbol->setUpperValue(dialog.upperValue());
+	    QString newclass=dialog.lowerValue()+"-"+dialog.upperValue();
+	    mEntries.insert(std::make_pair(newclass,symbol));
+	    item->setText(newclass);
+	}	
+    }
+}
+
+void QgsGraduatedSymbolDialog::deleteCurrentClass()
+{
+  QListWidgetItem* currentItem = mClassListWidget->currentItem();
+  if(!currentItem)
+    {
+      return;
+    }
+
+  QString classValue = currentItem->text();
+  int currentIndex = mClassListWidget->currentRow();
+  mEntries.erase(classValue);
+  delete (mClassListWidget->takeItem(currentIndex));
+  qWarning("numRows: ");
+  qWarning(QString::number(mClassListWidget->count()));
+  //
+  if(mClassListWidget->count() < (currentIndex + 1))
+    {
+      qWarning("selecting numRows - 1");
+      mClassListWidget->setCurrentRow(mClassListWidget->count() - 1);
+    }
+  else
+    {
+      qWarning("selecting currentIndex");
+      mClassListWidget->setCurrentRow(currentIndex);
+    }
+}
+
+int QgsGraduatedSymbolDialog::quantilesFromVectorLayer(std::list<double>& result, int attributeIndex, int numQuantiles) const
+{
+  if(mVectorLayer)
+    {
+      QgsVectorDataProvider* provider = mVectorLayer->getDataProvider();
+  
+      if(provider)
+	{
+	  std::vector<double> attributeValues(provider->featureCount());
+	  QgsAttributeList attList;
+	  attList.push_back(attributeIndex);
+	  QgsFeature currentFeature;
+	  QgsAttributeMap currentAttributeMap;
+	  double currentValue;
+	  int index = 0;
+	  
+	  provider->select(attList, QgsRect(), false);
+	  while(provider->getNextFeature(currentFeature))
+	    {
+	      currentAttributeMap = currentFeature.attributeMap();
+	      currentValue = currentAttributeMap[attributeIndex].toDouble();
+	      attributeValues[index] = currentValue;
+	      ++index;
+	    }
+
+	  sort(attributeValues.begin(), attributeValues.end());
+	  return calculateQuantiles(result, attributeValues, numQuantiles);
+	}
+    }
+  return 1;
+}
+
+int QgsGraduatedSymbolDialog::calculateQuantiles(std::list<double>& result, const std::vector<double>& values, int numQuantiles) const
+{
+  result.clear();
+
+  double q;
+  double k;
+  double intPart;
+
+  result.push_back(values[0]);
+  for(int i = 0; i < (numQuantiles - 1); ++i)
+    {
+      q = 100/numQuantiles * (i + 1);
+      k = values.size() * q / 100;
+      if(std::modf(k, &intPart) < 0.000000001)
+	{
+	  result.push_back(((100 - q) * values[(int)(k - 1)] + q * values[(int)k]) / 100);
+	}
+      else
+	{
+	  result.push_back(values[(int)k]);
+	}
+    }
+  result.push_back(values[values.size() - 1]);
+  return 0;
+}
+
+
+

Added: packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsgraduatedsymboldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,80 @@
+/***************************************************************************
+                         qgsgraduatedsymboldialog.h  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgraduatedsymboldialog.h 6826 2007-03-23 14:49:28Z mhugent $ */
+
+#ifndef QGSGRADUATEDSYMBOLDIALOG_H
+#define QGSGRADUATEDSYMBOLDIALOG_H
+
+#include "ui_qgsgraduatedsymboldialogbase.h"
+#include "qgssinglesymboldialog.h"
+#include <map>
+
+class QgsVectorLayer;
+
+
+class QgsGraduatedSymbolDialog: public QDialog, private Ui::QgsGraduatedSymbolDialogBase
+{
+    Q_OBJECT
+ public:
+    /**Enumeration describing the automatic settings of values*/
+    enum mode{EMPTY, EQUAL_INTERVAL, QUANTILES};
+    QgsGraduatedSymbolDialog(QgsVectorLayer* layer);
+    ~QgsGraduatedSymbolDialog();
+ public slots:
+     void apply();
+ protected slots:
+     /**Changes only the number of classes*/
+     void adjustNumberOfClasses();
+     /**Sets a new classification field and a new classification mode*/
+     void adjustClassification();
+     /**Changes the display of the single symbol dialog*/
+     void changeCurrentValue();
+     /**Writes changes in the single symbol dialog to the corresponding QgsRangeRenderItem*/
+     void applySymbologyChanges();
+     /**Shows a dialog to modify lower and upper values*/
+     void modifyClass(QListWidgetItem* item);
+ protected:
+     /**Pointer to the associated vector layer*/
+     QgsVectorLayer* mVectorLayer;
+     /**Stores the names and numbers of the fields with numeric values*/
+     std::map<QString,int> mFieldMap;
+     /**Stores the classes*/
+     std::map<QString,QgsSymbol*> mEntries;
+     /**Dialog which shows the settings of the activated class*/
+     QgsSingleSymbolDialog sydialog;
+     int mClassificationField;
+
+     /**Calculates quantiles from mVectorLayer.
+      @return 0 in case of success*/
+     int quantilesFromVectorLayer(std::list<double>& result, int attributeIndex, int numQuantiles) const;
+     /**A function that calculates the values of the quantiles
+	@param result the list where the function inserts the result values
+	@param values a _sorted_ vector of variable values
+	@param numQuantiles the number of quantiles, e.g. 4 calculates the quantiles for 25%, 50%, 75%, 100%
+      @return 0 in case of success*/
+     int calculateQuantiles(std::list<double>& result, const std::vector<double>& values, int numQuantiles) const;
+
+ protected slots:
+     /**Removes a class from the classification*/
+     void deleteCurrentClass();
+
+ private:
+     /**Default constructor is privat to not use is*/
+     QgsGraduatedSymbolDialog();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgshelpviewer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgshelpviewer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgshelpviewer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,41 @@
+/***************************************************************************
+                          qgshelpviewer.cpp 
+ Simple help browser
+                             -------------------
+    begin                : 2004-01-28
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgshelpviewer.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include "qgshelpviewer.h"
+
+#include <QString>
+
+QgsHelpViewer::QgsHelpViewer(QWidget * parent, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+  setupUi(this);
+}
+
+/*
+ *  Destroys the object and frees any allocated resources
+ */
+QgsHelpViewer::~QgsHelpViewer()
+{
+  // no need to delete child widgets, Qt does it all for us
+}
+void QgsHelpViewer::showContent(QString path, QString doc)
+{
+  //textBrowser->mimeSourceFactory()->addFilePath(path);
+  //textBrowser->setSource(doc);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgshelpviewer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgshelpviewer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgshelpviewer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+                                qgshelpviewer.h 
+                              Simple help browser
+                             -------------------
+    begin                : 2004-01-28
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgshelpviewer.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSHELPVIEWER_H
+#define QGSHELPVIEWER_H
+
+#include "ui_qgshelpviewerbase.h"
+
+class QString;
+
+class QgsHelpViewer : public QDialog, private Ui::QgsHelpViewerBase
+{
+    Q_OBJECT
+
+public:
+    QgsHelpViewer( QWidget* parent = 0, Qt::WFlags fl = 0 );
+    ~QgsHelpViewer();
+    void showContent(QString path, QString doc);
+
+
+};
+
+#endif // QGSHELPVIEWER_H

Added: packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,346 @@
+/***************************************************************************
+                     qgsidentifyresults.cpp  -  description
+                              -------------------
+      begin                : Fri Oct 25 2002
+      copyright            : (C) 2002 by Gary E.Sherman
+      email                : sherman at mrcc dot com
+      Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsidentifyresults.cpp 6879 2007-04-11 11:46:35Z wonder $ */
+
+#include "qgsidentifyresults.h"
+#include "qgscontexthelp.h"
+#include "qgsapplication.h"
+
+#include <QCloseEvent>
+#include <QLabel>
+#include <QAction>
+#include <QTreeWidgetItem>
+#include <QPixmap>
+#include <QSettings>
+#include <QMenu>
+
+#include <iostream>
+
+QgsIdentifyResults::QgsIdentifyResults(const QgsAttributeAction& actions,
+    QWidget *parent, Qt::WFlags f)
+: QDialog(parent, f),
+  mActions(actions),
+  mClickedOnValue(0),
+  mActionPopup(0),
+  mCurrentFeatureId(0)
+{
+  setupUi(this);
+  lstResults->setColumnCount(2);
+  setColumnText(0, tr("Feature"));
+  setColumnText(1, tr("Value"));
+
+  connect( buttonCancel, SIGNAL(clicked()),
+      this, SLOT(close()) );
+  connect( lstResults, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
+      this, SLOT(clicked(QTreeWidgetItem *)) );
+  connect( lstResults, SIGNAL(itemExpanded(QTreeWidgetItem*)),
+           this, SLOT(itemExpanded(QTreeWidgetItem*)));
+
+  connect( lstResults, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
+           this, SLOT(handleCurrentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)));
+}
+
+QgsIdentifyResults::~QgsIdentifyResults()
+{
+  delete mActionPopup;
+}
+
+// Call to show the dialog box.
+void QgsIdentifyResults::show()
+{
+  // Enfore a few things before showing the dialog box
+  lstResults->sortItems(0, Qt::Ascending);
+  expandColumnsToFit();
+
+  QDialog::show();
+}
+// Slot called when user clicks the Close button
+// (saves the current window size/position)
+void QgsIdentifyResults::close()
+{
+  saveWindowLocation();
+  done(0);
+}
+// Save the current window size/position before closing 
+// from window menu or X in titlebar
+void QgsIdentifyResults::closeEvent(QCloseEvent *e)
+{
+  // We'll close in our own good time thanks...
+  e->ignore();
+  close();
+}
+
+// Popup (create if necessary) a context menu that contains a list of
+// actions that can be applied to the data in the identify results
+// dialog box.
+
+void QgsIdentifyResults::contextMenuEvent(QContextMenuEvent* event)
+{
+  QTreeWidgetItem* item = lstResults->itemAt(lstResults->viewport()->mapFrom(this, event->pos()));
+  // if the user clicked below the end of the attribute list, just return
+  if (item == NULL)
+    return;
+  
+  // The assumption is made that an instance of QgsIdentifyResults is
+  // created for each new Identify Results dialog box, and that the
+  // contents of the popup menu doesn't change during the time that
+  // such a dialog box is around.
+  if (mActionPopup == 0)
+  {
+    mActionPopup = new QMenu();
+    QAction* a = mActionPopup->addAction( tr("Run action") );
+    a->setEnabled(false);
+    mActionPopup->addSeparator();
+
+    QgsAttributeAction::aIter iter = mActions.begin();
+    for (int j = 0; iter != mActions.end(); ++iter, ++j)
+    {
+      QAction* a = mActionPopup->addAction(iter->name());
+      // The menu action stores an integer that is used later on to
+      // associate an menu action with an actual qgis action.
+      a->setData(QVariant::fromValue(j));
+    }
+    connect(mActionPopup, SIGNAL(triggered(QAction*)),
+            this, SLOT(popupItemSelected(QAction*)));
+  }
+  // Save the attribute values as these are needed for substituting into
+  // the action. 
+  // A little bit complicated because the user could of right-clicked
+  // on a parent or a child in the dialog box. We also want to keep
+  // track of which row in the identify results table was actually
+  // clicked on. This is stored as an index into the mValues vector.
+
+  QTreeWidgetItem* parent = item->parent();
+  if (parent == 0)
+    parent = item;
+
+  mValues.clear();
+  for (int j = 0; j < parent->childCount(); ++j)
+  {
+    if ( parent->child(j)->text(0) != "action" ) {
+      mValues.push_back(std::make_pair(parent->child(j)->text(0), 
+                                       parent->child(j)->text(1)));
+      // Need to do the comparison on the text strings rather than the
+      // pointers because if the user clicked on the parent, we need
+      // to pick up which child that actually is (the parent in the
+      // identify results dialog box is just one of the children
+      // that has been chosen by some method).
+      if (parent->child(j)->text(0) == item->text(0))
+        mClickedOnValue = j;
+    }
+  }
+
+  if (mActions.size() > 0)
+    mActionPopup->popup(event->globalPos());
+}
+
+// Restore last window position/size and show the window
+void QgsIdentifyResults::restorePosition()
+{
+
+  QSettings settings;
+  QPoint pos = settings.value("/Windows/Identify/pos", 
+                              QPoint(100,100)).toPoint();
+QSize size = settings.value("/Windows/Identify/size", 
+                            QSize(281,316)).toSize();
+  //std::cerr << "Setting geometry: " << wx << ", " << wy << ", " << ww << ", " << wh << std::endl;
+  resize(size);
+  move(pos);
+  show();
+  //std::cerr << "Current geometry: " << x() << ", " << y() << ", " << width() << ", " << height() << std::endl; 
+}
+// Save the current window location (store in ~/.qt/qgisrc)
+void QgsIdentifyResults::saveWindowLocation()
+{
+  QSettings settings;
+  settings.setValue("/Windows/Identify/pos", this->pos());
+  settings.setValue("/Windows/Identify/size", this->size());
+} 
+
+/** add an attribute and its value to the list */
+void QgsIdentifyResults::addAttribute(QTreeWidgetItem * fnode, QString field, QString value)
+{
+  QStringList labels;
+  labels << field << value;
+  new QTreeWidgetItem(fnode, labels);
+}
+
+void QgsIdentifyResults::addAttribute(QString field, QString value)
+{
+  QStringList labels;
+  labels << field << value;
+  new QTreeWidgetItem(lstResults, labels);
+}
+
+void QgsIdentifyResults::addDerivedAttribute(QTreeWidgetItem * fnode, QString field, QString value)
+{
+  QTreeWidgetItem * daRootNode;
+
+  // Determine if this is the first derived attribute for this
+  // feature or not
+  if (mDerivedAttributeRootNodes.find(fnode) != mDerivedAttributeRootNodes.end())
+  {
+    // Reuse existing derived-attribute root node
+    daRootNode = mDerivedAttributeRootNodes[fnode];
+  }
+  else
+  {
+    // Create new derived-attribute root node
+    daRootNode = new QTreeWidgetItem(fnode, QStringList(tr("(Derived)")));
+    QFont font = daRootNode->font(0);
+    font.setItalic(true);
+    daRootNode->setFont(0, font);
+  }
+
+  QStringList labels;
+  labels << field << value;
+  new QTreeWidgetItem(daRootNode, labels);
+}
+
+void QgsIdentifyResults::addAction(QTreeWidgetItem * fnode, int id, QString field, QString value)
+{
+  QStringList labels;
+  labels << field << value << "action" << QString::number(id);
+  QTreeWidgetItem *item = new QTreeWidgetItem(fnode, labels );
+
+  QPixmap pm ( QgsApplication::themePath() + "/mAction.png" );
+  item->setIcon ( 0, QIcon(pm) ); 
+}
+
+/** Add a feature node to the list */
+QTreeWidgetItem *QgsIdentifyResults::addNode(QString label)
+{
+  return (new QTreeWidgetItem(lstResults, QStringList(label)));
+}
+
+void QgsIdentifyResults::setTitle(QString title)
+{
+  setWindowTitle(tr("Identify Results - ") + title);
+}
+
+void QgsIdentifyResults::setColumnText ( int column, const QString & label )
+{
+  QTreeWidgetItem* header = lstResults->headerItem();
+  header->setText ( column, label );
+}
+
+// Run the action that was selected in the popup menu
+void QgsIdentifyResults::popupItemSelected(QAction* menuAction)
+{
+  int id = menuAction->data().toInt();
+  mActions.doAction(id, mValues, mClickedOnValue);
+}
+
+/** Expand all the identified features (show their attributes). */
+void QgsIdentifyResults::showAllAttributes() 
+{
+  // Easy now with Qt 4.2...
+  lstResults->expandAll();
+}
+
+void QgsIdentifyResults::expandColumnsToFit()
+{
+  lstResults->resizeColumnToContents(0);
+  lstResults->resizeColumnToContents(1);
+}
+
+void QgsIdentifyResults::clear()
+{
+  lstResults->clear();
+}
+
+void QgsIdentifyResults::setMessage( QString shortMsg, QString longMsg )
+{
+  QStringList labels;
+  labels << shortMsg << longMsg;
+  new QTreeWidgetItem(lstResults, labels );
+}
+
+void QgsIdentifyResults::setActions( const QgsAttributeAction& actions  )
+{
+  mActions = actions;
+}
+
+void QgsIdentifyResults::clicked ( QTreeWidgetItem *item )
+{
+  if ( !item ) return;
+
+  if ( item->text(2) != "action" ) return;
+
+  int id = item->text(3).toInt();
+
+  QTreeWidgetItem* parent = item->parent();
+  if (parent == 0)
+    parent = item;
+
+  mValues.clear();
+
+  for (int j = 0; j < parent->childCount(); ++j)
+  {
+    if ( parent->child(j)->text(0) != "action" ) {
+      mValues.push_back(std::make_pair(parent->child(j)->text(0), 
+                                       parent->child(j)->text(1)));
+      if (parent->child(j)->text(0) == item->text(0))
+        mClickedOnValue = j;
+    }
+  }
+
+  mActions.doAction(id, mValues, mClickedOnValue);
+}
+void QgsIdentifyResults::on_buttonHelp_clicked()
+{
+  QgsContextHelp::run(context_id);
+}
+
+void QgsIdentifyResults::itemExpanded(QTreeWidgetItem* item)
+{
+  expandColumnsToFit();
+}
+
+void QgsIdentifyResults::handleCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous)
+{
+  if (lstResults->model()->rowCount() <= 1)
+    return;
+  
+  if (current == NULL)
+  {
+    mCurrentFeatureId = 0;
+    emit selectedFeatureChanged(0);
+    return;
+  }
+  
+  // move to node where is saved feature ID
+  QTreeWidgetItem* topLevelItem = current;
+  while (topLevelItem->parent() != NULL)
+  {
+    topLevelItem = topLevelItem->parent();
+  }
+  
+  QVariant fid = topLevelItem->data(0, Qt::UserRole);
+  
+  // no data saved...
+  if (fid.type() != QVariant::Int)
+    return;
+  int fid2 = fid.toInt();
+  
+  if (fid2 == mCurrentFeatureId)
+    return;
+      
+  mCurrentFeatureId = fid2;
+  emit selectedFeatureChanged(mCurrentFeatureId);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsidentifyresults.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,130 @@
+/***************************************************************************
+                      qgsidentifyresults.h  -  description
+                               ------------------
+        begin                : Fri Oct 25 2002
+        copyright            : (C) 2002 by Gary E.Sherman
+        email                : sherman at mrcc dot com
+        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsidentifyresults.h 6879 2007-04-11 11:46:35Z wonder $ */
+#ifndef QGSIDENTIFYRESULTS_H
+#define QGSIDENTIFYRESULTS_H
+
+#include "ui_qgsidentifyresultsbase.h"
+#include "qgsattributeaction.h"
+#include <QWidget>
+#include <vector>
+#include <map>
+
+class QCloseEvent;
+class QTreeWidgetItem;
+class QAction;
+class QMenu;
+
+/**
+ *@author Gary E.Sherman
+ */
+
+class QgsIdentifyResults: public QDialog, private Ui::QgsIdentifyResultsBase
+{
+  Q_OBJECT;
+  public:
+
+  //! Constructor - takes it own copy of the QgsAttributeAction so
+  // that it is independent of whoever created it.
+  QgsIdentifyResults(const QgsAttributeAction& actions, QWidget *parent = 0, Qt::WFlags f = 0);
+
+  ~QgsIdentifyResults();
+
+  /** Add an attribute to the feature display node */
+  void addAttribute(QTreeWidgetItem *parent, QString field, QString value);
+
+  /** Add an attribute */
+  void addAttribute(QString field, QString value);
+
+  /** Add a derived attribute (e.g. Length, Area) to the feature display node */
+  void addDerivedAttribute(QTreeWidgetItem *parent, QString field, QString value);
+
+  /** Add an action to the feature display node */
+  void addAction(QTreeWidgetItem *parent, int id, QString field, QString value);
+
+  /** Add a feature node to the feature display */
+  QTreeWidgetItem * addNode(QString label);
+  /** Set the title for the identify results dialog */
+  void setTitle(QString title);
+  /** Set header column */
+  void setColumnText ( int column, const QString & label );
+  void saveWindowLocation();
+  void restorePosition();  
+  void closeEvent(QCloseEvent *e);
+  void showAllAttributes();
+
+  /** Resize all of the columns to fit the data in them */
+  void expandColumnsToFit();
+
+  /** Remove results */
+  void clear();
+  
+  /** Set "No features ... " */
+  void setMessage( QString shortMsg, QString longMsg );
+
+  /** Set actions */
+  void setActions ( const QgsAttributeAction& actions );
+  
+  //void accept();
+  //void reject();
+  
+  signals:
+    void selectedFeatureChanged(int featureId);
+
+  public slots:
+
+    void show();
+
+    void close();
+    void contextMenuEvent(QContextMenuEvent*);
+    void popupItemSelected(QAction* menuAction);
+
+    /* Item in tree was clicked */
+    void clicked ( QTreeWidgetItem *lvi );
+
+    //! Context help
+    void on_buttonHelp_clicked();
+
+    /* Called when an item is expanded so that we can ensure that the
+       column width if expanded to show it */
+    void itemExpanded(QTreeWidgetItem*);
+    
+    //! sends signal if current feature id has changed
+    void handleCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous);
+
+    
+  private:
+  
+  QgsAttributeAction mActions;
+  int mClickedOnValue;
+  QMenu* mActionPopup;
+  std::vector<std::pair<QString, QString> > mValues;
+  static const int context_id = 689216579;
+  int mCurrentFeatureId;
+
+  /**
+   Keeps track of what derived-attribute (e.g. Length, Area)
+   root nodes have been generated for each feature in this widget.
+
+   First item:  Feature root node
+   Second item: Derived-attribute root node for that feature
+   */
+  std::map<QTreeWidgetItem *, QTreeWidgetItem *> mDerivedAttributeRootNodes;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgslabeldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslabeldialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslabeldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,415 @@
+/***************************************************************************
+                         qgslabeldialog.cpp  -  render vector labels
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek & Tim Sutton
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgslabeldialog.cpp 6833 2007-03-24 22:40:10Z wonder $ */
+#include <iostream>
+#include "qgslabeldialog.h"
+#include "qgsfield.h"
+#include "qgslabel.h"
+#include "qgslabelattributes.h"
+
+#include <QColorDialog>
+#include <QFontDialog>
+#include <QTabWidget>
+
+
+const int PIXMAP_WIDTH = 200;
+const int PIXMAP_HEIGHT = 20;
+
+QgsLabelDialog::QgsLabelDialog ( QgsLabel *label,  QWidget *parent ) 
+    : QWidget(parent),
+      mLabel(label),
+      mFontColor(Qt::black),
+      mBufferColor(Qt::black),
+      mFont("Helvetica")
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    std::cerr << __FILE__ << ":" << __LINE__
+              << "QgsLabelDialog::QgsLabelDialog()\n";
+#endif
+
+    Q_ASSERT( label );
+
+    init();
+
+    connect( sliderFontTransparency, SIGNAL(sliderMoved(int)),
+        spinFontTransparency, SLOT(setValue(int)) );
+    connect( spinFontTransparency, SIGNAL(valueChanged(int)),
+        sliderFontTransparency, SLOT(setValue(int)) );
+    connect( sliderAngle, SIGNAL(valueChanged(int)),
+        spinAngle, SLOT(setValue(int)) );
+    connect( spinAngle, SIGNAL(valueChanged(int)),
+        sliderAngle, SLOT(setValue(int)) );
+    connect( sliderBufferTransparency, SIGNAL(sliderMoved(int)),
+        spinBufferTransparency, SLOT(setValue(int)) );
+    connect( spinBufferTransparency, SIGNAL(valueChanged(int)),
+        sliderBufferTransparency, SLOT(setValue(int)) );
+    connect( btnDefaultFont, SIGNAL(clicked()),
+        this, SLOT(changeFont()) );
+    connect( pbnDefaultBufferColor_2, SIGNAL(clicked()),
+        this, SLOT(changeBufferColor()) );
+    connect( pbnDefaultFontColor, SIGNAL(clicked()),
+        this, SLOT(changeFontColor()) );
+    //added by Tim to force scrolling of tab bar on Mac
+    tabWidget2->setElideMode(Qt::ElideNone);
+    tabWidget2->setUsesScrollButtons(true);
+}
+
+
+void QgsLabelDialog::init ( )
+{
+#ifdef QGISDEBUG
+    std::cerr << __FILE__ << ":" << __LINE__ 
+              << "QgsLabelDialog::init()\n";
+#endif
+  QgsLabelAttributes * myLabelAttributes = mLabel->layerAttributes();
+  //populate a string list with all the field names which will be used to set up the 
+  //data bound combos
+  QgsFieldMap& myFieldsMap = mLabel->fields();
+  QStringList myFieldStringList;
+  myFieldStringList.append ( "" );
+  for (QgsFieldMap::iterator it = myFieldsMap.begin(); it != myFieldsMap.end(); ++it ) 
+  {
+    myFieldStringList.append ( it->name() );
+  }
+  //
+  //now set all the combos that need field lists using the string list
+  //
+  cboLabelField->clear();
+  cboLabelField->insertStringList(myFieldStringList);
+  cboLabelField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Text),myFieldStringList));
+
+
+  cboFontField->clear();
+  cboFontField->insertStringList(myFieldStringList); 
+  cboFontField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Family),myFieldStringList));
+
+  cboBoldField->clear();
+  cboBoldField->insertStringList(myFieldStringList); 
+  cboBoldField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Bold),myFieldStringList));
+
+
+  cboItalicField->clear();
+  cboItalicField->insertStringList(myFieldStringList); 
+  cboItalicField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Italic),myFieldStringList));
+
+  cboUnderlineField->clear();
+  cboUnderlineField->insertStringList(myFieldStringList); 
+  cboUnderlineField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Underline),myFieldStringList));
+
+  cboFontSizeField->clear();
+  cboFontSizeField->insertStringList(myFieldStringList); 
+  cboFontSizeField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Size),myFieldStringList));
+
+  cboFontTransparencyField->clear();
+  cboFontTransparencyField->insertStringList(myFieldStringList); 
+  //cboFontTransparencyField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::FontTransparency),myFieldStringList));
+
+  cboBufferSizeField->clear();
+  cboBufferSizeField->insertStringList(myFieldStringList); 
+  cboBufferSizeField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::BufferSize),myFieldStringList));
+
+  cboBufferTransparencyField->clear();
+  cboBufferTransparencyField->insertStringList(myFieldStringList); 
+  //cboBufferTransparencyField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::BufferTransparency),myFieldStringList));
+
+  cboXCoordinateField->clear();
+  cboXCoordinateField->insertStringList(myFieldStringList); 
+  cboXCoordinateField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::XCoordinate),myFieldStringList));
+
+  cboYCoordinateField->clear();
+  cboYCoordinateField->insertStringList(myFieldStringList); 
+  cboYCoordinateField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::YCoordinate),myFieldStringList));
+
+  cboXOffsetField->clear();
+  cboXOffsetField->insertStringList(myFieldStringList); 
+  cboXOffsetField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::XOffset),myFieldStringList));
+
+  cboYOffsetField->clear();
+  cboYOffsetField->insertStringList(myFieldStringList); 
+  cboYOffsetField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::YOffset),myFieldStringList));
+
+  cboAlignmentField->clear();
+  cboAlignmentField->insertStringList(myFieldStringList); 
+  cboAlignmentField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Alignment),myFieldStringList));
+
+  cboAngleField->clear();
+  cboAngleField->insertStringList(myFieldStringList); 
+  cboAngleField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Angle),myFieldStringList));
+
+
+  //
+  //set the non-databound fields up now
+  //
+  leDefaultLabel->setText(myLabelAttributes->text());
+  mFont.setFamily(myLabelAttributes->family());
+  if (myLabelAttributes->sizeIsSet())
+  {
+    mFont.setPointSize(static_cast<int>(myLabelAttributes->size()));
+
+    int myTypeInt = myLabelAttributes->sizeType();
+    if (myTypeInt == QgsLabelAttributes::PointUnits)
+    {
+      radioFontSizeUnitsPoints->setChecked(true);
+    }
+    else //assume map units is checked
+    { 
+      radioFontSizeUnitsMap->setChecked(true);
+    }
+  }
+  else //defaults for when no size has been set
+  {
+    mFont.setPointSize(static_cast<int>(myLabelAttributes->size()));
+    radioFontSizeUnitsPoints->setChecked(true);
+  }
+
+  if (myLabelAttributes->boldIsSet())
+  {
+     mFont.setBold(myLabelAttributes->bold());
+  }
+  else
+  {
+     mFont.setBold(false);
+  }
+  if (myLabelAttributes->italicIsSet())
+  {
+     mFont.setItalic(myLabelAttributes->italic());
+  }
+  else
+  {
+     mFont.setItalic(false);
+  }
+  mFont.setUnderline(myLabelAttributes->underline());
+  mFontColor= myLabelAttributes->color(); 
+  
+  if (myLabelAttributes->offsetIsSet())
+  {
+    int myTypeInt = myLabelAttributes->offsetType();
+    if ( myTypeInt == QgsLabelAttributes::PointUnits )
+    {
+      radioOffsetUnitsPoints->setChecked(true);
+    } 
+    else 
+    { 
+      radioOffsetUnitsMap->setChecked(true);
+    }
+    spinXOffset->setValue(static_cast<int>(myLabelAttributes->xOffset()));
+    spinYOffset->setValue(static_cast<int>(myLabelAttributes->yOffset()));
+  }
+  else //defaults for when no offset is defined
+  {
+    spinXOffset->setValue(0);
+    spinYOffset->setValue(0);
+  }
+  spinAngle->setValue(static_cast<int>(myLabelAttributes->angle())); 
+
+  //the values here may seem a bit counterintuitive - basically everything 
+  //is the reverse of the way you think it should be...
+  //TODO investigate in QgsLabel why this needs to be the case
+  //TODO add support for corners (e.g. bottom right) to xml serialiser
+  
+  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignBottom  )) radioAboveLeft->setChecked(true)   ;
+  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignTop     )) radioBelowLeft->setChecked(true)   ; 
+  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignBottom  )) radioAboveRight->setChecked(true)  ;
+  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignTop     )) radioBelowRight->setChecked(true)  ;
+  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignVCenter )) radioLeft->setChecked(true)        ;
+  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignVCenter )) radioRight->setChecked(true)       ;
+  if ( myLabelAttributes->alignment() == (Qt::AlignBottom| Qt::AlignHCenter )) radioAbove->setChecked(true)       ; 
+  if ( myLabelAttributes->alignment() == (Qt::AlignTop   | Qt::AlignHCenter )) radioBelow->setChecked(true)       ; 
+  if ( myLabelAttributes->alignment() == Qt::AlignCenter                   ) radioOver->setChecked(true)        ;  
+
+  mBufferColor = myLabelAttributes->bufferColor(); 
+  //note that it could be that buffer properties are set, but the bufer is disabled
+  if (myLabelAttributes->bufferSizeIsSet() )
+  {
+    int myTypeInt = myLabelAttributes->bufferSizeType();
+    if ( myTypeInt == QgsLabelAttributes::PointUnits )
+    {
+      radioBufferUnitsPoints->setChecked(true);
+    } 
+    else 
+    { 
+      radioBufferUnitsMap->setChecked(true);
+    }
+    spinBufferSize->setValue(static_cast<int>(myLabelAttributes->bufferSize()));
+  }
+  else //defaults for when no offset is defined
+  {
+    spinBufferSize->setValue(1);
+  }
+  //set the state of the buffer enabled checkbox
+  chkUseBuffer->setChecked(myLabelAttributes->bufferEnabled());   
+  
+  //NOTE: do we need this line too? TS
+  spinBufferSize->setValue(static_cast<int>(myLabelAttributes->bufferSize()));
+  //TODO - transparency attributes for buffers
+
+}
+
+
+
+void QgsLabelDialog::changeFont ( void )
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsLabelDialog::changeFont()" << std::endl;
+#endif
+    bool resultFlag;
+    mFont = QFontDialog::getFont(&resultFlag, mFont, this );
+    if ( resultFlag ) 
+    {
+        // font is set to the font the user selected
+    } else 
+    {
+        // the user cancelled the dialog; font is set to the initial
+        // value, in this case Helvetica [Cronyx], 10
+    }
+    lblSample->setFont(mFont);
+}
+
+void QgsLabelDialog::changeFontColor(void)
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsLabelDialog::changeFontColor()" << std::endl;
+#endif
+    mFontColor = QColorDialog::getColor ( mFontColor );
+    QPalette palette = lblSample->palette();
+    palette.setColor(lblSample->foregroundRole(), mFontColor);
+    lblSample->setPalette(palette);
+}
+
+void QgsLabelDialog::changeBufferColor(void)
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsLabelDialog::changeBufferColor()" << std::endl;
+#endif
+    mBufferColor = QColorDialog::getColor ( mBufferColor );
+    QPalette palette = lblSample->palette();
+    palette.setColor(lblSample->backgroundRole(), mBufferColor);
+    lblSample->setPalette(palette);
+}
+
+
+int QgsLabelDialog::itemNoForField(QString theFieldName, QStringList theFieldList)
+{
+    int myItemInt=0;
+    for ( QStringList::Iterator it = theFieldList.begin(); it != theFieldList.end(); ++it ) 
+    {
+        if (theFieldName == *it) return myItemInt;
+        ++myItemInt;
+    }
+    //if no matches assume first item in list is blank and return that
+    return 0;
+}
+
+QgsLabelDialog::~QgsLabelDialog()
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsLabelDialog::~QgsLabelDialog()" << std::endl;
+#endif
+}
+
+void QgsLabelDialog::apply()
+{
+#ifdef QGISDEBUG
+    std::cerr << "QgsLabelDialog::apply()" << std::endl;
+#endif
+
+    //set the label props that are NOT bound to a field in the attributes tbl
+    //All of these are set in the layerAttributes member of the layer
+    QgsLabelAttributes * myLabelAttributes = mLabel->layerAttributes();
+    myLabelAttributes->setText(leDefaultLabel->text()); 
+    myLabelAttributes->setFamily(mFont.family());
+    int myTypeInt = 0;
+    if ( radioFontSizeUnitsPoints->isChecked())
+    {
+       myTypeInt = QgsLabelAttributes::PointUnits; 
+    } 
+    else //assume map units is checked
+    { 
+       myTypeInt = QgsLabelAttributes::MapUnits;
+    }
+    myLabelAttributes->setSize(mFont.pointSize() , myTypeInt);
+    myLabelAttributes->setBold(mFont.bold());
+    myLabelAttributes->setItalic(mFont.italic());
+    myLabelAttributes->setUnderline(mFont.underline());
+    myLabelAttributes->setColor(mFontColor); 
+    myTypeInt = 0;
+    if ( radioOffsetUnitsPoints->isChecked() )
+    {
+       myTypeInt = QgsLabelAttributes::PointUnits; 
+    } 
+    else 
+    { 
+       myTypeInt = QgsLabelAttributes::MapUnits;
+    }
+    myLabelAttributes->setOffset(spinXOffset->value() ,spinYOffset->value(), myTypeInt);
+    myLabelAttributes->setAngle(spinAngle->value()); 
+
+    //the values here may seem a bit counterintuitive - basically everything 
+    //is the reverse of the way you think it should be...
+    //TODO investigate in QgsLabel why this needs to be the case
+    if (radioAboveLeft->isChecked())   myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignBottom);
+    if (radioBelowLeft->isChecked())   myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignTop);
+    if (radioAboveRight->isChecked())  myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignBottom);
+    if (radioBelowRight->isChecked())  myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignTop);
+    if (radioLeft->isChecked())        myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
+    if (radioRight->isChecked())       myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignVCenter);
+    if (radioAbove->isChecked())       myLabelAttributes->setAlignment(Qt::AlignBottom| Qt::AlignHCenter); 
+    if (radioBelow->isChecked())       myLabelAttributes->setAlignment(Qt::AlignTop   | Qt::AlignHCenter); 
+    if (radioOver->isChecked())        myLabelAttributes->setAlignment(Qt::AlignCenter);
+      
+    myLabelAttributes->setBufferEnabled(chkUseBuffer->isChecked());
+    myLabelAttributes->setBufferColor(mBufferColor); 
+    myTypeInt = 0;
+    if ( radioBufferUnitsPoints->isChecked() )
+    {
+       myTypeInt = QgsLabelAttributes::PointUnits; 
+    } 
+    else 
+    { 
+       myTypeInt = QgsLabelAttributes::MapUnits;
+    }
+    myLabelAttributes->setBufferSize(spinBufferSize->value(), myTypeInt);
+    //TODO - transparency attributes for buffers
+    
+    //set the label props that are data bound to a field in the attributes tbl
+    mLabel->setLabelField( QgsLabel::Text,  fieldIndexFromName(cboLabelField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Family, fieldIndexFromName(cboFontField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Bold,  fieldIndexFromName(cboBoldField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Italic,  fieldIndexFromName(cboItalicField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Underline,  fieldIndexFromName(cboUnderlineField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Size,  fieldIndexFromName(cboFontSizeField->currentText()) );
+    mLabel->setLabelField( QgsLabel::BufferSize,  fieldIndexFromName(cboBufferSizeField->currentText()) );
+    //mLabel->setLabelField( QgsLabel::BufferTransparency,  cboBufferTransparencyField->currentText() );
+    mLabel->setLabelField( QgsLabel::XCoordinate,  fieldIndexFromName(cboXCoordinateField->currentText()) );
+    mLabel->setLabelField( QgsLabel::YCoordinate,  fieldIndexFromName(cboYCoordinateField->currentText()) );
+    mLabel->setLabelField( QgsLabel::XOffset,  fieldIndexFromName(cboXOffsetField->currentText()) );
+    mLabel->setLabelField( QgsLabel::YOffset,  fieldIndexFromName(cboYOffsetField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Alignment,  fieldIndexFromName(cboAlignmentField->currentText()) );
+    mLabel->setLabelField( QgsLabel::Angle,  fieldIndexFromName(cboAngleField->currentText()) );
+
+}
+
+int QgsLabelDialog::fieldIndexFromName(QString name)
+{
+  const QgsFieldMap& fields = mLabel->fields();
+  for (QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
+  {
+    if (it->name() == name)
+      return it.key();
+  }
+  return -1;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgslabeldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslabeldialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslabeldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,92 @@
+/***************************************************************************
+                         qgslabeldialog.h  -  render vector labels
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgslabeldialog.h 6833 2007-03-24 22:40:10Z wonder $ */
+
+#ifndef QGSLABELDIALOG_H
+#define QGSLABELDIALOG_H
+
+#include "ui_qgslabeldialogbase.h"
+
+class QgsLabel;
+
+
+/** QgsLabelDialog is the dialog for label. */
+class QgsLabelDialog: public QWidget, private Ui::QgsLabelDialogBase
+{
+    Q_OBJECT;
+
+public:
+    QgsLabelDialog( QgsLabel *label,  QWidget * parent = 0 );
+    ~QgsLabelDialog();
+    int itemNoForField(QString theFieldName, QStringList theFieldList);
+    
+    /* Attributes in order used in the table */
+    enum Attribute {
+	Text = 0,
+	Family,
+	Size,
+	Bold,
+	Italic,
+	Underline,
+	Color,
+	XCoordinate,
+	YCoordinate,
+	XOffset,
+	YOffset,
+	Angle,
+	Alignment,
+	BufferSize,
+	BufferColor,
+	BufferBrush,
+	BorderWidth,
+	BorderColor,
+	BorderStyle,
+	AttributeCount
+    };
+
+public slots:
+    /** applies the changes to the label class */
+    void apply ( void );
+
+    /** Change font - reimplements method from base class*/
+    void changeFont ( );
+
+    /** Change color - reimplements method from base class */
+    void changeBufferColor ( );
+    void changeFontColor ( );
+
+    /** Initialise dialog to vector layer values */
+    void init ( void );
+
+    void on_cboLabelField_activated(int) {emit labelSourceSet(); }
+
+ signals:
+    /* emitted when anitem in label source list is chosen */
+    void labelSourceSet();
+
+protected:
+
+    /** return field index based on field's name, -1 if not found */
+    int fieldIndexFromName(QString name);
+
+private:
+    QgsLabel *mLabel;
+    QColor    mFontColor;
+    QColor    mBufferColor;
+    QFont     mFont;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,74 @@
+/***************************************************************************
+                          qgslinestyledialog.cpp 
+ Dialog for selecting vector line styles
+                             -------------------
+    begin                : 2004-02-12
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgslinestyledialog.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+#include "qgslinestyledialog.h"
+#include "qpushbutton.h"
+#include <iostream>
+#include "qgssymbologyutils.h"
+
+QgsLineStyleDialog::QgsLineStyleDialog(QWidget * parent, Qt::WFlags fl):
+  QDialog(parent, fl)
+{
+  setupUi(this);
+
+  //load the icons stored in QgsSymbologyUtils.cpp (to avoid redundancy)
+  solid->setPixmap(QgsSymbologyUtils::char2LinePixmap("SolidLine"));
+  dash->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashLine"));
+  dot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DotLine"));
+  dashdot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotLine"));
+  dashdotdot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotDotLine"));
+  nopen->setPixmap(QgsSymbologyUtils::char2LinePixmap("NoPen"));
+
+  QObject::connect(okbutton, SIGNAL(clicked()), this, SLOT(queryStyle()));
+  QObject::connect(cancelbutton, SIGNAL(clicked()), this, SLOT(reject()));
+  solid->toggle();              //solid style is the default
+}
+
+Qt::PenStyle QgsLineStyleDialog::style()
+{
+  return m_style;
+}
+
+void QgsLineStyleDialog::queryStyle()
+{
+  if (solid->isOn())
+    {
+      m_style = Qt::SolidLine;
+    } 
+  else if (dash->isOn())
+    {
+      m_style = Qt::DashLine;
+    } 
+  else if (dot->isOn())
+    {
+      m_style = Qt::DotLine;
+    } 
+  else if (dashdot->isOn())
+    {
+      m_style = Qt::DashDotLine;
+    } 
+  else if (dashdotdot->isOn())
+    {
+      m_style = Qt::DashDotDotLine;
+    }
+  else if (nopen->isOn())
+    {
+      m_style = Qt::NoPen;
+    }
+  accept();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslinestyledialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,45 @@
+/***************************************************************************
+                          qgslinestyledialog.h 
+               Dialog for selecting line style for vector layers
+                             -------------------
+    begin                : 2004-02-12
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgslinestyledialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSLINESTYLEDIALOG_H
+#define QGSLINESTYLEDIALOG_H
+
+class qnamespace;
+#include "ui_qgslinestyledialogbase.h"
+#include "qgisgui.h"
+/**Dialog class to query line styles*/
+class QgsLineStyleDialog: public QDialog, private Ui::QgsLineStyleDialogBase
+{
+  Q_OBJECT
+ public:
+    QgsLineStyleDialog(QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    ~QgsLineStyleDialog();
+    Qt::PenStyle style();
+ protected:
+    Qt::PenStyle m_style;
+ protected slots:
+     /**Queries the selected style if the ok button is pressed and stores it in m_style*/
+     void queryStyle();
+};
+
+inline QgsLineStyleDialog::~QgsLineStyleDialog()
+{
+
+}
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+/***************************************************************************
+                                 qgslinestyle.h
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgslinestylewidget.h"
+
+QgsLineStyleWidget::QgsLineStyleWidget( QWidget *parent, const char * name, Qt::WFlags f)
+           :QgsLineStyleWidgetBase( )
+{
+}
+
+QgsLineStyleWidget::~QgsLineStyleWidget()
+{
+}

Added: packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgslinestylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+                                qgslinestyle.h 
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSLINESTYLE_H
+#define QGSLINESTYLE_H
+
+#include "ui_qgslinestylewidgetbase.h"
+#include <QDialog>
+
+class QgsLineStyleWidget: public QDialog, private Ui::QgsLineStyleWidgetBase
+{
+  Q_OBJECT;
+  public:
+
+  //! Constructor
+  QgsLineStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
+
+  ~QgsLineStyleWidget();
+
+
+public slots:
+  
+private:
+    
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsludialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsludialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsludialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,53 @@
+/***************************************************************************
+                         qgsludialog.cpp  -  description
+                             -------------------
+    begin                : September 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsludialog.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include "qgsludialog.h"
+
+
+QgsLUDialog::QgsLUDialog(QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+    setupUi(this);
+    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
+    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+QgsLUDialog::~QgsLUDialog()
+{
+
+}
+
+QString QgsLUDialog::lowerValue() const
+{
+    return mLowerEdit->text();
+}
+
+QString QgsLUDialog::upperValue() const
+{
+    return mUpperEdit->text();
+}
+
+void QgsLUDialog::setLowerValue(QString val)
+{
+    mLowerEdit->setText(val);
+}
+
+void QgsLUDialog::setUpperValue(QString val)
+{
+    mUpperEdit->setText(val);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsludialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsludialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsludialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,38 @@
+/***************************************************************************
+                         qgsludialog.h  -  description
+                             -------------------
+    begin                : September 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsludialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSLUDIALOG_H
+#define QGSLUDIALOG_H
+
+#include "ui_qgsludialogbase.h"
+#include "qgisgui.h"
+
+
+class QgsLUDialog: public QDialog, private Ui::QgsLUDialogBase
+{
+    Q_OBJECT
+ public:
+    QgsLUDialog(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    ~QgsLUDialog();
+    QString lowerValue() const;
+    void setLowerValue(QString val);
+    QString upperValue() const;
+    void setUpperValue(QString val);
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmaplayerinterface.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaplayerinterface.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaplayerinterface.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+    begin                : Jul 10 2003
+    copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsmaplayerinterface.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSMAPLAYERINTERFACE_H
+#define QGSMAPLAYERINTERFACE_H
+/** 
+* Interface class for map layer plugins
+*/
+#include <QObject>
+#include "qgisapp.h"
+class Q3MainWindow;
+
+class QgsMapLayerInterface: public QObject{
+	Q_OBJECT
+public:
+virtual void setQgisMainWindow(QgisApp *qgis) = 0;
+// a test function to return an int
+virtual int getInt()=0;
+// setup the plugin's GUI
+virtual void initGui()=0;
+// unload the plugin
+virtual void unload()=0;
+// draw function
+virtual void draw() = 0;
+
+};
+#endif // QGSMAPLAYERINTERFACE_H

Added: packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,383 @@
+/***************************************************************************
+  qgsmapserverexport.cpp - Export QGIS MapCanvas to MapServer
+  --------------------------------------
+Date                 : 8-Nov-2003
+Copyright            : (C) 2003 by Gary E.Sherman
+email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmapserverexport.cpp 6441 2007-01-18 19:39:53Z telwertowski $ */
+
+#include "qgsmapserverexport.h"
+
+#include "qgis.h"
+#include "qgsdatasourceuri.h"
+#include "qgshelpviewer.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsrect.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+
+#include <QFileDialog>
+#include <QFileInfo>
+#include <QMessageBox>
+
+#include <iostream>
+#include <fstream>
+
+// constructor
+QgsMapserverExport::QgsMapserverExport(QgsMapCanvas * _map, QWidget * parent, Qt::WFlags fl)
+  : QDialog(parent, fl), map(_map)
+{
+  setupUi(this);
+  connect(buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
+  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
+  // These values shouldn't be translated, the units should be in english in the map file
+  // Qt designer adds translate() by default
+  cmbMapUnits->addItem(QString::fromUtf8("dd"));
+  cmbMapUnits->addItem(QString::fromUtf8("feet"));
+  cmbMapUnits->addItem(QString::fromUtf8("meters"));
+  cmbMapUnits->addItem(QString::fromUtf8("miles"));
+  cmbMapUnits->addItem(QString::fromUtf8("inches"));
+  cmbMapUnits->addItem(QString::fromUtf8("kilometers"));
+}
+
+// Default destructor
+QgsMapserverExport::~QgsMapserverExport()
+{
+}
+
+// Get the base name for the map file
+QString QgsMapserverExport::baseName()
+{
+  QFileInfo fi(txtMapFilePath->text());
+  return fi.baseName(true);
+}
+
+// Write the map file
+bool QgsMapserverExport::write()
+{
+
+  //QMessageBox::information(0,"Full Path",fullPath);
+  QMessageBox::StandardButton okToSave = QMessageBox::Ok;
+  // Check for file and prompt for overwrite if it exists
+  if (QFile::exists(txtMapFilePath->text()))
+  {
+    okToSave = QMessageBox::warning(this, tr("Overwrite File?"), txtMapFilePath->text() +
+        tr(" exists. \nDo you want to overwrite it?"), QMessageBox::Ok | QMessageBox::Cancel);
+  }
+  if (okToSave == QMessageBox::Ok)
+  {
+    // write the project information to the selected file
+    writeMapFile();
+    return true;
+  } else
+  {
+    return false;
+  }
+}
+
+
+void QgsMapserverExport::setFileName(QString fn)
+{
+  fullPath = fn;
+}
+
+QString QgsMapserverExport::fullPathName()
+{
+  return fullPath;
+}
+
+void QgsMapserverExport::writeMapFile()
+{
+  // write the map file, making massive assumptions about default values
+#ifdef QGISDEBUG
+  std::cout << "Opening map file " << txtMapFilePath->text().toLocal8Bit().data() << std::endl;
+#endif
+  std::ofstream mapFile(txtMapFilePath->text().toLocal8Bit().data());
+  if (!mapFile.fail())
+  {
+    // XXX So, what encoding should we use here???
+    mapFile << "# Map file generated by QGIS version " << QGis::qgisVersion << std::endl;
+    mapFile << "# Edit this file to customize for your interface" << std::endl;
+    mapFile << "# Not all sections are complete. See comments for details." << std::endl;
+    if (!chkExpLayersOnly->isChecked())
+    {
+      // header
+      mapFile << "NAME " << txtMapName->text().toLocal8Bit().data() << std::endl;
+      mapFile << "STATUS ON" << std::endl;
+      mapFile << "\n# Map image size. Change size as desired" << std::endl;
+      mapFile << "SIZE " << txtMapWidth->text().toLocal8Bit().data() << " " << txtMapHeight->text().toLocal8Bit().data() << std::endl;
+      // web interface definition - this is minimal!
+      mapFile << "#" << std::endl;
+      mapFile << "# Start of web interface definition. Only the TEMPLATE parameter" << std::endl;
+      mapFile << "# must be specified to display a map. See Mapserver documentation" << std::endl;
+      mapFile << "#" << std::endl;
+      mapFile << "WEB" << std::endl;
+      // if no header is supplied, write the header line but comment it out
+      if (txtWebHeader->text().isEmpty())
+      {
+        mapFile << "  # HEADER" << std::endl;
+      } else
+      {
+        // header provided - write it
+        mapFile << "  HEADER " << txtWebHeader->text().toLocal8Bit().data() << std::endl;
+      }
+      // if no template provided, write the template line but comment it out
+      if (txtWebTemplate->text().isEmpty())
+      {
+        mapFile << "  # TEMPLATE" << std::endl;
+      } else
+      {
+        // template provided - write it
+        mapFile << "  TEMPLATE " << txtWebTemplate->text().toLocal8Bit().data() << std::endl;
+      }
+      // if no footer provided, write the footer line but comment it out
+      if (txtWebFooter->text().isEmpty())
+      {
+        mapFile << "  # FOOTER" << std::endl;
+      } else
+      {
+        mapFile << "  FOOTER " << txtWebFooter->text().toLocal8Bit().data() << std::endl;
+      }
+      QString minScale = txtMinScale->text().isEmpty()?"#MINSCALE":"MINSCALE";
+      QString maxScale = txtMinScale->text().isEmpty()?"  #MAXSCALE ":"  MAXSCALE ";
+      // write min and maxscale
+      mapFile << minScale.toLocal8Bit().data() << txtMinScale->text().toLocal8Bit().data() << std::endl;
+      mapFile << maxScale.toLocal8Bit().data() << txtMaxScale->text().toLocal8Bit().data() << std::endl;
+      // write comments about the imagepath and image url
+      mapFile << "# Set IMAGEPATH to the path where mapserver should\n" <<
+        "# write its output\n" <<
+        " IMAGEPATH '/tmp/'" << std::endl; 
+      mapFile << "# Set IMAGEURL to the url that points to IMAGEPATH" << std::endl; 
+      mapFile << " #IMAGEURL '/map_output/'" << std::endl; 
+      // end of web section
+      mapFile << "END" << std::endl;
+
+      // extent
+      mapFile << "\n# Extent based on full extent of QGIS view" << std::endl;
+      mapFile << "EXTENT ";
+      QgsRect extent = map->extent();
+      mapFile << extent.xMin() << " " << extent.yMin() << " ";
+      mapFile << extent.xMax() << " " << extent.yMax() << std::endl;
+      // units
+      mapFile << "UNITS " << cmbMapUnits->currentText().toLocal8Bit().data() << std::endl;
+      // image info
+      mapFile << "IMAGECOLOR 255 255 255" << std::endl;
+      mapFile << "IMAGETYPE " << cmbMapImageType->currentText().toLocal8Bit().data() << std::endl;
+      // projection information TODO: support projections :)
+      mapFile << "# Projection definition" << std::endl;
+      mapFile << "# Projections are not currenlty supported. If desired, add your own" << std::endl;
+      mapFile << "# projection information based on Mapserver documentation." << std::endl;
+      mapFile << "#" << std::endl;
+
+    } else
+    {
+      mapFile << " # This file contains layer definitions only and is not a complete" << std::endl;
+      mapFile << " # Mapserver map file." << std::endl;
+    }
+
+    // write layer definitions 
+    for (int i = 0; i < map->layerCount(); i++)
+    {
+      bool isPolygon = false;
+      bool isLine = false;
+      QgsMapLayer *lyr = map->getZpos(i);
+#ifdef QGISDEBUG
+      std::cout << "Mapsrver Export Processing Layer" << std::endl;
+#endif
+      mapFile << "LAYER" << std::endl;
+      QString name = lyr->name().lower();
+      // MapServer NAME must be < 20 char and unique
+      name.replace(QRegExp(" "), "_");
+      name.replace(QRegExp("\\."), "_");
+      name.replace(QRegExp("\\("), "_");
+      name.replace(QRegExp("\\)"), "_");
+      mapFile << "  NAME " << name.toLocal8Bit().data() << std::endl;
+      // feature type
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export checking feature type" << std::endl;
+#endif
+      mapFile << "  TYPE ";
+      if (lyr->type() == QgsMapLayer::VECTOR)
+      {
+        QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(lyr);
+        switch (vlayer->geometryType())
+        {
+          case QGis::WKBPoint:
+          case QGis::WKBMultiPoint:
+            mapFile << "POINT";
+            break;
+          case QGis::WKBLineString:
+          case QGis::WKBMultiLineString:
+            mapFile << "LINE";
+            isLine = true;
+            break;
+          case QGis::WKBPolygon:
+          case QGis::WKBMultiPolygon:
+            mapFile << "POLYGON";
+            isPolygon = true;
+            break;
+                  
+        }
+      }
+      if(lyr->type() == QgsMapLayer::RASTER)
+      {
+        mapFile << "RASTER";
+      }
+      mapFile << std::endl;
+
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export checking visibility" << std::endl;
+#endif
+      // set visibility (STATUS)
+      mapFile << "  STATUS ";
+      
+      // TODO: what to do with visibility
+      //if (lyr->visible())
+      //{
+        mapFile << "ON";
+      //} else
+      //{
+      //  mapFile << "OFF";
+      //}
+      mapFile << std::endl;
+
+      // data source (DATA)
+      // Data source spec depends on layer type
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export checking layer type" << std::endl;
+#endif
+      switch (lyr->type())
+      {
+        case QgsMapLayer::VECTOR:
+          // get the provider type
+          {
+            QgsVectorLayer* vlyr = dynamic_cast<QgsVectorLayer*>(lyr);
+            QString providerType = vlyr->providerType();
+            if(providerType == "postgres")
+            {
+              QgsDataSourceURI dUri(vlyr->getDataProvider()->dataSourceUri());
+              mapFile << "CONNECTION \"user=" << dUri.username.toLocal8Bit().data();
+              if(dUri.password.length() > 0)
+              {
+                mapFile << " password="<< dUri.password.toLocal8Bit().data();
+              }
+              mapFile  << " dbname=" << dUri.database.toLocal8Bit().data() 
+                << " host=" << dUri.host.toLocal8Bit().data()
+                << " port=" << dUri.port.toLocal8Bit().data()
+                << "\"" << std::endl; 
+              mapFile << "CONNECTIONTYPE postgis" << std::endl; 
+              mapFile << "DATA \"" << dUri.geometryColumn.toLocal8Bit().data() << " from " 
+                << dUri.table.toLocal8Bit().data() << "\"" << std::endl; 
+              if(dUri.sql.length() > 0)
+              {
+                mapFile << "FILTER \"" << dUri.sql.toLocal8Bit().data() << "\"" << std::endl; 
+              }
+
+            }
+            else
+            {
+
+              // must be an ogr 
+              mapFile << "  DATA " << lyr->source().toLocal8Bit().data() << std::endl;
+            }
+          }
+          break;
+        case QgsMapLayer::RASTER:
+          mapFile << "  DATA " << lyr->source().toLocal8Bit().data() << std::endl; 
+          
+          break;
+      }
+#ifdef QGISDEBUG
+      std::cout << "\tMapserver Export creating symbol entries" << std::endl;
+#endif
+      // create a simple class entry based on red fill color and black outline color
+      //TODO: adapt the following section to the new symbology
+
+      mapFile << "  CLASS" << std::endl;
+      //QListViewItem *li = map->getLegend()->currentItem();
+      //    return li->text(0);
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export symbol name" << std::endl;
+#endif
+      mapFile << "    NAME \"" << lyr->name().toLocal8Bit().data() << "\"" << std::endl;
+      mapFile << "    # TEMPLATE" << std::endl;
+      if (isPolygon)
+      {
+#ifdef QGISDEBUG
+        std::cout << "\tMapsrver Export symbol fill color" << std::endl;
+#endif
+        // use random fill colors
+        // TODO Get fill color from the renderer
+        // TODO Figure out what to do for layers that are
+        //      rendered with other than the simple symbol
+        //      renderer.
+        int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+        int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+        int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+
+        mapFile << "    COLOR " << red << " " << green << " " << blue << std::endl;
+      }
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export checking for line symbol " << std::endl;
+#endif
+      if (isPolygon || isLine)
+      {
+        // use line color
+        // TODO Get line color from the renderer
+        int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+        int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+        int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+        mapFile << "    OUTLINECOLOR " << red << " "
+          << green << " " << blue << std::endl;
+      }
+      mapFile << "  END" << std::endl;
+      mapFile << "END" << std::endl;
+#ifdef QGISDEBUG
+      std::cout << "\tMapsrver Export layer definition done..." << std::endl;
+#endif
+    }
+    if (!chkExpLayersOnly->isChecked())
+    {
+      mapFile << "END # Map File";
+    }
+    mapFile.flush();
+    mapFile.close();
+  } else
+  {
+  }
+}
+
+void QgsMapserverExport::on_chkExpLayersOnly_clicked()
+{
+  // disable inputs if only layer objects are being written
+  grpMap->setEnabled(!chkExpLayersOnly->isChecked());
+  grpWeb->setEnabled(!chkExpLayersOnly->isChecked());
+}
+
+void QgsMapserverExport::on_btnChooseFile_clicked()
+{
+  QString s = QFileDialog::getSaveFileName(
+                    this,
+                    "Choose a filename for the exported map file",
+                    "./",
+                    "Mapserver files (*.map)" );
+  txtMapFilePath->setText(s);
+}
+
+void QgsMapserverExport::on_buttonHelp_clicked()
+{
+  //QMessageBox::information(this, "Help","Help");
+  QgsHelpViewer *hv = new QgsHelpViewer(this);
+  // causes problems in qt3.1.x:  hv->setModal(false);
+  hv->setCaption("QGIS Help - Mapserver Export");
+  hv->show();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmapserverexport.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,68 @@
+/***************************************************************************
+    qgsmapserverexport.h - Export QGIS MapCanvas to MapServer
+     --------------------------------------
+    Date                 : 08-Nov-2003
+    Copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************
+
+  $Id: qgsmapserverexport.h 6415 2007-01-09 02:39:15Z wonder $ 
+
+*/
+
+#ifndef QGSMAPSERVEREXPORT_H
+#define QGSMAPSERVEREXPORT_H
+#include "ui_qgsmapserverexportbase.h"
+#include "qgisgui.h"
+class QgsMapCanvas;
+
+/*! \class QgsMapServerExport
+* \brief Class to handle reading and writing a Qgis project file
+*/
+class QgsMapserverExport:public QDialog, private Ui::QgsMapserverExportBase
+{
+Q_OBJECT
+public:
+  QgsMapserverExport(QgsMapCanvas *map=0, QWidget* parent = 0, 
+	Qt::WFlags fl = QgisGui::ModalDialogFlags);
+  ~QgsMapserverExport();
+  //! Read the file and create the map
+  bool read();
+  //! Write the contents of the map to a file
+  bool write();
+  void setMapCanvas(QgsMapCanvas *map);
+  //! Open a file dialog, the type determined by action (SAVE AS or OPEN)
+  QString selectFileName();
+  //! get the basename of the file (no path, just the file name)
+  QString baseName();
+  //! get the full path name of the map file
+  QString fullPathName();
+  //! Set the full path to the file
+  void setFileName(QString filename);
+  enum ACTION {
+  	SAVE,
+	SAVEAS,
+	OPEN
+	};
+public slots:
+  void on_chkExpLayersOnly_clicked();
+  void on_btnChooseFile_clicked();
+  void on_buttonHelp_clicked();
+private:
+  void writeMapFile(void);
+  QString fileName;
+  QString fullPath;
+  bool neverSaved;
+  QgsMapCanvas *map;
+  int action;
+};
+
+#endif //QGSMAPSERVEREXPORT_H
+

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,418 @@
+/***************************************************************************
+    qgsmaptooladdfeature.cpp
+    ------------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptooladdfeature.h"
+#include "qgsapplication.h"
+#include "qgsattributedialog.h"
+#include "qgscsexception.h"
+#include "qgsfield.h"
+#include "qgsmapcanvas.h"
+#include "qgsproject.h"
+#include "qgsrubberband.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+#include <QMessageBox>
+
+QgsMapToolAddFeature::QgsMapToolAddFeature(QgsMapCanvas* canvas, enum CaptureTool tool): QgsMapToolCapture(canvas, tool)
+{
+
+}
+  
+QgsMapToolAddFeature::~QgsMapToolAddFeature()
+{
+
+}
+
+void QgsMapToolAddFeature::canvasReleaseEvent(QMouseEvent * e)
+{
+  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  if (!vlayer)
+    {
+      QMessageBox::information(0, QObject::tr("Not a vector layer"),
+			       QObject::tr("The current layer is not a vector layer"));
+      return;
+    }
+
+  QGis::WKBTYPE layerWKBType = vlayer->geometryType();
+
+  //no support for adding features to 2.5D types yet
+  if(layerWKBType == QGis::WKBLineString25D || layerWKBType == QGis::WKBPolygon25D || \
+     layerWKBType == QGis::WKBMultiLineString25D || layerWKBType == QGis::WKBPoint25D || layerWKBType == QGis::WKBMultiPoint25D)
+    {
+      QMessageBox::critical(0, QObject::tr("2.5D shape type not supported"), QObject::tr("Adding features to 2.5D shapetypes is not supported yet"));
+      delete mRubberBand;
+      mRubberBand = NULL;
+      mCapturing = FALSE;
+      mCaptureList.clear();
+      mCanvas->refresh();
+      return;
+    }
+  
+  QgsVectorDataProvider* provider = vlayer->getDataProvider();
+  
+  if(!(provider->capabilities() & QgsVectorDataProvider::AddFeatures))
+    {
+      QMessageBox::information(0, QObject::tr("Layer cannot be added to"),
+			       QObject::tr("The data provider for this layer does not support the addition of features."));
+      return;
+    }
+  
+  if (!vlayer->isEditable())
+    {
+      QMessageBox::information(0, QObject::tr("Layer not editable"),
+			       QObject::tr("Cannot edit the vector layer. To make it editable, go to the file item "
+					   "of the layer, right click and check 'Allow Editing'."));
+      return;
+    }
+  
+  
+  double tolerance  = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
+  
+  // POINT CAPTURING
+  if (mTool == CapturePoint)
+    {
+      //check we only use this tool for point/multipoint layers
+      if(vlayer->vectorType() != QGis::Point)
+	{
+	  QMessageBox::information(0, QObject::tr("Wrong editing tool"),
+				   QObject::tr("Cannot apply the 'capture point' tool on this vector layer"));
+	  return;
+	}
+      QgsPoint idPoint = toMapCoords(e->pos());
+      
+      // emit signal - QgisApp can catch it and save point position to clipboard
+      // FIXME: is this still actual or something old that's not used anymore?
+      //emit xyClickCoordinates(idPoint);
+      
+      //only do the rest for provider with feature addition support
+      //note that for the grass provider, this will return false since
+      //grass provider has its own mechanism of feature addition
+      if(provider->capabilities() & QgsVectorDataProvider::AddFeatures)
+	{
+	  QgsFeature* f = new QgsFeature(0,"WKBPoint");
+	  // project to layer's SRS
+	  QgsPoint savePoint;
+	  try
+	    {
+	      savePoint = toLayerCoords(vlayer, idPoint);
+	    }
+	  catch(QgsCsException &cse)
+	    {
+	      QMessageBox::information(0, QObject::tr("Coordinate transform error"), \
+				   QObject::tr("Cannot transform the point to the layers coordinate system"));
+	      return;
+	    }
+	  // snap point to points within the vector layer snapping tolerance
+	  vlayer->snapPoint(savePoint, tolerance);
+	  
+	  int size = 0;
+	  char end=QgsApplication::endian();
+	  unsigned char *wkb = NULL;
+	  int wkbtype = 0;
+	  double x = savePoint.x();
+	  double y = savePoint.y();
+	  
+	  if(layerWKBType == QGis::WKBPoint)
+	    {
+	      size=1+sizeof(int)+2*sizeof(double);
+	      wkb = new unsigned char[size];
+	      wkbtype=QGis::WKBPoint;
+	      memcpy(&wkb[0],&end,1);
+	      memcpy(&wkb[1],&wkbtype, sizeof(int));
+	      memcpy(&wkb[5], &x, sizeof(double));
+	      memcpy(&wkb[5]+sizeof(double), &y, sizeof(double));
+	    }
+	  else if(layerWKBType == QGis::WKBMultiPoint)
+	    {
+	      size = 2+3*sizeof(int)+2*sizeof(double);
+	      wkb = new unsigned char[size];
+	      wkbtype=QGis::WKBMultiPoint;
+	      int position = 0;
+	      memcpy(&wkb[position], &end, 1);
+	      position += 1;
+	      memcpy(&wkb[position], &wkbtype, sizeof(int));
+	      position += sizeof(int);
+	      int npoint = 1;
+	      memcpy(&wkb[position], &npoint, sizeof(int));
+	      position += sizeof(int);
+	      memcpy(&wkb[position], &end, 1);
+	      position += 1;
+	      int pointtype = QGis::WKBPoint;
+	      memcpy(&wkb[position],&pointtype, sizeof(int));
+	      position += sizeof(int);
+	      memcpy(&wkb[position], &x, sizeof(double));
+	      position += sizeof(double);
+	      memcpy(&wkb[position], &y, sizeof(double));
+	    }
+	  
+	  f->setGeometryAndOwnership(&wkb[0],size);
+	  // add the fields to the QgsFeature
+	  const QgsFieldMap fields=provider->fields();
+	  for(QgsFieldMap::const_iterator it = fields.constBegin(); it != fields.constEnd(); ++it)
+	    {
+	      f->addAttribute(it.key(), provider->getDefaultValue(it.key()) );
+	    }
+	  
+	  // show the dialog to enter attribute values
+	  if (QgsAttributeDialog::queryAttributes(fields, *f))
+	    vlayer->addFeature(*f);
+	  else
+	    delete f;
+	  
+	  mCanvas->refresh();
+	}
+      
+    }  
+  else if (mTool == CaptureLine || mTool == CapturePolygon)
+    {
+      //check we only use the line tool for line/multiline layers
+      if(mTool == CaptureLine && vlayer->vectorType() != QGis::Line)
+	{
+	  QMessageBox::information(0, QObject::tr("Wrong editing tool"),
+				   QObject::tr("Cannot apply the 'capture line' tool on this vector layer"));
+	  return;
+	}
+      
+      //check we only use the polygon tool for polygon/multipolygon layers
+      if(mTool == CapturePolygon && vlayer->vectorType() != QGis::Polygon)
+	{
+	  QMessageBox::information(0, QObject::tr("Wrong editing tool"),
+				   QObject::tr("Cannot apply the 'capture polygon' tool on this vector layer"));
+	  return;
+	}
+
+      //add point to list and to rubber band
+      int error = addVertex(e->pos());
+      if(error == 1)
+	{
+	  //current layer is not a vector layer
+	  return;
+	}
+      else if (error == 2)
+	{
+	  //problem with coordinate transformation
+	  QMessageBox::information(0, QObject::tr("Coordinate transform error"), \
+				   QObject::tr("Cannot transform the point to the layers coordinate system"));
+	  return;
+	}
+      
+      if (e->button() == Qt::LeftButton)
+	{
+	  mCapturing = TRUE;
+	}
+      else if (e->button() == Qt::RightButton)
+	{
+	  // End of string
+	  
+	  mCapturing = FALSE;
+	  
+	  delete mRubberBand;
+	  mRubberBand = NULL;
+	  
+	  //bail out if there are not at least two vertices
+	  if(mCaptureList.size() < 2)
+	    {
+	      mCaptureList.clear();
+	      return;
+	    }
+
+	  //create QgsFeature with wkb representation
+	  QgsFeature* f = new QgsFeature(0,"WKBLineString");
+	  unsigned char* wkb;
+	  int size;
+	  char end=QgsApplication::endian();
+
+	  if(mTool == CaptureLine)
+	    {
+	      if(layerWKBType == QGis::WKBLineString) 
+		{
+		  size=1+2*sizeof(int)+2*mCaptureList.size()*sizeof(double);
+		  wkb= new unsigned char[size];
+		  int wkbtype=QGis::WKBLineString;
+		  int length=mCaptureList.size();
+		  memcpy(&wkb[0],&end,1);
+		  memcpy(&wkb[1],&wkbtype, sizeof(int));
+		  memcpy(&wkb[1+sizeof(int)],&length, sizeof(int));
+		  int position=1+2*sizeof(int);
+		  double x,y;
+		  for(QList<QgsPoint>::iterator it=mCaptureList.begin();it!=mCaptureList.end();++it)
+		    {
+		      QgsPoint savePoint = *it;
+		      x = savePoint.x();
+		      y = savePoint.y();
+		      
+		      memcpy(&wkb[position],&x,sizeof(double));
+		      position+=sizeof(double);
+		      
+		      memcpy(&wkb[position],&y,sizeof(double));
+		      position+=sizeof(double);
+		    }
+		}
+	      else if(layerWKBType == QGis::WKBMultiLineString)
+		{
+		  size = 1+2*sizeof(int)+1+2*sizeof(int)+2*mCaptureList.size()*sizeof(double);
+		  wkb= new unsigned char[size];
+		  int position = 0;
+		  int wkbtype=QGis::WKBMultiLineString;
+		  memcpy(&wkb[position], &end, 1);
+		  position += 1;
+		  memcpy(&wkb[position], &wkbtype, sizeof(int));
+		  position += sizeof(int);
+		  int nlines = 1;
+		  memcpy(&wkb[position], &nlines, sizeof(int));
+		  position += sizeof(int);
+		  memcpy(&wkb[position], &end, 1);
+		  position += 1;
+		  int linewkbtype = QGis::WKBLineString;
+		  memcpy(&wkb[position], &linewkbtype, sizeof(int));
+		  position += sizeof(int);
+		  int length=mCaptureList.size();
+		  memcpy(&wkb[position], &length, sizeof(int));
+		  position += sizeof(int);
+		  double x,y;
+		  for(QList<QgsPoint>::iterator it=mCaptureList.begin();it!=mCaptureList.end();++it)
+		    {
+		      QgsPoint savePoint = *it;
+		      x = savePoint.x();
+		      y = savePoint.y();
+		      
+		      memcpy(&wkb[position],&x,sizeof(double));
+		      position+=sizeof(double);
+		      
+		      memcpy(&wkb[position],&y,sizeof(double));
+		      position+=sizeof(double);
+		    }
+		} 
+	      else
+		{
+		  QMessageBox::critical(0, QObject::tr("Error"), QObject::tr("Cannot add feature. Unknown WKB type"));
+		  return; //unknown wkbtype
+		}
+	    }
+	  else // polygon
+	    {
+	      if(layerWKBType == QGis::WKBPolygon)
+		{
+		  size=1+3*sizeof(int)+2*(mCaptureList.size()+1)*sizeof(double);
+		  wkb= new unsigned char[size];
+		  int wkbtype=QGis::WKBPolygon;
+		  int length=mCaptureList.size()+1;//+1 because the first point is needed twice
+		  int numrings=1;
+		  memcpy(&wkb[0],&end,1);
+		  memcpy(&wkb[1],&wkbtype, sizeof(int));
+		  memcpy(&wkb[1+sizeof(int)],&numrings,sizeof(int));
+		  memcpy(&wkb[1+2*sizeof(int)],&length, sizeof(int));
+		  int position=1+3*sizeof(int);
+		  double x,y;
+		  QList<QgsPoint>::iterator it;
+		  for(it=mCaptureList.begin();it!=mCaptureList.end();++it)
+		    {
+		      QgsPoint savePoint = *it;
+		      x = savePoint.x();
+		      y = savePoint.y();
+		      
+		      memcpy(&wkb[position],&x,sizeof(double));
+		      position+=sizeof(double);
+		      
+		      memcpy(&wkb[position],&y,sizeof(double));
+		      position+=sizeof(double);
+		    }
+		  // close the polygon
+		  it=mCaptureList.begin();
+		  QgsPoint savePoint = *it;
+		  x = savePoint.x();
+		  y = savePoint.y();
+		  
+		  memcpy(&wkb[position],&x,sizeof(double));
+		  position+=sizeof(double);
+		  
+		  memcpy(&wkb[position],&y,sizeof(double));
+		}
+	      else if(layerWKBType == QGis::WKBMultiPolygon)
+		{
+		  size = 2+5*sizeof(int)+2*(mCaptureList.size()+1)*sizeof(double);
+		  wkb = new unsigned char[size];
+		  int wkbtype = QGis::WKBMultiPolygon;
+		  int polygontype = QGis::WKBPolygon;
+		  int length = mCaptureList.size()+1;//+1 because the first point is needed twice
+		  int numrings = 1;
+		  int numpolygons = 1;
+		  int position = 0; //pointer position relative to &wkb[0]
+		  memcpy(&wkb[position],&end,1);
+		  position += 1;
+		  memcpy(&wkb[position],&wkbtype, sizeof(int));
+		  position += sizeof(int);
+		  memcpy(&wkb[position], &numpolygons, sizeof(int));
+		  position += sizeof(int);
+		  memcpy(&wkb[position], &end, 1);
+		  position += 1;
+		  memcpy(&wkb[position], &polygontype, sizeof(int));
+		  position += sizeof(int);
+		  memcpy(&wkb[position], &numrings, sizeof(int));
+		  position += sizeof(int);
+		  memcpy(&wkb[position], &length, sizeof(int));
+		  position += sizeof(int);
+		  double x,y;
+		  QList<QgsPoint>::iterator it;
+		  for(it=mCaptureList.begin();it!=mCaptureList.end();++it)//add the captured points to the polygon
+		    {
+		      QgsPoint savePoint = *it;
+		      x = savePoint.x();
+		      y = savePoint.y();
+		      
+		      memcpy(&wkb[position],&x,sizeof(double));
+		      position+=sizeof(double);
+		      
+		      memcpy(&wkb[position],&y,sizeof(double));
+		      position+=sizeof(double);
+		    }
+		  // close the polygon
+		  it=mCaptureList.begin();
+		  QgsPoint savePoint = *it;
+		  x = savePoint.x();
+		  y = savePoint.y();
+		  memcpy(&wkb[position],&x,sizeof(double));
+		  position+=sizeof(double);
+		  memcpy(&wkb[position],&y,sizeof(double));
+		}
+	      else
+		{
+		  QMessageBox::critical(0, QObject::tr("Error"), QObject::tr("Cannot add feature. Unknown WKB type"));
+		  return; //unknown wkbtype
+		}
+	    }
+	  f->setGeometryAndOwnership(&wkb[0],size);
+	  
+	  // add the fields to the QgsFeature
+	  const QgsFieldMap fields = provider->fields();
+	  for(QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
+	    {
+	      f->addAttribute(it.key(), provider->getDefaultValue(it.key()));
+	    }
+	  
+	  if (QgsAttributeDialog::queryAttributes(fields, *f))
+	    {
+	      vlayer->addFeature(*f);
+	    }
+	  delete f;
+	  
+	  // delete the elements of mCaptureList
+	  mCaptureList.clear();
+	  mCanvas->refresh();
+	}     
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdfeature.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+/***************************************************************************
+    qgsmaptooladdfeature.h  -  map tool for adding point/line/polygon features
+    ---------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptoolcapture.h"
+
+/**This tool adds new point/line/polygon features to already existing vector layers*/
+class QgsMapToolAddFeature: public QgsMapToolCapture
+{
+ public:
+  QgsMapToolAddFeature(QgsMapCanvas* canvas, enum CaptureTool tool);
+  virtual ~QgsMapToolAddFeature();
+  void canvasReleaseEvent(QMouseEvent * e);
+};

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,116 @@
+/***************************************************************************
+    qgsmaptooladdisland.cpp  - map tool to add new polygons to multipolygon features
+    -----------------------
+    begin                : Mai 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptooladdisland.h"
+#include "qgsmapcanvas.h"
+#include "qgsrubberband.h"
+#include "qgsvectorlayer.h"
+#include <QMessageBox>
+
+QgsMapToolAddIsland::QgsMapToolAddIsland(QgsMapCanvas* canvas): QgsMapToolCapture(canvas, QgsMapToolCapture::CapturePolygon)
+{
+
+}
+
+QgsMapToolAddIsland::~QgsMapToolAddIsland()
+{
+  
+}
+
+void QgsMapToolAddIsland::canvasReleaseEvent(QMouseEvent * e)
+{
+  //check if we operate on a vector layer
+  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  if (!vlayer)
+    {
+      QMessageBox::information(0, QObject::tr("Not a vector layer"), \
+			       QObject::tr("The current layer is not a vector layer"));
+      return;
+    }
+
+  if (!vlayer->isEditable())
+    {
+      QMessageBox::information(0, QObject::tr("Layer not editable"),
+			       QObject::tr("Cannot edit the vector layer. To make it editable, go to the file item "
+					   "of the layer, right click and check 'Allow Editing'."));
+      return;
+    }
+
+  //add point to list and to rubber band
+  int error = addVertex(e->pos());
+  if(error == 1)
+    {
+      //current layer is not a vector layer
+      return;
+    }
+  else if (error == 2)
+    {
+      //problem with coordinate transformation
+      QMessageBox::information(0, QObject::tr("Coordinate transform error"), \
+			       QObject::tr("Cannot transform the point to the layers coordinate system"));
+      return;
+    }
+  
+  if (e->button() == Qt::LeftButton)
+    {
+      mCapturing = TRUE;
+    }
+  else if (e->button() == Qt::RightButton)
+    {
+      mCapturing = FALSE;
+      delete mRubberBand;
+      mRubberBand = 0;
+
+      //close polygon
+      mCaptureList.push_back(*mCaptureList.begin());
+
+      int errorCode = vlayer->addIsland(mCaptureList);
+      QString errorMessage;
+
+      if(errorCode != 0)
+	{
+	  if(errorCode == 1)
+	    {
+	      errorMessage = "Selected feature is not a multipolygon";
+	    }
+	  else if(errorCode == 2)
+	    {
+	      errorMessage = "New ring is not a valid geometry";
+	    }
+	  else if(errorCode == 3)
+	    {
+	      errorMessage = "New polygon ring not disjoint with existing polygons";
+	    }
+	  else if(errorCode == 4)
+	    {
+	      errorMessage = "No feature selected. Please select a feature with the selection tool or in the attribute table";
+	    }
+	  else if(errorCode == 5)
+	    {
+	      errorMessage = "Several features are selected. Please select only one feature to which an island should be added.";
+	    }
+	  else if(errorCode == 6)
+	    {
+	      errorMessage = "Selected geometry could not be found";
+	    }
+	  QMessageBox::critical(0, QObject::tr("Error, could not add island"), errorMessage);
+	}
+
+      mCaptureList.clear();
+      mCanvas->refresh();
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdisland.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,25 @@
+/***************************************************************************
+    qgsmaptooladdisland.h  - map tool to add new polygons to multipolygon features
+    ---------------------
+    begin                : Mai 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptoolcapture.h"
+
+class QgsMapToolAddIsland: public QgsMapToolCapture
+{
+ public:
+  QgsMapToolAddIsland(QgsMapCanvas* canvas);
+  ~QgsMapToolAddIsland();
+  void canvasReleaseEvent(QMouseEvent * e);
+};

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,117 @@
+/***************************************************************************
+    qgsmaptooladdring.cpp  - map tool to cut rings in polygon and multipolygon features
+    ---------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptooladdring.h"
+#include "qgsgeometry.h"
+#include "qgsmapcanvas.h"
+#include "qgsproject.h"
+#include "qgsrubberband.h"
+#include "qgsvectorlayer.h"
+#include <QMessageBox>
+
+QgsMapToolAddRing::QgsMapToolAddRing(QgsMapCanvas* canvas): QgsMapToolCapture(canvas, QgsMapToolCapture::CapturePolygon)
+{
+
+}
+
+QgsMapToolAddRing::~QgsMapToolAddRing()
+{
+
+}
+
+void QgsMapToolAddRing::canvasReleaseEvent(QMouseEvent * e)
+{
+  //check if we operate on a vector layer
+  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  if (!vlayer)
+    {
+      QMessageBox::information(0, QObject::tr("Not a vector layer"), \
+			       QObject::tr("The current layer is not a vector layer"));
+      return;
+    }
+
+  if (!vlayer->isEditable())
+    {
+      QMessageBox::information(0, QObject::tr("Layer not editable"),
+			       QObject::tr("Cannot edit the vector layer. To make it editable, go to the file item "
+					   "of the layer, right click and check 'Allow Editing'."));
+      return;
+    }
+  
+  //add point to list and to rubber band
+  int error = addVertex(e->pos());
+  if(error == 1)
+    {
+      //current layer is not a vector layer
+      return;
+    }
+  else if (error == 2)
+    {
+      //problem with coordinate transformation
+      QMessageBox::information(0, QObject::tr("Coordinate transform error"), \
+			       QObject::tr("Cannot transform the point to the layers coordinate system"));
+      return;
+    }
+  
+  if (e->button() == Qt::LeftButton)
+    {
+      mCapturing = TRUE;
+    }
+  else if (e->button() == Qt::RightButton)
+    {
+      mCapturing = FALSE;	  
+      delete mRubberBand;
+      mRubberBand = 0;
+
+      //close polygon
+      mCaptureList.push_back(*mCaptureList.begin());
+
+      int addRingReturnCode = vlayer->addRing(mCaptureList);
+      if(addRingReturnCode != 0)
+	{
+	  QString errorMessage;
+	  //todo: open message box to communicate errors
+	  if(addRingReturnCode == 1)
+	    {
+	      errorMessage = QObject::tr("A problem with geometry type occured");
+	    }
+	  else if(addRingReturnCode == 2)
+	    {
+	      errorMessage = QObject::tr("The inserted Ring is not closed");
+	    }
+	  else if(addRingReturnCode == 3)
+	    {
+	      errorMessage = QObject::tr("The inserted Ring is not a valid geometry"); 
+	    }
+	  else if(addRingReturnCode == 4)
+	    {
+	      errorMessage = QObject::tr("The inserted Ring crosses existing rings");
+	    }
+	  else if(addRingReturnCode == 5)
+	    {
+	      errorMessage = QObject::tr("The inserted Ring is not contained in a feature");
+	    }
+	  else
+	    {
+	      errorMessage = QObject::tr("An unknown error occured");
+	    }
+	  QMessageBox::critical(0, QObject::tr("Error, could not add ring"), errorMessage);
+	}
+      mCaptureList.clear();
+      mCanvas->refresh();
+    }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptooladdring.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+/***************************************************************************
+    qgsmaptooladdring.h  - map tool to cut rings in polygon and multipolygon features
+    ---------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Marco Hugentobler
+    email                : marco dot hugentobler at karto dot baug dot ethz dot ch
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptoolcapture.h"
+
+/**A tool to cut holes into polygons and multipolygon features*/
+class QgsMapToolAddRing: public QgsMapToolCapture
+{
+ public:
+  QgsMapToolAddRing(QgsMapCanvas* canvas);
+  ~QgsMapToolAddRing();
+  void canvasReleaseEvent(QMouseEvent * e);
+};

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,128 @@
+/***************************************************************************
+    qgsmaptoolcapture.cpp  -  map tool for capturing points, lines, polygons
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsapplication.h"
+#include "qgsattributedialog.h"
+#include "qgscoordinatetransform.h"
+#include "qgsfield.h"
+#include "qgsmaptoolcapture.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
+#include "qgsmaptopixel.h"
+#include "qgsfeature.h"
+#include "qgsproject.h"
+#include "qgsrubberband.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+#include "qgscursors.h"
+#include <QCursor>
+#include <QPixmap>
+#include <QMessageBox>
+
+
+QgsMapToolCapture::QgsMapToolCapture(QgsMapCanvas* canvas, enum CaptureTool tool)
+  : QgsMapTool(canvas), mTool(tool), mRubberBand(0)
+{
+  mCapturing = FALSE;
+  
+  QPixmap mySelectQPixmap = QPixmap((const char **) capture_point_cursor);
+  mCursor = QCursor(mySelectQPixmap, 8, 8);
+}
+
+QgsMapToolCapture::~QgsMapToolCapture()
+{
+  delete mRubberBand;
+  mRubberBand = 0;
+}
+
+void QgsMapToolCapture::canvasMoveEvent(QMouseEvent * e)
+{
+
+  if (mCapturing)
+  {
+    // show the rubber-band from the last click
+    QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
+    double tolerance  = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
+    QgsPoint mapPoint;
+    QgsPoint layerPoint = toLayerCoords(vlayer, e->pos());
+    vlayer->snapPoint(layerPoint, tolerance); //show snapping during dragging
+    //now we need to know the map coordinates of the snapped point for the rubber band
+    mapPoint = toMapCoords(vlayer, layerPoint);
+    mRubberBand->movePoint(mapPoint); //does only work if coordinate reprojection is not enabled
+  }
+
+} // mouseMoveEvent
+
+
+void QgsMapToolCapture::canvasPressEvent(QMouseEvent * e)
+{
+  // nothing to be done
+}
+
+
+void QgsMapToolCapture::renderComplete()
+{
+}
+
+void QgsMapToolCapture::deactivate()
+{
+  delete mRubberBand;
+  mRubberBand = 0;
+}
+
+int QgsMapToolCapture::addVertex(const QPoint& p)
+{
+  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  if (!vlayer)
+    {
+      return 1;
+    }
+
+  if (!mRubberBand)
+    {
+      mRubberBand = new QgsRubberBand(mCanvas, mTool == CapturePolygon);
+      QgsProject* project = QgsProject::instance();
+      QColor color(
+		   project->readNumEntry("Digitizing", "/LineColorRedPart", 255),
+		   project->readNumEntry("Digitizing", "/LineColorGreenPart", 0),
+		   project->readNumEntry("Digitizing", "/LineColorBluePart", 0));
+      mRubberBand->setColor(color);
+      mRubberBand->setWidth(project->readNumEntry("Digitizing", "/LineWidth", 1));
+      mRubberBand->show();
+    }
+      
+  QgsPoint mapPoint;
+  QgsPoint digitisedPoint;
+  try
+    {
+      digitisedPoint = toLayerCoords(vlayer, p); //todo: handle coordinate transform exception
+    }
+  catch(QgsCsException &cse)
+    {
+      return 2; //cannot reproject point to layer coordinate system
+    }
+
+  //snap point
+  double tolerance  = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
+  vlayer->snapPoint(digitisedPoint, tolerance);
+  mapPoint = toMapCoords(vlayer, digitisedPoint);
+  
+  mCaptureList.push_back(digitisedPoint);
+  mRubberBand->addPoint(mapPoint);
+
+  return 0;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolcapture.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,88 @@
+/***************************************************************************
+    qgsmaptoolcapture.h  -  map tool for capturing points, lines, polygons
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPTOOLCAPTURE_H
+#define QGSMAPTOOLCAPTURE_H
+
+#include "qgsmaptool.h"
+#include "qgspoint.h"
+
+
+class QgsRubberBand;
+
+#include <QPoint>
+#include <QList>
+
+class QgsMapToolCapture : public QgsMapTool
+{
+  public:
+  
+    enum CaptureTool
+    {
+      CapturePoint,
+      CaptureLine,
+      CapturePolygon
+    };
+
+    //! constructor
+    QgsMapToolCapture(QgsMapCanvas* canvas, enum CaptureTool tool);
+
+    //! destructor
+    virtual ~QgsMapToolCapture();
+
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e)=0;    
+    
+    //! Resize rubber band
+    virtual void renderComplete();
+    
+
+    virtual void deactivate();
+
+    /*
+    // FIXME: is this still actual or something old that's not used anymore?
+  signals:
+    //! emits mouse position when the canvas is clicked
+    void xyClickCoordinates(QgsPoint &p);
+    */
+  
+  protected:
+    
+    /** which capturing tool is being used */
+    enum CaptureTool mTool;
+    
+    /** Flag to indicate a map canvas capture operation is taking place */
+    bool mCapturing;
+    
+    /** rubber band for polylines and polygons */
+    QgsRubberBand* mRubberBand;
+
+    /** List to store the points of digitised lines and polygons */
+    QList<QgsPoint> mCaptureList;
+
+    /**Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)
+     @return 0 in case of success, 1 if current layer is not a vector layer, 2 if coordinate transformation failed*/
+    int addVertex(const QPoint& p);
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,522 @@
+/***************************************************************************
+    qgsmaptoolidentify.cpp  -  map tool for identifying features
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsattributedialog.h"
+#include "qgscursors.h"
+#include "qgsdistancearea.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgsgeometry.h"
+#include "qgslogger.h"
+#include "qgsidentifyresults.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaptopixel.h"
+#include "qgsmessageviewer.h"
+#include "qgsmaptoolidentify.h"
+#include "qgsrasterlayer.h"
+#include "qgsrubberband.h"
+#include "qgsspatialrefsys.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+#include <QSettings>
+#include <QMessageBox>
+#include <QCursor>
+#include <QPixmap>
+
+QgsMapToolIdentify::QgsMapToolIdentify(QgsMapCanvas* canvas)
+  : QgsMapTool(canvas),
+    mResults(0),
+    mRubberBand(0)
+{
+  // set cursor
+  QPixmap myIdentifyQPixmap = QPixmap((const char **) identify_cursor);
+  mCursor = QCursor(myIdentifyQPixmap, 1, 1);
+}
+    
+QgsMapToolIdentify::~QgsMapToolIdentify()
+{
+  if (mResults)
+  {
+    mResults->done(0);
+  }
+
+  delete mRubberBand;
+}
+
+void QgsMapToolIdentify::canvasMoveEvent(QMouseEvent * e)
+{
+}
+  
+void QgsMapToolIdentify::canvasPressEvent(QMouseEvent * e)
+{
+}
+
+void QgsMapToolIdentify::canvasReleaseEvent(QMouseEvent * e)
+{
+  QgsMapLayer* layer = mCanvas->currentLayer();
+  
+  // delete rubber band if there was any
+  delete mRubberBand;
+  mRubberBand = 0;
+
+  // call identify method for selected layer
+
+  if (layer)
+  {
+    // In the special case of the WMS provider,
+    // coordinates are sent back to the server as pixel coordinates
+    // not the layer's native CRS.  So identify on screen coordinates!
+    if (
+        (layer->type() == QgsMapLayer::RASTER)
+        &&
+        (dynamic_cast<QgsRasterLayer*>(layer)->providerKey() == "wms")
+       )
+    {
+      identifyRasterWmsLayer(dynamic_cast<QgsRasterLayer*>(layer), QgsPoint(e->x(), e->y()) );
+    }
+    else
+    {
+      // convert screen coordinates to map coordinates
+      QgsPoint idPoint = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
+
+      if (layer->type() == QgsMapLayer::VECTOR)
+      {
+        identifyVectorLayer(dynamic_cast<QgsVectorLayer*>(layer), idPoint);
+      }
+      else if (layer->type() == QgsMapLayer::RASTER)
+      {
+        identifyRasterLayer(dynamic_cast<QgsRasterLayer*>(layer), idPoint);
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "QgsMapToolIdentify::canvasReleaseEvent: unknown layer type!" << std::endl;
+#endif
+      }
+    }
+
+  }
+  else
+  {
+    QMessageBox::warning(mCanvas,
+      QObject::tr("No active layer"),
+      QObject::tr("To identify features, you must choose an layer active by clicking on its name in the legend"));
+  }
+
+  
+}
+
+
+void QgsMapToolIdentify::identifyRasterLayer(QgsRasterLayer* layer, const QgsPoint& point)
+{
+  if (!layer)
+    return;
+  
+  std::map<QString, QString> attributes;
+  layer->identify(point, attributes);
+  
+  if(!mResults)
+  {
+    QgsAttributeAction aa;
+    mResults = new QgsIdentifyResults(aa, mCanvas->window());
+    mResults->setAttribute(Qt::WA_DeleteOnClose);
+    // Be informed when the dialog box is closed so that we can stop using it. 
+    connect(mResults, SIGNAL(accepted()), this, SLOT(resultsDialogGone()));
+    connect(mResults, SIGNAL(rejected()), this, SLOT(resultsDialogGone()));
+    mResults->restorePosition();
+  }
+  else
+  {
+    mResults->clear();
+  }
+
+  mResults->setTitle( layer->name() );
+  mResults->setColumnText ( 0, QObject::tr("Band") );
+
+  std::map<QString, QString>::iterator it;
+  for (it = attributes.begin(); it != attributes.end(); it++)
+  {
+    mResults->addAttribute(it->first, it->second);
+  }
+
+  mResults->showAllAttributes();
+  mResults->show();
+}
+
+
+void QgsMapToolIdentify::identifyRasterWmsLayer(QgsRasterLayer* layer, const QgsPoint& point)
+{
+  if (!layer)
+  {
+    return;
+  }
+
+  //if WMS layer does not cover the view origin,
+  //we need to map the view pixel coordinates
+  //to WMS layer pixel coordinates
+  QgsRect viewExtent = mCanvas->extent();
+  double mupp = mCanvas->mupp();
+  if(mupp == 0)
+    {
+      return;
+    }
+  double xMinView = viewExtent.xMin();
+  double yMaxView = viewExtent.yMax();
+
+  QgsRect layerExtent = layer->extent();
+  double xMinLayer = layerExtent.xMin();
+  double yMaxLayer = layerExtent.yMax();
+
+  double i, j;
+
+  if(xMinView < xMinLayer)
+    {
+      i = (int)(point.x() - (xMinLayer - xMinView) / mupp); 
+    }
+  else
+    {
+      i = point.x();
+    }
+
+  if(yMaxView > yMaxLayer)
+    {
+      j = (int)(point.y() - (yMaxView - yMaxLayer) / mupp);
+    }
+  else
+    {
+      j = point.y();
+    }
+  
+
+  QString text = layer->identifyAsText(QgsPoint(i, j));
+  
+  if (text.isEmpty())
+  {
+    showError(layer);
+    return;
+  }
+
+  QgsMessageViewer* viewer = new QgsMessageViewer();
+  viewer->setCaption( layer->name() );
+  viewer->setMessageAsPlainText( text );
+
+  viewer->showMessage(); // deletes itself on close
+}
+
+void QgsMapToolIdentify::identifyVectorLayer(QgsVectorLayer* layer, const QgsPoint& point)
+{
+  if (!layer)
+    return;
+  
+  // load identify radius from settings
+  QSettings settings;
+  double identifyValue = settings.value("/Map/identifyRadius", QGis::DEFAULT_IDENTIFY_RADIUS).toDouble();
+  QString ellipsoid = settings.readEntry("/qgis/measure/ellipsoid", "WGS84");
+
+  // create the search rectangle
+  double searchRadius = mCanvas->extent().width() * (identifyValue/100.0);
+    
+  QgsRect r;
+  r.setXmin(point.x() - searchRadius);
+  r.setXmax(point.x() + searchRadius);
+  r.setYmin(point.y() - searchRadius);
+  r.setYmax(point.y() + searchRadius);
+  
+  r = toLayerCoords(layer, r);
+
+  int featureCount = 0;
+  QgsFeature feat;
+  QgsAttributeAction& actions = *layer->actions();
+  QString fieldIndex = layer->displayField();
+  QgsVectorDataProvider* dataProvider = layer->getDataProvider();
+  QgsAttributeList allAttributes = dataProvider->allAttributesList();
+  const QgsFieldMap& fields = dataProvider->fields();
+  
+  dataProvider->select(allAttributes, r, true, true);
+
+  // init distance/area calculator
+  QgsDistanceArea calc;
+  calc.setProjectionsEnabled(mCanvas->projectionsEnabled()); // project?
+  calc.setEllipsoid(ellipsoid);
+  calc.setSourceSRS(layer->srs().srsid());
+  
+  if ( !layer->isEditable() )
+  {
+    // display features falling within the search radius
+    if(!mResults)
+    {
+      mResults = new QgsIdentifyResults(actions, mCanvas->window());
+      mResults->setAttribute(Qt::WA_DeleteOnClose);
+      // Be informed when the dialog box is closed so that we can stop using it.
+      connect(mResults, SIGNAL(accepted()), this, SLOT(resultsDialogGone()));
+      connect(mResults, SIGNAL(rejected()), this, SLOT(resultsDialogGone()));
+      connect(mResults, SIGNAL(selectedFeatureChanged(int)), this, SLOT(highlightFeature(int)));
+      // restore the identify window position and show it
+      mResults->restorePosition();
+    }
+    else
+    {
+      mResults->raise();
+      mResults->clear();
+      mResults->setActions(actions);
+    }
+
+    QApplication::setOverrideCursor(Qt::WaitCursor);
+    
+    int lastFeatureId = 0;
+
+    while (dataProvider->getNextFeature(feat))
+    {
+      featureCount++;
+
+      QTreeWidgetItem* featureNode = mResults->addNode("foo");
+      featureNode->setData(0, Qt::UserRole, QVariant(feat.featureId())); // save feature id
+      lastFeatureId = feat.featureId();
+      featureNode->setText(0, fieldIndex);
+      const QgsAttributeMap& attr = feat.attributeMap();
+      
+      for (QgsAttributeMap::const_iterator it = attr.begin(); it != attr.end(); ++it)
+      {
+        //QgsDebugMsg(it->fieldName() + " == " + fieldIndex);
+        
+        if (fields[it.key()].name() == fieldIndex)
+        {
+          featureNode->setText(1, it->toString());
+        }
+        mResults->addAttribute(featureNode, fields[it.key()].name(), it->toString());
+      }
+
+      // Calculate derived attributes and insert:
+      // measure distance or area depending on geometry type
+      if (layer->vectorType() == QGis::Line)
+      {
+        double dist = calc.measure(feat.geometry());
+        QString str = calc.textUnit(dist, 3, mCanvas->mapUnits(), false);
+        mResults->addDerivedAttribute(featureNode, QObject::tr("Length"), str);
+      }
+      else if (layer->vectorType() == QGis::Polygon)
+      {
+        double area = calc.measure(feat.geometry());
+        QString str = calc.textUnit(area, 3, mCanvas->mapUnits(), true);
+        mResults->addDerivedAttribute(featureNode, QObject::tr("Area"), str);
+      }
+
+      // Add actions 
+      QgsAttributeAction::aIter iter = actions.begin();
+      for (register int i = 0; iter != actions.end(); ++iter, ++i)
+      {
+        mResults->addAction( featureNode, i, QObject::tr("action"), iter->name() );
+      }
+
+    }
+
+    QgsDebugMsg("Feature count on identify: " + QString::number(featureCount));
+
+    //also test the not commited features //todo: eliminate copy past code
+
+    mResults->setTitle(layer->name() + " - " + QString::number(featureCount) + QObject::tr(" features found"));
+    if (featureCount == 1) 
+    {
+      mResults->showAllAttributes();
+      mResults->setTitle(layer->name() + " - " + QObject::tr(" 1 feature found") );
+      highlightFeature(lastFeatureId);
+    }
+    else if (featureCount == 0)
+    {
+      mResults->setTitle(layer->name() + " - " + QObject::tr("No features found") );
+      mResults->setMessage ( QObject::tr("No features found"), QObject::tr("No features were found in the active layer at the point you clicked") );
+    }
+    else
+    {
+      QString title = layer->name();
+      title += QString( tr("- %1 features found","Identify results window title",featureCount) ).arg(featureCount);
+      mResults->setTitle(title);    
+    }
+    QApplication::restoreOverrideCursor();
+
+    mResults->show();
+  } 
+  else // ( layer->isEditable() )
+  {
+    // Edit attributes 
+    // TODO: what to do if more features were selected? - nearest?
+    QgsChangedAttributesMap& changedAttributes = layer->changedAttributes();
+    
+    QApplication::setOverrideCursor(Qt::WaitCursor);
+
+    if (dataProvider->getNextFeature(feat))
+    {
+      // these are the values to populate the dialog with
+      // start off with list of committed attribute values
+      QgsAttributeMap old = feat.attributeMap();
+
+      // Test if this feature already changed since the last commit
+
+      QgsChangedAttributesMap::iterator it = changedAttributes.find(feat.featureId());
+      if ( it != changedAttributes.end() )
+      {
+        // Yes, this feature already has in-memory attribute changes
+
+        // go through and apply the modified-but-not-committed values
+        QgsAttributeMap oldattr = *it;
+        int index=0;
+        for (QgsAttributeMap::const_iterator oldit = old.begin(); oldit != old.end(); ++oldit)
+        {
+          QgsAttributeMap::iterator ait = oldattr.find( oldit.key() );
+          if ( ait != oldattr.end() )
+          {
+            // replace the committed value with the
+            // modified-but-not-committed value
+            old[index] = *ait;
+          }
+
+          ++index;
+        }
+      }
+
+      QApplication::restoreOverrideCursor();
+
+      // Show the attribute value editing dialog
+      QgsAttributeDialog ad( dataProvider->fields(), old );
+
+      if (ad.exec() == QDialog::Accepted)
+      {
+
+        int i = 0;
+        for (QgsAttributeMap::const_iterator oldit = old.begin(); oldit != old.end(); ++oldit, ++i)
+        {
+          // only apply changed values if they were edited by the user
+          if (ad.isDirty(i))
+          {
+            QgsDebugMsg("found a changed attribute: " + QString::number(i) + " = " + ad.value(i));
+
+            QgsAttributeMap& chattr = changedAttributes[ feat.featureId() ];
+            chattr[i] = ad.value(i);
+
+            // propagate "dirtyness" to the layer
+            layer->setModified();
+          }
+        }
+
+      }
+    }
+    else
+    {
+      QApplication::restoreOverrideCursor();
+      QMessageBox::information(0, tr("No features found"), 
+			       tr("<p>No features were found within the search radius. "
+				  "Note that it is currently not possible to use the "
+				  "identify tool on unsaved features.</p>"));
+    }
+  }
+}
+
+
+void QgsMapToolIdentify::showError(QgsMapLayer * mapLayer)
+{
+//   QMessageBox::warning(
+//     this,
+//     mapLayer->errorCaptionString(),
+//     tr("Could not draw") + " " + mapLayer->name() + " " + tr("because") + ":\n" +
+//       mapLayer->errorString()
+//   );
+
+  QgsMessageViewer * mv = new QgsMessageViewer();
+  mv->setCaption( mapLayer->errorCaptionString() );
+  mv->setMessageAsPlainText(
+    QObject::tr("Could not identify objects on") + " " + mapLayer->name() + " " + QObject::tr("because") + ":\n" +
+    mapLayer->errorString()
+  );
+  mv->exec(); // deletes itself on close
+}
+
+void QgsMapToolIdentify::resultsDialogGone()
+{
+  mResults = 0;
+  
+  delete mRubberBand;
+  mRubberBand = 0;
+}
+
+void QgsMapToolIdentify::deactivate()
+{
+  if (mResults)
+    mResults->done(0); // close the window
+}
+
+void QgsMapToolIdentify::highlightFeature(int featureId)
+{
+  QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  if (!layer)
+    return;
+  
+  delete mRubberBand;
+  mRubberBand = 0;
+
+  QgsVectorDataProvider* provider = layer->getDataProvider();
+  QgsFeature feat;
+  if (!provider->getFeatureAtId(featureId, feat))
+    return;
+  
+  QgsGeometry* g = feat.geometry();
+  
+  // TODO: support multipart geometries
+  if (g->isMultipart())
+    return;
+  
+  switch (g->vectorType())
+  {
+    case QGis::Point:
+    {
+      mRubberBand = new QgsRubberBand(mCanvas, true);
+      QgsPoint pt = g->asPoint();
+      double d = mCanvas->extent().width() * 0.005;
+      mRubberBand->addPoint(QgsPoint(pt.x()-d,pt.y()-d));
+      mRubberBand->addPoint(QgsPoint(pt.x()+d,pt.y()-d));
+      mRubberBand->addPoint(QgsPoint(pt.x()+d,pt.y()+d));
+      mRubberBand->addPoint(QgsPoint(pt.x()-d,pt.y()+d));
+      break;
+    }
+    case QGis::Line:
+    {
+      mRubberBand = new QgsRubberBand(mCanvas);
+      QgsPolyline line = g->asPolyline();
+      for (int i = 0; i < line.count(); i++)
+        mRubberBand->addPoint(line[i]);
+      break;
+    } 
+    case QGis::Polygon:
+    {
+      mRubberBand = new QgsRubberBand(mCanvas,true);
+      QgsPolygon polygon = g->asPolygon();
+      QgsPolyline line = polygon[0];
+      for (int i = 0; i < line.count(); i++)
+        mRubberBand->addPoint(line[i]);
+      break;
+    }
+
+    default:
+      break;
+  }
+
+  if (mRubberBand)
+  {
+    mRubberBand->setWidth(2);
+    mRubberBand->setColor(Qt::red);
+    mRubberBand->show();
+  }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolidentify.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,107 @@
+/***************************************************************************
+    qgsmaptoolidentify.h  -  map tool for identifying features
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPTOOLIDENTIFY_H
+#define QGSMAPTOOLIDENTIFY_H
+
+#include "qgsmaptool.h"
+#include "qgspoint.h"
+
+#include <QObject>
+
+class QgsIdentifyResults;
+class QgsMapLayer;
+class QgsRasterLayer;
+class QgsRubberBand;
+class QgsVectorLayer;
+
+/**
+  \brief Map tool for identifying features in current layer
+
+  after selecting a point shows dialog with identification results
+  - for raster layers shows value of underlying pixel
+  - for vector layers shows feature attributes within search radius
+    (allows to edit values when vector layer is in editing mode)
+*/
+class QgsMapToolIdentify : public QgsMapTool
+{
+  Q_OBJECT;
+
+  public:
+    QgsMapToolIdentify(QgsMapCanvas* canvas);
+
+    ~QgsMapToolIdentify();
+
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+
+    //! called when map tool is being deactivated
+    virtual void deactivate();
+
+  public slots:
+    //! creates rubberband on top of the feature to highlight it
+    void highlightFeature(int featureId);
+  
+  private:
+
+    /**
+     * \brief function for identifying pixel values at a coordinate in a non-OGC-WMS raster layer
+     *
+     * \param point[in]  The coordinate (as the CRS of the raster layer)
+     */
+    void identifyRasterLayer(QgsRasterLayer* layer, const QgsPoint& point);
+
+    /**
+     * \brief function for identifying a pixel in a OGC WMS raster layer
+     *
+     * \param point[in]  The pixel coordinate (as it was displayed locally on screen)
+     *
+     * \note WMS Servers prefer to receive coordinates in image space not CRS space, therefore
+     *       this special variant of identifyRasterLayer.
+     */
+    void identifyRasterWmsLayer(QgsRasterLayer* layer, const QgsPoint& point);
+
+    /**
+     * \brief function for identifying features at a coordinate in a vector layer
+     *
+     * \param point[in]  The coordinate (as the CRS of the vector layer)
+     */
+    void identifyVectorLayer(QgsVectorLayer* layer, const QgsPoint& point);
+
+    //! show whatever error is exposed by the QgsMapLayer.
+    void showError(QgsMapLayer * mapLayer);
+
+
+    //! Pointer to the identify results dialog for name/value pairs
+    QgsIdentifyResults *mResults;
+
+    //! Rubber band for highlighting identified feature
+    QgsRubberBand* mRubberBand;
+
+private slots:
+    // Let us know when the QgsIdentifyResults dialog box has been closed
+    void resultsDialogGone();
+
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,100 @@
+/***************************************************************************
+    qgsmaptoolselect.cpp  -  map tool for selecting features
+    ----------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptoolselect.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaptopixel.h"
+#include "qgsvectorlayer.h"
+#include "qgscursors.h"
+
+#include <QApplication>
+#include <QMessageBox>
+#include <QMouseEvent>
+#include <QRubberBand>
+#include <QRect>
+
+
+QgsMapToolSelect::QgsMapToolSelect(QgsMapCanvas* canvas)
+  : QgsMapTool(canvas), mDragging(false)
+{
+  QPixmap mySelectQPixmap = QPixmap((const char **) select_cursor);
+  mCursor = QCursor(mySelectQPixmap, 1, 1);
+}
+
+
+void QgsMapToolSelect::canvasPressEvent(QMouseEvent * e)
+{
+  mSelectRect.setRect(0, 0, 0, 0);
+}
+
+
+void QgsMapToolSelect::canvasMoveEvent(QMouseEvent * e)
+{
+  if ( e->buttons() != Qt::LeftButton )
+    return;
+  
+  if (!mDragging)
+  {
+    mDragging = TRUE;
+    mRubberBand = new QRubberBand(QRubberBand::Rectangle, mCanvas);
+    mSelectRect.setTopLeft(e->pos());
+  }
+  
+  mSelectRect.setBottomRight(e->pos());
+  mRubberBand->setGeometry(mSelectRect.normalized());
+  mRubberBand->show();
+}
+
+
+void QgsMapToolSelect::canvasReleaseEvent(QMouseEvent * e)
+{
+  if (!mDragging)
+    return;
+  
+  mDragging = FALSE;
+  
+  delete mRubberBand;
+  mRubberBand = 0;
+
+  if (!mCanvas->currentLayer() ||
+      dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer()) == NULL)
+  {
+    QMessageBox::warning(mCanvas, QObject::tr("No active layer"),
+       QObject::tr("To select features, you must choose a vector layer by clicking on its name in the legend"));
+    return;
+  }
+    
+  // store the rectangle
+  mSelectRect.setRight(e->pos().x());
+  mSelectRect.setBottom(e->pos().y());
+
+  QgsMapToPixel* transform = mCanvas->getCoordinateTransform();
+  QgsPoint ll = transform->toMapCoordinates(mSelectRect.left(), mSelectRect.bottom());
+  QgsPoint ur = transform->toMapCoordinates(mSelectRect.right(), mSelectRect.top());
+
+  QgsRect search(ll.x(), ll.y(), ur.x(), ur.y());
+
+  // if Ctrl key is pressed, selected features will be added to selection
+  // instead of removing old selection
+  bool lock = (e->modifiers() & Qt::ControlModifier);
+  
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  search = toLayerCoords(vlayer, search);
+  
+  QApplication::setOverrideCursor(Qt::WaitCursor);
+  vlayer->select(search, lock);
+  QApplication::restoreOverrideCursor();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,55 @@
+/***************************************************************************
+    qgsmaptoolselect.h  -  map tool for selecting features
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPTOOLSELECT_H
+#define QGSMAPTOOLSELECT_H
+
+#include "qgsmaptool.h"
+#include <QRect>
+
+
+class QRubberBand;
+class QgsMapCanvas;
+
+
+class QgsMapToolSelect : public QgsMapTool
+{
+  public:
+    QgsMapToolSelect(QgsMapCanvas* canvas);
+
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);    
+      
+    
+  protected:
+    
+    //! stores actual select rect
+    QRect mSelectRect;
+    
+    //! Flag to indicate a map canvas drag operation is taking place
+    bool mDragging;
+    
+    //! rubber band for select rect
+    QRubberBand* mRubberBand;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,498 @@
+/***************************************************************************
+    qgsmaptoolvertexedit.cpp  - tool for adding, moving, deleting vertices
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmaptoolvertexedit.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
+#include "qgsvertexmarker.h"
+#include "qgsrubberband.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+#include "qgsmaptopixel.h"
+#include "qgsproject.h"
+#include "qgscursors.h"
+#include <QMessageBox>
+#include <QPixmap>
+#include <QCursor>
+
+
+QgsMapToolVertexEdit::QgsMapToolVertexEdit(QgsMapCanvas* canvas, enum Tool tool)
+  : QgsMapTool(canvas), mTool(tool), mRubberBandIndex1(-1), mRubberBandIndex2(-1), mRubberBand(0)
+{
+  // TODO - select a real cursor
+  QPixmap mySelectQPixmap = QPixmap((const char **) capture_point_cursor);
+  mCursor = QCursor(mySelectQPixmap, 8, 8);
+}
+
+QgsMapToolVertexEdit::~QgsMapToolVertexEdit()
+{
+  delete mRubberBand;
+  mRubberBand = 0;
+}
+
+
+void QgsMapToolVertexEdit::canvasMoveEvent(QMouseEvent * e)
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  if(!vlayer)
+    {
+      return;
+    }
+
+  if (e->buttons() == Qt::LeftButton && (mTool == AddVertex || mTool == MoveVertex))
+  {
+    //int index = (mStartPointValid ? 1 : 0);
+    int index;
+
+    if(mTool == MoveVertex)
+    {
+      if(mRubberBandIndex1 == -1)
+      {
+        index = 0;
+      }
+      else
+      {
+        index = 1;
+      }
+    }
+    else
+    {
+      index = 1;
+    }
+
+    QgsPoint layerPoint = toLayerCoords(vlayer, e->pos());
+
+    //snap to nearest vertex of vectorlayer
+    if (mTool == AddVertex)
+    {
+      snapVertex(layerPoint, mSnappedAtFeatureId, mSnappedBeforeVertex.back());
+    }
+    else if (mTool == MoveVertex)
+    {
+      snapVertex(layerPoint, mSnappedAtFeatureId, mSnappedAtVertex.back());
+    }
+
+    //transform snapped point back into map coordinates for the rubberband
+    QgsPoint mapPoint = toMapCoords(vlayer, layerPoint);
+
+    if (mRubberBand)
+    {
+      mRubberBand->movePoint(index, mapPoint);
+    }
+    else
+    {
+#ifdef QGISDEBUG
+        std::cout << "QgsMapToolVertexEdit::canvasMoveEvent: mRubberBand is empty when it ought not to be!" << std::endl;
+#endif
+    }
+
+  }
+
+}
+
+
+void QgsMapToolVertexEdit::canvasPressEvent(QMouseEvent * e)
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  if(!vlayer)
+    {
+      return;
+    }
+
+  QgsPoint layerPoint = toLayerCoords(vlayer, e->pos());
+  
+  QgsGeometryVertexIndex index, rb1Index, rb2Index; //rb1Index/rb2Index is for rubberbanding
+  
+  if (mTool == AddVertex)
+  {
+    // Find the closest line segment to the mouse position
+    // Then set up the rubber band to its endpoints
+
+#ifdef QGISDEBUG
+        std::cout << "QgsMapCanvas::mousePressEvent: QGis::AddVertex." << std::endl;
+#endif
+	
+	//Find nearest segment of the selected line, move that node to the mouse location
+	if (!snapSegmentWithContext(layerPoint))
+	  {
+	    QMessageBox::warning(0, QObject::tr("Error"), 
+				QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"));
+	    return;
+	  }
+	
+	index = mSnappedBeforeVertex;
+	// Get the endpoint of the snapped-to segment
+	QgsPoint layerPnt2 = mSnappedAtGeometry.vertexAt(index);
+	
+	// Get the startpoint of the snapped-to segment
+	index.decrement_back();
+	QgsPoint layerPnt1 = mSnappedAtGeometry.vertexAt(index);
+	
+	createRubberBand();
+	
+	if (layerPnt1 != QgsPoint(0,0))
+	  {
+	    QgsPoint mapPnt1 = toMapCoords(vlayer, layerPnt1);
+	    mRubberBand->addPoint(mapPnt1);
+	  }
+	QgsPoint mapPoint = toMapCoords(vlayer, layerPoint);
+	mRubberBand->addPoint(mapPoint);
+	QgsPoint mapPnt2 = toMapCoords(vlayer, layerPnt2);
+	mRubberBand->addPoint(mapPnt2);
+  }
+  else if (mTool == MoveVertex)
+  {
+#ifdef QGISDEBUG
+    std::cout << "QgsMapCanvas::mousePressEvent: QGis::MoveVertex." << std::endl;
+#endif
+
+    // Find the closest line segment to the mouse position
+    // Then find the closest vertex on that line segment
+    // Then set up the rubber band to its adjoining vertexes
+
+    QgsPoint snapPoint;
+
+    snapPoint = layerPoint;
+    if(vlayer->vectorType() == QGis::Point)//snap to point for point/multipoint layers
+      {
+	if(!snapVertexWithContext(snapPoint))
+	  {
+	    QMessageBox::warning(0, QObject::tr("Error"), 
+				QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"));
+	    return;
+	  }
+      }
+    else //snap to segment and take the closest vertex in case of line/multiline/polygon/multipolygon layers
+      {
+	if (!snapSegmentWithContext(snapPoint))
+	  {
+	    QMessageBox::warning(0, QObject::tr("Error"), 
+				QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"));
+	    return;
+	  }
+	
+	if (!snapVertexOfSnappedSegment(snapPoint))
+	  {
+	    QMessageBox::warning(0, QObject::tr("Error"), 
+				QObject::tr("Could not snap vertex. Have you set the tolerance in Settings > Project Properties > General?"));
+	    return;
+	  }
+	
+#ifdef QGISDEBUG
+	qWarning("Creating rubber band for moveVertex");
+#endif
+	
+	index = mSnappedAtVertex;
+	createRubberBand();
+	if(mRubberBandIndex1 != -1)
+	  {
+	    rb1Index.push_back(mRubberBandIndex1);
+	    QgsPoint layerPnt1 = mSnappedAtGeometry.vertexAt(rb1Index);
+	    QgsPoint mapPnt1 = toMapCoords(vlayer, layerPnt1);
+	    mRubberBand->addPoint(mapPnt1);
+	    mStartPointValid = true;
+	  }
+	else
+	  {
+	    mStartPointValid = false;
+	  }
+	if(mRubberBandIndex1 != -1 && mRubberBandIndex2 != -1)
+	  {
+	    QgsPoint mapPoint = toMapCoords(vlayer, layerPoint);
+	    mRubberBand->addPoint(mapPoint);
+	  }
+	if(mRubberBandIndex2 != -1)
+	  {
+	    rb2Index.push_back(mRubberBandIndex2);
+	    QgsPoint layerPnt2 = mSnappedAtGeometry.vertexAt(rb2Index);
+	    QgsPoint mapPnt2 = toMapCoords(vlayer, layerPnt2);
+	    mRubberBand->addPoint(mapPnt2);
+	  }
+#ifdef QGISDEBUG
+    qWarning("Creating rubber band for moveVertex");
+#endif    
+      }
+  }
+  else if (mTool == DeleteVertex)
+  {
+#ifdef QGISDEBUG
+    std::cout << "QgsMapCanvas::mousePressEvent: QGis::DeleteVertex." << std::endl;
+#endif
+
+    // TODO: Find nearest node of the selected line, show a big X symbol
+  
+    // TODO: Find nearest segment of the selected line, move that node to the mouse location
+    if (!snapVertexWithContext(layerPoint))
+      {
+	QMessageBox::warning(0, QObject::tr("Error"), 
+			QObject::tr("Could not snap vertex. Have you set the tolerance in Settings > Project Properties > General?"));
+	return;
+      }
+      
+    // Get the point of the snapped-to vertex
+    QgsPoint layerPnt = mSnappedAtGeometry.vertexAt(mSnappedAtVertex);
+    QgsPoint mapPnt = toMapCoords(vlayer, layerPnt);
+    
+    mCross = new QgsVertexMarker(mCanvas);
+    mCross->setIconType(QgsVertexMarker::ICON_X);
+    mCross->setCenter(mapPnt);
+  }
+  
+}
+
+double QgsMapToolVertexEdit::tolerance()
+{
+  return QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
+}
+
+
+bool QgsMapToolVertexEdit::snapSegmentWithContext(QgsPoint& point)
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+          
+  QgsGeometryVertexIndex beforeVertex;
+  int atFeatureId;
+  QgsGeometry atGeometry;
+  
+  if (!vlayer)
+    {
+      return FALSE;
+    }
+  
+  if (!vlayer->snapSegmentWithContext(point, beforeVertex, atFeatureId, atGeometry, tolerance()))
+  {
+    mSnappedAtFeatureId = -1;
+    return FALSE;
+  }
+  else
+  {
+#ifdef QGISDEBUG
+      std::cout << "QgsMapToolVertexEdit::snapSegmentWithContext: Snapped to segment fid " << atFeatureId << "." << std::endl;
+#endif
+    
+    // Save where we snapped to
+    mSnappedBeforeVertex = beforeVertex;
+    mSnappedAtFeatureId  = atFeatureId;
+    mSnappedAtGeometry   = atGeometry;
+    return TRUE;
+  }
+
+}
+
+
+bool QgsMapToolVertexEdit::snapVertexWithContext(QgsPoint& point)
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  QgsGeometryVertexIndex atVertex;
+  int atFeatureId;
+  QgsGeometry atGeometry;
+  
+  if (!vlayer)
+    {
+      return FALSE;
+    }
+  
+  if (!vlayer->snapVertexWithContext(point, atVertex, mRubberBandIndex1, mRubberBandIndex2, atFeatureId, atGeometry, tolerance()))
+  {
+    mSnappedAtFeatureId = -1;
+    return FALSE;
+  }
+  else
+  {
+#ifdef QGISDEBUG
+      std::cout << "QgsMapToolVertexEdit: Snapped to segment fid " << atFeatureId << "." << std::endl;
+#endif
+    
+    // Save where we snapped to
+    mSnappedAtVertex     = atVertex;
+    mSnappedAtFeatureId  = atFeatureId;
+    mSnappedAtGeometry   = atGeometry;
+    return TRUE;
+  }
+}
+
+bool QgsMapToolVertexEdit::snapVertexOfSnappedSegment(QgsPoint& point)
+{
+  double twoBeforeVertexSqrDist;
+  double    beforeVertexSqrDist;
+
+  // Set up the "other side" of the snapped-to segment
+  QgsGeometryVertexIndex snappedTwoBeforeVertex(mSnappedBeforeVertex);
+  snappedTwoBeforeVertex.decrement_back();
+
+#ifdef QGISDEBUG
+  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Choice of "
+            << snappedTwoBeforeVertex.toString().toLocal8Bit().data() << " or " 
+            << mSnappedBeforeVertex.toString().toLocal8Bit().data() << "." << std::endl;
+#endif
+
+
+  twoBeforeVertexSqrDist = mSnappedAtGeometry.sqrDistToVertexAt(point, snappedTwoBeforeVertex);
+  beforeVertexSqrDist    = mSnappedAtGeometry.sqrDistToVertexAt(point, mSnappedBeforeVertex);
+
+#ifdef QGISDEBUG
+  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Choice of "
+            << twoBeforeVertexSqrDist << " or " 
+            << beforeVertexSqrDist << "." << std::endl;
+#endif
+
+
+  // See which of the two verticies is closer (i.e. smaller squared distance)
+  if (twoBeforeVertexSqrDist < beforeVertexSqrDist)
+  {
+    mSnappedAtVertex = snappedTwoBeforeVertex;
+  }
+  else
+  {
+    mSnappedAtVertex = mSnappedBeforeVertex;
+  }
+
+#ifdef QGISDEBUG
+  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Chose "
+            << mSnappedAtVertex.toString().toLocal8Bit().data() << "." << std::endl;
+#endif
+
+  // Now determine the rubber band verticies to use with this snapped vertex
+  mSnappedAtGeometry.adjacentVerticies(mSnappedAtVertex, mRubberBandIndex1, mRubberBandIndex2);
+
+  return TRUE;
+}
+
+void QgsMapToolVertexEdit::snapVertex(QgsPoint& point, int exclFeatureId, int exclVertexNr)
+{
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  if(vlayer)
+    {
+      QgsGeometryVertexIndex vIndex;
+      int snappedFeatureId;
+      int rbPoint1, rbPoint2;
+      QgsGeometry snappedGeometry;
+      QgsPoint cpyPoint = point;
+      vlayer->snapVertexWithContext(cpyPoint, vIndex, rbPoint1, rbPoint2, snappedFeatureId, snappedGeometry, tolerance());
+      if(snappedFeatureId != exclFeatureId || vIndex.back() != exclVertexNr)
+	{
+	  //success, assign snapped coordinates to point
+	  point = cpyPoint;
+	}
+    }
+}
+
+
+void QgsMapToolVertexEdit::canvasReleaseEvent(QMouseEvent * e)
+{
+  if (mSnappedAtFeatureId == -1)
+    {
+      return;
+    }
+  
+  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
+  
+  if (!vlayer)
+  {
+    QMessageBox::information(0, QObject::tr("Not a vector layer"),
+            QObject::tr("The current layer is not a vector layer"));
+    return;
+  }
+  
+  if (!(vlayer->getDataProvider()->capabilities() & QgsVectorDataProvider::ChangeGeometries))
+  {
+    QMessageBox::information(0, QObject::tr("Change geometry"),
+            QObject::tr("Data provider of the current layer doesn't allow changing geometries"));
+    return;
+  }
+  
+  if (!vlayer->isEditable())
+  {
+    QMessageBox::information(0, QObject::tr("Layer not editable"),
+            QObject::tr("Cannot edit the vector layer. Use 'Start editing' in the legend item menu"));
+    return;
+  }
+  
+  QgsPoint layerPoint = toLayerCoords(vlayer, e->pos());
+  
+  if (mTool == AddVertex)
+  {
+
+    //snap to nearest vertex of vectorlayer
+    snapVertex(layerPoint, mSnappedAtFeatureId, mSnappedBeforeVertex.back());
+
+#ifdef QGISDEBUG
+    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: AddVertex." << std::endl;
+#endif
+
+    deleteRubberBand();
+
+    // Add the new vertex
+    vlayer->insertVertexBefore(layerPoint.x(), layerPoint.y(), mSnappedAtFeatureId, mSnappedBeforeVertex);
+    mCanvas->refresh();
+  }
+  else if (mTool == MoveVertex)
+  {
+    //snap to nearest vertex of vectorlayer
+    snapVertex(layerPoint, mSnappedAtFeatureId, mSnappedAtVertex.back());
+#ifdef QGISDEBUG
+    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: MoveVertex." << std::endl;
+#endif
+
+    delete mRubberBand;
+    mRubberBand = 0;
+    vlayer->moveVertexAt(layerPoint.x(), layerPoint.y(), mSnappedAtFeatureId, mSnappedAtVertex);
+    mCanvas->refresh();
+  }
+  else if (mTool == DeleteVertex)
+  {
+#ifdef QGISDEBUG
+    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: DeleteVertex." << std::endl;
+#endif
+
+    delete mCross;
+    mCross = 0;
+
+    // delete vertex
+    vlayer->deleteVertexAt(mSnappedAtFeatureId, mSnappedAtVertex);
+    mCanvas->refresh();
+  }
+}
+
+void QgsMapToolVertexEdit::createRubberBand()
+{
+  mRubberBand = new QgsRubberBand(mCanvas, FALSE);
+  QgsProject* project = QgsProject::instance();
+  QColor color( project->readNumEntry("Digitizing", "/LineColorRedPart", 255),
+                project->readNumEntry("Digitizing", "/LineColorGreenPart", 0),
+                project->readNumEntry("Digitizing", "/LineColorBluePart", 0));
+  mRubberBand->setColor(color);
+  mRubberBand->setWidth(project->readNumEntry("Digitizing", "/LineWidth", 1));
+}
+
+void QgsMapToolVertexEdit::deleteRubberBand()
+{
+  if (mRubberBand)
+  {
+    delete mRubberBand;
+    mRubberBand = 0;
+
+    // also remove reference to the indicies to the ends of the rubber band
+    mRubberBandIndex1 = -1;
+    mRubberBandIndex2 = -1;
+  }
+}
+
+void QgsMapToolVertexEdit::deactivate()
+{
+  deleteRubberBand();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmaptoolvertexedit.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,120 @@
+/***************************************************************************
+    qgsmaptoolvertexedit.h  - tool for adding, moving, deleting vertices
+    ---------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPTOOLVERTEXEDIT_H
+#define QGSMAPTOOLVERTEXEDIT_H
+
+#include "qgsmaptool.h"
+#include "qgsgeometry.h"
+#include "qgsgeometryvertexindex.h"
+
+class QgsRubberBand;
+class QgsVertexMarker;
+
+class QgsMapToolVertexEdit : public QgsMapTool
+{
+  public:
+  
+    enum Tool
+    {
+      AddVertex,
+      MoveVertex,
+      DeleteVertex
+    };
+  
+    //! constructor
+    QgsMapToolVertexEdit(QgsMapCanvas* canvas, enum Tool tool);
+
+    virtual ~QgsMapToolVertexEdit();
+    
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+
+    //! called when map tool is being deactivated
+    virtual void deactivate();
+
+  private:
+    
+    //! create instance of rubber band - done when the mouse is pressed down
+    void createRubberBand();
+
+    //! delete instance of rubber band - done when the mouse is released
+    void deleteRubberBand();
+
+    //! returns tolerance in map coordinates
+    double tolerance();
+
+    //! current vertex edit tool
+    enum Tool mTool;
+    
+    /**Searches the closest point within the project tolerance and setx  mSnappedAtFeatureId and mSnappedAtVertex*/
+    bool snapVertexWithContext(QgsPoint& point);
+
+    /** Searches the closest vertex of "geometry" to the given "point" 
+
+        This is useful when selecting a vertex to move, as the selection process is a two step process:
+
+        1. Select the closest line segment to the mouse pointer
+             (snapSegmentWithContext()).
+        2. Select the closest vertex on (1)
+             (snpVertexOfSnappedSegment()).
+
+        Step 1 is needed to disambiguate between two geometries sharing the same vertex.
+     */
+    bool snapVertexOfSnappedSegment(QgsPoint& point);
+
+    /**Snaps a point (without setting mSnappedAtFeatureId and mSnappedAtVertex). Does not snap to the specified vertex,
+     because during dragging, a vertex should not be snapped to itself*/
+    void snapVertex(QgsPoint& point, int exclFeatureId, int exclVertexNr);
+
+
+    bool snapSegmentWithContext(QgsPoint& point);
+
+
+    //! The snapped-to segment before this vertex number (identifying the vertex that is being moved)
+    QgsGeometryVertexIndex mSnappedAtVertex;
+
+    /**The index of the first rubber band point (to connect to mSnappedatVertex). -1 if no such point exists*/
+    int mRubberBandIndex1;
+
+    /**The index of the second rubber band point (to connect to mSnappedatVertex). -1 if no such point exists*/
+    int mRubberBandIndex2;
+
+    //! The snapped-to segment before this vertex number (identifying the segment that a new vertex is being added to)
+    QgsGeometryVertexIndex mSnappedBeforeVertex;
+
+    //! The snapped-to feature ID
+    int mSnappedAtFeatureId;
+
+    //! The snapped-to geometry
+    QgsGeometry mSnappedAtGeometry;
+    
+    QgsRubberBand* mRubberBand;
+    
+    bool mStartPointValid;
+    bool mStopPointValid;
+    
+    QgsVertexMarker* mCross;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,111 @@
+/***************************************************************************
+                         qgsmarkerdialog.cpp  -  description
+                             -------------------
+    begin                : March 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmarkerdialog.cpp 6500 2007-02-03 03:05:03Z g_j_m $ */
+
+#include "qgsmarkerdialog.h"
+#include "qgsapplication.h"
+
+#include <QDir>
+#include <QFileDialog>
+#include <Q3IconView>
+#include <QPixmap>
+#include <QPainter>
+
+#include "qgsconfig.h"
+#include <qgsmarkercatalogue.h>
+
+QgsMarkerDialog::QgsMarkerDialog(QString startdir): 
+  //paramters removed by Tim during qt4 ui port - FIXME!!!
+  //QgsMarkerDialogBase(0,0,true,Qt::WStyle_StaysOnTop), mCurrentDir(startdir)
+  QgsMarkerDialogBase(), mCurrentDir(startdir)
+{
+  setupUi(this);
+    QObject::connect(mOkButton,SIGNAL(clicked()),this,SLOT(accept()));
+    QObject::connect(mCancelButton,SIGNAL(clicked()),this,SLOT(reject()));
+    QObject::connect(mBrowseDirectoriesButton,SIGNAL(clicked()),this,SLOT(changeDirectory()));
+    QObject::connect(mIconView,SIGNAL(currentChanged(Q3IconViewItem*)),this,SLOT(updateSelectedMarker()));
+    mDirectoryEdit->setText(startdir);
+    visualizeMarkers(startdir);
+}
+
+QgsMarkerDialog::~QgsMarkerDialog()
+{
+
+}
+
+void QgsMarkerDialog::updateSelectedMarker()
+{
+    Q3IconViewItem* current=mIconView->currentItem();
+    if(current)
+    {
+	mSelectedMarker=current->text();
+    }
+    else
+    {
+	mSelectedMarker="";
+    }
+}
+
+QString QgsMarkerDialog::selectedMarker()
+{
+    return mCurrentDir+"/"+mSelectedMarker;
+}
+
+void QgsMarkerDialog::changeDirectory()
+{
+    QString newdir = QFileDialog::getExistingDirectory(
+        this, "Choose a directory", mCurrentDir);
+    if (!newdir.isEmpty())
+    {
+	mCurrentDir=newdir;
+	visualizeMarkers(mCurrentDir);
+	mDirectoryEdit->setText(mCurrentDir);
+    }
+}
+
+void QgsMarkerDialog::visualizeMarkers(QString directory)
+{
+  mIconView->clear();
+
+  QDir dir(directory);
+  QStringList files=dir.entryList("*.svg;*.SVG");
+    
+  for(QStringList::Iterator it = files.begin(); it != files.end(); ++it )
+  {
+    qWarning((*it).toLocal8Bit().data());
+	
+    //render the SVG file to a pixmap and put it into mIconView
+    QPixmap pix (10,10);
+    QPainter myPainter(&pix);
+    QgsMarkerCatalogue::svgMarker(&myPainter,mCurrentDir + "/" + (*it), 1);
+    new Q3IconViewItem(mIconView,*it,pix);
+	
+  }
+}
+
+QString QgsMarkerDialog::defaultDir()
+{
+#ifdef WIN32
+	//TODO fix this to use appropriate path on windows 
+	//qgis install
+	QString dir = "Foo";
+#else
+    QString dir = QgsApplication::svgPath(); 
+#endif
+    return dir;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmarkerdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,53 @@
+/***************************************************************************
+                         qgsmarkerdialog.h  -  description
+                             -------------------
+    begin                : March 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmarkerdialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+
+#ifndef QGSMARKERDIALOG_H
+#define QGSMARKERDIALOG_H
+#include "ui_qgsmarkerdialogbase.h"
+
+/**A class for choosing marker images by clicking icons*/
+class QgsMarkerDialog: public QDialog, private Ui::QgsMarkerDialogBase
+{
+    Q_OBJECT
+ public:
+    /**Constructor. If no directory is specified, the home directory is used*/
+    QgsMarkerDialog(QString startdir=QgsMarkerDialog::defaultDir());
+    /**Destructor*/
+    virtual ~QgsMarkerDialog();
+    /**Returns the path of the selected SVG marker*/
+    QString selectedMarker();
+    /**Returns the path to the qgis default directory for svg symbols*/
+    static QString defaultDir();
+    
+    public slots:
+    /**Brings up the file dialog and triggers visualizeMarkers*/
+    void changeDirectory();
+    /**Queries mIconView for selected marker symbols*/
+    void updateSelectedMarker();
+
+ protected:
+	/**Current Directory*/
+	QString mCurrentDir;
+	/**File name of the selected marker*/
+	QString mSelectedMarker;
+	/**Renders the SVG pictures of directory to mIconView*/
+	void visualizeMarkers(QString directory);
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,242 @@
+/***************************************************************************
+                                 qgsmeasure.h
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Radim Blazek
+        email                : blazek at itc.it 
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmeasuredialog.cpp 6908 2007-04-23 14:57:08Z wonder $ */
+
+#include "qgsmeasuredialog.h"
+#include "qgsmeasuretool.h"
+
+#include "qgscontexthelp.h"
+#include "qgsdistancearea.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
+#include "qgsspatialrefsys.h"
+
+#include <QSettings>
+#include <QLocale>
+
+
+QgsMeasureDialog::QgsMeasureDialog(QgsMeasureTool* tool, Qt::WFlags f)
+  : QDialog(tool->canvas()->topLevelWidget(), f), mTool(tool)
+{
+    setupUi(this);
+#ifdef Q_WS_MAC
+    // Mac buttons are larger than X11 and require a larger minimum width to be drawn correctly
+    frame4->setMinimumSize(QSize(224, 0));
+#endif
+    connect(mRestartButton, SIGNAL(clicked()), this, SLOT(restart()));
+    connect(mCloseButton, SIGNAL(clicked()), this, SLOT(close()));
+
+    mMeasureArea = tool->measureArea();
+    mTotal = 0.;
+
+    mTable->setLeftMargin(0); // hide row labels
+
+    // Set one cell row where to update current distance
+    // If measuring area, the table doesn't get shown
+    mTable->setNumRows(1);
+    mTable->setText(0, 0, QString::number(0, 'f',1));
+
+    //mTable->horizontalHeader()->setLabel( 0, tr("Segments (in meters)") );
+    //mTable->horizontalHeader()->setLabel( 1, tr("Total") );
+    //mTable->horizontalHeader()->setLabel( 2, tr("Azimuth") );
+
+    mTable->setColumnStretchable ( 0, true );
+    //mTable->setColumnStretchable ( 1, true );
+    //mTable->setColumnStretchable ( 2, true );
+
+    updateUi();
+}
+
+
+void QgsMeasureDialog::restart()
+{
+    mTool->restart();  
+  
+    // Set one cell row where to update current distance
+    // If measuring area, the table doesn't get shown
+    mTable->setNumRows(1);
+    mTable->setText(0, 0, QString::number(0, 'f',1));
+    mTotal = 0.;
+    
+    updateUi();
+}
+
+
+void QgsMeasureDialog::mousePress(QgsPoint &point)
+{
+  if (mTool->points().size() == 0)
+  {
+    addPoint(point);
+    this->show();
+  }
+  raise();
+
+  mouseMove(point);
+}
+
+void QgsMeasureDialog::mouseMove(QgsPoint &point)
+{
+  // show current distance/area while moving the point
+  // by creating a temporary copy of point array
+  // and adding moving point at the end
+  QList<QgsPoint> tmpPoints = mTool->points();
+  tmpPoints.append(point);
+  if (mMeasureArea && tmpPoints.size() > 2)
+  {
+    double area = mTool->canvas()->mapRender()->distArea()->measurePolygon(tmpPoints);
+    editTotal->setText(formatArea(area));
+  }
+  else if (!mMeasureArea && tmpPoints.size() > 1)
+  {
+    int last = tmpPoints.size()-2;
+    QgsPoint p1 = tmpPoints[last], p2 = tmpPoints[last+1];
+
+    double d = mTool->canvas()->mapRender()->distArea()->measureLine(p1,p2);
+    //mTable->setText(last, 0, QString::number(d, 'f',1));
+    mTable->setText(last, 0, QLocale::system().toString(d, 'f', 2));
+    editTotal->setText(formatDistance(mTotal + d));
+  }
+}
+
+void QgsMeasureDialog::addPoint(QgsPoint &point)
+{
+    int numPoints = mTool->points().size();
+    if (mMeasureArea && numPoints > 2)
+    {
+      double area = mTool->canvas()->mapRender()->distArea()->measurePolygon(mTool->points());
+      editTotal->setText(formatArea(area));
+    }
+    else if (!mMeasureArea && numPoints > 1)
+    {
+      int last = numPoints-2;
+        
+      QgsPoint p1 = mTool->points()[last], p2 = mTool->points()[last+1];
+      
+      double d = mTool->canvas()->mapRender()->distArea()->measureLine(p1,p2);
+            
+      mTotal += d;
+      editTotal->setText(formatDistance(mTotal));
+	
+
+      int row = numPoints-2;
+      mTable->setText(row, 0, QLocale::system().toString(d, 'f', 2));
+      mTable->setNumRows ( numPoints );
+      
+      mTable->setText(row + 1, 0, QLocale::system().toString(0.0, 'f', 2));
+      mTable->ensureCellVisible(row + 1,0);
+    }
+}
+
+
+void QgsMeasureDialog::close(void)
+{
+    restart();
+    saveWindowLocation();
+    hide();
+}
+
+void QgsMeasureDialog::closeEvent(QCloseEvent *e)
+{
+    saveWindowLocation();
+    e->accept();
+}
+
+void QgsMeasureDialog::restorePosition()
+{
+  QSettings settings;
+  int ww = settings.readNumEntry("/Windows/Measure/w", 150);
+  int wh;
+  if (mMeasureArea)
+    wh = settings.readNumEntry("/Windows/Measure/hNoTable", 70);
+  else
+    wh = settings.readNumEntry("/Windows/Measure/h", 200);    
+  int wx = settings.readNumEntry("/Windows/Measure/x", 100);
+  int wy = settings.readNumEntry("/Windows/Measure/y", 100);
+//  setUpdatesEnabled(false);
+  adjustSize();
+  resize(ww,wh);
+  move(wx,wy);
+//  setUpdatesEnabled(true);
+  this->show();
+}
+
+void QgsMeasureDialog::saveWindowLocation()
+{
+  QSettings settings;
+  QPoint p = this->pos();
+  QSize s = this->size();
+  settings.writeEntry("/Windows/Measure/x", p.x());
+  settings.writeEntry("/Windows/Measure/y", p.y());
+  settings.writeEntry("/Windows/Measure/w", s.width());
+  if (mMeasureArea)
+    settings.writeEntry("/Windows/Measure/hNoTable", s.height());
+  else
+    settings.writeEntry("/Windows/Measure/h", s.height());
+} 
+
+void QgsMeasureDialog::on_btnHelp_clicked()
+{
+  QgsContextHelp::run(context_id);
+}
+
+
+QString QgsMeasureDialog::formatDistance(double distance)
+{
+  QString txt;
+  QString unitLabel;
+
+  QGis::units myMapUnits = mTool->canvas()->mapUnits();
+  return QgsDistanceArea::textUnit(distance, 2, myMapUnits, false);
+}
+
+QString QgsMeasureDialog::formatArea(double area)
+{
+  QGis::units myMapUnits = mTool->canvas()->mapUnits();
+  return QgsDistanceArea::textUnit(area, 2, myMapUnits, true);
+}
+
+void QgsMeasureDialog::updateUi()
+{
+  
+  QGis::units myMapUnits = mTool->canvas()->mapUnits();
+  switch (myMapUnits)
+  {
+    case QGis::METERS: 
+      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in meters)") );
+      break;
+    case QGis::FEET:
+      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in feet)") );
+      break;
+    case QGis::DEGREES:
+      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in degrees)") );
+      break;
+    case QGis::UNKNOWN:
+      mTable->horizontalHeader()->setLabel( 0, tr("Segments") );
+  };
+
+  if (mMeasureArea)
+  {
+    mTable->hide();
+    editTotal->setText(formatArea(0));
+  }
+  else
+  {
+    mTable->show();
+    editTotal->setText(formatDistance(0));
+  }
+  
+}
+

Added: packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmeasuredialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,87 @@
+/***************************************************************************
+                                qgsmeasure.h 
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Radim Blazek
+        email                : blazek at itc.it 
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef QGSMEASUREDIALOG_H
+#define QGSMEASUREDIALOG_H
+
+#include "ui_qgsmeasurebase.h"
+
+#include "qgspoint.h"
+
+class QCloseEvent;
+class QgsMeasureTool;
+
+class QgsMeasureDialog : public QDialog, private Ui::QgsMeasureBase
+{
+  Q_OBJECT;
+
+public:
+
+  //! Constructor
+  QgsMeasureDialog(QgsMeasureTool* tool, Qt::WFlags f = 0);
+
+  //! Save position
+  void saveWindowLocation(void);
+
+  //! Restore last window position/size and show the window
+  void restorePosition(void);
+
+  //! Add new point
+  void addPoint(QgsPoint &point);
+  
+  //! Mose move
+  void mouseMove(QgsPoint &point);
+  
+  //! Mouse press
+  void mousePress(QgsPoint &point);
+  
+public slots:
+  //! Close
+  void close ( void);
+
+  //! Reset and start new
+  void restart ();
+
+  //! Close event
+  void closeEvent(QCloseEvent *e);
+
+  //! Show the help for the dialog 
+  void on_btnHelp_clicked();
+  
+private:
+  
+  //! formats distance to most appropriate units
+  QString formatDistance(double distance);
+  
+  //! formats area to most appropriate units
+  QString formatArea(double area);
+  
+  //! shows/hides table, shows correct units
+  void updateUi();
+  
+  double mTotal;
+
+  //! Help context id
+  static const int context_id = 687883780;
+  
+  //! indicates whether we're measuring distances or areas
+  bool mMeasureArea;
+
+  //! pointer to measure tool which owns this dialog
+  QgsMeasureTool* mTool;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,200 @@
+/***************************************************************************
+    qgsmeasuretool.cpp  -  map tool for measuring distances and areas
+    ---------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsdistancearea.h"
+#include "qgslogger.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
+#include "qgsmaptopixel.h"
+#include "qgsrubberband.h"
+
+#include "qgsmeasuredialog.h"
+#include "qgsmeasuretool.h"
+
+#include <QMessageBox>
+#include <QSettings>
+
+QgsMeasureTool::QgsMeasureTool(QgsMapCanvas* canvas, bool measureArea)
+  : QgsMapTool(canvas)
+{
+  mMeasureArea = measureArea;
+  
+  mRubberBand = new QgsRubberBand(canvas, mMeasureArea);
+
+  mCanvas->setCursor(Qt::CrossCursor);
+
+  mRightMouseClicked = false;
+  
+  mDialog = new QgsMeasureDialog(this);
+}
+
+QgsMeasureTool::~QgsMeasureTool()
+{
+  delete mRubberBand;
+}
+
+
+const QList<QgsPoint>& QgsMeasureTool::points()
+{
+  return mPoints;
+}
+
+
+void QgsMeasureTool::activate()
+{
+  mDialog->restorePosition();
+  QgsMapTool::activate();
+  mRightMouseClicked = false;
+
+  // ensure that we have correct settings
+  updateProjection();
+  
+  // If we suspect that they have data that is projected, yet the
+  // map SRS is set to a geographic one, warn them.
+  if (mCanvas->mapRender()->distArea()->geographic() &&
+      (mCanvas->extent().height() > 360 || 
+       mCanvas->extent().width() > 720))
+  {
+    QMessageBox::warning(NULL, tr("Incorrect measure results"),
+        tr("<p>This map is defined with a geographic coordinate system "
+           "(latitude/longitude) "
+           "but the map extents suggest that it is actually a projected "
+           "coordinate system (e.g., Mercator). "
+           "If so, the results from line or area measurements will be "
+           "incorrect.</p>"
+           "<p>To fix this, explicitly set an appropriate map coordinate "
+           "system using the <tt>Settings:Project Properties</tt> menu."));
+    mWrongProjectProjection = true;
+  }
+}
+    
+void QgsMeasureTool::deactivate()
+{
+  mDialog->close();
+  QgsMapTool::deactivate();
+}
+
+
+void QgsMeasureTool::restart()
+{
+  updateProjection();
+  mPoints.clear();
+
+  mRubberBand->reset(mMeasureArea);
+
+  // re-read color settings
+  QSettings settings;
+  int myRed = settings.value("/qgis/default_measure_color_red", 180).toInt();
+  int myGreen = settings.value("/qgis/default_measure_color_green", 180).toInt();
+  int myBlue = settings.value("/qgis/default_measure_color_blue", 180).toInt();
+  mRubberBand->setColor(QColor(myRed, myGreen, myBlue));
+
+  mRightMouseClicked = false;
+  mWrongProjectProjection = false;
+  
+}
+
+
+
+
+
+void QgsMeasureTool::updateProjection()
+{
+  // set ellipsoid
+  QSettings settings;
+  // QString ellipsoid = settings.readEntry("/qgis/measure/ellipsoid", "WGS84");
+  // mCalc->setEllipsoid(ellipsoid);
+
+  // set source SRS and projections enabled flag
+  // QgsMapRender* mapRender = mCanvas->mapRender();
+  // mCalc->setProjectionsEnabled(mapRender->projectionsEnabled());
+  // int srsid = mapRender->destinationSrs().srsid();
+  // mCalc->setSourceSRS(srsid);
+  
+  int myRed = settings.value("/qgis/default_measure_color_red", 180).toInt();
+  int myGreen = settings.value("/qgis/default_measure_color_green", 180).toInt();
+  int myBlue = settings.value("/qgis/default_measure_color_blue", 180).toInt();
+  mRubberBand->setColor(QColor(myRed, myGreen, myBlue));
+
+}
+
+//////////////////////////
+
+void QgsMeasureTool::canvasPressEvent(QMouseEvent * e)
+{
+  if (e->button() == Qt::LeftButton)
+  {
+    if (mRightMouseClicked)
+      mDialog->restart();
+
+    QgsPoint  idPoint = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
+    mDialog->mousePress(idPoint);
+  }
+}
+
+
+void QgsMeasureTool::canvasMoveEvent(QMouseEvent * e)
+{
+  if (!mRightMouseClicked)
+  {
+    QgsPoint point = mCanvas->getCoordinateTransform()->toMapCoordinates(e->pos().x(), e->pos().y());
+    mRubberBand->movePoint(point);
+    mDialog->mouseMove(point);
+  }
+}
+
+
+void QgsMeasureTool::canvasReleaseEvent(QMouseEvent * e)
+{
+  QgsPoint point = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
+
+  if(e->button() == Qt::RightButton && (e->state() & Qt::LeftButton) == 0) // restart
+  {
+    if (mRightMouseClicked)
+      mDialog->restart();
+    else
+      mRightMouseClicked = true;
+  } 
+  else if (e->button() == Qt::LeftButton)
+  {
+    addPoint(point);
+    mDialog->show();
+  }
+
+}
+
+
+void QgsMeasureTool::addPoint(QgsPoint &point)
+{
+  QgsDebugMsg( QString::number(point.x()) + ", " + QString::number(point.y()));
+
+  if (mWrongProjectProjection)
+  {
+    updateProjection();
+    mWrongProjectProjection = false;
+  }
+
+   // don't add points with the same coordinates
+  if (mPoints.size() > 0 && point == mPoints[0])
+    return;
+    
+  QgsPoint pnt(point);
+  mPoints.append(pnt);
+    
+  
+  mRubberBand->addPoint(point);
+  mDialog->addPoint(point);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsmeasuretool.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,92 @@
+/***************************************************************************
+    qgsmeasuretool.h  -  map tool for measuring distances and areas
+    ---------------------
+    begin                : April 2007
+    copyright            : (C) 2007 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+
+#ifndef QGSMEASURETOOL_H
+#define QGSMEASURETOOL_H
+
+#include "qgsmaptool.h"
+
+class QgsDistanceArea;
+class QgsMapCanvas;
+class QgsMeasureDialog;
+class QgsRubberBand;
+
+
+
+class QgsMeasureTool : public QgsMapTool
+{
+
+public:
+  
+  QgsMeasureTool(QgsMapCanvas* canvas, bool measureArea);
+
+  ~QgsMeasureTool();
+
+  //! returns whether measuring distance or area
+  bool measureArea() { return mMeasureArea; }
+
+  //! Reset and start new
+  void restart ();
+
+  //! Add new point
+  void addPoint(QgsPoint &point);
+
+  //! Returns reference to array of the points
+  const QList<QgsPoint>& points();
+  
+  // Inherited from QgsMapTool
+  
+  //! Mouse move event for overriding
+  virtual void canvasMoveEvent(QMouseEvent * e);
+
+  //! Mouse press event for overriding
+  virtual void canvasPressEvent(QMouseEvent * e);
+
+  //! Mouse release event for overriding
+  virtual void canvasReleaseEvent(QMouseEvent * e);
+
+  //! called when set as currently active map tool
+  virtual void activate();
+    
+  //! called when map tool is being deactivated
+  virtual void deactivate();
+  
+protected:
+  
+  //! updates the projections we're using 
+  void updateProjection();
+
+  QList<QgsPoint> mPoints;
+
+  QgsMeasureDialog* mDialog;
+
+  //! Rubberband widget tracking the lines being drawn
+  QgsRubberBand *mRubberBand;
+
+  //! indicates whether we're measuring distances or areas
+  bool mMeasureArea;
+
+  //! indicates whether we've just done a right mouse click
+  bool mRightMouseClicked;
+
+  //! indicates whether we've recently warned the user about having the wrong 
+  // project projection
+  bool mWrongProjectProjection;
+  
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsnewconnection.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnewconnection.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnewconnection.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,171 @@
+/***************************************************************************
+                    qgsnewconnection.cpp  -  description
+                             -------------------
+    begin                : Sat Jun 22 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsnewconnection.cpp 6788 2007-03-10 19:19:49Z g_j_m $ */
+#include <iostream>
+
+#include <QSettings>
+#include <QMessageBox>
+
+#include "qgsnewconnection.h"
+#include "qgscontexthelp.h"
+extern "C"
+{
+#include <libpq-fe.h>
+}
+QgsNewConnection::QgsNewConnection(QWidget *parent, const QString& connName, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+  setupUi(this);
+  if (!connName.isEmpty())
+    {
+      // populate the dialog with the information stored for the connection
+      // populate the fields with the stored setting parameters
+      QSettings settings;
+
+      QString key = "/PostgreSQL/connections/" + connName;
+      txtHost->setText(settings.readEntry(key + "/host"));
+      txtDatabase->setText(settings.readEntry(key + "/database"));
+      QString port = settings.readEntry(key + "/port");
+      if(port.length() ==0){
+      	port = "5432";
+      }
+      txtPort->setText(port);
+      txtUsername->setText(settings.readEntry(key + "/username"));
+      Qt::CheckState s = Qt::Checked;
+      if ( ! settings.readBoolEntry(key + "/publicOnly", false))
+	s = Qt::Unchecked;
+      cb_publicSchemaOnly->setCheckState(s);
+      s = Qt::Checked;
+      if ( ! settings.readBoolEntry(key + "/geometrycolumnsOnly", false))
+	s = Qt::Unchecked;
+      cb_geometryColumnsOnly->setCheckState(s);
+      // Ensure that cb_plublicSchemaOnly is set correctly
+      on_cb_geometryColumnsOnly_clicked();
+
+      if (settings.readEntry(key + "/save") == "true")
+        {
+          txtPassword->setText(settings.readEntry(key + "/password"));
+          chkStorePassword->setChecked(true);
+        }
+      txtName->setText(connName);
+    }
+}
+/** Autoconnected SLOTS **/
+void QgsNewConnection::on_btnOk_clicked()
+{
+  saveConnection();
+}
+void QgsNewConnection::on_btnHelp_clicked()
+{
+ helpInfo();
+}
+void QgsNewConnection::on_btnConnect_clicked()
+{
+  testConnection();
+}
+void QgsNewConnection::on_btnCancel_clicked(){
+  // cancel the dialog
+  reject();
+}
+void QgsNewConnection::on_cb_geometryColumnsOnly_clicked()
+{
+  if (cb_geometryColumnsOnly->checkState() == Qt::Checked)
+    cb_publicSchemaOnly->setEnabled(false);
+  else
+    cb_publicSchemaOnly->setEnabled(true);
+}
+
+/** end  Autoconnected SLOTS **/
+
+QgsNewConnection::~QgsNewConnection()
+{
+}
+void QgsNewConnection::testConnection()
+{
+  // following line uses Qt SQL plugin - currently not used
+  // QSqlDatabase *testCon = QSqlDatabase::addDatabase("QPSQL7","testconnection");
+
+  // Need to escape the password to allow for single quotes and backslashes
+  QString password = txtPassword->text();
+  password.replace('\\', "\\\\");
+  password.replace('\'', "\\'");
+
+  QString connInfo =
+    "host=" + txtHost->text() + 
+    " dbname=" + txtDatabase->text() + 
+    " port=" + txtPort->text() +
+    " user=" + txtUsername->text() + 
+    " password='" + password + "'";
+  PGconn *pd = PQconnectdb(connInfo.toLocal8Bit().data());
+//  std::cout << pd->ErrorMessage();
+  if (PQstatus(pd) == CONNECTION_OK)
+    {
+      // Database successfully opened; we can now issue SQL commands.
+      QMessageBox::information(this, tr("Test connection"), tr("Connection to %1 was successful").arg(txtDatabase->text()));
+  } else
+    {
+      QMessageBox::information(this, tr("Test connection"), tr("Connection failed - Check settings and try again.\n\nExtended error information:\n") + QString(PQerrorMessage(pd)) );
+    }
+  // free pg connection resources
+  PQfinish(pd);
+
+
+}
+
+void QgsNewConnection::saveConnection()
+{
+  QSettings settings; 
+  QString baseKey = "/PostgreSQL/connections/";
+  settings.writeEntry(baseKey + "selected", txtName->text());
+  baseKey += txtName->text();
+  settings.writeEntry(baseKey + "/host", txtHost->text());
+  settings.writeEntry(baseKey + "/database", txtDatabase->text());
+  settings.writeEntry(baseKey + "/port", txtPort->text());
+  settings.writeEntry(baseKey + "/username", txtUsername->text());
+  settings.writeEntry(baseKey + "/password", txtPassword->text());
+  settings.writeEntry(baseKey + "/publicOnly", cb_publicSchemaOnly->isChecked());
+  settings.writeEntry(baseKey + "/geometryColumnsOnly", cb_geometryColumnsOnly->isChecked());
+  if (chkStorePassword->isChecked())
+    {
+      settings.writeEntry(baseKey + "/save", "true");
+  } else
+    {
+      settings.writeEntry(baseKey + "/save", "false");
+    }
+  accept();
+}
+void QgsNewConnection::helpInfo()
+{
+  QgsContextHelp::run(context_id);
+}
+/* void QgsNewConnection::saveConnection()
+{
+	QSettings settings;
+	QString baseKey = "/PostgreSQL/connections/";
+	baseKey += txtName->text();
+	settings.writeEntry(baseKey + "/host", txtHost->text());
+	settings.writeEntry(baseKey + "/database", txtDatabase->text());
+
+	settings.writeEntry(baseKey + "/username", txtUsername->text());
+	if (chkStorePassword->isChecked()) {
+		settings.writeEntry(baseKey + "/password", txtPassword->text());
+	} else{
+        settings.writeEntry(baseKey + "/password", "");
+    }
+
+  accept();
+} */

Added: packages/qgis/branches/upstream/current/src/app/qgsnewconnection.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnewconnection.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnewconnection.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+/***************************************************************************
+                          qgsnewconnection.h  -  description
+                             -------------------
+    begin                : Sat Jun 22 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsnewconnection.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSNEWCONNECTION_H
+#define QGSNEWCONNECTION_H
+#include "ui_qgsnewconnectionbase.h"
+#include "qgisgui.h"
+/*! \class QgsNewConnection
+ * \brief Dialog to allow the user to configure and save connection
+ * information for a PostgresQl database
+ */
+class QgsNewConnection : public QDialog, private Ui::QgsNewConnectionBase 
+{
+  Q_OBJECT
+  public:
+    //! Constructor
+    QgsNewConnection(QWidget *parent = 0, const QString& connName = QString::null, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsNewConnection();
+    //! Tests the connection using the parameters supplied
+    void testConnection();
+    //! Saves the connection to ~/.qt/qgisrc
+    void saveConnection();
+    //! Display the context help
+    void helpInfo();
+  public slots:
+    void on_btnOk_clicked();
+    void on_btnCancel_clicked();
+    void on_btnHelp_clicked();
+    void on_btnConnect_clicked();
+    void on_cb_geometryColumnsOnly_clicked();
+  private:
+    static const int context_id = 929865718;
+};
+
+#endif //  QGSNEWCONNECTIONBASE_H

Added: packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+    qgsnewhttpconnection.cpp -  selector for a new HTTP server for WMS, etc.
+                             -------------------
+    begin                : 3 April 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsnewhttpconnection.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+#include "qgsnewhttpconnection.h"
+#include "qgscontexthelp.h"
+#include <QSettings>
+
+QgsNewHttpConnection::QgsNewHttpConnection(QWidget *parent, const QString& baseKey, const QString& connName, Qt::WFlags fl): QDialog(parent, fl), mBaseKey(baseKey)
+{
+  setupUi(this);
+  connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
+  connect(btnOk, SIGNAL(clicked()), this, SLOT(saveConnection()));
+
+  if (!connName.isEmpty())
+    {
+      // populate the dialog with the information stored for the connection
+      // populate the fields with the stored setting parameters
+      
+      QSettings settings;
+
+      QString key = mBaseKey + connName;
+      txtName->setText     (connName);
+      txtUrl->setText      (settings.readEntry(key + "/url"));
+      txtProxyHost->setText(settings.readEntry(key + "/proxyhost"));
+      txtProxyPort->setText(settings.readEntry(key + "/proxyport"));
+      txtProxyUser->setText(settings.readEntry(key + "/proxyuser"));
+      txtProxyPass->setText(settings.readEntry(key + "/proxypassword"));
+    }
+}
+
+QgsNewHttpConnection::~QgsNewHttpConnection()
+{
+}
+
+void QgsNewHttpConnection::testConnection()
+{
+  // following line uses Qt SQL plugin - currently not used
+  // QSqlDatabase *testCon = QSqlDatabase::addDatabase("QPSQL7","testconnection");
+
+
+}
+
+void QgsNewHttpConnection::saveConnection()
+{
+  QSettings settings; 
+  QString key = mBaseKey + txtName->text();
+  settings.writeEntry(key + "/url", txtUrl->text().trimmed());
+  settings.writeEntry(key + "/proxyhost", txtProxyHost->text().trimmed());
+  settings.writeEntry(key + "/proxyport", txtProxyPort->text().trimmed());
+  settings.writeEntry(key + "/proxyuser", txtProxyUser->text().trimmed());
+  settings.writeEntry(key + "/proxypassword", txtProxyPass->text().trimmed());
+  
+  accept();
+}
+
+void QgsNewHttpConnection::on_btnHelp_clicked()
+{
+  QgsContextHelp::run(context_id);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnewhttpconnection.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+/***************************************************************************
+    qgsnewhttpconnection.cpp -  selector for a new HTTP server for WMS, etc.
+                             -------------------
+    begin                : 3 April 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsnewhttpconnection.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSNEWHTTPCONNECTION_H
+#define QGSNEWHTTPCONNECTION_H
+#include "ui_qgsnewhttpconnectionbase.h"
+#include "qgisgui.h"
+/*! 
+ * \brief Dialog to allow the user to configure and save connection
+ * information for an HTTP Server for WMS, etc.
+ */
+class QgsNewHttpConnection : public QDialog, private Ui::QgsNewHttpConnectionBase 
+{
+  Q_OBJECT
+ public:
+    //! Constructor
+    QgsNewHttpConnection(QWidget *parent = 0, const QString& baseKey = "/Qgis/connections-wms/", const QString& connName = QString::null, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsNewHttpConnection();
+    //! Tests the connection using the parameters supplied
+    void testConnection();
+ public slots:
+    //! Saves the connection to ~/.qt/qgisrc
+    void saveConnection();
+    //! Show context help
+    void on_btnHelp_clicked();
+ private:
+    QString mBaseKey;
+    static const int context_id = 308026563;
+};
+
+#endif //  QGSNEWHTTPCONNECTION_H

Added: packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+  qgsnumericsortlistviewitem.cpp  -  A QListViewItem that can sort numerically
+                                     (as opposed to just lexigraphically)
+                             -------------------
+    begin                : 06 Nov, 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+/* $Id$ */
+
+#include <fstream>
+#include <iostream>
+
+#include "qgsnumericsortlistviewitem.h"
+
+
+QgsNumericSortListViewItem::QgsNumericSortListViewItem(Q3ListView * parent)
+  : Q3ListViewItem(parent)
+{
+  // NOOP
+}
+
+QgsNumericSortListViewItem::QgsNumericSortListViewItem(Q3ListViewItem  * parent)
+  : Q3ListViewItem(parent)
+{
+  // NOOP
+}
+
+QgsNumericSortListViewItem::~QgsNumericSortListViewItem()
+{
+  // NOOP
+}
+
+int QgsNumericSortListViewItem::compare(Q3ListViewItem * i, int col, bool ascending) const
+{
+  if (col == 0)  // The ID column
+  {
+    uint a = text(col).toUInt();
+    uint b = i->text(col).toUInt();
+
+    if (a < b)
+    {
+      return -1;
+    }
+    else if (a > b)
+    {
+      return +1;
+    }
+    else
+    {
+      return 0;
+    }
+  }
+  else
+  {
+    // Pass-through to the QListViewItem implementation
+    return Q3ListViewItem::compare(i, col, ascending);
+  }
+}
+
+
+
+

Added: packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsnumericsortlistviewitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,57 @@
+/***************************************************************************
+    qgsnumericsortlistviewitem.h  -  A QListViewItem that can sort numerically
+                                     (as opposed to just lexigraphically)
+                             -------------------
+    begin                : 06 Nov, 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ 
+/* $Id$ */
+
+#ifndef QGSNUMERICSORTLISTVIEWITEM_H
+#define QGSNUMERICSORTLISTVIEWITEM_H
+
+#include <Q3ListView>
+#include <Q3ListViewItem>
+
+/**
+
+  \brief  QListViewItem that can sort numerically (as opposed to just lexigraphically)
+
+  This class extends the Qt QListViewItem concept by 
+  reimplementing QListViewItem::compare to allow numeric comparisons
+
+  TODO: Make it work
+
+*/
+
+class QgsNumericSortListViewItem : public Q3ListViewItem
+{
+
+//  Q_OBJECT
+
+public:
+  /**
+  * Constructor.
+  */
+  QgsNumericSortListViewItem ( Q3ListView * parent );
+  QgsNumericSortListViewItem ( Q3ListViewItem * parent );
+
+  //! Destructor
+  virtual ~QgsNumericSortListViewItem ();
+
+  virtual int compare ( Q3ListViewItem * i, int col, bool ascending ) const;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsoptions.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsoptions.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsoptions.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,427 @@
+/***************************************************************************
+                          qgsoptions.cpp
+                    Set user options and preferences
+                             -------------------
+    begin                : May 28, 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsoptions.cpp 6828 2007-03-23 19:31:04Z homann $ */
+#include "qgsapplication.h"
+#include "qgsoptions.h"
+#include "qgis.h"
+#include "qgisapp.h"
+#include "qgslayerprojectionselector.h"
+#include "qgsspatialrefsys.h"
+
+#include <QFileDialog>
+#include <QSettings>
+#include <QColorDialog>
+
+#include <cassert>
+#include <iostream>
+#include <sqlite3.h>
+#define ELLIPS_FLAT "NONE"
+#define ELLIPS_FLAT_DESC "None / Planimetric"
+
+/**
+ * \class QgsOptions - Set user options and preferences
+ * Constructor
+ */
+QgsOptions::QgsOptions(QWidget *parent, Qt::WFlags fl) :
+  QDialog(parent, fl)
+{
+  setupUi(this);
+  connect(cmbTheme, SIGNAL(activated(const QString&)), this, SLOT(themeChanged(const QString&)));
+  connect(cmbTheme, SIGNAL(highlighted(const QString&)), this, SLOT(themeChanged(const QString&)));
+  connect(cmbTheme, SIGNAL(textChanged(const QString&)), this, SLOT(themeChanged(const QString&)));
+  connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+  connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+  connect(this, SIGNAL(accepted()), this, SLOT(saveOptions()));
+
+  qparent = parent;
+  // read the current browser and set it
+  QSettings settings;
+  QString browser = settings.readEntry("/qgis/browser");
+  cmbBrowser->setCurrentText(browser);
+#ifdef QGISDEBUG
+  std::cout << "Standard Identify radius setting: " << QGis::DEFAULT_IDENTIFY_RADIUS << std::endl;
+#endif
+  double identifyValue = settings.value("/Map/identifyRadius",QGis::DEFAULT_IDENTIFY_RADIUS).toDouble();
+#ifdef QGISDEBUG
+  std::cout << "Standard Identify radius setting read from settings file: " << identifyValue << std::endl;
+#endif
+  spinBoxIdentifyValue->setValue(identifyValue);
+
+  // set the current theme
+  cmbTheme->setCurrentText(settings.readEntry("/Themes"));
+  // set the display update threshold
+  spinBoxUpdateThreshold->setValue(settings.readNumEntry("/Map/updateThreshold"));
+  //set the default projection behaviour radio buttongs
+  if (settings.readEntry("/Projections/defaultBehaviour")=="prompt")
+  {
+    radPromptForProjection->setChecked(true);
+  }
+  else if (settings.readEntry("/Projections/defaultBehaviour")=="useProject")
+  {
+    radUseProjectProjection->setChecked(true);
+  }
+  else //useGlobal
+  {
+    radUseGlobalProjection->setChecked(true);
+  }
+  mGlobalSRSID = settings.readNumEntry("/Projections/defaultProjectionSRSID",GEOSRS_ID);
+  //! @todo changes this control name in gui to txtGlobalProjString
+  QString myProjString = QgsSpatialRefSys::getProj4FromSrsId(mGlobalSRSID);
+  txtGlobalWKT->setText(myProjString);
+
+  // populate combo box with ellipsoids
+  getEllipsoidList();
+  QString myEllipsoidId = settings.readEntry("/qgis/measure/ellipsoid", "WGS84");
+  cmbEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
+  // add the themes to the combo box on the option dialog
+  QDir myThemeDir( QgsApplication::pkgDataPath()+"/themes/" );
+  myThemeDir.setFilter(QDir::Dirs);
+  QStringList myDirList = myThemeDir.entryList("*");
+  cmbTheme->clear();
+  for(int i=0; i < myDirList.count(); i++)
+  {
+    if(myDirList[i] != "." && myDirList[i] != "..")
+    {
+      cmbTheme->insertItem(myDirList[i]);
+    }
+  }
+
+  // set the theme combo
+  cmbTheme->setCurrentText(settings.readEntry("/Themes","default"));
+
+  //set the state of the checkboxes
+  chkAntiAliasing->setChecked(settings.value("/qgis/enable_anti_aliasing",false).toBool());
+
+  // Slightly awkard here at the settings value is true to use QImage,
+  // but the checkbox is true to use QPixmap
+  chkUseQPixmap->setChecked(!(settings.value("/qgis/use_qimage_to_render", true).toBool()));
+  chkAddedVisibility->setChecked(settings.value("/qgis/new_layers_visible",true).toBool());
+  cbxHideSplash->setChecked(settings.value("/qgis/hideSplash",false).toBool());
+
+  //set the colour for selections
+  int myRed = settings.value("/qgis/default_selection_color_red",255).toInt();
+  int myGreen = settings.value("/qgis/default_selection_color_green",255).toInt();
+  int myBlue = settings.value("/qgis/default_selection_color_blue",0).toInt();
+  pbnSelectionColour->setColor( QColor(myRed,myGreen,myBlue) );
+
+  //set the default color for canvas background
+  myRed = settings.value("/qgis/default_canvas_color_red",255).toInt();
+  myGreen = settings.value("/qgis/default_canvas_color_green",255).toInt();
+  myBlue = settings.value("/qgis/default_canvas_color_blue",255).toInt();
+  pbnCanvasColor->setColor( QColor(myRed,myGreen,myBlue) );
+  
+  // set the default color for the measure tool
+  myRed = settings.value("/qgis/default_measure_color_red",180).toInt();
+  myGreen = settings.value("/qgis/default_measure_color_green",180).toInt();
+  myBlue = settings.value("/qgis/default_measure_color_blue",180).toInt();
+  pbnMeasureColour->setColor( QColor(myRed,myGreen,myBlue) );
+
+  capitaliseCheckBox->setChecked(settings.value("qgis/capitaliseLayerName", QVariant(false)).toBool());
+
+  chbAskToSaveProjectChanges->setChecked(settings.value("qgis/askToSaveProjectChanges", QVariant(true)).toBool());
+  
+  cmbWheelAction->setCurrentIndex(settings.value("/qgis/wheel_action", 0).toInt());
+  spinZoomFactor->setValue(settings.value("/qgis/zoom_factor", 2).toDouble());
+
+  cbxSplitterRedraw->setChecked(settings.value("/qgis/splitterRedraw", QVariant(true)).toBool());
+}
+
+//! Destructor
+QgsOptions::~QgsOptions(){}
+
+void QgsOptions::on_pbnSelectionColour_clicked()
+{
+  QColor color = QColorDialog::getColor(pbnSelectionColour->color(), this);
+  if (color.isValid())
+  {
+    pbnSelectionColour->setColor(color);
+  }
+}
+
+void QgsOptions::on_pbnCanvasColor_clicked()
+{
+  QColor color = QColorDialog::getColor(pbnCanvasColor->color(), this);
+  if (color.isValid())
+  {
+    pbnCanvasColor->setColor(color);
+  }
+}
+
+void QgsOptions::on_pbnMeasureColour_clicked()
+{
+  QColor color = QColorDialog::getColor(pbnMeasureColour->color(), this);
+  if (color.isValid())
+  {
+    pbnMeasureColour->setColor(color);
+  }
+}
+
+void QgsOptions::themeChanged(const QString &newThemeName)
+{
+  // Slot to change the theme as user scrolls through the choices
+  QString newt = newThemeName;
+  ((QgisApp*)qparent)->setTheme(newt);
+}
+QString QgsOptions::theme()
+{
+  // returns the current theme (as selected in the cmbTheme combo box)
+  return cmbTheme->currentText();
+}
+
+void QgsOptions::saveOptions()
+{
+  QSettings settings;
+  settings.writeEntry("/qgis/browser", cmbBrowser->currentText());
+  settings.writeEntry("/Map/identifyRadius", spinBoxIdentifyValue->value());
+  settings.writeEntry("/qgis/hideSplash",cbxHideSplash->isChecked());
+  settings.writeEntry("/qgis/new_layers_visible",chkAddedVisibility->isChecked());
+  settings.writeEntry("/qgis/enable_anti_aliasing",chkAntiAliasing->isChecked());
+  settings.writeEntry("/qgis/use_qimage_to_render", !(chkUseQPixmap->isChecked()));
+  settings.setValue("qgis/capitaliseLayerName", capitaliseCheckBox->isChecked());
+  settings.setValue("qgis/askToSaveProjectChanges", chbAskToSaveProjectChanges->isChecked());
+
+  if(cmbTheme->currentText().length() == 0)
+  {
+    settings.writeEntry("/Themes", "default");
+  }else{
+    settings.writeEntry("/Themes",cmbTheme->currentText());
+  }
+  settings.writeEntry("/Map/updateThreshold", spinBoxUpdateThreshold->value());
+  //check behaviour so default projection when new layer is added with no
+  //projection defined...
+  if (radPromptForProjection->isChecked())
+  {
+    //
+    settings.writeEntry("/Projections/defaultBehaviour", "prompt");
+  }
+  else if(radUseProjectProjection->isChecked())
+  {
+    //
+    settings.writeEntry("/Projections/defaultBehaviour", "useProject");
+  }
+  else //assumes radUseGlobalProjection is checked
+  {
+    //
+    settings.writeEntry("/Projections/defaultBehaviour", "useGlobal");
+  }
+  settings.writeEntry("/Projections/defaultProjectionSRSID",(int)mGlobalSRSID);
+
+  settings.writeEntry("/qgis/measure/ellipsoid", getEllipsoidAcronym(cmbEllipsoid->currentText()));
+
+  //set the colour for selections
+  QColor myColor = pbnSelectionColour->color();
+  int myRed = settings.writeEntry("/qgis/default_selection_color_red",myColor.red());
+  int myGreen = settings.writeEntry("/qgis/default_selection_color_green",myColor.green());
+  int myBlue = settings.writeEntry("/qgis/default_selection_color_blue",myColor.blue());
+
+  //set the default color for canvas background
+  myColor = pbnCanvasColor->color();
+  myRed = settings.writeEntry("/qgis/default_canvas_color_red",myColor.red());
+  myGreen = settings.writeEntry("/qgis/default_canvas_color_green",myColor.green());
+  myBlue = settings.writeEntry("/qgis/default_canvas_color_blue",myColor.blue());
+
+  //set the default color for the measure tool
+  myColor = pbnMeasureColour->color();
+  settings.setValue("/qgis/default_measure_color_red",myColor.red());
+  settings.setValue("/qgis/default_measure_color_green",myColor.green());
+  settings.setValue("/qgis/default_measure_color_blue",myColor.blue());
+
+  settings.writeEntry("/qgis/wheel_action", cmbWheelAction->currentIndex());
+  settings.writeEntry("/qgis/zoom_factor", spinZoomFactor->value());
+
+  settings.setValue("/qgis/splitterRedraw", cbxSplitterRedraw->isChecked());  
+}
+
+
+void QgsOptions::on_btnFindBrowser_clicked()
+{
+  QString filter;
+#ifdef WIN32
+  filter = "Applications (*.exe)";
+#else
+  filter = "All Files (*)";
+#endif
+  QString browser = QFileDialog::getOpenFileName(
+          this,
+          "Choose a browser",
+          "./",
+          filter );
+  if(browser.length() > 0)
+  {
+    cmbBrowser->setCurrentText(browser);
+  }
+}
+
+
+void QgsOptions::on_pbnSelectProjection_clicked()
+{
+  QSettings settings;
+  QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
+  mySelector->setSelectedSRSID(mGlobalSRSID);
+  if(mySelector->exec())
+  {
+#ifdef QGISDEBUG
+    std::cout << "------ Global Default Projection Selection Set ----------" << std::endl;
+#endif
+    mGlobalSRSID = mySelector->getCurrentSRSID();  
+    //! @todo changes this control name in gui to txtGlobalProjString
+    txtGlobalWKT->setText(mySelector->getCurrentProj4String());
+#ifdef QGISDEBUG
+    std::cout << "------ Global Default Projection now set to ----------\n" << mGlobalSRSID << std::endl;
+#endif
+  }
+  else
+  {
+#ifdef QGISDEBUG
+    std::cout << "------ Global Default Projection Selection change cancelled ----------" << std::endl;
+#endif
+    QApplication::restoreOverrideCursor();
+  }
+
+}
+
+void QgsOptions::on_chkAntiAliasing_stateChanged()
+{
+  // We can't have the anti-aliasing turned on when QPixmap is being
+  // used (we we can. but it then doesn't do anti-aliasing, and this
+  // will confuse people).
+  if (chkAntiAliasing->isChecked())
+    chkUseQPixmap->setChecked(false);
+
+}
+
+void QgsOptions::on_chkUseQPixmap_stateChanged()
+{
+  // We can't have the anti-aliasing turned on when QPixmap is being
+  // used (we we can. but it then doesn't do anti-aliasing, and this
+  // will confuse people).
+  if (chkUseQPixmap->isChecked())
+    chkAntiAliasing->setChecked(false);
+
+}
+
+// Return state of the visibility flag for newly added layers. If
+
+bool QgsOptions::newVisible()
+{
+  return chkAddedVisibility->isChecked();
+}
+
+void QgsOptions::getEllipsoidList()
+{
+  // (copied from qgscustomprojectiondialog.cpp)
+
+  // 
+  // Populate the ellipsoid combo
+  // 
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+
+
+  cmbEllipsoid->insertItem(ELLIPS_FLAT_DESC);
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select * from tbl_ellipsoid order by name";
+  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      cmbEllipsoid->insertItem((char *)sqlite3_column_text(myPreparedStatement,1));
+    }
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+}
+
+QString QgsOptions::getEllipsoidAcronym(QString theEllipsoidName)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName(ELLIPS_FLAT);
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select acronym from tbl_ellipsoid where name='" + theEllipsoidName + "'";
+  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      myName = QString((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}
+
+QString QgsOptions::getEllipsoidName(QString theEllipsoidAcronym)
+{
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  QString       myName(ELLIPS_FLAT_DESC);
+  //check the db is available
+  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
+  if(myResult) 
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
+    // XXX This will likely never happen since on open, sqlite creates the 
+    //     database if it does not exist.
+    assert(myResult == 0);
+  }
+  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
+  QString mySql = "select name from tbl_ellipsoid where acronym='" + theEllipsoidAcronym + "'";
+  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    if (sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+      myName = QString((char *)sqlite3_column_text(myPreparedStatement,0));
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return myName;
+
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsoptions.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsoptions.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsoptions.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,96 @@
+/***************************************************************************
+                          qgsoptions.h
+                        Set user options and preferences
+                             -------------------
+    begin                : May 28, 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsoptions.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSOPTIONS_H
+#define QGSOPTIONS_H
+
+#include "ui_qgsoptionsbase.h"
+#include "qgisgui.h"
+
+
+/**
+ * \class QgsOptions
+ * \brief Set user options and preferences
+ */
+class QgsOptions :public QDialog, private Ui::QgsOptionsBase
+{
+  Q_OBJECT;
+  public:
+    /**
+     * Constructor
+     * @param parent Parent widget (usually a QgisApp)
+     * @param name name for the widget
+     * @param modal true for modal dialog
+     */
+    QgsOptions(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsOptions();
+    /**
+     * Return the currently selected theme
+     * @return theme name (a directory name in the themes directory)
+     */
+    QString theme();
+
+    public slots:
+      //! Slot called when user chooses to change the project wide projection.
+      void on_pbnSelectProjection_clicked();
+      void on_btnFindBrowser_clicked();
+      void on_chkAntiAliasing_stateChanged();
+      void on_chkUseQPixmap_stateChanged();
+      void saveOptions();
+    //! Slot to change the theme this is handled when the user 
+    // activates or highlights a theme name in the drop-down list
+    void themeChanged(const QString &);
+      
+    /**
+     * Return the desired state of newly added layers. If a layer
+     * is to be drawn when added to the map, this function returns
+     * true.
+     */
+    bool newVisible();
+  /*!
+   * Slot to select the default map selection colour
+   */
+  void on_pbnSelectionColour_clicked();
+  
+  /*!
+   * Slot to select the default measure tool colour
+   */
+  void on_pbnMeasureColour_clicked();
+
+  /*!
+   * Slot to select the default map selection colour
+   */
+  void on_pbnCanvasColor_clicked();
+  protected:
+    //! Populates combo box with ellipsoids
+    void getEllipsoidList();
+    
+    QString getEllipsoidAcronym(QString theEllipsoidName);
+    QString getEllipsoidName(QString theEllipsoidAcronym);
+
+  private:
+    //! Pointer to our parent
+    QWidget *qparent;
+
+    //!Global default projection used for new layers added that have no projection
+    long mGlobalSRSID;
+
+};
+
+#endif // #ifndef QGSOPTIONS_H

Added: packages/qgis/branches/upstream/current/src/app/qgspastetransformations.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspastetransformations.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspastetransformations.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,318 @@
+/***************************************************************************
+    qgspastetransformations.cpp - set up how source fields are transformed to
+                                  destination fields in copy/paste operations
+                             -------------------
+    begin                : 8 July 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspastetransformations.cpp 6451 2007-01-22 02:38:33Z g_j_m $ */
+
+#include <iostream>
+
+#include <QSettings>
+#include <QComboBox>
+#include <qglobal.h>
+
+#include "qgsfield.h"
+#include "qgspastetransformations.h"
+#include "qgsmaplayerregistry.h"
+
+QgsPasteTransformations::QgsPasteTransformations()
+  : QgsPasteTransformationsBase()
+{
+
+  // Populate the dialog with the loaded layers
+  std::map<QString, QgsMapLayer*> mapLayers =
+    QgsMapLayerRegistry::instance()->mapLayers();
+
+  for (std::map<QString, QgsMapLayer*>::iterator it  = mapLayers.begin();
+                                                 it != mapLayers.end();
+                                               ++it )
+  {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::QgsPasteTransformations: QgsMapLayerRegistry has "
+          << it->second->name().toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+    // TODO: Test if a VECTOR or DATABASE layer only (not RASTER)
+
+    sourceLayerComboBox     ->insertItem( it->second->name() );
+    destinationLayerComboBox->insertItem( it->second->name() );
+
+    // store the lookup from the name to the map layer object
+    mMapNameLookup[ it->second->name() ] = it->second;
+  }
+
+
+}
+
+QgsPasteTransformations::~QgsPasteTransformations()
+{
+
+}
+
+
+void QgsPasteTransformations::accept()
+{
+
+  QSettings settings;
+  QString baseKey        = "/Qgis/paste-transformations";             // TODO: promote to static member
+  QString sourceKey      = sourceLayerComboBox     ->currentText();
+  QString destinationKey = destinationLayerComboBox->currentText();
+
+  for (uint i = 0; i < mSourceTransfers.size(); i++)
+  {
+    settings.writeEntry(
+                        baseKey + "/" + sourceKey + "/" + destinationKey + "/" +
+                        mSourceTransfers[i]     ->currentText(),
+                        mDestinationTransfers[i]->currentText()
+                       );
+  }
+
+  QDialog::accept();
+
+}
+
+
+void QgsPasteTransformations::addNewTransfer()
+{
+  // This ends up being a wrapper for addTransfer, but with no preselected fields
+  addTransfer();
+}
+
+
+void QgsPasteTransformations::sourceChanged(const QString& layerName)
+{
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::sourceChanged: Source changed to "
+          << layerName.toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+  layerChanged(layerName, &mSourceFields);
+
+}
+
+
+void QgsPasteTransformations::destinationChanged(const QString& layerName)
+{
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::destinationChanged: Destination changed to "
+          << layerName.toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+  layerChanged(layerName, &mDestinationFields);
+
+}
+
+
+void QgsPasteTransformations::addTransfer(const QString& sourceSelectedFieldName,
+                                          const QString& destinationSelectedFieldName)
+{
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::addTransfer: From " << sourceSelectedFieldName.toLocal8Bit().data()
+                                                         << " to " << destinationSelectedFieldName.toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+  int newRow = gridLayout->numRows();
+
+// TODO: Do not add the transfer if neither the sourceSelectedFieldName nor the destinationSelectedFieldName could be found.
+
+  // For some reason Qt4's uic3 only outputs generic names for layout items
+  QComboBox* newSourceFields      = new QComboBox(FALSE, gridLayout->mainWidget() );
+  QComboBox* newDestinationFields = new QComboBox(FALSE, gridLayout->mainWidget() );
+
+  int count = 0;
+
+  // Populate source fields
+  for (std::vector<QString>::iterator it  = mSourceFields.begin();
+                                      it != mSourceFields.end();
+                                    ++it )
+  {
+    newSourceFields->insertItem( (*it) );
+
+    // highlight this item if appropriate
+    if (sourceSelectedFieldName == (*it))
+    {
+      newSourceFields->setCurrentItem(count);
+    }
+
+    count++;
+  }
+
+  count = 0;
+
+  // Populate destination fields
+  for (std::vector<QString>::iterator it  = mDestinationFields.begin();
+                                      it != mDestinationFields.end();
+                                    ++it )
+  {
+    newDestinationFields->insertItem( (*it) );
+
+    // highlight this item if appropriate
+    if (destinationSelectedFieldName == (*it))
+    {
+      newDestinationFields->setCurrentItem(count);
+    }
+
+    count++;
+  }
+
+  // Append to dialog layout
+  gridLayout->addWidget(newSourceFields,      newRow, 0);
+  gridLayout->addWidget(newDestinationFields, newRow, 1);
+
+  // Keep a reference to them so that we can read from them
+  // when the dialog is dismissed
+  mSourceTransfers     .push_back(newSourceFields);
+  mDestinationTransfers.push_back(newDestinationFields);
+
+  // Reveal the new sub-widgets
+  newSourceFields->show();
+  newDestinationFields->show();
+
+}
+
+
+void QgsPasteTransformations::layerChanged(const QString& layerName, std::vector<QString>* fields)
+{
+  // Fetch the fields that will be populated into the Transfer rows.
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::layerChanged: Layer changed to "
+          << layerName.toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+/*
+// XXX What does this code do??? [MD]
+  std::vector<QgsField> layerFields = 
+    (mMapNameLookup[ layerName ])->fields();
+
+  fields->clear();
+
+  for (std::vector<QgsField>::iterator it  = layerFields.begin();
+                                       it != layerFields.end();
+                                     ++it )
+  {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::layerChanged: Got field "
+          << it->name().toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+
+    fields->push_back(it->name());
+  }
+*/
+
+  restoreTransfers( sourceLayerComboBox     ->currentText(),
+                    destinationLayerComboBox->currentText() );
+}
+
+void QgsPasteTransformations::restoreTransfers(const QString& sourceLayerName,
+                                               const QString& destinationLayerName)
+{
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::restoreTransfers: Entered."
+          << std::endl;
+#endif
+  QSettings settings;
+  QString baseKey = "/Qgis/paste-transformations";             // TODO: promote to static member
+
+  QStringList sourceLayers = settings.subkeyList(baseKey);
+
+  for (QStringList::Iterator it  = sourceLayers.begin(); 
+                             it != sourceLayers.end();
+                           ++it )
+  {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::restoreTransfers: Testing source '"
+          << (*it).toLocal8Bit().data() << "' with '"
+          << sourceLayerName.toLocal8Bit().data() << "'."
+          << std::endl;
+#endif
+    if ((sourceLayerName == (*it)))
+    {
+      // Go through destination layers defined for this source layer.
+      QStringList destinationLayers = settings.subkeyList( baseKey + "/" + (*it) );
+      for (QStringList::Iterator it2  = destinationLayers.begin(); 
+                                 it2 != destinationLayers.end();
+                               ++it2 )
+      {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::restoreTransfers: Testing destination '"
+          << (*it2).toLocal8Bit().data() << "' with '"
+          << destinationLayerName.toLocal8Bit().data() << "'."
+          << std::endl;
+#endif
+        if ((destinationLayerName == (*it2)))
+        {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::restoreTransfers:going through transfers."
+          << std::endl;
+#endif
+          // Go through Transfers for this source/destination layer pair.
+          QStringList transfers = settings.entryList( baseKey + "/" + (*it) + "/" + (*it2) );
+          for (QStringList::Iterator it3  = transfers.begin(); 
+                                     it3 != transfers.end();
+                                   ++it3 )
+          {
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::restoreTransfers: setting transfer for "
+          << (*it3).toLocal8Bit().data() << "."
+          << std::endl;
+#endif
+            QString destinationField = 
+              settings.readEntry( baseKey + "/" + (*it) + "/" + (*it2) + "/" + (*it3) );
+            addTransfer( (*it3), destinationField );
+          }
+        }
+      }
+    }
+  }
+}
+
+
+QString QgsPasteTransformations::pasteTo(const QString& sourceLayerName,
+                                         const QString& destinationLayerName,
+                                         const QString& sourceFieldName)
+{
+
+// TODO: Adjust QgsVectorLayer::addFeature to complete the usefulness of this function
+// TODO: Cache previous results as this will be called once per pasted feature.
+
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::pasteTo: Entered."
+          << std::endl;
+#endif
+  QSettings settings;
+  QString baseKey = "/Qgis/paste-transformations";             // TODO: promote to static member
+
+  QString destinationField = 
+    settings.readEntry( baseKey + "/" + sourceLayerName + "/" + destinationLayerName + "/" + sourceFieldName );
+
+  if (QString::null == destinationField)
+  {
+    destinationField = sourceFieldName;
+  }
+
+#ifdef QGISDEBUG
+        std::cerr << "QgsPasteTransformations::pasteTo: Returning '" << destinationField.toLocal8Bit().data() << "'."
+          << std::endl;
+#endif
+
+  return destinationField;
+}
+

Added: packages/qgis/branches/upstream/current/src/app/qgspastetransformations.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspastetransformations.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspastetransformations.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,87 @@
+/***************************************************************************
+    qgspastetransformations.h - set up how source fields are transformed to
+                                destination fields in copy/paste operations
+                             -------------------
+    begin                : 8 July 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspastetransformations.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSPASTETRANSFORMATIONS_H
+#define QGSPASTETRANSFORMATIONS_H
+#include "ui_qgspastetransformationsbase.h"
+#include <QDialog>
+#include <qstring.h>
+
+#include "qgsmaplayer.h"
+
+/*! 
+ * \brief Dialog to allow the user to set up how source fields are transformed to destination fields in copy/paste operations
+ */
+class QgsPasteTransformations : public QDialog, private Ui::QgsPasteTransformationsBase
+{
+  Q_OBJECT;
+ public:
+    //! Constructor
+    QgsPasteTransformations();
+
+    //! Destructor
+    ~QgsPasteTransformations();
+
+    /**
+       Returns the destination field in destinationLayerName that
+       should be chosen for pastes from sourceLayerName & sourceFieldName.
+
+       Returns the sourceFieldName if there is no saved preference.
+
+       @note  This non-GUI function is a bonus for this class.  OO purists may insist that this function should be in its own class.  If so, let them separate it.
+     */
+    QString pasteTo(const QString& sourceLayerName,
+                    const QString& destinationLayerName,
+                    const QString& sourceFieldName);
+
+
+  public slots:
+    virtual void accept();
+
+    virtual void addNewTransfer();
+
+    virtual void sourceChanged(const QString& layerName);
+
+    virtual void destinationChanged(const QString& layerName);
+
+
+  private:
+
+    void addTransfer(const QString& sourceLayerName      = QString::null,
+                     const QString& destinationLayerName = QString::null);
+
+    //! Common subfunction to sourceChanged() and destinationChanged()
+    void layerChanged(const QString& layerName, std::vector<QString>* fields);
+
+    void restoreTransfers(const QString& sourceSelectedFieldName,
+                          const QString& destinationSelectedFieldName);
+
+
+    std::map<QString, QgsMapLayer*> mMapNameLookup;
+
+    std::vector<QString> mSourceFields;
+
+    std::vector<QString> mDestinationFields;
+
+    std::vector<QComboBox*> mSourceTransfers;
+
+    std::vector<QComboBox*> mDestinationTransfers;
+
+};
+
+#endif //  QGSPASTETRANSFORMATIONS_H

Added: packages/qgis/branches/upstream/current/src/app/qgspatterndialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspatterndialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspatterndialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,105 @@
+/***************************************************************************
+                          qgsppatterndialog.cpp 
+                        Pattern dialog for vector layers
+                             -------------------
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+  
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /*  $Id: qgspatterndialog.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+ 
+#include "qgspatterndialog.h"
+#include "qpushbutton.h"
+#include "qgssymbologyutils.h"
+
+QgsPatternDialog::QgsPatternDialog(QWidget * parent, Qt::WFlags fl):
+  QDialog(parent, fl)
+{
+  setupUi(this);
+
+  //set the icons (which are stored in QgsSymbologyUtils.cpp to avoid redundancy)
+  solid->setPixmap(QgsSymbologyUtils::char2PatternPixmap("SolidPattern"));
+  horizontal->setPixmap(QgsSymbologyUtils::char2PatternPixmap("HorPattern"));
+  vertical->setPixmap(QgsSymbologyUtils::char2PatternPixmap("VerPattern"));
+  cross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("CrossPattern"));
+  bdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("BDiagPattern"));
+  fdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("FDiagPattern"));
+  diagcross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("DiagCrossPattern"));
+  dense1->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense1Pattern"));
+  dense2->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense2Pattern"));
+  dense3->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense3Pattern"));
+  dense4->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense4Pattern"));
+  dense5->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense5Pattern"));
+  dense6->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense6Pattern"));
+  dense7->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense7Pattern"));
+  nopen->setPixmap(QgsSymbologyUtils::char2PatternPixmap("NoBrush"));
+
+  QObject::connect(okbutton, SIGNAL(clicked()), this, SLOT(queryPattern()));
+  QObject::connect(cancelbutton, SIGNAL(clicked()), this, SLOT(reject()));
+  solid->toggle();              //solid pattern is the default
+}
+
+Qt::BrushStyle QgsPatternDialog::pattern()
+{
+  return m_pattern;
+}
+
+void QgsPatternDialog::queryPattern()
+{
+  if (solid->isOn())
+    {
+      m_pattern = Qt::SolidPattern;
+  } else if (fdiag->isOn())
+    {
+      m_pattern = Qt::FDiagPattern;
+  } else if (dense4->isOn())
+    {
+      m_pattern = Qt::Dense4Pattern;
+  } else if (horizontal->isOn())
+    {
+      m_pattern = Qt::HorPattern;
+  } else if (dense5->isOn())
+    {
+      m_pattern = Qt::Dense5Pattern;
+  } else if (diagcross->isOn())
+    {
+      m_pattern = Qt::DiagCrossPattern;
+  } else if (dense1->isOn())
+    {
+      m_pattern = Qt::Dense1Pattern;
+  } else if (dense6->isOn())
+    {
+      m_pattern = Qt::Dense6Pattern;
+  } else if (vertical->isOn())
+    {
+      m_pattern = Qt::VerPattern;
+  } else if (dense7->isOn())
+    {
+      m_pattern = Qt::Dense7Pattern;
+  } else if (cross->isOn())
+    {
+      m_pattern = Qt::CrossPattern;
+  } else if (dense2->isOn())
+    {
+      m_pattern = Qt::Dense2Pattern;
+  } else if (bdiag->isOn())
+    {
+      m_pattern = Qt::BDiagPattern;
+  } else if (dense3->isOn())
+    {
+      m_pattern = Qt::Dense3Pattern;
+  } else if (nopen->isOn())
+    {
+      m_pattern = Qt::NoBrush;
+    }
+  accept();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspatterndialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspatterndialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspatterndialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+/***************************************************************************
+                          qgspatterndialog 
+            Dialog for selecting pattern for rendering vector layers
+                             -------------------
+    begin                : 2004-02-12
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspatterndialog.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSPATTERNDIALOG_H
+#define QGSPATTERNDIALOG_H
+
+class qnamespace;
+#include "ui_qgspatterndialogbase.h"
+#include "qgisgui.h"
+
+/**A dialog class to query the fill pattern.*/
+class QgsPatternDialog: public QDialog, private Ui::QgsPatternDialogBase
+{
+    Q_OBJECT
+ public:
+    QgsPatternDialog(QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    ~QgsPatternDialog();
+    Qt::BrushStyle pattern();
+ protected:
+    Qt::BrushStyle m_pattern;
+ protected slots:
+     /**Queries the selected pattern if the ok button is pressed and stores the pattern in m_pattern*/
+     void queryPattern();
+};
+
+inline QgsPatternDialog::~QgsPatternDialog()
+{
+
+}
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,454 @@
+/***************************************************************************
+                qgspgquerybuilder.cpp - PostgreSQL Query Builder
+                     --------------------------------------
+               Date                 : 2004-11-19
+               Copyright            : (C) 2004 by Gary E.Sherman
+               Email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspgquerybuilder.cpp 6833 2007-03-24 22:40:10Z wonder $ */
+#include <iostream>
+#include <q3listbox.h>
+#include <QMessageBox>
+#include "qgspgquerybuilder.h"
+#include <qgslogger.h>
+#include <QRegExp>
+// default constructor
+QgsPgQueryBuilder::QgsPgQueryBuilder(QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+  setupUi(this);
+}
+// constructor used when the query builder must make its own
+// connection to the database
+QgsPgQueryBuilder::QgsPgQueryBuilder(QgsDataSourceURI *uri, 
+    QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl), mUri(uri)
+{
+  setupUi(this);
+  // The query builder must make its own connection to the database when
+  // using this constructor
+  QString connInfo = QString("host=%1 dbname=%2 port=%3 user=%4 password=%5")
+    .arg(mUri->host)
+    .arg(mUri->database)
+    .arg(mUri->port)
+    .arg(mUri->username)
+    .arg(mUri->password);
+#ifdef QGISDEBUG
+  std::cerr << "Attempting connect using: " << connInfo.toLocal8Bit().data() << std::endl; 
+#endif
+  mPgConnection = PQconnectdb(connInfo.toLocal8Bit().data());
+  // check the connection status
+  if (PQstatus(mPgConnection) == CONNECTION_OK) {
+    QString datasource = QString(tr("Table <b>%1</b> in database <b>%2</b> on host <b>%3</b>, user <b>%4</b>"))
+      .arg(mUri->table)
+      .arg(PQdb(mPgConnection))
+      .arg(PQhost(mPgConnection))
+      .arg(PQuser(mPgConnection));
+    mOwnConnection = true; // we own this connection since we created it
+    // tell the DB that we want text encoded in UTF8
+    PQsetClientEncoding(mPgConnection, "UNICODE");
+    // and strip any quotation as this code does it's own quoting.
+    trimQuotation();
+
+    lblDataUri->setText(datasource);
+    populateFields();
+  }
+  else
+  {
+    QString err = PQerrorMessage(mPgConnection);
+    QMessageBox::critical(this, tr("Connection Failed"), tr("Connection to the database failed:") + "\n" + err);
+  }
+}
+// Constructor when using an existing connection (ie from the add postgis layer dialog). This
+// is useful since the query builder doesn't have to make a connection to the database for each
+// layer being customized prior to adding to the map canvas. Since the table name passed to this
+// constructor from the add table dialog is in the form schema.table, these components are 
+// parsed out and populated in the mURI structure prior to performing any operations against the database.
+QgsPgQueryBuilder::QgsPgQueryBuilder(QString tableName, PGconn *con, 
+    QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl), mPgConnection(con)
+{
+  setupUi(this);
+  mOwnConnection = false; // we don't own this connection since it was passed to us
+  mUri = new QgsDataSourceURI();
+  QString datasource = QString(tr("Table <b>%1</b> in database <b>%2</b> on host <b>%3</b>, user <b>%4</b>"))
+    .arg(tableName)
+    .arg(PQdb(mPgConnection))
+    .arg(PQhost(mPgConnection))
+    .arg(PQuser(mPgConnection));
+  // populate minimum uri fields needed for the populate fields function
+  QRegExp reg("\"(.+)\"\\.\"(.+)\"");
+  reg.indexIn(tableName);
+  QStringList parts = reg.capturedTexts(); // table name contains table and schema
+  mUri->schema = parts[1];
+  // strip whitespace to make sure the table name is clean
+  mUri->table = parts[2];
+
+  // and strip any quotation as this code does it's own quoting.
+  trimQuotation();
+
+  lblDataUri->setText(datasource);
+  populateFields();
+}
+QgsPgQueryBuilder::~QgsPgQueryBuilder()
+{
+  if(mOwnConnection)
+  {
+    PQfinish(mPgConnection);
+  }
+}
+
+void QgsPgQueryBuilder::populateFields()
+{
+  // Populate the field vector for this layer. The field vector contains
+  // field name, type, length, and precision (if numeric)
+  QString sql = "select * from \"" + mUri->schema + "\".\"" + mUri->table + "\" limit 1";
+  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
+  QgsLogger::debug("Query executed: " + sql);
+  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
+  {
+    //--std::cout << "Field: Name, Type, Size, Modifier:" << std::endl;
+    for (int i = 0; i < PQnfields(result); i++) {
+
+      QString fieldName = PQfname(result, i);
+      int fldtyp = PQftype(result, i);
+      QString typOid = QString().setNum(fldtyp);
+      QgsLogger::debug("typOid is: " + typOid); 
+      //int fieldModifier = PQfmod(result, i);
+      QString sql = "select typelem from pg_type where typelem = " + typOid + " and typlen = -1";
+      //  //--std::cout << sql << std::endl;
+      PGresult *oidResult = PQexec(mPgConnection, 
+				   (const char *) (sql.utf8()));
+      if (PQresultStatus(oidResult) == PGRES_TUPLES_OK) 
+        QgsLogger::debug("Ok fetching typelem using\n" + sql); 
+
+      // get the oid of the "real" type
+      QString poid = QString::fromUtf8(PQgetvalue(oidResult, 0, 
+						  PQfnumber(oidResult, 
+							    "typelem")));
+      QgsLogger::debug("poid is: " + poid); 
+      PQclear(oidResult);
+      sql = "select typname, typlen from pg_type where oid = " + poid;
+      // //--std::cout << sql << std::endl;
+      oidResult = PQexec(mPgConnection, (const char *) (sql.utf8()));
+      if (PQresultStatus(oidResult) == PGRES_TUPLES_OK) 
+        QgsLogger::debug("Ok fetching typenam,etc\n");
+
+      QString fieldType = QString::fromUtf8(PQgetvalue(oidResult, 0, 0));
+      QString fieldSize = QString::fromUtf8(PQgetvalue(oidResult, 0, 1));
+      PQclear(oidResult);
+#ifdef QGISDEBUG
+      std::cerr << "Field parms: Name = " << fieldName.toLocal8Bit().data()
+        << ", Type = " << fieldType.toLocal8Bit().data() << std::endl; 
+#endif
+      QVariant::Type type = QVariant::String; // TODO: should be set correctly [MD]
+      mFieldMap[fieldName] = QgsField(fieldName, type, fieldType);
+      lstFields->insertItem(fieldName);
+    }
+  }else
+  {
+#ifdef QGISDEBUG 
+    std::cerr << "Error fetching a row from " << mUri->table.toLocal8Bit().data() << std::endl; 
+#endif 
+  }
+  PQclear(result);
+}
+
+void QgsPgQueryBuilder::trimQuotation()
+{
+  // Trim " characters that may be surrounding the table and schema name
+  if (mUri->schema.at(0) == '"')
+    {
+      mUri->schema.remove(mUri->schema.length()-1, 1);
+      mUri->schema.remove(0, 1);
+    }
+  if (mUri->table.at(0) == '"')
+    {
+      mUri->table.remove(mUri->table.length()-1, 1);
+      mUri->table.remove(0, 1);
+    }
+}
+
+void QgsPgQueryBuilder::on_btnSampleValues_clicked()
+{
+  if (lstFields->currentText().isEmpty())
+      return;
+
+  QString sql = "SELECT DISTINCT \"" + lstFields->currentText() + "\" " +
+      "FROM (SELECT \"" + lstFields->currentText() + "\" " +
+      "FROM \"" + mUri->schema + "\".\"" + mUri->table + "\" " +
+      "LIMIT 5000) AS foo " +
+      "ORDER BY \"" + lstFields->currentText() + "\" "+
+      "LIMIT 25";
+  // clear the values list 
+  lstValues->clear();
+  // determine the field type
+  QgsField field = mFieldMap[lstFields->currentText()];
+  bool isCharField = field.typeName().find("char") > -1;
+  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
+
+  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
+  {
+    int rowCount =  PQntuples(result);
+    for(int i=0; i < rowCount; i++)
+    {
+      QString value = QString::fromUtf8(PQgetvalue(result, i, 0));
+      if(isCharField)
+      {
+        lstValues->insertItem("'" + value + "'");
+      }
+      else
+      {
+        lstValues->insertItem(value);
+      }
+    }
+
+  }else
+  {
+    QMessageBox::warning(this, tr("Database error"), tr("<p>Failed to get sample of field values using SQL:</p><p>") + sql + "</p><p>Error message was: "+ QString(PQerrorMessage(mPgConnection)) + "</p>");
+  }
+  // free the result set
+  PQclear(result);
+}
+
+void QgsPgQueryBuilder::on_btnGetAllValues_clicked()
+{
+  if (lstFields->currentText().isEmpty())
+      return;
+
+  QString sql = "select distinct \"" + lstFields->currentText() 
+    + "\" from \"" + mUri->schema + "\".\"" + mUri->table + "\" order by \"" + lstFields->currentText() + "\"";
+  // clear the values list 
+  lstValues->clear();
+  // determine the field type
+  QgsField field = mFieldMap[lstFields->currentText()];
+  bool isCharField = field.typeName().find("char") > -1;
+
+  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
+
+  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
+  {
+    int rowCount =  PQntuples(result);
+    for(int i=0; i < rowCount; i++)
+    {
+      QString value = QString::fromUtf8(PQgetvalue(result, i, 0));
+
+      if(isCharField)
+      {
+        lstValues->insertItem("'" + value + "'");
+      }
+      else
+      {
+        lstValues->insertItem(value);
+      }
+    }
+
+  }else
+  {
+    QMessageBox::warning(this, tr("Database error"), tr("Failed to get sample of field values") + QString(PQerrorMessage(mPgConnection)) );
+  }
+  // free the result set
+  PQclear(result);
+}
+
+void QgsPgQueryBuilder::on_btnTest_clicked()
+{
+  // test the sql statement to see if it works
+  // by counting the number of records that would be
+  // returned
+
+  // if there is no sql, issue a warning
+  if(txtSQL->text().isEmpty())
+  {
+    QMessageBox::information(this, tr("No Query"), tr("You must create a query before you can test it"));
+  }
+  else
+  { 
+    QString numRows;
+    QString sql = "select count(*) from \"" + mUri->schema + "\".\"" + mUri->table
+      + "\" where " + txtSQL->text();
+    PGresult *result = PQexec(mPgConnection, (const char *)(sql.utf8()));
+    if (PQresultStatus(result) == PGRES_TUPLES_OK) 
+    {
+      numRows = QString::fromUtf8(PQgetvalue(result, 0, 0));
+      QMessageBox::information(this, tr("Query Result"), 
+          tr("The where clause returned ") 
+          + numRows + tr(" rows."));
+    }
+    else
+    {
+      QMessageBox::warning(this, tr("Query Failed"), 
+          tr("An error occurred when executing the query:") 
+          + "\n" + QString(PQresultErrorMessage(result)));
+    }
+    // free the result set
+    PQclear(result);
+  }
+}
+// This method tests the number of records that would be returned by the
+// query
+// XXX This should really throw an exception
+long QgsPgQueryBuilder::countRecords(QString where) 
+{
+  QString sql = "select count(*) from \"" + mUri->schema + "\".\"" + mUri->table
+      + "\" where " + where;
+
+  long numRows;
+  PGresult *result = PQexec(mPgConnection, (const char *)(sql.utf8()));
+  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
+  {
+    QString rowCount = QString::fromUtf8(PQgetvalue(result, 0, 0));
+    numRows = rowCount.toLong();
+  }
+  else
+  {
+    numRows = -1;
+    mPgErrorMessage = PQresultErrorMessage(result);
+
+  }
+  // free the result set
+  PQclear(result);
+  return numRows;
+}
+
+void QgsPgQueryBuilder::setConnection(PGconn *con)
+{
+  // store the connection 
+  mPgConnection = con;
+}
+
+void QgsPgQueryBuilder::on_btnOk_clicked()
+{
+  // if user hits Ok and there is no query, skip the validation
+  if(txtSQL->text().stripWhiteSpace().length() > 0)
+  {
+    // test the query to see if it will result in a valid layer
+    long numRecs = countRecords(txtSQL->text());
+    if(numRecs == -1)
+    {
+      //error in query - show the problem
+      QMessageBox::warning(this,tr("Error in Query"), mPgErrorMessage);
+    }
+    else
+    {
+      if(numRecs == 0)
+      {
+        QMessageBox::warning(this, tr("No Records"), tr("The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature."));
+      }
+      else
+      {
+        this->accept();
+      }
+    }
+  }
+  else
+  {
+    this->accept();
+  }
+}
+
+void QgsPgQueryBuilder::on_btnEqual_clicked()
+{
+  txtSQL->insert(" = ");
+}
+
+void QgsPgQueryBuilder::on_btnLessThan_clicked()
+{
+  txtSQL->insert(" < ");
+}
+
+void QgsPgQueryBuilder::on_btnGreaterThan_clicked()
+{
+  txtSQL->insert(" > ");
+}
+
+void QgsPgQueryBuilder::on_btnPct_clicked()
+{
+  txtSQL->insert(" % ");
+}
+
+void QgsPgQueryBuilder::on_btnIn_clicked()
+{
+  txtSQL->insert(" IN ");
+}
+
+void QgsPgQueryBuilder::on_btnNotIn_clicked()
+{
+  txtSQL->insert(" NOT IN ");
+}
+
+void QgsPgQueryBuilder::on_btnLike_clicked()
+{
+  txtSQL->insert(" LIKE ");
+}
+
+QString QgsPgQueryBuilder::sql()
+{
+  return txtSQL->text();
+}
+
+void QgsPgQueryBuilder::setSql( QString sqlStatement)
+{
+  txtSQL->setText(sqlStatement);
+}
+
+void QgsPgQueryBuilder::on_lstFields_doubleClicked( Q3ListBoxItem *item )
+{
+  txtSQL->insert("\"" + item->text() + "\"");
+}
+
+void QgsPgQueryBuilder::on_lstValues_doubleClicked( Q3ListBoxItem *item )
+{
+  txtSQL->insert(item->text());
+}
+
+void QgsPgQueryBuilder::on_btnLessEqual_clicked()
+{
+  txtSQL->insert(" <= ");
+}
+
+void QgsPgQueryBuilder::on_btnGreaterEqual_clicked()
+{
+  txtSQL->insert(" >= ");
+}
+
+void QgsPgQueryBuilder::on_btnNotEqual_clicked()
+{
+  txtSQL->insert(" != ");
+}
+
+void QgsPgQueryBuilder::on_btnAnd_clicked()
+{
+  txtSQL->insert(" AND ");
+}
+
+void QgsPgQueryBuilder::on_btnNot_clicked()
+{
+  txtSQL->insert(" NOT ");
+}
+
+void QgsPgQueryBuilder::on_btnOr_clicked()
+{
+  txtSQL->insert(" OR ");
+}
+
+void QgsPgQueryBuilder::on_btnClear_clicked()
+{
+  txtSQL->clear();
+}
+
+void QgsPgQueryBuilder::on_btnILike_clicked()
+{
+  txtSQL->insert(" ILIKE ");
+}
+void QgsPgQueryBuilder::setDatasourceDescription(QString uri)
+{
+  lblDataUri->setText(uri);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspgquerybuilder.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,149 @@
+/***************************************************************************
+    qgspgquerybuilder.h - Subclassed PostgreSQL query builder 
+     --------------------------------------
+    Date                 : 2004-11-19
+    Copyright            : (C) 2004 by Gary E.Sherman
+    Email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSPGQUERYBUILDER_H
+#define QGSPGQUERYBUILDER_H
+#include <map>
+#include <vector>
+extern "C"
+{
+#include <libpq-fe.h>
+}
+
+#include "ui_qgspgquerybuilderbase.h"
+#include "qgisgui.h"
+#include "qgsfield.h"
+#include "qgsdatasourceuri.h"
+/*!
+ * \class QgsPgQueryBuilder
+ * \brief Query Builder for PostgreSQL layers.
+ *
+ * The query builder allows interactive creation of a SQL for limiting the
+ * features displayed in a database layer.  The fields in the table are
+ * displayed and sample values (or all values) can be viewed to aid in
+ * constructing the query. A test function returns the number of features that
+ * will be returned.
+ *
+ */
+class QgsPgQueryBuilder : public QDialog, private Ui::QgsPgQueryBuilderBase { 
+   Q_OBJECT 
+  public:
+  //! Default constructor - not very useful
+  QgsPgQueryBuilder(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+
+  /*! Constructor which also takes the table name and PG connection pointer.
+  * This constructor is used when adding layers to the map from a PG database since
+  * the query builder can use the same connection as the layer selection dialog.
+  * @param tableName Name of the table being queried
+  * @param con PostgreSQL connection from the Add PostGIS Layer dialog
+  * @param parent Parent widget
+  * @param name Name of the widget
+  */
+  QgsPgQueryBuilder(QString tableName, PGconn *con, QWidget *parent = 0,
+      Qt::WFlags fl = QgisGui::ModalDialogFlags);
+  
+  /*! Constructor that uses a data source URI to create its own connection to the 
+  * PG database. This constructor should be used when a layer's own PG connection
+  * cannot. Using the same connection as that of the layer typically causes problems
+  * and crashes. This constructor is used when the query builder is called from the
+  * vector layer properties dialog
+  * @param uri Reference to a fully populates QgsDataSourceURI structure
+   * @param parent Parent widget
+   * @param name Name of the widget
+   */
+  QgsPgQueryBuilder(QgsDataSourceURI *uri, QWidget *parent = 0,
+      Qt::WFlags fl = QgisGui::ModalDialogFlags); 
+  
+  ~QgsPgQueryBuilder(); 
+ 
+ /*!
+  * Set the connection used the by query builder
+  * @param con Active PostgreSQL connection
+  */ 
+  void setConnection(PGconn *con); 
+
+  public slots:
+    void on_btnEqual_clicked();
+    void on_btnOk_clicked();
+    void on_btnLessThan_clicked();
+    void on_btnGreaterThan_clicked();
+    void on_btnPct_clicked();
+    void on_btnIn_clicked();
+    void on_btnNotIn_clicked();
+    void on_btnLike_clicked();
+    void on_btnILike_clicked();
+    QString sql();
+    void setSql( QString sqlStatement);
+    void on_lstFields_doubleClicked( Q3ListBoxItem *item );
+    void on_lstValues_doubleClicked( Q3ListBoxItem *item );
+    void on_btnLessEqual_clicked();
+    void on_btnGreaterEqual_clicked();
+    void on_btnNotEqual_clicked();
+    void on_btnAnd_clicked();
+    void on_btnNot_clicked();
+    void on_btnOr_clicked();
+    void on_btnClear_clicked();
+  /*! Test the constructed sql statement to see if the database likes it.
+   * The number of rows that would be returned is displayed in a message box.
+   * The test uses a "select count(*) from ..." query to test the SQL 
+   * statement.
+   * @param showResults If true, the results are displayed in a QMessageBox
+   */
+    void on_btnTest_clicked();
+  /*! 
+   * Get all distinct values for the field. Values are inserted
+   * into the value list box
+   */
+    void on_btnGetAllValues_clicked();
+  /*! 
+   * Get sample distinct values for the selected field. The sample size is
+   * limited to an arbitrary value (currently set to 25). The values
+   * are inserted into the values list box.
+   */
+    void on_btnSampleValues_clicked();
+    void setDatasourceDescription(QString uri);
+  private:
+  /*! 
+   * Populate the field list for the selected table
+   */ 
+  void populateFields();
+
+  /*!
+   * Trims surround " characters from the schema and table name
+   */
+  void trimQuotation();
+
+  /*! Get the number of records that would be returned by the current SQL
+   * @return Number of records or -1 if an error was encountered
+   */
+  long countRecords(QString sql);
+  
+  // private members
+  //! Datasource URI
+  QgsDataSourceURI *mUri;
+  //! PostgreSQL connection object
+  PGconn *mPgConnection;
+  //! Table name
+  QString mTableName;
+  //! Vector of QgsField objects
+  std::vector<QgsField> mFields;
+  //! Map that holds field information, keyed by field name
+  std::map<QString, QgsField> mFieldMap;
+  //! Latest PG error message
+  QString mPgErrorMessage;
+  //! Flag to indicate if the class owns the connection to the pg database
+  bool mOwnConnection;
+
+};
+#endif //QGSPGQUERYBUILDER_H

Added: packages/qgis/branches/upstream/current/src/app/qgspluginitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginitem.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,54 @@
+/***************************************************************************
+                               qgspluginitem.cpp  
+                             -------------------
+    begin                : 
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspluginitem.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+#include <qstring.h>
+#include "qgspluginitem.h"
+
+QgsPluginItem::QgsPluginItem(QString _name, QString _description, QString _fullPath, QString _type, bool _python):
+m_name(_name), m_description(_description), m_fullPath(_fullPath), m_type(_type), m_python(_python)
+{
+
+}
+
+QString QgsPluginItem::name()
+{
+  return m_name;
+}
+
+QString QgsPluginItem::description()
+{
+  return m_description;
+}
+
+QString QgsPluginItem::fullPath()
+{
+  return m_fullPath;
+}
+
+QString QgsPluginItem::type()
+{
+  return m_type;
+}
+
+bool QgsPluginItem::isPython()
+{
+  return m_python;
+}
+
+QgsPluginItem::~QgsPluginItem()
+{
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspluginitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginitem.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+/***************************************************************************
+                          qgspluginitem.cpp -  description
+                             -------------------
+    begin                : May 29 2003
+    copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspluginitem.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSPLUGINITEM_H
+#define QGSPLUGINITEM_H
+class QString;
+/**
+Class to contain information about a loadable plugin, including its name, description and the full path to the shared library
+
+ at author Gary Sherman
+*/
+class QgsPluginItem{
+public:
+    QgsPluginItem(QString name=0, QString description=0, QString fullPath=0, QString type=0, bool python=false);
+    QString name();
+    QString description();
+    QString fullPath();
+    QString type();
+    bool isPython();
+    ~QgsPluginItem();
+private:
+	QString m_name;
+	QString m_description;
+	QString m_fullPath;
+  //! Plugin type (either ui or maplayer)
+  QString m_type;
+  
+  //! true if is plugin made in python
+  bool m_python;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgspluginmanager.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginmanager.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginmanager.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,373 @@
+/***************************************************************************
+                          qgspluginmanager.cpp  -  description
+                             -------------------
+    begin                : Someday 2003
+    copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspluginmanager.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include "qgsconfig.h"
+
+#include <iostream>
+#include <QApplication>
+#include <QFileDialog>
+#include <QLineEdit>
+#include <Q3ListView>
+#include <QMessageBox>
+#include <QLibrary>
+#include <QSettings>
+#include "qgisplugin.h"
+#include "qgslogger.h"
+#include "qgspluginmanager.h"
+#include "qgspluginitem.h"
+#include "qgsproviderregistry.h"
+#include "qgspluginregistry.h"
+
+#ifdef HAVE_PYTHON
+#include "qgspythonutils.h"
+#endif
+
+#define TESTLIB
+#ifdef TESTLIB
+// This doesn't work on WIN32 and causes problems with plugins
+// on OS X (the code doesn't cause a problem but including dlfcn.h
+// renders plugins unloadable)
+#if !defined(WIN32) && !defined(Q_OS_MACX) 
+#include <dlfcn.h>
+#endif
+#endif
+QgsPluginManager::QgsPluginManager(QWidget * parent, Qt::WFlags fl)
+: QDialog(parent, fl)
+{
+  setupUi(this);
+  // set the default lib dir to the qgis install directory/lib (this info is
+  // available from the provider registry so we use it here)
+  QgsProviderRegistry *pr = QgsProviderRegistry::instance();
+  /*  char **argv = qApp->argv();
+     QString appDir = argv[0];
+     int bin = appDir.findRev("/bin", -1, false);
+     QString baseDir = appDir.left(bin);
+     QString libDir = baseDir + "/lib"; */
+
+  txtPluginDir->setText(pr->libraryDirectory().path());
+  getPluginDescriptions();
+  getPythonPluginDescriptions();
+}
+
+
+QgsPluginManager::~QgsPluginManager()
+{
+}
+
+void QgsPluginManager::on_btnBrowse_clicked()
+{
+  QString s = QFileDialog::getExistingDirectory(this, tr("Choose a directory"));
+  txtPluginDir->setText(s);
+  getPluginDescriptions();
+}
+
+
+void QgsPluginManager::getPythonPluginDescriptions()
+{
+#ifdef HAVE_PYTHON
+  if (!QgsPythonUtils::isEnabled())
+    return;
+  
+  // look for plugins
+  QDir pluginDir(QgsPythonUtils::pluginsPath(), "*",
+                 QDir::Name | QDir::IgnoreCase, QDir::Dirs | QDir::NoDotAndDotDot);
+
+  for (uint i = 0; i < pluginDir.count(); i++)
+  {
+    QString packageName = pluginDir[i];
+    
+    // import plugin's package
+    QgsPythonUtils::loadPlugin(packageName);
+    
+    // get information from the plugin
+    QString pluginName  = QgsPythonUtils::getPluginMetadata(packageName, "name");
+    QString description = QgsPythonUtils::getPluginMetadata(packageName, "description");
+    QString version     = QgsPythonUtils::getPluginMetadata(packageName, "version");
+    
+    if (pluginName == "???" || description == "???" || version == "???")
+      continue;
+    
+    // add to the list box
+    Q3CheckListItem *pl = new Q3CheckListItem(lstPlugins, pluginName, Q3CheckListItem::CheckBox);
+    pl->setText(1, version);
+    pl->setText(2, description);
+    pl->setText(3, "python:" + packageName);
+  
+    // check to see if the plugin is loaded and set the checkbox accordingly
+    QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
+    
+    QString libName = pRegistry->library(pluginName);
+    if (libName.length() == 0 || !pRegistry->isPythonPlugin(pluginName))
+    {
+      QgsDebugMsg("Couldn't find library name in the registry");
+    }
+    else
+    {
+      QgsDebugMsg("Found library name in the registry");
+      if (libName == packageName)
+      {
+        // set the checkbox
+        pl->setOn(true);
+      }
+    }
+  
+  }
+#endif
+}
+
+
+void QgsPluginManager::getPluginDescriptions()
+{
+QString sharedLibExtension;
+#ifdef WIN32
+sharedLibExtension = "*.dll";
+#else
+sharedLibExtension = "*.so*";
+#endif
+
+// check all libs in the current plugin directory and get name and descriptions
+  QDir pluginDir(txtPluginDir->text(), sharedLibExtension, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
+
+  if (pluginDir.count() == 0)
+  {
+      QMessageBox::information(this, tr("No Plugins"), tr("No QGIS plugins found in ") + txtPluginDir->text());
+      return;
+  }
+
+  QgsDebugMsg("PLUGIN MANAGER:");
+  for (uint i = 0; i < pluginDir.count(); i++)
+  {
+    QString lib = QString("%1/%2").arg(txtPluginDir->text()).arg(pluginDir[i]);
+
+#ifdef TESTLIB
+          // This doesn't work on WIN32 and causes problems with plugins
+          // on OS X (the code doesn't cause a problem but including dlfcn.h
+          // renders plugins unloadable)
+#if !defined(WIN32) && !defined(Q_OS_MACX)
+          // test code to help debug loading problems
+          // This doesn't work on WIN32 and causes problems with plugins
+          // on OS X (the code doesn't cause a problem but including dlfcn.h
+          // renders plugins unloadable)
+
+//          void *handle = dlopen((const char *) lib, RTLD_LAZY);
+    void *handle = dlopen(lib.toLocal8Bit().data(), RTLD_LAZY | RTLD_GLOBAL);
+    if (!handle)
+    {
+      QgsDebugMsg("Error in dlopen: ");
+      QgsDebugMsg(dlerror());
+    }
+    else
+    {
+      QgsDebugMsg("dlopen suceeded for " + lib);
+      dlclose(handle);
+    }
+#endif //#ifndef WIN32 && Q_OS_MACX
+#endif //#ifdef TESTLIB
+
+    QgsDebugMsg("Examining: " + lib);
+    QLibrary *myLib = new QLibrary(lib);
+    bool loaded = myLib->load();
+    if (!loaded)
+    {
+      QgsDebugMsg("Failed to load: " + myLib->library());
+      delete myLib;
+      continue;
+    }
+
+    QgsDebugMsg("Loaded library: " + myLib->library());
+
+    // Don't bother with libraries that are providers
+    //if(!myLib->resolve("isProvider"))
+
+    //MH: Replaced to allow for plugins that are linked to providers
+    //type is only used in non-provider plugins 
+    if (!myLib->resolve("type"))
+    {
+      delete myLib;
+      continue;
+    }
+    
+    // resolve the metadata from plugin
+    name_t *pName = (name_t *) myLib->resolve("name");
+    description_t *pDesc = (description_t *) myLib->resolve("description");
+    version_t *pVersion = (version_t *) myLib->resolve("version");
+
+    // show the values (or lack of) for each function
+    if(pName){
+      QgsDebugMsg("Plugin name: " + pName());
+    }else{
+      QgsDebugMsg("Plugin name not returned when queried\n");
+    }
+    if(pDesc){
+      QgsDebugMsg("Plugin description: " + pDesc());
+    }else{
+      QgsDebugMsg("Plugin description not returned when queried\n");
+    }
+    if(pVersion){
+      QgsDebugMsg("Plugin version: " + pVersion());
+    }else{
+      QgsDebugMsg("Plugin version not returned when queried\n");
+    }
+
+    if (!pName || !pDesc || !pVersion)
+    {
+      QgsDebugMsg("Failed to get name, description, or type for " + myLib->library());
+      delete myLib;
+      continue;
+    }
+
+    Q3CheckListItem *pl = new Q3CheckListItem(lstPlugins, pName(), Q3CheckListItem::CheckBox); //, pDesc(), pluginDir[i])
+    pl->setText(1, pVersion());
+    pl->setText(2, pDesc());
+    pl->setText(3, pluginDir[i]);
+
+    QgsDebugMsg("Getting an instance of the QgsPluginRegistry");
+
+    // check to see if the plugin is loaded and set the checkbox accordingly
+    QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
+
+    // get the library using the plugin description
+    QString libName = pRegistry->library(pName());
+    if (libName.length() == 0)
+    {
+      QgsDebugMsg("Couldn't find library name in the registry");
+    }
+    else
+    {
+      QgsDebugMsg("Found library name in the registry");
+      if (libName == myLib->library())
+      {
+        // set the checkbox
+        pl->setOn(true);
+      }
+    }
+
+    delete myLib;
+  }
+}
+
+
+void QgsPluginManager::on_btnOk_clicked()
+{
+  unload();
+  accept();
+}
+
+void QgsPluginManager::unload()
+{
+  QSettings settings;
+#ifdef QGISDEBUG
+  std::cout << "Checking for plugins to unload" << std::endl;
+#endif
+  Q3CheckListItem *lvi = (Q3CheckListItem *) lstPlugins->firstChild();
+  while (lvi != 0)
+    {
+      if (!lvi->isOn())
+        {
+          // its off -- see if it is loaded and if so, unload it
+          QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
+#ifdef QGISDEBUG
+          std::cout << "Checking to see if " << lvi->text(0).toLocal8Bit().data() << " is loaded" << std::endl;
+#endif
+          
+          QString pluginName = lvi->text(0);
+
+          if (pRegistry->isPythonPlugin(pluginName))
+          {
+#ifdef HAVE_PYTHON
+            QString packageName = pRegistry->library(pluginName);
+            QgsPythonUtils::unloadPlugin(packageName);
+
+            //disable it to the qsettings file
+            settings.writeEntry("/PythonPlugins/" + packageName, false);
+#endif
+          }
+          else // C++ plugin
+          {
+            QgisPlugin *plugin = pRegistry->plugin(pluginName);
+            if (plugin)
+            {
+              plugin->unload();
+            }
+            //disable it to the qsettings file [ts]
+            settings.writeEntry("/Plugins/" + pluginName, false);
+          }
+
+          // remove the plugin from the registry
+          pRegistry->removePlugin(pluginName);
+        }
+      lvi = (Q3CheckListItem *) lvi->nextSibling();
+    }
+}
+
+std::vector < QgsPluginItem > QgsPluginManager::getSelectedPlugins()
+{
+  std::vector < QgsPluginItem > pis;
+  Q3CheckListItem *lvi = (Q3CheckListItem *) lstPlugins->firstChild();
+  while (lvi != 0)
+  {
+    if (lvi->isOn())
+    {
+      QString pluginName = lvi->text(0);
+      bool pythonic = false;
+      
+      QString library = lvi->text(3);
+      if (library.left(7) == "python:")
+      {
+        library = library.mid(7);
+        pythonic = true;
+      }
+      else // C++ plugin
+      {
+        library = txtPluginDir->text() + "/" + library;
+      }
+      
+      pis.push_back(QgsPluginItem(pluginName, lvi->text(2), library, 0, pythonic));
+    }
+    lvi = (Q3CheckListItem *) lvi->nextSibling();
+  }
+  return pis;
+}
+
+void QgsPluginManager::on_btnSelectAll_clicked()
+{
+  // select all plugins
+  Q3CheckListItem *child = dynamic_cast<Q3CheckListItem *>(lstPlugins->firstChild());
+  while(child)
+  {
+    child->setOn(true);
+    child = dynamic_cast<Q3CheckListItem *>(child->nextSibling());
+  }
+
+}
+
+void QgsPluginManager::on_btnClearAll_clicked()
+{
+  // clear all selection checkboxes 
+  Q3CheckListItem *child = dynamic_cast<Q3CheckListItem *>(lstPlugins->firstChild());
+  while(child)
+  {
+    child->setOn(false);
+    child = dynamic_cast<Q3CheckListItem *>(child->nextSibling());
+  }
+}
+
+void QgsPluginManager::on_btnClose_clicked()
+{
+  reject();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspluginmanager.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginmanager.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginmanager.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,60 @@
+/***************************************************************************
+                          qgspluginmanager.h 
+               Plugin manager for loading/unloading QGIS plugins
+                             -------------------
+    begin                : 2004-02-12
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspluginmanager.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSPLUGINMANAGER_H
+#define QGSPLUGINMANAGER_H
+#include <vector>
+#include "ui_qgspluginmanagerbase.h"
+#include "qgisgui.h"
+
+class QgsPluginItem;
+/*!
+ * \brief Plugin manager for loading/unloading plugins
+ at author Gary Sherman
+*/
+class QgsPluginManager : public QDialog, private Ui::QgsPluginManagerBase
+{
+  Q_OBJECT
+  public:
+    //! Constructor
+    QgsPluginManager(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsPluginManager();
+    //! Get description of plugins (name, etc)
+    void getPluginDescriptions();
+    //! Get description of plugins in python (does nothing when python is disabled)
+    void getPythonPluginDescriptions();
+    //! Unload the selected plugins
+    void unload();
+    //! Gets the selected plugins
+    std::vector<QgsPluginItem> getSelectedPlugins();
+    public slots:
+    //! Load selected plugins and close the dialog
+    void on_btnOk_clicked();
+    //! Select all plugins by setting their checkbox on
+    void on_btnSelectAll_clicked();
+    //! Clear all selections by clearing the plugins checkbox
+    void on_btnClearAll_clicked();
+    //! Browse to a location (directory) containing QGIS plugins
+    void on_btnBrowse_clicked();
+    //! Close the dialog
+    void on_btnClose_clicked();
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,53 @@
+/***************************************************************************
+                    qgspluginmetadata.cpp  -  Metadata class for
+                    describing a loaded plugin.
+                             -------------------
+    begin                : Fri Feb 6 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspluginmetadata.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include <qstring.h>
+#include "../plugins/qgisplugin.h"
+#include "qgspluginmetadata.h"
+QgsPluginMetadata::QgsPluginMetadata(QString _libraryPath, 
+                                     QString _name,
+                                     QgisPlugin * _plugin,
+                                     bool _python):
+        m_name(_name),
+        libraryPath(_libraryPath),
+        m_plugin(_plugin),
+        m_python(_python)
+{
+
+}
+
+QString QgsPluginMetadata::name()
+{
+  return m_name;
+}
+
+QString QgsPluginMetadata::library()
+{
+  return libraryPath;
+}
+
+QgisPlugin *QgsPluginMetadata::plugin()
+{
+  return m_plugin;
+}
+
+bool QgsPluginMetadata::isPython()
+{
+  return m_python;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginmetadata.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,45 @@
+/***************************************************************************
+                    qgspluginmetadata.h  -  Metadata class for
+                    describing a loaded plugin.
+                             -------------------
+    begin                : Fri Feb 6 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspluginmetadata.h 6415 2007-01-09 02:39:15Z wonder $ */
+ 
+#ifndef QGSPLUGINMETADATA_H
+#define QGSPLUGINMETADATA_H
+class QgisPlugin;
+class QString;
+/**
+* \class QgsPluginMetadata
+* \brief Stores information about a loaded plugin, including a pointer to
+* the instantiated object. This allows the plugin manager to tell the plugin to
+* unload itself.
+*/
+class QgsPluginMetadata
+{
+public:
+ QgsPluginMetadata(QString _libraryPath, QString _name, QgisPlugin *_plugin, bool _python=false);
+ QString name();
+ QString library();
+ QgisPlugin *plugin();
+ bool isPython();
+private:
+ QString m_name;
+ QString libraryPath;
+ QgisPlugin *m_plugin;
+ bool m_python;
+};
+#endif //QGSPLUGINMETADATA_H
+

Added: packages/qgis/branches/upstream/current/src/app/qgspluginregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginregistry.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,93 @@
+/***************************************************************************
+                    QgsPluginRegistry.cpp  -  Singleton class for
+                    tracking registering plugins.
+                             -------------------
+    begin                : Fri Feb 7 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspluginregistry.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include <iostream>
+#include <qmessagebox.h>
+#include <qstring.h>
+#include <qdir.h>
+#include <qlibrary.h>
+#include <qapplication.h>
+#include "qgsprovidermetadata.h"
+#include "qgspluginregistry.h"
+
+QgsPluginRegistry *QgsPluginRegistry::_instance = 0;
+QgsPluginRegistry *QgsPluginRegistry::instance()
+{
+  if (_instance == 0)
+    {
+      _instance = new QgsPluginRegistry();
+    }
+  return _instance;
+}
+
+QgsPluginRegistry::QgsPluginRegistry()
+{
+// constructor does nothing
+}
+QString QgsPluginRegistry::library(QString pluginKey)
+{
+  QgsPluginMetadata *pmd = plugins[pluginKey];
+  QString retval;
+  if (pmd)
+    {
+      retval = pmd->library();
+    }
+  return retval;
+}
+
+QgsPluginMetadata *QgsPluginRegistry::pluginMetadata(QString name)
+{
+  return plugins[name];
+}
+
+QgisPlugin *QgsPluginRegistry::plugin(QString name)
+{
+  QgsPluginMetadata *pmd = plugins[name];
+  QgisPlugin *retval = 0;
+  if (pmd)
+    {
+      retval = pmd->plugin();
+    }
+  return retval;
+}
+
+bool QgsPluginRegistry::isPythonPlugin(QString name)
+{
+  QgsPluginMetadata* pmd = plugins[name];
+  if (pmd)
+    return pmd->isPython();
+  else
+    return false;
+}
+
+void QgsPluginRegistry::addPlugin(QString library, QString name, QgisPlugin * plugin)
+{
+  plugins[name] = new QgsPluginMetadata(library, name, plugin);
+}
+
+
+void QgsPluginRegistry::addPythonPlugin(QString packageName, QString pluginName)
+{
+  plugins[pluginName] = new QgsPluginMetadata(packageName, pluginName, NULL, true); // true == python plugin
+}
+
+void QgsPluginRegistry::removePlugin(QString name)
+{
+  plugins.erase(name);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspluginregistry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspluginregistry.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspluginregistry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,59 @@
+/***************************************************************************
+                          qgspluginregistry.h    
+           Singleton class for keeping track of installed plugins.
+                             -------------------
+    begin                : Mon Jan 26 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgspluginregistry.h 6415 2007-01-09 02:39:15Z wonder $ */
+ 
+#ifndef QGSPLUGINREGISTRY_H
+#define QGSPLUGINREGISTRY_H
+#include <map>
+#include "qgspluginmetadata.h"
+class QgsPluginMetadata;
+class QgisPlugin;
+class QString;
+/**
+* \class QgsPluginRegistry
+* \brief This class tracks plugins that are currently loaded an provides
+* a means to fetch a pointer to a plugin and unload it
+*/
+class QgsPluginRegistry
+{
+public:
+//! Returns the instance pointer, creating the object on the first call
+ static QgsPluginRegistry* instance();
+ //! Return the full path to the plugins library using the plugin name as a key
+ QString library(QString pluginKey);
+ //! Retrieve the metadata for a plugin by name
+ QgsPluginMetadata * pluginMetadata(QString name);
+ //! Retrieve a pointer to a loaded plugin by name
+ QgisPlugin * plugin(QString name);
+ //! Return whether the plugin is pythonic
+ bool isPythonPlugin(QString name);
+ //! Add a plugin to the map of loaded plugins
+ void addPlugin(QString _library, QString _name, QgisPlugin * _plugin);
+ //! Add a plugin written in python
+ void addPythonPlugin(QString packageName, QString pluginName);
+ //! Remove a plugin from the list of loaded plugins
+ void removePlugin(QString name);
+protected:
+//! protected constructor
+ QgsPluginRegistry();
+private:
+ static QgsPluginRegistry* _instance;
+ std::map<QString,QgsPluginMetadata*> plugins;
+};
+#endif //QgsPluginRegistry_H
+

Added: packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,26 @@
+/***************************************************************************
+                                 qgslinestyle.h
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgspointstylewidget.h"
+
+QgsPointStyleWidget::QgsPointStyleWidget( QWidget *parent, const char * name, Qt::WFlags f)
+           :QgsPointStyleWidgetBase( )
+{
+}
+
+QgsPointStyleWidget::~QgsPointStyleWidget()
+{
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspointstylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,40 @@
+/***************************************************************************
+                                qgspointstyle.h 
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSPOINTSTYLE_H
+#define QGSPOINTSTYLE_H
+
+#include "ui_qgspointstylewidgetbase.h"
+#include <QDialog>
+
+
+class QgsPointStyleWidget:public QDialog, private Ui::QgsPointStyleWidgetBase
+{
+  Q_OBJECT;
+  public:
+
+  //! Constructor
+  QgsPointStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
+
+  ~QgsPointStyleWidget();
+
+
+public slots:
+  
+private:
+    
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,297 @@
+/***************************************************************************
+                            qgsprojectproperties.cpp
+       Set various project properties (inherits qgsprojectpropertiesbase)
+                              -------------------
+  begin                : May 18, 2004
+  copyright            : (C) 2004 by Gary E.Sherman
+  email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsprojectproperties.cpp 6447 2007-01-21 05:29:14Z telwertowski $ */
+
+#include "qgsprojectproperties.h"
+
+//qgis includes
+#include "qgscontexthelp.h"
+#include "qgscoordinatetransform.h"
+#include "qgslogger.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsmaprender.h"
+#include "qgsproject.h"
+#include "qgsrenderer.h"
+
+//qt includes
+#include <QColorDialog>
+
+//stdc++ includes
+#include <iostream>
+
+
+QgsProjectProperties::QgsProjectProperties(QgsMapCanvas* mapCanvas, QWidget *parent, Qt::WFlags fl)
+  : QDialog(parent, fl), mMapCanvas(mapCanvas)
+{
+  setupUi(this);
+  connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+  connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+  connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
+  connect(this, SIGNAL(accepted()), this, SLOT(apply()));
+
+  ///////////////////////////////////////////////////////////
+  // Properties stored in map canvas's QgsMapRender
+  // these ones are propagated to QgsProject by a signal
+  
+  QgsMapRender* myRender = mMapCanvas->mapRender();
+  QGis::units myUnit = myRender->mapUnits();
+  setMapUnits(myUnit);
+
+  //see if the user wants on the fly projection enabled
+  bool myProjectionEnabled = myRender->projectionsEnabled();
+  cbxProjectionEnabled->setChecked(myProjectionEnabled);
+  
+  // set the default wkt to WGS 84
+  long mySRSID = myRender->destinationSrs().srsid();
+  QgsDebugMsg("Read project SRSID: " + QString::number(mySRSID));
+  projectionSelector->setSelectedSRSID(mySRSID);
+
+  ///////////////////////////////////////////////////////////
+  // Properties stored in QgsProject
+  
+  title(QgsProject::instance()->title());
+
+  // get the manner in which the number of decimal places in the mouse
+  // position display is set (manual or automatic)
+  bool automaticPrecision = QgsProject::instance()->readBoolEntry("PositionPrecision","/Automatic");
+  if (automaticPrecision)
+    radAutomatic->setChecked(true);
+  else
+    radManual->setChecked(true);
+
+  int dp = QgsProject::instance()->readNumEntry("PositionPrecision", "/DecimalPlaces");
+  spinBoxDP->setValue(dp);
+
+  //get the snapping tolerance for digitising and set the control accordingly
+  double mySnapTolerance = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
+  //leSnappingTolerance->setInputMask("000000.000000");
+  leSnappingTolerance->setText(QString::number(mySnapTolerance));
+
+  //get the line width for digitised lines and set the control accordingly
+  int myLineWidth = QgsProject::instance()->readNumEntry("Digitizing","/LineWidth",0);
+  spinDigitisedLineWidth->setValue(myLineWidth);    
+
+  //get the colour of digitising lines and set the button colour accordingly
+  int myRedInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorRedPart",255);
+  int myGreenInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorGreenPart",0);
+  int myBlueInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorBluePart",0);
+  QColor myColour = QColor(myRedInt,myGreenInt,myBlueInt);
+  pbnDigitisedLineColour->setColor(myColour);
+
+
+  //get the colour selections and set the button colour accordingly
+  myRedInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorRedPart",255);
+  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorGreenPart",255);
+  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorBluePart",0);
+  myColour = QColor(myRedInt,myGreenInt,myBlueInt);
+  pbnSelectionColour->setColor(myColour);
+
+  //get the colour for map canvas background and set button colour accordingly (default white)
+  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
+  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
+  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
+  myColour = QColor(myRedInt,myGreenInt,myBlueInt);
+  pbnCanvasColor->setColor(myColour);
+}
+
+QgsProjectProperties::~QgsProjectProperties()
+{}
+
+
+
+// return the map units
+QGis::units QgsProjectProperties::mapUnits() const
+{
+  return mMapCanvas->mapRender()->mapUnits();
+}
+
+
+void QgsProjectProperties::setMapUnits(QGis::units unit)
+{
+  // select the button
+  if (unit == QGis::UNKNOWN)
+  {
+    unit = QGis::METERS;
+  }
+  if (unit==QGis::METERS)
+  {
+    radMeters->setChecked(true);
+  }
+  else if(unit==QGis::FEET)
+  {
+    radFeet->setChecked(true);
+  }
+  else
+  {
+    radDecimalDegrees->setChecked(true);
+  }
+  mMapCanvas->mapRender()->setMapUnits(unit);
+}
+
+
+QString QgsProjectProperties::title() const
+{
+  return titleEdit->text();
+} //  QgsProjectPropertires::title() const
+
+
+void QgsProjectProperties::title( QString const & title )
+{
+  titleEdit->setText( title );
+  QgsProject::instance()->title( title );
+} // QgsProjectProperties::title( QString const & title )
+
+
+
+//when user clicks apply button
+void QgsProjectProperties::apply()
+{
+  // Set the map units
+  // Note. Qt 3.2.3 and greater have a function selectedId() that
+  // can be used instead of the two part technique here
+  QGis::units mapUnit;
+  if (radMeters->isChecked())
+  {
+    mapUnit=QGis::METERS;
+  }
+  else if(radFeet->isChecked())
+  {
+    mapUnit=QGis::FEET;
+  }
+  else
+  {
+    mapUnit=QGis::DEGREES;
+  }
+
+  QgsMapRender* myRender = mMapCanvas->mapRender();
+      
+  myRender->setMapUnits(mapUnit);
+
+  myRender->setProjectionsEnabled(cbxProjectionEnabled->isChecked());
+
+  // Only change the projection if there is a node in the tree
+  // selected that has an srid. This prevents error if the user
+  // selects a top-level node rather than an actual coordinate
+  // system
+  long mySRSID = projectionSelector->getCurrentSRSID();
+  if (mySRSID)
+  {
+    QgsSpatialRefSys srs(mySRSID, QgsSpatialRefSys::QGIS_SRSID);
+    myRender->setDestinationSrs(srs);
+    
+    // write the currently selected projections _proj string_ to project settings
+    std::cout << "SpatialRefSys/ProjectSRSProj4String: " <<  projectionSelector->getCurrentProj4String().toLocal8Bit().data() << std::endl;
+    QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectSRSProj4String",projectionSelector->getCurrentProj4String());
+
+    // Set the map units to the projected coordinates if we are projecting
+    if (isProjected())
+    {
+      // If we couldn't get the map units, default to the value in the
+      // projectproperties dialog box (set above)
+      if (srs.mapUnits() != QGis::UNKNOWN)
+        myRender->setMapUnits(srs.mapUnits());
+    }
+  }
+
+  // Set the project title
+  QgsProject::instance()->title( title() );
+
+  // set the mouse display precision method and the
+  // number of decimal places for the manual option
+  // Note. Qt 3.2.3 and greater have a function selectedId() that
+  // can be used instead of the two part technique here
+  if (radAutomatic->isChecked())
+    QgsProject::instance()->writeEntry("PositionPrecision","/Automatic", true);
+  else
+    QgsProject::instance()->writeEntry("PositionPrecision","/Automatic", false);
+  QgsProject::instance()->writeEntry("PositionPrecision","/DecimalPlaces", spinBoxDP->value());
+  // Announce that we may have a new display precision setting
+  emit displayPrecisionChanged();
+
+  //set the snapping tolerance for digitising (we write as text but read will convert to a num
+  QgsProject::instance()->writeEntry("Digitizing","/Tolerance",leSnappingTolerance->text());
+
+  //set the line width for digitised lines and set the control accordingly
+  QgsProject::instance()->writeEntry("Digitizing","/LineWidth",spinDigitisedLineWidth->value());
+
+  //set the colour of digitising lines
+  QColor myColour = pbnDigitisedLineColour->color();
+  QgsProject::instance()->writeEntry("Digitizing","/LineColorRedPart",myColour.red());
+  QgsProject::instance()->writeEntry("Digitizing","/LineColorGreenPart",myColour.green());
+  QgsProject::instance()->writeEntry("Digitizing","/LineColorBluePart",myColour.blue());
+
+  //set the colour for selections
+  myColour = pbnSelectionColour->color();
+  QgsProject::instance()->writeEntry("Gui","/SelectionColorRedPart",myColour.red());
+  QgsProject::instance()->writeEntry("Gui","/SelectionColorGreenPart",myColour.green());
+  QgsProject::instance()->writeEntry("Gui","/SelectionColorBluePart",myColour.blue()); 
+  QgsRenderer::setSelectionColor(myColour);
+
+  //set the colour for canvas
+  myColour = pbnCanvasColor->color();
+  QgsProject::instance()->writeEntry("Gui","/CanvasColorRedPart",myColour.red());
+  QgsProject::instance()->writeEntry("Gui","/CanvasColorGreenPart",myColour.green());
+  QgsProject::instance()->writeEntry("Gui","/CanvasColorBluePart",myColour.blue()); 
+  //todo XXX set canvas colour
+  emit refresh();
+}
+
+bool QgsProjectProperties::isProjected()
+{
+  return cbxProjectionEnabled->isChecked();
+}
+
+void QgsProjectProperties::showProjectionsTab()
+{
+  tabWidget->setCurrentPage(1);
+}
+
+void QgsProjectProperties::on_pbnDigitisedLineColour_clicked()
+{
+  QColor color = QColorDialog::getColor( pbnDigitisedLineColour->color(), this );
+  if (color.isValid())
+  {
+    pbnDigitisedLineColour->setColor(color);
+  }
+}
+
+void QgsProjectProperties::on_pbnSelectionColour_clicked()
+{
+  QColor color = QColorDialog::getColor( pbnSelectionColour->color(), this );
+  if (color.isValid())
+  {
+    pbnSelectionColour->setColor(color);
+  }
+}
+
+void QgsProjectProperties::on_pbnCanvasColor_clicked()
+{
+  QColor color = QColorDialog::getColor( pbnCanvasColor->color(), this );
+  if (color.isValid())
+  {
+    pbnCanvasColor->setColor(color);
+  }
+}
+
+void QgsProjectProperties::on_buttonBox_helpRequested()
+{
+  std::cout << "running help" << std::endl; 
+  QgsContextHelp::run(context_id);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsprojectproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,108 @@
+/***************************************************************************
+                             qgsprojectproperties.h    
+       Set various project properties (inherits qgsprojectpropertiesbase)
+                              -------------------
+  begin                : May 18, 2004
+  copyright            : (C) 2004 by Gary E.Sherman
+  email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+/* $Id: qgsprojectproperties.h 6447 2007-01-21 05:29:14Z telwertowski $ */
+
+#include "ui_qgsprojectpropertiesbase.h"
+#include "qgis.h"
+#include "qgisgui.h"
+
+class QgsMapCanvas;
+
+
+/*!  Dialog to set project level properties
+
+  @note actual state is stored in QgsProject singleton instance
+
+ */
+class QgsProjectProperties : public QDialog, private Ui::QgsProjectPropertiesBase
+{
+  Q_OBJECT
+public:
+    //! Constructor
+  QgsProjectProperties(QgsMapCanvas* mapCanvas, QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+
+  //! Destructor
+  ~QgsProjectProperties();
+
+  /*! Gets the currently select map units
+   */
+  QGis::units mapUnits() const;
+
+  /*!
+   * Set the map units
+   */
+  void setMapUnits(QGis::units);
+
+  /*!
+     Every project has a title
+  */
+  QString title() const;
+  void title( QString const & title );
+  
+  /*! Accessor for projection */
+  QString projectionWKT();
+
+  /*! Indicates that the projection switch is on */
+  bool isProjected();
+
+public slots:
+  /*!
+   * Slot called when apply button is pressed or dialog is accepted
+   */
+  void apply();
+
+  /*!
+   * Slot to show the projections tab when the dialog is opened
+   */
+  void showProjectionsTab();
+  
+  /*!
+   * Slot to select the digitizing line colour
+   */
+  void on_pbnDigitisedLineColour_clicked();
+
+  /*!
+   * Slot to select the map selection colour
+   */
+  void on_pbnSelectionColour_clicked();
+  
+  /*!
+   * Slot to select the map selection colour
+   */
+  void on_pbnCanvasColor_clicked();
+
+  /*!
+   * Slot to show the context help for this dialog
+   */
+  void on_buttonBox_helpRequested();
+
+signals:
+  //! Signal used to inform listeners that the mouse display precision may have changed
+  void displayPrecisionChanged();
+
+  //! let listening canvases know to refresh
+  void refresh();
+  
+
+private:
+  static const int context_id = 361087368;
+  
+  QgsMapCanvas* mMapCanvas;
+
+};

Added: packages/qgis/branches/upstream/current/src/app/qgspythondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspythondialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspythondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+    qgspythondialog.h - dialog with embedded python console
+    ---------------------
+    begin                : October 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgspythondialog.h"
+#include "qgspythonutils.h"
+
+
+QgsPythonDialog::QgsPythonDialog(QgisInterface* pIface, QWidget *parent)
+  : QDialog(parent)
+{
+  setupUi(this);
+  mIface = pIface;
+  
+  QgsPythonUtils::installConsoleHooks();
+}
+
+QgsPythonDialog::~QgsPythonDialog()
+{
+  QgsPythonUtils::uninstallConsoleHooks();
+}
+
+QString QgsPythonDialog::escapeHtml(QString text)
+{
+    return text.replace("<","&lt;").replace(">","&gt;");
+}
+
+void QgsPythonDialog::on_edtCmdLine_returnPressed()
+{
+  QString command = edtCmdLine->text();
+  QString output;
+  
+  // when using Py_single_input the return value will be always null
+  // we're using custom hooks for output and exceptions to show output in console
+  if (QgsPythonUtils::runString(command))
+  {
+    QgsPythonUtils::evalString("sys.stdout.data", output);
+    QgsPythonUtils::runString("sys.stdout.data = ''");
+    QString result = QgsPythonUtils::getResult();
+    // escape the result so python objects display properly and
+    // we can still use html output to get nicely formatted display
+    output = escapeHtml(output) + escapeHtml(result);
+    
+    if (!output.isEmpty())
+      output += "<br>";
+  }
+  else
+  {
+    QString className, errorText;
+    QgsPythonUtils::getError(className, errorText);
+    
+    output = "<font color=\"red\">" + escapeHtml(className) + ": " + escapeHtml(errorText) + "</font><br>";
+  }
+   
+  QString str = "<b><font color=\"green\">>>></font> " + escapeHtml(command) + "</b><br>" + output;
+  txtHistory->setText(txtHistory->text() + str);
+  edtCmdLine->setText("");
+  
+  txtHistory->moveCursor(QTextCursor::End);
+  txtHistory->ensureCursorVisible();
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspythondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspythondialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspythondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,44 @@
+/***************************************************************************
+    qgspythondialog.h - dialog with embedded python console
+    ---------------------
+    begin                : October 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSPYTHONDIALOG_H
+#define QGSPYTHONDIALOG_H
+
+#include "ui_qgspythondialog.h"
+
+class QgisInterface;
+
+class QgsPythonDialog : public QDialog, private Ui::QgsPythonDialog
+{
+  Q_OBJECT
+  
+  public:
+    QgsPythonDialog(QgisInterface* pIface, QWidget *parent = 0);
+    
+    ~QgsPythonDialog();
+
+    QString escapeHtml(QString text);
+
+  public slots:
+    
+    void on_edtCmdLine_returnPressed();
+    
+  private:
+    
+    QgisInterface* mIface;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgspythonutils.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspythonutils.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspythonutils.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,379 @@
+/***************************************************************************
+    qgspythonutils.cpp - routines for interfacing Python
+    ---------------------
+    begin                : October 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+// python should be first include
+// otherwise issues some warnings
+#include <Python.h>
+
+#include "qgspythonutils.h"
+
+#include "qgsapplication.h"
+#include "qgslogger.h"
+
+#include <QMessageBox>
+
+
+QString QgsPythonUtils::mPluginsPath;
+PyObject* QgsPythonUtils::mMainModule;
+PyObject* QgsPythonUtils::mMainDict;
+bool QgsPythonUtils::mPythonEnabled = false;
+
+
+void QgsPythonUtils::initPython(QgisInterface* interface)
+{
+  // initialize python
+  Py_Initialize();
+  
+  mPythonEnabled = true;
+  
+  mMainModule = PyImport_AddModule("__main__"); // borrowed reference
+  mMainDict = PyModule_GetDict(mMainModule); // borrowed reference
+  
+  // import sys module
+  runString("import sys");
+  
+  // expect that bindings are installed locally, so add the path to modules
+  // also add path to plugins
+  runString("sys.path = [\"" + pythonPath() + "\", \"" + pluginsPath() + "\"] + sys.path");
+
+  // import SIP
+  if (!runString("from sip import wrapinstance, unwrapinstance"))
+  {
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Couldn't load SIP module.\nPython support will be disabled."));
+    PyErr_Clear();
+    exitPython();
+    return;
+  }
+  
+  // import Qt bindings
+  if (!runString("from PyQt4 import QtCore, QtGui"))
+  {
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Couldn't load PyQt bindings.\nPython support will be disabled."));
+    PyErr_Clear();
+    exitPython();
+    return;
+  }
+  
+  // import QGIS bindings
+  if (!runString("from qgis.core import *") ||
+      !runString("from qgis.gui import *"))
+  {
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Couldn't load QGIS bindings.\nPython support will be disabled."));
+    PyErr_Clear();
+    exitPython();
+    return;
+  }
+  
+  runString("import __main__");
+  runString("import traceback"); // for formatting stack traces
+  
+  // hook that will show information and traceback in message box
+  runString(
+      "def qgis_except_hook_msg(type, value, tb, msg):\n"
+      "  lst = traceback.format_exception(type, value, tb)\n"
+      "  if msg == None: msg = 'An error has occured while executing Python code:'\n"
+      "  str = '<font color=\"red\">'+msg+'</font><br><br>'\n"
+      "  for s in lst:\n"
+      "    str += s\n"
+      "  str = str.replace('\\n', '<br>')\n"
+      "  str = str.replace('  ', '&nbsp;')\n" // preserve whitespaces for nicer output
+      "  \n"
+      "  msg = QgsMessageOutput.createMessageOutput()\n"
+      "  msg.setTitle('Error')\n"
+      "  msg.setMessage(str, QgsMessageOutput.MessageHtml)\n"
+      "  msg.showMessage()\n");
+  runString(
+      "def qgis_except_hook(type, value, tb):\n"
+      "  qgis_except_hook_msg(type, value, tb, None)\n");
+  
+  // hook for python console so all output will be redirected
+  // and then shown in console
+  runString(
+      "def console_display_hook(obj):\n"
+      "  __main__.__result = obj\n");
+  
+  installErrorHook();
+  
+  // initialize 'iface' object
+  runString("iface = wrapinstance(" + QString::number((unsigned long) interface) + ", QgisInterface)");
+  runString("plugins = {}");
+
+}
+
+void QgsPythonUtils::exitPython()
+{  
+  Py_Finalize();
+  mMainModule = NULL;
+  mMainDict = NULL;
+  mPythonEnabled = false;
+}
+
+
+bool QgsPythonUtils::isEnabled()
+{
+  return mPythonEnabled;
+}
+
+void QgsPythonUtils::installErrorHook()
+{
+  runString("sys.excepthook = qgis_except_hook");
+}
+
+void QgsPythonUtils::installConsoleHooks()
+{
+  runString("sys.displayhook = console_display_hook\n");
+  
+  runString(
+    "class MyOutputCatcher:\n"
+    "  def __init__(self):\n"
+    "    self.data = ''\n"
+    "  def write(self, stuff):\n"
+    "    self.data += stuff\n");
+  runString("_old_stdout = sys.stdout\n");
+  runString("sys.stdout = MyOutputCatcher()\n");
+  
+}
+
+void QgsPythonUtils::uninstallConsoleHooks()
+{
+  runString("sys.displayhook = sys.__displayhook__");
+  runString("sys.stdout = _old_stdout");
+  
+  // TODO: uninstalling stdout redirection doesn't work
+
+  //installErrorHook();
+}
+
+
+bool QgsPythonUtils::runString(const QString& command)
+{
+  PyRun_String(command.toLocal8Bit().data(), Py_single_input, mMainDict, mMainDict);
+  
+  return (PyErr_Occurred() == 0);
+}
+
+
+QString QgsPythonUtils::getTypeAsString(PyObject* obj)
+{
+  if (obj == NULL)
+    return NULL;
+
+  if (PyClass_Check(obj))
+  {
+    QgsDebugMsg("got class");
+    return QString(PyString_AsString(((PyClassObject*)obj)->cl_name));
+  }
+  else if (PyType_Check(obj))
+  {
+    QgsDebugMsg("got type");
+	return QString(((PyTypeObject*)obj)->tp_name);
+  }
+  else
+  {
+    QgsDebugMsg("got object");
+    PyObject* s = PyObject_Str(obj);
+    QString str;
+    if (s && PyString_Check(s))
+      str = QString(PyString_AsString(s));
+    Py_XDECREF(s);
+    return str;
+  }
+}
+
+bool QgsPythonUtils::getError(QString& errorClassName, QString& errorText)
+{
+  if (!PyErr_Occurred())
+    return false;
+  
+  PyObject* obj_str;
+  PyObject* err_type;
+  PyObject* err_value;
+  PyObject* err_tb;
+  
+  // get the exception information
+  PyErr_Fetch(&err_type, &err_value, &err_tb);
+  
+  // get exception's class name
+  errorClassName = getTypeAsString(err_type);
+    
+  // get exception's text
+  if (err_value != NULL && err_value != Py_None)
+  {
+    obj_str = PyObject_Str(err_value); // new reference
+    errorText = PyString_AS_STRING(obj_str);
+    Py_XDECREF(obj_str);
+  }
+  else
+    errorText.clear();
+  
+  // clear exception
+  PyErr_Clear();
+  
+  return true;
+}
+
+QString QgsPythonUtils::getResult()
+{
+  return getVariableFromMain("__result");
+}
+
+QString QgsPythonUtils::getVariableFromMain(QString name)
+{
+  PyObject* obj;
+  PyObject* obj_str;
+  
+  QString output;
+  
+  // get the result
+  obj = PyDict_GetItemString(mMainDict, name); // obj is borrowed reference
+  
+  if (obj != NULL && obj != Py_None)
+  {
+    obj_str = PyObject_Str(obj); // obj_str is new reference
+    if (obj_str != NULL && obj_str != Py_None)
+    {
+      output = PyString_AsString(obj_str);
+    }
+    Py_XDECREF(obj_str);
+  }
+    
+  // erase result
+  PyDict_SetItemString(mMainDict, name, Py_None);
+  
+  return output;
+}
+
+bool QgsPythonUtils::evalString(const QString& command, QString& result)
+{
+  PyObject* res = PyRun_String(command.toLocal8Bit().data(), Py_eval_input, mMainDict, mMainDict);
+  
+  if (res != NULL && PyString_Check(res))
+  {
+    result = PyString_AsString(res);
+    Py_XDECREF(res);
+    return true;
+  }
+  Py_XDECREF(res);
+  return false;
+}
+
+
+QString QgsPythonUtils::pythonPath()
+{
+  return QgsApplication::pkgDataPath() + "/python";
+}
+
+QString QgsPythonUtils::pluginsPath()
+{
+  return pythonPath() + "/plugins";
+}
+
+QString QgsPythonUtils::getPluginMetadata(QString pluginName, QString function)
+{
+  QString command = pluginName + "." + function + "()";
+  QString retval = "???";
+  
+  PyObject* obj = PyRun_String(command.toLocal8Bit().data(), Py_eval_input, mMainDict, mMainDict);
+  if (PyErr_Occurred())
+  {
+    PyErr_Print(); // just print it to console
+    PyErr_Clear();
+    return "__error__";
+  }
+  else if (PyString_Check(obj))
+  {
+    retval = PyString_AS_STRING(obj);
+  }
+  else
+  {
+    // bad python return value
+    retval = "__error__";
+  }
+  Py_XDECREF(obj);
+  return retval;
+}
+
+
+bool QgsPythonUtils::loadPlugin(QString packageName)
+{
+  // load plugin's package and ensure that plugin is reloaded when changed
+  runString(
+       "try:\n"
+       "  import " + packageName + "\n"
+       "  reload(" + packageName + ")\n"
+       "  __main__.__plugin_result = 'OK'\n"
+       "except:\n"
+       "  qgis_except_hook_msg(sys.exc_type, sys.exc_value, sys.exc_traceback, "
+       "                       'Couldn\\'t load plugin \"" + packageName + "\"')\n"
+       "  __main__.__plugin_result = 'ERROR'\n");
+  
+  return (getVariableFromMain("__plugin_result") == "OK");
+}
+
+
+bool QgsPythonUtils::startPlugin(QString packageName)
+{
+  QString pluginPythonVar = "plugins['" + packageName + "']";
+  
+  // create an instance of the plugin
+  if (!runString(pluginPythonVar + " = " + packageName + ".classFactory(iface)"))
+  {
+    PyErr_Print(); // just print to console
+    PyErr_Clear();
+    
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Couldn't load plugin ") + packageName +
+                         QObject::tr(" due an error when calling its classFactory() method"));
+    return false;
+  }
+  
+  // initGui
+  if (!runString(pluginPythonVar + ".initGui()"))
+  {
+    PyErr_Print(); // just print to console
+    PyErr_Clear();
+    
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Couldn't load plugin ") + packageName +
+                         QObject::tr(" due an error when calling its initGui() method"));
+    return false;
+  }
+  
+  return true;
+}
+
+
+bool QgsPythonUtils::unloadPlugin(QString packageName)
+{
+  // unload and delete plugin!
+  QString varName = "plugins['" + packageName + "']";
+  
+  if (!runString(varName + ".unload()") ||
+      !runString("del " + varName))
+  {
+    PyErr_Print(); // just print to console
+    PyErr_Clear();
+    
+    QMessageBox::warning(0, QObject::tr("Python error"),
+                         QObject::tr("Error while unloading plugin ") + packageName);
+    return false;
+  }
+  
+  return true;
+}

Added: packages/qgis/branches/upstream/current/src/app/qgspythonutils.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgspythonutils.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgspythonutils.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,117 @@
+/***************************************************************************
+    qgspythonutils.h - routines for interfacing Python
+    ---------------------
+    begin                : October 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include <QString>
+
+// forward declaration for PyObject
+#ifndef PyObject_HEAD
+struct _object;
+typedef _object PyObject;
+#endif
+
+class QgisInterface;
+
+/**
+ All calls to Python functions in QGIS come here.
+ 
+ All functions here are static - it's not needed to create an instance of this class
+
+ For now, default path for python plugins is QgsApplication::pluginPath() + "/python"
+
+ */
+class QgsPythonUtils
+{
+  public:
+    
+    /* general purpose functions */
+
+    //! initialize python and import bindings
+    static void initPython(QgisInterface* interface);
+    
+    //! close python interpreter
+    static void exitPython();
+
+    //! returns true if python support is ready to use (must be inited first)
+    static bool isEnabled();
+    
+    //! returns path where QGIS python stuff is located
+    static QString pythonPath();
+    
+    //! run a statement (wrapper for PyRun_String)
+    //! this command is more advanced as enables error checking etc.
+    //! @return true if no error occured
+    static bool runString(const QString& command);
+    
+    static bool evalString(const QString& command, QString& result);
+    
+    //! @return object's type name as a string
+    static QString getTypeAsString(PyObject* obj);
+
+    //! get information about error to the supplied arguments
+    //! @return false if there was no python error
+    static bool getError(QString& errorClassName, QString& errorText);
+    
+    //! get variable from main dictionary
+    static QString getVariableFromMain(QString name);
+
+    /* python console related functions */
+    
+    //! change displayhook and excepthook
+    //! our hooks will just save the result to special variables
+    //! and those can be used in the program
+    static void installConsoleHooks();
+    
+    //! get back to the original settings (i.e. write output to stdout)
+    static void uninstallConsoleHooks();
+    
+    //! get result from the last statement as a string
+    static QString getResult();
+
+    /* plugins related functions */
+    
+    //! return current path for python plugins
+    static QString pluginsPath();
+    
+    //! load python plugin (import)
+    static bool loadPlugin(QString packageName);
+    
+    //! start plugin: add to active plugins and call initGui()
+    static bool startPlugin(QString packageName);
+    
+    //! helper function to get some information about plugin
+    //! @param function one of these strings: name, tpye, version, description
+    static QString getPluginMetadata(QString pluginName, QString function);
+
+    //! unload plugin
+    static bool unloadPlugin(QString packageName);
+
+  protected:
+    
+    static void installErrorHook();
+
+    
+    //! path where 
+    static QString mPluginsPath;
+    
+    //! reference to module __main__
+    static PyObject* mMainModule;
+    
+    //! dictionary of module __main__
+    static PyObject* mMainDict;
+    
+    //! flag determining that python support is enabled
+    static bool mPythonEnabled;
+};

Added: packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1146 @@
+/***************************************************************************
+  qgsrasterlayerproperties.cpp  -  description
+  -------------------
+begin                : 1/1/2004
+copyright            : (C) 2004 Tim Sutton
+email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+
+#include "qgsapplication.h"
+#include "qgscoordinatetransform.h"
+#include "qgsrasterlayerproperties.h"
+#include "qgslayerprojectionselector.h"
+#include "qgsproject.h"
+#include "qgsrasterbandstats.h"
+#include "qgsrasterlayer.h"
+#include "qgsrasterpyramid.h"
+#include "qgscontexthelp.h"
+
+#include <QMessageBox>
+#include <QPainter>
+#include <QPolygon>
+#include <iostream>
+
+const char * const ident = 
+  "$Id: qgsrasterlayerproperties.cpp 7086 2007-07-25 20:00:26Z timlinux $";
+
+
+QgsRasterLayerProperties::QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent, Qt::WFlags fl)
+: QDialog(parent, fl), 
+  rasterLayer( dynamic_cast<QgsRasterLayer*>(lyr) )
+{
+  
+  if (rasterLayer->getDataProvider() == 0)
+  {
+    // This is a GDAL-based layer
+    rasterLayerIsGdal = TRUE;
+    rasterLayerIsWms = FALSE;
+  }
+  else if (rasterLayer->getDataProvider()->name() == "wms")
+  {
+    // This is a WMS-based layer
+    rasterLayerIsWms = TRUE;
+    rasterLayerIsGdal = FALSE;
+  }
+
+  setupUi(this);
+  connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+  connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+  connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
+  connect(this, SIGNAL(accepted()), this, SLOT(apply()));
+  connect(sliderTransparency, SIGNAL(valueChanged(int)), this, SLOT(sliderTransparency_valueChanged(int)));
+
+  // set up the scale based layer visibility stuff....
+  chkUseScaleDependentRendering->setChecked(lyr->scaleBasedVisibility());
+  spinMinimumScale->setValue((int)lyr->minScale());
+  spinMaximumScale->setValue((int)lyr->maxScale());
+
+  // build GUI components
+
+  cboColorMap->insertItem(tr("Grayscale"));
+  cboColorMap->insertItem(tr("Pseudocolor"));
+  cboColorMap->insertItem(tr("Freak Out"));
+
+  //set the std deviations to be plotted combo box
+  cboStdDev->insertItem("0");
+  cboStdDev->insertItem("0.5");
+  cboStdDev->insertItem("0.75");
+  cboStdDev->insertItem("1");
+  cboStdDev->insertItem("1.25");
+  cboStdDev->insertItem("1.5");
+  cboStdDev->insertItem("1.75");
+  cboStdDev->insertItem("2");
+  cboStdDev->insertItem("2.25");
+  cboStdDev->insertItem("2.5");
+  cboStdDev->insertItem("2.75");
+  cboStdDev->insertItem("3");
+
+  //
+  // Set up the combo boxes that contain band lists using the qstring list generated above
+  //
+
+  if (rasterLayer->getRasterLayerType()
+          == QgsRasterLayer::PALETTE) //paletted layers have hard coded color entries
+  {
+    cboRed->insertItem("Red");
+    cboGreen->insertItem("Red");
+    cboBlue->insertItem("Red");
+
+    cboRed->insertItem("Green");
+    cboGreen->insertItem("Green");
+    cboBlue->insertItem("Green");
+
+    cboRed->insertItem("Blue");
+    cboGreen->insertItem("Blue");
+    cboBlue->insertItem("Blue");
+
+    cboRed->insertItem(tr("Not Set"));
+    cboGreen->insertItem(tr("Not Set"));
+    cboBlue->insertItem(tr("Not Set"));
+
+    cboGray->insertItem("Red");
+    cboGray->insertItem("Green");
+    cboGray->insertItem("Blue");
+    cboGray->insertItem(tr("Not Set"));
+
+    lstHistogramLabels->insertItem(tr("Palette"));
+  }
+  else                   // all other layer types use band name entries only
+  {
+#ifdef QGISDEBUG
+    std::cout << "Populating combos for non paletted layer" << std::endl;
+#endif
+
+    //
+    // Get a list of band names
+    //
+    QStringList myBandNameQStringList;
+
+    int myBandCountInt = rasterLayer->getBandCount();
+#ifdef QGISDEBIG
+    std::cout << "Looping though " << myBandCountInt << " image layers to get their names " << std::endl;
+#endif
+    for (int myIteratorInt = 1;
+            myIteratorInt <= myBandCountInt;
+            ++myIteratorInt)
+    {
+      //find out the name of this band
+      QString myRasterBandNameQString = rasterLayer->getRasterBandName(myIteratorInt) ;
+
+      //
+      //add the band to the histogram tab
+      //
+      QPixmap myPixmap(10,10);
+
+      if (myBandCountInt==1) //draw single band images with black
+      {
+        myPixmap.fill( Qt::black );
+      }
+      else if (myIteratorInt==1)
+      {
+        myPixmap.fill( Qt::red );
+      }
+      else if (myIteratorInt==2)
+      {
+        myPixmap.fill( Qt::green );
+      }
+      else if (myIteratorInt==3)
+      {
+        myPixmap.fill( Qt::blue );
+      }
+      else if (myIteratorInt==4)
+      {
+        myPixmap.fill( Qt::magenta );
+      }
+      else if (myIteratorInt==5)
+      {
+        myPixmap.fill( Qt::darkRed );
+      }
+      else if (myIteratorInt==6)
+      {
+        myPixmap.fill( Qt::darkGreen );
+      }
+      else if (myIteratorInt==7)
+      {
+        myPixmap.fill( Qt::darkBlue );
+      }
+      else
+      {
+        myPixmap.fill( Qt::gray );
+      }
+      lstHistogramLabels->insertItem(myPixmap,myRasterBandNameQString);
+      //keep a list of band names for later use
+      //! @note band names should not be translated!
+      myBandNameQStringList.append(myRasterBandNameQString);
+    }
+
+    //select all histogram layers list items by default
+    for (int myIteratorInt = 1;
+          myIteratorInt <= myBandCountInt;
+          ++myIteratorInt)
+    {
+      Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
+      lstHistogramLabels->setSelected( myItem,true);
+    }
+
+    for (QStringList::Iterator myIterator = myBandNameQStringList.begin(); 
+            myIterator != myBandNameQStringList.end(); 
+            ++myIterator)
+    {
+      QString myQString = *myIterator;
+#ifdef QGISDEBUG
+
+      std::cout << "Inserting : " << myQString.toLocal8Bit().data() << std::endl;
+#endif
+
+      cboGray->insertItem(myQString);
+      cboRed->insertItem(myQString);
+      cboGreen->insertItem(myQString);
+      cboBlue->insertItem(myQString);
+      cboTransparent->insertItem(myQString);
+    }
+    cboRed->insertItem(tr("Not Set"));
+    cboGreen->insertItem(tr("Not Set"));
+    cboBlue->insertItem(tr("Not Set"));
+    cboTransparent->insertItem(tr("Not Set"));
+    if (cboGray->count() != 1)
+      cboGray->insertItem(tr("Not Set"));
+  }
+
+  QString myThemePath = QgsApplication::themePath();
+  QPixmap myPyramidPixmap(myThemePath + "/mIconPyramid.png");
+  QPixmap myNoPyramidPixmap(myThemePath + "/mIconNoPyramid.png");
+
+  // Only do pyramids if dealing directly with GDAL.
+  if (rasterLayerIsGdal)
+  {
+    QgsRasterLayer::RasterPyramidList myPyramidList = rasterLayer->buildRasterPyramidList();
+    QgsRasterLayer::RasterPyramidList::iterator myRasterPyramidIterator;
+  
+    for ( myRasterPyramidIterator=myPyramidList.begin();
+            myRasterPyramidIterator != myPyramidList.end();
+            ++myRasterPyramidIterator )
+    {
+      if ((*myRasterPyramidIterator).existsFlag==true)
+      {
+        lbxPyramidResolutions->insertItem(myPyramidPixmap,
+                QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
+                QString::number((*myRasterPyramidIterator).yDimInt)); 
+      }
+      else
+      {
+        lbxPyramidResolutions->insertItem(myNoPyramidPixmap,
+                QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
+                QString::number((*myRasterPyramidIterator).yDimInt)); 
+      }
+    }
+  }
+  else if (rasterLayerIsWms)
+  {
+    // disable Pyramids tab completely
+    tabBar->setTabEnabled(tabBar->indexOf(tabPagePyramids), FALSE);
+
+    // disable Histogram tab completely
+    tabBar->setTabEnabled(tabBar->indexOf(tabPageHistogram), FALSE);
+  }
+
+  leSpatialRefSys->setText(rasterLayer->srs().proj4String());
+  
+  //draw the histogram
+  //on_pbnHistRefresh_clicked();
+
+  // update based on lyr's current state
+  sync();
+} // QgsRasterLayerProperties ctor
+
+
+QgsRasterLayerProperties::~QgsRasterLayerProperties()
+{
+}
+
+
+void QgsRasterLayerProperties::apply()
+{
+  // set up the scale based layer visibility stuff....
+  rasterLayer->setScaleBasedVisibility(chkUseScaleDependentRendering->isChecked());
+  rasterLayer->setMinScale(spinMinimumScale->value());
+  rasterLayer->setMaxScale(spinMaximumScale->value());
+
+  rasterLayer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value()));
+  //set the std deviations to be plotted
+  rasterLayer->setStdDevsToPlot(cboStdDev->currentText().toDouble());
+  //set whether the layer histogram should be inverted
+  if (cboxInvertColorMap->isChecked()
+     )
+  {
+    rasterLayer->setInvertHistogramFlag(true);
+  }
+  else
+  {
+    rasterLayer->setInvertHistogramFlag(false);
+  }
+  //now set the color -> band mapping combos to the correct values
+  rasterLayer->setRedBandName(cboRed->currentText());
+  rasterLayer->setGreenBandName(cboGreen->currentText());
+  rasterLayer->setBlueBandName(cboBlue->currentText());
+  rasterLayer->setGrayBandName(cboGray->currentText());
+  rasterLayer->setTransparentBandName(cboTransparent->currentText());
+  //set the appropriate color ramping type
+  if (cboColorMap->currentText() == tr("Pseudocolor"))
+  {
+    rasterLayer->setColorRampingType(QgsRasterLayer::BLUE_GREEN_RED);  
+  }
+  else if (cboColorMap->currentText() == tr("Freak Out"))
+  {
+    rasterLayer->setColorRampingType(QgsRasterLayer::FREAK_OUT);  
+  }
+  //set the appropriate render style
+  if ((grpBoxGrayscale->isEnabled())
+          && (rbtnSingleBand->isChecked()))
+  {
+    //
+    // Grayscale
+    //
+    if (rasterLayer->rasterLayerType == QgsRasterLayer::GRAY_OR_UNDEFINED)
+    {
+
+      if (cboColorMap->currentText() != tr("Grayscale"))
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to :: SINGLE_BAND_PSEUDO_COLOR" << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR);
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to :: SINGLE_BAND_GRAY" << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::SINGLE_BAND_GRAY);
+      }
+    }
+    //
+    // Paletted Image
+    //
+    else if (rasterLayer->rasterLayerType == QgsRasterLayer::PALETTE)
+    {
+      if (cboColorMap->currentText() != tr("Grayscale"))
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to :: PALETTED_SINGLE_BAND_PSEUDO_COLOR" << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR);
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to :: PALETTED_SINGLE_BAND_GRAY" << std::endl;
+#endif
+#ifdef QGISDEBUG
+
+        std::cout << "Combo value : " << cboGray->currentText().toLocal8Bit().data() << " GrayBand Mapping : " << rasterLayer->
+            getGrayBandName().toLocal8Bit().data() << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_SINGLE_BAND_GRAY);
+      }
+    }
+    //
+    // Mutltiband
+    //
+    else if (rasterLayer->rasterLayerType == QgsRasterLayer::MULTIBAND)
+    {
+      if (cboColorMap->currentText() != tr("Grayscale"))
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to ::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR " << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR);
+      }
+      else
+      {
+#ifdef QGISDEBUG
+        std::cout << "Setting Raster Drawing Style to :: MULTI_BAND_SINGLE_BAND_GRAY" << std::endl;
+        std::cout << "Combo value : " << cboGray->currentText().toLocal8Bit().data() << " GrayBand Mapping : " << rasterLayer->
+            getGrayBandName().toLocal8Bit().data() << std::endl;
+#endif
+
+        rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_SINGLE_BAND_GRAY);
+
+      }
+    }
+  }                           //end of grayscale box enabled and rbtnsingleband checked
+  else                          //assume that rbtnThreeBand is checked and render in rgb color
+  {
+    //set the grayscale color table type if the groupbox is enabled
+
+    if (rasterLayer->rasterLayerType == QgsRasterLayer::PALETTE)
+    {
+#ifdef QGISDEBUG
+      std::cout << "Setting Raster Drawing Style to :: PALETTED_MULTI_BAND_COLOR" << std::endl;
+#endif
+
+      rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_MULTI_BAND_COLOR);
+    }
+    else if (rasterLayer->rasterLayerType == QgsRasterLayer::MULTIBAND)
+    {
+
+#ifdef QGISDEBUG
+      std::cout << "Setting Raster Drawing Style to :: MULTI_BAND_COLOR" << std::endl;
+#endif
+
+      rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_COLOR);
+    }
+
+  }
+  
+  rasterLayer->setLayerName(leDisplayName->text());
+  
+  //update the legend pixmap
+  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
+  pixmapLegend->setScaledContents(true);
+  pixmapLegend->repaint(false);
+  
+  //see if the user would like debug overlays
+  if (cboxShowDebugInfo->isChecked()
+          == true)
+  {
+    rasterLayer->setShowDebugOverlayFlag(true);
+  }
+  else
+  {
+    rasterLayer->setShowDebugOverlayFlag(false);
+  }
+  //get the thumbnail for the layer
+  QPixmap myQPixmap = QPixmap(pixmapThumbnail->width(),pixmapThumbnail->height());
+  rasterLayer->drawThumbnail(&myQPixmap);
+  pixmapThumbnail->setPixmap(myQPixmap);
+  
+  // update symbology
+  emit refreshLegend(rasterLayer->getLayerID());
+  
+  //make sure the layer is redrawn
+  rasterLayer->triggerRepaint();
+}//apply
+
+void QgsRasterLayerProperties::sliderTransparency_valueChanged(int theValue)
+{
+  //set the transparency percentage label to a suitable value
+  int myInt = static_cast < int >((theValue / 255.0) * 100);  //255.0 to prevent integer division
+  lblTransparencyPercent->setText(QString::number(myInt) + "%");
+}//sliderTransparency_valueChanged
+
+
+void QgsRasterLayerProperties::on_rbtnSingleBand_toggled(bool)
+{}
+
+
+void QgsRasterLayerProperties::on_rbtnThreeBand_toggled(bool)
+{}
+
+void QgsRasterLayerProperties::on_buttonBuildPyramids_clicked()
+{
+
+  //
+  // Go through the list marking any files that are selected in the listview
+  // as true so that we can generate pyramids for them.
+  //
+  QgsRasterLayer::RasterPyramidList myPyramidList = rasterLayer->buildRasterPyramidList();
+  for ( unsigned int myCounterInt = 0; myCounterInt < lbxPyramidResolutions->count(); myCounterInt++ )
+  {
+    Q3ListBoxItem *myItem = lbxPyramidResolutions->item( myCounterInt );
+    if ( myItem->isSelected() )
+    {
+      //mark to be pyramided
+      myPyramidList[myCounterInt].existsFlag=true;
+    }
+  }
+  //
+  // Ask raster layer to build the pyramids
+  //
+  
+  // let the user know we're going to possibly be taking a while
+  QApplication::setOverrideCursor(Qt::WaitCursor);
+  QString res = rasterLayer->buildPyramids(myPyramidList,cboResamplingMethod->currentText());
+  QApplication::restoreOverrideCursor();
+  if (!res.isNull())
+  {
+    if (res == "ERROR_WRITE_ACCESS")
+    {
+      QMessageBox::warning(this, tr("Write access denied"),
+                           tr("Write access denied. Adjust the file permissions and try again.\n\n") );
+    }
+    else if (res == "ERROR_WRITE_FORMAT")
+    {
+      QMessageBox::warning(this, tr("Building pyramids failed."),
+                           tr("The file was not writeable. Some formats can not be written to, only read. You can also try to check the permissions and then try again.") );
+    }
+    else if (res == "FAILED_NOT_SUPPORTED")
+    {
+      QMessageBox::warning(this, tr("Building pyramids failed."),
+                           tr("Building pyramid overviews is not supported on this type of raster.") );
+    }
+  }
+
+  
+  //
+  // repopulate the pyramids list
+  //
+  lbxPyramidResolutions->clear();
+  QString myThemePath = QgsApplication::themePath();
+  QPixmap myPyramidPixmap(myThemePath + "/mIconPyramid.png");
+  QPixmap myNoPyramidPixmap(myThemePath + "/mIconNoPyramid.png");
+
+  QgsRasterLayer::RasterPyramidList::iterator myRasterPyramidIterator;
+  for ( myRasterPyramidIterator=myPyramidList.begin();
+          myRasterPyramidIterator != myPyramidList.end();
+          ++myRasterPyramidIterator )
+  {
+    if ((*myRasterPyramidIterator).existsFlag==true)
+    {
+      lbxPyramidResolutions->insertItem(myPyramidPixmap,
+              QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
+              QString::number((*myRasterPyramidIterator).yDimInt)); 
+    }
+    else
+    {
+      lbxPyramidResolutions->insertItem(myNoPyramidPixmap,
+              QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
+              QString::number((*myRasterPyramidIterator).yDimInt)); 
+    }
+  }
+  //update the legend pixmap
+  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
+  pixmapLegend->setScaledContents(true);
+  pixmapLegend->repaint(false);
+  //populate the metadata tab's text browser widget with gdal metadata info
+  QString myStyle = QgsApplication::reportStyleSheet();
+  txtbMetadata->setHtml(rasterLayer->getMetadata());
+  txtbMetadata->document()->setDefaultStyleSheet(myStyle);
+}
+
+
+/**
+  @note moved from ctor
+
+  Previously this dialog was created anew with each right-click pop-up menu
+  invokation.  Changed so that the dialog always exists after first
+  invocation, and is just re-synchronized with its layer's state when
+  re-shown.
+
+*/
+void QgsRasterLayerProperties::sync()
+{
+  cboxShowDebugInfo->hide();
+
+  //get the thumbnail for the layer
+  QPixmap myQPixmap = QPixmap(pixmapThumbnail->width(),pixmapThumbnail->height());
+  rasterLayer->drawThumbnail(&myQPixmap);
+  pixmapThumbnail->setPixmap(myQPixmap);
+
+  //populate the metadata tab's text browser widget with gdal metadata info
+  QString myStyle = QgsApplication::reportStyleSheet();
+  txtbMetadata->setHtml(rasterLayer->getMetadata());
+  txtbMetadata->document()->setDefaultStyleSheet(myStyle);
+  //tabSymbology->removePage(tabMetadata);
+
+  //display the raster dimensions and no data value
+  if (rasterLayerIsGdal)
+  {
+    lblColumns->setText(tr("Columns: ") + QString::number(rasterLayer->getRasterXDim()));
+    lblRows->setText(tr("Rows: ") + QString::number(rasterLayer->getRasterYDim()));
+    lblNoData->setText(tr("No-Data Value: ") + QString::number(rasterLayer->getNoDataValue()));
+  }
+  else if (rasterLayerIsWms)
+  {
+    // TODO: Account for fixedWidth and fixedHeight WMS layers
+    lblColumns->setText(tr("Columns: ") + tr("n/a"));
+    lblRows->setText(tr("Rows: ") + tr("n/a"));
+    lblNoData->setText(tr("No-Data Value: ") + tr("n/a"));
+  }
+
+  //these properties (layername and label) are provided by the qgsmaplayer superclass
+  leLayerSource->setText(rasterLayer->source());
+  leDisplayName->setText(rasterLayer->name());
+
+  //update the debug checkbox
+  cboxShowDebugInfo->setChecked(rasterLayer->getShowDebugOverlayFlag());
+
+  //update the legend pixmap on this dialog
+  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
+  pixmapLegend->setScaledContents(true);
+  pixmapLegend->repaint(false);
+
+  //set the palette pixmap
+  pixmapPalette->setPixmap(rasterLayer->getPaletteAsPixmap());
+  pixmapPalette->setScaledContents(true);
+  pixmapPalette->repaint(false);
+
+  //set the transparency slider
+  sliderTransparency->setValue(255 - rasterLayer->getTransparency());
+  //update the transparency percentage label
+  sliderTransparency_valueChanged(255 - rasterLayer->getTransparency());
+  //decide whether user can change rgb settings
+
+  switch (rasterLayer->getDrawingStyle())
+  {
+      case QgsRasterLayer::SINGLE_BAND_GRAY:
+          rbtnThreeBand->setEnabled(false);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR:
+          rbtnThreeBand->setEnabled(false);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::PALETTED_SINGLE_BAND_GRAY:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::PALETTED_MULTI_BAND_COLOR:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnThreeBand->toggle();
+          break;
+      case QgsRasterLayer::MULTI_BAND_SINGLE_BAND_GRAY:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnSingleBand->toggle();
+          break;
+      case QgsRasterLayer::MULTI_BAND_COLOR:
+          rbtnThreeBand->setEnabled(true);
+          rbtnSingleBand->setEnabled(true);
+          rbtnThreeBand->toggle();
+          break;
+      default:
+          break;
+  }
+
+
+  if (rasterLayer->getRasterLayerType() == QgsRasterLayer::MULTIBAND)
+  {
+    //multiband images can also be rendered as single band (using only one of the bands)
+    txtSymologyNotes->
+        setText(tr
+                ("<h3>Multiband Image Notes</h3><p>This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:</p><ul><li>Visible Blue (0.45 to 0.52 microns) - not mapped</li><li>Visible Green (0.52 to 0.60 microns) - not mapped</li></li>Visible Red (0.63 to 0.69 microns) - mapped to red in image</li><li>Near Infrared (0.76 to 0.90 microns) - mapped to green in image</li><li>Mid Infrared (1.55 to 1.75 microns) - not mapped</li><li>Thermal Infrared (10.4 to 12.5 microns) - not mapped</li><li>Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image</li></ul>"));
+  }
+  else if (rasterLayer->getRasterLayerType() == QgsRasterLayer::PALETTE)
+  {
+    //paletted images (e.g. tif) can only be rendered as three band rgb images
+    txtSymologyNotes->
+        setText(tr
+                ("<h3>Paletted Image Notes</h3> <p>This image uses a fixed color palette. You can remap these colors in different combinations e.g.</p><ul><li>Red - blue in image</li><li>Green - blue in image</li><li>Blue - green in image</li></ul>"));
+  }
+  else                        //only grayscale settings allowed
+  {
+    //grayscale images can only be rendered as singleband
+    txtSymologyNotes->
+        setText(tr
+                ("<h3>Grayscale Image Notes</h3> <p>You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.</p>"));
+  }
+
+
+  //
+  // Populate the various controls on the form
+  //
+  if (rasterLayer->getDrawingStyle() == QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR ||
+          rasterLayer->getDrawingStyle() == QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR ||
+          rasterLayer->getDrawingStyle() == QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR)
+  {
+    if(rasterLayer->getColorRampingType()==QgsRasterLayer::BLUE_GREEN_RED)
+    {
+      cboColorMap->setCurrentText(tr("Pseudocolor"));
+    }
+    else
+    {
+      cboColorMap->setCurrentText(tr("Freak Out"));
+    }
+
+  }
+  else
+  {
+    cboColorMap->setCurrentText(tr("Grayscale"));
+  }
+  //set whether the layer histogram should be inverted
+  if (rasterLayer->getInvertHistogramFlag())
+  {
+    cboxInvertColorMap->setChecked(true);
+  }
+  else
+  {
+    cboxInvertColorMap->setChecked(false);
+  }
+
+  double myStdDevsDouble = rasterLayer->getStdDevsToPlot();
+  cboStdDev->setCurrentText(QString::number(myStdDevsDouble));
+
+
+  //now set the combos to the correct values
+  cboRed->setCurrentText(rasterLayer->getRedBandName());
+  cboGreen->setCurrentText(rasterLayer->getGreenBandName());
+  cboBlue->setCurrentText(rasterLayer->getBlueBandName());
+  cboGray->setCurrentText(rasterLayer->getGrayBandName());
+  cboTransparent->setCurrentText(rasterLayer->getTransparentBandName());
+
+
+} // QgsRasterLayerProperties::sync()
+
+void QgsRasterLayerProperties::on_pbnHistRefresh_clicked()
+{
+#ifdef QGISDEBUG
+  std::cout << "QgsRasterLayerProperties::on_pbnHistRefresh_clicked" << std::endl;
+#endif
+  int myBandCountInt = rasterLayer->getBandCount();
+  //
+  // Find out how many bands are selected and short circuit out clearing the image
+  // if needed
+  int mySelectionCount=0;
+  for (int myIteratorInt = 1;
+          myIteratorInt <= myBandCountInt;
+          ++myIteratorInt)
+  {
+    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
+    Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
+    if ( myItem->isSelected() )
+    {
+      mySelectionCount++;
+    }
+  }
+  if (mySelectionCount==0)
+  {
+    int myImageWidth = pixHistogram->width();
+    int myImageHeight =  pixHistogram->height();
+    QPixmap myPixmap(myImageWidth,myImageHeight);
+    myPixmap.fill(Qt::white);
+    pixHistogram->setPixmap(myPixmap);
+  }
+
+  // Explanation:
+  // We use the gdal histogram creation routine is called for each selected  
+  // layer. Currently the hist is hardcoded
+  // to create 256 bins. Each bin stores the total number of cells that 
+  // fit into the range defined by that bin.
+  //
+  // The graph routine below determines the greatest number of pixesl in any given 
+  // bin in all selected layers, and the min. It then draws a scaled line between min 
+  // and max - scaled to image height. 1 line drawn per selected band
+  //
+  const int BINCOUNT = spinHistBinCount->value();
+  enum GRAPH_TYPE { BAR_CHART, LINE_CHART } myGraphType;
+  if (radHistTypeBar->isOn()) myGraphType=BAR_CHART; else myGraphType=LINE_CHART;
+  bool myIgnoreOutOfRangeFlag = chkHistIgnoreOutOfRange->isChecked();
+  bool myThoroughBandScanFlag = chkHistAllowApproximation->isChecked();
+
+#ifdef QGISDEBUG
+  long myCellCount = rasterLayer->getRasterXDim() * rasterLayer->getRasterYDim();
+#endif
+
+
+#ifdef QGISDEBUG
+  std::cout << "Computing histogram minima and maxima" << std::endl;
+#endif
+  //somtimes there are more bins than needed
+  //we find out the last on that actully has data in it
+  //so we can discard the rest adn the x-axis scales correctly
+  int myLastBinWithData=0;
+  //
+  // First scan through to get max and min cell counts from among selected layers' histograms
+  //
+  double myYAxisMax=0;
+  double myYAxisMin=0;
+  int myXAxisMin=0;
+  int myXAxisMax=0;
+  for (int myIteratorInt = 1;
+          myIteratorInt <= myBandCountInt;
+          ++myIteratorInt)
+  {
+    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
+    //calculate the x axis min max
+    if (myRasterBandStats.minValDouble < myXAxisMin || myIteratorInt==1)
+    {
+      myXAxisMin=static_cast < unsigned int >(myRasterBandStats.minValDouble);
+    }
+    if (myRasterBandStats.maxValDouble < myXAxisMax || myIteratorInt==1)
+    {
+      myXAxisMax=static_cast < unsigned int >(myRasterBandStats.maxValDouble);
+    }
+    Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
+    if ( myItem->isSelected() )
+    {
+#ifdef QGISDEBUG
+      std::cout << "Ensuring hist is populated for this layer" << std::endl;
+#endif
+      rasterLayer->populateHistogram(myIteratorInt,BINCOUNT,myIgnoreOutOfRangeFlag,myThoroughBandScanFlag); 
+
+#ifdef QGISDEBUG
+      std::cout << "...done..." << myRasterBandStats.histogramVector->size() << " bins filled" << std::endl;
+#endif
+      for (int myBin = 0; myBin <BINCOUNT; myBin++)
+      {
+        int myBinValue = myRasterBandStats.histogramVector->at(myBin);
+        if (myBinValue > 0 && myBin > myLastBinWithData)
+        {
+          myLastBinWithData = myBin;
+        }
+#ifdef QGISDEBUG
+        std::cout << "Testing if " << myBinValue << " is less than " << myYAxisMin  << "or greater then " <<myYAxisMax  <<  std::endl;
+#endif
+        if ( myBin==0)
+        {
+          myYAxisMin = myBinValue;
+          myYAxisMax = myBinValue;
+        }
+
+        if (myBinValue  > myYAxisMax)
+        {
+          myYAxisMax = myBinValue;
+        }
+        if ( myBinValue < myYAxisMin)
+        {
+          myYAxisMin = myBinValue;
+        }
+      }
+    }
+  }
+#ifdef QGISDEBUG
+  std::cout << "max " << myYAxisMax << std::endl;
+  std::cout << "min " << myYAxisMin << std::endl;
+#endif
+
+
+  //create the image onto which graph and axes will be drawn
+  int myImageWidth = pixHistogram->width();
+  int myImageHeight =  pixHistogram->height();
+  QPixmap myPixmap(myImageWidth,myImageHeight);
+  myPixmap.fill(Qt::white);
+
+  // TODO: Confirm that removing the "const QWidget * copyAttributes" 2nd parameter,
+  // in order to make things work in Qt4, doesn't break things in Qt3.
+  //QPainter myPainter(&myPixmap, this);
+  QPainter myPainter(&myPixmap);
+
+  //determine labels sizes and draw them
+  QFont myQFont("arial", 8, QFont::Normal);
+  QFontMetrics myFontMetrics( myQFont );
+  myPainter.setFont(myQFont);
+  myPainter.setPen(Qt::black);
+  QString myYMaxLabel= QString::number(static_cast < unsigned int >(myYAxisMax));
+  QString myXMinLabel= QString::number(myXAxisMin);
+  QString myXMaxLabel= QString::number(myXAxisMax);
+  //calculate the gutters
+  int myYGutterWidth=0;
+  if (myFontMetrics.width(myXMinLabel) < myFontMetrics.width(myYMaxLabel))
+  {
+    myYGutterWidth = myFontMetrics.width(myYMaxLabel )+2; //add 2 so we can have 1 pix whitespace either side of label
+  }
+  else
+  {
+    myYGutterWidth = myFontMetrics.width(myXMinLabel )+2; //add 2 so we can have 1 pix whitespace either side of label
+  }
+  int myXGutterHeight = myFontMetrics.height()+2;
+  int myXGutterWidth = myFontMetrics.width(myXMaxLabel)+1;//1 pix whtispace from right edge of image
+
+  //
+  // Now calculate the graph drawable area after the axis labels have been taken
+  // into account
+  //
+  int myGraphImageWidth =myImageWidth-myYGutterWidth; 
+  int myGraphImageHeight = myImageHeight-myXGutterHeight; 
+
+  //find out how wide to draw bars when in bar chart mode
+  int myBarWidth = static_cast<int>((((double)myGraphImageWidth)/((double)BINCOUNT)));
+
+
+  //
+  //now draw actual graphs
+  //
+  if (rasterLayer->getRasterLayerType()
+          == QgsRasterLayer::PALETTE) //paletted layers have hard coded color entries
+  {
+    QPolygon myPointArray(myLastBinWithData);
+    QgsColorTable *myColorTable=rasterLayer->colorTable(1);
+#ifdef QGISDEBUG
+    std::cout << "Making paletted image histogram....computing band stats" << std::endl;
+    std::cout << "myLastBinWithData = " << myLastBinWithData << std::endl;
+#endif
+
+    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(1);
+    for (int myBin = 0; myBin < myLastBinWithData; myBin++)
+    {
+      double myBinValue = myRasterBandStats.histogramVector->at(myBin);
+#ifdef QGISDEBUG
+      std::cout << "myBin = " << myBin << " myBinValue = " << myBinValue << std::endl;
+#endif
+      //NOTE: Int division is 0 if the numerator is smaller than the denominator.
+      //hence the casts
+      int myX = static_cast<int>((((double)myGraphImageWidth)/((double)myLastBinWithData))*myBin);
+      //height varies according to freq. and scaled to greatet value in all layers
+      int myY=0;
+      if (myYAxisMax!=0)
+      {  
+        myY=static_cast<int>(((double)myBinValue/(double)myYAxisMax)*myGraphImageHeight);
+      }
+      
+      //see wehter to draw something each loop or to save up drawing for after iteration
+      if (myGraphType==BAR_CHART)
+      {
+	//determin which color to draw the bar
+	int c1, c2, c3;
+	// Take middle of the interval for color
+	// TODO: this is not precise
+	double myInterval = (myXAxisMax - myXAxisMin) / myLastBinWithData;
+	double myMiddle = myXAxisMin + myBin * myInterval + myInterval/2;
+
+#ifdef QGISDEBUG
+	std::cout << "myMiddle = " << myMiddle << std::endl;
+#endif
+	
+	bool found = myColorTable->color ( myMiddle, &c1, &c2, &c3 );
+	if ( !found ) {
+	    std::cout << "Color not found" << std::endl;
+	    c1 = c2 = c3 = 180; // grey
+	}
+	  
+#ifdef QGISDEBUG
+	std::cout << "c1 = " << c1 << " c2 = " << c2 << " c3 = " << c3 << std::endl;
+#endif
+	  
+        //draw the bar
+        //QBrush myBrush(QColor(c1,c2,c3));
+	myPainter.setBrush(QColor(c1,c2,c3));
+        myPainter.setPen(QColor(c1,c2,c3));
+#ifdef QGISDEBUG
+        std::cout << "myX = " << myX << " myY = " << myY << std::endl;
+        std::cout << "rect: " << myX+myYGutterWidth << ", " << myImageHeight-(myY+myXGutterHeight)
+	          << ", " << myBarWidth << ", " << myY << std::endl;
+#endif
+        myPainter.drawRect(myX+myYGutterWidth,myImageHeight-(myY+myXGutterHeight),myBarWidth,myY);
+      }
+      //store this point in our line too
+      myY = myGraphImageHeight - myY;
+      myPointArray.setPoint(myBin, myX+myYGutterWidth, myY-myXGutterHeight);
+    }
+    //draw a line on the graph along the bar peaks; 
+    if (myGraphType==LINE_CHART)
+    {
+      myPainter.setPen( Qt::black );
+      myPainter.drawPolyline(myPointArray);
+    }
+  }
+  else
+  {
+
+    for (int myIteratorInt = 1;
+            myIteratorInt <= myBandCountInt;
+            ++myIteratorInt)
+    {
+      QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
+      Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
+      if ( myItem->isSelected() )
+      {
+
+        QPolygon myPointArray(myLastBinWithData);
+        for (int myBin = 0; myBin <myLastBinWithData; myBin++)
+        {
+          double myBinValue = myRasterBandStats.histogramVector->at(myBin);
+          //NOTE: Int division is 0 if the numerator is smaller than the denominator.
+          //hence the casts
+          int myX = static_cast<int>((((double)myGraphImageWidth)/((double)myLastBinWithData))*myBin);
+          //height varies according to freq. and scaled to greatet value in all layers
+          int myY = static_cast<int>(((double)myBinValue/(double)myYAxisMax)*myGraphImageHeight);
+          //adjust for image origin being top left
+#ifdef QGISDEBUG
+          std::cout << "-------------" << std::endl;
+          std::cout << "int myY = (myBinValue/myCellCount)*myGraphImageHeight" << std::endl;
+          std::cout << "int myY = (" << myBinValue << "/" << myCellCount << ")*" << myGraphImageHeight << std::endl;
+          std::cout << "Band " << myIteratorInt << ", bin " << myBin << ", Hist Value : " << myBinValue << ", Scaled Value : " << myY << std::endl;
+          std::cout << "myY = myGraphImageHeight - myY" << std::endl;
+          std::cout << "myY = " << myGraphImageHeight << "-" << myY << std::endl;
+#endif
+          if (myGraphType==BAR_CHART)
+          {
+            //draw the bar
+            if (myBandCountInt==1) //draw single band images with black
+            {
+              myPainter.setPen( Qt::black );
+            }
+            else if (myIteratorInt==1)
+            {
+              myPainter.setPen( Qt::red );
+            }
+            else if (myIteratorInt==2)
+            {
+              myPainter.setPen( Qt::green );
+            }
+            else if (myIteratorInt==3)
+            {
+              myPainter.setPen( Qt::blue );
+            }
+            else if (myIteratorInt==4)
+            {
+              myPainter.setPen( Qt::magenta );
+            }
+            else if (myIteratorInt==5)
+            {
+              myPainter.setPen( Qt::darkRed );
+            }
+            else if (myIteratorInt==6)
+            {
+              myPainter.setPen( Qt::darkGreen );
+            }
+            else if (myIteratorInt==7)
+            {
+              myPainter.setPen( Qt::darkBlue );
+            }
+            else
+            {
+              myPainter.setPen( Qt::gray );
+            }
+#ifdef QGISDEBUG
+            //  std::cout << "myPainter.fillRect(QRect(" << myX << "," << myY << "," << myBarWidth << "," <<myY << ") , myBrush );" << std::endl;
+#endif
+            myPainter.drawRect(myX+myYGutterWidth,myImageHeight-(myY+myXGutterHeight),myBarWidth,myY);
+          }
+          else //line graph
+          {
+            myY = myGraphImageHeight - myY;
+            myPointArray.setPoint(myBin, myX+myYGutterWidth, myY);
+          }
+        }
+        if (myGraphType==LINE_CHART)
+        {
+          if (myBandCountInt==1) //draw single band images with black
+          {
+            myPainter.setPen( Qt::black );
+          }
+          else if (myIteratorInt==1)
+          {
+            myPainter.setPen( Qt::red );
+          }
+          else if (myIteratorInt==2)
+          {
+            myPainter.setPen( Qt::green );
+          }
+          else if (myIteratorInt==3)
+          {
+            myPainter.setPen( Qt::blue );
+          }
+          else if (myIteratorInt==4)
+          {
+            myPainter.setPen( Qt::magenta );
+          }
+          else if (myIteratorInt==5)
+          {
+            myPainter.setPen( Qt::darkRed );
+          }
+          else if (myIteratorInt==6)
+          {
+            myPainter.setPen( Qt::darkGreen );
+          }
+          else if (myIteratorInt==7)
+          {
+            myPainter.setPen( Qt::darkBlue );
+          }
+          else
+          {
+            myPainter.setPen( Qt::gray );
+          }
+          myPainter.drawPolyline(myPointArray);
+        }
+      }
+    }
+  }
+
+  //
+  // Now draw interval markers on the x axis
+  //
+  int myXDivisions = myGraphImageWidth/10;
+  myPainter.setPen( Qt::gray );
+  for (int i=0;i<myXDivisions;++i)
+  {
+    QPolygon myPointArray(4);
+    myPointArray.setPoint(0,(i*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
+    myPointArray.setPoint(1,(i*myXDivisions)+myYGutterWidth , myImageHeight-(myXGutterHeight-5));
+    myPointArray.setPoint(2,(i*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
+    myPointArray.setPoint(3,((i+1)*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
+    myPainter.drawPolyline(myPointArray);
+  }
+  //
+  // Now draw interval markers on the y axis
+  //
+  int myYDivisions = myGraphImageHeight/10;
+  myPainter.setPen( Qt::gray );
+  for (int i=myYDivisions;i>0;--i)
+  {
+
+    QPolygon myPointArray(4);
+    int myYOrigin = myImageHeight-myXGutterHeight;
+    myPointArray.setPoint(0,myYGutterWidth,myYOrigin-(i*myYDivisions ));
+    myPointArray.setPoint(1,myYGutterWidth-5,myYOrigin-(i*myYDivisions ));
+    myPointArray.setPoint(2,myYGutterWidth,myYOrigin-(i*myYDivisions ));
+    myPointArray.setPoint(3,myYGutterWidth,myYOrigin-((i-1)*myYDivisions ));
+    myPainter.drawPolyline(myPointArray);
+  }
+
+  //now draw the axis labels onto the graph
+  myPainter.drawText(1, 12, myYMaxLabel);
+  myPainter.drawText(1, myImageHeight-myXGutterHeight, QString::number(static_cast < unsigned int >(myYAxisMin)));
+  myPainter.drawText(myYGutterWidth,myImageHeight-1 , myXMinLabel);
+  myPainter.drawText( myImageWidth-myXGutterWidth,myImageHeight-1, myXMaxLabel );
+
+  //
+  // Finish up
+  //
+  myPainter.end();
+  pixHistogram->setPixmap(myPixmap);
+}
+
+void QgsRasterLayerProperties::on_pbnChangeSpatialRefSys_clicked()
+{
+    
+
+    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
+    mySelector->setSelectedSRSID(rasterLayer->srs().srsid());
+    if(mySelector->exec())
+    {
+      QgsSpatialRefSys srs(mySelector->getCurrentSRSID(), QgsSpatialRefSys::QGIS_SRSID);
+      rasterLayer->setSrs(srs);
+    }
+    else
+    {
+      QApplication::restoreOverrideCursor();
+    }
+    delete mySelector;
+    
+    leSpatialRefSys->setText(rasterLayer->srs().proj4String());
+}
+void QgsRasterLayerProperties::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsrasterlayerproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,92 @@
+/** \brief The qgsrasterlayerproperties class is used to set up how raster layers are displayed.
+ */
+/* **************************************************************************
+                          qgsrasterlayerproperties.h  -  description
+                             -------------------
+    begin                : Sun Aug 11 2002
+    copyright            : (C) 2002 by Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrasterlayerproperties.h 6447 2007-01-21 05:29:14Z telwertowski $ */
+#ifndef QGSRASTERLAYERPROPERTIES_H
+#define QGSRASTERLAYERPROPERTIES_H
+#include "ui_qgsrasterlayerpropertiesbase.h"
+#include "qgisgui.h"
+class QgsMapLayer;
+class QgsRasterLayer;
+
+
+/**Property sheet for a raster map layer
+  *@author Tim Sutton
+  */
+
+class QgsRasterLayerProperties : public QDialog, private Ui::QgsRasterLayerPropertiesBase  
+{
+  Q_OBJECT
+    public:
+        /** \brief Constructor
+         * @param ml Map layer for which properties will be displayed
+         */
+        QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent = 0, Qt::WFlags = QgisGui::ModalDialogFlags);
+        /** \brief Destructor */
+        ~QgsRasterLayerProperties();
+
+        /** synchronize state with associated raster layer */
+        void sync();
+
+    public slots:
+        /** \brief Applies the settings made in the dialog without closing the box */
+        void apply();
+        /** \brief slot executed when the transparency level changes. */ 
+        void sliderTransparency_valueChanged( int );
+        /** \brief slot executed when the max red level changes. */
+        void on_rbtnSingleBand_toggled( bool );
+        /** \brief slot executed when the three band radio button is pressed. */
+        void on_rbtnThreeBand_toggled( bool );
+        /** \brief this slot asks the rasterlayer to construct pyramids */
+        void on_buttonBuildPyramids_clicked();
+        /** \brief slot executed when user wishes to refresh raster histogram */
+        void on_pbnHistRefresh_clicked();
+        /** Override the SRS specified when the layer was loaded */
+        void on_pbnChangeSpatialRefSys_clicked();
+        /** Help button */
+        void on_buttonBox_helpRequested();
+        
+  signals:
+    
+        /** emitted when changes to layer were saved to update legend */
+        void refreshLegend(QString layerID);
+
+
+    private:
+        /** \brief Pointer to the raster layer that this property dilog changes the behaviour of. */
+        QgsRasterLayer * rasterLayer;
+
+        /** \brief If the underlying raster layer is of GDAL type (i.e. non-provider)
+
+            This variable is used to determine if various parts of the Properties UI are
+            included or not
+         */
+        bool rasterLayerIsGdal;
+
+        /** \brief If the underlying raster layer is of WMS type (i.e. WMS data provider)
+
+            This variable is used to determine if various parts of the Properties UI are
+            included or not
+         */
+        bool rasterLayerIsWms;
+
+        /** Id for context help */
+        static const int context_id = 394441851;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,298 @@
+/***************************************************************************
+    qgssearchquerybuilder.cpp  - Query builder for search strings
+    ----------------------
+    begin                : March 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include <iostream>
+#include <q3listbox.h>
+#include <QMessageBox>
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgssearchquerybuilder.h"
+#include "qgssearchstring.h"
+#include "qgssearchtreenode.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+
+QgsSearchQueryBuilder::QgsSearchQueryBuilder(QgsVectorLayer* layer,
+                                             QWidget *parent, Qt::WFlags fl)
+  : QDialog(parent, fl), mLayer(layer)
+{
+  setupUi(this);
+  
+  setWindowTitle("Search query builder");
+  
+  // disable unsupported operators
+  btnIn->setEnabled(false);
+  btnNotIn->setEnabled(false);
+  btnPct->setEnabled(false);
+  
+  // change to ~
+  btnILike->setText("~");
+  
+  lblDataUri->setText(layer->name());
+  populateFields();
+}
+
+QgsSearchQueryBuilder::~QgsSearchQueryBuilder()
+{
+}
+
+
+void QgsSearchQueryBuilder::populateFields()
+{
+  const QgsFieldMap& fields = mLayer->getDataProvider()->fields();
+  for (QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
+  {
+    QString fieldName = it->name();
+    
+    mFieldMap[fieldName] = it.key();
+    lstFields->insertItem(fieldName);
+  }
+}
+
+void QgsSearchQueryBuilder::getFieldValues(uint limit)
+{
+  // clear the values list 
+  lstValues->clear();
+  
+  QgsVectorDataProvider* provider = mLayer->getDataProvider();
+  
+  // determine the field type
+  QString fieldName = lstFields->currentText();
+  int fieldIndex = mFieldMap[fieldName];
+  QgsField field = provider->fields()[fieldIndex];
+  bool numeric = (field.type() == QVariant::Int || field.type() == QVariant::Double);
+  
+  QgsFeature feat;
+  QString value;
+
+  QgsAttributeList attrs;
+  attrs.append(fieldIndex);
+  
+  provider->select(attrs, QgsRect(), false);
+  
+  while (provider->getNextFeature(feat) &&
+         (limit == 0 || lstValues->count() != limit))
+  {
+    const QgsAttributeMap& attributes = feat.attributeMap();
+    value = attributes[fieldIndex].toString();
+     
+    if (!numeric)
+    {
+      // put string in single quotes
+      value = "'" + value + "'";
+    }
+    
+    // add item only if it's not there already
+    if (lstValues->findItem(value) == 0)
+      lstValues->insertItem(value);
+    
+  }
+}
+
+void QgsSearchQueryBuilder::on_btnSampleValues_clicked()
+{
+  getFieldValues(25);
+}
+
+void QgsSearchQueryBuilder::on_btnGetAllValues_clicked()
+{
+  getFieldValues(0);
+}
+
+void QgsSearchQueryBuilder::on_btnTest_clicked()
+{
+  long count = countRecords(txtSQL->text());
+  
+  // error?
+  if (count == -1)
+    return;
+
+  QString str;
+  if (count)
+    str.sprintf(tr("Found %d matching features.","",count), count);
+  else
+    str = tr("No matching features found.");
+  QMessageBox::information(this, tr("Search results"), str);
+}
+
+// This method tests the number of records that would be returned
+long QgsSearchQueryBuilder::countRecords(QString searchString) 
+{
+  QgsSearchString search;
+  if (!search.setString(searchString))
+  {
+    QMessageBox::critical(this, tr("Search string parsing error"), search.parserErrorMsg());
+    return -1;
+  }
+  
+  QgsSearchTreeNode* searchTree = search.tree();
+  if (searchTree == NULL)
+  {
+    // entered empty search string
+    return mLayer->featureCount();
+  }
+  
+  QApplication::setOverrideCursor(Qt::waitCursor);
+  
+  int count = 0;
+  QgsFeature feat;
+  QgsVectorDataProvider* provider = mLayer->getDataProvider();
+  const QgsFieldMap& fields = provider->fields();
+  QgsAttributeList allAttributes = provider->allAttributesList();
+
+  provider->select(allAttributes, QgsRect(), false);
+
+  while (provider->getNextFeature(feat))
+  {
+    if (searchTree->checkAgainst(fields, feat.attributeMap()))
+    {
+      count++;
+    }
+    
+    // check if there were errors during evaulating
+    if (searchTree->hasError())
+      break;
+  }
+
+  QApplication::restoreOverrideCursor();
+  
+  return count;
+}
+
+
+void QgsSearchQueryBuilder::on_btnOk_clicked()
+{
+  // if user hits Ok and there is no query, skip the validation
+  if(txtSQL->text().stripWhiteSpace().length() > 0)
+  {
+    accept();
+    return;
+  }
+
+  // test the query to see if it will result in a valid layer
+  long numRecs = countRecords(txtSQL->text());
+  if (numRecs == -1)
+  {
+    // error shown in countRecords
+  }
+  else if (numRecs == 0)
+  {
+    QMessageBox::warning(this, tr("No Records"), tr("The query you specified results in zero records being returned."));
+  }
+  else
+  {
+    accept();
+  }
+
+}
+
+void QgsSearchQueryBuilder::on_btnEqual_clicked()
+{
+  txtSQL->insert(" = ");
+}
+
+void QgsSearchQueryBuilder::on_btnLessThan_clicked()
+{
+  txtSQL->insert(" < ");
+}
+
+void QgsSearchQueryBuilder::on_btnGreaterThan_clicked()
+{
+  txtSQL->insert(" > ");
+}
+
+void QgsSearchQueryBuilder::on_btnPct_clicked()
+{
+  txtSQL->insert(" % ");
+}
+
+void QgsSearchQueryBuilder::on_btnIn_clicked()
+{
+  txtSQL->insert(" IN ");
+}
+
+void QgsSearchQueryBuilder::on_btnNotIn_clicked()
+{
+  txtSQL->insert(" NOT IN ");
+}
+
+void QgsSearchQueryBuilder::on_btnLike_clicked()
+{
+  txtSQL->insert(" LIKE ");
+}
+
+QString QgsSearchQueryBuilder::searchString()
+{
+  return txtSQL->text();
+}
+
+void QgsSearchQueryBuilder::setSearchString(QString searchString)
+{
+  txtSQL->setText(searchString);
+}
+
+void QgsSearchQueryBuilder::on_lstFields_doubleClicked( Q3ListBoxItem *item )
+{
+  txtSQL->insert(item->text());
+}
+
+void QgsSearchQueryBuilder::on_lstValues_doubleClicked( Q3ListBoxItem *item )
+{
+  txtSQL->insert(item->text());
+}
+
+void QgsSearchQueryBuilder::on_btnLessEqual_clicked()
+{
+  txtSQL->insert(" <= ");
+}
+
+void QgsSearchQueryBuilder::on_btnGreaterEqual_clicked()
+{
+  txtSQL->insert(" >= ");
+}
+
+void QgsSearchQueryBuilder::on_btnNotEqual_clicked()
+{
+  txtSQL->insert(" != ");
+}
+
+void QgsSearchQueryBuilder::on_btnAnd_clicked()
+{
+  txtSQL->insert(" AND ");
+}
+
+void QgsSearchQueryBuilder::on_btnNot_clicked()
+{
+  txtSQL->insert(" NOT ");
+}
+
+void QgsSearchQueryBuilder::on_btnOr_clicked()
+{
+  txtSQL->insert(" OR ");
+}
+
+void QgsSearchQueryBuilder::on_btnClear_clicked()
+{
+  txtSQL->clear();
+}
+
+void QgsSearchQueryBuilder::on_btnILike_clicked()
+{
+  //txtSQL->insert(" ILIKE ");
+  txtSQL->insert(" ~ ");
+}
+

Added: packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgssearchquerybuilder.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,118 @@
+/***************************************************************************
+    qgssearchquerybuilder.h  - Query builder for search strings
+    ----------------------
+    begin                : March 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSSEARCHQUERYBUILDER_H
+#define QGSSEARCHQUERYBUILDER_H
+
+#include <map>
+#include <vector>
+
+#include "ui_qgspgquerybuilderbase.h"
+#include "qgisgui.h"
+
+class QgsField;
+class QgsVectorLayer;
+
+/*!
+ * \class QgsSearchQueryBuilder
+ * \brief Query Builder for search strings
+ *
+ */
+class QgsSearchQueryBuilder : public QDialog, private Ui::QgsPgQueryBuilderBase
+{ 
+   Q_OBJECT 
+  
+  public:
+    //! Constructor - takes pointer to vector layer as a parameter
+    QgsSearchQueryBuilder(QgsVectorLayer* layer, QWidget *parent = 0,
+                          Qt::WFlags fl = QgisGui::ModalDialogFlags);
+  
+    ~QgsSearchQueryBuilder(); 
+    
+    //! returns newly created search string
+    QString searchString();
+ 
+    //! change search string shown in text field
+    void setSearchString(QString searchString);
+    
+  public slots:
+    void on_btnEqual_clicked();
+    void on_btnOk_clicked();
+    void on_btnLessThan_clicked();
+    void on_btnGreaterThan_clicked();
+    void on_btnPct_clicked();
+    void on_btnIn_clicked();
+    void on_btnNotIn_clicked();
+    void on_btnLike_clicked();
+    void on_btnILike_clicked();
+    
+    void on_lstFields_doubleClicked( Q3ListBoxItem *item );
+    void on_lstValues_doubleClicked( Q3ListBoxItem *item );
+    void on_btnLessEqual_clicked();
+    void on_btnGreaterEqual_clicked();
+    void on_btnNotEqual_clicked();
+    void on_btnAnd_clicked();
+    void on_btnNot_clicked();
+    void on_btnOr_clicked();
+    void on_btnClear_clicked();
+    
+    /*! Test the constructed search string to see if it's correct.
+     * The number of rows that would be returned is displayed in a message box.
+     * @param showResults If true, the results are displayed in a QMessageBox
+     */
+    void on_btnTest_clicked();
+    
+    /*! 
+     * Get all distinct values for the field. Values are inserted
+     * into the value list box
+     */
+    void on_btnGetAllValues_clicked();
+    
+    /*! 
+     * Get sample distinct values for the selected field. The sample size is
+     * limited to an arbitrary value (currently set to 25). The values
+     * are inserted into the values list box.
+     */
+    void on_btnSampleValues_clicked();
+    
+  private:
+    
+    /*! 
+    * Populate the field list for the selected table
+    */ 
+    void populateFields();  
+
+    /*! Get the number of records that would be returned by the current SQL
+     * @return Number of records or -1 if an error was encountered
+     */
+    long countRecords(QString sql);
+
+    /*!
+     * populates list box with values of selected field
+     * @param limit if not zero, insterts only this count of values
+     */
+    void getFieldValues(uint limit);
+
+  private:
+    
+    //! Layer for which is the query builder opened
+    QgsVectorLayer* mLayer;
+    
+    //! Map that holds field information, keyed by field name
+    QMap<QString, int> mFieldMap;
+
+};
+#endif //QGSSEARCHQUERYBUILDER_H

Added: packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,813 @@
+/***************************************************************************
+    qgserversourceselect.cpp  -  selector for WMS servers, etc.
+                             -------------------
+    begin                : 3 April 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsserversourceselect.cpp 6783 2007-03-10 08:30:49Z homann $ */
+
+#include "qgsserversourceselect.h"
+
+#include "qgslayerprojectionselector.h"
+
+#include "qgsnewhttpconnection.h"
+#include "qgsnumericsortlistviewitem.h"
+#include "qgsproviderregistry.h"
+#include "qgsspatialrefsys.h"
+#include "../providers/wms/qgswmsprovider.h"
+#include "qgscontexthelp.h"
+
+#include "qgsproject.h"
+
+#include "qgsmessageviewer.h"
+
+#include <QMessageBox>
+#include <QPicture>
+#include <QSettings>
+#include <QButtonGroup>
+#include <QMap>
+#include <QImageReader>
+
+#include <iostream>
+
+static long DEFAULT_WMS_EPSG = 4326;  // WGS 84
+
+
+QgsServerSourceSelect::QgsServerSourceSelect(QgisApp * app, QWidget * parent, Qt::WFlags fl)
+  : QDialog(parent, fl),
+    m_Epsg(DEFAULT_WMS_EPSG),
+    qgisApp(app),
+    mWmsProvider(0)
+{
+  setupUi(this);
+  connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
+
+  // Qt Designer 4.1 doesn't let us use a QButtonGroup, so it has to
+  // be done manually... Unless I'm missing something, it's a whole
+  // lot harder to do groups of radio buttons in Qt4 than Qt3.
+  m_imageFormatGroup = new QButtonGroup;
+  m_imageFormatLayout = new QHBoxLayout;
+  // Populate it with buttons for all of the formats that we can support. The
+  // value is the user visible name, and a unique integer, and the key is the
+  // mime type.
+  QMap<QString, QPair<QString, int> > formats;
+  // Note - the "PNG", etc text should match the Qt format strings as given by
+  // a called QImageReader::supportedImageFormats(), but case doesn't matter
+  m_PotentialFormats.insert("image/png",             qMakePair(QString("PNG"),  1));
+  m_PotentialFormats.insert("image/jpeg",            qMakePair(QString("JPEG"), 2));
+  m_PotentialFormats.insert("image/gif",             qMakePair(QString("GIF"),  4));
+  // Desipte the Qt docs saying that it supports bmp, it practise it doesn't work...
+  //m_PotentialFormats.insert("image/wbmp",            qMakePair(QString("BMP"),  5));
+  // Some wms servers will support tiff, but by default Qt doesn't, but leave
+  // this in for those versions of Qt that might support tiff
+  m_PotentialFormats.insert("image/tiff",            qMakePair(QString("TIFF"), 6));
+
+  QMap<QString, QPair<QString, int> >::const_iterator iter = m_PotentialFormats.constBegin();
+  int i = 1;
+  while (iter != m_PotentialFormats.end())
+  {
+    QRadioButton* btn = new QRadioButton(iter.value().first);
+    m_imageFormatGroup->addButton(btn, iter.value().second);
+    m_imageFormatLayout->addWidget(btn);
+    if (i ==1)
+    {
+      btn->setChecked(true);
+    }
+    iter++;
+    i++;
+  }
+
+  m_imageFormatLayout->addStretch();
+  btnGrpImageEncoding->setLayout(m_imageFormatLayout);
+
+  // set up the WMS connections we already know about
+  populateConnectionList();
+
+  // set up the default WMS Coordinate Reference System
+  labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
+}
+
+QgsServerSourceSelect::~QgsServerSourceSelect()
+{
+    
+}
+void QgsServerSourceSelect::populateConnectionList()
+{
+  QSettings settings;
+  QStringList keys = settings.subkeyList("/Qgis/connections-wms");
+  QStringList::Iterator it = keys.begin();
+  cmbConnections->clear();
+  while (it != keys.end())
+  {
+    cmbConnections->insertItem(*it);
+    ++it;
+  }
+  setConnectionListPosition();
+
+  if (keys.begin() == keys.end())
+    {
+      // No connections - disable various buttons
+      btnConnect->setEnabled(FALSE);
+      btnEdit->setEnabled(FALSE);
+      btnDelete->setEnabled(FALSE);
+    }
+  else
+    {
+      // Connections - enable various buttons
+      btnConnect->setEnabled(TRUE);
+      btnEdit->setEnabled(TRUE);
+      btnDelete->setEnabled(TRUE);
+    }
+}
+void QgsServerSourceSelect::on_btnNew_clicked()
+{
+
+  QgsNewHttpConnection *nc = new QgsNewHttpConnection(this);
+
+  if (nc->exec())
+  {
+    populateConnectionList();
+  }
+}
+
+void QgsServerSourceSelect::on_btnEdit_clicked()
+{
+
+  QgsNewHttpConnection *nc = new QgsNewHttpConnection(this, "/Qgis/connections-wms/", cmbConnections->currentText());
+
+  if (nc->exec())
+  {
+    nc->saveConnection();
+  }
+}
+
+void QgsServerSourceSelect::on_btnDelete_clicked()
+{
+  QSettings settings;
+  QString key = "/Qgis/connections-wms/" + cmbConnections->currentText();
+  QString msg =
+    tr("Are you sure you want to remove the ") + cmbConnections->currentText() + tr(" connection and all associated settings?");
+  QMessageBox::StandardButton result = QMessageBox::information(this, tr("Confirm Delete"), msg, QMessageBox::Ok | QMessageBox::Cancel);
+  if (result == QMessageBox::Ok)
+  {
+    settings.remove(key);
+    cmbConnections->removeItem(cmbConnections->currentItem());  // populateConnectionList();
+    setConnectionListPosition();
+  }
+}
+
+void QgsServerSourceSelect::on_btnHelp_clicked()
+{
+  
+  QgsContextHelp::run(context_id);
+
+}
+
+bool QgsServerSourceSelect::populateLayerList(QgsWmsProvider* wmsProvider)
+{
+  std::vector<QgsWmsLayerProperty> layers;
+
+  if (!wmsProvider->supportedLayers(layers))
+  {
+    return FALSE;
+  }
+
+  lstLayers->clear();
+
+  int layerAndStyleCount = 0;
+
+  for (std::vector<QgsWmsLayerProperty>::iterator layer  = layers.begin();
+                                                  layer != layers.end();
+                                                  layer++)
+  {
+
+#ifdef QGISDEBUG
+//  std::cout << "QgsServerSourceSelect::populateLayerList: got layer name " << layer->name.toLocal8Bit().data() << " and title '" << layer->title.toLocal8Bit().data() << "'." << std::endl;
+#endif
+
+    layerAndStyleCount++;
+
+    QgsNumericSortListViewItem *lItem = new QgsNumericSortListViewItem(lstLayers);
+    lItem->setText(0, QString::number(layerAndStyleCount));
+    lItem->setText(1, layer->name.simplifyWhiteSpace());
+    lItem->setText(2, layer->title.simplifyWhiteSpace());
+    lItem->setText(3, layer->abstract.simplifyWhiteSpace());
+    lstLayers->insertItem(lItem);
+
+    // Also insert the styles
+    // Layer Styles
+    for (uint j = 0; j < layer->style.size(); j++)
+    {
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::populateLayerList: got style name " << layer->style[j].name.toLocal8Bit().data() << " and title '" << layer->style[j].title.toLocal8Bit().data() << "'." << std::endl;
+#endif
+
+      layerAndStyleCount++;
+
+      QgsNumericSortListViewItem *lItem2 = new QgsNumericSortListViewItem(lItem);
+      lItem2->setText(0, QString::number(layerAndStyleCount));
+      lItem2->setText(1, layer->style[j].name.simplifyWhiteSpace());
+      lItem2->setText(2, layer->style[j].title.simplifyWhiteSpace());
+      lItem2->setText(3, layer->style[j].abstract.simplifyWhiteSpace());
+
+      lItem->insertItem(lItem2);
+
+    }
+
+  }
+
+  // If we got some layers, let the user add them to the map
+  if (lstLayers->childCount() > 0)
+  {
+    btnAdd->setEnabled(TRUE);
+  }
+  else
+  {
+    btnAdd->setEnabled(FALSE);
+  }
+
+  return TRUE;
+}
+
+
+void QgsServerSourceSelect::populateImageEncodingGroup(QgsWmsProvider* wmsProvider)
+{
+  QStringList formats;
+
+  formats = wmsProvider->supportedImageEncodings();
+
+  //
+  // Remove old group of buttons
+  //
+  QList<QAbstractButton*> btns = m_imageFormatGroup->buttons();
+  for (int i = 0; i < btns.count(); ++i)
+  {
+    btns.at(i)->hide();
+  }
+
+  //
+  // Collect capabilities reported by Qt itself
+  //
+  QList<QByteArray> qtImageFormats = QImageReader::supportedImageFormats();
+
+  QList<QByteArray>::const_iterator it = qtImageFormats.begin();
+  while( it != qtImageFormats.end() )
+  {
+#ifdef QGISDEBUG
+    std::cout << "QgsServerSourceSelect::populateImageEncodingGroup: can support input of '" << (*it).data() << "'." << std::endl;
+#endif
+    ++it;
+  }
+
+
+  //
+  // Add new group of buttons
+  //
+
+  bool first = true;
+  for (QStringList::Iterator format  = formats.begin();
+                             format != formats.end();
+                           ++format)
+  {
+#ifdef QGISDEBUG
+    std::cout << "QgsServerSourceSelect::populateImageEncodingGroup: got image format " << (*format).toLocal8Bit().data() << "." << std::endl;
+#endif
+
+    QMap<QString, QPair<QString, int> >::const_iterator iter = 
+	m_PotentialFormats.find(*format);
+
+    // The formats in qtImageFormats are lowercase, so force ours to lowercase too.
+    if (iter != m_PotentialFormats.end() && 
+	qtImageFormats.contains(iter.value().first.toLower().toLocal8Bit()))
+    {
+      m_imageFormatGroup->button(iter.value().second)->show();
+      if (first)
+      {
+	first = false;
+	m_imageFormatGroup->button(iter.value().second)->setChecked(true);
+      }
+    }
+    else
+    {
+#ifdef QGISDEBUG
+      std::cerr<<"Unsupported type of " << format->toLocal8Bit().data() << '\n';
+#endif
+    }
+  }
+}
+
+
+std::set<QString> QgsServerSourceSelect::crsForSelection()
+{
+  std::set<QString> crsCandidates;
+
+  // XXX - mloskot - temporary solution, function must return a value
+  return crsCandidates;
+
+  QStringList::const_iterator i;
+  for (i = m_selectedLayers.constBegin(); i != m_selectedLayers.constEnd(); ++i)
+  {
+/*    
+
+    for ( int j = 0; j < ilayerProperty.boundingBox.size(); i++ ) 
+    {
+#ifdef QGISDEBUG
+  std::cout << "QgsWmsProvider::parseLayer: testing bounding box CRS which is " 
+            << layerProperty.boundingBox[i].crs.toLocal8Bit().data() << "." << std::endl;
+#endif
+      if ( layerProperty.boundingBox[i].crs == DEFAULT_LATLON_CRS )
+      {
+        extentForLayer[ layerProperty.name ] = 
+                layerProperty.boundingBox[i].box;
+      }
+    }
+
+
+    if
+      cout << (*i).ascii() << endl;*/
+  }
+
+}
+
+
+void QgsServerSourceSelect::on_btnConnect_clicked()
+{
+  // populate the table list
+  QSettings settings;
+
+  QString key = "/Qgis/connections-wms/" + cmbConnections->currentText();
+  
+  QStringList connStringParts;
+  QString part;
+  
+  connStringParts += settings.readEntry(key + "/url");
+
+/*
+  // Add the proxy host and port if any are defined.
+  if ( ! ( (part = settings.readEntry(key + "/proxyhost")).isEmpty() ) )
+  {
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyhost - '" << part.toLocal8Bit().data() << "'." << std::endl;
+#endif
+    connStringParts += part;
+  
+    if ( ! ( (part = settings.readEntry(key + "/proxyport")).isEmpty() ) )
+    {
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyport - '" << part.toLocal8Bit().data() << "'." << std::endl;
+#endif
+      connStringParts += part;
+    }
+    else
+    {
+      connStringParts += "80";   // well-known http port
+    }
+
+    if ( ! ( (part = settings.readEntry(key + "/proxyuser")).isEmpty() ) )
+    {
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyuser - '" << part.toLocal8Bit().data() << "'." << std::endl;
+#endif
+      connStringParts += part;
+
+      if ( ! ( (part = settings.readEntry(key + "/proxypass")).isEmpty() ) )
+      {
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxypass - '" << part.toLocal8Bit().data() << "'." << std::endl;
+#endif
+        connStringParts += part;
+      }
+    }
+  }
+*/
+
+  m_connName = cmbConnections->currentText();
+  // setup 'url ( + " " + proxyhost + " " + proxyport + " " + proxyuser + " " + proxypass)'
+  m_connInfo = connStringParts.join(" ");
+
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::serverConnect: Connection info: '" << m_connInfo.toLocal8Bit().data() << "'." << std::endl;
+#endif
+
+
+  // TODO: Create and bind to data provider
+
+  // load the server data provider plugin
+  QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
+
+  mWmsProvider = 
+    (QgsWmsProvider*) pReg->getProvider( "wms", m_connInfo );
+
+  if (mWmsProvider)
+  {
+    connect(mWmsProvider, SIGNAL(setStatus(QString)), this, SLOT(showStatusMessage(QString)));
+
+    // Collect and set HTTP proxy on WMS provider
+
+    m_connProxyHost = settings.readEntry(key + "/proxyhost"),
+    m_connProxyPort = settings.readEntry(key + "/proxyport").toInt(),
+    m_connProxyUser = settings.readEntry(key + "/proxyuser"),
+    m_connProxyPass = settings.readEntry(key + "/proxypassword"),
+
+    mWmsProvider->setProxy(
+      m_connProxyHost,
+      m_connProxyPort,
+      m_connProxyUser,
+      m_connProxyPass
+    );
+
+    // WMS Provider all set up; let's get some layers
+
+    if (!populateLayerList(mWmsProvider))
+    {
+      showError(mWmsProvider);
+    }
+    populateImageEncodingGroup(mWmsProvider);
+  }
+  else
+  {
+    // Let user know we couldn't initialise the WMS provider
+    QMessageBox::warning(
+      this,
+      tr("WMS Provider"),
+      tr("Could not open the WMS Provider")
+    );
+  }
+
+}
+
+void QgsServerSourceSelect::on_btnAdd_clicked()
+{
+  if (m_selectedLayers.empty() == TRUE)
+  {
+    QMessageBox::information(this, tr("Select Layer"), tr("You must select at least one layer first."));
+  }
+  else if (mWmsProvider->supportedCrsForLayers(m_selectedLayers).size() == 0)
+  {
+    QMessageBox::information(this, tr("Coordinate Reference System"), tr("There are no available coordinate reference system for the set of layers you've selected."));
+  }
+  else
+  {
+    accept();
+  }
+}
+
+
+void QgsServerSourceSelect::on_btnChangeSpatialRefSys_clicked()
+{
+  if (!mWmsProvider)
+  {
+    return;
+  }
+
+  QSet<QString> crsFilter = mWmsProvider->supportedCrsForLayers(m_selectedLayers);
+
+  QgsLayerProjectionSelector * mySelector =
+    new QgsLayerProjectionSelector(this);
+
+  mySelector->setOgcWmsCrsFilter(crsFilter);
+
+  long myDefaultSRS = QgsProject::instance()->readNumEntry("SpatialRefSys", "/ProjectSRSID", GEOSRS_ID);
+
+  mySelector->setSelectedSRSID(myDefaultSRS);
+
+  if (mySelector->exec())
+  {
+    m_Epsg = mySelector->getCurrentEpsg();
+  }
+  else
+  {
+    // NOOP
+  }
+
+  labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
+//  labelCoordRefSys->setText( mySelector->getCurrentProj4String() );
+
+  delete mySelector;
+
+  // update the display of this widget
+  this->update();
+}
+
+
+/**
+ * This function is used to:
+ * 1. Store the list of selected layers and visual styles as appropriate.
+ * 2. Ensure that only one style is selected per layer.
+ *    If more than one is found, the most recently selected style wins.
+ */
+void QgsServerSourceSelect::on_lstLayers_selectionChanged()
+{
+  QString layerName = "";
+
+  QStringList newSelectedLayers;
+  QStringList newSelectedStylesForSelectedLayers;
+
+  std::map<QString, QString> newSelectedStyleIdForLayer;
+
+  // Iterate through the layers
+  Q3ListViewItemIterator it( lstLayers );
+  while ( it.current() )
+  {
+    Q3ListViewItem *item = it.current();
+
+    // save the name of the layer (in case only one of its styles was
+    // selected)
+    if (item->parent() == 0)
+    {
+      layerName = item->text(1);
+    }
+
+    if ( item->isSelected() )
+    {
+      newSelectedLayers += layerName;
+
+      // save the name of the style selected for the layer, if appropriate
+
+      if (item->parent() != 0)
+      {
+        newSelectedStylesForSelectedLayers += item->text(1);
+      }
+      else
+      {
+        newSelectedStylesForSelectedLayers += "";
+      }
+
+      newSelectedStyleIdForLayer[layerName] = item->text(0);
+
+      // Check if multiple styles have now been selected
+      if (
+          (!(m_selectedStyleIdForLayer[layerName].isNull())) &&  // not just isEmpty()
+          (newSelectedStyleIdForLayer[layerName] != m_selectedStyleIdForLayer[layerName])
+          )
+      {
+        // Remove old style selection
+        lstLayers->findItem(m_selectedStyleIdForLayer[layerName], 0)->setSelected(FALSE);
+      }
+
+#ifdef QGISDEBUG
+  std::cout << "QgsServerSourceSelect::addLayers: Added " << item->text(0).toLocal8Bit().data() << std::endl;
+#endif
+    
+    }
+
+    ++it;
+  }
+
+  // If we got some selected items, let the user play with projections
+  if (newSelectedLayers.count() > 0)
+  {
+    // Determine how many CRSs there are to play with
+    if (mWmsProvider)
+    {
+      QSet<QString> crsFilter = mWmsProvider->supportedCrsForLayers(newSelectedLayers);
+
+      gbCRS->setTitle(
+                       QString( tr("Coordinate Reference System (%1 available)", "", crsFilter.count() ) )
+                          .arg( crsFilter.count() )
+                     );
+
+      // check whether current CRS is supported
+      // if not, use one of the available CRS
+      bool isThere = false;
+      long defaultEpsg = 0;
+      for ( QSet<QString>::const_iterator i = crsFilter.begin(); i != crsFilter.end(); ++i)
+      {
+        QStringList parts = i->split(":");
+        
+        if (parts.at(0) == "EPSG")
+        {
+          long epsg = atol(parts.at(1));
+          if (epsg == m_Epsg)
+          {
+            isThere = true;
+            break;
+          }
+          
+          // save first CRS in case we current m_Epsg is not available
+          if (i == crsFilter.begin())
+            defaultEpsg = epsg;
+          // prefer value of DEFAULT_WMS_EPSG if available
+          if (epsg == DEFAULT_WMS_EPSG)
+            defaultEpsg = epsg;
+        }
+      }
+      
+      // we have to change selected CRS to default one
+      if (!isThere && crsFilter.size() > 0)
+      {
+        m_Epsg = defaultEpsg;
+        labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
+      }
+    }
+
+    btnChangeSpatialRefSys->setEnabled(TRUE);
+  }
+  else
+  {
+    btnChangeSpatialRefSys->setEnabled(FALSE);
+  }
+
+  m_selectedLayers                  = newSelectedLayers;
+  m_selectedStylesForSelectedLayers = newSelectedStylesForSelectedLayers;
+  m_selectedStyleIdForLayer         = newSelectedStyleIdForLayer;
+}
+
+
+QString QgsServerSourceSelect::connName()
+{
+  return m_connName;
+}
+
+QString QgsServerSourceSelect::connInfo()
+{
+  return m_connInfo;
+}
+
+QString QgsServerSourceSelect::connProxyHost()
+{
+  return m_connProxyHost;
+}
+
+int QgsServerSourceSelect::connProxyPort()
+{
+  return m_connProxyPort;
+}
+
+QString QgsServerSourceSelect::connProxyUser()
+{
+  return m_connProxyUser;
+}
+
+QString QgsServerSourceSelect::connProxyPass()
+{
+  return m_connProxyPass;
+}
+
+QStringList QgsServerSourceSelect::selectedLayers()
+{
+  return m_selectedLayers;
+}
+
+QStringList QgsServerSourceSelect::selectedStylesForSelectedLayers()
+{
+  return m_selectedStylesForSelectedLayers;
+}
+
+
+QString QgsServerSourceSelect::selectedImageEncoding()
+{
+  // TODO: Match this hard coded list to the list of formats Qt reports it can actually handle.
+
+  int id = m_imageFormatGroup->checkedId();
+  QString label = m_imageFormatGroup->button(id)->text();
+
+  // The way that we construct the buttons, this call to key() will never have
+  // a value that isn't in the map, hence we don't need to check for the value
+  // not being found.
+
+  return m_PotentialFormats.key(qMakePair(label, id));
+}
+
+
+QString QgsServerSourceSelect::selectedCrs()
+{
+  if (m_Epsg)
+  {
+    return QString("EPSG:%1")
+              .arg(m_Epsg);
+  }
+  else
+  {
+    return QString();
+  }
+}
+
+void QgsServerSourceSelect::serverChanged()
+{
+  // Remember which server was selected.
+  QSettings settings;
+  settings.writeEntry("/Qgis/connections-wms/selected", 
+		      cmbConnections->currentText());
+}
+
+void QgsServerSourceSelect::setConnectionListPosition()
+{
+  QSettings settings;
+  QString toSelect = settings.readEntry("/Qgis/connections-wms/selected");
+  // Does toSelect exist in cmbConnections?
+  bool set = false;
+  for (int i = 0; i < cmbConnections->count(); ++i)
+    if (cmbConnections->text(i) == toSelect)
+    {
+      cmbConnections->setCurrentItem(i);
+      set = true;
+      break;
+    }
+  // If we couldn't find the stored item, but there are some, 
+  // default to the last item (this makes some sense when deleting
+  // items as it allows the user to repeatidly click on delete to
+  // remove a whole lot of items).
+  if (!set && cmbConnections->count() > 0)
+  {
+    // If toSelect is null, then the selected connection wasn't found
+    // by QSettings, which probably means that this is the first time
+    // the user has used qgis with database connections, so default to
+    // the first in the list of connetions. Otherwise default to the last.
+    if (toSelect.isNull())
+      cmbConnections->setCurrentItem(0);
+    else
+      cmbConnections->setCurrentItem(cmbConnections->count()-1);
+  }
+}
+void QgsServerSourceSelect::showStatusMessage(QString const & theMessage)
+{
+  labelStatus->setText(theMessage);
+
+  // update the display of this widget
+  this->update();
+}
+
+
+void QgsServerSourceSelect::showError(QgsWmsProvider * wms)
+{
+//   QMessageBox::warning(
+//     this,
+//     wms->errorCaptionString(),
+//     tr("Could not understand the response.  The") + " " + wms->name() + " " +
+//       tr("provider said") + ":\n" +
+//       wms->errorString()
+//   );
+
+  QgsMessageViewer * mv = new QgsMessageViewer(this);
+  mv->setCaption( wms->errorCaptionString() );
+  mv->setMessageAsPlainText(
+    tr("Could not understand the response.  The") + " " + wms->name() + " " +
+    tr("provider said") + ":\n" +
+    wms->errorString()
+  );
+  mv->showMessage(true); // Is deleted when closed
+}
+
+void QgsServerSourceSelect::on_cmbConnections_activated(int)
+{
+  serverChanged();
+}
+
+void QgsServerSourceSelect::on_btnAddDefault_clicked()
+{
+  addDefaultServers();
+}
+
+QString QgsServerSourceSelect::descriptionForEpsg(long epsg)
+{
+  // We'll assume this function isn't called very often,
+  // so please forgive the lack of caching of results
+
+  QgsSpatialRefSys qgisSrs = QgsSpatialRefSys(epsg, QgsSpatialRefSys::EPSG);
+
+  return qgisSrs.description();
+}
+
+void QgsServerSourceSelect::addDefaultServers()
+{
+  QMap<QString, QString> exampleServers;
+  exampleServers["NASA (JPL)"] = "http://wms.jpl.nasa.gov/wms.cgi";
+  exampleServers["DM Solutions GMap"] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap";
+  exampleServers["Lizardtech server"] =  "http://wms.lizardtech.com/lizardtech/iserv/ows";
+  // Nice to have the qgis users map, but I'm not sure of the URL at the moment.
+  //  exampleServers["Qgis users map"] = "http://qgis.org/wms.cgi";
+
+  QSettings settings;
+  QString basePath("/Qgis/connections-wms/");
+  QMap<QString, QString>::const_iterator i = exampleServers.constBegin();
+  for (; i != exampleServers.constEnd(); ++i)
+  {
+    // Only do a server if it's name doesn't already exist.
+    QStringList keys = settings.subkeyList(basePath);
+    if (!keys.contains(i.key()))
+    {
+      QString path = basePath + i.key();
+      settings.setValue(path + "/proxyhost", "");
+      settings.setValue(path + "/proxyport", 80);
+      settings.setValue(path + "/proxyuser", "");
+      settings.setValue(path + "/proxypassword", "");
+      settings.setValue(path + "/url", i.value());
+    }
+  }
+  populateConnectionList();
+
+  QMessageBox::information(this, tr("WMS proxies"), tr("<p>Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.</p>"));
+}
+
+// ENDS

Added: packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsserversourceselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,190 @@
+/***************************************************************************
+    qgserversourceselect.h  -  selector for WMS servers, etc.
+                             -------------------
+    begin                : 3 April 2005
+    copyright            : (C) 2005 by Brendan Morley
+    email                : morb at ozemail dot com dot au
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsserversourceselect.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSSERVERSOURCESELECT_H
+#define QGSSERVERSOURCESELECT_H
+#include "ui_qgsserversourceselectbase.h"
+#include "qgisgui.h"
+
+#include <vector>
+#include <map>
+#include <set>
+
+class QgisApp;
+class QgsWmsProvider;
+class QButtonGroup;
+/*!
+ * \brief   Dialog to create connections and add layers from WMS, etc.
+ *
+ * This dialog allows the user to define and save connection information
+ * for WMS servers, etc.
+ *
+ * The user can then connect and add 
+ * layers from the WMS server to the map canvas.
+ */
+class QgsServerSourceSelect : public QDialog, private Ui::QgsServerSourceSelectBase 
+{
+  Q_OBJECT
+  
+public:
+
+    //! Constructor
+    QgsServerSourceSelect(QgisApp *app, QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    //! Destructor
+    ~QgsServerSourceSelect();
+    //! Populate the connection list combo box
+    void populateConnectionList();
+
+    //! Connection name
+    QString connName();
+
+    //! Connection info (uri)
+    QString connInfo();
+
+    //! Connection Proxy Host
+    QString connProxyHost();
+
+    //! Connection Proxy Port
+    int connProxyPort();
+
+    //! Connection Proxy User
+    QString connProxyUser();
+
+    //! Connection Proxy Pass
+    QString connProxyPass();
+
+    //! String list containing the selected layers
+    QStringList selectedLayers();
+
+    //! String list containing the visual styles selected for the selected layers - this corresponds with the output from selectedLayers()
+    QStringList selectedStylesForSelectedLayers();
+
+    //! String containing the MIME type of the preferred image encoding
+    QString selectedImageEncoding();
+
+    //! String containing the selected WMS-format CRS
+    QString selectedCrs();
+
+    //! Stores which server is now selected.
+    void serverChanged();
+
+    //! Set the server connection combo box to that stored in the config file. 
+    void setConnectionListPosition();
+
+public slots:
+
+    //! Opens the create connection dialog to build a new connection
+    void on_btnNew_clicked();
+    //! Opens a dialog to edit an existing connection
+    void on_btnEdit_clicked();
+    //! Deletes the selected connection
+    void on_btnDelete_clicked();
+
+    /*! Connects to the database using the stored connection parameters. 
+    * Once connected, available layers are displayed.
+    */
+    void on_btnConnect_clicked();
+
+    //! Determines the layers the user selected and closes the dialog
+    void on_btnAdd_clicked();
+
+    //! Opens the Spatial Reference System dialog.
+    void on_btnChangeSpatialRefSys_clicked();
+
+    //! Opens help application
+    void on_btnHelp_clicked();
+
+    //! Signaled when a layer selection is changed.  Ensures that only one style is selected per layer.
+    void on_lstLayers_selectionChanged();
+
+    //! Set status message to theMessage
+    void showStatusMessage(QString const & theMessage);
+
+    //! show whatever error is exposed by the QgsWmsProvider.
+    void showError(QgsWmsProvider * wms);
+
+    //! Stores the selected datasource whenerver it is changed
+    void on_cmbConnections_activated(int);
+
+    //! Add some default wms servers to the list
+    void on_btnAddDefault_clicked();
+
+private:
+
+    //! Add a few example servers to the list.
+    void addDefaultServers();
+
+    /**
+     * \brief Populate the layer list - private for now.
+     *
+     * \retval FALSE if the layers could not be retreived or parsed - 
+     *         see mWmsProvider->errorString() for more info
+     */
+    bool populateLayerList(QgsWmsProvider* wmsProvider);
+
+    //! Populate the image encoding button group - private for now.
+    void populateImageEncodingGroup(QgsWmsProvider* wmsProvider);
+
+    //! Returns the common CRSs for the selected layers.
+    std::set<QString> crsForSelection();
+
+    //! Returns a textual description for the EPSG number
+    QString descriptionForEpsg(long epsg);
+
+    //! Name for selected connection
+    QString m_connName;
+
+    //! URI for selected connection
+    QString m_connInfo;
+
+    //! Proxy Host for selected connection
+    QString m_connProxyHost;
+
+    //! Proxy Port for selected connection
+    int m_connProxyPort;
+
+    //! Proxy User for selected connection
+    QString m_connProxyUser;
+
+    //! Proxy Pass for selected connection
+    QString m_connProxyPass;
+
+    QStringList m_selectedLayers;
+    QStringList m_selectedStylesForSelectedLayers;
+    long m_Epsg;
+
+    std::map<QString, QString> m_selectedStyleIdForLayer;
+
+    //! The mime type, the text to use in the button and a unique number
+    QMap<QString, QPair<QString, int> > m_PotentialFormats;
+
+    //! Pointer to the qgis application mainwindow
+    QgisApp *qgisApp;
+
+    //! The widget that controls the image format radio buttons
+    QButtonGroup* m_imageFormatGroup;
+    QHBoxLayout* m_imageFormatLayout;
+
+    //! The WMS provider that retreives information for this dialog
+    QgsWmsProvider * mWmsProvider;
+
+    static const int context_id = 710979116;
+};
+
+
+#endif // QgsServerSourceSelect_H

Added: packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,647 @@
+/***************************************************************************
+                         qgssinglesymboldialog.cpp  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssinglesymboldialog.cpp 7040 2007-06-19 11:16:35Z timlinux $ */
+
+#include "qgssinglesymboldialog.h"
+#include "qgsmarkercatalogue.h"
+#include "qgssinglesymbolrenderer.h"
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+#include "qgsvectorlayer.h"
+
+#include <QColorDialog>
+#include <QPainter>
+#include <QImage>
+#include <QFileDialog>
+
+
+QgsSingleSymbolDialog::QgsSingleSymbolDialog(): QDialog(), mVectorLayer(0)
+{
+    setupUi(this);
+#ifdef QGISDEBUG
+    qWarning("constructor QgsSingleSymbolDialog called WITHOUT a layer");
+#endif
+}
+
+QgsSingleSymbolDialog::QgsSingleSymbolDialog(QgsVectorLayer * layer): QDialog(), mVectorLayer(layer)
+{
+    setupUi(this);
+
+#ifdef QGISDEBUG
+    qWarning("constructor QgsSingleSymbolDialog called WITH a layer");
+#endif
+
+    //
+    //set point symbol combo box
+    //
+
+    // If this layer doesn't have points, break out of the following
+    // two loops after the first iteration. This gives one point
+    // symbol in the dialog, etc so that other code can rely on such a
+    // fact, but avoids the long time required to load all of the
+    // available symbols when they are not needed.
+
+    QStringList ml = QgsMarkerCatalogue::instance()->list();
+    mMarkers.clear();
+
+    int size = 18;
+    QPen pen (QColor(0,0,255));
+    QBrush brush ( QColor(220,220,220), Qt::SolidPattern );
+
+    
+    for ( QStringList::iterator it = ml.begin(); it != ml.end(); ++it ) 
+    {
+      mMarkers.push_back ( *it );
+      QPixmap pic = QPixmap::fromImage(QgsMarkerCatalogue::instance()->imageMarker ( *it, size, pen, brush ));
+      mPointSymbolComboBox->insertItem ( pic );
+      if (layer->vectorType() != QGis::Point)
+      {
+        break;
+      }
+    }
+
+    //
+    //set outline / line style
+    //
+    pbnLineSolid->setPixmap(QgsSymbologyUtils::char2LinePixmap("SolidLine"));
+    pbnLineDash->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashLine"));
+    pbnLineDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DotLine"));
+    pbnLineDashDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotLine"));
+    pbnLineDashDotDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotDotLine"));
+    pbnLineNoPen->setPixmap(QgsSymbologyUtils::char2LinePixmap("NoPen"));
+
+    //
+    //set pattern button group icons and state
+    //
+    solid->setPixmap(QgsSymbologyUtils::char2PatternPixmap("SolidPattern"));
+    horizontal->setPixmap(QgsSymbologyUtils::char2PatternPixmap("HorPattern"));
+    vertical->setPixmap(QgsSymbologyUtils::char2PatternPixmap("VerPattern"));
+    cross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("CrossPattern"));
+    bdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("BDiagPattern"));
+    fdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("FDiagPattern"));
+    diagcross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("DiagCrossPattern"));
+    dense1->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense1Pattern"));
+    dense2->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense2Pattern"));
+    dense3->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense3Pattern"));
+    dense4->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense4Pattern"));
+    dense5->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense5Pattern"));
+    dense6->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense6Pattern"));
+    dense7->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense7Pattern"));
+    nopen->setPixmap(QgsSymbologyUtils::char2PatternPixmap("NoBrush"));
+	texture->setPixmap(QgsSymbologyUtils::char2PatternPixmap("TexturePattern"));
+
+
+    if (mVectorLayer)
+    {
+        const QgsSingleSymbolRenderer *renderer=dynamic_cast<const QgsSingleSymbolRenderer*>(mVectorLayer->renderer());
+
+        if (renderer)
+        {
+	      // Set from the existing renderer
+	      set ( renderer->symbol() );
+	    }
+        else
+        {
+            // Take values from an example instance
+            QgsSingleSymbolRenderer exampleRenderer = QgsSingleSymbolRenderer( mVectorLayer->vectorType() );
+            set ( exampleRenderer.symbol() );
+        }
+
+        if (mVectorLayer && mVectorLayer->vectorType() == QGis::Line)
+        {
+            btnFillColor->setEnabled(false);
+            grpPattern->setEnabled(false);
+            mGroupPoint->setEnabled(false);
+        }
+	
+        if (mVectorLayer && mVectorLayer->vectorType() == QGis::Polygon) {
+            mGroupPoint->setEnabled(false);
+
+        }
+       
+    }
+    else
+    {
+        qWarning("Warning, layer is a null pointer in QgsSingleSymbolDialog::QgsSingleSymbolDialog(QgsVectorLayer)");
+    }
+
+     //do the signal/slot connections
+    QObject::connect(btnOutlineColor, SIGNAL(clicked()), this, SLOT(selectOutlineColor()));
+    //QObject::connect(stylebutton, SIGNAL(clicked()), this, SLOT(selectOutlineStyle()));
+    QObject::connect(btnFillColor, SIGNAL(clicked()), this, SLOT(selectFillColor()));
+    QObject::connect(outlinewidthspinbox, SIGNAL(valueChanged(int)), this, SLOT(resendSettingsChanged()));
+    QObject::connect(mLabelEdit, SIGNAL(textChanged(const QString&)), this, SLOT(resendSettingsChanged()));
+    QObject::connect(mPointSymbolComboBox, SIGNAL(activated(int)), this, SLOT(resendSettingsChanged()));
+    QObject::connect(mPointSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(resendSettingsChanged()));
+
+    //connect fill style and line style buttons
+    QObject::connect(pbnLineSolid, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(pbnLineDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(pbnLineDashDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(pbnLineDash, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(pbnLineDashDotDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(pbnLineNoPen, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(solid, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(fdiag, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense4, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(horizontal, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(bdiag, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(diagcross, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense5, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(vertical, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense1, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense3, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense6, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(cross, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense2, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(dense7, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(nopen, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+    QObject::connect(texture, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
+	QObject::connect(textureSelect, SIGNAL(clicked()), this, SLOT(selectTextureImage()));
+}
+
+QgsSingleSymbolDialog::~QgsSingleSymbolDialog()
+{
+#ifdef QGISDEBUG
+    qWarning("destructor QgsSingleSymbolDialog");
+#endif
+}
+
+void QgsSingleSymbolDialog::selectOutlineColor()
+{
+    QColor c = QColorDialog::getColor(btnOutlineColor->color(), this);
+    
+    if ( c.isValid() ) {
+        btnOutlineColor->setColor(c);
+        emit settingsChanged();
+    }
+    
+    setActiveWindow();
+}
+
+void QgsSingleSymbolDialog::selectFillColor()
+{
+    QColor c = QColorDialog::getColor(btnFillColor->color(), this);
+
+    if ( c.isValid() ) {
+        btnFillColor->setColor(c);
+        emit settingsChanged();
+    }
+
+    setActiveWindow();
+}
+
+//should this method have a different name?
+void QgsSingleSymbolDialog::selectTextureImage()
+{
+  QString fileName = QFileDialog::getOpenFileName(this, "Open File",
+                                                textureFilePath->text(),
+                                                "Images (*.png *.xpm *.jpg)"); //should we allow other types of images?
+
+  if(fileName.isNull() == false){ //only process the string if the user clicked OK
+    textureFilePath->setText(fileName);
+    texture->setOn(true); //set the fill style to custom texture
+    texture->setPixmap(QPixmap(fileName)); //Change the button to show the selected image
+    resendSettingsChanged();
+  }
+}
+
+void QgsSingleSymbolDialog::apply( QgsSymbol *sy )
+{
+    //query the values of the widgets and set the symbology of the vector layer
+    sy->setFillColor(btnFillColor->color());
+    sy->setLineWidth(outlinewidthspinbox->value());
+    sy->setColor(btnOutlineColor->color());
+
+    //
+    // Apply point symbol
+    // 
+    sy->setNamedPointSymbol( mMarkers[mPointSymbolComboBox->currentItem()] ) ;
+    sy->setPointSize ( mPointSizeSpinBox->value() );
+    
+    //
+    // Apply the line style
+    //
+    if  (pbnLineNoPen->isOn())
+        (sy->setLineStyle(Qt::NoPen));
+    else if  (pbnLineDash->isOn())
+        (sy->setLineStyle(Qt::DashLine));
+    else if  (pbnLineDot->isOn())
+        (sy->setLineStyle(Qt::DotLine)) ;
+    else if  (pbnLineDashDot->isOn())
+        (sy->setLineStyle(Qt::DashDotLine));
+    else if  (pbnLineDashDotDot->isOn())
+        (sy->setLineStyle(Qt::DashDotDotLine)) ;
+    else
+        (sy->setLineStyle(Qt::SolidLine)); //default to solid
+
+
+    //
+    // Apply the pattern
+    //
+
+    //Store the file path, and set the brush to TexturePattern.  If we have a different button selected,
+    // the below code will override it, but leave the file path alone.
+    sy->setCustomTexture(textureFilePath->text());
+
+    if (solid->isOn())
+    {
+        sy->setFillStyle(Qt::SolidPattern);
+    }
+    else if (fdiag->isOn())
+    {
+        sy->setFillStyle(Qt::FDiagPattern);
+    }
+    else if (dense4->isOn())
+    {
+        sy->setFillStyle(Qt::Dense4Pattern);
+    }
+    else if (horizontal->isOn())
+    {
+        sy->setFillStyle(Qt::HorPattern);
+    }
+    else if (dense5->isOn())
+    {
+        sy->setFillStyle(Qt::Dense5Pattern);
+    }
+    else if (diagcross->isOn())
+    {
+        sy->setFillStyle(Qt::DiagCrossPattern);
+    }
+    else if (dense1->isOn())
+    {
+        sy->setFillStyle(Qt::Dense1Pattern);
+    }
+    else if (dense6->isOn())
+    {
+        sy->setFillStyle(Qt::Dense6Pattern);
+    }
+    else if (vertical->isOn())
+    {
+        sy->setFillStyle(Qt::VerPattern);
+    }
+    else if (dense7->isOn())
+    {
+        sy->setFillStyle(Qt::Dense7Pattern);
+    }
+    else if (cross->isOn())
+    {
+        sy->setFillStyle(Qt::CrossPattern);
+    }
+    else if (dense2->isOn())
+    {
+        sy->setFillStyle(Qt::Dense2Pattern);
+    }
+    else if (bdiag->isOn())
+    {
+        sy->setFillStyle(Qt::BDiagPattern);
+    }
+    else if (dense3->isOn())
+    {
+        sy->setFillStyle(Qt::Dense3Pattern);
+    }
+    else if (nopen->isOn())
+    {
+        sy->setFillStyle(Qt::NoBrush);
+    }
+    else if (texture->isOn())
+    {
+      //we already set the brush to TexturePattern up above, so don't do anything here
+    }
+
+    //apply the label
+    sy->setLabel(mLabelEdit->text());
+}
+
+void QgsSingleSymbolDialog::apply()
+{
+    QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType());
+    apply(sy);
+
+    QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(mVectorLayer->vectorType());
+    renderer->addSymbol(sy);
+    mVectorLayer->setRenderer(renderer);
+}
+
+void QgsSingleSymbolDialog::set ( const QgsSymbol *sy ) 
+{
+  //set label
+
+  mLabelEdit->setText(sy->label());
+
+	// Set point symbol
+  for ( uint i = 0; i < mMarkers.size(); i++ ) {
+	    if ( mMarkers[i] ==  sy->pointSymbolName() ) {
+	        mPointSymbolComboBox->setCurrentItem ( i );
+		break;
+	    }
+	}
+	mPointSizeSpinBox->setValue ( sy->pointSize() );
+	
+	outlinewidthspinbox->setValue(sy->pen().width());
+
+	//set line width 1 as minimum to avoid confusion between line width 0 and no pen line style
+	// ... but, drawLine is not correct with width > 0 -> until solved set to 0
+	outlinewidthspinbox->setMinValue(0);
+
+    btnFillColor->setColor( sy->brush().color() );
+
+    btnOutlineColor->setColor( sy->pen().color() );
+
+	//stylebutton->setName(QgsSymbologyUtils::penStyle2Char(sy->pen().style()));
+	//stylebutton->setPixmap(QgsSymbologyUtils::char2LinePixmap(stylebutton->name()));
+	//load the icons stored in QgsSymbologyUtils.cpp (to avoid redundancy)
+
+	QPen myPen = sy->pen();
+
+	switch ( myPen.style() )
+	{
+	    case Qt::NoPen :
+		pbnLineNoPen->setOn(true);
+		break;
+	    case Qt::DashLine :
+		pbnLineDash->setOn(true);
+		break;
+	    case Qt::DotLine :
+		pbnLineDot->setOn(true);
+		break;
+	    case Qt::DashDotLine :
+		pbnLineDashDot->setOn(true);
+		break;
+	    case Qt::DashDotDotLine :
+		pbnLineDashDotDot->setOn(true);
+		break;
+	    default :
+		pbnLineSolid->setOn(true); // default to solid
+		break;
+	}
+
+	QBrush myBrush = sy->brush();
+
+	switch ( myBrush.style() )
+	{
+	    case Qt::SolidPattern :
+		solid->setOn(true);
+		break;
+	    case Qt::HorPattern :
+		horizontal->setOn(true);
+		break;
+	    case Qt::VerPattern :
+		vertical->setOn(true);
+		break;
+	    case  Qt::CrossPattern :
+		cross->setOn(true);
+		break;
+	    case Qt::BDiagPattern :
+		bdiag->setOn(true);
+		break;
+	    case Qt::FDiagPattern :
+		fdiag->setOn(true);
+		break;
+	    case Qt::DiagCrossPattern :
+		diagcross->setOn(true);
+		break;
+	    case Qt::Dense1Pattern :
+		dense1->setOn(true);
+		break;
+	    case Qt::Dense2Pattern :
+		dense2->setOn(true);
+		break;
+	    case Qt::Dense3Pattern :
+		dense3->setOn(true);
+		break;
+	    case Qt::Dense4Pattern :
+		dense4->setOn(true);
+		break;
+	    case Qt::Dense5Pattern :
+		dense5->setOn(true);
+		break;
+	    case Qt::Dense6Pattern :
+		dense6->setOn(true);
+		break;
+	    case Qt::Dense7Pattern :
+		dense7->setOn(true);
+		break;
+	    case Qt::NoBrush :
+		nopen->setOn(true);
+		break;
+		case Qt::TexturePattern :
+		texture->setOn(true);
+		break;
+	    default :
+		solid->setOn(true);
+		break;
+	}
+    textureFilePath->setText(sy->customTexture()); //get and show the file path, even if we aren't using it.
+    if(sy->customTexture().size() > 0)//if the file path isn't empty, show the image on the button
+    {
+      texture->setPixmap(QPixmap(sy->customTexture())); //show the current texture image
+    }
+	else
+    {
+      texture->setPixmap(QgsSymbologyUtils::char2PatternPixmap("TexturePattern")); //show the default question mark
+    }
+}
+
+void QgsSingleSymbolDialog::setOutlineColor(QColor& c)
+{
+    btnOutlineColor->setColor(c);
+}
+
+void QgsSingleSymbolDialog::setOutlineStyle(Qt::PenStyle pstyle)
+{
+    // XXX use switch() instead
+    if (pstyle==Qt::NoPen)
+        (pbnLineNoPen->setOn(true));
+    else if (pstyle==Qt::DashLine)
+        (pbnLineDash->setOn(true));
+    else if (pstyle==Qt::DotLine)
+        (pbnLineDot->setOn(true));
+    else if (pstyle==Qt::DashDotLine)
+        (pbnLineDashDot->setOn(true));
+    else if (pstyle==Qt::DashDotDotLine)
+        (pbnLineDashDotDot->setOn(true));
+    else
+        (pbnLineSolid->setOn(true)); //default to solid
+}
+
+void QgsSingleSymbolDialog::setFillColor(QColor& c)
+{
+    btnFillColor->setColor(c);
+}
+
+void QgsSingleSymbolDialog::setFillStyle(Qt::BrushStyle fstyle)
+{
+#ifdef QGISDEBUG
+    qWarning(("Setting fill style: "+QgsSymbologyUtils::brushStyle2QString(fstyle)).toLocal8Bit().data());
+#endif
+
+    // XXX use switch instead
+    if (fstyle==Qt::SolidPattern)
+        (solid->setOn(true));
+    else if (fstyle==Qt::HorPattern)
+        (horizontal->setOn(true));
+    else if (fstyle==Qt::VerPattern)
+        (vertical->setOn(true));
+    else if (fstyle==Qt::CrossPattern)
+        (cross->setOn(true));
+    else if (fstyle==Qt::BDiagPattern)
+        (bdiag->setOn(true));
+    else if (fstyle==Qt::FDiagPattern)
+        (fdiag->setOn(true));
+    else if (fstyle==Qt::DiagCrossPattern)
+        (diagcross->setOn(true));
+    else if (fstyle==Qt::Dense1Pattern)
+        (dense1->setOn(true));
+    else if (fstyle==Qt::Dense2Pattern)
+        (dense2->setOn(true));
+    else if (fstyle==Qt::Dense3Pattern)
+        (dense3->setOn(true));
+    else if (fstyle==Qt::Dense4Pattern)
+        (dense4->setOn(true));
+    else if (fstyle==Qt::Dense5Pattern)
+        (dense5->setOn(true));
+    else if (fstyle==Qt::Dense6Pattern)
+        (dense6->setOn(true));
+    else if (fstyle==Qt::Dense7Pattern)
+        (dense7->setOn(true));
+	else if (fstyle==Qt::TexturePattern)
+		(texture->setOn(true));
+    else if (fstyle==Qt::NoBrush)
+        (nopen->setOn(true)); //default to no brush
+}
+
+void QgsSingleSymbolDialog::setOutlineWidth(int width)
+{
+    outlinewidthspinbox->setValue(width);
+}
+
+QColor QgsSingleSymbolDialog::getOutlineColor()
+{
+    return btnOutlineColor->color();
+}
+
+Qt::PenStyle QgsSingleSymbolDialog::getOutlineStyle()
+{
+    if  (pbnLineNoPen->isOn())
+        return Qt::NoPen;
+    else if  (pbnLineDash->isOn())
+        return Qt::DashLine;
+    else if  (pbnLineDot->isOn())
+        return Qt::DotLine ;
+    else if  (pbnLineDashDot->isOn())
+        return Qt::DashDotLine;
+    else if  (pbnLineDashDotDot->isOn())
+        return Qt::DashDotDotLine ;
+    else
+        return Qt::SolidLine; //default to solid
+
+}
+
+int QgsSingleSymbolDialog::getOutlineWidth()
+{
+    return outlinewidthspinbox->value();
+}
+
+QColor QgsSingleSymbolDialog::getFillColor()
+{
+    return btnFillColor->color();
+}
+
+Qt::BrushStyle QgsSingleSymbolDialog::getFillStyle()
+{
+    if (solid->isOn())
+    {
+        return Qt::SolidPattern;
+    }
+    else if (fdiag->isOn())
+    {
+        return Qt::FDiagPattern;
+    }
+    else if (dense4->isOn())
+    {
+        return Qt::Dense4Pattern;
+    }
+    else if (horizontal->isOn())
+    {
+        return Qt::HorPattern;
+    }
+    else if (dense5->isOn())
+    {
+        return Qt::Dense5Pattern;
+    }
+    else if (diagcross->isOn())
+    {
+        return Qt::DiagCrossPattern;
+    }
+    else if (dense1->isOn())
+    {
+        return Qt::Dense1Pattern;
+    }
+    else if (dense6->isOn())
+    {
+        return Qt::Dense6Pattern;
+    }
+    else if (vertical->isOn())
+    {
+        return Qt::VerPattern;
+    }
+    else if (dense7->isOn())
+    {
+        return Qt::Dense7Pattern;
+    }
+    else if (cross->isOn())
+    {
+        return Qt::CrossPattern;
+    }
+    else if (dense2->isOn())
+    {
+        return Qt::Dense2Pattern;
+    }
+    else if (bdiag->isOn())
+    {
+        return Qt::BDiagPattern;
+    }
+    else if (dense3->isOn())
+    {
+        return Qt::Dense3Pattern;
+    }
+    else if (texture->isOn())
+    {
+        return Qt::TexturePattern;
+    }
+    //fall back to transparent
+    return Qt::NoBrush;
+
+}
+
+void QgsSingleSymbolDialog::resendSettingsChanged()
+{
+    emit settingsChanged();
+}
+
+QString QgsSingleSymbolDialog::label()
+{
+    return mLabelEdit->text();
+}
+
+void QgsSingleSymbolDialog::setLabel(QString label)
+{
+    mLabelEdit->setText(label);
+}
+
+

Added: packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgssinglesymboldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,78 @@
+/***************************************************************************
+                         qgssinglesymboldialog.h  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssinglesymboldialog.h 7040 2007-06-19 11:16:35Z timlinux $ */
+
+#ifndef QGSSINGLESYMBOLDIALOG_H
+#define QGSSINGLESYMBOLDIALOG_H
+
+#include "ui_qgssinglesymboldialogbase.h"
+#include <vector>
+
+class QgsSymbol;
+class QgsVectorLayer;
+
+
+/**QgsSingleSymbolDialog is a dialog to set symbology for the legend type 'single symbol'*/
+class QgsSingleSymbolDialog: public QDialog, private Ui::QgsSingleSymbolDialogBase
+{
+    Q_OBJECT
+public:
+    QgsSingleSymbolDialog(QgsVectorLayer* layer);
+    ~QgsSingleSymbolDialog();
+    QColor getOutlineColor();
+    Qt::PenStyle getOutlineStyle();
+    int getOutlineWidth();
+    QColor getFillColor();
+    Qt::BrushStyle getFillStyle();
+    void setOutlineColor(QColor& c);
+    void setOutlineStyle(Qt::PenStyle pstyle);
+    void setOutlineWidth(int width);
+    void setFillColor(QColor& c);
+    void setFillStyle(Qt::BrushStyle fstyle);
+    void setLabel(QString label);
+    QString label();
+
+
+protected:
+    QgsVectorLayer* mVectorLayer;
+public slots:
+    /* arrange the widgets on this dialog to reflect the current state of QgsSymbol */
+    void set(const QgsSymbol *sy);
+    /**applies the changes to the vector layer*/
+    void apply();
+    /**applies the changes to the QgsSymbol */
+    void apply( QgsSymbol *sy);
+    /**emits the signal settingsChanged()*/
+    void resendSettingsChanged();
+
+protected slots:
+    void selectOutlineColor();
+    void selectFillColor();
+	void selectTextureImage();
+
+private:
+    /** Default constructor is private, do not use this */
+    QgsSingleSymbolDialog();
+
+    /** vector of marker names for combo items */
+    std::vector<QString> mMarkers;
+
+signals:
+    void settingsChanged();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgstable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgstable.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgstable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,37 @@
+/***************************************************************************
+                          qgstable.h  -  description
+                             -------------------
+    begin                : Sun Jun 30 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgstable.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSTABLE_H
+#define QGSTABLE_H
+
+#include "qgsdatasource.h"
+
+/*! \class QgsTable
+ * \brief Class to represent an attribute table related
+ * to a map layer of any type
+ */
+
+class QgsTable : public QgsDataSource  {
+public: 
+    //! Constructor
+	QgsTable();
+	//! Destructor
+	~QgsTable();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,277 @@
+/***************************************************************************
+                         qgsuniquevaluedialog.cpp  -  description
+                             -------------------
+    begin                : July 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsuniquevaluedialog.cpp 7138 2007-08-14 15:28:22Z mhugent $ */
+
+#include "qgsuniquevaluedialog.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgssymbol.h"
+#include "qgsuniquevaluerenderer.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+QgsUniqueValueDialog::QgsUniqueValueDialog(QgsVectorLayer* vl): QDialog(), mVectorLayer(vl), sydialog(vl)
+{
+    setupUi(this);
+    setSizeGripEnabled(true); 
+
+    //find out the fields of mVectorLayer
+    QgsVectorDataProvider *provider;
+    if ((provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider())))
+    {
+	const QgsFieldMap & fields = provider->fields();
+	QString str;
+	
+	for (QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it)
+        {
+	    str = (*it).name();
+	    mClassificationComboBox->insertItem(str);
+        }
+    } 
+    else
+    {
+	qWarning("Warning, data provider is null in QgsUniqueValueDialog::QgsUniqueValueDialog");
+	return;
+    }
+
+    const QgsUniqueValueRenderer* renderer = dynamic_cast < const QgsUniqueValueRenderer * >(mVectorLayer->renderer());
+    
+    if (renderer)
+    {
+	mClassListWidget->clear();
+	
+	// XXX - mloskot - fix for Ticket #31 (bug)
+	QgsAttributeList attributes = renderer->classificationAttributes();
+  QgsAttributeList::iterator iter = attributes.begin();
+	int classattr = *iter;
+	mClassificationComboBox->setCurrentItem(classattr);
+
+	const QList<QgsSymbol*> list = renderer->symbols();
+	//fill the items of the renderer into mValues
+	for(QList<QgsSymbol*>::const_iterator iter=list.begin();iter!=list.end();++iter)
+	{
+	    QgsSymbol* symbol=(*iter);
+	    QString symbolvalue=symbol->lowerValue();
+	    QgsSymbol* sym=new QgsSymbol(mVectorLayer->vectorType(), symbol->lowerValue(), symbol->upperValue(), symbol->label());
+	    sym->setPen(symbol->pen());
+        sym->setCustomTexture(symbol->customTexture());
+	    sym->setBrush(symbol->brush());
+	    sym->setNamedPointSymbol(symbol->pointSymbolName());
+	    sym->setPointSize(symbol->pointSize());
+	    mValues.insert(std::make_pair(symbolvalue,sym));
+	    mClassListWidget->addItem(symbolvalue);
+	}
+    }
+
+    QObject::connect(mClassifyButton, SIGNAL(clicked()), this, SLOT(changeClassificationAttribute()));
+    QObject::connect(mDeletePushButton, SIGNAL(clicked()), this, SLOT(deleteCurrentClass()));
+    QObject::connect(mClassListWidget, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(changeCurrentValue()));
+    QObject::connect(&sydialog, SIGNAL(settingsChanged()), this, SLOT(applySymbologyChanges()));
+    mSymbolWidgetStack->addWidget(&sydialog);
+    mSymbolWidgetStack->setCurrentWidget(&sydialog);
+    
+    mClassListWidget->setCurrentItem(0);
+}
+
+QgsUniqueValueDialog::~QgsUniqueValueDialog()
+{
+    std::map<QString, QgsSymbol *>::iterator myValueIterator = mValues.begin();
+    while ( myValueIterator != mValues.end() )
+    {
+        delete myValueIterator->second;
+        
+        mValues.erase( myValueIterator );
+        
+        myValueIterator = mValues.begin(); // since iterator invalidated due to
+                                        // erase(), reset to new first element
+    }
+    mClassListWidget->setCurrentItem(0);
+}
+
+void QgsUniqueValueDialog::apply()
+{
+    QgsUniqueValueRenderer *renderer = new QgsUniqueValueRenderer(mVectorLayer->vectorType());
+
+    //go through mValues and add the entries to the renderer
+    for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
+    {
+	QgsSymbol* symbol=it->second;
+	QgsSymbol* newsymbol=new QgsSymbol(mVectorLayer->vectorType(), symbol->lowerValue(), symbol->upperValue(), symbol->label());
+	newsymbol->setPen(symbol->pen());
+    newsymbol->setCustomTexture(symbol->customTexture());
+	newsymbol->setBrush(symbol->brush());
+	newsymbol->setNamedPointSymbol(symbol->pointSymbolName());
+	newsymbol->setPointSize(symbol->pointSize());
+	renderer->insertValue(it->first,newsymbol);
+    }
+
+    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider());
+    if (provider)
+      {
+	int fieldIndex = provider->indexFromFieldName(mClassificationComboBox->currentText());
+	if(fieldIndex > 0)
+	  {
+	    renderer->setClassificationField(fieldIndex);
+	    mVectorLayer->setRenderer(renderer);
+	    return;
+	  }
+      }
+   
+    delete renderer; //something went wrong
+}
+
+void QgsUniqueValueDialog::changeClassificationAttribute()
+{
+  QString attributeName = mClassificationComboBox->currentText();
+
+  //delete old entries
+  for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
+    {
+      delete it->second;
+    }
+  mValues.clear();
+  
+  QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider());
+  if (provider)
+    {
+      QString value;
+      QgsAttributeList attlist;
+     
+      QgsSymbol* symbol;
+      int nr = provider->indexFromFieldName(attributeName);
+      if(nr == -1)
+	{
+	  return;
+	}
+      attlist.append(nr);	
+      
+      provider->select(attlist, QgsRect(), false);
+      QgsFeature feat;
+      
+      //go through all the features and insert their value into the map and into mClassListWidget
+      mClassListWidget->clear();
+      while(provider->getNextFeature(feat))
+	{
+	  const QgsAttributeMap& attrs = feat.attributeMap();
+	  value = attrs[nr].toString();
+	  
+	  if(mValues.find(value)==mValues.end())
+	    {
+	      symbol=new QgsSymbol(mVectorLayer->vectorType(), value);
+	      mValues.insert(std::make_pair(value,symbol));
+	    }
+	}
+      
+      //set symbology for all QgsSiSyDialogs
+      QColor thecolor;
+      
+      for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
+	{
+	  //insert a random color
+	  int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+	  int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+	  int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+	  thecolor.setRgb(red, green, blue);
+	  mClassListWidget->addItem(it->first);
+	  QgsSymbol* sym=it->second;
+	  QPen pen;
+	  QBrush brush;
+	  if(mVectorLayer->vectorType() == QGis::Line)
+	    {
+	      pen.setColor(thecolor);
+	      pen.setStyle(Qt::SolidLine);
+	      pen.setWidth(1);
+	    }
+	  else
+	    {
+	      brush.setColor(thecolor);
+	      brush.setStyle(Qt::SolidPattern);
+	      pen.setColor(Qt::black);
+	      pen.setStyle(Qt::SolidLine);
+	      pen.setWidth(1);
+	    }
+	  sym->setPen(pen);
+	  sym->setBrush(brush);
+	}
+    }
+  mClassListWidget->setCurrentRow(0);
+}
+
+void QgsUniqueValueDialog::changeCurrentValue()
+{
+    sydialog.blockSignals(true);//block signal to prevent sydialog from changing the current QgsRenderItem
+    QListWidgetItem* item=mClassListWidget->currentItem();
+    if(item)
+      {
+	QString value=item->text();
+	std::map<QString,QgsSymbol*>::iterator it=mValues.find(value);
+	if(it!=mValues.end())
+	  {
+	    sydialog.set( it->second);
+ 	    sydialog.setLabel(it->second->label());
+	  }
+	else
+	  {
+	    //no entry found
+	  }
+      }
+    sydialog.blockSignals(false);
+}
+
+void QgsUniqueValueDialog::deleteCurrentClass()
+{
+  QListWidgetItem* currentItem = mClassListWidget->currentItem();
+  if(!currentItem)
+    {
+      return;
+    }
+
+  QString classValue = currentItem->text();
+  int currentIndex = mClassListWidget->currentRow();
+  mValues.erase(classValue);
+  delete (mClassListWidget->takeItem(currentIndex));
+  qWarning("numRows: ");
+  qWarning(QString::number(mClassListWidget->count()));
+
+  if(mClassListWidget->count() < (currentIndex + 1))
+    {
+      qWarning("selecting numRows - 1");
+      mClassListWidget->setCurrentRow(mClassListWidget->count() - 1);
+    }
+  else
+    {
+      qWarning("selecting currentIndex");
+      mClassListWidget->setCurrentRow(currentIndex);
+    }
+}
+
+void QgsUniqueValueDialog::applySymbologyChanges()
+{
+  QListWidgetItem* item=mClassListWidget->currentItem();
+  if(!item)
+    {
+      return;
+    }
+  QString value=item->text();
+  std::map<QString,QgsSymbol*>::iterator it=mValues.find(value);
+  if(it!=mValues.end())
+  {
+      it->second->setLabel(sydialog.label());
+      it->second->setLowerValue(value);
+      sydialog.apply( it->second );
+  }
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsuniquevaluedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,59 @@
+/***************************************************************************
+                         qgsuniquevaluedialog.h  -  description
+                             -------------------
+    begin                : July 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsuniquevaluedialog.h 6472 2007-01-29 08:00:18Z mhugent $ */
+
+#ifndef QGSUNIQUEVALUEDIALOG_H
+#define QGSUNIQUEVALUEDIALOG_H
+
+#include "ui_qgsuniquevaluedialogbase.h"
+#include "qgssinglesymboldialog.h"
+#include <map>
+
+class QgsVectorLayer;
+
+
+class QgsUniqueValueDialog: public QDialog, private Ui::QgsUniqueValueDialogBase
+{
+    Q_OBJECT
+ public:
+    QgsUniqueValueDialog(QgsVectorLayer* vl);
+    ~QgsUniqueValueDialog();
+
+ public slots:
+     void apply();
+
+ protected:
+    /**Pointer to the associated vector layer*/
+    QgsVectorLayer* mVectorLayer;
+    /**Set to store the already entered values*/
+    std::map<QString,QgsSymbol*> mValues;
+    QgsSingleSymbolDialog sydialog;
+    /**Value for which symbology settings are displayed*/
+    QString currentValue;
+
+ protected slots:
+    /**Set new attribut for classification*/
+    void changeClassificationAttribute();
+    /**Changes the display of the single symbol dialog*/
+    void changeCurrentValue();
+    /**Removes a class from the classification*/
+    void deleteCurrentClass();
+    /**Writes changes in the single symbol dialog to the corresponding QgsSymbol*/
+    void applySymbologyChanges();
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,595 @@
+/***************************************************************************
+                          qgsdlgvectorlayerproperties.cpp
+                   Unified property dialog for vector layers
+                             -------------------
+    begin                : 2004-01-28
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsvectorlayerproperties.cpp 6879 2007-04-11 11:46:35Z wonder $ */
+
+#include "qgsvectorlayerproperties.h"
+
+#include "qgsattributeactiondialog.h"
+#include "qgscontexthelp.h"
+#include "qgscontinuouscolordialog.h"
+#include "qgscoordinatetransform.h"
+#include "qgsgraduatedsymboldialog.h"
+#include "qgslabel.h"
+#include "qgslabeldialog.h"
+#include "qgslayerprojectionselector.h"
+#include "qgslogger.h"
+#include "qgssinglesymboldialog.h"
+#include "qgsuniquevaluedialog.h"
+#include "qgsvectordataprovider.h"
+#include "qgsvectorlayer.h"
+
+#include "qgsconfig.h"
+#ifdef HAVE_POSTGRESQL
+#include "qgspgquerybuilder.h"
+#include "../providers/postgres/qgspostgresprovider.h"
+#endif
+
+#include <QMessageBox>
+
+QgsVectorLayerProperties::QgsVectorLayerProperties(QgsVectorLayer * lyr, 
+                                                         QWidget * parent, 
+                                                         Qt::WFlags fl)
+: QDialog(parent, fl),
+      layer(lyr), 
+      mRendererDialog(0)
+{
+  setupUi(this);
+  connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+  connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+  connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
+  connect(this, SIGNAL(accepted()), this, SLOT(apply()));
+
+  // Create the Label dialog tab
+  QVBoxLayout *layout = new QVBoxLayout( labelOptionsFrame );
+  layout->setMargin(0);
+  labelDialog = new QgsLabelDialog ( layer->label(), labelOptionsFrame);
+  layout->addWidget( labelDialog );
+  labelOptionsFrame->setLayout(layout);
+  connect(labelDialog, SIGNAL(labelSourceSet()), 
+          this, SLOT(setLabelCheckBox()));
+
+  // Create the Actions dialog tab
+  QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
+  QVBoxLayout *actionLayout = new QVBoxLayout( actionOptionsFrame );
+  actionLayout->setMargin(0);
+  QgsFieldMap fields = dp->fields();
+  actionDialog = new QgsAttributeActionDialog ( layer->actions(), fields, 
+                                                actionOptionsFrame );
+  actionLayout->addWidget( actionDialog );
+
+  reset();
+  if(layer->getDataProvider())//enable spatial index button group if supported by provider
+  {
+      int capabilities=layer->getDataProvider()->capabilities();
+      if(!(capabilities&QgsVectorDataProvider::CreateSpatialIndex))
+      {
+	  indexGroupBox->setEnabled(false);
+      }
+  }
+
+  leSpatialRefSys->setText(layer->srs().proj4String());
+  leSpatialRefSys->setCursorPosition(0);
+  
+  connect(sliderTransparency, SIGNAL(valueChanged(int)), this, SLOT(sliderTransparency_valueChanged(int)));
+
+} // QgsVectorLayerProperties ctor
+
+QgsVectorLayerProperties::~QgsVectorLayerProperties()
+{
+  disconnect(labelDialog, SIGNAL(labelSourceSet()), 
+          this, SLOT(setLabelCheckBox()));  
+}
+void QgsVectorLayerProperties::sliderTransparency_valueChanged(int theValue)
+{
+  //set the transparency percentage label to a suitable value
+  int myInt = static_cast < int >((theValue / 255.0) * 100);  //255.0 to prevent integer division
+  lblTransparencyPercent->setText(tr("Transparency: ") + QString::number(myInt) + "%");
+}//sliderTransparency_valueChanged
+
+void QgsVectorLayerProperties::setLabelCheckBox()
+{
+  labelCheckBox->setCheckState(Qt::Checked);
+}
+
+void QgsVectorLayerProperties::alterLayerDialog(const QString & dialogString)
+{
+
+    widgetStackRenderers->removeWidget(mRendererDialog);
+    delete mRendererDialog;
+    mRendererDialog=0;
+    if(dialogString == tr("Single Symbol"))
+    {
+	mRendererDialog = new QgsSingleSymbolDialog(layer);
+    }
+    else if(dialogString == tr("Graduated Symbol"))
+    {
+	mRendererDialog = new QgsGraduatedSymbolDialog(layer);
+    }
+    else if(dialogString == tr("Continuous Color"))
+    {
+	mRendererDialog = new QgsContinuousColorDialog(layer);
+    }
+    else if(dialogString == tr("Unique Value"))
+    {
+	mRendererDialog = new QgsUniqueValueDialog(layer);
+    }
+    widgetStackRenderers->addWidget(mRendererDialog);
+    widgetStackRenderers->setCurrentWidget(mRendererDialog);  
+}
+
+void QgsVectorLayerProperties::setLegendType(QString type)
+{
+  legendtypecombobox->setCurrentText(type);
+}
+
+void QgsVectorLayerProperties::setDisplayField(QString name)
+{
+  displayFieldComboBox->setCurrentText(name);
+}
+
+//! @note in raster props, this metho d is called sync()
+void QgsVectorLayerProperties::reset( void )
+{
+  // populate the general information
+  txtDisplayName->setText(layer->name());
+  pbnQueryBuilder->setWhatsThis(tr("This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer"));
+  txtSubsetSQL->setWhatsThis(tr("The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button"));
+
+  //we are dealing with a pg layer here so that we can enable the sql box
+  QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
+  //see if we are dealing with a pg layer here
+  if(layer->providerType() == "postgres")
+  {
+    grpSubset->setEnabled(true);
+    txtSubsetSQL->setText(layer->subsetString());
+    // if the user is allowed to type an adhoc query, the app will crash if the query
+    // is bad. For this reason, the sql box is disabled and the query must be built
+    // using the query builder, either by typing it in by hand or using the buttons, etc
+    // on the builder. If the ability to enter a query directly into the box is required,
+    // a mechanism to check it must be implemented.
+    txtSubsetSQL->setEnabled(false); 
+    pbnQueryBuilder->setEnabled(true);
+  }
+  else
+  {
+    grpSubset->setEnabled(false);
+  }
+
+  //get field list for display field combo
+  const QgsFieldMap& myFields = dp->fields();
+  for (QgsFieldMap::const_iterator it = myFields.begin(); it != myFields.end(); ++it)
+  {
+    displayFieldComboBox->insertItem( it->name() );
+  }   
+
+  // set up the scale based layer visibility stuff....
+  chkUseScaleDependentRendering->setChecked(layer->scaleBasedVisibility());
+  spinMinimumScale->setValue((int)layer->minScale());
+  spinMaximumScale->setValue((int)layer->maxScale());
+
+  // symbology initialization
+  if(legendtypecombobox->count()==0)
+    {
+      legendtypecombobox->insertItem(tr("Single Symbol"));
+      if(myFields.size()>0)
+      {
+	  legendtypecombobox->insertItem(tr("Graduated Symbol"));
+	  legendtypecombobox->insertItem(tr("Continuous Color"));
+	  legendtypecombobox->insertItem(tr("Unique Value"));
+      }
+    }
+
+  //find out the type of renderer in the vectorlayer, create a dialog with these settings and add it to the form
+  delete mRendererDialog;
+  mRendererDialog=0;
+  QString rtype=layer->renderer()->name();
+  if(rtype=="Single Symbol")
+  {
+      mRendererDialog=new QgsSingleSymbolDialog(layer);
+      legendtypecombobox->setCurrentIndex(0);
+  }
+  else if(rtype=="Graduated Symbol")
+  {
+      mRendererDialog=new QgsGraduatedSymbolDialog(layer);
+      legendtypecombobox->setCurrentIndex(1);
+  }
+  else if(rtype=="Continuous Color")
+  {
+      mRendererDialog=new QgsContinuousColorDialog(layer);
+      legendtypecombobox->setCurrentIndex(2);
+  }
+  else if(rtype == "Unique Value")
+  {
+      mRendererDialog=new QgsUniqueValueDialog(layer);
+      legendtypecombobox->setCurrentIndex(3);
+  }
+  
+  if(mRendererDialog)
+  {
+      widgetStackRenderers->addWidget(mRendererDialog);
+      widgetStackRenderers->setCurrentWidget(mRendererDialog);
+  }
+  
+
+  QObject::connect(legendtypecombobox, SIGNAL(activated(const QString &)), this, SLOT(alterLayerDialog(const QString &)));
+
+  // reset fields in label dialog
+  layer->label()->setFields ( layer->getDataProvider()->fields() );
+  
+  //set the metadata contents
+  teMetadata->setText(getMetadata());
+  actionDialog->init();
+  labelDialog->init();
+  labelCheckBox->setChecked(layer->labelOn());
+  //set the transparency slider
+  sliderTransparency->setValue(255 - layer->getTransparency());
+  //update the transparency percentage label
+  sliderTransparency_valueChanged(255 - layer->getTransparency());
+
+} // reset()
+
+
+//
+// methods reimplemented from qt designer base class
+//
+
+void QgsVectorLayerProperties::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}
+
+void QgsVectorLayerProperties::apply()
+{
+  //
+  // Set up sql subset query if applicable
+  //
+#ifdef HAVE_POSTGRESQL
+  // Tim commented out the next line because dp is not actually used anywhere....
+  //QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
+  //see if we are dealing with a pg layer here
+  if(layer->providerType() == "postgres")
+  {
+    grpSubset->setEnabled(true);
+    // set the subset sql for the layer
+    layer->setSubsetString(txtSubsetSQL->text());   
+    // update the metadata with the updated sql subset
+    teMetadata->setText(getMetadata());
+    // update the extents of the layer (fetched from the provider)
+    layer->updateExtents(); 
+  }
+#endif
+  // set up the scale based layer visibility stuff....
+  layer->setScaleBasedVisibility(chkUseScaleDependentRendering->isChecked());
+  layer->setMinScale(spinMinimumScale->value());
+  layer->setMaxScale(spinMaximumScale->value());
+
+  // update the display field
+  layer->setDisplayField(displayFieldComboBox->currentText());
+
+  actionDialog->apply();
+
+  labelDialog->apply();
+  layer->setLabelOn(labelCheckBox->isChecked());
+  layer->setLayerName(displayName());
+
+
+  QgsSingleSymbolDialog *sdialog = dynamic_cast < QgsSingleSymbolDialog * >(widgetStackRenderers->currentWidget());
+  QgsGraduatedSymbolDialog *gdialog = dynamic_cast < QgsGraduatedSymbolDialog * >(widgetStackRenderers->currentWidget());
+  QgsContinuousColorDialog *cdialog = dynamic_cast < QgsContinuousColorDialog * >(widgetStackRenderers->currentWidget());
+  QgsUniqueValueDialog* udialog = dynamic_cast< QgsUniqueValueDialog * >(widgetStackRenderers->currentWidget()); 
+
+  if (sdialog)
+    {
+      sdialog->apply();
+    } 
+  else if (gdialog)
+  {
+      gdialog->apply();
+  }
+  else if (cdialog)
+    {
+      cdialog->apply();
+    }
+  else if(udialog)
+  {
+      udialog->apply();
+  }
+  layer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value()));
+  
+  // update symbology
+  emit refreshLegend(layer->getLayerID());
+  
+  layer->triggerRepaint();
+
+}
+
+void QgsVectorLayerProperties::on_pbnQueryBuilder_clicked()
+{
+#ifdef HAVE_POSTGRESQL
+  // launch the query builder using the PostgreSQL connection
+  // from the provider
+
+  // get the data provider
+  QgsVectorDataProvider *dp =
+    dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
+  // cast to postgres provider type
+  QgsPostgresProvider * myPGProvider = (QgsPostgresProvider *) dp;
+  // create the query builder object using the table name
+  // and postgres connection from the provider
+  QgsDataSourceURI uri(myPGProvider->dataSourceUri());
+  QgsPgQueryBuilder *pqb = new QgsPgQueryBuilder(&uri, this);
+       
+  // Set the sql in the query builder to the same in the prop dialog
+  // (in case the user has already changed it)
+  pqb->setSql(txtSubsetSQL->text());
+  // Open the query builder
+  if(pqb->exec())
+  {
+    // if the sql is changed, update it in the prop subset text box
+    txtSubsetSQL->setText(pqb->sql());
+    //TODO If the sql is changed in the prop dialog, the layer extent should be recalculated
+
+    // The datasource for the layer needs to be updated with the new sql since this gets
+    // saved to the project file. This should happen at the map layer level...
+
+  }
+  // delete the query builder object
+  delete pqb;
+#endif
+}
+
+void QgsVectorLayerProperties::on_pbnIndex_clicked()
+{
+    QgsVectorDataProvider* pr=layer->getDataProvider();
+    if(pr)
+    {
+	setCursor(Qt::WaitCursor);
+	bool errval=pr->createSpatialIndex();
+	setCursor(Qt::ArrowCursor);
+	if(errval)
+	{
+	    QMessageBox::information(this, tr("Spatial Index"), tr("Creation of spatial index successfull"));
+	}
+	else
+	{
+           // TODO: Remind the user to use OGR >= 1.2.6 and Shapefile
+	   QMessageBox::information(this, tr("Spatial Index"), tr("Creation of spatial index failed")); 
+	}
+    }
+}
+
+QString QgsVectorLayerProperties::getMetadata()
+{
+  QString myMetadataQString = "<html><body>";
+  myMetadataQString += "<table width=\"100%\">";
+  
+  //-------------
+  
+  myMetadataQString += "<tr><td bgcolor=\"gray\">";
+  myMetadataQString += tr("General:");
+  myMetadataQString += "</td></tr>";
+
+  // data comment
+  if (!(layer->dataComment().isEmpty()))
+  {
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += tr("Layer comment: ") + 
+        layer->dataComment();
+    myMetadataQString += "</td></tr>";
+  }
+
+  //storage type
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+  myMetadataQString += tr("Storage type of this layer : ") + 
+                       layer->storageType();
+  myMetadataQString += "</td></tr>";
+
+  // data source
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+  myMetadataQString += tr("Source for this layer : ") +
+                       layer->publicSource();
+  myMetadataQString += "</td></tr>";
+
+  //geom type
+
+  QGis::VectorType vectorType = layer->vectorType();
+
+  if ( vectorType < 0 || vectorType > QGis::Polygon )
+  {
+      QgsDebugMsg( "Invalid vector type" );
+  }
+  else
+  {
+      QString vectorTypeString( QGis::qgisVectorGeometryType[layer->vectorType()] );
+
+      myMetadataQString += "<tr><td bgcolor=\"white\">";
+      myMetadataQString += tr("Geometry type of the features in this layer : ") + 
+          vectorTypeString;
+      myMetadataQString += "</td></tr>";
+  }
+
+
+      //feature count
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+  myMetadataQString += tr("The number of features in this layer : ") + 
+                       QString::number(layer->featureCount());
+  myMetadataQString += "</td></tr>";
+  //capabilities
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+  myMetadataQString += tr("Editing capabilities of this layer : ") + 
+                       layer->capabilitiesString();
+  myMetadataQString += "</td></tr>";
+
+  //-------------
+
+  QgsRect myExtent = layer->extent();  
+  myMetadataQString += "<tr><td bgcolor=\"gray\">";
+  myMetadataQString += tr("Extents:");
+  myMetadataQString += "</td></tr>";
+  //extents in layer cs  TODO...maybe make a little nested table to improve layout...
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+  myMetadataQString += tr("In layer spatial reference system units : ") + 
+                       tr("xMin,yMin ") + 
+                       QString::number(myExtent.xMin()) + 
+                       "," + 
+                       QString::number( myExtent.yMin()) +
+                       tr(" : xMax,yMax ") + 
+                       QString::number(myExtent.xMax()) + 
+                       "," + 
+                       QString::number(myExtent.yMax());
+  myMetadataQString += "</td></tr>";
+
+  //extents in project cs
+
+  try
+  {
+    /*    
+    // TODO: currently disabled, will revisit later [MD]
+    QgsRect myProjectedExtent = coordinateTransform->transformBoundingBox(layer->extent());
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += tr("In project spatial reference system units : ") + 
+                         tr("xMin,yMin ") + 
+                         QString::number(myProjectedExtent.xMin()) + 
+                         "," + 
+                         QString::number( myProjectedExtent.yMin()) +
+                         tr(" : xMax,yMax ") + 
+                         QString::number(myProjectedExtent.xMax()) + 
+                         "," + 
+                         QString::number(myProjectedExtent.yMax());
+    myMetadataQString += "</td></tr>";
+    */
+
+    // 
+    // Display layer spatial ref system
+    //
+    myMetadataQString += "<tr><td bgcolor=\"gray\">";
+    myMetadataQString += tr("Layer Spatial Reference System:");
+    myMetadataQString += "</td></tr>";  
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += layer->srs().proj4String().replace(QRegExp("\"")," \"");                       
+    myMetadataQString += "</td></tr>";
+
+    // 
+    // Display project (output) spatial ref system
+    //  
+    /*
+    // TODO: disabled for now, will revisit later [MD]
+    myMetadataQString += "<tr><td bgcolor=\"gray\">";
+    myMetadataQString += tr("Project (Output) Spatial Reference System:");
+    myMetadataQString += "</td></tr>";  
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += coordinateTransform->destSRS().proj4String().replace(QRegExp("\"")," \"");                       
+    myMetadataQString += "</td></tr>";
+    */
+
+  }
+  catch(QgsCsException &cse)
+  {
+    QgsDebugMsg( cse.what() );
+
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += tr("In project spatial reference system units : ");
+    myMetadataQString += " (Invalid transformation of layer extents) ";
+    myMetadataQString += "</td></tr>";
+
+  }
+
+      
+  //
+  // Add the info about each field in the attribute table
+  //
+  myMetadataQString += "<tr><td bgcolor=\"gray\">";
+  myMetadataQString += tr("Attribute field info:");
+  myMetadataQString += "</td></tr>";
+  myMetadataQString += "<tr><td bgcolor=\"white\">";
+
+  // Start a nested table in this trow
+  myMetadataQString += "<table width=\"100%\">";
+  myMetadataQString += "<tr><th bgcolor=\"black\">";
+  myMetadataQString += "<font color=\"white\">" + tr("Field") + "</font>";
+  myMetadataQString += "</th>";
+  myMetadataQString += "<th bgcolor=\"black\">";
+  myMetadataQString += "<font color=\"white\">" + tr("Type") + "</font>";
+  myMetadataQString += "</th>";
+  myMetadataQString += "<th bgcolor=\"black\">";
+  myMetadataQString += "<font color=\"white\">" + tr("Length") + "</font>";
+  myMetadataQString += "</th>";
+  myMetadataQString += "<th bgcolor=\"black\">";
+  myMetadataQString += "<font color=\"white\">" + tr("Precision") + "</font>";
+  myMetadataQString += "</th>";      
+  myMetadataQString += "<th bgcolor=\"black\">";
+  myMetadataQString += "<font color=\"white\">" + tr("Comment") + "</font>";
+  myMetadataQString += "</th>";
+ 
+  //get info for each field by looping through them
+  QgsVectorDataProvider *myDataProvider = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
+  const QgsFieldMap& myFields = myDataProvider->fields();
+  for (QgsFieldMap::const_iterator it = myFields.begin(); it != myFields.end(); ++it)
+  {
+    const QgsField& myField = *it;
+    
+    myMetadataQString += "<tr><td bgcolor=\"white\">";
+    myMetadataQString += myField.name();
+    myMetadataQString += "</td>";
+    myMetadataQString += "<td bgcolor=\"white\">";
+    myMetadataQString += myField.typeName();
+    myMetadataQString += "</td>";
+    myMetadataQString += "<td bgcolor=\"white\">";
+    myMetadataQString += QString("%1").arg(myField.length());
+    myMetadataQString += "</td>";
+    myMetadataQString += "<td bgcolor=\"white\">";
+    myMetadataQString += QString("%1").arg(myField.precision());
+    myMetadataQString += "</td>";
+    myMetadataQString += "<td bgcolor=\"white\">";
+    myMetadataQString += QString("%1").arg(myField.comment());
+    myMetadataQString += "</td></tr>";
+  } 
+
+  //close field list
+  myMetadataQString += "</table>"; //end of nested table
+  myMetadataQString += "</td></tr>"; //end of stats container table row
+  //
+  // Close the table
+  //
+
+  myMetadataQString += "</table>";
+  myMetadataQString += "</body></html>";
+  return myMetadataQString;
+
+}
+
+
+
+void QgsVectorLayerProperties::on_pbnChangeSpatialRefSys_clicked()
+{
+    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
+    mySelector->setSelectedSRSID(layer->srs().srsid());
+    if(mySelector->exec())
+    {
+      QgsSpatialRefSys srs(mySelector->getCurrentSRSID(), QgsSpatialRefSys::QGIS_SRSID);
+      layer->setSrs(srs);
+    }
+    else
+    {
+      QApplication::restoreOverrideCursor();
+    }
+    delete mySelector;
+
+    leSpatialRefSys->setText(layer->srs().proj4String());
+    leSpatialRefSys->setCursorPosition(0);
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsvectorlayerproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,92 @@
+/***************************************************************************
+                          qgsdlgvectorlayerproperties.h
+                   Unified property dialog for vector layers
+                             -------------------
+    begin                : 2004-01-28
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsvectorlayerproperties.h 6447 2007-01-21 05:29:14Z telwertowski $ */
+
+#ifndef QGSVECTORLAYERPROPERTIES
+#define QGSVECTORLAYERPROPERTIES
+
+#include "ui_qgsvectorlayerpropertiesbase.h"
+#include "qgisgui.h"
+#include "qgsrenderer.h"
+
+class QgsAttributeActionDialog;
+class QgsLabelDialog;
+class QgsVectorLayer;
+
+
+class QgsVectorLayerProperties : public QDialog, private Ui::QgsVectorLayerPropertiesBase{
+  Q_OBJECT
+  public:
+  QgsVectorLayerProperties(QgsVectorLayer *lyr = 0,QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+  ~QgsVectorLayerProperties();
+  /**Sets the legend type to "single symbol", "graduated symbol" or "continuous color"*/
+  void setLegendType(QString type);
+  /**Returns the display name entered in the dialog*/
+  QString displayName();
+  void setRendererDirty(bool){}
+  /**Sets the attribute that is used in the Identify Results dialog box*/
+  void setDisplayField(QString name);
+
+  public slots:
+  void alterLayerDialog(const QString& string);
+  /** Reset to original (vector layer) values */
+  void reset();
+  /** Get metadata about the layer in nice formatted html */
+  QString getMetadata();
+  /** Set transparency based on slider position */
+  void sliderTransparency_valueChanged(int theValue);
+  /** Toggles on the label check box */
+  void setLabelCheckBox();
+  /** Called when apply button is pressed or dialog is accepted */
+  void apply();
+
+  //
+  //methods reimplemented from qt designer base class
+  //
+
+  void on_buttonBox_helpRequested();
+  void on_pbnQueryBuilder_clicked();
+  void on_pbnIndex_clicked();
+  void on_pbnChangeSpatialRefSys_clicked();
+  
+  signals:
+    
+    /** emitted when changes to layer were saved to update legend */
+    void refreshLegend(QString layerID);
+
+  protected:
+  QgsVectorLayer *layer;
+  /**Renderer dialog which is shown*/
+  QDialog* mRendererDialog;
+  /**Buffer renderer, which is assigned to the vector layer when apply is pressed*/
+  //QgsRenderer* bufferRenderer;
+  /**Label dialog. If apply is pressed, options are applied to vector's QgsLabel */
+  QgsLabelDialog* labelDialog;
+  /**Actions dialog. If apply is pressed, the actions are stored for later use */
+  QgsAttributeActionDialog* actionDialog;
+  /**Buffer pixmap which takes the picture of renderers before they are assigned to the vector layer*/
+  //QPixmap bufferPixmap;
+  static const int context_id = 94000531;
+};
+
+inline QString QgsVectorLayerProperties::displayName()
+{
+    return txtDisplayName->text();
+}
+
+#endif

Added: packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,27 @@
+/***************************************************************************
+                                 qgsvectorsymbologywidget.cpp
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgsvectorsymbologywidget.h"
+
+#include <qgssymbol.h>
+
+QgsVectorSymbologyWidget::QgsVectorSymbologyWidget(  QWidget *parent, const char * name, Qt::WFlags f)
+           :QgsVectorSymbologyWidgetBase( parent, name, f)
+{
+}
+
+QgsVectorSymbologyWidget::~QgsVectorSymbologyWidget()
+{
+}

Added: packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/app/qgsvectorsymbologywidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+                               qgsvectorsymbologywidget.h 
+                               ------------------
+        begin                : March 2005
+        copyright            : (C) 2005 by Tim Sutton
+        email                : tim at linfiniti.com
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSVECTORSYMBOLOGYWIDGET_H
+#define QGSVECTORSYMBOLOGYWIDGET_H
+
+class QgsSymbol;
+
+
+#include "ui_qgsvectorsymbologywidgetbase.h"
+
+class QgsVectorSymbologyWidget:public QgsVectorSymbologyWidgetBase
+{
+  Q_OBJECT;
+  public:
+
+  //! Constructor
+  QgsVectorSymbologyWidget(QWidget *parent = 0, const char * name = 0, Qt::WFlags f = 0 );
+
+  ~QgsVectorSymbologyWidget();
+
+public slots:
+  
+private:
+};
+
+#endif

Modified: packages/qgis/branches/upstream/current/src/core/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/core/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,261 +1,97 @@
-SET(QGIS_GUI_SRCS
-../gui/qgisapp.cpp
-../gui/qgisiface.cpp
-../gui/qgisinterface.cpp
-../gui/qgsabout.cpp
-../gui/qgsaddattrdialog.cpp
-../gui/qgsattributeaction.cpp
-../gui/qgsattributeactiondialog.cpp
-../gui/qgsattributedialog.cpp
-../gui/qgsattributetable.cpp
-../gui/qgsattributetabledisplay.cpp
-../gui/qgsbookmarks.cpp
-../gui/qgsclipboard.cpp
-../gui/qgscolorbutton.cpp
-../gui/qgscontinuouscolordialog.cpp
-../gui/qgscontinuouscolorrenderer.cpp
-../gui/qgscoordinatetransform.cpp
-../gui/qgscursors.cpp
-../gui/qgscustomprojectiondialog.cpp
-../gui/qgsdelattrdialog.cpp
-../gui/qgsencodingfiledialog.cpp
-../gui/qgsfillstylewidget.cpp
-../gui/qgsgeomtypedialog.cpp
-../gui/qgsgraduatedsymboldialog.cpp
-../gui/qgsgraduatedsymbolrenderer.cpp
-../gui/qgshelpviewer.cpp
-../gui/qgsidentifyresults.cpp
-../gui/qgslabel.cpp
-../gui/qgslabeldialog.cpp
-../gui/qgslayerprojectionselector.cpp
-../gui/qgslinestyledialog.cpp
-../gui/qgslinestylewidget.cpp
-../gui/qgsludialog.cpp
-../gui/qgsmapcanvas.cpp
-../gui/qgsmapcanvasitem.cpp
-../gui/qgsmapcanvasmap.cpp
-../gui/qgsmaplayer.cpp
-../gui/qgsmaplayerregistry.cpp
-../gui/qgsmaplayerset.cpp
-../gui/qgsmapoverviewcanvas.cpp
-../gui/qgsmaprender.cpp
-../gui/qgsmaptoolcapture.cpp
-../gui/qgsmaptool.cpp
-../gui/qgsmaptoolidentify.cpp
-../gui/qgsmaptoolpan.cpp
-../gui/qgsmaptoolselect.cpp
-../gui/qgsmaptoolvertexedit.cpp
-../gui/qgsmaptoolzoom.cpp
-../gui/qgsmarkerdialog.cpp
-../gui/qgsmeasure.cpp
-../gui/qgsmessageviewer.cpp
-../gui/qgsnewhttpconnection.cpp
-../gui/qgsoptions.cpp
-../gui/qgspastetransformations.cpp
-../gui/qgspatterndialog.cpp
-../gui/qgspluginmanager.cpp
-../gui/qgspointstylewidget.cpp
-../gui/qgsproject.cpp
-../gui/qgsprojectproperties.cpp
-../gui/qgsrasterlayerproperties.cpp
-../gui/qgsrubberband.cpp
-../gui/qgsrunprocess.cpp
-../gui/qgssearchquerybuilder.cpp
-../gui/qgsserversourceselect.cpp
-../gui/qgssinglesymboldialog.cpp
-../gui/qgssinglesymbolrenderer.cpp
-../gui/qgsspatialrefsys.cpp
-../gui/qgsuniquevaluedialog.cpp
-../gui/qgsuniquevaluerenderer.cpp
-../gui/qgsvectorfilewriter.cpp
-../gui/qgsvectorlayer.cpp
-../gui/qgsvectorlayerproperties.cpp
-../gui/qgsvertexmarker.cpp
-../widgets/projectionselector/qgsprojectionselector.cpp
 
-../composer/qgscomposer.cpp
-../composer/qgscomposeritem.cpp
-../composer/qgscomposerlabel.cpp
-../composer/qgscomposermap.cpp
-../composer/qgscomposerpicture.cpp
-../composer/qgscomposerscalebar.cpp
-../composer/qgscomposervectorlegend.cpp
-../composer/qgscomposerview.cpp
-../composer/qgscomposition.cpp
 
-../legend/qgslegend.cpp
-../legend/qgslegendgroup.cpp
-../legend/qgslegenditem.cpp
-../legend/qgslegendlayer.cpp
-../legend/qgslegendlayerfile.cpp
-../legend/qgslegendlayerfilegroup.cpp
-../legend/qgslegendpropertygroup.cpp
-../legend/qgslegendpropertyitem.cpp
-../legend/qgslegendsymbologygroup.cpp
-../legend/qgslegendsymbologyitem.cpp
-../legend/qgslegendvectorsymbologyitem.cpp
-
-../raster/qgsrasterlayer.cpp
-
-)
-
-SET(QGIS_GUI_MOC_HDRS
-../gui/qgsnewhttpconnection.h
-../gui/qgshelpviewer.h
-../gui/qgsattributetable.h
-../gui/qgssearchquerybuilder.h
-../gui/qgsattributeactiondialog.h
-../gui/qgslinestyledialog.h
-../gui/qgsabout.h
-../gui/qgsmaprender.h
-../gui/qgsdelattrdialog.h
-../gui/qgsmeasure.h
-../gui/qgsgeomtypedialog.h
-../gui/qgsgraduatedsymboldialog.h
-../gui/qgscustomprojectiondialog.h
-../gui/qgspastetransformations.h
-../gui/qgscontinuouscolordialog.h
-../gui/qgssinglesymboldialog.h
-../gui/qgsbookmarks.h
-../gui/qgsfillstylewidget.h
-../gui/qgsmarkerdialog.h
-../gui/qgsidentifyresults.h
-../gui/qgsvectorlayerproperties.h
-../gui/qgsserversourceselect.h
-../gui/qgspluginmanager.h
-../gui/qgspatterndialog.h
-../gui/qgsaddattrdialog.h
-../gui/qgsattributetabledisplay.h
-../gui/qgsattributedialog.h
-../gui/qgsoptions.h
-../gui/qgsludialog.h
-../gui/qgslinestylewidget.h
-../gui/qgisapp.h
-../gui/qgisiface.h
-../gui/qgisinterface.h
-../gui/qgscoordinatetransform.h
-../gui/qgsencodingfiledialog.h
-../gui/qgslabeldialog.h
-../gui/qgslayerprojectionselector.h
-../gui/qgsmapcanvas.h
-../gui/qgsmapcanvasitem.h
-../gui/qgsmapoverviewcanvas.h
-../gui/qgsmaplayer.h
-../gui/qgsmaplayerregistry.h
-../gui/qgsmaptoolidentify.h
-../gui/qgspointstylewidget.h
-../widgets/projectionselector/qgsprojectionselector.h
-../gui/qgsprojectproperties.h
-../gui/qgsrasterlayerproperties.h
-../gui/qgsrunprocess.h
-../gui/qgsuniquevaluedialog.h
-../gui/qgsvectorlayer.h
-../legend/qgslegend.h
-../composer/qgscomposermap.h
-../composer/qgscomposerlabel.h
-../composer/qgscomposer.h
-../composer/qgscomposerpicture.h
-../composer/qgscomposerscalebar.h
-../composer/qgscomposervectorlegend.h
-../composer/qgscomposerview.h
-../composer/qgscomposition.h
-
-../raster/qgsrasterlayer.h
-)
-
-
 #############################################################
 # sources
 
 SET(QGIS_CORE_SRCS
 qgis.cpp
 qgsapplication.cpp
-qgsbookmarkitem.cpp
+qgsattributeaction.cpp
 qgsclipper.cpp
-qgscolortable.cpp
 qgscontexthelp.cpp
-qgscustomsymbol.cpp
-qgsdatamanager.cpp
-qgsdatasource.cpp
+qgscoordinatetransform.cpp
+qgsdatasourceuri.cpp
 qgsdistancearea.cpp
 qgsexception.cpp
-qgsfeatureattribute.cpp
 qgsfeature.cpp
 qgsfield.cpp
 qgsgeometry.cpp
 qgsgeometryvertexindex.cpp
 qgshttptransaction.cpp
+qgslabel.cpp
 qgslabelattributes.cpp
 qgsline.cpp
-qgslinesymbol.cpp
 qgslogger.cpp
+qgsmaplayer.cpp
+qgsmaplayerregistry.cpp
+qgsmaprender.cpp
 qgsmaptopixel.cpp
-qgsmarkercatalogue.cpp
-qgsmarkersymbol.cpp
-qgsnumericsortlistviewitem.cpp
-qgspluginitem.cpp
-qgspluginregistry.cpp
-../gui/qgspluginmetadata.cpp
+qgsmessageoutput.cpp
 qgspoint.cpp
-qgspolygonsymbol.cpp
+qgsproject.cpp
 qgsprojectproperty.cpp
 qgsprovidercountcalcevent.cpp
 qgsproviderextentcalcevent.cpp
 qgsprovidermetadata.cpp
 qgsproviderregistry.cpp
-qgsrangerenderitem.cpp
 qgsrasterdataprovider.cpp
 qgsrect.cpp
-qgsrenderer.cpp
-qgsrenderitem.cpp
+qgsrunprocess.cpp
 qgsscalecalculator.cpp
 qgssearchstring.cpp
 qgssearchtreenode.cpp
-qgssymbol.cpp
-qgssymbologyutils.cpp
+qgsspatialrefsys.cpp
 qgsvectordataprovider.cpp
+qgsvectorfilewriter.cpp
+qgsvectorlayer.cpp
 
+raster/qgscolortable.cpp
+raster/qgsrasterlayer.cpp
 
+renderer/qgscontinuouscolorrenderer.cpp
+renderer/qgsgraduatedsymbolrenderer.cpp
+renderer/qgsrenderer.cpp
+renderer/qgssinglesymbolrenderer.cpp
+renderer/qgsuniquevaluerenderer.cpp
+
+symbology/qgsmarkercatalogue.cpp
+symbology/qgssymbol.cpp
+symbology/qgssymbologyutils.cpp
+
+spatialindex/qgsspatialindex.cpp
 )
 
 ADD_FLEX_FILES(QGIS_CORE_SRCS qgssearchstringlexer.ll)
 
 ADD_BISON_FILES(QGIS_CORE_SRCS qgssearchstringparser.yy)
 
+# Disable compiler warnings for lex generated sources
+SET_SOURCE_FILES_PROPERTIES(
+                ${CMAKE_BINARY_DIR}/src/core/flex_qgssearchstringlexer.cpp 
+                PROPERTIES COMPILE_FLAGS -w)
+
 SET(QGIS_CORE_MOC_HDRS
 qgscontexthelp.h
+qgscoordinatetransform.h
 qgsdataprovider.h
 qgshttptransaction.h
+qgsmaplayer.h
+qgsmaplayerregistry.h
+qgsmaprender.h
+qgsmessageoutput.h
+qgsproject.h
 qgsrasterdataprovider.h
+qgsrunprocess.h
+qgsvectorlayer.h
 
+raster/qgsrasterlayer.h
+raster/qgsrasterviewport.h
 )
 
-IF (POSTGRES_FOUND)
-  SET (QGIS_GUI_SRCS ${QGIS_GUI_SRCS}
-          ../gui/qgsdbsourceselect.cpp
-          ../gui/qgsnewconnection.cpp
-          ../gui/qgspgquerybuilder.cpp
-          ../gui/qgspgutil.cpp
-  )
-  SET (QGIS_GUI_MOC_HDRS ${QGIS_GUI_MOC_HDRS}
-          ../gui/qgsdbsourceselect.h
-		  ../gui/qgsnewconnection.h
-		  ../gui/qgspgquerybuilder.h
-  )
-ENDIF (POSTGRES_FOUND)
-
-QT4_WRAP_CPP(QGIS_GUI_MOC_SRCS ${QGIS_GUI_MOC_HDRS})
 QT4_WRAP_CPP(QGIS_CORE_MOC_SRCS ${QGIS_CORE_MOC_HDRS})
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
-  ../raster
-  ../legend
-  ../gui
-  ../composer
-  ../plugins
-  ../widgets/projectionselector
-  ${CMAKE_CURRENT_BINARY_DIR}
-  ${CMAKE_CURRENT_BINARY_DIR}/../ui
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} raster renderer symbology
+  spatialindex/include
   ${QT_QTSVG_INCLUDE_DIR}
   ${PROJ_INCLUDE_DIR}
   ${SQLITE3_INCLUDE_DIR}
@@ -263,11 +99,6 @@
   ${GDAL_INCLUDE_DIR}
 )
 
-
-IF (POSTGRES_FOUND)
-  INCLUDE_DIRECTORIES(${POSTGRES_INCLUDE_DIR})
-ENDIF (POSTGRES_FOUND)
-
 IF (WIN32)
   IF (MSVC)
     ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllexport)")
@@ -277,12 +108,35 @@
 ENDIF (WIN32)
 
 #############################################################
+# spatial indexing library
+
+# add path prefix to every specified file
+MACRO(PATH_PREFIX OUTPUT PREFIX)
+  FOREACH(F ${ARGN})
+    SET(${OUTPUT} ${${OUTPUT}} ${PREFIX}/${F})
+  ENDFOREACH(F)
+ENDMACRO(PATH_PREFIX)
+
+# tools library
+PATH_PREFIX(TOOLS_SRC tools   ExternalSort.cc ExternalSort.h TemporaryFile.cc Tools.cc)
+PATH_PREFIX(GEOM_SRC geometry LineSegment.cc Point.cc Region.cc)
+
+# spatial index library
+PATH_PREFIX(SPINDEX_SRC spatialindex SpatialIndexImpl.cc)
+PATH_PREFIX(STMAN_SRC storagemanager Buffer.cc DiskStorageManager.cc MemoryStorageManager.cc RandomEvictionsBuffer.cc)
+PATH_PREFIX(RTREE_SRC rtree BulkLoader.cc Index.cc Leaf.cc Node.cc RTree.cc Statistics.cc)
+
+SET(SPINDEX_SRC ${TOOLS_SRC} ${GEOM_SRC} ${SPINDEX_SRC} ${STMAN_SRC} ${RTREE_SRC})
+
+PATH_PREFIX(INDEX_SRC spatialindex ${SPINDEX_SRC})
+
+#############################################################
 # qgis_core library
 
-ADD_LIBRARY(qgis_core SHARED ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${QGIS_GUI_SRCS} ${QGIS_GUI_MOC_SRCS} ${INDEX_SRC})
+ADD_LIBRARY(qgis_core SHARED ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${INDEX_SRC})
 
 # make sure to create qgssvnversion.h before compiling
-ADD_DEPENDENCIES(qgis_core svnversion ui)
+ADD_DEPENDENCIES(qgis_core svnversion)
 
 # because of htonl
 IF (WIN32)
@@ -290,181 +144,92 @@
 ENDIF (WIN32)
 
 TARGET_LINK_LIBRARIES(qgis_core
-  ${QT_LIBRARIES} ${QT_QTSVG_LIBRARY}
+  ${QT_QTCORE_LIBRARY} 
+  ${QT_QTGUI_LIBRARY} 
+  ${QT_QTXML_LIBRARY} 
+  #${QT_QTSQL_LIBRARY} 
+  ${QT_QTSVG_LIBRARY} 
+  ${QT_QTNETWORK_LIBRARY} 
+  ${QT_QTMAIN_LIBRARY} 
+  ${QT_QT3SUPPORT_LIBRARY} 
   ${PROJ_LIBRARY}
   ${SQLITE3_LIBRARY}
   ${GEOS_LIBRARY}
   ${GDAL_LIBRARY}
   ${PLATFORM_LIBRARIES}
 )
+#work aroud for the fact that qt3 support on mac is linked ot qsql
+IF (APPLE)
+  TARGET_LINK_LIBRARIES(qgis_core
+    ${QT_QTSQL_LIBRARY} 
+    )
+ENDIF (APPLE)
 
-IF (POSTGRES_FOUND)
-  TARGET_LINK_LIBRARIES (qgis_core ${POSTGRES_LIBRARY})
-ENDIF (POSTGRES_FOUND)
-
 INSTALL(TARGETS qgis_core
   RUNTIME DESTINATION ${QGIS_BIN_DIR}
   LIBRARY DESTINATION lib)
 
 
+# Added by Tim to install headers
 
-############################################################
-# Install headers
 SET(QGIS_CORE_HDRS
-  qgis.h
-  qgsapplication.h
-  qgsbookmarkitem.h
-  qgsclipper.h
-  qgscolortable.h
-  qgscontexthelp.h
-  qgscustomsymbol.h
-  qgsdatamanager.h
-  qgsdatasource.h
-  qgsdistancearea.h
-  qgsexception.h
-  qgsfeatureattribute.h
-  qgsfeature.h
-  qgsfield.h
-  qgsgeometry.h
-  qgsgeometryvertexindex.h
-  qgshttptransaction.h
-  qgslabelattributes.h
-  qgsline.h
-  qgslinesymbol.h
-  qgslogger.h
-  qgsmaptopixel.h
-  qgsmarkercatalogue.h
-  qgsmarkersymbol.h
-  qgsnumericsortlistviewitem.h
-  qgspluginitem.h
-  qgspluginregistry.h
-  ../gui/qgspluginmetadata.h
-  qgspoint.h
-  qgspolygonsymbol.h
-  qgsprojectproperty.h
-  qgsprovidercountcalcevent.h
-  qgsproviderextentcalcevent.h
-  qgsprovidermetadata.h
-  qgsproviderregistry.h
-  qgsrangerenderitem.h
-  qgsrasterdataprovider.h
-  qgsrect.h
-  qgsrenderer.h
-  qgsrenderitem.h
-  qgsscalecalculator.h
-  qgssearchstring.h
-  qgssearchtreenode.h
-  qgssymbol.h
-  qgssymbologyutils.h
-  qgsvectordataprovider.h
-  )
+qgis.h
+qgsapplication.h
+qgsattributeaction.h
+qgsclipper.h
+qgscontexthelp.h
+qgscoordinatetransform.h
+qgsdatasourceuri.h
+qgsdistancearea.h
+qgsexception.h
+qgsfeature.h
+qgsfield.h
+qgsgeometry.h
+qgsgeometryvertexindex.h
+qgshttptransaction.h
+qgslabel.h
+qgslabelattributes.h
+qgsline.h
+qgslogger.h
+qgsmaplayer.h
+qgsmaplayerregistry.h
+qgsmaprender.h
+qgsmaptopixel.h
+qgsmessageoutput.h
+qgspoint.h
+qgsproject.h
+qgsprojectproperty.h
+qgsprovidercountcalcevent.h
+qgsproviderextentcalcevent.h
+qgsprovidermetadata.h
+qgsproviderregistry.h
+qgsrasterdataprovider.h
+qgsrect.h
+qgsrunprocess.h
+qgsscalecalculator.h
+qgssearchstring.h
+qgssearchtreenode.h
+qgsspatialrefsys.h
+qgsvectordataprovider.h
+qgsvectorfilewriter.h
+qgsvectorlayer.h
 
-SET(QGIS_GUI_HDRS
-../gui/qgisapp.h
-../gui/qgisiface.h
-../gui/qgisinterface.h
-../gui/qgsabout.h
-../gui/qgsaddattrdialog.h
-../gui/qgsattributeaction.h
-../gui/qgsattributeactiondialog.h
-../gui/qgsattributedialog.h
-../gui/qgsattributetable.h
-../gui/qgsattributetabledisplay.h
-../gui/qgsbookmarks.h
-../gui/qgscsexception.h
-../gui/qgsclipboard.h
-../gui/qgscolorbutton.h
-../gui/qgscontinuouscolordialog.h
-../gui/qgscontinuouscolorrenderer.h
-../gui/qgscoordinatetransform.h
-../gui/qgscursors.h
-../gui/qgscustomprojectiondialog.h
-../gui/qgsdelattrdialog.h
-../gui/qgsencodingfiledialog.h
-../gui/qgsfillstylewidget.h
-../gui/qgsgeomtypedialog.h
-../gui/qgsgraduatedsymboldialog.h
-../gui/qgsgraduatedsymbolrenderer.h
-../gui/qgshelpviewer.h
-../gui/qgsidentifyresults.h
-../gui/qgslabel.h
-../gui/qgslabeldialog.h
-../gui/qgslayerprojectionselector.h
-../gui/qgslinestyledialog.h
-../gui/qgslinestylewidget.h
-../gui/qgsludialog.h
-../gui/qgsmapcanvas.h
-../gui/qgsmapcanvasitem.h
-../gui/qgsmapcanvasmap.h
-../gui/qgsmaplayer.h
-../gui/qgsmaplayerregistry.h
-../gui/qgsmaplayerset.h
-../gui/qgsmapoverviewcanvas.h
-../gui/qgsmaprender.h
-../gui/qgsmaptoolcapture.h
-../gui/qgsmaptool.h
-../gui/qgsmaptoolidentify.h
-../gui/qgsmaptoolpan.h
-../gui/qgsmaptoolselect.h
-../gui/qgsmaptoolvertexedit.h
-../gui/qgsmaptoolzoom.h
-../gui/qgsmarkerdialog.h
-../gui/qgsmeasure.h
-../gui/qgsmessageviewer.h
-../gui/qgsnewhttpconnection.h
-../gui/qgsoptions.h
-../gui/qgspastetransformations.h
-../gui/qgspatterndialog.h
-../gui/qgspluginmanager.h
-../gui/qgspointstylewidget.h
-../gui/qgsproject.h
-../gui/qgsprojectproperties.h
-../gui/qgsrasterlayerproperties.h
-../gui/qgsrubberband.h
-../gui/qgsrunprocess.h
-../gui/qgssearchquerybuilder.h
-../gui/qgsserversourceselect.h
-../gui/qgssinglesymboldialog.h
-../gui/qgssinglesymbolrenderer.h
-../gui/qgsspatialrefsys.h
-../gui/qgsuniquevaluedialog.h
-../gui/qgsuniquevaluerenderer.h
-../gui/qgsvectorfilewriter.h
-../gui/qgsvectorlayer.h
-../gui/qgsvectorlayerproperties.h
-../gui/qgsvertexmarker.h
-../widgets/projectionselector/qgsprojectionselector.h
+raster/qgscolortable.h
+raster/qgsrasterbandstats.h
+raster/qgsrasterlayer.h
 
-../composer/qgscomposer.h
-../composer/qgscomposeritem.h
-../composer/qgscomposerlabel.h
-../composer/qgscomposermap.h
-../composer/qgscomposerpicture.h
-../composer/qgscomposerscalebar.h
-../composer/qgscomposervectorlegend.h
-../composer/qgscomposerview.h
-../composer/qgscomposition.h
+renderer/qgscontinuouscolorrenderer.h
+renderer/qgsgraduatedsymbolrenderer.h
+renderer/qgsrenderer.h
+renderer/qgssinglesymbolrenderer.h
+renderer/qgsuniquevaluerenderer.h
 
-../legend/qgslegend.h
-../legend/qgslegendgroup.h
-../legend/qgslegenditem.h
-../legend/qgslegendlayer.h
-../legend/qgslegendlayerfile.h
-../legend/qgslegendlayerfilegroup.h
-../legend/qgslegendpropertygroup.h
-../legend/qgslegendpropertyitem.h
-../legend/qgslegendsymbologygroup.h
-../legend/qgslegendsymbologyitem.h
-../legend/qgslegendvectorsymbologyitem.h
+symbology/qgsmarkercatalogue.h
+symbology/qgssymbol.h
+symbology/qgssymbologyutils.h
 
-../raster/qgsrasterlayer.h
-../raster/qgsrasterbandstats.h
-../raster/qgsrasterviewport.h
-../raster/qgsrasterpyramid.h
-
-../core/qgsdataprovider.h
-
+spatialindex/qgsspatialindex.h
 )
 
-INSTALL(CODE "MESSAGE(\"Installing headers...\")")
-INSTALL(FILES ${QGIS_CORE_HDRS} ${QGIS_GUI_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
+INSTALL(CODE "MESSAGE(\"Installing CORE headers...\")")
+INSTALL(FILES ${QGIS_CORE_HDRS} ${QGIS_CORE_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})

Deleted: packages/qgis/branches/upstream/current/src/core/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/core/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,180 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-##
-## ----------------------------------------------------------------------
-##        Initial setup 
-## ----------------------------------------------------------------------
-##
-if HAVE_QTMAC
-MAC = mac
-endif
-
-
-if !HAVE_QTMAC
-PREFIX=-DPREFIX=\"$(prefix)\"
-PLUGINPATH=-DPLUGINPATH=\"$(pkglibdir)\"
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-##
-## ----------------------------------------------------------------------
-##      Define Targets
-## ----------------------------------------------------------------------
-##
-lib_LTLIBRARIES = libqgis_core.la 
-
-
-##
-## ----------------------------------------------------------------------
-##         libqgis_core stuff starts here
-## ----------------------------------------------------------------------
-##
-
-libqgis_coreHEADERS =				\
-		qgis.h						\
-		qgsapplication.h			\
-		qgsbookmarkitem.h			\
-		qgsclipper.h				\
-		qgscolortable.h				\
-		qgscontexthelp.h			\
-		qgscustomsymbol.h			\
-		qgsdatamanager.h			\
-		qgsdataprovider.h			\
-		qgsdatasource.h				\
-		qgsdatasourceuri.h			\
-		qgsdistancearea.h			\
-		qgsexception.h				\
-		qgsfeature.h				\
-		qgsfeatureattribute.h		\
-		qgsfield.h					\
-		qgsgeometry.h				\
-		qgsgeometryvertexindex.h	\
-		qgshttptransaction.h		\
-		qgslabelattributes.h		\
-		qgsline.h					\
-		qgslinesymbol.h				\
-		qgslogger.h				\
-		qgsmaptopixel.h				\
-		qgsmarkercatalogue.h		\
-		qgsmarkersymbol.h			\
-		qgsnumericsortlistviewitem.h\
-		qgspluginitem.h				\
-		qgspluginregistry.h			\
-		qgspoint.h					\
-		qgspolygonsymbol.h			\
-		qgsprojectproperty.h		\
-		qgsprovidercountcalcevent.h	\
-		qgsproviderextentcalcevent.h\
-		qgsprovidermetadata.h		\
-		qgsproviderregistry.h		\
-		qgsrangerenderitem.h		\
-		qgsrasterdataprovider.h		\
-		qgsrect.h					\
-		qgsrenderer.h				\
-		qgsrenderitem.h				\
-		qgsscalecalculator.h		\
-		qgssearchstring.h			\
-		qgssearchtreenode.h			\
-		qgssymbol.h					\
-		qgssymbologyutils.h			\
-		qgsvectordataprovider.h		
-
-## files generated from MOC                             
-libqgis_core_la_MOC =							\
-		qgscontexthelp.moc.cpp			\
-		qgsdataprovider.moc.cpp				\
-		qgshttptransaction.moc.cpp		\
-		qgsrasterdataprovider.moc.cpp		
-
-libqgis_core_la_SOURCES =\
-		qgis.cpp								\
-		qgsapplication.cpp	\
-		qgsbookmarkitem.cpp	\
-		qgsclipper.cpp						\
-		qgscolortable.cpp					\
-		qgscontexthelp.cpp		\
-		qgscustomsymbol.cpp		\
-		qgsdatamanager.cpp				\
-		qgsdatasource.cpp		\
-		qgsdistancearea.cpp			\
-		qgsexception.cpp				\
-		qgsfeature.cpp					\
-		qgsfeatureattribute.cpp				\
-		qgsfield.cpp						\
-		qgsgeometry.cpp						\
-		qgsgeometryvertexindex.cpp			\
-		qgshttptransaction.cpp		\
-		qgslabelattributes.cpp		\
-		qgsline.cpp			\
-		qgslinesymbol.cpp		\
-		qgslogger.cpp			\
-		qgsmaptopixel.cpp					\
-		qgsmarkercatalogue.cpp				\
-		qgsmarkersymbol.cpp					\
-		qgsnumericsortlistviewitem.cpp			\
-		qgspluginitem.cpp		\
-		qgspluginregistry.cpp		\
-		qgspoint.cpp						\
-		qgspolygonsymbol.cpp		\
-		qgsprojectproperty.cpp				\
-		qgsprovidercountcalcevent.cpp		\
-		qgsproviderextentcalcevent.cpp		\
-		qgsprovidermetadata.cpp		\
-		qgsproviderregistry.cpp				\
-		qgsrangerenderitem.cpp				\
-		qgsrasterdataprovider.cpp	\
-		qgsrect.cpp							\
-		qgsrenderer.cpp						\
-		qgsrenderitem.cpp					\
-		qgsscalecalculator.cpp				\
-		qgssearchstring.cpp             \
-		qgssearchstringlexer.ll		\
-		qgssearchstringparser.yy	\
-		qgssearchtreenode.cpp		\
-		qgssymbol.cpp						\
-		qgssymbologyutils.cpp		\
-		qgsvectordataprovider.cpp			
-
-
-AM_YFLAGS       = -d
-qgis_YACC       = qgssearchstringparser.h
-
-
-nodist_libqgis_core_la_SOURCES = $(libqgis_core_la_MOC)  
-
-BUILT_SOURCES = $(libqgis_core_la_MOC) $(qgis_YACC)  $(postgresMOC)
-
-
-#libqgis_core_la_LIBADD = ../raster/libqgis_raster.la ../legend/libqgis_legend.la ../composer/libqgis_composer.la ../widgets/projectionselector/libqgsprojectionselector.la $(QT_LDADD) $(GEOS_LDADD) $(GDAL_LDADD) $(PYTHON_LIB) -lsqlite3
-libqgis_core_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) $(GEOS_LDADD) $(PYTHON_LIB) -lsqlite3
-libqgis_core_la_LDFLAGS = -version-info $(INTERFACE_VERSION)
-
-libqgis_core_la_CXXFLAGS = $(PREFIX) $(PLUGINPATH) $(PKGDATAPATH) $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) $(PYTHON_INCLUDE_DIR) $(HAVE_PYTHON) -I../ui/ -I../widgets/projectionselector/ -I../legend/ -I../raster/ -I../composer/ -I../gui/
-
-##
-## ----------------------------------------------------------------------
-##         additional files that need to be installed go here
-## ----------------------------------------------------------------------
-##
-pkginclude_HEADERS = $(libqgis_coreHEADERS) 
-
-pkginclude_dir = $(includedir)/qgis
-
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST=
-
-
-noinst_HEADERS = qgsdatasourceuri.h

Deleted: packages/qgis/branches/upstream/current/src/core/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/core/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-QGTOP=../../
-
-DLL=qgis_core.dll
-
-all: libs $(DLL)
-
-libs:
-	$(MAKE) -f Makefile libqgis_core.la
-
-$(DLL): .libs/libqgis_core.a
-	$(CXX) -shared -o $(DLL) \
-		-Wl,--out-implib=lib$(DLL).a \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/libqgis_core.a \
-		-Wl,--no-whole-archive \
-			$(LEGEND_A) $(GUI_A) $(RASTER_A) $(PROJSEL_A) \
-			$(COMPOSER_A) $(LEGEND_A) $(GUI_A) $(COMPOSER_A) \
-			-lsqlite3 -lgeos -lproj -lgdal $(PG_LIB) \
-			$(QT_LDADD) \
-			-lwsock32 -lmingw32
-	$(STRIP) $@
-
-install: all
-	$(INSTALL) -m 755 $(DLL) $(DLLDIR)/$(DLL)
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/core/core.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/core/core.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/core.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,140 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-include(../../settings.pro)
-TEMPLATE=lib
-TARGET=qgis_core
-#need to figure out how to automate making qgssvnversion file
-#  line below doesnt work
-#system(echo $$QGSSVNVERSION >> qgssvnversion.h)
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-LIBS += $${SQLITELIBADD}
-LIBS += $${GEOSLIBADD}
-LIBS += $${PROJLIBADD}
-DESTDIR=$${QGISLIBDIR}
-QT += network qt3support xml svg core gui
-QT = $$unique(QT)
-message("Building libs into $${DESTDIR}")
-win32{
-  #generate lex and yacc sources
-  message("Generating lex and yacc sources")
-  system(genlexyacc)
-} 
-
-HEADERS =       qgis.h					\
-		qgsapplication.h			\	
-		qgsbookmarkitem.h			\
-		qgsclipper.h				\
-		qgscolortable.h				\
-		qgscontexthelp.h			\
-		qgscoordinatetransform.h		\
-		qgscustomsymbol.h			\
-		qgsdatamanager.h			\
-		qgsdataprovider.h			\
-		qgsdatasource.h				\
-		qgsdatasourceuri.h			\
-		qgsdistancearea.h			\
-		qgsexception.h				\
-		qgsfeature.h				\
-		qgsfeatureattribute.h			\
-		qgsfield.h				\
-		qgsgeometry.h				\
-		qgsgeometryvertexindex.h		\
-		qgshttptransaction.h			\
-		qgslabelattributes.h			\
-		qgsline.h				\
-		qgslinesymbol.h				\
-		qgslogger.h				\
-		qgsmaptopixel.h				\
-		qgsmarkercatalogue.h			\
-		qgsmarkersymbol.h			\
-		qgsnumericsortlistviewitem.h		\
-		qgspluginitem.h				\
-		qgspoint.h				\
-		qgspolygonsymbol.h			\
-		qgsprojectproperty.h			\
-		qgsprovidercountcalcevent.h		\
-		qgsproviderextentcalcevent.h		\
-		qgsprovidermetadata.h			\
-		qgsproviderregistry.h			\
-		qgsrangerenderitem.h			\
-		qgsrasterdataprovider.h			\
-		qgsrect.h				\
-		qgsrenderer.h				\
-		qgsrenderitem.h				\
-		qgsscalecalculator.h			\
-		qgssearchstring.h			\
-		qgssearchstringparser.h			\
-		qgsspatialrefsys.h			\
-		qgssymbol.h				\
-		qgssymbologyutils.h			\
-		qgsvectordataprovider.h			\
-                qgssearchtreenode.h
-
-HEADERS = $$unique(HEADERS)
-
-SOURCES =\
-		qgis.cpp				\
-		qgsapplication.cpp			\
-		qgsbookmarkitem.cpp			\
-		qgsclipper.cpp				\
-		qgscolortable.cpp			\
-		qgscontexthelp.cpp			\
-		qgscoordinatetransform.cpp		\
-		qgscustomsymbol.cpp			\
-		qgsdatamanager.cpp			\
-		qgsdatasource.cpp			\
-		qgsdistancearea.cpp			\
-		qgsexception.cpp			\
-		qgsfeature.cpp				\
-		qgsfeatureattribute.cpp			\
-		qgsfield.cpp				\
-		qgsgeometry.cpp				\
-		qgsgeometryvertexindex.cpp		\
-		qgshttptransaction.cpp			\
-		qgslabelattributes.cpp			\
-		qgsline.cpp				\
-		qgslinesymbol.cpp			\
-		qgslogger.cpp				\
-		qgsmaptopixel.cpp			\
-		qgsmarkercatalogue.cpp			\
-		qgsmarkersymbol.cpp			\
-		qgsnumericsortlistviewitem.cpp		\
-		qgspluginitem.cpp			\
-		qgspoint.cpp				\
-		qgspolygonsymbol.cpp			\
-		qgsprojectproperty.cpp			\
-		qgsprovidercountcalcevent.cpp		\
-		qgsproviderextentcalcevent.cpp		\
-		qgsprovidermetadata.cpp			\
-		qgsproviderregistry.cpp			\
-		qgsrangerenderitem.cpp			\
-		qgsrasterdataprovider.cpp		\
-		qgsrect.cpp				\
-		qgsrenderer.cpp				\
-		qgsrenderitem.cpp			\
-		qgsscalecalculator.cpp			\
-		qgssearchstring.cpp   		        \
-		qgssearchstringlexer.cc                 \
-		qgssearchstringparser.cc                \
-		qgssearchtreenode.cpp			\
-		qgsspatialrefsys.cpp			\
-		qgssymbol.cpp				\
-		qgssymbologyutils.cpp			\
-		qgsvectordataprovider.cpp			
-
-
-

Modified: packages/qgis/branches/upstream/current/src/core/qgis.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgis.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgis.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +1,27 @@
+/***************************************************************************
+                                qgis.cpp 
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
 
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include "qgis.h"
 #ifndef QGSSVNVERSION
 #include "qgssvnversion.h"
 #endif
+
+#include "qgsconfig.h"
+
 // Version constants
 //
 
@@ -13,10 +32,10 @@
 const char* QGis::qgisSvnVersion = QGSSVNVERSION;
   
 // Version number used for comparing versions using the "Check QGIS Version" function
-const int QGis::qgisVersionInt =800;
+const int QGis::qgisVersionInt =900;
   
 // Release name
-const char* QGis::qgisReleaseName = "Titan";
+const char* QGis::qgisReleaseName = "Ganymede";
 
 const char* QGis::qgisVectorGeometryType[] =
 {

Modified: packages/qgis/branches/upstream/current/src/core/qgis.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgis.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgis.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgis.h 6191 2006-12-05 21:07:16Z g_j_m $ */
+/* $Id: qgis.h 6730 2007-02-28 10:28:37Z wonder $ */
 
 #ifndef QGIS_H
 #define QGIS_H
@@ -28,11 +28,10 @@
 *
 * This API documentation provides information about all classes that make up QGIS.
 */
-#include "qgsconfig.h"
 
 #include <qevent.h>
 
-class QGis
+class CORE_EXPORT QGis
 { 
 public:
   // Version constants
@@ -132,22 +131,4 @@
   const int USER_PROJECTION_START_ID=100000;
 
 
-
-/** debugging convenience function
-
-  Wrapper round qDebug() that's only embedded if QGISDEBUG set, thus
-  elminating large blocks of #ifdef/#endif text.  Also uses GNU g++
-  __FUNCTION__ extension if that compiler used.
-
-*/
-#ifdef QGISDEBUG
-#ifdef __GNUG__
-#define QgsDebug(str) qDebug("%s:%d %s, %s", __FILE__, __LINE__, __FUNCTION__, str)
-#else
-#define QgsDebug(str) qDebug("%s:%d %s", __FILE__, __LINE__, str)
 #endif
-#else
-#define QgsDebug(str)
-#endif
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsapplication.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsapplication.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsapplication.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,13 +12,23 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsapplication.cpp 6695 2007-02-25 13:44:53Z homann $ */
+/* $Id: qgsapplication.cpp 7086 2007-07-25 20:00:26Z timlinux $ */
 
 #include "qgsapplication.h"
-#include "qgslogger.h"
-#include <QFile>
+#include "qgsmaplayerregistry.h"
+#include "qgsproviderregistry.h"
+
 #include <QDir>
 
+#include <qgsconfig.h>
+
+// for htonl
+#ifdef WIN32
+#include <winsock.h>
+#else
+#include <netinet/in.h>
+#endif
+
 QString QgsApplication::mPrefixPath;
 QString QgsApplication::mPluginPath;
 QString QgsApplication::mPkgDataPath;
@@ -41,34 +51,42 @@
 : QApplication(argc, argv, GUIenabled)
 {
 #if defined(Q_WS_MACX) || defined(Q_WS_WIN32)
-  mPrefixPath = applicationDirPath();
-  mPluginPath = mPrefixPath + QString("/lib/qgis");
-  mPkgDataPath = mPrefixPath + QString("/share/qgis");
+  setPrefixPath(applicationDirPath(), TRUE);
 #else
-  // We could just hard code teh path to qgis libs and share but
-  // that makes qgis non relocatable which is needed for my
-  // generic QGIS linux bundle. So lets start by trying a relative path
-  // and then falling back to the paths set in the make process
-  if (QFile::exists(applicationDirPath()+"/../share/qgis/images/icons/qgis-icon.png"))
-  {
-    QgsDebugMsg("Using data/plugin relative to " + applicationDirPath() + "/..");
-    mPrefixPath = applicationDirPath() + QString("/..");
-    mPluginPath = mPrefixPath + QString("/lib/qgis");
-    mPkgDataPath = mPrefixPath + QString("/share/qgis");
-  }
-  else //fall back to make specified paths
-  {
-    mPrefixPath = PREFIX;
-    mPluginPath = PLUGINPATH;
-    mPkgDataPath = PKGDATAPATH;
-  }
+  setPrefixPath(PREFIX, TRUE);
 #endif
-  mThemePath = mPkgDataPath + QString("/themes/default/");
 }
 
 QgsApplication::~QgsApplication()
 {}
 
+void QgsApplication::setPrefixPath(const QString& thePrefixPath, bool useDefaultPaths)
+{
+  mPrefixPath = thePrefixPath;
+  if (useDefaultPaths)
+  {
+#if defined(Q_WS_WIN32)
+	setPluginPath(mPrefixPath + QString("/plugins"));
+	setPkgDataPath(mPrefixPath);
+#else
+    setPluginPath(mPrefixPath + QString("/lib/qgis"));
+    setPkgDataPath(mPrefixPath + QString("/share/qgis"));
+#endif
+  }
+}
+
+void QgsApplication::setPluginPath(const QString& thePluginPath)
+{
+  mPluginPath = thePluginPath;
+}
+
+void QgsApplication::setPkgDataPath(const QString& thePkgDataPath)
+{
+  mPkgDataPath = thePkgDataPath;
+  mThemePath = mPkgDataPath + QString("/themes/default/");
+}
+
+
 /*!
   Set the theme path to the specified theme.
 */
@@ -186,3 +204,43 @@
 {
   return mPkgDataPath + QString("/svg/");
 }
+
+QgsApplication::endian_t QgsApplication::endian()
+{
+  return (htonl(1) == 1) ? XDR : NDR ;
+}
+
+void QgsApplication::initQgis()
+{
+  // set the provider plugin path (this creates provider registry)
+  QgsProviderRegistry::instance(pluginPath());
+  
+  // create map layer registry if doesn't exist
+  QgsMapLayerRegistry::instance();
+}
+
+void QgsApplication::exitQgis()
+{
+  delete QgsMapLayerRegistry::instance();
+  delete QgsProviderRegistry::instance();
+}
+
+QString QgsApplication::reportStyleSheet()
+{
+  QString myStyle = ".glossy,h1,h2,h3{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565); color: white; padding-left: 4px; border: 1px solid #6c6c6c; }";
+  myStyle += "h1 {font-size : 22pt;}";
+  myStyle += "h2 {font-size : 18pt;}";
+  myStyle += "h3 {font-size : 14pt;}";
+  myStyle += ".cellHeader {color:#466aa5; font-size : 12pt;}";
+  myStyle += ".largeCell {color:#000000; font-size : 12pt;}";
+  myStyle += "table "
+  "{"
+  "  border-width: 1px 1px 1px 1px;"
+  "  border-spacing: 2px;"
+  "  border-style: solid solid solid solid;"
+  "  border-color: black black black black;"
+  "  border-collapse: separate;"
+  "  background-color: white;"
+  "}";
+  return myStyle;
+}

Modified: packages/qgis/branches/upstream/current/src/core/qgsapplication.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsapplication.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsapplication.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,13 +12,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsapplication.h 6024 2006-10-28 04:06:32Z gsherman $ */
+/* $Id: qgsapplication.h 7130 2007-08-09 04:06:41Z timlinux $ */
 #ifndef QGSAPPLICATION_H
 #define QGSAPPLICATION_H
 
 #include <QApplication>
 
-class QgsApplication: public QApplication
+class CORE_EXPORT QgsApplication: public QApplication
 {
   public:
     QgsApplication(int & argc, char ** argv, bool GUIenabled);
@@ -77,14 +77,47 @@
 
     //! Returns the path to the current theme directory.
     static const QString& themePath() { return mThemePath; }
+    
+    //! Alters prefix path - used by 3rd party apps
+    static void setPrefixPath(const QString& thePrefixPath, bool useDefaultPaths = FALSE);
+    
+    //! Alters plugin path - used by 3rd party apps
+    static void setPluginPath(const QString& thePluginPath);
 
-    void setPkgDataPath(const QString& path){mPkgDataPath = path;}
+    //! Alters pkg data path - used by 3rd party apps
+    static void setPkgDataPath(const QString& thePkgDataPath);
+    
+    //! loads providers
+    static void initQgis();
 
+    //! deletes provider registry and map layer registry
+    static void exitQgis();
+    
+    /** constants for endian-ness */
+    typedef enum ENDIAN
+    {
+      XDR = 0,  // network, or big-endian, byte order
+      NDR = 1   // little-endian byte order
+    }
+    endian_t;
+    
+    //! Returns whether this machine uses big or little endian
+    static endian_t endian();
+
+    /** \brief get a standard css style sheet for reports.
+     * Typically you will use this method by doing:
+     * QString myStyle = QgsApplication::reportStyleSheet();
+     * textBrowserReport->document()->setDefaultStyleSheet(myStyle);
+     * @return QString containing the CSS 2.1 compliant stylesheet.
+     * @note you can use the special Qt extensions too, for example
+     * the gradient fills for backgrounds.
+     */
+    static QString reportStyleSheet();
   private:
-    static QString mPrefixPath;
-    static QString mPluginPath;
-    static QString mPkgDataPath;
-    static QString mThemePath;
+    CORE_EXPORT static QString mPrefixPath;
+    CORE_EXPORT static QString mPluginPath;
+    CORE_EXPORT static QString mPkgDataPath;
+    CORE_EXPORT static QString mThemePath;
 };
 
 #endif

Added: packages/qgis/branches/upstream/current/src/core/qgsattributeaction.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsattributeaction.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsattributeaction.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,152 @@
+/***************************************************************************
+                               qgsattributeaction.cpp 
+
+ A class that stores and controls the managment and execution of actions 
+ associated. Actions are defined to be external programs that are run
+ with user-specified inputs that can depend on the value of layer
+ attributes. 
+
+                             -------------------
+    begin                : Oct 24 2004
+    copyright            : (C) 2004 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/*  $Id: qgsattributeaction.cpp 7084 2007-07-25 08:38:45Z g_j_m $ */
+
+#include <iostream>
+#include <vector>
+
+#include <QStringList>
+#include <QDomElement>
+
+#include "qgsattributeaction.h"
+#include "qgsrunprocess.h"
+
+static const char * const ident_ = "$Id: qgsattributeaction.cpp 7084 2007-07-25 08:38:45Z g_j_m $";
+
+void QgsAttributeAction::addAction(QString name, QString action,
+				   bool capture)
+{
+  mActions.push_back(QgsAction(name, action, capture));
+}
+
+void QgsAttributeAction::doAction(unsigned int index, const std::vector<std::pair<QString, QString> >& values,
+				  uint defaultValueIndex) 
+{
+  aIter action = retrieveAction(index);
+
+  // A couple of extra options for running the action may be
+  // useful. For example,
+  // - run the action inside a terminal (on unix)
+  // - capture the stdout from the process and display in a dialog
+  //   box
+  //
+  // The capture stdout one is partially implemented. It just needs
+  // the UI and the code in this function to select on the
+  // action.capture() return value.
+
+  if (action != end())
+  {
+    // The QgsRunProcess instance created by this static function
+    // deletes itself when no longer needed.
+    QString expandedAction = expandAction(action->action(), values, defaultValueIndex);
+    QgsRunProcess::create(expandedAction, action->capture());
+  }
+}
+
+QgsAttributeAction::aIter QgsAttributeAction::retrieveAction(unsigned int index) const
+{
+  // This function returns an iterator so that it's easy to deal with
+  // an invalid index being given.
+  aIter a_iter = end();
+
+  if (index >= 0 && index < mActions.size())
+  {
+    a_iter = mActions.begin();
+    for (unsigned int i = 0; i < index; ++i, ++a_iter)
+      {}
+  }
+  return a_iter;
+}
+
+QString QgsAttributeAction::expandAction(QString action, const std::vector<std::pair<QString, QString> >& values, 
+					 uint clickedOnValue)
+{
+  // This function currently replaces all %% characters in the action
+  // with the value from values[clickedOnValue].second, and then
+  // searches for all strings that go %attribite_name, where
+  // attribute_name is found in values[x].first, and replaces any that
+  // it finds by values[s].second.
+
+  // Additional substitutions could include symbols for $CWD, $HOME,
+  // etc (and their OSX and Windows equivalents)
+
+  // This function will potentially fall apart if any of the
+  // substitutions produce text that could match another
+  // substitution. May be better to adopt a two pass approach - identify
+  // all matches and their substitutions and then do a second pass 
+  // for the actual substitutions.
+
+  QString expanded_action;
+  if (clickedOnValue >= 0 && clickedOnValue < static_cast<unsigned int>(values.size()))
+    expanded_action = action.replace("%%", values[clickedOnValue].second);
+  else
+    expanded_action = action;
+
+  for (unsigned int i = 0; i < values.size(); ++i)
+    {
+      QString to_replace = "%" + values[i].first;
+      expanded_action = expanded_action.replace(to_replace, values[i].second);
+    }
+
+  return expanded_action;
+}
+
+bool QgsAttributeAction::writeXML(QDomNode& layer_node, QDomDocument& doc) const
+{
+  QDomElement aActions = doc.createElement("attributeactions");
+
+  aIter a_iter = begin();
+
+  for (; a_iter != end(); ++a_iter)
+  {
+    QDomElement actionSetting = doc.createElement("actionsetting");
+    actionSetting.setAttribute("name", a_iter->name());
+    actionSetting.setAttribute("action", a_iter->action());
+    actionSetting.setAttribute("capture", a_iter->capture());
+    aActions.appendChild(actionSetting);
+  }
+  layer_node.appendChild(aActions);
+
+  return true;
+}
+
+bool QgsAttributeAction::readXML(QDomNode& layer_node)
+{
+  QDomNode aaNode = layer_node.namedItem("attributeactions");
+
+  if (!aaNode.isNull())
+  {
+    QDomNodeList actionsettings = aaNode.childNodes();
+    for (unsigned int i = 0; i < actionsettings.length(); ++i)
+    {
+      QDomElement setting = actionsettings.item(i).toElement();
+      int capture = setting.attributeNode("capture").value().toInt();
+      addAction(setting.attributeNode("name").value(),
+		setting.attributeNode("action").value(),
+		capture == 0 ? false : true);
+    }
+  }
+  return true;
+}
+

Added: packages/qgis/branches/upstream/current/src/core/qgsattributeaction.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsattributeaction.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsattributeaction.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,132 @@
+/***************************************************************************
+                          qgsattributeaction.h 
+
+ These classes store and control the managment and execution of actions 
+ associated with particulay Qgis layers. Actions are defined to be
+ external programs that are run with user-specified inputs that can 
+ depend on the contents of layer attributes.
+
+                             -------------------
+    begin                : Oct 24 2004
+    copyright            : (C) 2004 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsattributeaction.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSATTRIBUTEACTION_H
+#define QGSATTRIBUTEACTION_H
+
+#include <QString>
+#include <QObject>
+
+#include <list>
+#include <vector>
+#include <utility>
+
+class QDomNode;
+class QDomDocument;
+
+
+/*! \class QgsAction
+ * \brief Utility class that encapsulates an action and associated information
+ */
+class CORE_EXPORT QgsAction
+{
+ public:
+  QgsAction(QString name, QString action, bool capture) :
+    mName(name), mAction(action), mCaptureOutput(capture) {}
+
+  //! The name of the action
+  QString name() const { return mName; }
+
+  //! The action
+  QString action() const { return mAction; }
+
+  //! Whether to capture output for display when this action is run
+  bool capture() const { return mCaptureOutput; }
+
+ private:
+  QString mName;
+  QString mAction;
+  bool mCaptureOutput;
+};
+
+/*! \class QgsAttributeAction
+ * \brief Storage and management of actions associated with Qgis layer
+ * attributes.
+ */
+
+class  CORE_EXPORT QgsAttributeAction
+{
+ public:
+
+  typedef std::list<QgsAction> AttributeActions;
+  typedef AttributeActions::const_iterator aIter;
+  
+  //! Constructor
+  QgsAttributeAction() {};
+  
+  //! Destructor
+  virtual ~QgsAttributeAction() {};
+
+  //! Add an action with the given name and action details.
+  // Will happily have duplicate names and actions. If
+  // capture is true, when running the action using doAction(),
+  // any stdout from the process will be captured and displayed in a
+  // dialog box.
+  void addAction(QString name, QString action, bool capture = false);
+
+  //! Does the action using the given values. defaultValueIndex is an
+  // index into values which indicates which value in the values vector
+  // is to be used if the action has a default placeholder. 
+  void doAction(unsigned int index, const std::vector<std::pair<QString, QString> >& values,
+		uint defaultValueIndex = 0);
+
+  //! Returns a const_iterator that points to the QgsAction at the
+  // given position in the data collection. The insertion order is
+  // preserved. The index starts at 0 and goes to one less than the
+  // number of actions. An index outside that range will return an
+  // a const_iterator equal to that returned by end().
+  aIter retrieveAction(unsigned int index) const; 
+
+  //! Removes all actions
+  void clearActions() { mActions.clear(); }
+
+  //! A const iterator to the start of the action pairs
+  const AttributeActions::const_iterator begin() const
+    { return mActions.begin(); }
+
+  //! A const iterator to the one past the end of the action pairs
+  const AttributeActions::const_iterator end() const
+    { return mActions.end(); }
+
+  //! Returns the number of stored actions
+  int size() const { return mActions.size(); }
+
+  //! Expands the given action, replacing all %'s with the value as
+  // given.  
+  static QString expandAction(QString action, const std::vector<std::pair<QString, QString> >& values,
+			      uint defaultValueIndex);
+
+  //! Writes the actions out in XML format
+  bool writeXML(QDomNode& layer_node, QDomDocument& doc) const;
+
+  //! Reads the actions in in XML format
+  bool readXML(QDomNode& layer_node);
+
+ private:
+
+  // Stores the name/action pairs.
+  AttributeActions mActions;
+};
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,92 +0,0 @@
-
-/***************************************************************************
-               QgsBookmarkItem.h  - Spatial Bookmark Item
-                             -------------------
-    begin                : 2005-04-23
-    copyright            : (C) 2005 Gary Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsbookmarkitem.cpp 6827 2007-03-23 19:02:37Z homann $ */
-#include <iostream>
-#include <sqlite3.h>
-#include <qstring.h>
-#include <qtextstream.h>
-
-#include <cassert>
-
-#include "qgsrect.h"
-#include "qgsbookmarkitem.h"
-
-QgsBookmarkItem::QgsBookmarkItem(QString name, QString projectTitle, 
-      QgsRect viewExtent, int srid, QString dbPath)
-      : mName(name), mProjectTitle(projectTitle), mViewExtent(viewExtent),
-      mSrid(srid), mUserDbPath(dbPath)
-{
-}
-QgsBookmarkItem::~QgsBookmarkItem()
-{
-}
-  void QgsBookmarkItem::store()
-{
-  // To store the bookmark we have to open the database and insert
-  // the record using the parameters set in the constructor
-
-  sqlite3 *db;
-  int rc;
-#ifdef QGISDEBUG 
-  std::cout << "Opening user database: " << mUserDbPath.toLocal8Bit().data() << std::endl; 
-#endif 
-  rc = sqlite3_open(mUserDbPath.toUtf8().data(), &db);
-  if(rc)
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
-
-    // XXX This will likely never happen since on open, sqlite creates the
-    //     database if it does not exist.
-    assert(rc == 0);
-  }
-  // prepare the sql statement
-  const char *pzTail;
-  sqlite3_stmt *ppStmt;
-  QString sql;
-  QTextOStream sqlStream(&sql);
-  sqlStream << "insert into tbl_bookmarks values(null,'" <<
-    mName << "','" <<
-    mProjectTitle << "'," <<
-    mViewExtent.xMin() << "," <<
-    mViewExtent.yMin() << "," <<
-    mViewExtent.xMax() << "," <<
-    mViewExtent.yMax() << "," <<
-    mSrid << ")";
-
-#ifdef QGISDEBUG 
-  std::cout << "Storing bookmark using: " << sql.toLocal8Bit().data() << std::endl; 
-#endif 
-  rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(rc == SQLITE_OK)
-  {
-    // get the first row of the result set
-    if(sqlite3_step(ppStmt) != SQLITE_DONE)
-    {
-
-      // XXX query failed -- warn the user some how
-      std::cout << "Failed to store bookmark: " << sqlite3_errmsg(db) << std::endl; 
-    }
-    // close the statement
-    sqlite3_finalize(ppStmt);
-    // close the database
-    sqlite3_close(db);
-  }
-
-
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsbookmarkitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,53 +0,0 @@
-
-/***************************************************************************
-               QgsBookmarkItem.h  - Spatial Bookmark Item
-                             -------------------
-    begin                : 2005-04-23
-    copyright            : (C) 2005 Gary Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsbookmarkitem.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSBOOKMARKITEM_H
-#define QGSBOOKMARKITEM_H
-class QString;
-class QgsRect;
-/*!
- * \class QgsBookmarkItem
- * \brief A spatial bookmark record that is stored in a sqlite3
- * database.
- */ 
-class QgsBookmarkItem
-{
-public:
-  //! Constructs a bookmark item
-  QgsBookmarkItem(QString name, QString projectTitle, 
-      QgsRect viewExtent, int srid, QString databasePath);
-  //! Default destructor
-  ~QgsBookmarkItem();
-  //! Store the bookmark in the database
-  void store();
-private:
-  //! Name of the bookmark
-  QString mName;
-  //! Project that this bookmark was created from
-  QString mProjectTitle;
-  //! Extent of the view for the bookmark
-  QgsRect mViewExtent;
-  //! SRID of the canvas coordinate system when the bookmark was created
-  int mSrid;
-  //! Full path to the user database
-  QString mUserDbPath;
-
-};
-
-#endif // QGSBOOKMARKITEM_H
-

Modified: packages/qgis/branches/upstream/current/src/core/qgsclipper.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsclipper.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsclipper.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,13 +15,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsclipper.h 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgsclipper.h 6541 2007-02-06 09:09:39Z g_j_m $ */
 
 #ifndef QGSCLIPPER_H
 #define QGSCLIPPER_H
 
 #include "qgspoint.h"
-#include "q3pointarray.h"
 
 #include <vector>
 #include <utility>
@@ -36,7 +35,7 @@
 // for drawing items to an X11 display which have a limit on the
 // magnitude of the screen coordinates (+/- 32768, i.e. 16 bit integer).
 
-class QgsClipper
+class CORE_EXPORT QgsClipper
 {
  public:
 
@@ -148,10 +147,10 @@
   // shape as open or closed. False is appropriate for polygons and
   // true for polylines.
 
-  int i1 = inX.size() - 1; // start with last point
+  unsigned int i1 = inX.size() - 1; // start with last point
 
   // and compare to the first point initially.
-  for (int i2 = 0; i2 < inX.size() ; ++i2)
+  for (unsigned int i2 = 0; i2 < inX.size() ; ++i2)
   { // look at each edge of the polygon in turn
     if (inside(inX[i2], inY[i2], b)) // end point of edge is inside boundary
     {

Deleted: packages/qgis/branches/upstream/current/src/core/qgscolortable.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscolortable.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgscolortable.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,213 +0,0 @@
-/***************************************************************************
-                              qgscolortable.cpp
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#include <iostream>
-#include <vector>
-#include <algorithm>
-
-#include "qgscolortable.h"
-#include "qgslogger.h"
-
-/* compare ramps */
-bool compareRampSort ( const RAMP &a, const RAMP &b) 
-{ 
-    if ( a.min < b.min || a.max < b.max ) return true;
-
-    return false;
-} 
-
-bool compareRampSearch ( const RAMP &a, const RAMP &b)
-{
-    if( a.max < b.min ) return true;
-    return false;
-}
-
-
-QgsColorTable::QgsColorTable ( int interp ) 
-{
-    QgsDebugMsg("QgsColorTable::QgsColorTable()");
-    mInterp = interp;
-}
-
-QgsColorTable::~QgsColorTable()
-{
-}
-
-void QgsColorTable::add ( int index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 )
-{
-#ifdef QGISDEBUG
-    QgsLogger::debug("QgsColorTable::add() index", index, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-
-    if ( mDiscrete.size() == 0 ) {
-	mMin = index;
-	mMax = index;
-    } else { 
-	if ( index < mMin ) mMin = index;
-	if ( index > mMax ) mMax = index;
-    }
-
-    if ( mDiscrete.size() <= index ) {
-       mDiscrete.resize ( index + 1 ); 
-    }
-
-    mDiscrete[index].c1 = c1;
-    mDiscrete[index].c2 = c2;
-    mDiscrete[index].c3 = c3;
-    mDiscrete[index].c4 = c4;
-}
-
-void QgsColorTable::clear()
-{
-    QgsDebugMsg("QgsColorTable::clear() called ");
-    mDiscrete.clear();
-    mRamp.clear();
-    mMax=0;
-    mMin=0;
-}
-
-
-void QgsColorTable::add ( double min,  double max,
-                  unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
-		  unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4 )
-{
-    RAMP ramp;    
-#ifdef QGISDEBUG
-    QgsLogger::debug("QgsColorTable::add() min", min, 1, __FILE__, __FUNCTION__, __LINE__);
-    QgsLogger::debug("QgsColorTable::add() max", max, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-
-    if ( mRamp.size() == 0 ) {
-	mMin = min;
-	mMax = max;
-    } else { 
-	if ( min < mMin ) mMin = min;
-	if ( max > mMax ) mMax = max;
-    }
-
-    ramp.min = min;
-    ramp.max = max;
-    ramp.min_c1 = min_c1;
-    ramp.min_c2 = min_c2;
-    ramp.min_c3 = min_c3;
-    ramp.min_c4 = min_c4;
-    ramp.max_c1 = max_c1;
-    ramp.max_c2 = max_c2;
-    ramp.max_c3 = max_c3;
-    ramp.max_c4 = max_c4;
-
-    mRamp.push_back ( ramp );
-}
-
-bool QgsColorTable::color ( double value, int *c1, int *c2, int *c3 )
-{
-    if ( mRamp.size() > 0 ) {
-	std::vector<RAMP>::iterator it;
-
-	RAMP ramp;
-	ramp.min = ramp.max = value;
-	
-	it = std::lower_bound ( mRamp.begin(), mRamp.end(), ramp, compareRampSearch );
-
-	if ( it != mRamp.end() ) { // Found
-	    double k, d;
-            d = it->max - it->min;
-	    
-	    if ( d <= 0 ) { 
-		k = 0;
-	    } else {
-	        k = (value - it->min)/d;
-	    }
-
-	    *c1 = (int) (it->min_c1 + k * (it->max_c1 - it->min_c1));
-	    *c2 = (int) (it->min_c2 + k * (it->max_c2 - it->min_c2));
-	    *c3 = (int) (it->min_c3 + k * (it->max_c3 - it->min_c3));
-	    
-	    return true;
-	}
-    } else if ( mDiscrete.size() > 0 ) {
-	int index = (int) value;
-	if ( index < mDiscrete.size() ) {
-	    *c1 = mDiscrete[index].c1;
-	    *c2 = mDiscrete[index].c2;
-	    *c3 = mDiscrete[index].c3;
-	    return true;
-	}
-    }
-
-    *c1 = 0; *c2 = 0; *c3 = 0;
-    return false;
-}
-
-void QgsColorTable::sort ( void )
-{
-    std::sort ( mRamp.begin(), mRamp.end(), compareRampSort );
-}
-
-bool QgsColorTable::defined ( void )
-{
-    if ( mDiscrete.size() > 0 || mRamp.size() > 0 ) {
-	return true;
-    }
-    return false;
-}
-
-int QgsColorTable::interpretation ( void )
-{
-    return mInterp;
-}
-
-double QgsColorTable::rmin ( void )
-{
-    return mMin;
-}
-
-double QgsColorTable::rmax ( void )
-{
-    return mMax;  
-}
-
-
-void QgsColorTable::print ( void )
-{
-#ifdef QGISDEBUG
-    QgsLogger::debug("******** Color table ********", 1, __FILE__, __FUNCTION__,  __LINE__);
-    QgsLogger::debug("Discrete table size", (int)mDiscrete.size(), 1, __FILE__, __FUNCTION__,  __LINE__);
-
-    for ( int i = 0; i < mDiscrete.size(); i++ ) {
-	QgsLogger::debug("i", i, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("c1", (int) mDiscrete[i].c1, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("c2", (int) mDiscrete[i].c2, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("c3", (int) mDiscrete[i].c3, 2, __FILE__, __FUNCTION__,  __LINE__);
-    }
-
-    QgsLogger::debug("Ramp table size", (int)mRamp.size(), 1, __FILE__, __FUNCTION__,  __LINE__);
-    for ( int i = 0; i < mRamp.size(); i++ ) {
-        std::cerr << "  min = " << mRamp[i].min << " max = " << mRamp[i].max 
-	          << " min_c1 = " << (int)mRamp[i].min_c1 << " min_c2 = " << (int)mRamp[i].min_c2 
-	          << " min_c3 = " << (int)mRamp[i].min_c3 << " max_c1 = " << (int)mRamp[i].max_c1
-		  << " max_c2 = " << (int)mRamp[i].max_c2 << " max_c3 = " << (int)mRamp[i].max_c3 
-		  << std::endl;
-	QgsLogger::debug("min", mRamp[i].min, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("min_c1", (int)mRamp[i].min_c1, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("min_c2", (int)mRamp[i].min_c2, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("min_c3", (int)mRamp[i].min_c3, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("max_c1", (int)mRamp[i].max_c1, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("max_c2", (int)mRamp[i].max_c2, 2, __FILE__, __FUNCTION__,  __LINE__);
-	QgsLogger::debug("max_c3", (int)mRamp[i].max_c3, 2, __FILE__, __FUNCTION__,  __LINE__);
-    }
-#endif
-}
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgscolortable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscolortable.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgscolortable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,123 +0,0 @@
-/***************************************************************************
-                              qgscolortable.h 
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscolortable.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSCOLORTABLE_H
-#define QGSCOLORTABLE_H
-
-#include <vector>
-#include <algorithm>
-
-/* 
- * Because of performance, this class can store color rules in 2 forms:
- *   1) discrete - vector of descrete values and their colors; can be accessed by index (from 0)
- *   2) ramp - vector of ramps defined by min and max value and a color for min amd max value,
- *             colors between min and max are interpolated linearly.
- *
- * Only one type should be used for one instance.
- *
- */
-
-
-typedef struct {
-    unsigned char c1, c2, c3, c4;
-} DISCRETE; 
-
-typedef struct {
-    double min, max;
-    unsigned char min_c1, min_c2, min_c3, min_c4;
-    unsigned char max_c1, max_c2, max_c3, max_c4;
-} RAMP;
-class QgsColorTable
-{
-public:
-    /** 
-     *  \brief Constructor.
-     *  \param interp color table interpretation
-     */
-    QgsColorTable ( int interp = Rgb ); 
-
-    /** \brief The destuctor.  */
-    ~QgsColorTable();
-
-    /** \brief Color table interpretation. */
-    // This is taken from GDAL, GPI_RGB is mapped to Rgba 
-    enum Interp {
-	Gray = 0, // Use c1 as grayscale value.
-	Rgb,      // Use c1 as red, c2 as green, c3 as blue
-	Rgba,     // Use c1 as red, c2 as green, c3 as blue and c4 as alpha.
-	Cmyk,     // Use c1 as cyan, c2 as magenta, c3 as yellow and c4 as black.
-	Hls       // c1 hue, c2 lightness, c3 saturation; should be His ? 
-    };
-
-    /** 
-     *  \brief Color table is defined 
-     *  \return true if at least one rule is defined 
-     *  \false no rule defined
-     */
-    bool defined ( void );
-
-    /** \brief Get color table interpretation */
-    int interpretation ( void );
-
-    /** \brief Add a discrete color */
-    void add ( int index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 = 0 );
-
-    /** \brief Add a ramp rule */ 
-    void add ( double min,  double max,
-	       unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
-               unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4);
-    
-    /** \brief Get color 
-     *  \return true color was found
-     *  \return false color was no found
-     */
-    bool color ( double value, int *c1, int *c2, int *c3 );
-    
-    /** \brief Sort ramp rules */
-    void sort ( void ); 
-
-    /** \brief Print to stderr - for debuging */
-    void print ( void );
-
-    /** \brief Minimum value */
-    double rmin();
-   
-    /** \brief Maximum value */
-    double rmax();
-
-    /** \brief Clear the color table */
-    void clear();
-	void gack();
-
-private:
-    /** \brief vector of discrete values */
-    std::vector<DISCRETE> mDiscrete;
-
-    /** \brief vector of ramp rules */
-    std::vector<RAMP> mRamp;
-
-    /** \brief color table interpretation */
-    int  mInterp;
-
-    /** \brief min value */
-    double mMin;
-
-    /** \brief max value */
-    double mMax;
-};
-
-#endif
-

Modified: packages/qgis/branches/upstream/current/src/core/qgscontexthelp.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscontexthelp.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgscontexthelp.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,7 +16,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgscontexthelp.h 4759 2006-01-28 01:20:04Z g_j_m $ */
+/* $Id: qgscontexthelp.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSCONTEXTHELP_H
 #define QGSCONTEXTHELP_H
 #include <QObject>
@@ -42,7 +42,7 @@
  * window for window managers such as Linux/GNOME which will make a window
  * active but not bring it to the top if raised programatically.
  */
-class QgsContextHelp : public QObject {
+class CORE_EXPORT QgsContextHelp : public QObject {
   Q_OBJECT
 public:
   static void run(int contextId);

Added: packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,582 @@
+/***************************************************************************
+               QgsCoordinateTransform.cpp  - Coordinate Transforms
+                             -------------------
+    begin                : Dec 2004
+    copyright            : (C) 2004 Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscoordinatetransform.cpp 6424 2007-01-12 22:06:14Z homann $ */
+#include <cassert>
+#include "qgscoordinatetransform.h"
+#include "qgslogger.h"
+
+//qt includes
+#include <QDomNode>
+#include <QDomElement>
+#include <QTextOStream>
+#include <QApplication>
+
+extern "C" {
+#include <proj_api.h>
+}
+
+// if defined shows all information about transform to stdout
+#undef COORDINATE_TRANSFORM_VERBOSE
+
+
+
+QgsCoordinateTransform::QgsCoordinateTransform( ) : QObject(), mSourceSRS(), mDestSRS()
+
+{
+    setFinder();
+}
+
+QgsCoordinateTransform::QgsCoordinateTransform(const QgsSpatialRefSys& source, 
+                                               const QgsSpatialRefSys& dest)
+{
+    setFinder();
+  mSourceSRS = source;
+  mDestSRS = dest;
+  initialise();
+}
+
+QgsCoordinateTransform::QgsCoordinateTransform(long theSourceSrsId, long theDestSrsId)
+  : mSourceSRS(theSourceSrsId, QgsSpatialRefSys::QGIS_SRSID),
+    mDestSRS(theDestSrsId, QgsSpatialRefSys::QGIS_SRSID)
+{
+  initialise();
+}
+
+QgsCoordinateTransform::QgsCoordinateTransform( QString theSourceSRS, QString theDestSRS ) : QObject()
+
+{
+    setFinder();
+  mSourceSRS.createFromWkt(theSourceSRS);
+  mDestSRS.createFromWkt(theDestSRS);
+  // initialize the coordinate system data structures
+  //XXX Who spells initialize initialise?
+  //XXX A: Its the queen's english....
+  //XXX  : Long live the queen! Lets get on with the initialisation...
+  initialise();
+}
+
+QgsCoordinateTransform::QgsCoordinateTransform(long theSourceSrid,
+    QString theDestWKT,
+    QgsSpatialRefSys::SRS_TYPE theSourceSRSType): QObject()
+{
+    setFinder();
+
+  mSourceSRS.createFromId(theSourceSrid, theSourceSRSType);
+  mDestSRS.createFromWkt(theDestWKT);
+  // initialize the coordinate system data structures
+  //XXX Who spells initialize initialise?
+  //XXX A: Its the queen's english....
+  //XXX  : Long live the queen! Lets get on with the initialisation...
+  initialise();
+}
+
+QgsCoordinateTransform::~QgsCoordinateTransform()
+{
+  // free the proj objects
+  if (mSourceProjection!=0) 
+  {
+    pj_free(mSourceProjection);
+  }
+  if (mDestinationProjection!=0)
+  {
+    pj_free(mDestinationProjection);
+  }
+}
+
+void QgsCoordinateTransform::setSourceSRS(const QgsSpatialRefSys& theSRS)
+{
+  mSourceSRS = theSRS;
+  initialise();
+}
+void QgsCoordinateTransform::setDestSRS(const QgsSpatialRefSys& theSRS)
+{
+  QgsDebugMsg("QgsCoordinateTransform::setDestSRS called");
+  mDestSRS = theSRS;
+  initialise();
+}
+
+
+void QgsCoordinateTransform::setDestSRSID (long theSRSID)
+{
+  //!todo Add some logic here to determine if the srsid is a system or user one
+  QgsDebugMsg("QgsCoordinateTransform::setDestSRSID slot called");
+  mDestSRS.createFromSrsId(theSRSID);
+  initialise();
+}
+
+// XXX This whole function is full of multiple return statements!!!
+// And probably shouldn't be a void
+void QgsCoordinateTransform::initialise()
+{
+
+  mInitialisedFlag=false; //guilty until proven innocent...
+  mSourceProjection = NULL;
+  mDestinationProjection = NULL;
+
+  // XXX Warning - multiple return paths in this block!!
+  if (!mSourceSRS.isValid())
+  {
+    //mSourceSRS = defaultWkt;
+    // Pass through with no projection since we have no idea what the layer
+    // coordinates are and projecting them may not be appropriate
+    mShortCircuit = true;
+    QgsDebugMsg("SourceSRS seemed invalid!");
+    return;
+  }
+
+  if (!mDestSRS.isValid())
+  {
+    //No destination projection is set so we set the default output projection to
+    //be the same as input proj. This only happens on the first layer loaded
+    //whatever that may be...
+    mDestSRS.createFromProj4(mSourceSRS.proj4String());
+  }
+
+  // init the projections (destination and source)
+  mDestinationProjection = pj_init_plus(mDestSRS.proj4String());
+  mSourceProjection = pj_init_plus(mSourceSRS.proj4String());
+
+  mInitialisedFlag = true;
+  if ( mDestinationProjection == NULL )
+  {
+    mInitialisedFlag = false;
+  }
+  if ( mSourceProjection == NULL )
+  {
+    mInitialisedFlag = false;
+  }
+#ifdef COORDINATE_TRANSFORM_VERBOSE
+  if (mInitialisedFlag)
+  {
+    QgsDebugMsg("------------------------------------------------------------");
+    QgsDebugMsg("QgsCoordinateTransform::initialise()");
+    QgsDebugMsg("The OGR Coordinate transformation for this layer was set to");
+    QgsLogger::debug<QgsSpatialRefSys>("Input", mSourceSRS, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug<QgsSpatialRefSys>("Output", mDestSRS, __FILE__, __FUNCTION__, __LINE__);
+    QgsDebugMsg("------------------------------------------------------------");
+  }
+  else
+  {
+    QgsDebugMsg("------------------------------------------------------------");
+    QgsDebugMsg("The OGR Coordinate transformation FAILED TO INITIALISE!");
+    QgsDebugMsg("------------------------------------------------------------");
+  }
+#else
+  if (!mInitialisedFlag)
+  {
+    QgsDebugMsg("Coordinate transformation failed to initialize!");
+  }
+#endif
+
+  //XXX todo overload == operator for QgsSpatialRefSys
+  //at the moment srs.parameters contains the whole proj def...soon it wont...
+  //if (mSourceSRS->proj4String() == mDestSRS->proj4String())
+  if (mSourceSRS == mDestSRS)
+  {
+    // If the source and destination projection are the same, set the short
+    // circuit flag (no transform takes place)
+    mShortCircuit=true;
+    QgsDebugMsg("Source/Dest SRS equal, shortcircuit is set.");
+  }
+  else
+  {
+    // Transform must take place
+    mShortCircuit=false;
+  }
+
+}
+
+//
+//
+// TRANSFORMERS BELOW THIS POINT .........
+//
+//
+//
+
+
+QgsPoint QgsCoordinateTransform::transform(const QgsPoint thePoint,TransformDirection direction)
+{
+  if (mShortCircuit || !mInitialisedFlag) return thePoint;
+  // transform x
+  double x = thePoint.x();
+  double y = thePoint.y();
+  double z = 0.0;
+  try
+  { 
+    transformCoords(1, &x, &y, &z, direction );
+  }
+  catch(QgsCsException &cse)
+  {
+    // rethrow the exception
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+
+#ifdef QGISDEBUG
+  //std::cout << "Point projection...X : " << thePoint.x() << "-->" << x << ", Y: " << thePoint.y() << " -->" << y << std::endl;
+#endif
+  return QgsPoint(x, y);
+}
+
+
+QgsPoint QgsCoordinateTransform::transform(const double theX, const double theY=0,TransformDirection direction)
+{
+  try
+  {
+    return transform(QgsPoint(theX, theY), direction);
+  }
+  catch(QgsCsException &cse)
+  {
+    // rethrow the exception
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+}
+
+QgsRect QgsCoordinateTransform::transform(const QgsRect theRect,TransformDirection direction)
+{
+  if (mShortCircuit || !mInitialisedFlag) return theRect;
+  // transform x
+  double x1 = theRect.xMin();
+  double y1 = theRect.yMin();
+  double x2 = theRect.xMax();
+  double y2 = theRect.yMax();
+
+  // Number of points to reproject------+
+  //                                    |
+  //                                    V
+  try
+  {
+    double z = 0.0;
+    transformCoords(1, &x1, &y1, &z, direction);
+    transformCoords(1, &x2, &y2, &z, direction);
+  }
+  catch(QgsCsException &cse)
+  {
+    // rethrow the exception
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+
+#ifdef QGISDEBUG
+  QgsDebugMsg("Rect projection...");
+  QgsLogger::debug("Xmin : ", theRect.xMin(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("-->", x1, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Ymin : ", theRect.yMin(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("-->", y1, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Xmax : ", theRect.xMax(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("-->", x2, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Ymax : ", theRect.yMax(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("-->", y2, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+  return QgsRect(x1, y1, x2 , y2);
+}
+
+void QgsCoordinateTransform::transformInPlace(double& x, double& y, double& z,
+    TransformDirection direction)
+{
+  if (mShortCircuit || !mInitialisedFlag)
+    return;
+#ifdef QGISDEBUG
+  //std::cout << "Using transform in place " << __FILE__ << " " << __LINE__ << std::endl;
+#endif
+  // transform x
+  try
+  {
+    transformCoords(1, &x, &y, &z, direction );
+  }
+  catch(QgsCsException &cse)
+  {
+    // rethrow the exception 
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+}
+
+void QgsCoordinateTransform::transformInPlace(std::vector<double>& x,
+    std::vector<double>& y, std::vector<double>& z,
+    TransformDirection direction)
+{
+  if (mShortCircuit || !mInitialisedFlag)
+    return;
+
+  assert(x.size() == y.size());
+
+  // Apparently, if one has a std::vector, it is valid to use the
+  // address of the first element in the vector as a pointer to an
+  // array of the vectors data, and hence easily interface with code
+  // that wants C-style arrays.
+
+  try
+  {
+    transformCoords(x.size(), &x[0], &y[0], &z[0], direction);
+  }
+  catch(QgsCsException &cse)
+  {
+    // rethrow the exception
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+}
+
+
+QgsRect QgsCoordinateTransform::transformBoundingBox(const QgsRect rect, TransformDirection direction)
+{
+  // Calculate the bounding box of a QgsRect in the source SRS
+  // when projected to the destination SRS (or the inverse).
+  // This is done by looking at a number of points spread evenly
+  // across the rectangle
+
+  if (mShortCircuit || !mInitialisedFlag)
+    return rect;
+
+  static const int numP = 8;
+
+  QgsRect bb_rect;
+  bb_rect.setMinimal();
+
+  // We're interfacing with C-style vectors in the
+  // end, so let's do C-style vectors here too.
+  
+  double x[numP * numP];
+  double y[numP * numP];
+  double z[numP * numP];
+
+  QgsDebugMsg("Entering transformBoundingBox...");
+  
+  // Populate the vectors
+
+  double dx = rect.width()  / (double)(numP - 1);
+  double dy = rect.height() / (double)(numP - 1);
+
+  double pointY = rect.yMin();
+
+  for (int i = 0; i < numP ; i++)
+  {
+
+    // Start at right edge
+    double pointX = rect.xMin();
+
+    for (int j = 0; j < numP; j++)
+    {
+      x[(i*numP) + j] = pointX;
+      y[(i*numP) + j] = pointY;
+      // and the height...
+      z[(i*numP) + j] = 0.0;
+//      std::cout << "BBox coord: (" << x[(i*numP) + j] << ", " << y[(i*numP) + j]
+//                << ")" << std::endl;
+      pointX += dx; 
+    }
+    pointY += dy;
+  }
+
+  // Do transformation. Any exception generated must
+  // be handled in above layers.
+  try
+  {
+    transformCoords(numP * numP, x, y, z, direction);
+  }
+  catch(QgsCsException &cse)
+  {
+  // rethrow the exception
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw cse;
+  }
+
+  // Calculate the bounding box and use that for the extent
+        
+  for (int i = 0; i < numP * numP; i++)
+  {
+    bb_rect.combineExtentWith(x[i], y[i]);
+  }
+  
+  QgsDebugMsg("Projected extent: " + QString((bb_rect.stringRep()).toLocal8Bit().data()));
+  
+  return bb_rect;
+}
+
+void QgsCoordinateTransform::transformCoords( const int& numPoints, double *x, double *y, double *z,TransformDirection direction)
+{
+  // Refuse to transform the points if the srs's are invalid
+  if (!mSourceSRS.isValid())
+  {
+    QgsLogger::critical( tr("The source spatial reference system (SRS) is not valid. ") +
+			 tr("The coordinates can not be reprojected. The SRS is: ") +
+			    mSourceSRS.proj4String() );
+    return;
+  }
+  if (!mDestSRS.isValid())
+  {
+    QgsLogger::critical( tr("The destination spatial reference system (SRS) is not valid. ") +
+			 tr("The coordinates can not be reprojected. The SRS is: ") +
+			    mDestSRS.proj4String() );
+    return;
+  }
+
+#ifdef QGISDEBUG
+  //double xorg = x;
+  //double yorg = y;
+  //std::cout << "[[[[[[Number of points to transform: " << numPoints << "]]]]]]" << std::endl;
+#endif
+  // use proj4 to do the transform
+  QString dir;
+  // if the source/destination projection is lat/long, convert the points to radians
+  // prior to transforming
+  if((pj_is_latlong(mDestinationProjection) && (direction == INVERSE))
+      || (pj_is_latlong(mSourceProjection) && (direction == FORWARD)))
+  {
+    for (int i = 0; i < numPoints; ++i)
+    {
+      x[i] *= DEG_TO_RAD;
+      y[i] *= DEG_TO_RAD;
+      z[i] *= DEG_TO_RAD;
+    }
+
+  }
+  int projResult;
+  if(direction == INVERSE)
+  {
+    /*
+    std::cout << "!!!! INVERSE PROJ4 TRANSFORM !!!!" << std::endl; 
+    std::cout << "     numPoint: " << numPoints << std::endl; 
+    std::cout << "     x       : " << x << std::endl; 
+    std::cout << "     y       : " << y << std::endl; 
+    */
+    projResult = pj_transform(mDestinationProjection, mSourceProjection , numPoints, 0, x, y, z);
+    dir = "inverse";
+  }
+  else
+  {
+    /*
+    std::cout << "!!!! FORWARD PROJ4 TRANSFORM !!!!" << std::endl; 
+    std::cout << "     numPoint: " << numPoints << std::endl; 
+    std::cout << "     x       : " << x << std::endl; 
+    std::cout << "     y       : " << y << std::endl; 
+    std::cout << "     z       : " << z << std::endl; 
+    */
+    assert(mSourceProjection != 0);
+    assert(mDestinationProjection !=0);
+    projResult = pj_transform(mSourceProjection, mDestinationProjection, numPoints, 0, x, y, z);
+    dir = "forward";
+  }
+
+  if (projResult != 0)
+  {
+    //something bad happened....
+    QString msg;
+    QTextOStream pjErr(&msg);
+
+    pjErr << tr("Failed") << " " << dir << " " << tr("transform of") << '\n';
+    for (int i = 0; i < numPoints; ++i)
+    {
+      if(direction == FORWARD)
+      {
+        pjErr << "(" << x[i] << ", " << y[i] << ")\n";
+      }
+      else
+      {
+        pjErr << "(" << x[i] * RAD_TO_DEG << ", " << y[i] * RAD_TO_DEG << ")\n";
+      }
+    }
+
+    pjErr << tr("with error: ") << pj_strerrno(projResult) << '\n';
+  
+    QgsDebugMsg("Projection failed emitting invalid transform signal: " + QString(msg.toLocal8Bit().data()));
+
+    emit invalidTransformInput();
+    
+    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
+    throw  QgsCsException(msg);
+  }
+  // if the result is lat/long, convert the results from radians back
+  // to degrees
+  if((pj_is_latlong(mDestinationProjection) && (direction == FORWARD))
+      || (pj_is_latlong(mSourceProjection) && (direction == INVERSE)))
+  {
+    for (int i = 0; i < numPoints; ++i)
+    {
+      x[i] *= RAD_TO_DEG;
+      y[i] *= RAD_TO_DEG;
+      z[i] *= RAD_TO_DEG;
+    }
+  }
+#ifdef QGISDEBUG
+  // std::cout << "[[[[[[ Projected " << xorg << ", " << yorg << " to "  << x << ", " << y << " ]]]]]]"<< std::endl;
+#endif
+}
+
+bool QgsCoordinateTransform::readXML( QDomNode & theNode )
+{
+  
+  QgsDebugMsg("Reading Coordinate Transform from xml ------------------------!");
+  
+  QDomNode mySrcNode = theNode.namedItem("sourcesrs");
+  mSourceSRS.readXML(mySrcNode);
+
+  QDomNode myDestNode = theNode.namedItem("destinationsrs");
+  mDestSRS.readXML(myDestNode);
+
+  initialise();
+
+  return true;
+}
+
+bool QgsCoordinateTransform::writeXML( QDomNode & theNode, QDomDocument & theDoc )
+{
+  
+  QDomElement myNodeElement = theNode.toElement();
+  QDomElement myTransformElement  = theDoc.createElement( "coordinatetransform" );
+  
+  QDomElement mySourceElement  = theDoc.createElement( "sourcesrs" );
+  mSourceSRS.writeXML(mySourceElement, theDoc);
+  myTransformElement.appendChild(mySourceElement);
+  
+  QDomElement myDestElement  = theDoc.createElement( "destinationsrs" );
+  mDestSRS.writeXML(myDestElement, theDoc);
+  myTransformElement.appendChild(myDestElement);
+  
+  myNodeElement.appendChild(myTransformElement);
+
+  return true;
+}
+
+const char *finder( const char *name )
+{
+    QString proj;
+#ifdef WIN32
+    proj = QApplication::applicationDirPath() 
+           + "/share/proj/" + QString(name);
+#endif
+    return proj.ascii(); 
+}
+
+void QgsCoordinateTransform::setFinder()
+{
+#ifdef WIN32
+    // Attention! It should be possible to set PROJ_LIB
+    // but it can happen that it was previously set by installer
+    // (version 0.7) and the old installation was deleted
+
+    // Another problem: PROJ checks if pj_finder was set before 
+    // PROJ_LIB enviroment variable. pj_finder is probably set in 
+    // GRASS gproj library when plugin is loaded, consequently 
+    // PROJ_LIB is ignored 
+
+    pj_set_finder( finder );
+#endif
+}
+

Added: packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgscoordinatetransform.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,315 @@
+/***************************************************************************
+               QgsCoordinateTransform.h  - Coordinate Transforms
+                             -------------------
+    begin                : Dec 2004
+    copyright            : (C) 2004 Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgscoordinatetransform.h 7169 2007-08-29 05:39:44Z timlinux $ */
+#ifndef QGSCOORDINATETRANSFORM_H
+#define QGSCOORDINATETRANSFORM_H
+
+//qt includes
+#include <QObject>
+
+//qgis includes
+#include "qgspoint.h"
+#include "qgsrect.h"
+#include "qgscsexception.h"
+#include "qgsspatialrefsys.h"
+class QDomNode;
+class QDomDocument;
+
+//non qt includes
+#include <iostream>
+#include <vector>
+
+typedef void* projPJ;
+class QString;
+
+/*! \class QgsCoordinateTransform
+* \brief Class for doing transforms between two map coordinate systems.
+*
+* This class can convert map coordinates to a different spatial reference system.
+* It is normally associated with a map layer and is used to transform between the
+* layer's coordinate system and the coordinate system of the map canvas, although
+* it can be used in a more general sense to transform coordinates.
+*
+* All references to source and destination coordinate systems refer to 
+* layer and map canvas respectively. All operations are from the perspective 
+* of the layer. For example, a forward transformation transforms coordinates from the
+* layers coordinate system to the map canvas.
+*/
+class CORE_EXPORT QgsCoordinateTransform: public QObject
+{
+  Q_OBJECT
+ public:
+    /*! Default constructor. Make sure you use initialised() manually if you use this one! */
+    QgsCoordinateTransform() ;
+
+    /** Constructs a QgsCoordinateTransform using QgsSpatialRefSys objects.
+    * @param theSource SRS, typically of the layer's coordinate system
+    * @param theDest SRS, typically of the map canvas coordinate system
+    */
+    QgsCoordinateTransform(const QgsSpatialRefSys& theSource, 
+                          const QgsSpatialRefSys& theDest);
+  
+    /** Constructs a QgsCoordinateTransform using SRS ID of source and destination SRS */
+    QgsCoordinateTransform(long theSourceSrsId, long theDestSrsId);
+
+    /*!
+     * Constructs a QgsCoordinateTransform using the Well Known Text representation
+     * of the layer and map canvas coordinate systems
+     * @param theSourceWKT WKT, typically of the layer's coordinate system
+     * @param theDestWKT WKT, typically of the map canvas coordinate system
+     */
+    QgsCoordinateTransform(QString theSourceWKT, QString theDestWKT  );
+
+    /*!
+     * Constructs a QgsCoordinateTransform using a Spatial Reference Id
+     * of the layer and map canvas coordinate system as Wkt
+     * @param theSourceSrid Spatial Ref Id of the layer's coordinate system
+     * @param theSourceWKT WKT of the map canvas coordinate system
+     * @param theSourceSRSType On of the enum members defined in QgsSpatialRefSys::SRS_TYPE
+     */
+    QgsCoordinateTransform(long theSourceSrid,  
+                           QString theDestWKT,
+                           QgsSpatialRefSys::SRS_TYPE theSourceSRSType = QgsSpatialRefSys::POSTGIS_SRID  );
+
+     //! destructor
+    ~QgsCoordinateTransform();
+
+    //! Enum used to indicate the direction (forward or inverse) of the transform
+    enum TransformDirection{
+      FORWARD,     /*!< Transform from source to destination SRS. */
+      INVERSE      /*!< Transform from destination to source SRS. */
+    };
+    
+    /*! 
+     * Set the source (layer) QgsSpatialRefSys
+     * @param theSRS QgsSpatialRefSys representation of the layer's coordinate system
+     */
+    void setSourceSRS(const QgsSpatialRefSys& theSRS);
+
+    /*! 
+     * Mutator for dest QgsSpatialRefSys 
+     * @param theSRS of the destination coordinate system
+     */
+    void setDestSRS(const QgsSpatialRefSys& theSRS);
+
+    /*!
+     * Get the QgsSpatialRefSys representation of the layer's coordinate system
+     * @return QgsSpatialRefSys of the layer's coordinate system
+     */
+    QgsSpatialRefSys& sourceSRS() { return mSourceSRS; }
+
+    /*! 
+     * Get the QgsSpatialRefSys representation of the map canvas coordinate system
+     * @return QgsSpatialRefSys of the map canvas coordinate system
+     */
+    QgsSpatialRefSys& destSRS() { return mDestSRS; }
+
+    /*! Transform the point from Source Coordinate System to Destination Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param p Point to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsPoint in Destination Coordinate System
+     */    
+   QgsPoint transform(const QgsPoint p,TransformDirection direction=FORWARD);
+
+    /*! Transform the point specified by x,y from Source Coordinate System to Destination Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param x x cordinate of point to transform
+    * @param y y coordinate of point to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsPoint in Destination Coordinate System
+     */
+   QgsPoint transform(const double x, const double y,TransformDirection direction=FORWARD);
+
+    /*! Transform a QgsRect to the dest Coordinate system 
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * It assumes that rect is a bounding box, and creates a bounding box
+    * in the proejcted CS, so that all points in source rectangle is within
+    * returned rectangle.
+    * @param QgsRect rect to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   QgsRect transformBoundingBox(const QgsRect theRect,TransformDirection direction=FORWARD);
+
+   // Same as for the other transform() functions, but alters the x
+   // and y variables in place. The second one works with good old-fashioned
+   // C style arrays.
+   void transformInPlace(double& x, double& y, double &z, TransformDirection direction = FORWARD);
+
+   void transformInPlace(std::vector<double>& x, std::vector<double>& y, std::vector<double>& z, 
+       TransformDirection direction = FORWARD);
+
+    /*! Transform a QgsRect to the dest Coordinate system 
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param QgsRect rect to transform
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   QgsRect transform(const QgsRect theRect,TransformDirection direction=FORWARD);
+    
+    /*! Transform an array of coordinates to a different Coordinate System
+    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
+    * otherwise points are transformed from map canvas CS to layerCS.
+    * @param x x cordinate of point to transform
+    * @param y y coordinate of point to transform     
+    * @param direction TransformDirection (defaults to FORWARD)
+    * @return QgsRect in Destination Coordinate System
+     */        
+   void transformCoords( const int &numPoint, double *x, double *y, double *z,TransformDirection direction=FORWARD);
+
+  /*! 
+   * Flag to indicate whether the coordinate systems have been initialised
+   * @return true if initialised, otherwise false
+   */
+   bool isInitialised() const {return mInitialisedFlag;};
+
+   /*! See if the transform short circuits because src and dest are equivalent
+    * @return bool True if it short circuits
+    */
+    bool isShortCircuited() {return mShortCircuit;};
+
+    /*! Change the destination coordinate system by passing it a qgis srsid
+    * A QGIS srsid is a unique key value to an entry on the tbl_srs in the
+    * srs.db sqlite database.
+    * @note This slot will usually be called if the
+    * project properties change and a different coordinate system is 
+    * selected. 
+    * @note This coord transform will be reinitialised when this slot is called
+    * to check if short circuiting is needed or not etc.
+    * @param theSRSID -  A long representing the srsid of the srs to be used */
+    void setDestSRSID (long theSRSID);
+
+  public slots:
+    //!initialise is used to actually create the Transformer instance
+    void initialise();
+
+    /*! Restores state from the given DOM node.
+    * @param theNode The node from which state will be restored
+    * @return bool True on success, False on failure
+    */
+    bool readXML( QDomNode & theNode );
+
+    /*! Stores state to the given DOM node in the given document
+    * @param theNode The node in which state will be restored
+    * @param theDom The document in which state will be stored
+    * @return bool True on success, False on failure
+    */
+    bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
+
+ signals:
+    /** Signal when an invalid pj_transform() has occured */
+    void  invalidTransformInput();
+
+ private:
+
+    /*! 
+     * Flag to indicate that the source and destination coordinate systems are
+     * equal and not transformation needs to be done
+     */
+    bool mShortCircuit;
+
+    /*!
+     * flag to show whether the transform is properly initialised or not
+     */
+    bool mInitialisedFlag;
+
+    /*! 
+     * QgsSpatialRefSys of the source (layer) coordinate system 
+     */
+    QgsSpatialRefSys mSourceSRS;
+
+    /*! 
+     * QgsSpatialRefSys of the destination (map canvas) coordinate system 
+     */
+    QgsSpatialRefSys mDestSRS;
+
+    /*!
+     * Proj4 data structure of the source projection (layer coordinate system)
+     */
+    projPJ mSourceProjection;
+
+    /*!
+     * Proj4 data structure of the destination projection (map canvas coordinate system)
+     */
+    projPJ mDestinationProjection;
+
+    /*!
+     * Finder for PROJ grid files.
+     */
+    void setFinder();
+};
+
+//! Output stream operator
+inline std::ostream& operator << (std::ostream& os, const QgsCoordinateTransform &r)
+{
+  QString mySummary ("\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:");
+  mySummary += "\n\tInitialised? : ";
+  //prevent warnings
+  if (r.isInitialised())
+  {
+    //do nothing this is a dummy
+  }  
+/*
+  if (r.isInitialised()) 
+  {
+    mySummary += "Yes";
+  }
+  else
+  {
+    mySummary += "No" ;
+  }
+  mySummary += "\n\tShort Circuit?  : " ;
+  if (r.isShortCircuited()) 
+  {
+    mySummary += "Yes";
+  }
+  else
+  {
+    mySummary += "No" ;
+  }
+
+  mySummary += "\n\tSource Spatial Ref Sys  : "; 
+  if (r.sourceSRS()) 
+  {
+    mySummary << r.sourceSRS();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+
+  mySummary += "\n\tDest Spatial Ref Sys  : " ;
+  if (r.destSRS()) 
+  {
+    mySummary << r.destSRS();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+*/
+  mySummary+=("\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n");
+  return os << mySummary.toLocal8Bit().data() << std::endl;
+}
+
+
+#endif // QGSCOORDINATETRANSFORM_H

Added: packages/qgis/branches/upstream/current/src/core/qgscsexception.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscsexception.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgscsexception.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,29 @@
+/***************************************************************************
+                qgscsexception.h - Coordinate System Exception
+                             -------------------
+  begin                : 2004-12-29
+  copyright            : (C) 2004 by Gary Sherman
+  email                : sherman at mrcc dot com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscsexception.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSCSEXCEPTION_H
+#define QGSCSEXCEPTION_H
+
+#include "qgsexception.h"
+class CORE_EXPORT QgsCsException : public QgsException
+{
+  public:
+    QgsCsException(std::string const &what) : QgsException(what){};
+    QgsCsException(QString const &what) : QgsException(what){};
+    
+};
+#endif //QGCSEXCEPTION_H

Deleted: packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-/***************************************************************************
-                          qgscustomsymbol.cpp  -  description
-                             -------------------
-    begin                : Sat Jul 27 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscustomsymbol.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgscustomsymbol.h"
-
-QgsCustomSymbol::QgsCustomSymbol()
-{
-}
-
-QgsCustomSymbol::~QgsCustomSymbol()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgscustomsymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,33 +0,0 @@
-/***************************************************************************
-                          qgscustomsymbol.h  -  description
-                             -------------------
-    begin                : Sat Jul 27 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscustomsymbol.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSCUSTOMSYMBOL_H
-#define QGSCUSTOMSYMBOL_H
-
-#include "qgssymbol.h"
-
-/**
-  *@author Gary E.Sherman
-  */
-
-class QgsCustomSymbol : public QgsSymbol  {
-public: 
-	QgsCustomSymbol();
-	~QgsCustomSymbol();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/core/qgsdatamanager.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatamanager.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatamanager.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,93 +0,0 @@
-/***************************************************************************
-                          qgsdatamanager.cpp
-                             -------------------
-    begin                : 24, August 2005
-    copyright            : (C) 2005 by Mark Coletti
-    email                : mcoletti -> gmail.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgsdatamanager.h"
-#include "qgsmaplayer.h"
-#include "qgsvectordataprovider.h"
-#include "qgsproviderregistry.h"
-
-
-
-static const char* const ident_ = "$Id: qgsdatamanager.cpp 4502 2006-01-08 01:18:20Z timlinux $";
-
-
-
-QgsDataManager * QgsDataManager::instance_ = 0x0;
-
-
-QgsDataManager::QgsDataManager()
-{
-} // QgsDataManager ctor
-
-
-
-QgsDataManager::~QgsDataManager()
-{
-  if ( instance_ )
-  {
-    delete instance_;
-  }
-} // QgsDataManager dtor
-
-
-
-
-QgsDataManager &
-QgsDataManager::instance()
-{
-  if ( ! instance_ )
-  {
-    instance_ = new QgsDataManager;
-  }
-  
-  return *instance_;
-} // QgsDataManager::instance()
-
-
-
-bool QgsDataManager::openVector( QString const & name )
-{
-  // find the default provider that can handle the given name
-  
-  // note that we may already have the provider
-  
-  // create a QgsDataSourceLayer for the provider
-  return false;
-} // QgsDataManager::openVector
-
-
-
-bool QgsDataManager::openVector( QString const & name, QgsDataProvider & provider )
-{
-  return false;
-} // QgsDataManager::openVector
-
-
-
-bool QgsDataManager::openRaster( QString const & name )
-{
-  return false;
-} // QgsDataManager::openRaster
-
-
-
-bool QgsDataManager::openRaster( QString const & name, QgsDataProvider & provider )
-{
-  return false;
-} // QgsDataManager::openRaster
-
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsdatamanager.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatamanager.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatamanager.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,125 +0,0 @@
-/***************************************************************************
-    qgsdatamanager.h -  Data manager Singleton class
-                             -------------------
-    begin                : August 2005
-    copyright            : (C) 2005 by Mark Coletti
-    email                : mcoletti at gmail.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSDATAMANAGER_H
-#define QGSDATAMANAGER_H
-
-
-class QgsDataProvider;
-class QString;
-
-
-/** Singleton data manager class
-
- at note
-
-Eventually the data provider and map layer registries will be rolled into this class
-
-*/
-class QgsDataManager
-{
-public:
-
-  /// return reference to canonical instance
-  QgsDataManager & instance();
-  
-  ~QgsDataManager();
-  
-  /** open the given vector data source
-  
-    @param name could be a file, URI
-    @return false if unable to open vector source
-    
-        
-    Temporarily always returns false until finished implementing.
-
-    
-    Eventually would be nice if could make QgsDataManager smart
-    enough to figure out whether the given name mapped to a vector,
-    raster, or database source.
-  */
-  bool openVector( QString const & name );
-
-  /** open the given vector data source
-  
-    Similar to open(QString const &), except that the user specifies a data provider 
-    with which to open the data source instead of using the default data provider
-    that QgsDataManager would figure out to use.  This should be useful when (and if)
-    there will exist more than one data provider that can handle a given data
-    source.  (E.g., use GDAL to open an SDTS file, or a different data provider that uses
-    sdts++.)
-  
-    @param name could be a file, URI
-    @param provider is the dataprovider used to open name
-    @return false if unable to open vector source
-    
-    Temporarily always returns false until finished implementing.
-    
-    Eventually would be nice if could make QgsDataManager smart
-    enough to figure out whether the given name mapped to a vector,
-    raster, or database source.
-  */
-  bool openVector( QString const & name, QgsDataProvider & provider );
-  
-  /** open the given raster data source
-  
-    @param name could be a file, URI
-    @return false if unable to open raster source
-    
-    Temporarily always returns false until finished implementing.
-    
-    @note
-    
-    Eventually would be nice if could make QgsDataManager smart
-    enough to figure out whether the given name mapped to a vector,
-    raster, or database source.
-  */
-  bool openRaster( QString const & name );
-
-  /** open the given raster data source
-  
-    Similar to openRaster(QString const &), except that the user specifies a data provider 
-    with which to open the data source instead of using the default data provider
-    that QgsDataManager would figure out to use.  This should be useful when (and if)
-    there will exist more than one data provider that can handle a given data
-    source.  (E.g., use GDAL to open an SDTS file, or a different data provider that uses
-    sdts++.)
-  
-    Temporarily always returns false until finished implementing.
-    
-    @param name could be a file, URI
-    @param provider is the dataprovider used to open name
-    @return false if unable to open vector source
-    
-    @note
-    
-    Eventually would be nice if could make QgsDataManager smart
-    enough to figure out whether the given name mapped to a vector,
-    raster, or database source.
-  */
-  bool openRaster( QString const & name, QgsDataProvider & provider );
-
-
-private:
-
-  // private since only instance() can create
-  QgsDataManager();
-
-  /// canonical instance
-  static QgsDataManager * instance_;
-}; // class QgsDataManager
-
-#endif
-

Modified: packages/qgis/branches/upstream/current/src/core/qgsdataprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdataprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdataprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,30 +12,20 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsdataprovider.h 5732 2006-08-24 14:27:16Z mhugent $ */
+/* $Id: qgsdataprovider.h 7169 2007-08-29 05:39:44Z timlinux $ */
 
 #ifndef QQGSDATAPROVIDER_H
 #define QQGSDATAPROVIDER_H
 
-#include <vector>
-#include <list>
 
-// for htonl
-#ifdef WIN32
-#include <winsock.h>
-#else
-#include <netinet/in.h>
-#endif
-
 #include <QObject>
 #include <QString>
 #include <QStringList>
 
 class QgsRect;
-class QgsFeature;
-class QgsField;
-class QgsDataSourceURI;
 class QgsSpatialRefSys;
+
+
 /** \class QgsDataProvider
  * \brief Abstract base class for spatial data provider implementations
  * @author Gary E.Sherman
@@ -49,7 +39,7 @@
  */
 
 
-class QgsDataProvider : public QObject 
+class CORE_EXPORT QgsDataProvider : public QObject 
 {
   Q_OBJECT
 
@@ -64,32 +54,15 @@
        */
       virtual ~QgsDataProvider() {};
 
-      /*! Set the QgsSpatialReferenceSystem for this layer..
-       * @note Must be reimplemented by each provider. 
-       * @param theSRS QgsSpatialRefSys to be assigned to this layer
-       *        A complete copy of the passed in SRS will be made.
-       */
-      virtual void setSRS(QgsSpatialRefSys * theSRS){};
-
+      
       /*! Get the QgsSpatialRefSys for this layer
        * @note Must be reimplemented by each provider. 
        * If the provider isn't capable of returning
        * its projection an empty srs will be return, ti will return 0
        */
-      virtual QgsSpatialRefSys * getSRS(){return 0;};
+      virtual QgsSpatialRefSys getSRS() = 0;
 
-
-      /** Used to ask the layer for its projection as a WKT string. 
-       *
-       * Must be reimplemented by each provider. 
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       */
-      virtual QString getProjectionWKT()  = 0 ;
-
+      
       /** 
        * Set the data source specification. This may be a path or database
        * connection string
@@ -105,73 +78,26 @@
        * connection string
        * @return data source specification
        */
-      virtual QString const & getDataSourceUri() const
+      virtual QString dataSourceUri() const
       {
           return mDataSourceURI;
       }
 
+      
       /**
-         XXX why have the string versions then this?
-      */
-      virtual QgsDataSourceURI * getURI() = 0;
-      /**
        * Get the extent of the layer
        * @return QgsRect containing the extent of the layer
        */
-      virtual QgsRect * extent() = 0;
+      virtual QgsRect extent() = 0;
 
+      
       /**
-       * Identify features within the search radius specified by rect
-       * @param rect Bounding rectangle of search radius
-       * @return std::vector containing QgsFeature objects that intersect rect
-       */
-      //virtual std::vector<QgsFeature>& QgsDataProvider::identify(QgsRect *rect)=0;
-
-      /** type for byte order
-
-        XDR is for network byte order, or big-endian
-        NDR is for little-endian systems
-
-        @note that default values were taken from similarly named WKB types
-        */
-      typedef enum
-      {
-        XDR = 0,                    // network byte order (big-endian)
-        NDR = 1                     // little endian
-      } endian_t;
-
-      /**
-        Return the endian of this layer.
-
-        XDR for network, or big-endian, byte order
-        NDR for little-endian byte order
-
-        @note 
-
-        By default this returns the endian-ness of the current platform.
-        Sub-classes are free to over-ride this to perhaps return endian-ness of
-        data as stored persistently instead of local hardware architecture
-        endian-ness.
-        */
-      virtual endian_t endian() const
-      {
-        return (htonl(1) == 1) ? XDR : NDR;
-      }
-
-      /**
        * Returns true if this is a valid layer. It is up to individual providers
        * to determine what constitutes a valid layer
        */
-      virtual bool isValid()=0;
+      virtual bool isValid() = 0;
 
-      /* Reset the layer - for an OGRLayer, this means clearing the
-       * spatial filter and calling ResetReading
-       */
-      virtual void reset()
-      { 
-        // NOP by default 
-      }
-
+      
       /**
        * Update the extents of the layer. Not implemented by default
        */
@@ -179,6 +105,8 @@
       {
         // NOP by default
       }
+
+
       /**
        * Set the subset string used to create a subset of features in
        * the layer. This may be a sql where clause or any other string
@@ -187,8 +115,15 @@
        */
       virtual void setSubsetString(QString subset)
       {
+        //prevent unused var warnings
+        if (subset.isEmpty())
+        {
+          return;
+        }
         // NOP by default
       }
+
+
       /**
        * Returns the subset definition string (typically sql) currently in
        * use by the layer and used by the provider to limit the feature set.
@@ -200,6 +135,7 @@
         return QString::null;
       }
 
+
       /**
        * Sub-layers handled by this provider, in order from bottom to top
        *
@@ -211,6 +147,7 @@
         return QStringList();  // Empty
       }
 
+
       /**
        * Sub-layer styles for each sub-layer handled by this provider,
        * in order from bottom to top
@@ -223,15 +160,16 @@
         return QStringList();  // Empty
       }
 
-      /** return the number of layers for the current data source
 
-          @note 
+      /** 
+       * return the number of layers for the current data source
+       */
+      virtual uint subLayerCount() const
+      {
+        return 0;
+      }
 
-         Should this be subLayerCount() instead?
-      */
-      virtual size_t layerCount() const = 0;
 
-
       /**
        * Reorder the list of layer names to be rendered by this provider
        * (in order from bottom to top)
@@ -239,17 +177,29 @@
        */
       virtual void setLayerOrder(QStringList layers)
       {
+        //prevent unused var warnings
+        if (layers.count() < 1)
+        {
+          return;
+        }
         // NOOP
       }
-    
+
+
       /**
        * Set the visibility of the given sublayer name
        */
       virtual void setSubLayerVisibility(QString name, bool vis)
       {
+        //prevent unused var warnings
+        if (name.isEmpty() || !vis)
+        {
+          return;
+        }
         // NOOP
       }
 
+
       /** return a provider name
 
       Essentially just returns the provider key.  Should be used to build file
@@ -325,9 +275,9 @@
 
 private:
 
-    /** Universal Resource Identifier for source data
-
-       This could be a file, database, or server address.
+    /**
+     * Universal Resource Identifier for source data.
+     * This could be a file, database, or server address.
      */
     QString mDataSourceURI;
 
@@ -335,4 +285,3 @@
 
 
 #endif
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsdatasource.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatasource.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatasource.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-/***************************************************************************
-                          qgsdatasource.cpp  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsdatasource.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgsrect.h"
-#include "qgsfeature.h"
-#include "qgsdatasource.h"
-
-QgsDataSource::QgsDataSource()
-{
-}
-
-QgsDataSource::~QgsDataSource()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsdatasource.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatasource.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatasource.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,37 +0,0 @@
-/***************************************************************************
-                          qgsdatasource.h  -  description
-                             -------------------
-    begin                : Sun Jun 30 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsdatasource.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSDATASOURCE_H
-#define QGSDATASOURCE_H
-#include <qstring.h>
-
-/**Base class for spatial and tabular data
-  *@author Gary E.Sherman
-  */
-
-class QgsDataSource {
-
-public: 
-	QgsDataSource();
-	~QgsDataSource();
- protected:
- //! Path or uri of the datasource
- 	QString dataSource;
-};
-
-#endif

Added: packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,178 @@
+/***************************************************************************
+      qgsdatasourceuri.h  -  Structure to contain the component parts
+                             of a data source URI
+                             -------------------
+    begin                : Dec 5, 2004
+    copyright            : (C) 2004 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsdatasourceuri.h 5839 2006-09-19 18:04:21Z wonder $ */
+
+#include "qgsdatasourceuri.h"
+
+#include <QStringList>
+#include <QRegExp>
+
+QgsDataSourceURI::QgsDataSourceURI()
+{
+  // do nothing
+}
+
+QgsDataSourceURI::QgsDataSourceURI(QString uri)
+{
+  // URI looks like this:
+  //  host=192.168.1.5 dbname=test port=5342 user=gsherman password=xxx table=tablename
+  // (optionally at the end there might be: sql=..... )
+  
+  // TODO: improve parsing
+  
+  // A little bit of backwards compability. At r6193 the schema/table 
+  // names became fully quoted, but with the problem that earlier 
+  // project files then didn't load. This bit of code puts in the 
+  // quotes that are now required. 
+  QString uriModified = uri; 
+  int start = uriModified.indexOf("table=\""); 
+  if (start == -1) 
+    { 
+      // Need to put in some "'s 
+      start = uriModified.indexOf("table="); 
+      uriModified.insert(start+6, '"'); 
+      int start_dot = uriModified.indexOf('.', start+7); 
+      if (start_dot != -1) 
+        { 
+          uriModified.insert(start_dot, '"'); 
+          uriModified.insert(start_dot+2, '"'); 
+        } 
+      // and one at the end 
+      int end = uriModified.indexOf(' ',start); 
+      if (end != -1) 
+        uriModified.insert(end, '"'); 
+    }  
+  
+  // Strip the table and sql statement name off and store them
+  int sqlStart = uriModified.find(" sql");
+  int tableStart = uriModified.find("table=");
+  
+  // set table name
+  table = uriModified.mid(tableStart + 6, sqlStart - tableStart -6);
+
+  // set sql where clause
+  if(sqlStart > -1)
+  { 
+    sql = uriModified.mid(sqlStart + 5);
+  }
+  else
+  {
+    sql = QString::null;
+  }
+  
+  // calculate the schema if specified
+
+  // Pick up some stuff from the uriModified: basically two bits of text 
+  // inside double quote marks, separated by a . 
+  QRegExp reg("\"(.+)\"\\.\"(.+)\".+\\((.+)\\)");
+  reg.indexIn(table); 
+  QStringList stuff = reg.capturedTexts(); 
+
+  schema = stuff[1]; 
+  table = stuff[2]; 
+  geometryColumn = stuff[3]; 
+
+  // set connection info
+  connInfo = uriModified.left(uriModified.find("table="));
+  
+  // parse the connection info
+  QStringList conParts = QStringList::split(" ", connInfo);
+  QStringList parm = QStringList::split("=", conParts[0]);
+  if(parm.size() == 2)
+  {
+    host = parm[1];
+  }
+  parm = QStringList::split("=", conParts[1]);
+  if(parm.size() == 2)
+  {
+    database = parm[1];
+  }
+  parm = QStringList::split("=", conParts[2]);
+  if(parm.size() == 2)
+  {
+    port = parm[1];
+  }
+
+  parm = QStringList::split("=", conParts[3]);
+  if(parm.size() == 2)
+  {
+    username = parm[1];
+  }
+  
+  // The password can have '=' and ' ' characters in it, so we can't 
+  // use the split on '=' and ' ' technique - use indexOf() 
+  // instead. 
+  QString key="password='"; 
+  int i = connInfo.indexOf(key); 
+  if (i != -1) 
+  { 
+    QString pass = connInfo.mid(i+key.length()); 
+    // Now walk through the string till we find a ' character, but 
+    // need to allow for an escaped ' character (which will be the 
+    // \' character pair). 
+    int n = 0; 
+    bool escaped = false; 
+    while (n < pass.length() && (pass[n] != '\'' || escaped)) 
+    { 
+      if (pass[n] == '\\') 
+        escaped = true; 
+      else 
+        escaped = false; 
+      n++; 
+    } 
+    // The -1 is to remove the trailing ' character 
+    password = pass.left(n); 
+  } 
+}
+
+
+QString QgsDataSourceURI::text() const
+{
+  return QString("host=" + host + 
+      " dbname=" + database + 
+      " port=" + port + 
+      " user=" + username + 
+      " password='" + password + 
+      "' table=" + schema + '.' + table + 
+      " (" + geometryColumn + ")" +
+      " sql=" + sql);
+}
+
+void QgsDataSourceURI::setConnection(const QString& aHost,
+                                     const QString& aPort,
+                                     const QString& aDatabase,
+                                     const QString& aUsername,
+                                     const QString& aPassword)
+{
+  host = aHost;
+  database = aDatabase;
+  port = aPort;
+  username = aUsername;
+  password = aPassword;
+}
+  
+void QgsDataSourceURI::setDataSource(const QString& aSchema,
+                                     const QString& aTable,
+                                     const QString& aGeometryColumn,
+                                     const QString& aSql)
+{
+  schema = aSchema;
+  table = aTable;
+  geometryColumn = aGeometryColumn;
+  sql = aSql;
+}

Modified: packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdatasourceuri.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,3 @@
-#ifndef QGSDATASOURCEURI_H
-#define QGSDATASOURCEURI_H
 /***************************************************************************
       qgsdatasourceuri.h  -  Structure to contain the component parts
                              of a data source URI
@@ -17,7 +15,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsdatasourceuri.h 5423 2006-05-07 05:29:25Z g_j_m $ */
+/* $Id: qgsdatasourceuri.h 6891 2007-04-17 11:12:15Z wonder $ */
+
+#ifndef QGSDATASOURCEURI_H
+#define QGSDATASOURCEURI_H
+
+#include <QString> 
+
 /** 
 \struct QgsDataSourceURI 
 \brief Structure for storing the component parts of a PostgreSQL/RDBMS datasource URI.
@@ -25,10 +29,35 @@
  This structure stores the database connection information, including host, database,
   user name, password, schema, password, and sql where clause
  */
-#include <QString> 
-class QgsDataSourceURI
+class CORE_EXPORT QgsDataSourceURI
 {
- public:
+
+public:
+  
+  //! default constructor
+  QgsDataSourceURI();
+   
+  //! constructor which parses input URI
+  QgsDataSourceURI(QString uri);
+   
+  //! All in a single string
+  QString text() const;
+  
+  //! Set all connection related members at once
+  void setConnection(const QString& aHost,
+                     const QString& aPort,
+                     const QString& aDatabase,
+                     const QString& aUsername,
+                     const QString& aPassword);
+  
+  //! Set all data source related members at once
+  void setDataSource(const QString& aSchema,
+                     const QString& aTable,
+                     const QString& aGeometryColumn,
+                     const QString& aSql = QString());
+  
+  /* data */
+
   //! host name
   QString host;
   //! database name
@@ -47,18 +76,11 @@
   QString username;
   //! password
   QString password;
-  //! All in a single string
-  QString text()
-    {
-      return QString("host=" + host + 
-                     " dbname=" + database + 
-                     " port=" + port + 
-                     " user=" + username + 
-                     " password=" + password + 
-                     " table=" + schema + '.' + table + 
-                     " (" + geometryColumn + ")" +
-                     " sql=" + sql);
-    }
-  };
+  
+  //! whole connection info (host, db, port, name, pass)
+  QString connInfo;
+
+};
+
 #endif //QGSDATASOURCEURI_H
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsdistancearea.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdistancearea.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdistancearea.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,7 +12,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsdistancearea.cpp 6827 2007-03-23 19:02:37Z homann $ */
+/* $Id: qgsdistancearea.cpp 7059 2007-07-04 15:43:44Z timlinux $ */
 
 #include <cmath>
 #include <sqlite3.h>
@@ -229,24 +229,25 @@
   unsigned int nPoints = *((int*)ptr);
   ptr = feature + 9;
   
-  std::vector<QgsPoint> points(nPoints);
+  QList<QgsPoint> points;
+  double x,y;
 
   QgsDebugMsg("This feature WKB has " + QString::number(nPoints) + " points");
   // Extract the points from the WKB format into the vector
   for (unsigned int i = 0; i < nPoints; ++i)
   {
-    QgsPoint& p = points[i];
-    p.setX(*((double *) ptr));
+    x = *((double *) ptr);
     ptr += sizeof(double);
-    p.setY(*((double *) ptr));
+    y = *((double *) ptr);
     ptr += sizeof(double);
+    points.append(QgsPoint(x,y));
   }
   
   *area = measureLine(points);
   return ptr;
 }
 
-double QgsDistanceArea::measureLine(const std::vector<QgsPoint>& points)
+double QgsDistanceArea::measureLine(const QList<QgsPoint>& points)
 {
   if (points.size() < 2)
     return 0;
@@ -261,16 +262,16 @@
     else
       p1 = points[0];
     
-    for (std::vector<QgsPoint>::size_type i = 1; i < points.size(); i++)
+    for (QList<QgsPoint>::const_iterator i = points.begin(); i != points.end(); ++i)
     {
       if (mProjectionsEnabled && (mEllipsoid != "NONE"))
       {
-        p2 = mCoordTransform->transform(points[i]);
+        p2 = mCoordTransform->transform(*i);
         total += computeDistanceBearing(p1,p2);
       }
       else
       {
-        p2 = points[i];
+        p2 = *i;
         total += measureLine(p1,p2);
       }
   
@@ -322,7 +323,8 @@
   // Set pointer to the first ring
   unsigned char* ptr = feature + 1 + 2 * sizeof(int); 
   
-  std::vector<QgsPoint> points;
+  QList<QgsPoint> points;
+  QgsPoint pnt;
   double x,y, areaTmp;
   *area = 0;
 
@@ -331,7 +333,6 @@
     for (unsigned int idx = 0; idx < numRings; idx++)
     {
       int nPoints = *((int*)ptr);
-      points.resize(nPoints);
       ptr += 4;
 
       // Extract the points from the WKB and store in a pair of
@@ -342,12 +343,14 @@
         ptr += sizeof(double);
         y = *((double *) ptr);
         ptr += sizeof(double);
+        
+        pnt = QgsPoint(x,y);
 
-        points[jdx] = QgsPoint(x,y);
         if (mProjectionsEnabled && (mEllipsoid != "NONE"))
         {
-          points[jdx] = mCoordTransform->transform(points[jdx]);
+          pnt = mCoordTransform->transform(pnt);
         }
+        points.append(pnt);
       }
 
       if (points.size() > 2)
@@ -369,17 +372,17 @@
 }
 
 
-double QgsDistanceArea::measurePolygon(const std::vector<QgsPoint>& points)
+double QgsDistanceArea::measurePolygon(const QList<QgsPoint>& points)
 {
   
   try
   {
     if (mProjectionsEnabled && (mEllipsoid != "NONE"))
     {
-      std::vector<QgsPoint> pts(points.size());
-      for (std::vector<QgsPoint>::size_type i = 0; i < points.size(); i++)
+      QList<QgsPoint> pts;
+      for (QList<QgsPoint>::const_iterator i = points.begin(); i != points.end(); ++i)
       {
-        pts[i] = mCoordTransform->transform(points[i]);
+        pts.append(mCoordTransform->transform(*i));
       }
       return computePolygonArea(pts);
     }
@@ -437,9 +440,17 @@
   double lambda = L;
   double lambdaP = 2*M_PI;
   
-  double sinLambda, cosLambda, sinSigma, cosSigma;
-  double sigma, alpha, cosSqAlpha, cos2SigmaM, C;
-  double tu1, tu2;
+  double sinLambda=0;
+  double cosLambda=0;
+  double sinSigma=0;
+  double cosSigma=0;
+  double sigma=0;
+  double alpha=0;
+  double cosSqAlpha=0; 
+  double cos2SigmaM=0;
+  double C=0;
+  double tu1=0; 
+  double tu2=0;
   
   int iterLimit = 20;
   while (fabs(lambda-lambdaP) > 1e-12 && --iterLimit>0)
@@ -540,7 +551,7 @@
 }
 
 
-double QgsDistanceArea::computePolygonArea(const std::vector<QgsPoint>& points)
+double QgsDistanceArea::computePolygonArea(const QList<QgsPoint>& points)
 {
   double x1,y1,x2,y2,dx,dy;
   double Qbar1, Qbar2;
@@ -595,7 +606,7 @@
   return area;
 }
 
-double QgsDistanceArea::computePolygonFlatArea(const std::vector<QgsPoint>& points)
+double QgsDistanceArea::computePolygonFlatArea(const QList<QgsPoint>& points)
 {
   // Normal plane area calculations.
   double area = 0.0;

Modified: packages/qgis/branches/upstream/current/src/core/qgsdistancearea.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsdistancearea.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsdistancearea.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,12 +12,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsdistancearea.h 6819 2007-03-18 20:59:07Z homann $ */
+/* $Id: qgsdistancearea.h 6760 2007-03-04 11:43:48Z wonder $ */
 
 #ifndef QGSDISTANCEAREA_H
 #define QGSDISTANCEAREA_H
 
-#include <vector>
+#include <QList>
 #include "qgscoordinatetransform.h"
 
 class QgsGeometry;
@@ -28,11 +28,11 @@
 - it's possible to pass points/features in any SRS, coordinates are transformed
 - two options how to use it
   + use measure() takes QgsGeometry as a parameter and calculates distance or area
-  + use directly measureLine(), measurePolygon() which take vector of QgsPoints
+  + use directly measureLine(), measurePolygon() which take list of QgsPoints
   (both cases transform the coordinates from source SRS to the ellipse coords)
 - returned values are in meters resp. square meters
 */
-class QgsDistanceArea
+class CORE_EXPORT QgsDistanceArea
 {
 
   public:
@@ -74,12 +74,12 @@
     double measure(QgsGeometry* geometry);
     
     //! measures line with more segments
-    double measureLine(const std::vector<QgsPoint>& points);
+    double measureLine(const QList<QgsPoint>& points);
     //! measures line with one segment
     double measureLine(const QgsPoint& p1, const QgsPoint& p2);
     
     //! measures polygon area
-    double measurePolygon(const std::vector<QgsPoint>& points);
+    double measurePolygon(const QList<QgsPoint>& points);
     
     //! compute bearing - in radians
     double getBearing(const QgsPoint& p1, const QgsPoint& p2);
@@ -112,9 +112,9 @@
      algorithm has been taken from GRASS: gis/area_poly1.c
     
     */
-    double computePolygonArea(const std::vector<QgsPoint>& points);
+    double computePolygonArea(const QList<QgsPoint>& points);
 
-    double computePolygonFlatArea(const std::vector<QgsPoint>& points);
+    double computePolygonFlatArea(const QList<QgsPoint>& points);
     
     /**
       precalculates some values

Modified: packages/qgis/branches/upstream/current/src/core/qgsexception.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsexception.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsexception.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,5 @@
 /***************************************************************************
-                          qgsproject.cpp -  description
+                          qgsexception.h
                              -------------------
   begin                : August 31, 2004
   copyright            : (C) 2004 by Mark Coletti
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsexception.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsexception.h 7202 2007-09-16 02:45:42Z gsherman $ */
 #ifndef QGSEXCEPTION_H
 #define QGSEXCEPTION_H
 
@@ -28,7 +28,7 @@
 /**
    Defines a qgis exception class
  */
-class QgsException : public std::exception
+class CORE_EXPORT QgsException : public std::exception
 {
 public:
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsfeature.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfeature.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfeature.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,10 +12,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsfeature.cpp 6274 2006-12-18 06:06:48Z telwertowski $ */
+/* $Id: qgsfeature.cpp 6879 2007-04-11 11:46:35Z wonder $ */
 
 #include "qgsfeature.h"
+#include "qgsgeometry.h"
 #include "qgsrect.h"
+
 #include <iostream>
 #include <cfloat>
 #ifdef WIN32
@@ -27,19 +29,8 @@
 /** \class QgsFeature
  * \brief Encapsulates a spatial feature with attributes
  */
-//! Constructor
-QgsFeature::QgsFeature()
-    : mFid(0), 
-      mGeometry(0),
-      mOwnsGeometry(0),
-      mValid(false),
-      mDirty(0)
-{
-  // NOOP
-}
 
-
-QgsFeature::QgsFeature(int id, QString const & typeName )
+QgsFeature::QgsFeature(int id, QString typeName)
     : mFid(id), 
       mGeometry(0),
       mOwnsGeometry(0),
@@ -51,56 +42,37 @@
 }
 
 QgsFeature::QgsFeature( QgsFeature const & rhs,
-                        std::map<int,std::map<QString,QString> > & changedAttributes,
-                        std::map<int, QgsGeometry> & changedGeometries )
-    : mFid( rhs.mFid ), 
-      fieldNames( rhs.fieldNames ),
-      mValid( rhs.mValid ),
-      mDirty( rhs.mDirty ),
-      mTypeName( rhs.mTypeName )
+                        const QgsChangedAttributesMap & changedAttributes,
+                        const QgsGeometryMap & changedGeometries )
+  : mFid( rhs.mFid ), 
+    mValid( rhs.mValid ),
+    mDirty( rhs.mDirty ),
+    mTypeName( rhs.mTypeName )
 
 {
-
-  // Copy the attributes over.
-  if ( changedAttributes.find(mFid) == changedAttributes.end() )
+  // copy attributes from rhs feature
+  mAttributes = rhs.mAttributes;
+  
+  if (changedAttributes.contains(mFid))
   {
-    // copy attributes purely from rhs feature
-    attributes = rhs.attributes;
-  }
-  else
-  {
-    attributes.clear();
+    // get map of changed attributes
+    const QgsAttributeMap& changed = changedAttributes[mFid];
   
-    // TODO copy attributes from rhs feature with override from changedAttributes
-    for (std::vector<QgsFeatureAttribute>::iterator iter  = attributes.begin();
-                                                    iter != attributes.end();
-                                                  ++iter)
+    // changet the attributes which were provided in the attribute map
+    for (QgsAttributeMap::const_iterator it = changed.begin(); it != changed.end(); ++it)
     {
-  
-      // See if we have a changed attribute for this field
-      if ( 
-           changedAttributes[mFid].find( iter->fieldName() ) == 
-           changedAttributes[mFid].end() 
-         )
-      {
-        // No, copy from rhs feature
-        attributes.push_back(changedAttributes[mFid][ iter->fieldName() ]);
-      }
-      else
-      {
-        // Yes, copy from changedAttributes
-        attributes.push_back(QgsFeatureAttribute(iter->fieldName(),
-                                                 changedAttributes[mFid][ iter->fieldName() ]
-                            ));
-      }  
-      
-    } 
+      changeAttribute(it.key(), it.value());
+    }
   }
   
-
-  // Copy the geometry over
-  if ( changedGeometries.find(mFid) == changedGeometries.end() )
+  if (changedGeometries.contains(mFid))
   {
+    // deep-copy geometry purely from changedGeometries
+    mGeometry     = new QgsGeometry(changedGeometries[mFid]);
+    mOwnsGeometry = TRUE;
+  }
+  else
+  {
     // copy geometry purely from rhs feature
     if ( rhs.mGeometry )
     {
@@ -113,20 +85,13 @@
       mOwnsGeometry = FALSE;
     }
   }
-  else
-  {
-    // deep-copy geometry purely from changedGeometries
-    mGeometry     = new QgsGeometry(changedGeometries[mFid]);
-    mOwnsGeometry = TRUE;
-  }
 
 }                        
 
 
 QgsFeature::QgsFeature( QgsFeature const & rhs )
     : mFid( rhs.mFid ), 
-      attributes( rhs.attributes ),
-      fieldNames( rhs.fieldNames ),
+      mAttributes( rhs.mAttributes ),
       mValid( rhs.mValid ),
       mDirty( rhs.mDirty ),
       mTypeName( rhs.mTypeName )
@@ -154,8 +119,7 @@
 
   mFid =  rhs.mFid ; 
   mDirty =  rhs.mDirty ; 
-  attributes =  rhs.attributes ;
-  fieldNames =  rhs.fieldNames ;
+  mAttributes =  rhs.mAttributes ;
   mValid =  rhs.mValid ;
   mTypeName = rhs.mTypeName;
 
@@ -201,80 +165,32 @@
  * Get the attributes for this feature.
  * @return A std::map containing the field name/value mapping
  */
-const std::vector < QgsFeatureAttribute > &QgsFeature::attributeMap()
+const QgsAttributeMap& QgsFeature::attributeMap() const
 {
-#ifdef QGISDEBUG
-//      std::cout << "QgsFeature::attributeMap: Returning attributes"
-//                << "." << std::endl;
-#endif
-  
-  return attributes;
+  return mAttributes;
 }
 
 /**
  * Add an attribute to the map
  */
-void QgsFeature::addAttribute(QString const&  field, QString const & value, bool numeric)
+void QgsFeature::addAttribute(int field, QVariant attr)
 {
-  attributes.push_back(QgsFeatureAttribute(field, value, numeric));
+  mAttributes.insert(field, attr);
 }
 
 /**Deletes an attribute and its value*/
-void QgsFeature::deleteAttribute(const QString& name)
+void QgsFeature::deleteAttribute(int field)
 {
-    for(std::vector<QgsFeatureAttribute>::iterator iter=attributes.begin();iter!=attributes.end();++iter)
-    {
-	if(iter->fieldName()==name)
-	{
-	    attributes.erase(iter);
-	    break;
-	}
-    }
+  mAttributes.remove(field);
 }
 
-/**Changes an existing attribute value
-   @param name attribute name
-   @param newval new value*/
-void QgsFeature::changeAttributeValue(const QString& name, const QString& newval)
-{
-   for(std::vector<QgsFeatureAttribute>::iterator iter=attributes.begin();iter!=attributes.end();++iter)
-    {
-	if(iter->fieldName()==name)
-	{
-	    iter->setFieldValue(newval);
-	    break;
-	}
-    } 
-}
 
-void QgsFeature::changeAttributeName(const QString& name, const QString& newname)
+void QgsFeature::changeAttribute(int field, QVariant attr)
 {
-   // TODO: This was added for Paste Transformations, but as this is called per transfer,
-   // per feature pasted, this can get inefficient.  It may be worth calculating once per
-   // paste action and caching for each subsequent feature in that paste action.
-   for(std::vector<QgsFeatureAttribute>::iterator iter=attributes.begin();iter!=attributes.end();++iter)
-    {
-	if(iter->fieldName()==name)
-	{
-	    iter->setFieldName(newname);
-	    break;
-	}
-    } 
+  mAttributes[field] = attr;
 }
 
-/**
- * Get the fields for this feature
- * @return A std::map containing field position (index) and field name
- */
-const std::map < int, QString > &QgsFeature::fields()
-{
-#ifdef QGISDEBUG
-       std::cout << "QgsFeature::fields: Returning fieldNames." << std::endl;
-#endif
-  return fieldNames;
-}
 
-
 QgsGeometry * QgsFeature::geometry()
 {
   return mGeometry;
@@ -290,106 +206,6 @@
 
 
 
-unsigned char * QgsFeature::getGeometry() const
-{
-
-  return mGeometry->wkbBuffer();
-  
-/*#ifdef QGISDEBUG
-      std::cout << "QgsFeature::getGeometry: mDirty is " << mDirty 
-                << ", feature address:" << this << "." << std::endl;
-#endif
-  
-  if (mDirty)
-  {
-#ifdef QGISDEBUG
-      std::cout << "QgsFeature::getGeometry: getting modified geometry for " << featureId() << "." << std::endl;
-#endif
-    return modifiedGeometry;
-  }
-  else
-  {
-#ifdef QGISDEBUG
-      std::cout << "QgsFeature::getGeometry: getting committed geometry for " << featureId() << "." << std::endl;
-#endif
-    return geometry;
-  }  */
-}
-
-/*
-unsigned char * QgsFeature::getCommittedGeometry() const
-{
-  // TODO: Store modifiedGeometry per-edit.
-  // Otherwise we may have memory problems with very large geometries
-  // as we currently have to keep a full copy of both geometries in memory
-#ifdef QGISDEBUG
-      std::cout << "QgsFeature::getCommittedGeometry: doing for " << featureId() << "." << std::endl;
-#endif
-  return geometry;
-}
-
-
-unsigned char * QgsFeature::getModifiedGeometry() const
-{
-  // TODO: Store modifiedGeometry per-edit.
-  // Otherwise we may have memory problems with very large geometries
-  // as we currently have to keep a full copy of both geometries in memory
-#ifdef QGISDEBUG
-      std::cout << "QgsFeature::getCommittedGeometry: doing for " << featureId() << "." << std::endl;
-#endif
-  return modifiedGeometry;
-}*/
-
-
-size_t QgsFeature::getGeometrySize() const
-{
-  if (mGeometry)
-  {
-    return mGeometry->wkbSize();
-  }
-  else
-  {
-    return 0;
-  }    
-} 
-
-
-/*
-size_t QgsFeature::getCommittedGeometrySize() const
-{
-    return geometrySize;
-}
-
-
-size_t QgsFeature::getModifiedGeometrySize() const
-{
-    return modifiedGeometrySize;
-}
-*/
-
-
-/**
- * Return well known text representation of this feature
- */
-QString const & QgsFeature::wellKnownText() const
-{
-  if (mGeometry)
-  {
-    return mGeometry->wkt();
-  }
-  else
-  {
-    static QString emptyString("");
-    return emptyString;   // TODO: Test for mGeometry in all functions of this class
-  }  
-/*  
-    if(mWKT.isNull())
-    {
-	exportToWKT();
-    }
-    return mWKT;*/
-}
-
 /** Set the feature id
 */
 void QgsFeature::setFeatureId(int id)
@@ -399,7 +215,7 @@
 }
 
 
-QString const & QgsFeature::typeName() const
+QString QgsFeature::typeName() const
 {
   return mTypeName;
 } // QgsFeature::typeName
@@ -408,7 +224,7 @@
 
 /** sets the feature's type name
  */
-void QgsFeature::typeName( QString const & typeName )
+void QgsFeature::setTypeName(QString typeName)
 {
     mTypeName = typeName;
 } // QgsFeature::typeName
@@ -427,6 +243,18 @@
   mOwnsGeometry = TRUE;
 }
 
+void QgsFeature::setGeometry(QgsGeometry* geom)
+{
+  // Destruct the attached geometry only if we still own it, before assigning new one.
+  if ( (mOwnsGeometry) && (mGeometry) )
+  {
+    delete mGeometry;
+    mGeometry = 0;
+  }
+  
+  mGeometry = geom;
+  mOwnsGeometry = TRUE;
+}
 
 /** Set the pointer to the feature geometry
 */
@@ -446,354 +274,6 @@
 }
 
 
-// /** Set the pointer to the modified feature geometry
-// */
-// void QgsFeature::setModifiedGeometry(unsigned char *geom, size_t length)
-// {
-//     // delete any existing WKB geometry before assigning new one
-//     if ( modifiedGeometry )
-//     {
-//         delete [] modifiedGeometry;
-//     }
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::setModifiedGeometry: setting modified geometry for " << featureId() << "." << std::endl;
-// #endif
-//     
-//     modifiedGeometry = geom;
-//     modifiedGeometrySize = length;
-//     mDirty = TRUE;
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::setModifiedGeometry: modifiedGeometrySize = " << modifiedGeometrySize 
-//                 << ", mDirty = " << mDirty << "." << std::endl;
-// #endif
-// #ifdef QGISDEBUG
-//       exportToWKT(geometry);
-//       std::cout << "QgsFeature::setModifiedGeometry: Original: " << mWKT << "." << std::endl;
-// #endif
-// #ifdef QGISDEBUG
-//       exportToWKT(modifiedGeometry);
-//       std::cout << "QgsFeature::setModifiedGeometry: Modified: " << mWKT << "." << std::endl;
-// #endif
-// 
-// }
-
-
-// bool QgsFeature::insertVertexBefore(double x, double y, int beforeVertex, int atRing, int atItem)
-// {
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: Entered with "
-//          << "x " << x << ", y " << y 
-//          << "beforeVertex " << beforeVertex << ", atRing " << atRing << ", atItem"
-//          << " " << atItem            
-//                 << "." << std::endl;
-// #endif
-// 
-//   // make sure we're using the latest version
-//   unsigned char * localGeometry     = getGeometry();
-//   size_t          localGeometrySize = getGeometrySize();
-// 
-//     if (localGeometry)
-//     {
-//         int wkbType;
-// //        double *x,*y;
-// 
-//         memcpy(&wkbType, (localGeometry+1), sizeof(int));
-//         switch (wkbType)
-//         {
-//             case QGis::WKBPoint:
-//             {
-//                 // Meaningless
-//                 return FALSE;
-//                 break;
-//             }
-//             case QGis::WKBLineString:
-//             {
-//                 unsigned char *ptr;
-//                 int *nPoints;
-//                 int idx;
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: in QGis::WKBLineString." << std::endl;
-// #endif
-//                 
-//                 // get number of points in the line
-//                 ptr = localGeometry + 5;     // now at localGeometry.numPoints
-//                 nPoints = (int *) ptr;
-// 
-// /*                
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: old number of points is "
-//                 << (*nPoints)
-//                 << "." << std::endl;
-// #endif
-// */                                
-//                 // silently adjust any overflow "beforeVertex" values to mean
-//                 // "append to end of string"
-//                 if (*nPoints < beforeVertex)
-//                 {
-//                   beforeVertex = *nPoints;  // beforeVertex is 0 based, *nPoints is 1 based
-//                 }
-//                       
-//                 // create new geometry expanded by 2 doubles
-//                 unsigned char *newWKB = new unsigned char[localGeometrySize + 16];
-//                 memset(newWKB, '\0', localGeometrySize + 16);  // just in case
-// /*                
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: newWKB at " << newWKB << "." << std::endl;
-// #endif
-//                 
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: done initial newWKB of "
-//                 << (localGeometrySize + 16)
-//                 << " bytes." << std::endl;
-// #endif
-// */                                
-//                 // copy section before splice
-//                 memcpy(newWKB, localGeometry, 9 + (16 * beforeVertex) );
-// /*
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: done pre memcpy of "
-//                 << (9 + (16 * beforeVertex))
-//                 << " bytes." << std::endl;
-// #endif
-// #ifdef QGISDEBUG
-//       exportToWKT(newWKB);
-//       std::cout << "QgsFeature::insertVertexBefore: newWKB: " << mWKT << "." << std::endl;
-// #endif
-// */
-//                 // adjust number of points
-//                 (*nPoints)++;
-//                 ptr = newWKB + 5;  // now at newWKB.numPoints
-//                 memcpy(ptr, nPoints, 4);
-// /*
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: new number of points is "
-//                 << (*nPoints)
-//                 << "." << std::endl;
-// #endif
-// */                                
-//                 
-//                 // copy vertex to be spliced
-//                 ptr += 4;   // now at newWKB.points[]
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::insertVertexBefore: ptr at " << ptr << "." << std::endl;
-// #endif
-//                 ptr += (16 * beforeVertex); 
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::insertVertexBefore: going to add x " << x << "." << std::endl;
-// //      std::cout << "QgsFeature::insertVertexBefore: ptr at " << ptr << ", going to add x " << x << "." << std::endl;
-// #endif
-//                 memcpy(ptr, &x, 8);
-// //                memcpy(ptr, x, 8);
-//                 ptr += 8;
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::insertVertexBefore: going to add y " << y << "." << std::endl;
-// //      std::cout << "QgsFeature::insertVertexBefore: ptr at " << ptr << ", going to add y " << y << "." << std::endl;
-// #endif
-//                 memcpy(ptr, &y, 8);
-// //                memcpy(ptr, y, 8);
-//                 ptr += 8;
-// 
-// /*                
-// #ifdef QGISDEBUG
-//       exportToWKT(newWKB);
-//       std::cout << "QgsFeature::insertVertexBefore: newWKB: " << mWKT << "." << std::endl;
-// #endif
-// */
-//                                 
-//                 // copy section after splice
-//                 memcpy(ptr, localGeometry + 9 + (16 * beforeVertex), (16 * (*nPoints - beforeVertex)) );
-// 
-// /*                
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: done post memcpy of "
-//                 << (16 * (*nPoints - beforeVertex))
-//                 << " bytes." << std::endl;
-// #endif
-// */
-// #ifdef QGISDEBUG
-//       exportToWKT(newWKB);
-//       std::cout << "QgsFeature::insertVertexBefore: newWKB: " << mWKT << "." << std::endl;
-// #endif
-//                                 
-//                 // set new geomtry to this object
-//                 setModifiedGeometry(newWKB, localGeometrySize + 16);
-//       
-//                 break;
-//             }
-//             case QGis::WKBPolygon:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-//             case QGis::WKBMultiPoint:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-// 
-//             case QGis::WKBMultiLineString:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-// 
-//             case QGis::WKBMultiPolygon:
-//             {
-//                  // TODO
-//                 return false;
-//                 break;
-//              }
-//             default:
-// #ifdef QGISDEBUG
-//                 qWarning("error: feature type not recognized in QgsFeature::insertVertexBefore");
-// #endif
-//                 return false;
-//                 break;
-//         }
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::insertVertexBefore: Exiting successfully." << std::endl;
-// #endif
-//         
-//         return true;
-//         
-//     }
-//     else
-//     {
-// #ifdef QGISDEBUG
-//         qWarning("error: no geometry pointer in QgsFeature::insertVertexBefore");
-// #endif
-//         return false;
-//     }
-//     
-// 
-// 
-// }
-// 
-// 
-// bool QgsFeature::moveVertexAt(double x, double y, int atVertex, int atRing, int atItem)
-// {
-// }
-// 
-// 
-// bool QgsFeature::vertexAt(double &x, double &y, int atVertex, int atRing, int atItem) const
-// {
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::vertexAt: Entered with "
-//          << "atVertex " << atVertex << ", atRing " << atRing << ", atItem"
-//          << " " << atItem            
-//                 << "." << std::endl;
-// #endif
-// 
-//     if(geometry)
-//     {
-//         int wkbType;
-// 
-//         memcpy(&wkbType, (geometry+1), sizeof(int));
-//         switch (wkbType)
-//         {
-//             case QGis::WKBPoint:
-//             {
-//                 // TODO
-//                 return FALSE;
-//                 break;
-//             }
-//             case QGis::WKBLineString:
-//             {
-//                 unsigned char *ptr;
-//                 int *nPoints;
-//                 int idx;
-// 
-//                 // get number of points in the line
-//                 ptr = geometry + 5;     // now at geometry.numPoints
-//                 nPoints = (int *) ptr;
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::vertexAt: Number of points in WKBLineString is " << *nPoints
-//                 << "." << std::endl;
-// #endif
-//                                 
-//                 // silently adjust any overflow "atVertex" values to mean
-//                 // "append to end of string"
-//                 if (*nPoints <= atVertex)
-//                 {
-//                   atVertex = (*nPoints - 1);  // atVertex is 0 based, *nPoints is 1 based
-//                 }
-// 
-//                 // copy the vertex coordinates                      
-//                 ptr = geometry + 9 + (atVertex * 16);
-//                 memcpy(&x, ptr, 8);
-//                 ptr += 8;
-//                 memcpy(&y, ptr, 8);
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::vertexAt: Point is (" << x << ", " << y << ")"
-//                 << "." << std::endl;
-// #endif
-//                       
-//                 break;
-//             }
-//             case QGis::WKBPolygon:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-//             case QGis::WKBMultiPoint:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-// 
-//             case QGis::WKBMultiLineString:
-//             {
-//                 // TODO
-//                 return false;
-//                 break;
-//             }
-// 
-//             case QGis::WKBMultiPolygon:
-//             {
-//                  // TODO
-//                 return false;
-//                 break;
-//              }
-//             default:
-// #ifdef QGISDEBUG
-//                 qWarning("error: feature type not recognized in QgsFeature::vertexAt");
-// #endif
-//                 return false;
-//                 break;
-//         }
-//         
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::vertexAt: Exiting TRUE." << std::endl;
-// #endif
-//         
-//         return true;
-//         
-//     }
-//     else
-//     {
-// #ifdef QGISDEBUG
-//         qWarning("error: no geometry pointer in QgsFeature::vertexAt");
-// #endif
-//         return false;
-//     }
-// 
-//     
-// }
-
-
 bool QgsFeature::isValid() const
 {
   return mValid;
@@ -813,849 +293,3 @@
 {
   mDirty = FALSE;
 }
-
-// bool QgsFeature::intersects(QgsRect* r) const
-// {
-//     bool returnval=false;
-// 
-//     GEOS_GEOM::GeometryFactory *gf = new GEOS_GEOM::GeometryFactory();
-//     GEOS_IO::WKTReader *wktReader = new GEOS_IO::WKTReader(gf);
-//     GEOS_GEOM::Geometry *geosGeom = wktReader->read( qstrdup(wellKnownText()) );
-// 
-//     //write the selection rectangle to wkt by hand
-//     QString rectwkt="POLYGON((";
-//     rectwkt+=QString::number(r->xMin(),'f',3);
-//     rectwkt+=" ";
-//     rectwkt+=QString::number(r->yMin(),'f',3);
-//     rectwkt+=",";
-//     rectwkt+=QString::number(r->xMax(),'f',3);
-//     rectwkt+=" ";
-//     rectwkt+=QString::number(r->yMin(),'f',3);
-//     rectwkt+=",";
-//     rectwkt+=QString::number(r->xMax(),'f',3);
-//     rectwkt+=" ";
-//     rectwkt+=QString::number(r->yMax(),'f',3);
-//     rectwkt+=",";
-//     rectwkt+=QString::number(r->xMin(),'f',3);
-//     rectwkt+=" ";
-//     rectwkt+=QString::number(r->yMax(),'f',3);
-//     rectwkt+=",";
-//     rectwkt+=QString::number(r->xMin(),'f',3);
-//     rectwkt+=" ";
-//     rectwkt+=QString::number(r->yMin(),'f',3);
-//     rectwkt+="))";
-//     
-//     GEOS_GEOM::Geometry *geosRect = wktReader->read( qstrdup(rectwkt) );
-//     if(geosGeom->intersects(geosRect))
-//     {
-// 	returnval=true;
-//     }
-//  
-//     delete geosGeom;
-//     delete geosRect;
-//     delete gf;
-//     delete wktReader;
-//     return returnval;
-// }
-// 
-// 
-// bool QgsFeature::exportToWKT(unsigned char * geom) const
-// {
-//     if(geom)
-//     {
-// 	int wkbType;
-// 	double *x,*y;
-// 
-// 	mWKT="";
-// 	memcpy(&wkbType, (geom+1), sizeof(int));
-// 	switch (wkbType)
-// 	{
-// 	    case QGis::WKBPoint:
-// 	    {
-// 		mWKT+="POINT(";
-// 		x = (double *) (geom + 5);
-// 		mWKT+=QString::number(*x,'f',3);
-// 		mWKT+=" ";
-// 		y = (double *) (geom + 5 + sizeof(double));
-// 		mWKT+=QString::number(*y,'f',3);
-// 		mWKT+=")";
-// 		break;
-// 	    }
-// 	    case QGis::WKBLineString:
-// 	    {
-// 		unsigned char *ptr;
-// 		int *nPoints;
-// 		int idx;
-// 
-// 		mWKT+="LINESTRING(";
-// 		// get number of points in the line
-// 		ptr = geom + 5;
-// 		nPoints = (int *) ptr;
-// 		ptr = geom + 1 + 2 * sizeof(int);
-// 		for (idx = 0; idx < *nPoints; ++idx)
-// 		{
-// 		    if(idx!=0)
-// 		    {
-// 			mWKT+=", ";
-// 		    }
-// 		    x = (double *) ptr;
-// 		    mWKT+=QString::number(*x,'f',3);
-// 		    mWKT+=" ";
-// 		    ptr += sizeof(double);
-// 		    y = (double *) ptr;
-// 		    mWKT+=QString::number(*y,'f',3);
-// 		    ptr += sizeof(double);
-// 		}
-// 		mWKT+=")";
-// 		break;
-// 	    }
-// 	    case QGis::WKBPolygon:
-// 	    {
-// 		unsigned char *ptr;
-// 		int idx, jdx;
-// 		int *numRings, *nPoints;
-// 
-// 		mWKT+="POLYGON(";
-// 		// get number of rings in the polygon
-// 		numRings = (int *)(geom + 1 + sizeof(int));
-// 		if (!(*numRings))  // sanity check for zero rings in polygon
-// 		{
-// 		    break;
-// 		}
-// 		int *ringStart; // index of first point for each ring
-// 		int *ringNumPoints; // number of points in each ring
-// 		ringStart = new int[*numRings];
-// 		ringNumPoints = new int[*numRings];
-// 		ptr = geom+1+2*sizeof(int); // set pointer to the first ring
-// 		for (idx = 0; idx < *numRings; idx++)
-// 		{
-// 		    if(idx!=0)
-// 		    {
-// 			mWKT+=",";
-// 		    }
-// 		    mWKT+="(";
-// 		    // get number of points in the ring
-// 		    nPoints = (int *) ptr;
-// 		    ringNumPoints[idx] = *nPoints;
-// 		    ptr += 4;
-// 		    
-// 		    for(jdx=0;jdx<*nPoints;jdx++)
-// 		    {
-// 			if(jdx!=0)
-// 			{
-// 			    mWKT+=",";
-// 			}
-// 			x = (double *) ptr;
-// 			mWKT+=QString::number(*x,'f',3);
-// 			mWKT+=" ";
-// 			ptr += sizeof(double);
-// 			y = (double *) ptr;
-// 			mWKT+=QString::number(*y,'f',3);
-// 			ptr += sizeof(double);
-// 		    }
-// 		    mWKT+=")";
-// 		}
-// 		mWKT+=")";
-// 		delete [] ringStart;
-// 		delete [] ringNumPoints;
-// 		break;
-// 	    }
-// 	    case QGis::WKBMultiPoint:
-// 	    {
-// 		unsigned char *ptr;
-// 		int idx;
-// 		int *nPoints;
-// 
-// 		mWKT+="MULTIPOINT(";
-// 		nPoints=(int*)(geom+5);
-// 		ptr=geom+5+sizeof(int);
-// 		for(idx=0;idx<*nPoints;++idx)
-// 		{
-// 		    if(idx!=0)
-// 		    {
-// 			mWKT+=", ";
-// 		    }
-// 		    x = (double *) (ptr);
-// 		    mWKT+=QString::number(*x,'f',3);
-// 		    mWKT+=" ";
-// 		    ptr+=sizeof(double);
-// 		    y= (double *) (ptr);
-// 		    mWKT+=QString::number(*y,'f',3);
-// 		    ptr+=sizeof(double);
-// 		}
-// 		mWKT+=")";
-// 		break;
-// 	    }
-// 
-// 	    case QGis::WKBMultiLineString:
-// 	    {
-// 		unsigned char *ptr;
-// 		int idx, jdx, numLineStrings;
-// 		int *nPoints;
-// 
-// 		mWKT+="MULTILINESTRING(";
-// 		numLineStrings = (int) (geom[5]);
-// 		ptr = geom + 9;
-// 		for (jdx = 0; jdx < numLineStrings; jdx++)
-// 		{
-// 		    if(jdx!=0)
-// 		    {
-// 			mWKT+=", ";
-// 		    }
-// 		    mWKT+="(";
-// 		    ptr += 5; // skip type since we know its 2
-// 		    nPoints = (int *) ptr;
-// 		    ptr += sizeof(int);
-// 		    for (idx = 0; idx < *nPoints; idx++)
-// 		    {
-// 			if(idx!=0)
-// 			{
-// 			    mWKT+=", ";
-// 			}
-// 			x = (double *) ptr;
-// 			mWKT+=QString::number(*x,'f',3);
-// 			ptr += sizeof(double);
-// 			mWKT+=" ";
-// 			y = (double *) ptr;
-// 			mWKT+=QString::number(*y,'f',3);
-// 			ptr += sizeof(double);
-// 		    }
-// 		    mWKT+=")";
-// 		}
-// 		mWKT+=")";
-// 		break;
-// 	    }
-// 
-// 	    case QGis::WKBMultiPolygon:
-// 	    {
-// 		unsigned char *ptr;
-// 		int idx, jdx, kdx;
-// 		int *numPolygons, *numRings, *nPoints;
-// 		
-// 		mWKT+="MULTIPOLYGON(";
-// 		ptr = geom + 5;
-// 		numPolygons = (int *) ptr;
-// 		ptr = geom + 9;
-// 		for (kdx = 0; kdx < *numPolygons; kdx++)
-// 		{
-// 		    if(kdx!=0)
-// 		    {
-// 			mWKT+=",";
-// 		    }
-// 		    mWKT+="(";
-// 		    ptr+=5;
-// 		    numRings = (int *) ptr;
-// 		    ptr += 4;
-// 		    for (idx = 0; idx < *numRings; idx++)
-// 		    {
-// 			if(idx!=0)
-// 			{
-// 			    mWKT+=",";
-// 			}
-// 			mWKT+="(";
-// 			nPoints = (int *) ptr;
-// 			ptr += 4;
-// 			for (jdx = 0; jdx < *nPoints; jdx++)
-// 			{
-// 			    x = (double *) ptr;
-// 			    mWKT+=QString::number(*x,'f',3);
-// 			    ptr += sizeof(double);
-// 			    mWKT+=" ";
-// 			    y = (double *) ptr;
-// 			    mWKT+=QString::number(*y,'f',3);
-// 			    ptr += sizeof(double);
-// 			}
-// 			mWKT+=")";
-// 		    }
-// 		    mWKT+=")";
-// 		}
-// 		mWKT+=")";
-// 		break;
-// 	    }
-// 	    default:
-// #ifdef QGISDEBUG
-// 		qWarning("error: feature type not recognized in QgsFeature::exportToWKT");
-// #endif
-// 		return false;
-// 		break;
-// 	}
-// 	return true;
-// 	
-//     }
-//     else
-//     {
-// #ifdef QGISDEBUG
-// 	qWarning("error: no geom pointer in QgsFeature::exportToWKT");
-// #endif
-// 	return false;
-//     }
-//     
-// }
-// 
-// 
-// bool QgsFeature::exportToWKT() const
-// {
-//   return exportToWKT( mGeometry.wkbBuffer() );
-// }
-// 
-
-/*
-QgsPoint QgsFeature::closestVertex(const QgsPoint& point) const
-{
-    if(mGeometry)
-    {
-	int wkbType;
-    double actdist = std::numeric_limits<double>::max();
-	double x,y;
-	double *tempx,*tempy;
-	memcpy(&wkbType, (mGeometry+1), sizeof(int));
-	switch (wkbType)
-	{
-	    case QGis::WKBPoint:
-		x = *((double *) (mGeometry + 5));
-		y = *((double *) (mGeometry + 5 + sizeof(double)));
-		break;
-
-	    case QGis::WKBLineString:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npoints=(int*)ptr;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npoints;++index)
-		{
-		    tempx = (double*)ptr;
-		    ptr+=sizeof(double);
-		    tempy = (double*)ptr;
-		    if(point.sqrDist(*tempx,*tempy)<actdist)
-		    {
-			x=*tempx;
-			y=*tempy;
-			actdist=point.sqrDist(*tempx,*tempy);
-		    }
-		    ptr+=sizeof(double);
-		}
-		break;
-	    }
-	    case QGis::WKBPolygon:
-	    {
-		int* nrings=(int*)(mGeometry+5);
-		int* npoints;
-		unsigned char* ptr=mGeometry+9;
-		for(int index=0;index<*nrings;++index)
-		{
-		    npoints=(int*)ptr;
-		    ptr+=sizeof(int);
-		    for(int index2=0;index2<*npoints;++index2)
-		    {
-			tempx=(double*)ptr;
-			ptr+=sizeof(double);
-			tempy=(double*)ptr;
-			if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			    x=*tempx;
-			    y=*tempy;
-			    actdist=point.sqrDist(*tempx,*tempy);
-			}
-			ptr+=sizeof(double);
-		    }
-		}
-	    }
-		break;
-
-	    case QGis::WKBMultiPoint:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npoints=(int*)ptr;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npoints;++index)
-		{
-		    tempx=(double*)ptr;
-		    tempy=(double*)(ptr+sizeof(double));
-		    if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			    x=*tempx;
-			    y=*tempy;
-			    actdist=point.sqrDist(*tempx,*tempy);
-			}
-		    ptr+=(2*sizeof(double));
-		}
-	    }
-		break;
-
-	    case QGis::WKBMultiLineString:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* nlines=(int*)ptr;
-		int* npoints;
-		ptr+=sizeof(int);
-		for(int index=0;index<*nlines;++index)
-		{
-		    npoints=(int*)ptr;
-		    ptr+=sizeof(int);
-		    for(int index2=0;index2<*npoints;++index2)
-		    {
-			tempx=(double*)ptr;
-			ptr+=sizeof(double);
-			tempy=(double*)ptr;
-			if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			    x=*tempx;
-			    y=*tempy;
-			    actdist=point.sqrDist(*tempx,*tempy);
-			}
-			ptr+=sizeof(double);
-			
-		    }
-		}
-	    }
-		break;
-
-	    case QGis::WKBMultiPolygon:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npolys=(int*)ptr;
-		int* nrings;
-		int* npoints;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npolys;++index)
-		{
-		    nrings=(int*)ptr;
-		    ptr+=sizeof(int);
-		    for(int index2=0;index2<*nrings;++index2)
-		    {
-			npoints=(int*)ptr;
-			ptr+=sizeof(int);
-			for(int index3=0;index3<*npoints;++index3)
-			{
-			   tempx=(double*)ptr;
-			   ptr+=sizeof(double);
-			   tempy=(double*)ptr;
-			   if(point.sqrDist(*tempx,*tempy)<actdist)
-			   {
-			       x=*tempx;
-			       y=*tempy;
-			       actdist=point.sqrDist(*tempx,*tempy);
-			   }
-			   ptr+=sizeof(double); 
-			}
-		    }
-		}
-	    }
-		break;
-
-	    default:
-		break;
-	}
-	return QgsPoint(x,y);    
-    }
-    return QgsPoint(0,0);
-}
-*/
-
-// double QgsFeature::distanceSquaredPointToSegment(QgsPoint& point,
-//                                                  double *x1, double *y1,
-//                                                  double *x2, double *y2,
-//                                                  QgsPoint& minDistPoint)
-// {
-// 
-//   double d;
-//   
-//   // Proportion along segment (0 to 1) the perpendicular of the point falls upon
-//   double t;
-//   
-//   
-//   // Projection of point on the segment
-//   double xn;
-//   double yn;
-// 
-//   double segmentsqrdist = ( *x2 - *x1 ) * ( *x2 - *x1 ) + 
-//                           ( *y2 - *y1 ) * ( *y2 - *y1 );
-// 
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::distanceSquaredPointToSegment: Entered with "
-// //         << "(" << *x1 << ", " << *y1 << ") (" << *x2 << ", " << *y2 << ")"
-// //         << " " << segmentsqrdist            
-// //                << "." << std::endl;
-// #endif
-//                           
-//                                                     
-//   if ( segmentsqrdist == 0.0 )
-//   {
-//     // segment is a point 
-//     xn = *x1;
-//     yn = *y1;
-//   }
-//   else
-//   {
-// 
-//     d =
-//         ( point.x() - *x1 ) * ( *x2 - *x1 )
-//       + ( point.y() - *y1 ) * ( *y2 - *y1 );
-// 
-//     t = d / segmentsqrdist;
-//     
-//     // Do not go beyond end of line
-//     // (otherwise this would be a comparison to an infinite line)
-//     if (t < 0.0)
-//     { 
-//       xn = *x1; 
-//       yn = *y1;
-//     }
-//     else if (t > 1.0)
-//     {
-//       xn = *x2; 
-//       yn = *y2;
-//     }
-//     else
-//     {
-//       xn = *x1 + t * ( *x2 - *x1 );
-//       yn = *y1 + t * ( *y2 - *y1 );
-//     }  
-// 
-//   }
-//   
-//   minDistPoint.set(xn, yn);
-// 
-//   return (
-//           ( xn - point.x() ) * ( xn - point.x() ) + 
-//           ( yn - point.y() ) * ( yn - point.y() )
-//          );
-// 
-// }
-//                    
-
-
-// TODO: Wrap WKB processing into its own class
-
-// QgsPoint QgsFeature::closestSegmentWithContext(QgsPoint& point, 
-//                                     int& beforeVertex, int& atRing, int& atItem,
-//                                     double& minSqrDist)
-// //QgsPoint QgsFeature::closestSegment(QgsPoint& point, 
-// //                                    QgsPoint& segStart, QgsPoint& segStop,
-// //                                    double& minSqrDist)
-// {
-// 
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::closestSegment: Entered"
-// //                << "." << std::endl;
-// #endif
-// 
-//   QgsPoint minDistPoint;
-// 
-//     int wkbType;
-//     double x,y;
-//     double *thisx,*thisy;
-//     double *prevx,*prevy;
-//     double testdist;
-//   
-//   // Initialise some stuff
-//   beforeVertex = -1;
-//   atRing       = -1;
-//   atItem       = -1;
-//   minSqrDist   = DBL_MAX;
-// 
-//   if (mGeometry)
-//   {
-// //    int wkbType;
-// //    double x,y;
-// //    double *thisx,*thisy;
-// //    double *prevx,*prevy;
-// //    double testdist;
-//     
-//     memcpy(&wkbType, (mGeometry+1), sizeof(int));
-//     
-//     switch (wkbType)
-//     {
-//     case QGis::WKBPoint:
-//       // Points have no lines
-//       return QgsPoint(0,0);
-//      
-//     case QGis::WKBLineString:
-//       unsigned char* ptr = mGeometry + 5;
-//       int* npoints = (int*) ptr;
-//       ptr += sizeof(int);
-//       for (int index=0; index < *npoints; ++index)
-//       {
-//         if (index > 0)
-//         {
-//           prevx = thisx;  
-//           prevy = thisy;  
-//         }
-//         
-//         thisx = (double*) ptr;
-//         ptr += sizeof(double);
-//         thisy = (double*) ptr;
-//         
-//         if (index > 0)
-//         {
-//           if ( 
-//                ( 
-//                  testdist = distanceSquaredPointToSegment(point,
-//                                                           prevx, prevy,
-//                                                           thisx, thisy,
-//                                                           minDistPoint)
-//                )                                           
-//                < minSqrDist )                              
-//           {
-// #ifdef QGISDEBUG
-// //      std::cout << "QgsFeature::closestSegment: testDist "
-// //                << testdist << ", minSqrDist"
-// //                << minSqrDist
-// //                << "." << std::endl;
-// #endif
-//             
-//             beforeVertex = index;
-//             atRing       = 0;
-//             atItem       = 0;
-//             
-//             minSqrDist = testdist;
-//           }
-//         }
-//         
-//         ptr += sizeof(double);
-//       }
-//       break;
-// 
-//       // TODO: Other geometry types
-//       
-//     } // switch (wkbType)
-//     
-//   } // if (mGeometry)
-// 
-// #ifdef QGISDEBUG
-//       std::cout << "QgsFeature::closestSegment: Exiting on feature " << mFid << " with beforeVertex "
-//                 << beforeVertex << ", minSqrDist from "
-//                 << point.stringRep() << " is "
-//                 << minSqrDist
-//                 << "." << std::endl;
-// #endif
-//       
-//   return minDistPoint;
-// 
-// }                 
-// 
-// 
-QgsRect QgsFeature::boundingBox() const
-{
-  if(mGeometry)
-    {
-      return mGeometry->boundingBox();
-    }
-  QgsRect nullRect;
-  return nullRect;
-}
-// QgsRect QgsFeature::boundingBox() const
-// {
-//     double xmin=DBL_MAX;
-//     double ymin=DBL_MAX;
-//     double xmax=-DBL_MAX;
-//     double ymax=-DBL_MAX;
-// 
-//     double *x;
-//     double *y;
-//     int *nPoints;
-//     int *numRings;
-//     int *numPolygons;
-//     int numPoints;
-//     int numLineStrings;
-//     int idx, jdx, kdx;
-//     unsigned char *ptr;
-//     char lsb;
-//     QgsPoint pt;
-//     QPointArray *pa;
-//     int wkbType;
-//     unsigned char *feature;
-// 
-//     feature = this->getGeometry();
-//     if(feature)
-//     {
-// 	wkbType=(int) feature[1];
-// 	switch (wkbType)
-//       {
-//       case QGis::WKBPoint:
-//         x = (double *) (feature + 5);
-//         y = (double *) (feature + 5 + sizeof(double));
-//         if (*x < xmin)
-//         {
-//           xmin=*x;
-//         }
-//         if (*x > xmax)
-//         {
-//           xmax=*x;
-//         }
-//         if (*y < ymin)
-//         {
-//           ymin=*y;
-//         }
-//         if (*y > ymax)
-//         {
-//           ymax=*y;
-//         }
-//         break;
-// 
-//       case QGis::WKBLineString:
-//         // get number of points in the line
-//         ptr = feature + 5;
-//         nPoints = (int *) ptr;
-//         ptr = feature + 1 + 2 * sizeof(int);
-//         for (idx = 0; idx < *nPoints; idx++)
-//         {
-//           x = (double *) ptr;
-//           ptr += sizeof(double);
-//           y = (double *) ptr;
-//           ptr += sizeof(double);
-//           if (*x < xmin)
-//           {
-//             xmin=*x;
-//           }
-//           if (*x > xmax)
-//           {
-// 	      xmax=*x;
-//           }
-//           if (*y < ymin)
-//           {
-//             ymin=*y;
-//           }
-//           if (*y > ymax)
-//           {
-//             ymax=*y;
-//           }
-//         }
-//         break;
-// 
-//       case QGis::WKBMultiLineString:
-//         numLineStrings = (int) (feature[5]);
-//         ptr = feature + 9;
-//         for (jdx = 0; jdx < numLineStrings; jdx++)
-//         {
-//           // each of these is a wbklinestring so must handle as such
-//           lsb = *ptr;
-//           ptr += 5;   // skip type since we know its 2
-//           nPoints = (int *) ptr;
-//           ptr += sizeof(int);
-//           for (idx = 0; idx < *nPoints; idx++)
-//           {
-//             x = (double *) ptr;
-//             ptr += sizeof(double);
-//             y = (double *) ptr;
-//             ptr += sizeof(double);
-//             if (*x < xmin)
-//             {
-//               xmin=*x;
-//             }
-//             if (*x > xmax)
-//             {
-//               xmax=*x;
-//             }
-//             if (*y < ymin)
-//             {
-//               ymin=*y;
-//             }
-//             if (*y > ymax)
-//             {
-//               ymax=*y;
-//             }
-//           }
-//         }
-//         break;
-// 
-//       case QGis::WKBPolygon:
-//         // get number of rings in the polygon
-//         numRings = (int *) (feature + 1 + sizeof(int));
-//         ptr = feature + 1 + 2 * sizeof(int);
-//         for (idx = 0; idx < *numRings; idx++)
-//         {
-//           // get number of points in the ring
-//           nPoints = (int *) ptr;
-//           ptr += 4;
-//           for (jdx = 0; jdx < *nPoints; jdx++)
-//           {
-//             // add points to a point array for drawing the polygon
-//             x = (double *) ptr;
-//             ptr += sizeof(double);
-//             y = (double *) ptr;
-//             ptr += sizeof(double);
-//             if (*x < xmin)
-//             {
-//               xmin=*x;
-//             }
-//             if (*x > xmax)
-//             {
-//               xmax=*x;
-//             }
-//             if (*y < ymin)
-//             {
-//               ymin=*y;
-//             }
-//             if (*y > ymax)
-//             {
-//               ymax=*y;
-//             }
-//           }
-//         }
-//         break;
-// 
-// 	case QGis::WKBMultiPolygon:
-//         // get the number of polygons
-//         ptr = feature + 5;
-//         numPolygons = (int *) ptr;
-//         for (kdx = 0; kdx < *numPolygons; kdx++)
-//         {
-//           //skip the endian and feature type info and
-//           // get number of rings in the polygon
-//           ptr = feature + 14;
-//           numRings = (int *) ptr;
-//           ptr += 4;
-//           for (idx = 0; idx < *numRings; idx++)
-//           {
-//             // get number of points in the ring
-//             nPoints = (int *) ptr;
-//             ptr += 4;
-//             for (jdx = 0; jdx < *nPoints; jdx++)
-//             {
-//               // add points to a point array for drawing the polygon
-//               x = (double *) ptr;
-//               ptr += sizeof(double);
-//               y = (double *) ptr;
-//               ptr += sizeof(double);
-//               if (*x < xmin)
-//               {
-//                 xmin=*x;
-//               }
-//               if (*x > xmax)
-//               {
-//                 xmax=*x;
-//               }
-//               if (*y < ymin)
-//               {
-//                 ymin=*y;
-//               }
-//               if (*y > ymax)
-//               {
-//                 ymax=*y;
-//               }
-//             }
-//           }
-//         }
-//         break;
-// 
-//       default:
-// 	  #ifdef QGISDEBUG
-//         std::cout << "UNKNOWN WKBTYPE ENCOUNTERED\n";
-// #endif
-//         break;
-// 
-//       }
-//       return QgsRect(xmin,ymin,xmax,ymax);
-//     }
-//     else
-//     {
-// 	return QgsRect(0,0,0,0);
-//     }
-// }
-// 
-
-GEOS_GEOM::Geometry* QgsFeature::geosGeometry() const
-{
-  return mGeometry->geosGeometry();
-}

Modified: packages/qgis/branches/upstream/current/src/core/qgsfeature.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfeature.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfeature.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,36 +12,44 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsfeature.h 6274 2006-12-18 06:06:48Z telwertowski $ */
+/* $Id: qgsfeature.h 6879 2007-04-11 11:46:35Z wonder $ */
 
 #ifndef QGSFEATURE_H
 #define QGSFEATURE_H
 
-//#include <geos.h>
-#include <qstring.h>
-#include <map>
-#include <vector>
+#include <QMap>
+#include <QString>
+#include <QVariant>
 
-#include "qgis.h"
+class QgsGeometry;
+class QgsRect;
 
-#include "qgsfeatureattribute.h"
-#include "qgsgeometry.h"
-//#include "qgspoint.h"
 
-class QgsRect;
+// key = field index, value = field value
+typedef QMap<int, QVariant> QgsAttributeMap;
 
-/** \class QgsFeature - Feature attribute class.
+// key = feature id, value = changed attributes
+typedef QMap<int, QgsAttributeMap> QgsChangedAttributesMap;
+
+// key = feature id, value = changed geometry
+typedef QMap<int, QgsGeometry> QgsGeometryMap;
+
+// key = field index, value = field name
+typedef QMap<int, QString> QgsFieldNameMap;
+
+
+/**
+ * @class QgsFeature - Feature attribute class.
  * Encapsulates a single feature including id and field/value.
- *@author Gary E.Sherman
+ *
+ * @author Gary E.Sherman
  */
+class CORE_EXPORT QgsFeature {
 
-class QgsFeature {
-
   public:
 
     //! Constructor
-    QgsFeature();
-    QgsFeature(int id, QString const & typeName = "" );
+    QgsFeature(int id = 0, QString typeName = "" );
 
     /** create a copy of this feature in its uncommitted state.
         To do this, you also pass in a reference to the feature's
@@ -51,9 +59,9 @@
         This is useful in the cut/copy routine, where you'd
         want a copy of the "current" feature, not the on-disk feature.
      */
-    QgsFeature( QgsFeature const & rhs,
-                std::map<int,std::map<QString,QString> > & changedAttributes,
-                std::map<int, QgsGeometry> & changedGeometries );
+    QgsFeature( const QgsFeature & rhs,
+                const QgsChangedAttributesMap & changedAttributes,
+                const QgsGeometryMap & changedGeometries );
 
     /** copy ctor needed due to internal pointer */
     QgsFeature( QgsFeature const & rhs );
@@ -80,44 +88,33 @@
 
     /** returns the feature's type name
      */
-     QString const & typeName() const;
+     QString typeName() const;
 
 
     /** sets the feature's type name
      */
-     void typeName( QString const & typeName );
+     void setTypeName(QString typeName);
 
     /**
      * Get the attributes for this feature.
      * @return A std::map containing the field name/value mapping
      */
-    const std::vector<QgsFeatureAttribute>& attributeMap();
+    const QgsAttributeMap& attributeMap() const;
 
     /** 
      * Add an attribute to the map
      */
-    void addAttribute(QString const & field, QString const & value = "", bool numeric = false);
+    void addAttribute(int field, QVariant attr);
 
     /**Deletes an attribute and its value*/
-    void deleteAttribute(const QString& name);
+    void deleteAttribute(int field);
 
     /**Changes an existing attribute value
-       @param name attribute name
-       @param newval new value*/
-    void changeAttributeValue(const QString& name, const QString& newval);
+       @param field index of the field
+       @param attr attribute name and value to be set */
+    void changeAttribute(int field, QVariant attr);
 
-    /**Changes an existing attribute name.  The value is unchanged.
-       @param name attribute name
-       @param newname new name*/
-    void changeAttributeName(const QString& name, const QString& newname);
-
     /**
-     * Get the fields for this feature
-     * @return A std::map containing field position (index) and field name
-     */
-    const std::map<int, QString>& fields();
-
-    /**
      * Return the validity of this feature. This is normally set by
      * the provider to indicate some problem that makes the feature
      * invalid or to indicate a null feature.
@@ -152,27 +149,13 @@
      */
     QgsGeometry * geometryAndOwnership();
     
-    /** gets the most recent in-memory version of the geometry (deprecated function in favour of geometry()) */
-    unsigned char * getGeometry() const;
-
-//     /** gets only the committed version of the geometry */
-//     unsigned char * getCommittedGeometry() const;
-//     
-//     /** gets the most recent in-memory version of the geometry only
-//         if it has been modified since committed (isDirty() == TRUE) */
-//     unsigned char * getModifiedGeometry() const;
-
-    size_t getGeometrySize() const;
-
-/*    size_t getCommittedGeometrySize() const;
-
-    size_t getModifiedGeometrySize() const;*/
-    
-    QString const& wellKnownText() const; 
-
     /** Set this feature's geometry from another QgsGeometry object (deep copy)
      */
     void setGeometry(QgsGeometry& geom);
+
+    /** Set this feature's geometry (takes geometry ownership)
+     */
+    void setGeometry(QgsGeometry* geom);
     
     /** 
      * Set this feature's geometry from WKB
@@ -181,73 +164,14 @@
      */
     void setGeometryAndOwnership(unsigned char * geom, size_t length);
     
-    /** Set bulk-modified WKB geometry 
-        \note   this function assumes the Geometry is not committed. 
-     */
-/*    void setModifiedGeometry(unsigned char * geom, size_t length);*/
-    
-    /** Insert a new vertex before the given vertex number,
-     *  ring and item (first number is index 0)
-     *  Not meaningful for Point geometries
-     */
-//     bool insertVertexBefore(double x, double y, int beforeVertex = 0, int atRing = 0, int atItem = 0);
-
-    /** Moves the vertex at the given position number,
-     *  ring and item (first number is index 0)
-     *  to the given coordinates
-     */
-/*    bool moveVertexAt(double x, double y, int atVertex = 0, int atRing = 0, int atItem = 0);*/
-    
-    /**
-     *  Modifies x and y to indicate the location of
-     *  the vertex at the given position number,
-     *  ring and item (first number is index 0)
-     *  to the given coordinates
-     */
-/*    bool vertexAt(double &x, double &y, int atVertex = 0, int atRing = 0, int atItem = 0) const;*/
-
-//     /**Test for intersection with a rectangle (uses GEOS)*/
-//     bool intersects(QgsRect* r) const;
-
-    /**Returns the Vertex closest to a given point*/
-//     QgsPoint closestVertex(const QgsPoint& point) const;
-
-    /** Returns the line segment closest to the given point in beforeVertex, atRing and atItem
-        Returns the SQUARE of the closest distance in minDist.
-        Returns the closest point on the line segment to the given point
-        
-                
-        TODO: point handling
-        TODO: const correctness
-     */
-//    QgsPoint closestSegment(QgsPoint& point, 
-//                            QgsPoint& segStart, QgsPoint& segStop,
-//                            double& minSqrDist);
-
-//     QgsPoint QgsFeature::closestSegmentWithContext(QgsPoint& point, 
-//                                                    int& beforeVertex, int& atRing, int& atItem,
-//                                                    double& minSqrDist);
-//                             
-//                             
-     /**Returns the bounding box of this feature*/
-     QgsRect boundingBox() const;
-// 
-     /** Creates a geos geometry from this features geometry. Note, that the returned object needs to be deleted.
-         @note  This function is deprecated - use geometry()->geosGeometry() instead.
-      */
-     GEOS_GEOM::Geometry* geosGeometry() const;
-
   private:
 
     //! feature id
     int mFid;
 
-    //! std::map containing field name/value pairs
-    std::vector<QgsFeatureAttribute> attributes;
+    /** map of attributes accessed by field index */
+    QgsAttributeMap mAttributes;
 
-    //! std::map containing the field index and name
-    std::map<int, QString> fieldNames;
-
     /** pointer to geometry in binary WKB format
 
        This is usually set by a call to OGRGeometry::exportToWkb()
@@ -259,41 +183,17 @@
      */ 
     bool mOwnsGeometry;   
 
-//     /** pointer to modified (dirty / uncommitted) geometry in binary WKB format
-//         This is only valid if isDirty().
-//      */
-//     unsigned char * modifiedGeometry;
-//     
-//     /** size of geometry */
-//     size_t geometrySize;
-// 
-//     /** size of modified geometry */
-//     size_t modifiedGeometrySize;
-
     //! Flag to indicate if this feature is valid
+    // TODO: still applies? [MD]
     bool mValid;
 
     //! Flag to indicate if this feature is dirty (e.g. geometry has been modified in-memory)
+    // TODO: still applies? [MD]
     bool mDirty;
 
     /// feature type name
     QString mTypeName;
 
-//     /**WKT representation of the geometry*/
-//     mutable QString mWKT;
-// 
-//     /**Exports the current WKB to mWKT
-//      @return true in case of success and false else*/
-//     bool exportToWKT(unsigned char * geom) const;
-//     bool exportToWKT() const;
-// 
-//     /** Squared distance from point to the given line segment 
-//      *  TODO: Perhaps move this to QgsPoint
-//      */
-//     double distanceSquaredPointToSegment(QgsPoint& point,
-//                                          double *x1, double *y1,
-//                                          double *x2, double *y2,
-//                                          QgsPoint& minDistPoint);
 
 }; // class QgsFeature
 

Deleted: packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,45 +0,0 @@
-/***************************************************************************
-                          qgsfeatureattribute.cpp  -  description
-                             -------------------
-    begin                : Mon Sep 01 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsfeatureattribute.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#include "qgsfeatureattribute.h"
-
-QgsFeatureAttribute::QgsFeatureAttribute(QString const & fld, QString const & val, bool num)
-    : field(fld), value(val), numeric(num)
-{
-}
-
-QgsFeatureAttribute::~QgsFeatureAttribute()
-{
-}
-
-
-QString const & QgsFeatureAttribute::fieldName() const 
-{
-  return field;
-}
-
-
-QString const & QgsFeatureAttribute::fieldValue() const 
-{
-  return value;
-}
-
-bool QgsFeatureAttribute::isNumeric() const
-{
-  return numeric;
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfeatureattribute.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,76 +0,0 @@
-/***************************************************************************
-                          qgsfeatureattribute.h  -  description
-                             -------------------
-    begin                : Mon Sep 01 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsfeatureattribute.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSFEATUREATTRIBUTE_H
-#define QGSFEATUREATTRIBUTE_H
-
-#include <qstring.h>
-
-/** \class QgsFeatureAttribute - Feature attribute class.
- * \brief Encapsulates a single feature attribute.
-  *@author Gary E.Sherman
-  */
-
-class QgsFeatureAttribute
-{
-public:
-
-  //! Constructor
-  QgsFeatureAttribute(QString const & field = 0, QString const & value = 0, bool num = false);
-
-  //! Destructor
-  ~QgsFeatureAttribute();
-
-  /**
-	* Get the field name for this feature attribute
-	* @return Field name
-	*/
-  QString const & fieldName() const;
-
-
-  /**
-	* Get the field value for this feature attribute
-	* @return Field value
-	*/
-  QString const & fieldValue() const;
-
-  /**
-  * Returns whether value is numeric or not
-  * @return Numeric flag
-  */
-  bool isNumeric() const;
-
-  void setFieldName(QString name){field=name;}
-
-  void setFieldValue(QString thevalue){value=thevalue;}
-
-  void setNumeric(bool num = true) { numeric=num; }
-
-private:
-
-  //! attribute field name
-  QString field;
-
-  //! attribute field value
-  QString value;
-
-  //! flag whether field is numeric
-  bool numeric;
-
-}; // class QgsFeatureAttribute
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsfield.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfield.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfield.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,9 +1,9 @@
 /***************************************************************************
-    qgsfield.cpp - Describes a field in a layer or table
-     --------------------------------------
-    Date                 : 01-Jan-2004
-    Copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
+			    qgsfield.cpp - Describes a field in a layer or table
+			     --------------------------------------
+			    Date                 : 01-Jan-2004
+			    Copyright            : (C) 2004 by Gary E.Sherman
+			    email                : sherman at mrcc.com
     
  ***************************************************************************
  *                                                                         *
@@ -13,7 +13,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsfield.cpp 5501 2006-06-01 10:33:19Z g_j_m $ */
+/* $Id: qgsfield.cpp 7204 2007-09-16 20:18:38Z gsherman $ */
 
 #include <iostream>
 #include "qgsfield.h"
@@ -22,42 +22,51 @@
 #include <iostream>
 
 static const char * const ident_ = 
-   "$Id: qgsfield.cpp 5501 2006-06-01 10:33:19Z g_j_m $";
+   "$Id: qgsfield.cpp 7204 2007-09-16 20:18:38Z gsherman $";
 
-
-QgsField::QgsField(QString nam, QString typ, int len, int prec, bool num)
-    :mName(nam), mType(typ), mLength(len), mPrecision(prec), mNumeric(num)
+/*
+QgsField::QgsField(QString nam, QString typ, int len, int prec, bool num,
+                   QString comment)
+    :mName(nam), mType(typ), mLength(len), mPrecision(prec), mNumeric(num),
+     mComment(comment)
 {
   // This function used to lower case the field name since some stores
   // use upper case (eg. shapefiles), but that caused problems with
   // attribute actions getting confused between uppercase and
   // lowercase versions of the attribute names, so just leave the
   // names how they are now.
+}*/
+
+QgsField::QgsField(QString name, QVariant::Type type, QString typeName, int len, int prec, QString comment)
+  : mName(name), mType(type), mTypeName(typeName),
+    mLength(len), mPrecision(prec), mComment(comment)
+{
 }
 
+
 QgsField::~QgsField()
 {
 }
 
-bool QgsField::operator==(const QgsField other) const
+bool QgsField::operator==(const QgsField& other) const
 {
-    return ((mName == other.mName) && (mType == other.mType)
+    return ((mName == other.mName) && (mType == other.mType) && (mTypeName == other.mTypeName)
 	    && (mLength == other.mLength) && (mPrecision == other.mPrecision));
 }
 
-bool QgsField::operator!=(const QgsField other) const
+const QString & QgsField::name() const
 {
-    return !(*this == other);
+  return mName;
 }
 
-QString const & QgsField::name() const
+QVariant::Type QgsField::type() const
 {
-  return mName;
+  return mType;
 }
 
-QString const & QgsField::type() const
+const QString & QgsField::typeName() const
 {
-  return mType;
+  return mTypeName;
 }
 
 int QgsField::length() const
@@ -70,20 +79,26 @@
   return mPrecision;
 }
 
-bool QgsField::isNumeric() const
+const QString & QgsField::comment() const
 {
-  return mNumeric;
+  return mComment;
 }
 
-void QgsField::setName(QString const & nam)
+void QgsField::setName(const QString & nam)
 {
   mName = nam;
 }
 
-void QgsField::setType(QString const & typ)
+void QgsField::setType(QVariant::Type type)
 {
-  mType = typ;
+  mType = type;
 }
+
+void QgsField::setTypeName(const QString & typeName)
+{
+  mTypeName = typeName;
+}
+
 void QgsField::setLength(int len)
 {
   mLength = len;
@@ -92,7 +107,8 @@
 {
   mPrecision = prec;
 }
-void QgsField::setNumeric(bool num)
+
+void QgsField::setComment(const QString & comment)
 {
-  mNumeric = num;
+  mComment = comment;
 }

Modified: packages/qgis/branches/upstream/current/src/core/qgsfield.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsfield.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsfield.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,12 +12,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsfield.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsfield.h 6833 2007-03-24 22:40:10Z wonder $ */
 
 #ifndef QGSFIELD_H
 #define QGSFIELD_H
 
-#include <qstring.h>
+#include <QString>
+#include <QVariant>
 
 /**
   \class QgsField
@@ -27,30 +28,38 @@
   length, and if applicable, precision.
  */
 
-class QgsField
+class CORE_EXPORT QgsField
 {
 public:
     /** Constructor. Constructs a new QgsField object.
      * @param nam Field name
-     * @param typ Field type (eg. char, varchar, text, int, serial, double). 
+     * @param type Field variant type, currently supported: String / Int / Double
+     * @param typeName Field type (eg. char, varchar, text, int, serial, double). 
      Field types are usually unique to the source and are stored exactly
      as returned from the data store.
      * @param len Field length
      * @param prec Field precision. Usually decimal places but may also be
      * used in conjunction with other fields types (eg. variable character fields)
-     * @param num Has to be true if field contains numeric values.
+     * @param comment Comment for the field
      */
-  QgsField(QString nam = "", QString typ = "", int len = 0, int prec = 0, bool num = false);
+  
+  QgsField(QString name = QString(),
+           QVariant::Type type = QVariant::Invalid,
+           QString typeName = QString(),
+           int len = 0,
+           int prec = 0,
+           QString comment = QString());
 
   //! Destructor
    ~QgsField();
 
-   bool operator==(const QgsField other) const;
-   bool operator!=(const QgsField other) const;
+   bool operator==(const QgsField& other) const;
 
   //! Gets the name of the field
-  QString const & name() const;
+  const QString & name() const;
 
+  //! Gets variant type of the field as it will be retreived from data source
+  QVariant::Type type() const;
 
     /** 
       Gets the field type. Field types vary depending on the data source. Examples
@@ -58,7 +67,7 @@
       the data store reports it, with no attenpt to standardize the value.
       @return QString containing the field type
      */
-  QString const & type() const;
+  const QString & typeName() const;
 
 
     /**
@@ -74,23 +83,27 @@
      */
   int precision() const;
 
-    /**
-     Returns true if field contains numeric values. This information is set by provider.
-     */
-  bool isNumeric() const;
+    /** 
+    Returns the field comment
+    */
+  const QString & comment() const;
 
-
     /**
       Set the field name.
       @param nam Name of the field
      */
-  void setName(QString const & nam);
+  void setName(const QString & nam);
+  
+    /**
+      Set variant type.
+     */
+  void setType(QVariant::Type type);
 
     /**
       Set the field type.
       @param typ Field type
      */
-  void setType(QString const & typ);
+  void setTypeName(const QString & typ);
 
     /**
       Set the field length.
@@ -104,18 +117,22 @@
      */
   void setPrecision(int prec);
 
+
     /**
-      Set whether field is numeric
+      Set the field comment
       */
-  void setNumeric(bool num);
+  void setComment(const QString & comment);
 
 private:
 
   //! Name
   QString mName;
+  
+  //! Variant type
+  QVariant::Type mType;
 
-  //! Type
-  QString mType;
+  //! Type name from provider
+  QString mTypeName;
 
   //! Length
   int mLength;
@@ -123,8 +140,8 @@
   //! Precision
   int mPrecision;
 
-  //! Numeric
-  bool mNumeric;
+  //! Comment
+  QString mComment;
 
 }; // class QgsField
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsgeometry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsgeometry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsgeometry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,44 +12,44 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgeometry.cpp 6274 2006-12-18 06:06:48Z telwertowski $ */
+/* $Id: qgsgeometry.cpp 7059 2007-07-04 15:43:44Z timlinux $ */
 
 #include <limits>
 
+
 #include "qgis.h"
 #include "qgsgeometry.h"
+#include "qgsapplication.h"
+#include "qgsgeometryvertexindex.h"
 #include "qgslogger.h"
+#include "qgspoint.h"
+#include "qgsrect.h"
 
-
 // Set up static GEOS geometry factory
-GEOS_GEOM::GeometryFactory* QgsGeometry::geosGeometryFactory = new GEOS_GEOM::GeometryFactory();
+static GEOS_GEOM::GeometryFactory* geosGeometryFactory = new GEOS_GEOM::GeometryFactory();
 
 
 QgsGeometry::QgsGeometry()
   : mGeometry(0),
-    mGeometrySize(0),
-    mWkt(0),
-    mGeos(0),
-    
-    mDirtyWkb(FALSE),
-    mDirtyWkt(FALSE),
-    mDirtyGeos(FALSE)
+  mGeometrySize(0),
+  mGeos(0),
+
+  mDirtyWkb(FALSE),
+mDirtyGeos(FALSE)
 {
   // NOOP
 }    
 
 
 QgsGeometry::QgsGeometry( QgsGeometry const & rhs )
-    : mGeometry(0),
-      mGeometrySize( rhs.mGeometrySize ),
-      mWkt( rhs.mWkt ),
-      
-      mDirtyWkb( rhs.mDirtyWkb ),
-      mDirtyWkt( rhs.mDirtyWkt ),
-      mDirtyGeos( rhs.mDirtyGeos )
+  : mGeometry(0),
+  mGeometrySize( rhs.mGeometrySize ),
+
+  mDirtyWkb( rhs.mDirtyWkb ),
+mDirtyGeos( rhs.mDirtyGeos )
 {      
-  
-  
+
+
   if ( mGeometrySize && rhs.mGeometry )
   {
     mGeometry = new unsigned char[mGeometrySize];
@@ -59,7 +59,23 @@
   // deep-copy the GEOS Geometry if appropriate
   if (rhs.mGeos)
   {  
-    mGeos = rhs.mGeos->clone();
+    if(rhs.mGeos->getGeometryTypeId() == GEOS_GEOM::GEOS_MULTIPOLYGON)//MH:problems with cloning for multipolygons in geos 2
+      {
+	GEOS_GEOM::MultiPolygon* multiPoly = dynamic_cast<GEOS_GEOM::MultiPolygon*>(rhs.mGeos);
+	if(multiPoly)
+	  {
+	    std::vector<GEOS_GEOM::Geometry*> polygonVector;
+	    for(GEOS_SIZE_T i = 0; i < multiPoly->getNumGeometries(); ++i)
+	      {
+		polygonVector.push_back((GEOS_GEOM::Geometry*)(multiPoly->getGeometryN(i)));
+	      }
+	    mGeos = geosGeometryFactory->createMultiPolygon(polygonVector);
+	  }
+      }
+    else
+      {
+	mGeos = rhs.mGeos->clone();
+      }
   }
   else
   {
@@ -67,7 +83,108 @@
   }    
 }
 
+QgsGeometry* QgsGeometry::fromWkt(QString wkt)
+{
+  GEOS_IO::WKTReader reader(geosGeometryFactory);
+  GEOS_GEOM::Geometry* geom = reader.read(wkt.toLocal8Bit().data());
+  QgsGeometry* g = new QgsGeometry;
+  g->setGeos(geom);
+  return g;
+}
 
+QgsGeometry* QgsGeometry::fromPoint(const QgsPoint& point)
+{
+  GEOS_GEOM::Coordinate coord = GEOS_GEOM::Coordinate(point.x(), point.y());
+  GEOS_GEOM::Geometry* geom = geosGeometryFactory->createPoint(coord);
+  QgsGeometry* g = new QgsGeometry;
+  g->setGeos(geom);
+  return g;
+}
+
+QgsGeometry* QgsGeometry::fromPolyline(const QgsPolyline& polyline)
+{
+  const GEOS_GEOM::CoordinateSequenceFactory* seqFactory = GEOS_GEOM::COORD_SEQ_FACTORY::instance();
+  GEOS_GEOM::CoordinateSequence* seq = seqFactory->create(polyline.count(), 2);
+
+  QgsPolyline::const_iterator it;
+  int i = 0;
+  for (it = polyline.begin(); it != polyline.end(); ++it)
+  {
+    seq->setAt(GEOS_GEOM::Coordinate(it->x(), it->y()), i++);
+  }
+
+  // new geometry takes ownership of the sequence
+  GEOS_GEOM::Geometry* geom = geosGeometryFactory->createLineString(seq);
+  QgsGeometry* g = new QgsGeometry;
+  g->setGeos(geom);
+  return g;
+}
+
+static GEOS_GEOM::LinearRing* _createGeosLinearRing(const QgsPolyline& ring)
+{
+  // LinearRing in GEOS must have the first point the same as the last one
+  bool needRepeatLastPnt = (ring[0] != ring[ring.count()-1]);
+
+  const GEOS_GEOM::CoordinateSequenceFactory* seqFactory = GEOS_GEOM::COORD_SEQ_FACTORY::instance();
+
+  GEOS_GEOM::CoordinateSequence* seq = seqFactory->create(ring.count() + (needRepeatLastPnt ? 1 : 0), 2);
+  QgsPolyline::const_iterator it;
+  int i = 0;
+  for (it = ring.begin(); it != ring.end(); ++it)
+  {
+    seq->setAt(GEOS_GEOM::Coordinate(it->x(), it->y()), i++);
+  }
+  
+  // add the first point to close the ring if needed
+  if (needRepeatLastPnt)
+    seq->setAt(GEOS_GEOM::Coordinate(ring[0].x(), ring[0].y()), ring.count());
+  
+  // ring takes ownership of the sequence
+  GEOS_GEOM::LinearRing* linRing = geosGeometryFactory->createLinearRing(seq);
+  
+  return linRing;
+}
+
+QgsGeometry* QgsGeometry::fromPolygon(const QgsPolygon& polygon)
+{
+  if (polygon.count() == 0)
+    return NULL;
+  
+  const QgsPolyline& ring0 = polygon[0];
+  
+  // outer ring
+  GEOS_GEOM::LinearRing* outerRing = _createGeosLinearRing(ring0);
+  
+  // holes
+  std::vector<GEOS_GEOM::Geometry*>* holes = new std::vector<GEOS_GEOM::Geometry*> (polygon.count()-1);
+  for (int i = 1; i < polygon.count(); i++)
+  {
+    (*holes)[i-1] = _createGeosLinearRing(polygon[i]);
+  }
+
+  // new geometry takes ownership of outerRing and vector of holes
+  GEOS_GEOM::Geometry* geom = geosGeometryFactory->createPolygon(outerRing, holes);
+  QgsGeometry* g = new QgsGeometry;
+  g->setGeos(geom);
+  return g;
+}
+
+QgsGeometry* QgsGeometry::fromRect(const QgsRect& rect)
+{
+  QgsPolyline ring;
+  ring.append(QgsPoint(rect.xMin(), rect.yMin()));
+  ring.append(QgsPoint(rect.xMax(), rect.yMin()));
+  ring.append(QgsPoint(rect.xMax(), rect.yMax()));
+  ring.append(QgsPoint(rect.xMin(), rect.yMax()));
+  ring.append(QgsPoint(rect.xMin(), rect.yMin()));
+
+  QgsPolygon polygon;
+  polygon.append(ring);
+
+  return fromPolygon(polygon);
+}
+
+
 QgsGeometry & QgsGeometry::operator=( QgsGeometry const & rhs )
 {
   if ( &rhs == this )
@@ -78,17 +195,32 @@
   // remove old geometry if it exists
   if ( mGeometry )
   {
-      delete [] mGeometry;
-      mGeometry = 0;
+    delete [] mGeometry;
+    mGeometry = 0;
   }
-  
+
   mGeometrySize    = rhs.mGeometrySize;
-  mWkt             = rhs.mWkt;
 
   // deep-copy the GEOS Geometry if appropriate
   if (rhs.mGeos)
   {  
-    mGeos = rhs.mGeos->clone();
+    if(rhs.mGeos->getGeometryTypeId() == GEOS_GEOM::GEOS_MULTIPOLYGON)//MH:problems with cloning for multipolygons in geos 2
+      {
+	GEOS_GEOM::MultiPolygon* multiPoly = dynamic_cast<GEOS_GEOM::MultiPolygon*>(rhs.mGeos);
+	if(multiPoly)
+	  {
+	    std::vector<GEOS_GEOM::Geometry*> polygonVector;
+	    for(GEOS_SIZE_T i = 0; i < multiPoly->getNumGeometries(); ++i)
+	      {
+		polygonVector.push_back((GEOS_GEOM::Geometry*)(multiPoly->getGeometryN(i)));
+	      }
+	    mGeos = geosGeometryFactory->createMultiPolygon(polygonVector);
+	  }
+      }
+    else
+      {
+	mGeos = rhs.mGeos->clone();
+      }
   }
   else
   {
@@ -97,14 +229,13 @@
 
   mDirtyGeos = rhs.mDirtyGeos;
   mDirtyWkb  = rhs.mDirtyWkb;
-  mDirtyWkt  = rhs.mDirtyWkt;
 
   if ( mGeometrySize && rhs.mGeometry )
   {
-      mGeometry = new unsigned char[mGeometrySize];
-      memcpy( mGeometry, rhs.mGeometry, mGeometrySize );
+    mGeometry = new unsigned char[mGeometrySize];
+    memcpy( mGeometry, rhs.mGeometry, mGeometrySize );
   }
-  
+
   return *this;
 } // QgsGeometry::operator=( QgsGeometry const & rhs )
 
@@ -112,15 +243,11 @@
 //! Destructor
 QgsGeometry::~QgsGeometry()
 {
-#ifdef QGISDEBUG
-//      std::cout << "QgsGeometry::~QgsGeometry: deleting with mGeometry " << mGeometry << " and mGeos " << mGeos
-//                << "." << std::endl;
-#endif
   if (mGeometry)
   {
     delete [] mGeometry;
   }
-  
+
   if (mGeos)
   {
     delete mGeos;
@@ -136,62 +263,83 @@
     delete [] mGeometry;
     mGeometry = 0;
   }
+  if (mGeos)
+  {
+    delete mGeos;
+    mGeos = 0;
+  }
 
-  // TODO: What about ownership?
-  
   mGeometry = wkb;
   mGeometrySize = length;
 
   mDirtyWkb   = FALSE;
   mDirtyGeos  = TRUE;
-  mDirtyWkt   = TRUE;
 
 }
-    
-unsigned char * QgsGeometry::wkbBuffer() const
+
+unsigned char * QgsGeometry::wkbBuffer()
 {
   if (mDirtyWkb)
   {
-    // see which geometry representation to convert from
-    if (mDirtyWkt)
-    {
-      // convert from GEOS
-      exportGeosToWkb();
-    }
-    else
-    {
-      // TODO
-    }
+    // convert from GEOS
+    exportGeosToWkb();
   }
 
   return mGeometry;
 }
-    
-size_t QgsGeometry::wkbSize() const
+
+size_t QgsGeometry::wkbSize()
 {
+  if (mDirtyWkb)
+  {
+    exportGeosToWkb();
+  }
+
   return mGeometrySize;
 }
 
 
-QString const& QgsGeometry::wkt() const
+QGis::WKBTYPE QgsGeometry::wkbType()
 {
-  if (mDirtyWkt)
-  {
-    // see which geometry representation to convert from
-    if (mDirtyGeos)
-    {
-      // convert from WKB
-      exportToWkt();
-    }
-    else
-    {
-      // TODO
-    }
-  }
+  unsigned char *geom = wkbBuffer(); // ensure that wkb representation exists
+  unsigned int wkbType;
+  memcpy(&wkbType, (geom+1), sizeof(wkbType));
 
-  return mWkt;
+  return (QGis::WKBTYPE) wkbType;
 }
 
+
+QGis::VectorType QgsGeometry::vectorType()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type == QGis::WKBPoint || type == QGis::WKBPoint25D ||
+      type == QGis::WKBMultiPoint || type == QGis::WKBMultiPoint25D)
+    return QGis::Point;
+  if (type == QGis::WKBLineString || type == QGis::WKBLineString25D ||
+      type == QGis::WKBMultiLineString || type == QGis::WKBMultiLineString25D)
+    return QGis::Line;
+  if (type == QGis::WKBPolygon || type == QGis::WKBPolygon25D ||
+      type == QGis::WKBMultiPolygon || type == QGis::WKBMultiPolygon25D)
+    return QGis::Polygon;
+
+  return QGis::Unknown;
+}
+
+bool QgsGeometry::isMultipart()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type == QGis::WKBMultiPoint ||
+      type == QGis::WKBMultiPoint25D ||
+      type == QGis::WKBMultiLineString ||
+      type == QGis::WKBMultiLineString25D ||
+      type == QGis::WKBMultiPolygon ||
+      type == QGis::WKBMultiPolygon25D)
+    return true;
+
+  return false;
+}
+
+
 void QgsGeometry::setGeos(GEOS_GEOM::Geometry* geos)
 {
   // TODO - make this more heap-friendly
@@ -201,265 +349,297 @@
     delete mGeos;
     mGeos = 0;
   }
+  if (mGeometry)
+  {
+    delete mGeometry;
+    mGeometry = 0;
+  }
 
   mGeos = geos;
 
-#ifdef QGISDEBUG
-  //std::cout << "QgsGeometry::setGeos: setting Geos = '" << mGeos->toString() << "'." << std::endl;
-#endif
-
-
   mDirtyWkb   = TRUE;
   mDirtyGeos  = FALSE;
-  mDirtyWkt   = TRUE;
-
 }
 
-QgsPoint QgsGeometry::closestVertex(const QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex, double& sqrDist) const
+QgsPoint QgsGeometry::closestVertex(const QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex, double& sqrDist)
 {
+  // TODO: implement with GEOS
   if(mDirtyWkb)
-    {
-      exportGeosToWkb();
-    }
+  {
+    exportGeosToWkb();
+  }
 
-    if(mGeometry)
-    {
-      int vertexnr;
-      int vertexcounter = 0;
-	int wkbType;
-	double actdist = std::numeric_limits<double>::max();
-	double x,y;
-	double *tempx,*tempy;
-	memcpy(&wkbType, (mGeometry+1), sizeof(int));
-	beforeVertex = -1;
-	afterVertex = -1;
+  if (!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return QgsPoint(0,0);
+  }
 
-	switch (wkbType)
-	{
-	    case QGis::WKBPoint:
-		x = *((double *) (mGeometry + 5));
-		y = *((double *) (mGeometry + 5 + sizeof(double)));
-		actdist = point.sqrDist(x, y);
-		vertexnr = 0;
-		break;
+  int vertexnr;
+  int vertexcounter = 0;
+  QGis::WKBTYPE wkbType;
+  double actdist = std::numeric_limits<double>::max();
+  double x=0;
+  double y=0;
+  double *tempx,*tempy;
+  memcpy(&wkbType, (mGeometry+1), sizeof(int));
+  beforeVertex = -1;
+  afterVertex = -1;
+  bool hasZValue = false;
 
-	    case QGis::WKBLineString:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npoints=(int*)ptr;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npoints;++index)
-		{
-		    tempx = (double*)ptr;
-		    ptr+=sizeof(double);
-		    tempy = (double*)ptr;
-		    if(point.sqrDist(*tempx,*tempy)<actdist)
-		    {
-			x=*tempx;
-			y=*tempy;
-			actdist=point.sqrDist(*tempx,*tempy);
-			vertexnr = index;
-			if(index == 0)//assign the rubber band indices
-			  {
-			    beforeVertex = -1;
-			  }
-			else
-			  {
-			    beforeVertex = index-1;
-			  }
-			if(index == (*npoints - 1))
-			  {
-			    afterVertex = -1;
-			  }
-			else
-			  {
-			    afterVertex = index+1;
-			  }
-		    }
-		    ptr+=sizeof(double);
-		}
-		break;
-	    }
-	    case QGis::WKBPolygon:
-	    {
-		int* nrings=(int*)(mGeometry+5);
-		int* npoints;
-		unsigned char* ptr=mGeometry+9;
-		for(int index=0;index<*nrings;++index)
-		{
-		    npoints=(int*)ptr;
-		    ptr+=sizeof(int);
-		    for(int index2=0;index2<*npoints;++index2)
-		    {
-			tempx=(double*)ptr;
-			ptr+=sizeof(double);
-			tempy=(double*)ptr;
-			if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			    x=*tempx;
-			    y=*tempy;
-			    actdist=point.sqrDist(*tempx,*tempy);
-			    vertexnr = vertexcounter;
-			    //assign the rubber band indices
-			    if(index2 == 0)
-			      {
-				beforeVertex = vertexcounter+(*npoints-2);
-				afterVertex = vertexcounter+1;
-			      }
-			    else if(index2 == (*npoints-1))
-			      {
-				beforeVertex = vertexcounter-1;
-				afterVertex = vertexcounter - (*npoints-2);
-			      }
-			    else
-			      {
-				beforeVertex = vertexcounter-1;
-				afterVertex = vertexcounter+1;
-			      }
-			}
-			ptr+=sizeof(double);
-			++vertexcounter;
-		    }
-		}
-	    }
-		break;
+  switch (wkbType)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBPoint:
+      {
+        x = *((double *) (mGeometry + 5));
+        y = *((double *) (mGeometry + 5 + sizeof(double)));
+        actdist = point.sqrDist(x, y);
+        vertexnr = 0;
+        break;
+      }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
+    case QGis::WKBLineString:
+      {
+        unsigned char* ptr=mGeometry+5;
+        int* npoints=(int*)ptr;
+        ptr+=sizeof(int);
+        for(int index=0;index<*npoints;++index)
+        {
+          tempx = (double*)ptr;
+          ptr+=sizeof(double);
+          tempy = (double*)ptr;
+          if(point.sqrDist(*tempx,*tempy)<actdist)
+          {
+            x=*tempx;
+            y=*tempy;
+            actdist=point.sqrDist(*tempx,*tempy);
+            vertexnr = index;
+            if(index == 0)//assign the rubber band indices
+            {
+              beforeVertex = -1;
+            }
+            else
+            {
+              beforeVertex = index-1;
+            }
+            if(index == (*npoints - 1))
+            {
+              afterVertex = -1;
+            }
+            else
+            {
+              afterVertex = index+1;
+            }
+          }
+          ptr+=sizeof(double);
+          if(hasZValue) //skip z-coordinate for 25D geometries
+          {
+            ptr += sizeof(double);
+          }
+        }
+        break;
+      }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon:
+      {
+        int* nrings=(int*)(mGeometry+5);
+        int* npoints;
+        unsigned char* ptr=mGeometry+9;
+        for(int index=0;index<*nrings;++index)
+        {
+          npoints=(int*)ptr;
+          ptr+=sizeof(int);
+          for(int index2=0;index2<*npoints;++index2)
+          {
+            tempx=(double*)ptr;
+            ptr+=sizeof(double);
+            tempy=(double*)ptr;
+            if(point.sqrDist(*tempx,*tempy)<actdist)
+            {
+              x=*tempx;
+              y=*tempy;
+              actdist=point.sqrDist(*tempx,*tempy);
+              vertexnr = vertexcounter;
+              //assign the rubber band indices
+              if(index2 == 0)
+              {
+                beforeVertex = vertexcounter+(*npoints-2);
+                afterVertex = vertexcounter+1;
+              }
+              else if(index2 == (*npoints-1))
+              {
+                beforeVertex = vertexcounter-1;
+                afterVertex = vertexcounter - (*npoints-2);
+              }
+              else
+              {
+                beforeVertex = vertexcounter-1;
+                afterVertex = vertexcounter+1;
+              }
+            }
+            ptr+=sizeof(double);
+            if(hasZValue) //skip z-coordinate for 25D geometries
+            {
+              ptr += sizeof(double);
+            }
+            ++vertexcounter;
+          }
+        }
+        break; 
+      }
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
+    case QGis::WKBMultiPoint:
+      {
+        unsigned char* ptr=mGeometry+5;
+        int* npoints=(int*)ptr;
+        ptr+=sizeof(int);
+        for(int index=0;index<*npoints;++index)
+        {
+          ptr += (1+sizeof(int)); //skip endian and point type
+          tempx=(double*)ptr;
+          tempy=(double*)(ptr+sizeof(double));
+          if(point.sqrDist(*tempx,*tempy)<actdist)
+          {
+            x=*tempx;
+            y=*tempy;
+            actdist=point.sqrDist(*tempx,*tempy);
+            vertexnr = index;
+          }
+          ptr+=(2*sizeof(double));
+          if(hasZValue) //skip z-coordinate for 25D geometries
+          {
+            ptr += sizeof(double);
+          }
+        }
+        break;
+      }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
+    case QGis::WKBMultiLineString:
+      {
+        unsigned char* ptr=mGeometry+5;
+        int* nlines=(int*)ptr;
+        int* npoints = 0;
+        ptr+=sizeof(int);
+        for(int index=0;index<*nlines;++index)
+        {
+          ptr += (sizeof(int) + 1);
+          npoints=(int*)ptr;
+          ptr+=sizeof(int);
+          for(int index2=0;index2<*npoints;++index2)
+          {
+            tempx=(double*)ptr;
+            ptr+=sizeof(double);
+            tempy=(double*)ptr;
+            ptr+=sizeof(double);
+            if(point.sqrDist(*tempx,*tempy)<actdist)
+            {
+              x=*tempx;
+              y=*tempy;
+              actdist=point.sqrDist(*tempx,*tempy);
+              vertexnr = vertexcounter;
 
-	    case QGis::WKBMultiPoint:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npoints=(int*)ptr;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npoints;++index)
-		{
-		  ptr += (1+sizeof(int)); //skip endian and point type
-		    tempx=(double*)ptr;
-		    tempy=(double*)(ptr+sizeof(double));
-		    if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			    x=*tempx;
-			    y=*tempy;
-			    actdist=point.sqrDist(*tempx,*tempy);
-			    vertexnr = index;
-			}
-		    ptr+=(2*sizeof(double));
-		}
-	    }
-		break;
+              if(index2 == 0)//assign the rubber band indices
+              {
+                beforeVertex = -1;
+              }
+              else
+              {
+                beforeVertex = vertexnr-1;
+              }
+              if(index2 == (*npoints)-1)
+              {
+                afterVertex = -1;
+              }
+              else
+              {
+                afterVertex = vertexnr+1;
+              }
+            }
+            if(hasZValue) //skip z-coordinate for 25D geometries
+            {
+              ptr += sizeof(double);
+            }
+            ++vertexcounter;
+          }
+        }
+        break;
+      }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
+    case QGis::WKBMultiPolygon:
+      {
+        unsigned char* ptr=mGeometry+5;
+        int* npolys=(int*)ptr;
+        int* nrings;
+        int* npoints;
+        ptr+=sizeof(int);
+        for(int index=0;index<*npolys;++index)
+        {
+          ptr += (1 + sizeof(int)); //skip endian and polygon type
+          nrings=(int*)ptr;
+          ptr+=sizeof(int);
+          for(int index2=0;index2<*nrings;++index2)
+          {
+            npoints=(int*)ptr;
+            ptr+=sizeof(int);
+            for(int index3=0;index3<*npoints;++index3)
+            {
+              tempx=(double*)ptr;
+              ptr+=sizeof(double);
+              tempy=(double*)ptr;
+              if(point.sqrDist(*tempx,*tempy)<actdist)
+              {
+                x=*tempx;
+                y=*tempy;
+                actdist=point.sqrDist(*tempx,*tempy);
+                vertexnr = vertexcounter;
 
-	    case QGis::WKBMultiLineString:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* nlines=(int*)ptr;
-		int* npoints = 0;
-		ptr+=sizeof(int);
-		for(int index=0;index<*nlines;++index)
-		{
-		  ptr += (sizeof(int) + 1);
-		  npoints=(int*)ptr;
-		  ptr+=sizeof(int);
-		  for(int index2=0;index2<*npoints;++index2)
-		    {
-		      tempx=(double*)ptr;
-		      ptr+=sizeof(double);
-		      tempy=(double*)ptr;
-		      ptr+=sizeof(double);
-		      if(point.sqrDist(*tempx,*tempy)<actdist)
-			{
-			  x=*tempx;
-			  y=*tempy;
-			  actdist=point.sqrDist(*tempx,*tempy);
-			  vertexnr = vertexcounter;
-
-			  if(index2 == 0)//assign the rubber band indices
-			    {
-			      beforeVertex = -1;
-			    }
-			  else
-			    {
-			      beforeVertex = vertexnr-1;
-			    }
-			  if(index2 == (*npoints)-1)
-			    {
-			      afterVertex = -1;
-			    }
-			  else
-			    {
-			      afterVertex = vertexnr+1;
-			    }
-			}
-		      ++vertexcounter;
-		    }
-		}
-	    }
-	    break;
-
-	    case QGis::WKBMultiPolygon:
-	    {
-		unsigned char* ptr=mGeometry+5;
-		int* npolys=(int*)ptr;
-		int* nrings;
-		int* npoints;
-		ptr+=sizeof(int);
-		for(int index=0;index<*npolys;++index)
-		{
-		  ptr += (1 + sizeof(int)); //skip endian and polygon type
-		    nrings=(int*)ptr;
-		    ptr+=sizeof(int);
-		    for(int index2=0;index2<*nrings;++index2)
-		    {
-			npoints=(int*)ptr;
-			ptr+=sizeof(int);
-			for(int index3=0;index3<*npoints;++index3)
-			{
-			   tempx=(double*)ptr;
-			   ptr+=sizeof(double);
-			   tempy=(double*)ptr;
-			   if(point.sqrDist(*tempx,*tempy)<actdist)
-			   {
-			       x=*tempx;
-			       y=*tempy;
-			       actdist=point.sqrDist(*tempx,*tempy);
-			       vertexnr = vertexcounter;
-			       
-			       //assign the rubber band indices
-			       if(index3 == 0)
-				 {
-				   beforeVertex = vertexcounter+(*npoints-2);
-				   afterVertex = vertexcounter+1;
-				 }
-			       else if(index3 == (*npoints-1))
-				 {
-				   beforeVertex = vertexcounter-1;
-				   afterVertex = vertexcounter - (*npoints-2);
-				 }
-			       else
-				 {
-				   beforeVertex = vertexcounter-1;
-				   afterVertex = vertexcounter+1;
-				 }
-			   }
-			   ptr+=sizeof(double); 
-			   ++vertexcounter;
-			}
-		    }
-		}
-	    }
-		break;
-
-	    default:
-		break;
-	}
-	sqrDist = actdist;
-	atVertex.clear();
-	atVertex.push_back(vertexnr);
-	return QgsPoint(x,y);    
-    }
-    return QgsPoint(0,0);
+                //assign the rubber band indices
+                if(index3 == 0)
+                {
+                  beforeVertex = vertexcounter+(*npoints-2);
+                  afterVertex = vertexcounter+1;
+                }
+                else if(index3 == (*npoints-1))
+                {
+                  beforeVertex = vertexcounter-1;
+                  afterVertex = vertexcounter - (*npoints-2);
+                }
+                else
+                {
+                  beforeVertex = vertexcounter-1;
+                  afterVertex = vertexcounter+1;
+                }
+              }
+              ptr+=sizeof(double); 
+              if(hasZValue) //skip z-coordinate for 25D geometries
+              {
+                ptr += sizeof(double);
+              }
+              ++vertexcounter;
+            }
+          }
+        }
+        break;
+      }
+    default:
+      break;
+  }
+  sqrDist = actdist;
+  atVertex.clear();
+  atVertex.push_back(vertexnr);
+  return QgsPoint(x,y);    
 }
 
 
-void QgsGeometry::adjacentVerticies(const QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex) const
+void QgsGeometry::adjacentVerticies(const QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex)
 {
+  // TODO: implement with GEOS
   if(mDirtyWkb)
   {
     exportGeosToWkb();
@@ -468,23 +648,28 @@
   beforeVertex = -1;
   afterVertex = -1;
 
-  if (mGeometry)
+  if (!mGeometry)
   {
-    int vertexcounter = 0;
+    QgsDebugMsg("WKB geometry not available!");
+    return;
+  }
 
-    int wkbType;
+  int vertexcounter = 0;
 
-    memcpy(&wkbType, (mGeometry+1), sizeof(int));
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
 
-    switch (wkbType)
-    {
-      case QGis::WKBPoint:
+  memcpy(&wkbType, (mGeometry+1), sizeof(int));
+
+  switch (wkbType)
+  {
+    case QGis::WKBPoint:
       {
         // NOOP - Points do not have adjacent verticies
         break;
       }
-
-      case QGis::WKBLineString:
+    case QGis::WKBLineString25D:
+    case QGis::WKBLineString:
       {
         unsigned char* ptr = mGeometry+5;
         int* npoints = (int*) ptr;
@@ -513,7 +698,9 @@
 
         break;
       }
-      case QGis::WKBPolygon:
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon:
       {
         int* nrings=(int*)(mGeometry+5);
         int* npoints;
@@ -530,19 +717,12 @@
           {
             ptr += sizeof(double);
             ptr += sizeof(double);
-
+            if(hasZValue) //skip z-coordinate for 25D geometries
+            {
+              ptr += sizeof(double);
+            }
             if (vertexcounter == atVertex.back())
-            // TODO: The above is deprecated as it doesn't allow for multiple linear rings in the polygon.
-            // replace with the below when the rest of QgsGeometry is migrated to a GEOS back-end.
-            //if (
-            //    (index0 == atVertex.get_at(0)) &&
-            //    (index1 == atVertex.get_at(1))
-            //   )
-            {
-              // Found the vertex of the linear-ring we were looking for.
-
-              // assign the rubber band indices
-
+            { 
               if(index1 == 0)
               {
                 beforeVertex = vertexcounter+(*npoints-2);
@@ -565,14 +745,16 @@
         }
         break;
       }
-
-      case QGis::WKBMultiPoint:
+    case QGis::WKBMultiPoint25D:
+    case QGis::WKBMultiPoint:
       {
         // NOOP - Points do not have adjacent verticies
         break;
       }
 
-      case QGis::WKBMultiLineString:
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
+    case QGis::WKBMultiLineString:
       {
         unsigned char* ptr=mGeometry+5;
         int* nlines=(int*)ptr;
@@ -589,44 +771,39 @@
           {
             ptr+=sizeof(double);
             ptr+=sizeof(double);
+            if(hasZValue) //skip z-coordinate for 25D geometries
+            {
+              ptr += sizeof(double);
+            }
 
             if (vertexcounter == atVertex.back())
-            // TODO: The above is deprecated as it doesn't allow for account for all ends of lines.
-            // replace with the below when the rest of QgsGeometry is migrated to a GEOS back-end.
-            //if (
-            //    (index0 == atVertex.get_at(0)) &&
-            //    (index1 == atVertex.get_at(1))
-            //   )
             {
               // Found the vertex of the linestring we were looking for.
-
-              // assign the rubber band indices
-
               if(index1 == 0)
-                {
-                  beforeVertex = -1;
-                }
+              {
+                beforeVertex = -1;
+              }
               else
-                {
-                  beforeVertex = vertexcounter-1;
-                }
+              {
+                beforeVertex = vertexcounter-1;
+              }
               if(index1 == (*npoints)-1)
-                {
-                  afterVertex = -1;
-                }
+              {
+                afterVertex = -1;
+              }
               else
-                {
-                  afterVertex = vertexcounter+1;
-                }
+              {
+                afterVertex = vertexcounter+1;
               }
+            }
             ++vertexcounter;
           }
         }
-
         break;
       }
-
-      case QGis::WKBMultiPolygon:
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
+    case QGis::WKBMultiPolygon:
       {
         unsigned char* ptr=mGeometry+5;
         int* npolys=(int*)ptr;
@@ -649,18 +826,13 @@
             {
               ptr += sizeof(double);
               ptr += sizeof(double);
-
+              if(hasZValue) //skip z-coordinate for 25D geometries
+              {
+                ptr += sizeof(double);
+              }
               if (vertexcounter == atVertex.back())
-              // TODO: The above is deprecated as it doesn't allow for multiple linear rings in the polygon.
-              // replace with the below when the rest of QgsGeometry is migrated to a GEOS back-end.
-              //if (
-              //    (index0 == atVertex.get_at(0)) &&
-              //    (index1 == atVertex.get_at(1)) &&
-              //    (index2 == atVertex.get_at(2))
-              //    )
               {
                 // Found the vertex of the linear-ring of the polygon we were looking for.
-
                 // assign the rubber band indices
 
                 if(index2 == 0)
@@ -687,19 +859,17 @@
         break;
       }
 
-      default:
-        break;
-    } // switch (wkbType)
-
-  } // if (mGeometry)
+    default:
+      break;
+  } // switch (wkbType)
 }
 
 
 
 bool QgsGeometry::insertVertexBefore(double x, double y,
-                                     int beforeVertex,
-                                     const GEOS_GEOM::CoordinateSequence*  old_sequence,
-                                           GEOS_GEOM::CoordinateSequence** new_sequence)
+    int beforeVertex,
+    const GEOS_GEOM::CoordinateSequence*  old_sequence,
+    GEOS_GEOM::CoordinateSequence** new_sequence)
 
 {
   // Bounds checking
@@ -732,7 +902,7 @@
     // in the geometry - append it.
     (*new_sequence)->add( GEOS_GEOM::Coordinate(x, y) );
   }
-// TODO: Check that the sequence is still simple, e.g. with GEOS_GEOM::Geometry->isSimple()
+  // TODO: Check that the sequence is still simple, e.g. with GEOS_GEOM::Geometry->isSimple()
 
   return inserted;
 }
@@ -741,164 +911,249 @@
 {
   int vertexnr = atVertex.back();
 
+  // TODO: implement with GEOS
   if(mDirtyWkb)
-    {
-      exportGeosToWkb();
-    }
+  {
+    exportGeosToWkb();
+  }
 
-  unsigned int wkbType;
+  if (!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return FALSE;
+  }
+
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
   unsigned char* ptr = mGeometry+1;
   memcpy(&wkbType, ptr, sizeof(wkbType));
   ptr += sizeof(wkbType);
 
   switch(wkbType)
-    {
+  {
+    case QGis::WKBPoint25D:
     case QGis::WKBPoint:
       {
-	if(vertexnr == 0)
-	  {
-	    memcpy(ptr, &x, sizeof(double));
-	    ptr += sizeof(double);
-	    memcpy(ptr, &y, sizeof(double));
-	    mDirtyGeos = true;
-	    return true;
-	  }
-	else
-	  {
-	    return false;
-	  }
+        if(vertexnr == 0)
+        {
+          memcpy(ptr, &x, sizeof(double));
+          ptr += sizeof(double);
+          memcpy(ptr, &y, sizeof(double));
+          mDirtyGeos = true;
+          return true;
+        }
+        else
+        {
+          return false;
+        }
       }
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
     case QGis::WKBMultiPoint:
       {
-	int* nrPoints = (int*)ptr;
-	if(vertexnr > *nrPoints || vertexnr < 0)
-	  {
-	    return false;
-	  }
-	ptr += sizeof(int);
-	ptr += (2*sizeof(double)+1+sizeof(int))*vertexnr;
-	ptr += (1+sizeof(int));
-	memcpy(ptr, &x, sizeof(double));
-	ptr += sizeof(double);
-	memcpy(ptr, &y, sizeof(double));
-	mDirtyGeos = true;
-	return true;
+        int* nrPoints = (int*)ptr;
+        if(vertexnr > *nrPoints || vertexnr < 0)
+        {
+          return false;
+        }
+        ptr += sizeof(int);
+        if(hasZValue)
+        {
+          ptr += (3*sizeof(double)+1+sizeof(int))*vertexnr;
+        }
+        else
+        {
+          ptr += (2*sizeof(double)+1+sizeof(int))*vertexnr;
+        }
+        ptr += (1+sizeof(int));
+        memcpy(ptr, &x, sizeof(double));
+        ptr += sizeof(double);
+        memcpy(ptr, &y, sizeof(double));
+        mDirtyGeos = true;
+        return true;
       }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
     case QGis::WKBLineString:
       {
-	int* nrPoints = (int*)ptr;
-	if(vertexnr > *nrPoints || vertexnr < 0)
-	  {
-	    return false;
-	  }
-	ptr += sizeof(int);
-	ptr += 2*sizeof(double)*vertexnr;
-	memcpy(ptr, &x, sizeof(double));
-	ptr += sizeof(double);
-	memcpy(ptr, &y, sizeof(double));
-	mDirtyGeos = true;
-	return true;
+        int* nrPoints = (int*)ptr;
+        if(vertexnr > *nrPoints || vertexnr < 0)
+        {
+          return false;
+        }
+        ptr += sizeof(int);
+        ptr += 2*sizeof(double)*vertexnr;
+        if(hasZValue)
+        {
+          ptr += sizeof(double) * vertexnr;
+        }
+        memcpy(ptr, &x, sizeof(double));
+        ptr += sizeof(double);
+        memcpy(ptr, &y, sizeof(double));
+        mDirtyGeos = true;
+        return true;
       }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
     case QGis::WKBMultiLineString:
       {
-	int* nrLines = (int*)ptr;
-	ptr += sizeof(int);
-	int* nrPoints = 0; //numer of points in a line
-	int pointindex = 0;
-	for(int linenr = 0; linenr < *nrLines; ++linenr)
-	  {
-	    ptr += sizeof(int) + 1;
-	    nrPoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    if(vertexnr >= pointindex && vertexnr < pointindex + (*nrPoints))
-	      {
-		ptr += (vertexnr-pointindex)*2*sizeof(double);
-		memcpy(ptr, &x, sizeof(double));
-		memcpy(ptr+sizeof(double), &y, sizeof(double));
-		mDirtyGeos = true;
-		return true;
-	      }
-	    pointindex += (*nrPoints);
-	    ptr += 2*sizeof(double)*(*nrPoints);
-	  }
-	return false;
+        int* nrLines = (int*)ptr;
+        ptr += sizeof(int);
+        int* nrPoints = 0; //numer of points in a line
+        int pointindex = 0;
+        for(int linenr = 0; linenr < *nrLines; ++linenr)
+        {
+          ptr += sizeof(int) + 1;
+          nrPoints = (int*)ptr;
+          ptr += sizeof(int);
+          if(vertexnr >= pointindex && vertexnr < pointindex + (*nrPoints))
+          {
+            ptr += (vertexnr-pointindex)*2*sizeof(double);
+            if(hasZValue)
+            {
+              ptr += (vertexnr-pointindex)*sizeof(double);
+            }
+            memcpy(ptr, &x, sizeof(double));
+            memcpy(ptr+sizeof(double), &y, sizeof(double));
+            mDirtyGeos = true;
+            return true;
+          }
+          pointindex += (*nrPoints);
+          ptr += 2*sizeof(double)*(*nrPoints);
+          if(hasZValue)
+          {
+            ptr += sizeof(double)*(*nrPoints);
+          }
+        }
+        return false;
       }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
     case QGis::WKBPolygon:
       {
-	int* nrRings = (int*)ptr;
-	ptr += sizeof(int);
-	int* nrPoints = 0; //numer of points in a ring
-	int pointindex = 0;
+        int* nrRings = (int*)ptr;
+        ptr += sizeof(int);
+        int* nrPoints = 0; //numer of points in a ring
+        int pointindex = 0;
 
-	for(int ringnr = 0; ringnr < *nrRings; ++ringnr)
-	  {
-	    nrPoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    if(vertexnr == pointindex || vertexnr == pointindex + (*nrPoints-1))//move two points
-	      {
-		memcpy(ptr, &x, sizeof(double));
-		memcpy(ptr+sizeof(double), &y, sizeof(double));
-		memcpy(ptr+2*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
-		memcpy(ptr+sizeof(double)+2*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
-		mDirtyGeos = true;
-		return true;
-	      }
-	    else if(vertexnr > pointindex && vertexnr < pointindex + (*nrPoints-1))//move only one point
-	      {
-		ptr += 2*sizeof(double)*(vertexnr - pointindex);
-		memcpy(ptr, &x, sizeof(double));
-		ptr += sizeof(double);
-		memcpy(ptr, &y, sizeof(double));
-		mDirtyGeos = true;
-		return true;
-	      }
-	    ptr += 2*sizeof(double)*(*nrPoints);
-	    pointindex += *nrPoints;
-	  }
-	return false;
+        for(int ringnr = 0; ringnr < *nrRings; ++ringnr)
+        {
+          nrPoints = (int*)ptr;
+          ptr += sizeof(int);
+          if(vertexnr == pointindex || vertexnr == pointindex + (*nrPoints-1))//move two points
+          {
+            memcpy(ptr, &x, sizeof(double));
+            memcpy(ptr+sizeof(double), &y, sizeof(double));
+            if(hasZValue)
+            {
+              memcpy(ptr+3*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
+            }
+            else
+            {
+              memcpy(ptr+2*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
+            }
+            if(hasZValue)
+            {
+              memcpy(ptr+sizeof(double)+3*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
+            }
+            else
+            {
+              memcpy(ptr+sizeof(double)+2*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
+            }
+            mDirtyGeos = true;
+            return true;
+          }
+          else if(vertexnr > pointindex && vertexnr < pointindex + (*nrPoints-1))//move only one point
+          {
+            ptr += 2*sizeof(double)*(vertexnr - pointindex);
+            if(hasZValue)
+            {
+              ptr += sizeof(double)*(vertexnr - pointindex);
+            }
+            memcpy(ptr, &x, sizeof(double));
+            ptr += sizeof(double);
+            memcpy(ptr, &y, sizeof(double));
+            mDirtyGeos = true;
+            return true;
+          }
+          ptr += 2*sizeof(double)*(*nrPoints);
+          if(hasZValue)
+          {
+            ptr += sizeof(double)*(*nrPoints);
+          }
+          pointindex += *nrPoints;
+        }
+        return false;
       }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
     case QGis::WKBMultiPolygon:
       {
-	int* nrPolygons = (int*)ptr;
-	ptr += sizeof(int);
-	int* nrRings = 0; //number of rings in a polygon
-	int* nrPoints = 0; //number of points in a ring
-	int pointindex = 0;
+        int* nrPolygons = (int*)ptr;
+        ptr += sizeof(int);
+        int* nrRings = 0; //number of rings in a polygon
+        int* nrPoints = 0; //number of points in a ring
+        int pointindex = 0;
 
-	for(int polynr = 0; polynr < *nrPolygons; ++polynr)
-	  {
-	    ptr += (1 + sizeof(int)); //skip endian and polygon type
-	    nrRings = (int*)ptr;
-	    ptr += sizeof(int);
-	    for(int ringnr = 0; ringnr< *nrRings; ++ringnr)
-	      {
-		nrPoints = (int*)ptr;
-		ptr += sizeof(int);
-		if(vertexnr == pointindex || vertexnr == pointindex + (*nrPoints-1))//move two points
-		  {
-		    memcpy(ptr, &x, sizeof(double));
-		    memcpy(ptr+sizeof(double), &y, sizeof(double));
-		    memcpy(ptr+2*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
-		    memcpy(ptr+sizeof(double)+2*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
-		    mDirtyGeos = true;
-		    return true;
-		  }
-		else if(vertexnr > pointindex && vertexnr < pointindex + (*nrPoints-1))//move only one point
-		  {
-		    ptr += 2*sizeof(double)*(vertexnr - pointindex);
-		    memcpy(ptr, &x, sizeof(double));
-		    ptr += sizeof(double);
-		    memcpy(ptr, &y, sizeof(double));
-		    mDirtyGeos = true;
-		    return true;
-		  }
-		ptr += 2*sizeof(double)*(*nrPoints);
-		pointindex += *nrPoints;
-	      }
-	  }
-	return false;
+        for(int polynr = 0; polynr < *nrPolygons; ++polynr)
+        {
+          ptr += (1 + sizeof(int)); //skip endian and polygon type
+          nrRings = (int*)ptr;
+          ptr += sizeof(int);
+          for(int ringnr = 0; ringnr< *nrRings; ++ringnr)
+          {
+            nrPoints = (int*)ptr;
+            ptr += sizeof(int);
+            if(vertexnr == pointindex || vertexnr == pointindex + (*nrPoints-1))//move two points
+            {
+              memcpy(ptr, &x, sizeof(double));
+              memcpy(ptr+sizeof(double), &y, sizeof(double));
+              if(hasZValue)
+              {
+                memcpy(ptr+3*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
+              }
+              else
+              {
+                memcpy(ptr+2*sizeof(double)*(*nrPoints-1), &x, sizeof(double));
+              }
+              if(hasZValue)
+              {
+                memcpy(ptr+sizeof(double)+3*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
+              }
+              else
+              {
+                memcpy(ptr+sizeof(double)+2*sizeof(double)*(*nrPoints-1), &y, sizeof(double));
+              }
+              mDirtyGeos = true;
+              return true;
+            }
+            else if(vertexnr > pointindex && vertexnr < pointindex + (*nrPoints-1))//move only one point
+            {
+              ptr += 2*sizeof(double)*(vertexnr - pointindex);
+              if(hasZValue)
+              {
+                ptr += 3*sizeof(double)*(vertexnr - pointindex);
+              }
+              memcpy(ptr, &x, sizeof(double));
+              ptr += sizeof(double);
+              memcpy(ptr, &y, sizeof(double));
+              mDirtyGeos = true;
+              return true;
+            }
+            ptr += 2*sizeof(double)*(*nrPoints);
+            if(hasZValue)
+            {
+              ptr += sizeof(double)*(*nrPoints);
+            }
+            pointindex += *nrPoints;
+          }
+        }
+        return false;
       }
-    }
+
+    default:
+      return false;
+  }
 }
 
 bool QgsGeometry::deleteVertexAt(QgsGeometryVertexIndex atVertex)
@@ -906,250 +1161,322 @@
   int vertexnr = atVertex.back();
   bool success = false;
 
+  // TODO: implement with GEOS
   if(mDirtyWkb)
-    {
-      exportGeosToWkb();
-    }
+  {
+    exportGeosToWkb();
+  }
 
+  if (!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return FALSE;
+  }
+
   //create a new geometry buffer for the modified geometry
-  unsigned char* newbuffer = new unsigned char[mGeometrySize-2*sizeof(double)];
-  memcpy(newbuffer, mGeometry, 1+sizeof(int)); //endian and type are the same
-
+  unsigned char* newbuffer;
   int pointindex = 0;
-  unsigned int wkbType;
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
   unsigned char* ptr = mGeometry+1;
   memcpy(&wkbType, ptr, sizeof(wkbType));
+
+  switch(wkbType)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBLineString25D:
+    case QGis::WKBPolygon25D:
+    case QGis::WKBMultiPoint25D:
+    case QGis::WKBMultiLineString25D:
+    case QGis::WKBMultiPolygon25D:
+      newbuffer = new unsigned char[mGeometrySize-3*sizeof(double)];
+      break;
+    default:
+      newbuffer = new unsigned char[mGeometrySize-2*sizeof(double)];
+  }
+
+  memcpy(newbuffer, mGeometry, 1+sizeof(int)); //endian and type are the same
+
   ptr += sizeof(wkbType);
   unsigned char* newBufferPtr = newbuffer+1+sizeof(int);
-  
+
   switch(wkbType)
-    {
+  {
+    case QGis::WKBPoint25D:
     case QGis::WKBPoint:
       {
-	break; //cannot remove the only point vertex
+        break; //cannot remove the only point vertex
       }
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
     case QGis::WKBMultiPoint:
       {
-	//todo
+        //todo
       }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
     case QGis::WKBLineString:
       {
-	int* nPoints = (int*)ptr;
-	if((*nPoints) < 3 || vertexnr > (*nPoints)-1 || vertexnr < 0)
-	  {
-	    break;
-	  }
-	int newNPoints = (*nPoints)-1; //new number of points
-	memcpy(newBufferPtr, &newNPoints, sizeof(int));
-	ptr += sizeof(int);
-	newBufferPtr += sizeof(int);
-	for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	  {
-	    if(vertexnr != pointindex)
-	      {
-		memcpy(newBufferPtr, ptr, sizeof(double));
-		memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));
-		newBufferPtr += 2*sizeof(double);
-	      }
-	    else
-	      {
-		success = true;
-	      }
-	    ptr += 2*sizeof(double);
-	    ++pointindex;
-	  }
-	break;
+        int* nPoints = (int*)ptr;
+        if((*nPoints) < 3 || vertexnr > (*nPoints)-1 || vertexnr < 0)
+        {
+          break;
+        }
+        int newNPoints = (*nPoints)-1; //new number of points
+        memcpy(newBufferPtr, &newNPoints, sizeof(int));
+        ptr += sizeof(int);
+        newBufferPtr += sizeof(int);
+        for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+        {
+          if(vertexnr != pointindex)
+          {
+            memcpy(newBufferPtr, ptr, sizeof(double));
+            memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));
+            newBufferPtr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              newBufferPtr += sizeof(double);
+            }
+          }
+          else
+          {
+            success = true;
+          }
+          ptr += 2*sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+          ++pointindex;
+        }
+        break;
       }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
     case QGis::WKBMultiLineString:
       {
-	int* nLines = (int*)ptr;
-	memcpy(newBufferPtr, nLines, sizeof(int));
-	newBufferPtr += sizeof(int);
-	ptr += sizeof(int);
-	int* nPoints = 0; //number of points in a line
-	int pointindex = 0;
-	for(int linenr = 0; linenr < *nLines; ++linenr)
-	  {
-	    memcpy(newBufferPtr, ptr, sizeof(int) + 1);
-	    ptr += (sizeof(int) + 1);
-	    newBufferPtr += (sizeof(int) + 1);
-	    nPoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    int newNPoint;
+        int* nLines = (int*)ptr;
+        memcpy(newBufferPtr, nLines, sizeof(int));
+        newBufferPtr += sizeof(int);
+        ptr += sizeof(int);
+        int* nPoints = 0; //number of points in a line
+        int pointindex = 0;
+        for(int linenr = 0; linenr < *nLines; ++linenr)
+        {
+          memcpy(newBufferPtr, ptr, sizeof(int) + 1);
+          ptr += (sizeof(int) + 1);
+          newBufferPtr += (sizeof(int) + 1);
+          nPoints = (int*)ptr;
+          ptr += sizeof(int);
+          int newNPoint;
 
-	    //find out if the vertex is in this line
-	    if(vertexnr >= pointindex && vertexnr < pointindex + (*nPoints))
-	      {
-		if(*nPoints < 3)
-		  {
-		    break;
-		  }
-		newNPoint = (*nPoints)-1;
-	      }
-	    else
-	      {
-		newNPoint = *nPoints;
-	      }
-	    memcpy(newBufferPtr, &newNPoint, sizeof(int));
-	    newBufferPtr += sizeof(int);
+          //find out if the vertex is in this line
+          if(vertexnr >= pointindex && vertexnr < pointindex + (*nPoints))
+          {
+            if(*nPoints < 3)
+            {
+              break;
+            }
+            newNPoint = (*nPoints)-1;
+          }
+          else
+          {
+            newNPoint = *nPoints;
+          }
+          memcpy(newBufferPtr, &newNPoint, sizeof(int));
+          newBufferPtr += sizeof(int);
 
-	    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	      {
-		if(vertexnr != pointindex)
-		  {
-		    memcpy(newBufferPtr, ptr, sizeof(double));//x
-		    memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-		    newBufferPtr += 2*sizeof(double);
-		  }
-		else
-		  {
-		    success = true;
-		  }
-		ptr += 2*sizeof(double);
-		++pointindex;
-	      }
-	  }
-	break;
+          for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+          {
+            if(vertexnr != pointindex)
+            {
+              memcpy(newBufferPtr, ptr, sizeof(double));//x
+              memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+              newBufferPtr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                newBufferPtr += sizeof(double);
+              }
+            }
+            else
+            {
+              success = true;
+            }
+            ptr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            ++pointindex;
+          }
+        }
+        break;
       }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
     case QGis::WKBPolygon:
       {
-	int* nRings = (int*)ptr;
-	memcpy(newBufferPtr, nRings, sizeof(int));
-	ptr += sizeof(int);
-	newBufferPtr += sizeof(int);
-	int* nPoints = 0; //number of points in a ring
-	int pointindex = 0;
-      
-	for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-	  {
-	    nPoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    int newNPoints;
-	    if(vertexnr >= pointindex && vertexnr < pointindex + *nPoints)//vertex to delete is in this ring
-	      {
-		if(*nPoints < 5) //a ring has at least 3 points
-		  {
-		    break;
-		  }
-		newNPoints = *nPoints - 1;
-	      }
-	    else
-	      {
-		newNPoints = *nPoints;
-	      }
-	    memcpy(newBufferPtr, &newNPoints, sizeof(int));
-	    newBufferPtr += sizeof(int);
-	    
-	    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	      {
-		if(vertexnr != pointindex)
-		  {
-		    memcpy(newBufferPtr, ptr, sizeof(double));//x
-		    memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-		    newBufferPtr += 2*sizeof(double);
-		  }
-		else
-		  {
-		    if(pointnr == 0)//adjust the last point of the ring
-		      {
-			memcpy(ptr+(*nPoints-1)*2*sizeof(double), ptr+2*sizeof(double), sizeof(double));
-			memcpy(ptr+sizeof(double)+(*nPoints-1)*2*sizeof(double), ptr+3*sizeof(double), sizeof(double));
-		      }
-		    if(pointnr == (*nPoints)-1)
-		      {
-			memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double), ptr-2*sizeof(double), sizeof(double));
-			memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double)+sizeof(double), ptr-sizeof(double), sizeof(double));
-		      }
-		    success = true;
-		  }
-		ptr += 2*sizeof(double);
-		++pointindex;
-	      }
-	  }
-	break;
+        int* nRings = (int*)ptr;
+        memcpy(newBufferPtr, nRings, sizeof(int));
+        ptr += sizeof(int);
+        newBufferPtr += sizeof(int);
+        int* nPoints = 0; //number of points in a ring
+        int pointindex = 0;
+
+        for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+        {
+          nPoints = (int*)ptr;
+          ptr += sizeof(int);
+          int newNPoints;
+          if(vertexnr >= pointindex && vertexnr < pointindex + *nPoints)//vertex to delete is in this ring
+          {
+            if(*nPoints < 5) //a ring has at least 3 points
+            {
+              break;
+            }
+            newNPoints = *nPoints - 1;
+          }
+          else
+          {
+            newNPoints = *nPoints;
+          }
+          memcpy(newBufferPtr, &newNPoints, sizeof(int));
+          newBufferPtr += sizeof(int);
+
+          for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+          {
+            if(vertexnr != pointindex)
+            {
+              memcpy(newBufferPtr, ptr, sizeof(double));//x
+              memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+              newBufferPtr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                newBufferPtr += sizeof(double);
+              }
+            }
+            else
+            {
+              if(pointnr == 0)//adjust the last point of the ring
+              {
+                memcpy(ptr+(*nPoints-1)*2*sizeof(double), ptr+2*sizeof(double), sizeof(double));
+                memcpy(ptr+sizeof(double)+(*nPoints-1)*2*sizeof(double), ptr+3*sizeof(double), sizeof(double));
+              }
+              if(pointnr == (*nPoints)-1)
+              {
+                memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double), ptr-2*sizeof(double), sizeof(double));
+                memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double)+sizeof(double), ptr-sizeof(double), sizeof(double));
+              }
+              success = true;
+            }
+            ptr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            ++pointindex;
+          }
+        }
+        break;
       }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
     case QGis::WKBMultiPolygon:
       {
-	int* nPolys = (int*)ptr;
-	memcpy(newBufferPtr, nPolys, sizeof(int));
-	newBufferPtr += sizeof(int);
-	ptr +=sizeof(int);
-	int* nRings = 0;
-	int* nPoints = 0;
-	int pointindex = 0;
+        int* nPolys = (int*)ptr;
+        memcpy(newBufferPtr, nPolys, sizeof(int));
+        newBufferPtr += sizeof(int);
+        ptr +=sizeof(int);
+        int* nRings = 0;
+        int* nPoints = 0;
+        int pointindex = 0;
 
-	for(int polynr = 0; polynr < *nPolys; ++polynr)
-	  {
-	    memcpy(newBufferPtr, ptr, (1 + sizeof(int))); 
-	    ptr += (1 + sizeof(int)); //skip endian and polygon type
-	    newBufferPtr += (1 + sizeof(int));
-	    nRings = (int*)ptr;
-	    memcpy(newBufferPtr, nRings, sizeof(int));
-	    newBufferPtr += sizeof(int);
-	    ptr += sizeof(int);
-	    for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-	      {
-		nPoints = (int*)ptr;
-		ptr += sizeof(int);
-		int newNPoints;
-		if(vertexnr >= pointindex && vertexnr < pointindex + *nPoints)//vertex to delete is in this ring
-		  {
-		    if(*nPoints < 5) //a ring has at least 3 points
-		      {
-			break;
-		      }
-		    newNPoints = *nPoints - 1;
-		  }
-		else
-		  {
-		    newNPoints = *nPoints;
-		  }
-		memcpy(newBufferPtr, &newNPoints, sizeof(int));
-		newBufferPtr += sizeof(int);
-	    
-		for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-		  {
-		    if(vertexnr != pointindex)
-		      {
-			memcpy(newBufferPtr, ptr, sizeof(double));//x
-			memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-			newBufferPtr += 2*sizeof(double);
-		      }
-		    else
-		      {
-			if(pointnr == 0)//adjust the last point of the ring
-			  {
-			    memcpy(ptr+(*nPoints-1)*2*sizeof(double), ptr+2*sizeof(double), sizeof(double));
-			    memcpy(ptr+sizeof(double)+(*nPoints-1)*2*sizeof(double), ptr+3*sizeof(double), sizeof(double));
-			  }
-			if(pointnr == (*nPoints)-1)
-			  {
-			    memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double), ptr-2*sizeof(double), sizeof(double));
-			    memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double)+sizeof(double), ptr-sizeof(double), sizeof(double));
-			  }
-			success = true;
-		      }
-		    ptr += 2*sizeof(double);
-		    ++pointindex;
-		  }
-	      } 
-	  }
-	break;
+        for(int polynr = 0; polynr < *nPolys; ++polynr)
+        {
+          memcpy(newBufferPtr, ptr, (1 + sizeof(int))); 
+          ptr += (1 + sizeof(int)); //skip endian and polygon type
+          newBufferPtr += (1 + sizeof(int));
+          nRings = (int*)ptr;
+          memcpy(newBufferPtr, nRings, sizeof(int));
+          newBufferPtr += sizeof(int);
+          ptr += sizeof(int);
+          for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+          {
+            nPoints = (int*)ptr;
+            ptr += sizeof(int);
+            int newNPoints;
+            if(vertexnr >= pointindex && vertexnr < pointindex + *nPoints)//vertex to delete is in this ring
+            {
+              if(*nPoints < 5) //a ring has at least 3 points
+              {
+                break;
+              }
+              newNPoints = *nPoints - 1;
+            }
+            else
+            {
+              newNPoints = *nPoints;
+            }
+            memcpy(newBufferPtr, &newNPoints, sizeof(int));
+            newBufferPtr += sizeof(int);
+
+            for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+            {
+              if(vertexnr != pointindex)
+              {
+                memcpy(newBufferPtr, ptr, sizeof(double));//x
+                memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+                newBufferPtr += 2*sizeof(double);
+                if(hasZValue)
+                {
+                  newBufferPtr += sizeof(double);
+                }
+              }
+              else
+              {
+                if(pointnr == 0)//adjust the last point of the ring
+                {
+                  memcpy(ptr+(*nPoints-1)*2*sizeof(double), ptr+2*sizeof(double), sizeof(double));
+                  memcpy(ptr+sizeof(double)+(*nPoints-1)*2*sizeof(double), ptr+3*sizeof(double), sizeof(double));
+                }
+                if(pointnr == (*nPoints)-1)
+                {
+                  memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double), ptr-2*sizeof(double), sizeof(double));
+                  memcpy(newBufferPtr-(*nPoints-2)*2*sizeof(double)+sizeof(double), ptr-sizeof(double), sizeof(double));
+                }
+                success = true;
+              }
+              ptr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+              ++pointindex;
+            }
+          } 
+        }
+        break;
       }
-    }
+    case QGis::WKBUnknown:
+      break;
+  }
   if(success)
+  {
+    delete mGeometry;
+    mGeometry = newbuffer;
+    mGeometrySize -= (2*sizeof(double));
+    if(hasZValue)
     {
-      delete mGeometry;
-      mGeometry = newbuffer;
-      mGeometrySize -= (2*sizeof(double));
-      mDirtyGeos = true;
-      return true;
+      mGeometrySize -= sizeof(double);
     }
+    mDirtyGeos = true;
+    return true;
+  }
   else
-    {
-      delete[] newbuffer;
-      return false;
-    }
+  {
+    delete[] newbuffer;
+    return false;
+  }
 }
 
 bool QgsGeometry::insertVertexBefore(double x, double y, QgsGeometryVertexIndex beforeVertex)
@@ -1157,730 +1484,1158 @@
   int vertexnr = beforeVertex.back();
   bool success = false;
 
+  // TODO: implement with GEOS
   if(mDirtyWkb)
-    {
-      exportGeosToWkb();
-    }
+  {
+    exportGeosToWkb();
+  }
 
+  if (!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return FALSE;
+  }
+
   //create a new geometry buffer for the modified geometry
-  unsigned char* newbuffer = new unsigned char[mGeometrySize+2*sizeof(double)];
-  memcpy(newbuffer, mGeometry, 1+sizeof(int)); //endian and type are the same
-  
+  unsigned char* newbuffer;
+
   int pointindex = 0;
-  unsigned int wkbType;
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
+
   unsigned char* ptr = mGeometry+1;
   memcpy(&wkbType, ptr, sizeof(wkbType));
+
+  switch(wkbType)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBLineString25D:
+    case QGis::WKBPolygon25D:
+    case QGis::WKBMultiPoint25D:
+    case QGis::WKBMultiLineString25D:
+    case QGis::WKBMultiPolygon25D:
+      newbuffer = new unsigned char[mGeometrySize+3*sizeof(double)];
+      break;
+    default:
+      newbuffer = new unsigned char[mGeometrySize+2*sizeof(double)];
+  }
+  memcpy(newbuffer, mGeometry, 1+sizeof(int)); //endian and type are the same
+
   ptr += sizeof(wkbType);
   unsigned char* newBufferPtr = newbuffer+1+sizeof(int);
 
   switch(wkbType)
-    {
+  {
+    case QGis::WKBPoint25D:
     case QGis::WKBPoint://cannot insert a vertex before another one on point types
       {
-	delete newbuffer;
-	return false;
+        delete newbuffer;
+        return false;
       }
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
     case QGis::WKBMultiPoint:
       {
-	//todo
-	break;
+        //todo
+        break;
       }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
     case QGis::WKBLineString:
       {
-	int* nPoints = (int*)ptr;
-	if(vertexnr > *nPoints || vertexnr < 0)
-	  {
-	    break;
-	  }
-	int newNPoints = (*nPoints)+1;
-	memcpy(newBufferPtr, &newNPoints, sizeof(int));
-	newBufferPtr += sizeof(int);
-	ptr += sizeof(int);
+        int* nPoints = (int*)ptr;
+        if(vertexnr > *nPoints || vertexnr < 0)
+        {
+          break;
+        }
+        int newNPoints = (*nPoints)+1;
+        memcpy(newBufferPtr, &newNPoints, sizeof(int));
+        newBufferPtr += sizeof(int);
+        ptr += sizeof(int);
 
-	for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	  {
-	    memcpy(newBufferPtr, ptr, sizeof(double));//x
-	    memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//x
-	    ptr += 2*sizeof(double);
-	    newBufferPtr += 2*sizeof(double);
-	    ++pointindex;
-	    if(pointindex == vertexnr)
-	      {
-		memcpy(newBufferPtr, &x, sizeof(double));
-		memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
-		newBufferPtr += 2*sizeof(double);
-		success = true;
-	      }
-	  }
-	break;
+        for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+        {
+          memcpy(newBufferPtr, ptr, sizeof(double));//x
+          memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//x
+          ptr += 2*sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+          newBufferPtr += 2*sizeof(double);
+          if(hasZValue)
+          {
+            newBufferPtr += sizeof(double);
+          }
+          ++pointindex;
+          if(pointindex == vertexnr)
+          {
+            memcpy(newBufferPtr, &x, sizeof(double));
+            memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
+            newBufferPtr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              newBufferPtr += sizeof(double);
+            }
+            success = true;
+          }
+        }
+        break;
       }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
     case QGis::WKBMultiLineString:
       {
-	int* nLines = (int*)ptr;
-	int* nPoints = 0; //number of points in a line
-	ptr += sizeof(int);
-	memcpy(newBufferPtr, nLines, sizeof(int));
-	newBufferPtr += sizeof(int);
-	int pointindex = 0;
+        int* nLines = (int*)ptr;
+        int* nPoints = 0; //number of points in a line
+        ptr += sizeof(int);
+        memcpy(newBufferPtr, nLines, sizeof(int));
+        newBufferPtr += sizeof(int);
+        int pointindex = 0;
 
-	for(int linenr = 0; linenr < *nLines; ++linenr)
-	  {
-	    memcpy(newBufferPtr, ptr, sizeof(int) + 1);
-	    ptr += (sizeof(int) + 1);
-	    newBufferPtr += (sizeof(int) + 1);
-	    nPoints = (int*)ptr;
-	    int newNPoints;
-	    if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
-	      {
-		newNPoints = (*nPoints)+1;
-	      }
-	    else
-	      {
-		newNPoints = *nPoints;
-	      }
-	    memcpy(newBufferPtr, &newNPoints, sizeof(double));
-	    newBufferPtr += sizeof(int);
-	    ptr += sizeof(int);
+        for(int linenr = 0; linenr < *nLines; ++linenr)
+        {
+          memcpy(newBufferPtr, ptr, sizeof(int) + 1);
+          ptr += (sizeof(int) + 1);
+          newBufferPtr += (sizeof(int) + 1);
+          nPoints = (int*)ptr;
+          int newNPoints;
+          if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
+          {
+            newNPoints = (*nPoints)+1;
+          }
+          else
+          {
+            newNPoints = *nPoints;
+          }
+          memcpy(newBufferPtr, &newNPoints, sizeof(double));
+          newBufferPtr += sizeof(int);
+          ptr += sizeof(int);
 
-	    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	      {
-		memcpy(newBufferPtr, ptr, sizeof(double));//x
-		memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-		ptr += 2*sizeof(double);
-		newBufferPtr += 2*sizeof(double);
-		++pointindex;
-		if(pointindex == vertexnr)
-		  {
-		    memcpy(newBufferPtr, &x, sizeof(double));
-		    memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
-		    newBufferPtr += 2*sizeof(double);
-		    success = true;
-		  }
-	      }
-	  }
-	break;
+          for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+          {
+            memcpy(newBufferPtr, ptr, sizeof(double));//x
+            memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+            ptr += 2*sizeof(double);
+            newBufferPtr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+              newBufferPtr += sizeof(double);
+            }
+            ++pointindex;
+            if(pointindex == vertexnr)
+            {
+              memcpy(newBufferPtr, &x, sizeof(double));
+              memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
+              newBufferPtr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                newBufferPtr += sizeof(double);
+              }
+              success = true;
+            }
+          }
+        }
+        break;
       }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
     case QGis::WKBPolygon:
       {
-	int* nRings = (int*)ptr;
-	int* nPoints = 0; //number of points in a ring
-	ptr += sizeof(int);
-	memcpy(newBufferPtr, nRings, sizeof(int));
-	newBufferPtr += sizeof(int);
-	int pointindex = 0;
+        int* nRings = (int*)ptr;
+        int* nPoints = 0; //number of points in a ring
+        ptr += sizeof(int);
+        memcpy(newBufferPtr, nRings, sizeof(int));
+        newBufferPtr += sizeof(int);
+        int pointindex = 0;
 
-	for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-	  {
-	    nPoints = (int*)ptr;
-	    int newNPoints;
-	    if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
-	      {
-		newNPoints = (*nPoints)+1;
-	      }
-	    else
-	      {
-		newNPoints = *nPoints;
-	      }
-	    memcpy(newBufferPtr, &newNPoints, sizeof(double));
-	    newBufferPtr += sizeof(int);
-	    ptr += sizeof(int);
+        for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+        {
+          nPoints = (int*)ptr;
+          int newNPoints;
+          if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
+          {
+            newNPoints = (*nPoints)+1;
+          }
+          else
+          {
+            newNPoints = *nPoints;
+          }
+          memcpy(newBufferPtr, &newNPoints, sizeof(double));
+          newBufferPtr += sizeof(int);
+          ptr += sizeof(int);
 
-	    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	      {
-		memcpy(newBufferPtr, ptr, sizeof(double));//x
-		memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-		ptr += 2*sizeof(double);
-		newBufferPtr += 2*sizeof(double);
-		++pointindex;
-		if(pointindex == vertexnr)
-		  {
-		    memcpy(newBufferPtr, &x, sizeof(double));
-		    memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
-		    newBufferPtr += 2*sizeof(double);
-		    success = true;
-		  }
-	      }
-	  }
-	break;
+          for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+          {
+            memcpy(newBufferPtr, ptr, sizeof(double));//x
+            memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+            ptr += 2*sizeof(double);
+            newBufferPtr += 2*sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+              newBufferPtr += sizeof(double);
+            }
+            ++pointindex;
+            if(pointindex == vertexnr)
+            {
+              memcpy(newBufferPtr, &x, sizeof(double));
+              memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
+              newBufferPtr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                newBufferPtr += sizeof(double);
+              }
+              success = true;
+            }
+          }
+        }
+        break;
       }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
     case QGis::WKBMultiPolygon:
       {
-	int* nPolys = (int*)ptr;
-	int* nRings = 0; //number of rings in a polygon
-	int* nPoints = 0; //number of points in a ring
-	memcpy(newBufferPtr, nPolys, sizeof(int));
-	ptr += sizeof(int);
-	newBufferPtr += sizeof(int);
-	int pointindex = 0;
+        int* nPolys = (int*)ptr;
+        int* nRings = 0; //number of rings in a polygon
+        int* nPoints = 0; //number of points in a ring
+        memcpy(newBufferPtr, nPolys, sizeof(int));
+        ptr += sizeof(int);
+        newBufferPtr += sizeof(int);
+        int pointindex = 0;
 
-	for(int polynr = 0; polynr < *nPolys; ++polynr)
-	  {
-	    memcpy(newBufferPtr, ptr, (1 + sizeof(int)));
-	    ptr += (1 + sizeof(int));//skip endian and polygon type
-	    newBufferPtr += (1 + sizeof(int));
-	    nRings = (int*)ptr;
-	    ptr += sizeof(int);
-	    memcpy(newBufferPtr, nRings, sizeof(int));
-	    newBufferPtr += sizeof(int);
+        for(int polynr = 0; polynr < *nPolys; ++polynr)
+        {
+          memcpy(newBufferPtr, ptr, (1 + sizeof(int)));
+          ptr += (1 + sizeof(int));//skip endian and polygon type
+          newBufferPtr += (1 + sizeof(int));
+          nRings = (int*)ptr;
+          ptr += sizeof(int);
+          memcpy(newBufferPtr, nRings, sizeof(int));
+          newBufferPtr += sizeof(int);
 
-	    for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-	      {
-		nPoints = (int*)ptr;
-		int newNPoints;
-		if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
-		  {
-		    newNPoints = (*nPoints)+1;
-		  }
-		else
-		  {
-		    newNPoints = *nPoints;
-		  }
-		memcpy(newBufferPtr, &newNPoints, sizeof(double));
-		newBufferPtr += sizeof(int);
-		ptr += sizeof(int);
-		
-		for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-		  {
-		    memcpy(newBufferPtr, ptr, sizeof(double));//x
-		    memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
-		    ptr += 2*sizeof(double);
-		    newBufferPtr += 2*sizeof(double);
-		    ++pointindex;
-		    if(pointindex == vertexnr)
-		      {
-			memcpy(newBufferPtr, &x, sizeof(double));
-			memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
-			newBufferPtr += 2*sizeof(double);
-			success = true;
-		      }
-		  }
-	      }
-	    
-	  }
-	break;
+          for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+          {
+            nPoints = (int*)ptr;
+            int newNPoints;
+            if(vertexnr >= pointindex && vertexnr < (pointindex + (*nPoints)))//point is in this ring
+            {
+              newNPoints = (*nPoints)+1;
+            }
+            else
+            {
+              newNPoints = *nPoints;
+            }
+            memcpy(newBufferPtr, &newNPoints, sizeof(double));
+            newBufferPtr += sizeof(int);
+            ptr += sizeof(int);
+
+            for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+            {
+              memcpy(newBufferPtr, ptr, sizeof(double));//x
+              memcpy(newBufferPtr+sizeof(double), ptr+sizeof(double), sizeof(double));//y
+              ptr += 2*sizeof(double);
+              newBufferPtr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+                newBufferPtr += sizeof(double);
+              }
+              ++pointindex;
+              if(pointindex == vertexnr)
+              {
+                memcpy(newBufferPtr, &x, sizeof(double));
+                memcpy(newBufferPtr+sizeof(double), &y, sizeof(double));
+                newBufferPtr += 2*sizeof(double);
+                if(hasZValue)
+                {
+                  newBufferPtr += sizeof(double);
+                }
+                success = true;
+              }
+            }
+          }
+
+        }
+        break;
       }
-    }
-  
+    case QGis::WKBUnknown:
+      break;
+  }
+
   if(success)
+  {
+    delete mGeometry;
+    mGeometry = newbuffer;
+    mGeometrySize += 2*sizeof(double);
+    if(hasZValue)
     {
-      delete mGeometry;
-      mGeometry = newbuffer;
-      mGeometrySize += 2*sizeof(double);
-      mDirtyGeos = true;
-      return true;
+      mGeometrySize += sizeof(double);
     }
+    mDirtyGeos = true;
+    return true;
+  }
   else
-    {
-      delete newbuffer;
-      return false;
-    }
+  {
+    delete newbuffer;
+    return false;
+  }
 }
 
-bool QgsGeometry::vertexAt(double &x, double &y, 
-                           QgsGeometryVertexIndex atVertex) const
+QgsPoint QgsGeometry::vertexAt(const QgsGeometryVertexIndex& atVertex)
 {
-      if(mGeos)//try to find the vertex from the Geos geometry (it present)
-	{
-	  GEOS_GEOM::CoordinateSequence* cs = mGeos->getCoordinates();
-	  if(cs)
-	    {
-	      const GEOS_GEOM::Coordinate& coord = cs->getAt(atVertex.back());
-	      x = coord.x;
-	      y = coord.y;
-	      delete cs;
-	      return true;
-	    }
-	}
+  double x,y;
 
-      else if(mGeometry)
-	{
-	  int wkbType;
-	  unsigned char* ptr;
+  if (mGeos) //try to find the vertex from the Geos geometry (it present)
+  {
+    GEOS_GEOM::CoordinateSequence* cs = mGeos->getCoordinates();
+    if(cs)
+    {
+      const GEOS_GEOM::Coordinate& coord = cs->getAt(atVertex.back());
+      x = coord.x;
+      y = coord.y;
+      delete cs;
+      return QgsPoint(x,y);
+    }
+  }
+  else if(mGeometry)
+  {
+    QGis::WKBTYPE wkbType;
+    bool hasZValue = false;
+    unsigned char* ptr;
 
-	  memcpy(&wkbType, (mGeometry+1), sizeof(int));
-	  switch (wkbType)
-	    {
-            case QGis::WKBPoint:
-	      {
-                if(atVertex.back() == 0)
-		  {
-		    ptr = mGeometry+1+sizeof(int);
-		    memcpy(&x, ptr, sizeof(double));
-		    ptr += sizeof(double);
-		    memcpy(&y, ptr, sizeof(double));
-		    return true;
-		  }
-		else
-		  {
-		    return FALSE;
-		  }
-	      }
-            case QGis::WKBLineString:
-	      {
-                int *nPoints;
-                // get number of points in the line
-                ptr = mGeometry + 1 + sizeof(int);     // now at mGeometry.numPoints
-                nPoints = (int *) ptr;
-		
-                // return error if underflow
-                if (0 > atVertex.back() || *nPoints <= atVertex.back())
-		  {
-		    return FALSE;
-		  }
-                // copy the vertex coordinates                      
-                ptr = mGeometry + 9 + (atVertex.back() * 2*sizeof(double));
+    memcpy(&wkbType, (mGeometry+1), sizeof(int));
+    switch (wkbType)
+    {
+      case QGis::WKBPoint25D:
+      case QGis::WKBPoint:
+        {
+          if(atVertex.back() == 0)
+          {
+            ptr = mGeometry+1+sizeof(int);
+            memcpy(&x, ptr, sizeof(double));
+            ptr += sizeof(double);
+            memcpy(&y, ptr, sizeof(double));
+            return QgsPoint(x,y);
+          }
+          else
+          {
+            return QgsPoint(0,0);
+          }
+        }
+      case QGis::WKBLineString25D:
+        hasZValue = true;
+      case QGis::WKBLineString:
+        {
+          int *nPoints;
+          // get number of points in the line
+          ptr = mGeometry + 1 + sizeof(int);     // now at mGeometry.numPoints
+          nPoints = (int *) ptr;
+
+          // return error if underflow
+          if (0 > atVertex.back() || *nPoints <= atVertex.back())
+          {
+            return QgsPoint(0,0);
+          }
+
+          // copy the vertex coordinates 
+          if(hasZValue)
+          {
+            ptr = mGeometry + 9 + (atVertex.back() * 3*sizeof(double));
+          }
+          else
+          {
+            ptr = mGeometry + 9 + (atVertex.back() * 2*sizeof(double));
+          }
+          memcpy(&x, ptr, sizeof(double));
+          ptr += sizeof(double);
+          memcpy(&y, ptr, sizeof(double));
+          return QgsPoint(x,y);
+        }
+      case QGis::WKBPolygon25D:
+        hasZValue = true;
+      case QGis::WKBPolygon:
+        {
+          int *nRings;
+          int *nPoints = 0;
+          ptr = mGeometry+1+sizeof(int);
+          nRings = (int*)ptr;
+          ptr += sizeof(int);
+          int pointindex = 0;
+          for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+          {
+            nPoints = (int*)ptr;
+            ptr += sizeof(int);
+            for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+            {
+              if(pointindex == atVertex.back())
+              {
                 memcpy(&x, ptr, sizeof(double));
                 ptr += sizeof(double);
                 memcpy(&y, ptr, sizeof(double));
-                return true;
-	      }
-            case QGis::WKBPolygon:
-	      {
-                int *nRings;
-		int *nPoints = 0;
-		ptr = mGeometry+1+sizeof(int);
-		nRings = (int*)ptr;
-		ptr += sizeof(int);
-		int pointindex = 0;
-		for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-		  {
-		    nPoints = (int*)ptr;
-		    ptr += sizeof(int);
-		    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-		      {
-			if(pointindex == atVertex.back())
-			  {
-			    memcpy(&x, ptr, sizeof(double));
-			    ptr += sizeof(double);
-			    memcpy(&y, ptr, sizeof(double));
-			    return true;
-			  }
-			ptr += 2*sizeof(double);
-			++pointindex;
-		      }
-		  }
-		return false;
-	      }
-            case QGis::WKBMultiPoint:
-	      {
-                ptr = mGeometry+1+sizeof(int);
-		int* nPoints = (int*)ptr;
-		if(atVertex.back() < 0 || atVertex.back() >= *nPoints)
-		  {
-		    return false;
-		  }
-		ptr += atVertex.back()*(2*sizeof(double)+1+sizeof(int));
-		ptr += 1+sizeof(int);
-		memcpy(&x, ptr, sizeof(double));
-		ptr += sizeof(double);
-		memcpy(&y, ptr, sizeof(double));
-                return true;
-	      }    
-            case QGis::WKBMultiLineString:
-	      {
-                ptr = mGeometry+1+sizeof(int);
-		int* nLines = (int*)ptr;
-		int* nPoints = 0; //number of points in a line
-		int pointindex = 0; //global point counter
-		ptr += sizeof(int);
-		for(int linenr = 0; linenr < *nLines; ++linenr)
-		  {
-		    ptr += sizeof(int) + 1;
-		    nPoints = (int*)ptr;
-		    ptr += sizeof(int);
-		    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-		      {
-			if(pointindex == atVertex.back())
-			  {
-			    memcpy(&x, ptr, sizeof(double));
-			    ptr += sizeof(double);
-			    memcpy(&y, ptr, sizeof(double));
-			    return true;
-			  }
-			ptr += 2*sizeof(double);
-			++pointindex;
-		      }
-		  }
-                return false;
-	      }
-            case QGis::WKBMultiPolygon:
-	      {
-		ptr = mGeometry+1+sizeof(int);
-		int* nRings = 0;//number of rings in a polygon
-		int* nPoints = 0;//number of points in a ring
-		int pointindex = 0; //global point counter
-		int* nPolygons = (int*)ptr;
-		ptr += sizeof(int);
-		for(int polynr = 0; polynr < *nPolygons; ++polynr)
-		  {
-		    ptr += (1 + sizeof(int)); //skip endian and polygon type
-		    nRings = (int*)ptr;
-		    ptr += sizeof(int);
-		    for(int ringnr = 0; ringnr < *nRings; ++ringnr)
-		      {
-			nPoints = (int*)ptr;
-			ptr += sizeof(int);
-			for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-			  {
-			    if(pointindex == atVertex.back())
-			      {
-				memcpy(&x, ptr, sizeof(double));
-				ptr += sizeof(double);
-				memcpy(&y, ptr, sizeof(double));
-				return true;
-			      }
-			    ++pointindex;
-			    ptr += 2*sizeof(double);
-			  }
-		      }
-		  }
-                return false;
-	      }
-            default:
-#ifdef QGISDEBUG
-	      qWarning("error: mGeometry type not recognized in QgsGeometry::vertexAt");
-#endif
-	      return false;
-	      break;
-	    }
-	}
-      else
-	{
-#ifdef QGISDEBUG
-	  qWarning("error: no mGeometry pointer in QgsGeometry::vertexAt");
-#endif
-	  return false;
-	}     
+                return QgsPoint(x,y);
+              }
+              ptr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+              ++pointindex;
+            }
+          }
+          return QgsPoint(0,0);
+        }
+      case QGis::WKBMultiPoint25D:
+        hasZValue = true;
+      case QGis::WKBMultiPoint:
+        {
+          ptr = mGeometry+1+sizeof(int);
+          int* nPoints = (int*)ptr;
+          if(atVertex.back() < 0 || atVertex.back() >= *nPoints)
+          {
+            return QgsPoint(0,0);
+          }
+          if(hasZValue)
+          {
+            ptr += atVertex.back()*(3*sizeof(double)+1+sizeof(int));
+          }
+          else
+          {
+            ptr += atVertex.back()*(2*sizeof(double)+1+sizeof(int));
+          }
+          ptr += 1+sizeof(int);
+          memcpy(&x, ptr, sizeof(double));
+          ptr += sizeof(double);
+          memcpy(&y, ptr, sizeof(double));
+          return QgsPoint(x,y);
+        }
+      case QGis::WKBMultiLineString25D:
+        hasZValue = true;
+      case QGis::WKBMultiLineString:
+        {
+          ptr = mGeometry+1+sizeof(int);
+          int* nLines = (int*)ptr;
+          int* nPoints = 0; //number of points in a line
+          int pointindex = 0; //global point counter
+          ptr += sizeof(int);
+          for(int linenr = 0; linenr < *nLines; ++linenr)
+          {
+            ptr += sizeof(int) + 1;
+            nPoints = (int*)ptr;
+            ptr += sizeof(int);
+            for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+            {
+              if(pointindex == atVertex.back())
+              {
+                memcpy(&x, ptr, sizeof(double));
+                ptr += sizeof(double);
+                memcpy(&y, ptr, sizeof(double));
+                return QgsPoint(x,y);
+              }
+              ptr += 2*sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+              ++pointindex;
+            }
+          }
+          return QgsPoint(0,0);
+        }
+      case QGis::WKBMultiPolygon25D:
+        hasZValue = true;
+      case QGis::WKBMultiPolygon:
+        {
+          ptr = mGeometry+1+sizeof(int);
+          int* nRings = 0;//number of rings in a polygon
+          int* nPoints = 0;//number of points in a ring
+          int pointindex = 0; //global point counter
+          int* nPolygons = (int*)ptr;
+          ptr += sizeof(int);
+          for(int polynr = 0; polynr < *nPolygons; ++polynr)
+          {
+            ptr += (1 + sizeof(int)); //skip endian and polygon type
+            nRings = (int*)ptr;
+            ptr += sizeof(int);
+            for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+            {
+              nPoints = (int*)ptr;
+              ptr += sizeof(int);
+              for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+              {
+                if(pointindex == atVertex.back())
+                {
+                  memcpy(&x, ptr, sizeof(double));
+                  ptr += sizeof(double);
+                  memcpy(&y, ptr, sizeof(double));
+                  return QgsPoint(x,y);
+                }
+                ++pointindex;
+                ptr += 2*sizeof(double);
+                if(hasZValue)
+                {
+                  ptr += sizeof(double);
+                }
+              }
+            }
+          }
+          return QgsPoint(0,0);
+        }
+      default:
+        QgsDebugMsg("error: mGeometry type not recognized");
+        return QgsPoint(0,0);
+    }
+  }
+  else
+  {
+    QgsDebugMsg("error: no mGeometry pointer");
+  }     
+
+  return QgsPoint(0,0);
 }
 
 
 double QgsGeometry::sqrDistToVertexAt(QgsPoint& point,
-                                      QgsGeometryVertexIndex& atVertex) const
+    QgsGeometryVertexIndex& atVertex)
 {
-  double x;
-  double y;
-
-  if (vertexAt(x, y, atVertex))
+  QgsPoint pnt = vertexAt(atVertex);
+  if (pnt != QgsPoint(0,0))
   {
-#ifdef QGISDEBUG
-    std::cout << "QgsGeometry::sqrDistToVertexAt: Exiting with distance to " << x << " " << y << "." << std::endl;
-#endif
-    return point.sqrDist(x, y);
+    QgsDebugMsg("Exiting with distance to " + pnt.stringRep());
+    return point.sqrDist(pnt);
   }
   else
   {
-#ifdef QGISDEBUG
-    std::cout << "QgsGeometry::sqrDistToVertexAt: Exiting with std::numeric_limits<double>::max()." << std::endl;
-#endif
+    QgsDebugMsg("Exiting with std::numeric_limits<double>::max().");
     // probably safest to bail out with a very large number
     return std::numeric_limits<double>::max();
   }
 }
 
 
-QgsPoint QgsGeometry::closestVertexWithContext(QgsPoint& point,
-                                               QgsGeometryVertexIndex& atVertex,
-                                               double& sqrDist)
+double QgsGeometry::closestVertexWithContext(const QgsPoint& point,
+    QgsGeometryVertexIndex& atVertex)
 {
-  QgsPoint minDistPoint;
-
   // Initialise some stuff
   atVertex.clear();
-  sqrDist   = std::numeric_limits<double>::max();
+  double sqrDist = std::numeric_limits<double>::max();
   int closestVertexIndex = 0;
 
   // set up the GEOS geometry
   exportWkbToGeos();
 
-  if (mGeos)
+  if (!mGeos)
   {
-    GEOS_GEOM::CoordinateSequence* sequence = mGeos->getCoordinates();
-	if(sequence)
-	  {
-	    for(int i = 0; i < sequence->getSize(); ++i)
-	      {
-		double testDist = point.sqrDist(sequence->getAt(i).x, sequence->getAt(i).y);
-		if(testDist < sqrDist)
-		  {
-		    closestVertexIndex = i;
-		    sqrDist = testDist;
-		  }
-	      }
-	  }
-	atVertex.push_back(closestVertexIndex);
-  } // if (mGeos)
-  return minDistPoint;
+    QgsDebugMsg("GEOS geometry not available!");
+    return -1;
+  }
+
+  GEOS_GEOM::CoordinateSequence* sequence = mGeos->getCoordinates();
+  if(sequence)
+  {
+    for(GEOS_SIZE_T i = 0; i < sequence->getSize(); ++i)
+    {
+      double testDist = point.sqrDist(sequence->getAt(i).x, sequence->getAt(i).y);
+      if(testDist < sqrDist)
+      {
+        closestVertexIndex = i;
+        sqrDist = testDist;
+      }
+    }
+  }
+  atVertex.push_back(closestVertexIndex);
+
+  return sqrDist;
 }
 
 
-QgsPoint QgsGeometry::closestSegmentWithContext(QgsPoint& point,
-                                                QgsGeometryVertexIndex& beforeVertex,
-                                                double& sqrDist)
+double QgsGeometry::closestSegmentWithContext(const QgsPoint& point,
+    QgsPoint& minDistPoint,
+    QgsGeometryVertexIndex& beforeVertex)
 {
-  QgsPoint minDistPoint;
+  QgsPoint distPoint;
 
-  int wkbType; 
-  double *thisx,*thisy;
-  double *prevx,*prevy;
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
+  double *thisx = NULL;
+  double *thisy = NULL;
+  double *prevx = NULL;
+  double *prevy = NULL;
   double testdist;
   int closestSegmentIndex = 0;
 
   // Initialise some stuff
   beforeVertex.clear();
-  sqrDist   = std::numeric_limits<double>::max();
+  double sqrDist = std::numeric_limits<double>::max();
 
+  // TODO: implement with GEOS
   if(mDirtyWkb) //convert latest geos to mGeometry
-    {
-      exportGeosToWkb();
-    }
+  {
+    exportGeosToWkb();
+  }
 
-  if (mGeometry)
+  if (!mGeometry)
   { 
-    memcpy(&wkbType, (mGeometry+1), sizeof(int));
-    
-    switch (wkbType)
-    {
+    QgsDebugMsg("WKB geometry not available!");
+    return -1;
+  }
+
+  memcpy(&wkbType, (mGeometry+1), sizeof(int));
+
+  switch (wkbType)
+  {
+    case QGis::WKBPoint25D:
     case QGis::WKBPoint:
+    case QGis::WKBMultiPoint25D:
     case QGis::WKBMultiPoint:  
       {
-	// Points have no lines
-	return QgsPoint(0,0);
+        // Points have no lines
+        return -1;
       }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
     case QGis::WKBLineString:
       {
-	unsigned char* ptr = mGeometry+1+sizeof(int);
-	int* npoints = (int*) ptr;
-	ptr += sizeof(int);
-	for (int index=0; index < *npoints; ++index)
-	  {
-	    if (index > 0)
-	      {
-		prevx = thisx;  
-		prevy = thisy;  
-	      }
-	    thisx = (double*) ptr;
-	    ptr += sizeof(double);
-	    thisy = (double*) ptr;
-	    
-	    if (index > 0)
-	      {
-		if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, minDistPoint)) < sqrDist )
-		  {
-		    closestSegmentIndex = index;
-		    sqrDist = testdist;
-		  }
-	      }
-	    ptr += sizeof(double);
-	  }
-	beforeVertex.push_back(closestSegmentIndex);
-	break;
+        unsigned char* ptr = mGeometry+1+sizeof(int);
+        int* npoints = (int*) ptr;
+        ptr += sizeof(int);
+        for (int index=0; index < *npoints; ++index)
+        {
+          if (index > 0)
+          {
+            prevx = thisx;  
+            prevy = thisy;  
+          }
+          thisx = (double*) ptr;
+          ptr += sizeof(double);
+          thisy = (double*) ptr;
+
+          if (index > 0)
+          {
+            if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, distPoint)) < sqrDist )
+            {
+              closestSegmentIndex = index;
+              sqrDist = testdist;
+              minDistPoint = distPoint;
+            }
+          }
+          ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+        }
+        beforeVertex.push_back(closestSegmentIndex);
+        break;
       }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
     case QGis::WKBMultiLineString:
       {
-	unsigned char* ptr = mGeometry+1+sizeof(int);
-	int* nLines = (int*)ptr;
-	ptr += sizeof(int);
-	int* nPoints = 0; //number of points in a line
-	int pointindex = 0;//global pointindex
-	for(int linenr = 0; linenr < *nLines; ++linenr)
-	  {
-	    ptr += sizeof(int) + 1;
-	    nPoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    prevx = 0;
-	    prevy = 0;
-	    for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
-	      {
-		thisx = (double*) ptr;
-		ptr += sizeof(double);
-		thisy = (double*) ptr;
-		ptr += sizeof(double);
-		if(prevx && prevy)
-		  {
-		    if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, minDistPoint)) < sqrDist )
-		      {
-			closestSegmentIndex = pointindex;
-			sqrDist = testdist;
-		      }
-		  }
-		prevx = thisx;
-		prevy = thisy;
-		++pointindex;
-	      }
-	  }
-	beforeVertex.push_back(closestSegmentIndex);
-	break;
+        unsigned char* ptr = mGeometry+1+sizeof(int);
+        int* nLines = (int*)ptr;
+        ptr += sizeof(int);
+        int* nPoints = 0; //number of points in a line
+        int pointindex = 0;//global pointindex
+        for(int linenr = 0; linenr < *nLines; ++linenr)
+        {
+          ptr += sizeof(int) + 1;
+          nPoints = (int*)ptr;
+          ptr += sizeof(int);
+          prevx = 0;
+          prevy = 0;
+          for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+          {
+            thisx = (double*) ptr;
+            ptr += sizeof(double);
+            thisy = (double*) ptr;
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            if(prevx && prevy)
+            {
+              if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, distPoint)) < sqrDist )
+              {
+                closestSegmentIndex = pointindex;
+                sqrDist = testdist;
+                minDistPoint = distPoint;
+              }
+            }
+            prevx = thisx;
+            prevy = thisy;
+            ++pointindex;
+          }
+        }
+        beforeVertex.push_back(closestSegmentIndex);
+        break;
       }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
     case QGis::WKBPolygon:
       {
-	int index = 0;
-	unsigned char* ptr = mGeometry+1+sizeof(int);
-	int* nrings = (int*)ptr;
-	int* npoints = 0; //number of points in a ring
-	ptr += sizeof(int);
-	for(int ringnr = 0; ringnr < *nrings; ++ringnr)//loop over rings
-	  {
-	    npoints = (int*)ptr;
-	    ptr += sizeof(int);
-	    prevx = 0;
-	    prevy = 0;
-	    for(int pointnr = 0; pointnr < *npoints; ++pointnr)//loop over points in a ring
-	      {
-		thisx = (double*)ptr;
-		ptr += sizeof(double);
-		thisy = (double*)ptr;
-		ptr += sizeof(double);
-		if(prevx && prevy)
-		  {
-		    if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, minDistPoint)) < sqrDist )
-		      {
-			closestSegmentIndex = index;
-			sqrDist = testdist;
-		      }
-		  }
-		prevx = thisx;
-		prevy = thisy;
-		++index;
-	      }
-	  }
-	beforeVertex.push_back(closestSegmentIndex);
-	break;
+        int index = 0;
+        unsigned char* ptr = mGeometry+1+sizeof(int);
+        int* nrings = (int*)ptr;
+        int* npoints = 0; //number of points in a ring
+        ptr += sizeof(int);
+        for(int ringnr = 0; ringnr < *nrings; ++ringnr)//loop over rings
+        {
+          npoints = (int*)ptr;
+          ptr += sizeof(int);
+          prevx = 0;
+          prevy = 0;
+          for(int pointnr = 0; pointnr < *npoints; ++pointnr)//loop over points in a ring
+          {
+            thisx = (double*)ptr;
+            ptr += sizeof(double);
+            thisy = (double*)ptr;
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            if(prevx && prevy)
+            {
+              if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, distPoint)) < sqrDist )
+              {
+                closestSegmentIndex = index;
+                sqrDist = testdist;
+                minDistPoint = distPoint;
+              }
+            }
+            prevx = thisx;
+            prevy = thisy;
+            ++index;
+          }
+        }
+        beforeVertex.push_back(closestSegmentIndex);
+        break;
       }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
     case QGis::WKBMultiPolygon:
       {
-	unsigned char* ptr = mGeometry+1+sizeof(int);
-	int* nRings = 0;
-	int* nPoints = 0;
-	int pointindex = 0;
-	int* nPolygons = (int*)ptr;
-	ptr += sizeof(int);
-	for(int polynr = 0; polynr < *nPolygons; ++polynr)
+        unsigned char* ptr = mGeometry+1+sizeof(int);
+        int* nRings = 0;
+        int* nPoints = 0;
+        int pointindex = 0;
+        int* nPolygons = (int*)ptr;
+        ptr += sizeof(int);
+        for(int polynr = 0; polynr < *nPolygons; ++polynr)
+        {
+          ptr += (1 + sizeof(int));
+          nRings = (int*)ptr;
+          ptr += sizeof(int);
+          for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+          {
+            nPoints = (int*)ptr;
+            ptr += sizeof(int);
+            prevx = 0;
+            prevy = 0;
+            for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+            {
+              thisx = (double*)ptr;
+              ptr += sizeof(double);
+              thisy = (double*)ptr;
+              ptr += sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+              if(prevx && prevy)
+              {
+                if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, distPoint)) < sqrDist )
+                {
+                  closestSegmentIndex = pointindex;
+                  sqrDist = testdist;
+                  minDistPoint = distPoint;
+                }
+              }
+              prevx = thisx;
+              prevy = thisy;
+              ++pointindex;
+            }
+          }
+        }
+        beforeVertex.push_back(closestSegmentIndex);
+        break;
+      }
+    case QGis::WKBUnknown:
+    default:
+      return -1;
+      break;
+  } // switch (wkbType)
+
+
+  QgsDebugMsg("Exiting with nearest point " + point.stringRep() +
+      ", dist: " + QString::number(sqrDist) + ".");
+
+  return sqrDist;
+}                 
+
+int QgsGeometry::addRing(const QList<QgsPoint>& ring)
+{
+  //bail out if this geometry is not polygon/multipolygon
+  if(vectorType() != QGis::Polygon)
+    {
+      return 1;
+    }
+
+  //test for invalid geometries
+  if(ring.size() < 4)
+    {
+      return 3;
+    }
+
+  //ring must be closed
+  if(ring.first() != ring.last())
+    {
+      return 2;
+    }
+  
+  //create geos geometry from wkb if not already there
+  if(!mGeos || mDirtyGeos)
+    {
+      exportWkbToGeos();
+    }
+  
+  //Fill GEOS Polygons of the feature into list
+  std::list<GEOS_GEOM::Polygon*> polygonList; //list of polygon pointers (only one for polygon geometries)
+  GEOS_GEOM::Polygon* thisPolygon = 0;
+  GEOS_GEOM::MultiPolygon* thisMultiPolygon = 0;
+
+  if(this->wkbType() == QGis::WKBPolygon)
+    {
+      thisPolygon = dynamic_cast<GEOS_GEOM::Polygon*>(mGeos);
+      if(!thisPolygon)
+	{
+	  return 1;
+	}
+      polygonList.push_back(thisPolygon);
+    }
+  else if(this->wkbType() == QGis::WKBMultiPolygon)
+    {
+      thisMultiPolygon = dynamic_cast<GEOS_GEOM::MultiPolygon*>(mGeos);
+      if(!thisMultiPolygon)
+	{
+	  return 1;
+	}
+      int numPolys = thisMultiPolygon->getNumGeometries();
+      for(int i = 0; i < numPolys; ++i)
+	{
+	  polygonList.push_back((GEOS_GEOM::Polygon*)(thisMultiPolygon->getGeometryN(i)));
+	}
+    }
+
+  //create new ring
+  GEOS_GEOM::DefaultCoordinateSequence* newSequence=new GEOS_GEOM::DefaultCoordinateSequence();
+  for(QList<QgsPoint>::const_iterator it = ring.begin(); it != ring.end(); ++it)
+    {
+      newSequence->add(GEOS_GEOM::Coordinate(it->x(),it->y()));
+    }
+  
+  //create new ring
+  GEOS_GEOM::LinearRing* newRing = geosGeometryFactory->createLinearRing(newSequence);
+  std::vector<GEOS_GEOM::Geometry*> dummyVector;
+
+  //create polygon from new ring because there is a problem with geos operations and linear rings
+  GEOS_GEOM::Polygon* newRingPolygon = geosGeometryFactory->createPolygon(*newRing, dummyVector);
+  if(!newRing || !newRingPolygon || !newRing->isValid() || !newRingPolygon->isValid())
+    {
+      QgsDebugMsg("ring is not valid");
+      delete newRing;
+      delete newRingPolygon;
+      return 3;
+    }
+  
+  GEOS_GEOM::LinearRing* outerRing = 0; //outer ring of already existing feature
+  std::vector<GEOS_GEOM::Geometry*>* inner = 0; //vector of inner rings. The existing rings and the new one will be added
+  int numberOfPolyContainingRing = 0; //for multipolygons: store index of the polygon where the ring is
+  bool foundPoly = false; //set to true as soon we found a polygon containing the ring
+
+  for(std::list<GEOS_GEOM::Polygon*>::const_iterator it = polygonList.begin(); it != polygonList.end(); ++it)
+    {
+      /***********inner rings*****************************************/
+      //consider already existing rings
+      inner=new std::vector<GEOS_GEOM::Geometry*>();
+      int numExistingRings = (*it)->getNumInteriorRing();
+      inner->resize(numExistingRings + 1);
+      for(int i = 0; i < numExistingRings; ++i)
+	{
+	  GEOS_GEOM::LinearRing* existingRing = geosGeometryFactory->createLinearRing((*it)->getInteriorRingN(i)->getCoordinates());
+	  //create polygon from new ring because there is a problem with geos operations and linear rings
+	  GEOS_GEOM::Polygon* existingRingPolygon = geosGeometryFactory->createPolygon(*existingRing, dummyVector);
+	 
+      //check, if the new ring intersects the existing one and bail out if yes
+	  //if(existingRing->disjoint(newRing))
+	  if(!existingRingPolygon->disjoint(newRingPolygon)) //does only work with polygons, not linear rings
+	    {
+	      QgsDebugMsg("new ring not disjoint with existing ring");
+	      //delete objects wich are no longer needed
+	      delete existingRing;
+	      delete existingRingPolygon;
+	      for(std::vector<GEOS_GEOM::Geometry*>::iterator it = inner->begin(); it != inner->end(); ++it)
+		{
+		  delete *it;
+		}
+	      delete inner;
+	      delete newRing;
+	      delete newRingPolygon;
+	      return 4; //error: ring not disjoint with existing rings
+	    }
+	  (*inner)[i] = existingRing;
+	  delete existingRingPolygon; //delete since this polygon has only be created for disjoint() test
+	}
+      
+      //also add new ring to the vector
+      if(newRing)
+	{
+	  (*inner)[numExistingRings] = newRing;
+	}
+
+      /*****************outer ring****************/
+      outerRing = geosGeometryFactory->createLinearRing((*it)->getExteriorRing()->getCoordinates());
+      //create polygon from new ring because there is a problem with geos operations and linear rings
+      GEOS_GEOM::Polygon* outerRingPolygon = geosGeometryFactory->createPolygon(*outerRing, dummyVector);
+
+      //check if the new ring is within the outer shell of the polygon and bail out if not
+      //if(newRing->within(outerRing))
+      if(newRingPolygon->within(outerRingPolygon)) //does only work for polygons, not linear rings
+	{
+	  QgsDebugMsg("new ring within outer ring");
+	  foundPoly = true;
+	  delete outerRingPolygon;
+	  break; //ring is in geometry and does not intersect existing rings -> proceed with adding ring to feature
+	}
+
+      //we need to search in other polygons...
+      for(std::vector<GEOS_GEOM::Geometry*>::iterator it = inner->begin(); it != inner->end(); ++it)
+      {
+	if( (*it) != newRing) //we need newRing for later polygons
 	  {
-	    ptr += (1 + sizeof(int));
-	    nRings = (int*)ptr;
-	    ptr += sizeof(int);
-	    for(int ringnr = 0; ringnr < *nRings; ++ringnr)
+	    delete *it;
+	  }
+      }
+      delete inner;
+      delete outerRing;
+      delete outerRingPolygon;
+      
+      ++numberOfPolyContainingRing;
+    }
+
+  delete newRingPolygon;
+ 
+  if(foundPoly)
+    {
+      GEOS_GEOM::Polygon* newPolygon = geosGeometryFactory->createPolygon(outerRing,inner);
+      if(this->wkbType() == QGis::WKBPolygon)
+	{
+	  delete mGeos;
+	  mGeos = newPolygon;
+	}
+      else if(this->wkbType() == QGis::WKBMultiPolygon)
+	{
+	  //remember in which polygon the ring is and replace only this polygon
+	  std::vector<GEOS_GEOM::Geometry*>* polygons = new std::vector<GEOS_GEOM::Geometry*>();
+	  int numPolys = thisMultiPolygon->getNumGeometries();
+	    for(int i = 0; i < numPolys; ++i)
 	      {
-		nPoints = (int*)ptr;
-		ptr += sizeof(int);
-		prevx = 0;
-		prevy = 0;
-		for(int pointnr = 0; pointnr < *nPoints; ++pointnr)
+		if(i == numberOfPolyContainingRing)
 		  {
-		    thisx = (double*)ptr;
-		    ptr += sizeof(double);
-		    thisy = (double*)ptr;
-		    ptr += sizeof(double);
-		    if(prevx && prevy)
-		      {
-			if((testdist = distanceSquaredPointToSegment(point, prevx, prevy, thisx, thisy, minDistPoint)) < sqrDist )
-			  {
-			    closestSegmentIndex = pointindex;
-			    sqrDist = testdist;
-			  }
-		      }
-		    prevx = thisx;
-		    prevy = thisy;
-		    ++pointindex;
+		    polygons->push_back(newPolygon);
 		  }
+		else
+		  {
+		    GEOS_GEOM::Polygon* p = (GEOS_GEOM::Polygon*)(thisMultiPolygon->getGeometryN(i)->clone());
+		    polygons->push_back(p);
+		  }
 	      }
-	  }
-	beforeVertex.push_back(closestSegmentIndex);
-	break;
-      }
-    } // switch (wkbType)
-    
-  } // if (mGeometry)
+	  delete mGeos;
+	  mGeos = geosGeometryFactory->createMultiPolygon(polygons);
+	}
+      mDirtyWkb = true;
+      mDirtyGeos = false;
+      return 0;
+    }
+  else
+    {
+      delete newRing;
+      return 5;
+    }
+}
 
-#ifdef QGISDEBUG
-      std::cout << "QgsGeometry::closestSegment: Exiting with beforeVertex "
-//                << beforeVertex << ", sqrDist from "
-                << point.stringRep().toLocal8Bit().data() << " is "
-                << sqrDist
-                << "." << std::endl;
-#endif
+int QgsGeometry::addIsland(const QList<QgsPoint>& ring)
+{
+  //bail out if wkbtype is not multipolygon
+  if(wkbType() != QGis::WKBMultiPolygon)
+    {
+      return 1;
+    }
+
+  //create geos geometry from wkb if not already there
+  if(!mGeos || mDirtyGeos)
+    {
+      exportWkbToGeos();
+    }
+
+  //this multipolygon
+  GEOS_GEOM::MultiPolygon* thisMultiPolygon = dynamic_cast<GEOS_GEOM::MultiPolygon*>(mGeos);
+  if(!thisMultiPolygon)
+    {
+      return 1;
+    }
+
+  //create new polygon from ring
+
+  //coordinate sequence first
+  GEOS_GEOM::DefaultCoordinateSequence* newSequence=new GEOS_GEOM::DefaultCoordinateSequence();
+  for(QList<QgsPoint>::const_iterator it = ring.begin(); it != ring.end(); ++it)
+    {
+      newSequence->add(GEOS_GEOM::Coordinate(it->x(),it->y()));
+    }
+  //then linear ring
+  GEOS_GEOM::LinearRing* newRing = geosGeometryFactory->createLinearRing(newSequence);
+  //finally the polygon
+  std::vector<GEOS_GEOM::Geometry*> dummyVector;
+  GEOS_GEOM::Polygon* newPolygon = geosGeometryFactory->createPolygon(*newRing, dummyVector);
+  delete newRing;
+
+  if(!newPolygon || !newPolygon->isValid())
+    {
+      delete newPolygon;
+      return 2;
+    }
+
+  //create new multipolygon
+  std::vector<GEOS_GEOM::Geometry*>* newMultiPolygonVector = new std::vector<GEOS_GEOM::Geometry*>();
+  for(GEOS_SIZE_T i = 0; i < thisMultiPolygon->getNumGeometries(); ++i)
+    {
+      const GEOS_GEOM::Geometry* polygonN = thisMultiPolygon->getGeometryN(i);
       
-  return minDistPoint;  // TODO: Is this meaningful?
+      //bail out if new polygon is not disjoint with existing ones
+      if(!polygonN->disjoint(newPolygon))
+	{
+	  delete newPolygon;
+	  for(std::vector<GEOS_GEOM::Geometry*>::iterator it =newMultiPolygonVector->begin(); it != newMultiPolygonVector->end(); ++it)
+	    {
+	      delete *it;
+	    }
+	  delete newMultiPolygonVector;
+	  return 3;
+	}
+      newMultiPolygonVector->push_back(polygonN->clone());
+    }
+  newMultiPolygonVector->push_back(newPolygon);
+  GEOS_GEOM::MultiPolygon* newMultiPolygon = geosGeometryFactory->createMultiPolygon(newMultiPolygonVector);
+  
+  delete mGeos;
+  mGeos = newMultiPolygon;
 
-}                 
+  mDirtyWkb = true;
+  mDirtyGeos = false;
+  return 0;
+}
 
-
-QgsRect QgsGeometry::boundingBox() const
+QgsRect QgsGeometry::boundingBox()
 {
-    double xmin =  std::numeric_limits<double>::max();
-    double ymin =  std::numeric_limits<double>::max();
-    double xmax = -std::numeric_limits<double>::max();
-    double ymax = -std::numeric_limits<double>::max();
+  double xmin =  std::numeric_limits<double>::max();
+  double ymin =  std::numeric_limits<double>::max();
+  double xmax = -std::numeric_limits<double>::max();
+  double ymax = -std::numeric_limits<double>::max();
 
-    double *x;
-    double *y;
-    int *nPoints;
-    int *numRings;
-    int *numPolygons;
-    int numLineStrings;
-    int idx, jdx, kdx;
-    unsigned char *ptr;
-    char lsb;
-    QgsPoint pt;
-    int wkbType;
+  double *x;
+  double *y;
+  int *nPoints;
+  int *numRings;
+  int *numPolygons;
+  int numLineStrings;
+  int idx, jdx, kdx;
+  unsigned char *ptr;
+  char lsb;
+  QgsPoint pt;
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
 
-    if(mGeometry)
-    {
-      // consider endian when fetching feature type
-      wkbType = (mGeometry[0] == 1) ? mGeometry[1] : mGeometry[4];
-      switch (wkbType)
+  // TODO: implement with GEOS
+  if(mDirtyWkb)
+  {
+    exportGeosToWkb();
+  }
+
+  if(!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return QgsRect(0,0,0,0);
+  }
+  // consider endian when fetching feature type
+  //wkbType = (mGeometry[0] == 1) ? mGeometry[1] : mGeometry[4]; //MH: Does not work for 25D geometries
+  memcpy(&wkbType, &(mGeometry[1]), sizeof(int));
+  switch (wkbType)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBPoint:
+      x = (double *) (mGeometry + 5);
+      y = (double *) (mGeometry + 5 + sizeof(double));
+      if (*x < xmin)
       {
-      case QGis::WKBPoint:
-        x = (double *) (mGeometry + 5);
-        y = (double *) (mGeometry + 5 + sizeof(double));
-        if (*x < xmin)
+        xmin=*x;
+      }
+      if (*x > xmax)
+      {
+        xmax=*x;
+      }
+      if (*y < ymin)
+      {
+        ymin=*y;
+      }
+      if (*y > ymax)
+      {
+        ymax=*y;
+      }
+      break;
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
+    case QGis::WKBMultiPoint:
+      {
+        ptr = mGeometry + 1 + sizeof(int);
+        nPoints = (int *) ptr;
+        for (idx = 0; idx < *nPoints; idx++)
         {
-          xmin=*x;
+          ptr += (1+sizeof(int));
+          x = (double *) ptr;
+          ptr += sizeof(double);
+          y = (double *) ptr;
+          ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+          if (*x < xmin)
+          {
+            xmin=*x;
+          }
+          if (*x > xmax)
+          {
+            xmax=*x;
+          }
+          if (*y < ymin)
+          {
+            ymin=*y;
+          }
+          if (*y > ymax)
+          {
+            ymax=*y;
+          }
         }
-        if (*x > xmax)
-        {
-          xmax=*x;
-        }
-        if (*y < ymin)
-        {
-          ymin=*y;
-        }
-        if (*y > ymax)
-        {
-          ymax=*y;
-        }
         break;
-      case QGis::WKBMultiPoint:
-	{
-	  ptr = mGeometry + 1 + sizeof(int);
-	  nPoints = (int *) ptr;
-	  for (idx = 0; idx < *nPoints; idx++)
-	    {
-	      ptr += (1+sizeof(int));
-	      x = (double *) ptr;
-	      ptr += sizeof(double);
-	      y = (double *) ptr;
-	      ptr += sizeof(double);
-	      if (*x < xmin)
-		{
-		  xmin=*x;
-		}
-	      if (*x > xmax)
-		{
-		  xmax=*x;
-		}
-	      if (*y < ymin)
-		{
-		  ymin=*y;
-		}
-	      if (*y > ymax)
-		{
-		  ymax=*y;
-		}
-	    }
-	  break;
-	}
-      case QGis::WKBLineString:
+      }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
+    case QGis::WKBLineString:
+      {
         // get number of points in the line
         ptr = mGeometry + 5;
         nPoints = (int *) ptr;
@@ -1891,13 +2646,17 @@
           ptr += sizeof(double);
           y = (double *) ptr;
           ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
           if (*x < xmin)
           {
             xmin=*x;
           }
           if (*x > xmax)
           {
-	      xmax=*x;
+            xmax=*x;
           }
           if (*y < ymin)
           {
@@ -1909,8 +2668,11 @@
           }
         }
         break;
-
-      case QGis::WKBMultiLineString:
+      }
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
+    case QGis::WKBMultiLineString:
+      {
         numLineStrings = (int) (mGeometry[5]);
         ptr = mGeometry + 9;
         for (jdx = 0; jdx < numLineStrings; jdx++)
@@ -1926,6 +2688,10 @@
             ptr += sizeof(double);
             y = (double *) ptr;
             ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
             if (*x < xmin)
             {
               xmin=*x;
@@ -1945,8 +2711,11 @@
           }
         }
         break;
-
-      case QGis::WKBPolygon:
+      }
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon:
+      {
         // get number of rings in the polygon
         numRings = (int *) (mGeometry + 1 + sizeof(int));
         ptr = mGeometry + 1 + 2 * sizeof(int);
@@ -1962,6 +2731,10 @@
             ptr += sizeof(double);
             y = (double *) ptr;
             ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
             if (*x < xmin)
             {
               xmin=*x;
@@ -1981,12 +2754,15 @@
           }
         }
         break;
-
-	case QGis::WKBMultiPolygon:
+      }
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
+    case QGis::WKBMultiPolygon:
+      {
         // get the number of polygons
         ptr = mGeometry + 5;
         numPolygons = (int *) ptr;
-	ptr += 4;
+        ptr += 4;
 
         for (kdx = 0; kdx < *numPolygons; kdx++)
         {
@@ -2007,6 +2783,10 @@
               ptr += sizeof(double);
               y = (double *) ptr;
               ptr += sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
               if (*x < xmin)
               {
                 xmin=*x;
@@ -2027,650 +2807,620 @@
           }
         }
         break;
+      }
 
-      default:
-	  #ifdef QGISDEBUG
-        std::cout << "UNKNOWN WKBTYPE ENCOUNTERED\n";
-#endif
-        break;
+    default:
+      QgsDebugMsg("UNKNOWN WKBTYPE ENCOUNTERED");
+      return QgsRect(0,0,0,0);
+      break;
 
-      }
-      return QgsRect(xmin,ymin,xmax,ymax);
-    }
-    else
-    {
-	return QgsRect(0,0,0,0);
-    }
+  }
+  return QgsRect(xmin,ymin,xmax,ymax);
 }
 
+bool QgsGeometry::intersects(const QgsRect& r)
+{
+  QgsGeometry* g = fromRect(r);
+  bool res = intersects(g);
+  delete g;
+  return res;
+}
 
-bool QgsGeometry::intersects(QgsRect* r) const
+bool QgsGeometry::intersects(QgsGeometry* geometry)
 {
-    bool returnval=false;
+  // ensure that both geometries have geos geometry
+  exportWkbToGeos();
+  geometry->exportWkbToGeos();
 
-    GEOS_GEOM::GeometryFactory *gf = new GEOS_GEOM::GeometryFactory();
-    GEOS_IO::WKTReader *wktReader = new GEOS_IO::WKTReader(gf);
-    GEOS_GEOM::Geometry *geosGeom = wktReader->read( qstrdup(wkt()) );
+  if (!mGeos || !geometry->mGeos)
+  {
+    QgsDebugMsg("GEOS geometry not available!");
+    return false;
+  }
 
-    //write the selection rectangle to wkt by hand
-    QString rectwkt="POLYGON((";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMax(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMax(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMax(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMax(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+="))";
-    
-    GEOS_GEOM::Geometry *geosRect = wktReader->read( qstrdup(rectwkt) );
-    try // geos might throw exception on error
-    {
-      if(geosGeom->intersects(geosRect))
-      {
-        returnval=true;
-      }
-    }
-    catch (GEOS_UTIL::TopologyException* e)
-    {
+  try // geos might throw exception on error
+  {
+    return mGeos->intersects(geometry->mGeos);
+  }
+  catch (GEOS_UTIL::TopologyException* e)
+  {
 #if GEOS_VERSION_MAJOR < 3
-      QString error = e->toString().c_str();
+    QString error = e->toString().c_str();
 #else
-      QString error = e->what();
+    QString error = e->what();
 #endif
-      QgsLogger::warning("GEOS: " + error);
-    }
- 
-    delete geosGeom;
-    delete geosRect;
-    delete gf;
-    delete wktReader;
-    return returnval;
-}
+    QgsLogger::warning("GEOS: " + error);
+    return false;
+  }
 
-bool QgsGeometry::fast_intersects(const QgsRect* r) const
-{
-  bool returnval=false;
-  
-  //use the geos export of QgsGeometry
-  GEOS_GEOM::Geometry *geosGeom = geosGeometry();
-
-  //write the selection rectangle to wkt by hand
-    QString rectwkt="POLYGON((";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMax(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMax(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMax(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMax(),'f',3);
-    rectwkt+=",";
-    rectwkt+=QString::number(r->xMin(),'f',3);
-    rectwkt+=" ";
-    rectwkt+=QString::number(r->yMin(),'f',3);
-    rectwkt+="))";
-    GEOS_GEOM::GeometryFactory *gf = new GEOS_GEOM::GeometryFactory();
-    GEOS_IO::WKTReader *wktReader = new GEOS_IO::WKTReader(gf);
-    GEOS_GEOM::Geometry *geosRect = wktReader->read( qstrdup(rectwkt) );
-    
-    try // geos might throw exception on error
-    {
-      if(geosGeom->intersects(geosRect))
-      {
-        returnval=true;
-      }
-    }
-    catch (GEOS_UTIL::TopologyException* e)
-    {
-#if GEOS_VERSION_MAJOR < 3
-      QString error = e->toString().c_str();
-#else
-      QString error = e->what();
-#endif
-      QgsLogger::warning("GEOS: " + error);
-    }
-      
-    delete geosGeom;
-    delete geosRect;
-    delete gf;
-    delete wktReader;
-    return returnval;
 }
 
 
-bool QgsGeometry::contains(QgsPoint* p) const
+bool QgsGeometry::contains(QgsPoint* p)
 {
-    bool returnval = false;
+  exportWkbToGeos();
 
-    exportWkbToGeos();
+  if (!mGeos)
+  {
+    QgsDebugMsg("GEOS geometry not available!");
+    return false;
+  }
 
-    GEOS_GEOM::Point* geosPoint = geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(p->x(), p->y()));
+  GEOS_GEOM::Point* geosPoint = geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(p->x(), p->y()));
 
-    returnval = mGeos->contains(geosPoint);
+  bool returnval = mGeos->contains(geosPoint);
 
-    delete geosPoint;
+  delete geosPoint;
 
-    return returnval;
+  return returnval;
 }
 
 
-bool QgsGeometry::exportToWkt(unsigned char * geom) const
+QString QgsGeometry::exportToWkt()
 {
   QgsDebugMsg("QgsGeometry::exportToWkt: entered");
 
-    if(geom)
-    {
-	int wkbType;
-	double *x,*y;
+  // TODO: implement with GEOS
+  if(mDirtyWkb)
+  {
+    exportGeosToWkb();
+  }
 
-	mWkt="";
-        // Will this really work when geom[0] == 0 ???? I (gavin) think not.
-	wkbType = (geom[0] == 1) ? geom[1] : geom[4];
-	switch (wkbType)
-	{
-	    case QGis::WKBPoint:
-	    {
-		mWkt+="POINT(";
-		x = (double *) (geom + 5);
-		mWkt+=QString::number(*x,'f',6);
-		mWkt+=" ";
-		y = (double *) (geom + 5 + sizeof(double));
-		mWkt+=QString::number(*y,'f',6);
-		mWkt+=")";
-		break;
-	    }
-	    case QGis::WKBLineString:
-	    {
-	      QgsDebugMsg("QgsGeometry::exportToWkt: LINESTRING found");
-		unsigned char *ptr;
-		int *nPoints;
-		int idx;
+  if (!mGeometry)
+  {
+    QgsDebugMsg("WKB geometry not available!");
+    return false;
+  }
 
-		mWkt+="LINESTRING(";
-		// get number of points in the line
-		ptr = geom + 5;
-		nPoints = (int *) ptr;
-		ptr = geom + 1 + 2 * sizeof(int);
-		for (idx = 0; idx < *nPoints; ++idx)
-		{
-		    if(idx!=0)
-		    {
-			mWkt+=", ";
-		    }
-		    x = (double *) ptr;
-		    mWkt+=QString::number(*x,'f',6);
-		    mWkt+=" ";
-		    ptr += sizeof(double);
-		    y = (double *) ptr;
-		    mWkt+=QString::number(*y,'f',6);
-		    ptr += sizeof(double);
-		}
-		mWkt+=")";
-		break;
-	    }
-	    case QGis::WKBPolygon:
-	    {
-	      QgsDebugMsg("QgsGeometry::exportToWkt: POLYGON found");
-		unsigned char *ptr;
-		int idx, jdx;
-		int *numRings, *nPoints;
+  QGis::WKBTYPE wkbType;
+  bool hasZValue = false;
+  double *x,*y;
 
-		mWkt+="POLYGON(";
-		// get number of rings in the polygon
-		numRings = (int *)(geom + 1 + sizeof(int));
-		if (!(*numRings))  // sanity check for zero rings in polygon
-		{
-		    break;
-		}
-		int *ringStart; // index of first point for each ring
-		int *ringNumPoints; // number of points in each ring
-		ringStart = new int[*numRings];
-		ringNumPoints = new int[*numRings];
-		ptr = geom+1+2*sizeof(int); // set pointer to the first ring
-		for (idx = 0; idx < *numRings; idx++)
-		{
-		    if(idx!=0)
-		    {
-			mWkt+=",";
-		    }
-		    mWkt+="(";
-		    // get number of points in the ring
-		    nPoints = (int *) ptr;
-		    ringNumPoints[idx] = *nPoints;
-		    ptr += 4;
-		    
-		    for(jdx=0;jdx<*nPoints;jdx++)
-		    {
-			if(jdx!=0)
-			{
-			    mWkt+=",";
-			}
-			x = (double *) ptr;
-			mWkt+=QString::number(*x,'f',6);
-			mWkt+=" ";
-			ptr += sizeof(double);
-			y = (double *) ptr;
-			mWkt+=QString::number(*y,'f',6);
-			ptr += sizeof(double);
-		    }
-		    mWkt+=")";
-		}
-		mWkt+=")";
-		delete [] ringStart;
-		delete [] ringNumPoints;
-		break;
-	    }
-	    case QGis::WKBMultiPoint:
-	    {
-		unsigned char *ptr;
-		int idx;
-		int *nPoints;
+  QString mWkt; // TODO: rename
 
-		mWkt+="MULTIPOINT(";
-		nPoints=(int*)(geom+5);
-		ptr=geom+5+sizeof(int);
-		for(idx=0;idx<*nPoints;++idx)
-		{
-		  ptr += (1+sizeof(int));
-		    if(idx!=0)
-		    {
-			mWkt+=", ";
-		    }
-		    x = (double *) (ptr);
-		    mWkt+=QString::number(*x,'f',6);
-		    mWkt+=" ";
-		    ptr+=sizeof(double);
-		    y= (double *) (ptr);
-		    mWkt+=QString::number(*y,'f',6);
-		    ptr+=sizeof(double);
-		}
-		mWkt+=")";
-		break;
-	    }
+  // Will this really work when mGeometry[0] == 0 ???? I (gavin) think not.
+  //wkbType = (mGeometry[0] == 1) ? mGeometry[1] : mGeometry[4];
+  memcpy(&wkbType, &(mGeometry[1]), sizeof(int));
 
-	    case QGis::WKBMultiLineString:
-	    {
-	      QgsDebugMsg("QgsGeometry::exportToWkt: MULTILINESTRING found");
-		unsigned char *ptr;
-		int idx, jdx, numLineStrings;
-		int *nPoints;
+  switch (wkbType)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBPoint:
+      {
+        mWkt+="POINT(";
+        x = (double *) (mGeometry + 5);
+        mWkt+=QString::number(*x,'f',6);
+        mWkt+=" ";
+        y = (double *) (mGeometry + 5 + sizeof(double));
+        mWkt+=QString::number(*y,'f',6);
+        mWkt+=")";
+        return mWkt;
+      }
 
-		mWkt+="MULTILINESTRING(";
-		numLineStrings = (int) (geom[5]);
-		ptr = geom + 9;
-		for (jdx = 0; jdx < numLineStrings; jdx++)
-		{
-		    if(jdx!=0)
-		    {
-			mWkt+=", ";
-		    }
-		    mWkt+="(";
-		    ptr += 5; // skip type since we know its 2
-		    nPoints = (int *) ptr;
-		    ptr += sizeof(int);
-		    for (idx = 0; idx < *nPoints; idx++)
-		    {
-			if(idx!=0)
-			{
-			    mWkt+=", ";
-			}
-			x = (double *) ptr;
-			mWkt+=QString::number(*x,'f',6);
-			ptr += sizeof(double);
-			mWkt+=" ";
-			y = (double *) ptr;
-			mWkt+=QString::number(*y,'f',6);
-			ptr += sizeof(double);
-		    }
-		    mWkt+=")";
-		}
-		mWkt+=")";
-		break;
-	    }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
+    case QGis::WKBLineString:
+      {
+        QgsDebugMsg("QgsGeometry::exportToWkt: LINESTRING found");
+        unsigned char *ptr;
+        int *nPoints;
+        int idx;
 
-	    case QGis::WKBMultiPolygon:
-	    {
-	      QgsDebugMsg("QgsGeometry::exportToWkt: MULTIPOLYGON found");
-		unsigned char *ptr;
-		int idx, jdx, kdx;
-		int *numPolygons, *numRings, *nPoints;
-		
-		mWkt+="MULTIPOLYGON(";
-		ptr = geom + 5;
-		numPolygons = (int *) ptr;
-		ptr = geom + 9;
-		for (kdx = 0; kdx < *numPolygons; kdx++)
-		{
-		    if(kdx!=0)
-		    {
-			mWkt+=",";
-		    }
-		    mWkt+="(";
-		    ptr+=5;
-		    numRings = (int *) ptr;
-		    ptr += 4;
-		    for (idx = 0; idx < *numRings; idx++)
-		    {
-			if(idx!=0)
-			{
-			    mWkt+=",";
-			}
-			mWkt+="(";
-			nPoints = (int *) ptr;
-			ptr += 4;
-			for (jdx = 0; jdx < *nPoints; jdx++)
-			{
-			  if(jdx!=0)
-			    {
-			      mWkt+=",";
-			    }
-			    x = (double *) ptr;
-			    mWkt+=QString::number(*x,'f',6);
-			    ptr += sizeof(double);
-			    mWkt+=" ";
-			    y = (double *) ptr;
-			    mWkt+=QString::number(*y,'f',6);
-			    ptr += sizeof(double);
-			}
-			mWkt+=")";
-		    }
-		    mWkt+=")";
-		}
-		mWkt+=")";
-		break;
-	    }
-	    default:
-#ifdef QGISDEBUG
-		qWarning("error: mGeometry type not recognized in QgsGeometry::exportToWkt");
-#endif
-		return false;
-		break;
-	}
-	return true;
-	
-    }
-    else
-    {
-#ifdef QGISDEBUG
-	qWarning("error: no geom pointer in QgsGeometry::exportToWkt");
-#endif
-	return false;
-    }
-    
+        mWkt+="LINESTRING(";
+        // get number of points in the line
+        ptr = mGeometry + 5;
+        nPoints = (int *) ptr;
+        ptr = mGeometry + 1 + 2 * sizeof(int);
+        for (idx = 0; idx < *nPoints; ++idx)
+        {
+          if(idx!=0)
+          {
+            mWkt+=", ";
+          }
+          x = (double *) ptr;
+          mWkt+=QString::number(*x,'f',6);
+          mWkt+=" ";
+          ptr += sizeof(double);
+          y = (double *) ptr;
+          mWkt+=QString::number(*y,'f',6);
+          ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+        }
+        mWkt+=")";
+        return mWkt;
+      }
+
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon:
+      {
+        QgsDebugMsg("QgsGeometry::exportToWkt: POLYGON found");
+        unsigned char *ptr;
+        int idx, jdx;
+        int *numRings, *nPoints;
+
+        mWkt+="POLYGON(";
+        // get number of rings in the polygon
+        numRings = (int *)(mGeometry + 1 + sizeof(int));
+        if (!(*numRings))  // sanity check for zero rings in polygon
+        {
+          return QString();
+        }
+        int *ringStart; // index of first point for each ring
+        int *ringNumPoints; // number of points in each ring
+        ringStart = new int[*numRings];
+        ringNumPoints = new int[*numRings];
+        ptr = mGeometry+1+2*sizeof(int); // set pointer to the first ring
+        for (idx = 0; idx < *numRings; idx++)
+        {
+          if(idx!=0)
+          {
+            mWkt+=",";
+          }
+          mWkt+="(";
+          // get number of points in the ring
+          nPoints = (int *) ptr;
+          ringNumPoints[idx] = *nPoints;
+          ptr += 4;
+
+          for(jdx=0;jdx<*nPoints;jdx++)
+          {
+            if(jdx!=0)
+            {
+              mWkt+=",";
+            }
+            x = (double *) ptr;
+            mWkt+=QString::number(*x,'f',6);
+            mWkt+=" ";
+            ptr += sizeof(double);
+            y = (double *) ptr;
+            mWkt+=QString::number(*y,'f',6);
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+          }
+          mWkt+=")";
+        }
+        mWkt+=")";
+        delete [] ringStart;
+        delete [] ringNumPoints;
+        return mWkt;
+      }
+
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
+    case QGis::WKBMultiPoint:
+      {
+        unsigned char *ptr;
+        int idx;
+        int *nPoints;
+
+        mWkt+="MULTIPOINT(";
+        nPoints=(int*)(mGeometry+5);
+        ptr=mGeometry+5+sizeof(int);
+        for(idx=0;idx<*nPoints;++idx)
+        {
+          ptr += (1+sizeof(int));
+          if(idx!=0)
+          {
+            mWkt+=", ";
+          }
+          x = (double *) (ptr);
+          mWkt+=QString::number(*x,'f',6);
+          mWkt+=" ";
+          ptr+=sizeof(double);
+          y= (double *) (ptr);
+          mWkt+=QString::number(*y,'f',6);
+          ptr+=sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+        }
+        mWkt+=")";
+        return mWkt;
+      }
+
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
+    case QGis::WKBMultiLineString:
+      {
+        QgsDebugMsg("QgsGeometry::exportToWkt: MULTILINESTRING found");
+        unsigned char *ptr;
+        int idx, jdx, numLineStrings;
+        int *nPoints;
+
+        mWkt+="MULTILINESTRING(";
+        numLineStrings = (int) (mGeometry[5]);
+        ptr = mGeometry + 9;
+        for (jdx = 0; jdx < numLineStrings; jdx++)
+        {
+          if(jdx!=0)
+          {
+            mWkt+=", ";
+          }
+          mWkt+="(";
+          ptr += 5; // skip type since we know its 2
+          nPoints = (int *) ptr;
+          ptr += sizeof(int);
+          for (idx = 0; idx < *nPoints; idx++)
+          {
+            if(idx!=0)
+            {
+              mWkt+=", ";
+            }
+            x = (double *) ptr;
+            mWkt+=QString::number(*x,'f',6);
+            ptr += sizeof(double);
+            mWkt+=" ";
+            y = (double *) ptr;
+            mWkt+=QString::number(*y,'f',6);
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+          }
+          mWkt+=")";
+        }
+        mWkt+=")";
+        return mWkt;
+      }
+
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
+    case QGis::WKBMultiPolygon:
+      {
+        QgsDebugMsg("QgsGeometry::exportToWkt: MULTIPOLYGON found");
+        unsigned char *ptr;
+        int idx, jdx, kdx;
+        int *numPolygons, *numRings, *nPoints;
+
+        mWkt+="MULTIPOLYGON(";
+        ptr = mGeometry + 5;
+        numPolygons = (int *) ptr;
+        ptr = mGeometry + 9;
+        for (kdx = 0; kdx < *numPolygons; kdx++)
+        {
+          if(kdx!=0)
+          {
+            mWkt+=",";
+          }
+          mWkt+="(";
+          ptr+=5;
+          numRings = (int *) ptr;
+          ptr += 4;
+          for (idx = 0; idx < *numRings; idx++)
+          {
+            if(idx!=0)
+            {
+              mWkt+=",";
+            }
+            mWkt+="(";
+            nPoints = (int *) ptr;
+            ptr += 4;
+            for (jdx = 0; jdx < *nPoints; jdx++)
+            {
+              if(jdx!=0)
+              {
+                mWkt+=",";
+              }
+              x = (double *) ptr;
+              mWkt+=QString::number(*x,'f',6);
+              ptr += sizeof(double);
+              mWkt+=" ";
+              y = (double *) ptr;
+              mWkt+=QString::number(*y,'f',6);
+              ptr += sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+            }
+            mWkt+=")";
+          }
+          mWkt+=")";
+        }
+        mWkt+=")";
+        return mWkt;
+      }
+
+    default:
+      QgsDebugMsg("error: mGeometry type not recognized");
+      return QString();
+  }
 }
 
 
-bool QgsGeometry::exportToWkt() const
+
+bool QgsGeometry::exportWkbToGeos()
 {
-  if (mDirtyWkt)
+  QgsDebugMsg("QgsGeometry::exportWkbToGeos: entered.");
+
+  if (!mDirtyGeos)
   {
-    return (mDirtyWkt = exportToWkt( mGeometry ));
+    // No need to convert again
+    return TRUE;
   }
-  else
+
+  if (mGeos)
   {
-    // Already have a fresh copy of Wkt available.
+    delete mGeos;
+    mGeos = 0;
+  }
+
+  if (!mGeometry)
+  {
+    // no WKB => no GEOS
+    mDirtyGeos = FALSE;
     return TRUE;
-  }  
-}
+  }
 
+  double *x;
+  double *y;
+  int *nPoints;
+  int *numRings;
+  int *numPolygons;
+  int numLineStrings;
+  int idx, jdx, kdx;
+  unsigned char *ptr;
+  char lsb;
+  QgsPoint pt;
+  QGis::WKBTYPE wkbtype;
+  bool hasZValue = false;
 
+  //wkbtype = (mGeometry[0] == 1) ? mGeometry[1] : mGeometry[4];
+  memcpy(&wkbtype, &(mGeometry[1]), sizeof(int));
+  switch(wkbtype)
+  {
+    case QGis::WKBPoint25D:
+    case QGis::WKBPoint:
+      {
+        x = (double *) (mGeometry + 5);
+        y = (double *) (mGeometry + 5 + sizeof(double));
 
-GEOS_GEOM::Geometry* QgsGeometry::geosGeometry() const
-{
+        mGeos = geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(*x,*y));
+        mDirtyGeos = FALSE;
+        break;
+      }
 
-    if (!mDirtyGeos)
-    {
-      // No need to convert again
-      return mGeos;
-      
-      // TODO: make mGeos useful - assign to it and clear mDirty before we return out of this function
-    }
+    case QGis::WKBMultiPoint25D:
+      hasZValue = true;
+    case QGis::WKBMultiPoint:
+      {
+        std::vector<GEOS_GEOM::Geometry*>* points=new std::vector<GEOS_GEOM::Geometry*>;
+        ptr = mGeometry + 5;
+        nPoints = (int *) ptr;
+        ptr = mGeometry + 1 + 2 * sizeof(int);
+        for (idx = 0; idx < *nPoints; idx++)
+        {
+          ptr += (1 + sizeof(int));
+          x = (double *) ptr;
+          ptr += sizeof(double);
+          y = (double *) ptr;
+          ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+          points->push_back(geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(*x,*y)));
+        }
+        mGeos = geosGeometryFactory->createMultiPoint(points);
+        mDirtyGeos = FALSE;
+        break;
+      }
 
-    if(!mGeometry)
-    {
-	return 0;
-    }
+    case QGis::WKBLineString25D:
+      hasZValue = true;
+    case QGis::WKBLineString:
+      {
+        QgsDebugMsg("QgsGeometry::geosGeometry: Linestring found");
 
-#ifdef QGISDEBUG
-  std::cout << "QgsGeometry::geosGeometry: entered." << std::endl;
-#endif
+        GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
+        ptr = mGeometry + 5;
+        nPoints = (int *) ptr;
+        ptr = mGeometry + 1 + 2 * sizeof(int);
+        for (idx = 0; idx < *nPoints; idx++)
+        {
+          x = (double *) ptr;
+          ptr += sizeof(double);
+          y = (double *) ptr;
+          ptr += sizeof(double);
+          if(hasZValue)
+          {
+            ptr += sizeof(double);
+          }
+          sequence->add(GEOS_GEOM::Coordinate(*x,*y));
+        }
+        mDirtyGeos = FALSE;
+        mGeos = geosGeometryFactory->createLineString(sequence); 
+        break;
+      }
 
-    double *x;
-    double *y;
-    int *nPoints;
-    int *numRings;
-    int *numPolygons;
-    int numLineStrings;
-    int idx, jdx, kdx;
-    unsigned char *ptr;
-    char lsb;
-    QgsPoint pt;
-    int wkbtype;
+    case QGis::WKBMultiLineString25D:
+      hasZValue = true;
+    case QGis::WKBMultiLineString:
+      {
+        std::vector<GEOS_GEOM::Geometry*>* lines=new std::vector<GEOS_GEOM::Geometry*>;
+        numLineStrings = (int) (mGeometry[5]);
+        ptr = mGeometry + 9;
+        for (jdx = 0; jdx < numLineStrings; jdx++)
+        {
+          GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
+          // each of these is a wbklinestring so must handle as such
+          lsb = *ptr;
+          ptr += 5;   // skip type since we know its 2
+          nPoints = (int *) ptr;
+          ptr += sizeof(int);
+          for (idx = 0; idx < *nPoints; idx++)
+          {
+            x = (double *) ptr;
+            ptr += sizeof(double);
+            y = (double *) ptr;
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            sequence->add(GEOS_GEOM::Coordinate(*x,*y));
+          }
+          lines->push_back(geosGeometryFactory->createLineString(sequence));
+        }
+        mGeos = geosGeometryFactory->createMultiLineString(lines);
+        mDirtyGeos = FALSE;
+        break;
+      }
 
-//    // TODO: Make this a static member - save generating for every geometry
-//    GEOS_GEOM::GeometryFactory* geometryFactory = new GEOS_GEOM::GeometryFactory();
-    
-    wkbtype = (mGeometry[0] == 1) ? mGeometry[1] : mGeometry[4];
-    switch(wkbtype)
-    {
-	case QGis::WKBPoint:
-	{
-	   x = (double *) (mGeometry + 5);
-	   y = (double *) (mGeometry + 5 + sizeof(double));
-           
-           mDirtyGeos = FALSE;
-	   return geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(*x,*y));
-	}
-	case QGis::WKBMultiPoint:
-	{
-	    std::vector<GEOS_GEOM::Geometry*>* points=new std::vector<GEOS_GEOM::Geometry*>;
-	    ptr = mGeometry + 5;
-	    nPoints = (int *) ptr;
-	    ptr = mGeometry + 1 + 2 * sizeof(int);
-	    for (idx = 0; idx < *nPoints; idx++)
-	    {
-	      ptr += (1 + sizeof(int));
-		x = (double *) ptr;
-		ptr += sizeof(double);
-		y = (double *) ptr;
-		ptr += sizeof(double);
-		points->push_back(geosGeometryFactory->createPoint(GEOS_GEOM::Coordinate(*x,*y)));
-	    }
-	    return geosGeometryFactory->createMultiPoint(points);
-	}
-	case QGis::WKBLineString:
-	{
-#ifdef QGISDEBUG
-    qWarning("QgsGeometry::geosGeometry: Linestring found");
-#endif
-	    GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
-	    ptr = mGeometry + 5;
-	    nPoints = (int *) ptr;
-	    ptr = mGeometry + 1 + 2 * sizeof(int);
-	    for (idx = 0; idx < *nPoints; idx++)
-	    {
-		x = (double *) ptr;
-		ptr += sizeof(double);
-		y = (double *) ptr;
-		ptr += sizeof(double);
-		sequence->add(GEOS_GEOM::Coordinate(*x,*y));
-	    }
-	    return geosGeometryFactory->createLineString(sequence); 
-	}
-	case QGis::WKBMultiLineString:
-	{
-	    std::vector<GEOS_GEOM::Geometry*>* lines=new std::vector<GEOS_GEOM::Geometry*>;
-	    numLineStrings = (int) (mGeometry[5]);
-	    ptr = mGeometry + 9;
-	    for (jdx = 0; jdx < numLineStrings; jdx++)
-	    {
-		GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
-		// each of these is a wbklinestring so must handle as such
-		lsb = *ptr;
-		ptr += 5;   // skip type since we know its 2
-		nPoints = (int *) ptr;
-		ptr += sizeof(int);
-		for (idx = 0; idx < *nPoints; idx++)
-		{
-		    x = (double *) ptr;
-		    ptr += sizeof(double);
-		    y = (double *) ptr;
-		    ptr += sizeof(double);
-		    sequence->add(GEOS_GEOM::Coordinate(*x,*y));
-		}
-		lines->push_back(geosGeometryFactory->createLineString(sequence));
-	    }
-	    return geosGeometryFactory->createMultiLineString(lines);
-	}
-	case QGis::WKBPolygon: 
-	{
-#ifdef QGISDEBUG
-    qWarning("Polygon found");
-#endif
-	    // get number of rings in the polygon
-	    numRings = (int *) (mGeometry + 1 + sizeof(int));
-	    ptr = mGeometry + 1 + 2 * sizeof(int);
-	    
-	    GEOS_GEOM::LinearRing* outer=0;
-	    std::vector<GEOS_GEOM::Geometry*>* inner=new std::vector<GEOS_GEOM::Geometry*>;
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon: 
+      {
+        QgsDebugMsg("Polygon found");
 
-	    for (idx = 0; idx < *numRings; idx++)
-	    {
-#ifdef QGISDEBUG
-    qWarning("Ring nr: "+QString::number(idx));
-#endif		
-		GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
-		// get number of points in the ring
-		nPoints = (int *) ptr;
-		ptr += 4;
-		for (jdx = 0; jdx < *nPoints; jdx++)
-		{
-		    // add points to a point array for drawing the polygon
-		    x = (double *) ptr;
-		    ptr += sizeof(double);
-		    y = (double *) ptr;
-		    ptr += sizeof(double);
-		    sequence->add(GEOS_GEOM::Coordinate(*x,*y));
-		}
-		GEOS_GEOM::LinearRing* ring=geosGeometryFactory->createLinearRing(sequence);
-		if(idx==0)
-		{
-		    outer=ring;
-		}
-		else
-		{
-		    inner->push_back(ring);
-		}
-	    }
-	    return geosGeometryFactory->createPolygon(outer,inner);
-	}
-	
-	case QGis::WKBMultiPolygon:
-	{
-#ifdef QGISDEBUG
-	    qWarning("Multipolygon found");
-#endif
-	    std::vector<GEOS_GEOM::Geometry *> *polygons=new std::vector<GEOS_GEOM::Geometry *>;
-	    // get the number of polygons
-	    ptr = mGeometry + 5;
-	    numPolygons = (int *) ptr;
-	    ptr = mGeometry +9;
-	    for (kdx = 0; kdx < *numPolygons; kdx++)
-	    {
-#ifdef QGISDEBUG
-		//qWarning("Polygon nr: "+QString::number(kdx));
-#endif
-		GEOS_GEOM::LinearRing* outer=0;
-		std::vector<GEOS_GEOM::Geometry*>* inner=new std::vector<GEOS_GEOM::Geometry*>;
+        // get number of rings in the polygon
+        numRings = (int *) (mGeometry + 1 + sizeof(int));
+        ptr = mGeometry + 1 + 2 * sizeof(int);
 
-		//skip the endian and mGeometry type info and
-		// get number of rings in the polygon
-		ptr += 5;
-		numRings = (int *) ptr;
-		ptr += 4;
-		for (idx = 0; idx < *numRings; idx++)
-		{
-#ifdef QGISDEBUG
-		    //qWarning("Ring nr: "+QString::number(idx));
-#endif
-		    GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
-		    // get number of points in the ring
-		    nPoints = (int *) ptr;
-		    ptr += 4;
-		    for (jdx = 0; jdx < *nPoints; jdx++)
-		    {
-			// add points to a point array for drawing the polygon
-			x = (double *) ptr;
-			ptr += sizeof(double);
-			y = (double *) ptr;
-			ptr += sizeof(double);
-			sequence->add(GEOS_GEOM::Coordinate(*x,*y));
-		    }
-		    GEOS_GEOM::LinearRing* ring=geosGeometryFactory->createLinearRing(sequence);
-		    if(idx==0)
-		    {
-			outer=ring;
-		    }
-		    else
-		    {
-			inner->push_back(ring);
-		    }
-		}
-	    
-		polygons->push_back(geosGeometryFactory->createPolygon(outer,inner));
-	    }
-	    return (geosGeometryFactory->createMultiPolygon(polygons));
-	}
-	default:
-	    return 0;
-    }
-    
-}
+        GEOS_GEOM::LinearRing* outer=0;
+        std::vector<GEOS_GEOM::Geometry*>* inner=new std::vector<GEOS_GEOM::Geometry*>;
 
-bool QgsGeometry::exportWkbToGeos() const
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsGeometry::exportWkbToGeos: entered." << std::endl;
-#endif
+        for (idx = 0; idx < *numRings; idx++)
+        {
 
-  if (mDirtyGeos)
-  {
-    // TODO: Clean up the nomenclature a bit
-    mGeos = geosGeometry();
-    mDirtyGeos = FALSE;
-    return mDirtyGeos;
+          //QgsDebugMsg("Ring nr: "+QString::number(idx));
+
+          GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
+          // get number of points in the ring
+          nPoints = (int *) ptr;
+          ptr += 4;
+          for (jdx = 0; jdx < *nPoints; jdx++)
+          {
+            // add points to a point array for drawing the polygon
+            x = (double *) ptr;
+            ptr += sizeof(double);
+            y = (double *) ptr;
+            ptr += sizeof(double);
+            if(hasZValue)
+            {
+              ptr += sizeof(double);
+            }
+            sequence->add(GEOS_GEOM::Coordinate(*x,*y));
+          }
+          GEOS_GEOM::LinearRing* ring=geosGeometryFactory->createLinearRing(sequence);
+          if(idx==0)
+          {
+            outer=ring;
+          }
+          else
+          {
+            inner->push_back(ring);
+          }
+        }
+        mGeos = geosGeometryFactory->createPolygon(outer,inner);
+        mDirtyGeos = FALSE;
+        break;
+      }
+
+    case QGis::WKBMultiPolygon25D:
+      hasZValue = true;
+    case QGis::WKBMultiPolygon:
+      {
+        QgsDebugMsg("Multipolygon found");
+
+        std::vector<GEOS_GEOM::Geometry *> *polygons=new std::vector<GEOS_GEOM::Geometry *>;
+        // get the number of polygons
+        ptr = mGeometry + 5;
+        numPolygons = (int *) ptr;
+        ptr = mGeometry +9;
+        for (kdx = 0; kdx < *numPolygons; kdx++)
+        {
+
+          //QgsDebugMsg("Polygon nr: "+QString::number(kdx));
+
+          GEOS_GEOM::LinearRing* outer=0;
+          std::vector<GEOS_GEOM::Geometry*>* inner=new std::vector<GEOS_GEOM::Geometry*>;
+
+          //skip the endian and mGeometry type info and
+          // get number of rings in the polygon
+          ptr += 5;
+          numRings = (int *) ptr;
+          ptr += 4;
+          for (idx = 0; idx < *numRings; idx++)
+          {
+            //QgsDebugMsg("Ring nr: "+QString::number(idx));
+
+            GEOS_GEOM::DefaultCoordinateSequence* sequence=new GEOS_GEOM::DefaultCoordinateSequence();
+            // get number of points in the ring
+            nPoints = (int *) ptr;
+            ptr += 4;
+            for (jdx = 0; jdx < *nPoints; jdx++)
+            {
+              // add points to a point array for drawing the polygon
+              x = (double *) ptr;
+              ptr += sizeof(double);
+              y = (double *) ptr;
+              ptr += sizeof(double);
+              if(hasZValue)
+              {
+                ptr += sizeof(double);
+              }
+              sequence->add(GEOS_GEOM::Coordinate(*x,*y));
+            }
+            GEOS_GEOM::LinearRing* ring=geosGeometryFactory->createLinearRing(sequence);
+            if(idx==0)
+            {
+              outer=ring;
+            }
+            else
+            {
+              inner->push_back(ring);
+            }
+          }
+
+          polygons->push_back(geosGeometryFactory->createPolygon(outer,inner));
+        }
+        mGeos = geosGeometryFactory->createMultiPolygon(polygons);
+        mDirtyGeos = FALSE;
+        break;
+      }
+
+    default:
+      return FALSE;
   }
-  else
-  {
-    // Already have a fresh copy of Geos available.
-    return TRUE;
-  }
+
+  return TRUE;
 }
 
 
-bool QgsGeometry::exportGeosToWkb() const
-// TODO: Make this work
+bool QgsGeometry::exportGeosToWkb()
 {
+  //QgsDebugMsg("QgsGeometry::exportGeosToWkb: entered.");
+
   if (!mDirtyWkb)
   {
     // No need to convert again
@@ -2687,203 +3437,314 @@
   if (!mGeos)
   {
     // GEOS is null, therefore WKB is null.
+    mDirtyWkb = FALSE;
     return TRUE;
   }
 
   // set up byteOrder
-  char byteOrder = 1;   // TODO
+  char byteOrder = QgsApplication::endian();
 
   switch (mGeos->getGeometryTypeId())
   {
     case GEOS_GEOM::GEOS_POINT:                 // a point
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_POINT
+      {
+        mGeometrySize = 1 +   // sizeof(byte)
+          4 +   // sizeof(uint32)
+          2*sizeof(double);
+        mGeometry = new unsigned char[mGeometrySize];
 
+        // assign byteOrder
+        memcpy(mGeometry, &byteOrder, 1);
+
+        // assign wkbType
+        int wkbType = QGis::WKBPoint;
+        memcpy(mGeometry+1, &wkbType, 4);
+
+        GEOS_GEOM::Point* pt = static_cast<GEOS_GEOM::Point*>(mGeos);
+        double x = pt->getX();
+        double y = pt->getY();
+
+        memcpy(mGeometry+5, &x, sizeof(double));
+        memcpy(mGeometry+13, &y, sizeof(double));
+
+        break;
+      } // case GEOS_GEOM::GEOS_POINT
+
     case GEOS_GEOM::GEOS_LINESTRING:            // a linestring
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsGeometry::exportGeosToWkb: Got a GEOS_GEOM::GEOS_LINESTRING." << std::endl;
-#endif
+      {
+        //QgsDebugMsg("Got a geos::GEOS_LINESTRING.");
 
-      // TODO
-      int numPoints = mGeos->getNumPoints();
+        // TODO
+        int numPoints = mGeos->getNumPoints();
 
-      // allocate some space for the WKB
-      mGeometrySize = 1 +   // sizeof(byte)
-                      4 +   // sizeof(uint32)
-                      4 +   // sizeof(uint32)
-                   ( (sizeof(double) +
-                      sizeof(double)) * numPoints );
+        // allocate some space for the WKB
+        mGeometrySize = 1 +   // sizeof(byte)
+          4 +   // sizeof(uint32)
+          4 +   // sizeof(uint32)
+          ( (sizeof(double) +
+             sizeof(double)) * numPoints );
 
-      mGeometry = new unsigned char[mGeometrySize];
+        mGeometry = new unsigned char[mGeometrySize];
 
-      unsigned char* ptr = mGeometry;
+        unsigned char* ptr = mGeometry;
 
-      // assign byteOrder
-      memcpy(ptr, &byteOrder, 1);
-      ptr += 1;
+        // assign byteOrder
+        memcpy(ptr, &byteOrder, 1);
+        ptr += 1;
 
-      // assign wkbType
-      int wkbType = QGis::WKBLineString;
-      memcpy(ptr, &wkbType, 4);
-      ptr += 4;
+        // assign wkbType
+        int wkbType = QGis::WKBLineString;
+        memcpy(ptr, &wkbType, 4);
+        ptr += 4;
 
-      // assign numPoints
-      memcpy(ptr, &numPoints, 4);
-      ptr += 4;
+        // assign numPoints
+        memcpy(ptr, &numPoints, 4);
+        ptr += 4;
 
-      GEOS_GEOM::LineString* geosls = static_cast<GEOS_GEOM::LineString*>(mGeos);
-      const GEOS_GEOM::CoordinateSequence* sequence = geosls->getCoordinatesRO();
+        GEOS_GEOM::LineString* geosls = static_cast<GEOS_GEOM::LineString*>(mGeos);
+        const GEOS_GEOM::CoordinateSequence* sequence = geosls->getCoordinatesRO();
 
-      // assign points
-      for (int n = 0; n < numPoints; n++)
-      {
+        // assign points
+        for (int n = 0; n < numPoints; n++)
+        {
 #ifdef QGISDEBUG
-	//std::cout << "QgsGeometry::exportGeosToWkb: Adding " 
-	//  << sequence->getAt(n).x << ", " 
-	//  << sequence->getAt(n).y << "." << std::endl;
+          //std::cout << "QgsGeometry::exportGeosToWkb: Adding " 
+          //  << sequence->getAt(n).x << ", " 
+          //  << sequence->getAt(n).y << "." << std::endl;
 #endif
-        // assign x
-        memcpy(ptr, &(sequence->getAt(n).x), sizeof(double));
-        ptr += sizeof(double);
+          // assign x
+          memcpy(ptr, &(sequence->getAt(n).x), sizeof(double));
+          ptr += sizeof(double);
 
-        // assign y
-        memcpy(ptr, &(sequence->getAt(n).y), sizeof(double));
-        ptr += sizeof(double);
-      }
+          // assign y
+          memcpy(ptr, &(sequence->getAt(n).y), sizeof(double));
+          ptr += sizeof(double);
+        }
 
-      mDirtyWkb = FALSE;
-      return true;
+        mDirtyWkb = FALSE;
+        return true;
 
-      // TODO: Deal with endian-ness
-    } // case GEOS_GEOM::GEOS_LINESTRING
+        // TODO: Deal with endian-ness
+      } // case GEOS_GEOM::GEOS_LINESTRING
 
     case GEOS_GEOM::GEOS_LINEARRING:            // a linear ring (linestring with 1st point == last point)
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_LINEARRING
+      {
+        // TODO
+        break;
+      } // case GEOS_GEOM::GEOS_LINEARRING
 
     case GEOS_GEOM::GEOS_POLYGON:               // a polygon
-    {
-      int geometrySize;
-      double x, y; //point coordinates
-      GEOS_GEOM::Polygon* thePolygon = dynamic_cast<GEOS_GEOM::Polygon*>(mGeos);
-      const GEOS_GEOM::LineString* theRing = 0;
-      int nPointsInRing = 0;
+      {
+        int geometrySize;
+        double x, y; //point coordinates
+        GEOS_GEOM::Polygon* thePolygon = dynamic_cast<GEOS_GEOM::Polygon*>(mGeos);
+        const GEOS_GEOM::LineString* theRing = 0;
+        int nPointsInRing = 0;
 
-      if(thePolygon)
-	{
-	  //first calculate the geometry size
-	  geometrySize = 1 + 2*sizeof(int); //endian, type, number of rings
-	  theRing = thePolygon->getExteriorRing();
-	  if(theRing)
-	    {
-	      geometrySize += sizeof(int);
-	      geometrySize += theRing->getNumPoints()*2*sizeof(double);
-	    }
-	  for(int i = 0; i < thePolygon->getNumInteriorRing(); ++i)
-	    {
-	      geometrySize += sizeof(int); //number of points in ring
-	      theRing = thePolygon->getInteriorRingN(i);
-	      if(theRing)
-		{
-		  geometrySize += theRing->getNumPoints()*2*sizeof(double);
-		}
-	    }
-    
-	    mGeometry = new unsigned char[geometrySize];
+        if(thePolygon)
+        {
+          //first calculate the geometry size
+          geometrySize = 1 + 2*sizeof(int); //endian, type, number of rings
+          theRing = thePolygon->getExteriorRing();
+          if(theRing)
+          {
+            geometrySize += sizeof(int);
+            geometrySize += theRing->getNumPoints()*2*sizeof(double);
+          }
+          for(GEOS_SIZE_T i = 0; i < thePolygon->getNumInteriorRing(); ++i)
+          {
+            geometrySize += sizeof(int); //number of points in ring
+            theRing = thePolygon->getInteriorRingN(i);
+            if(theRing)
+            {
+              geometrySize += theRing->getNumPoints()*2*sizeof(double);
+            }
+          }
 
-	    //then fill the geometry itself into the wkb
-	    int position = 0;
-	    // assign byteOrder
-	    memcpy(mGeometry, &byteOrder, 1);
-	    position += 1;
-	    //endian flag must be added by QgsVectorLayer
-	    int wkbtype=QGis::WKBPolygon;
-	    memcpy(&mGeometry[position],&wkbtype, sizeof(int));
-	    position += sizeof(int);
-	    int nRings = thePolygon->getNumInteriorRing()+1;
-	    memcpy(&mGeometry[position], &nRings, sizeof(int));
-	    position += sizeof(int);
+          mGeometry = new unsigned char[geometrySize];
+	  mGeometrySize = geometrySize;
 
-	    //exterior ring first
-	    theRing = thePolygon->getExteriorRing();
-	    if(theRing)
+          //then fill the geometry itself into the wkb
+          int position = 0;
+          // assign byteOrder
+          memcpy(mGeometry, &byteOrder, 1);
+          position += 1;
+          int wkbtype=QGis::WKBPolygon;
+          memcpy(&mGeometry[position],&wkbtype, sizeof(int));
+          position += sizeof(int);
+          int nRings = thePolygon->getNumInteriorRing()+1;
+          memcpy(&mGeometry[position], &nRings, sizeof(int));
+          position += sizeof(int);
+
+          //exterior ring first
+          theRing = thePolygon->getExteriorRing();
+          if(theRing)
+          {
+            nPointsInRing = theRing->getNumPoints();
+            memcpy(&mGeometry[position], &nPointsInRing, sizeof(int));
+            position += sizeof(int);
+            const GEOS_GEOM::CoordinateSequence* ringSequence = theRing->getCoordinatesRO();
+            //for(int j = 0; j < nPointsInRing; ++j)
+            for(GEOS_SIZE_T j = 0; j < ringSequence->getSize(); ++j)
+            {
+              //x = theRing->getPointN(j)->getX();
+              x = ringSequence->getAt(j).x;
+              memcpy(&mGeometry[position], &x, sizeof(double));
+              position += sizeof(double);
+              //y = theRing->getPointN(j)->getY();
+              y = ringSequence->getAt(j).y;
+              memcpy(&mGeometry[position], &y, sizeof(double));
+              position += sizeof(double);
+            }
+          }
+
+          //interior rings after
+          for(GEOS_SIZE_T i = 0; i < thePolygon->getNumInteriorRing(); ++i)
+          {
+            theRing = thePolygon->getInteriorRingN(i);
+            if(theRing)
+            {
+	      const GEOS_GEOM::CoordinateSequence* ringSequence = theRing->getCoordinatesRO();
+              nPointsInRing = ringSequence->getSize();
+              memcpy(&mGeometry[position], &nPointsInRing, sizeof(int));
+              position += sizeof(int);
+              for(int j = 0; j < nPointsInRing; ++j)
+              {
+		x = ringSequence->getAt(j).x;
+                memcpy(&mGeometry[position], &x, sizeof(double));
+                position += sizeof(double);
+		y = ringSequence->getAt(j).y;
+                memcpy(&mGeometry[position], &y, sizeof(double));
+                position += sizeof(double);
+              }
+            }
+          }
+          mDirtyWkb = FALSE;
+          return true;
+        }
+        else
+        {
+          //error
+        }
+        break;
+      } // case GEOS_GEOM::GEOS_POLYGON
+
+    case GEOS_GEOM::GEOS_MULTIPOINT:            // a collection of points
+      {
+        // TODO
+        break;
+      } // case GEOS_GEOM::GEOS_MULTIPOINT
+
+    case GEOS_GEOM::GEOS_MULTILINESTRING:       // a collection of linestrings
+      {
+        // TODO
+        break;
+      } // case GEOS_GEOM::GEOS_MULTILINESTRING
+
+    case GEOS_GEOM::GEOS_MULTIPOLYGON:          // a collection of polygons
+      {
+	GEOS_GEOM::MultiPolygon* theMultiPolygon = dynamic_cast<GEOS_GEOM::MultiPolygon*>(mGeos);
+	if(!theMultiPolygon)
+	  {
+	    return false;
+	  }
+
+	//first determine size of geometry
+        int geometrySize = 1 + (2 * sizeof(int)); //endian, type, number of polygons
+	for(GEOS_SIZE_T i = 0; i < theMultiPolygon->getNumGeometries(); ++i)
+	  {
+	    GEOS_GEOM::Polygon* thePoly = (GEOS_GEOM::Polygon*)(theMultiPolygon->getGeometryN(i));
+	    geometrySize += (1 + (2 * sizeof(int))); //endian, type, number of rings
+	    //exterior ring
+	    geometrySize += sizeof(int); //number of points in exterior ring
+	    const GEOS_GEOM::LineString* exRing = thePoly->getExteriorRing();
+	    geometrySize += (2*sizeof(double)*exRing->getNumPoints());
+
+	    const GEOS_GEOM::LineString* intRing = 0;
+	    for(GEOS_SIZE_T j = 0; j < thePoly->getNumInteriorRing(); ++j)
 	      {
-		nPointsInRing = theRing->getNumPoints();
-		memcpy(&mGeometry[position], &nPointsInRing, sizeof(int));
-		position += sizeof(int);
-		const GEOS_GEOM::CoordinateSequence* ringSequence = theRing->getCoordinatesRO();
-		//for(int j = 0; j < nPointsInRing; ++j)
-		for(int j = 0; j <ringSequence->getSize(); ++j)
-		      {
-			//x = theRing->getPointN(j)->getX();
-			x = ringSequence->getAt(j).x;
-			memcpy(&mGeometry[position], &x, sizeof(double));
-			position += sizeof(double);
-			//y = theRing->getPointN(j)->getY();
-			y = ringSequence->getAt(j).y;
-			memcpy(&mGeometry[position], &y, sizeof(double));
-			position += sizeof(double);
-		      }
+		geometrySize += sizeof(int); //number of points in ring
+		intRing = thePoly->getInteriorRingN(j);
+		geometrySize += 2*sizeof(double)*intRing->getNumPoints();
 	      }
+	  }
 
-	    //interior rings after
-	    for(int i = 0; i < thePolygon->getNumInteriorRing(); ++i)
+	mGeometry = new unsigned char[geometrySize];
+	mGeometrySize = geometrySize;
+	int wkbPosition = 0; //current position in the byte array
+        
+	memcpy(mGeometry, &byteOrder, 1);
+	wkbPosition += 1;
+	int wkbtype=QGis::WKBMultiPolygon;
+	memcpy(&mGeometry[wkbPosition],&wkbtype, sizeof(int));
+	wkbPosition += sizeof(int);
+	int numPolygons = theMultiPolygon->getNumGeometries();
+	memcpy(&mGeometry[wkbPosition], &numPolygons, sizeof(int));
+	wkbPosition += sizeof(int);
+
+	//loop over polygons
+	for(GEOS_SIZE_T i = 0; i < theMultiPolygon->getNumGeometries(); ++i)
+	  {
+	    GEOS_GEOM::Polygon* thePoly = (GEOS_GEOM::Polygon*)(theMultiPolygon->getGeometryN(i));
+	    memcpy(&mGeometry[wkbPosition], &byteOrder, 1);
+	    wkbPosition += 1;
+	    int polygonType = QGis::WKBPolygon;
+	    memcpy(&mGeometry[wkbPosition], &polygonType, sizeof(int));
+	    wkbPosition += sizeof(int);
+	    int numRings = thePoly->getNumInteriorRing() + 1;
+	    memcpy(&mGeometry[wkbPosition], &numRings, sizeof(int));
+	    wkbPosition += sizeof(int);
+
+	    //exterior ring
+	    const GEOS_GEOM::LineString* theRing = thePoly->getExteriorRing();
+	    int nPointsInRing = theRing->getNumPoints();
+	    memcpy(&mGeometry[wkbPosition], &nPointsInRing, sizeof(int));
+	    wkbPosition += sizeof(int);
+	    const GEOS_GEOM::CoordinateSequence* ringCoordinates = theRing->getCoordinatesRO();
+	    
+	    double x, y;
+	    GEOS_GEOM::Coordinate coord;
+	    for(int k = 0; k < nPointsInRing; ++k)
 	      {
-		theRing = thePolygon->getInteriorRingN(i);
-		if(theRing)
+		coord = ringCoordinates->getAt(k);
+		x = coord.x;
+		y = coord.y;
+		memcpy(&mGeometry[wkbPosition], &x, sizeof(double));
+		wkbPosition += sizeof(double);
+		memcpy(&mGeometry[wkbPosition], &y, sizeof(double));
+		wkbPosition += sizeof(double);
+	      }
+	    
+	    //interior rings
+	    for(GEOS_SIZE_T j = 0; j < thePoly->getNumInteriorRing(); ++j)
+	      {
+		theRing = thePoly->getInteriorRingN(j);
+		nPointsInRing = theRing->getNumPoints();
+		memcpy(&mGeometry[wkbPosition], &nPointsInRing, sizeof(int));
+		wkbPosition += sizeof(int);
+		ringCoordinates = theRing->getCoordinatesRO();
+
+		for(int k = 0; k < nPointsInRing; ++k)
 		  {
-		    nPointsInRing = theRing->getNumPoints();
-		    memcpy(&mGeometry[position], &nPointsInRing, sizeof(int));
-		    position += sizeof(int);
-		    for(int j = 0; j < nPointsInRing; ++j)
-		      {
-			x = theRing->getPointN(j)->getX();
-			memcpy(&mGeometry[position], &x, sizeof(double));
-			position += sizeof(double);
-			y = theRing->getPointN(j)->getY();
-			memcpy(&mGeometry[position], &y, sizeof(double));
-			position += sizeof(double);
-		      }
+		    coord = ringCoordinates->getAt(k);
+		    x = coord.x;
+		    y = coord.y;
+		    memcpy(&mGeometry[wkbPosition], &x, sizeof(double));
+		    wkbPosition += sizeof(double);
+		    memcpy(&mGeometry[wkbPosition], &y, sizeof(double));
+		    wkbPosition += sizeof(double);
 		  }
 	      }
-	    mDirtyWkb = FALSE;
-	    return true;
-	}
-      else
-	{
-	  //error
-	}
-      break;
-    } // case GEOS_GEOM::GEOS_POLYGON
+	  }
+	mDirtyWkb = FALSE;
+	return true;	
+      } // case GEOS_GEOM::GEOS_MULTIPOLYGON
 
-    case GEOS_GEOM::GEOS_MULTIPOINT:            // a collection of points
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_MULTIPOINT
-
-    case GEOS_GEOM::GEOS_MULTILINESTRING:       // a collection of linestrings
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_MULTILINESTRING
-
-    case GEOS_GEOM::GEOS_MULTIPOLYGON:          // a collection of polygons
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_MULTIPOLYGON
-
     case GEOS_GEOM::GEOS_GEOMETRYCOLLECTION:    // a collection of heterogeneus geometries
-    {
-      // TODO
-      break;
-    } // case GEOS_GEOM::GEOS_GEOMETRYCOLLECTION
+      {
+        // TODO
+        break;
+      } // case GEOS_GEOM::GEOS_GEOMETRYCOLLECTION
 
   } // switch (mGeos->getGeometryTypeId())
 
@@ -2893,33 +3754,33 @@
 
 
 
-double QgsGeometry::distanceSquaredPointToSegment(QgsPoint& point,
-                                                  double *x1, double *y1,
-                                                  double *x2, double *y2,
-                                                  QgsPoint& minDistPoint)
+double QgsGeometry::distanceSquaredPointToSegment(const QgsPoint& point,
+    double *x1, double *y1,
+    double *x2, double *y2,
+    QgsPoint& minDistPoint)
 {
 
   double d;
-  
+
   // Proportion along segment (0 to 1) the perpendicular of the point falls upon
   double t;
-  
-  
+
+
   // Projection of point on the segment
   double xn;
   double yn;
 
   double segmentsqrdist = ( *x2 - *x1 ) * ( *x2 - *x1 ) + 
-                          ( *y2 - *y1 ) * ( *y2 - *y1 );
+    ( *y2 - *y1 ) * ( *y2 - *y1 );
 
 #ifdef QGISDEBUG
-//      std::cout << "QgsGeometry::distanceSquaredPointToSegment: Entered with "
-//         << "(" << *x1 << ", " << *y1 << ") (" << *x2 << ", " << *y2 << ")"
-//         << " " << segmentsqrdist            
-//                << "." << std::endl;
+  //      std::cout << "QgsGeometry::distanceSquaredPointToSegment: Entered with "
+  //         << "(" << *x1 << ", " << *y1 << ") (" << *x2 << ", " << *y2 << ")"
+  //         << " " << segmentsqrdist            
+  //                << "." << std::endl;
 #endif
-                          
-                                                    
+
+
   if ( segmentsqrdist == 0.0 )
   {
     // segment is a point 
@@ -2930,11 +3791,11 @@
   {
 
     d =
-        ( point.x() - *x1 ) * ( *x2 - *x1 )
+      ( point.x() - *x1 ) * ( *x2 - *x1 )
       + ( point.y() - *y1 ) * ( *y2 - *y1 );
 
     t = d / segmentsqrdist;
-    
+
     // Do not go beyond end of line
     // (otherwise this would be a comparison to an infinite line)
     if (t < 0.0)
@@ -2954,14 +3815,206 @@
     }  
 
   }
-  
+
   minDistPoint.set(xn, yn);
 
   return (
-          ( xn - point.x() ) * ( xn - point.x() ) + 
-          ( yn - point.y() ) * ( yn - point.y() )
-         );
+      ( xn - point.x() ) * ( xn - point.x() ) + 
+      ( yn - point.y() ) * ( yn - point.y() )
+      );
 
 }
-  
 
+QgsPoint QgsGeometry::asPoint(unsigned char*& ptr, bool hasZValue)
+{
+  ptr += 5;
+  double* x = (double *) (ptr);
+  double* y = (double *) (ptr + sizeof(double));
+  ptr += 2 * sizeof(double);
+
+  if (hasZValue)
+    ptr += sizeof(double);
+
+  return QgsPoint(*x,*y);
+}
+
+
+QgsPolyline QgsGeometry::asPolyline(unsigned char*& ptr, bool hasZValue)
+{
+  double x,y;
+  ptr += 5;
+  unsigned int nPoints = *((int*)ptr);
+  ptr += 4;
+
+  QgsPolyline line(nPoints);
+
+  // Extract the points from the WKB format into the x and y vectors. 
+  for (uint i = 0; i < nPoints; ++i)
+  {
+    x = *((double *) ptr);
+    y = *((double *) (ptr + sizeof(double)));
+
+    ptr += 2 * sizeof(double);
+
+    line[i] = QgsPoint(x,y);
+
+    if (hasZValue) // ignore Z value
+      ptr += sizeof(double);
+  }
+
+  return line;
+}
+
+
+QgsPolygon QgsGeometry::asPolygon(unsigned char*& ptr, bool hasZValue)
+{
+  double x,y;
+
+  ptr += 5;
+
+  // get number of rings in the polygon
+  unsigned int numRings = *((int*)ptr);
+  ptr += 4;
+
+  if ( numRings == 0 )  // sanity check for zero rings in polygon
+    return QgsPolygon();
+
+  QgsPolygon rings(numRings);
+
+  for (uint idx = 0; idx < numRings; idx++)
+  {
+    uint nPoints = *((int*)ptr);
+    ptr += 4;
+
+    QgsPolyline ring(nPoints);
+
+    for (uint jdx = 0; jdx < nPoints; jdx++)
+    {
+      x = *((double *) ptr);
+      y = *((double *) (ptr + sizeof(double)));
+
+      ptr += 2 * sizeof(double);
+
+      if (hasZValue)
+        ptr += sizeof(double);
+
+      ring[jdx] = QgsPoint(x,y);
+    }
+
+    rings[idx] = ring;
+  }
+
+  return rings;
+}
+
+
+QgsPoint QgsGeometry::asPoint()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBPoint && type != QGis::WKBPoint25D)
+    return QgsPoint(0,0);
+
+  unsigned char* ptr = mGeometry;
+  return asPoint(ptr, type == QGis::WKBPoint25D);
+}
+
+QgsPolyline QgsGeometry::asPolyline()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBLineString && type != QGis::WKBLineString25D)
+    return QgsPolyline();
+
+  unsigned char *ptr = mGeometry;
+  return asPolyline(ptr, type == QGis::WKBLineString25D);
+}
+
+QgsPolygon QgsGeometry::asPolygon()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBPolygon && type != QGis::WKBPolygon25D)
+    return QgsPolygon();
+
+  unsigned char *ptr = mGeometry;
+  return asPolygon(ptr, type == QGis::WKBPolygon25D);
+}
+
+QgsMultiPoint QgsGeometry::asMultiPoint()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBMultiPoint && type != QGis::WKBMultiPoint25D)
+    return QgsMultiPoint();
+
+  bool hasZValue = (type == QGis::WKBMultiPoint25D);
+
+  unsigned char* ptr = mGeometry + 5;
+  unsigned int nPoints = *((int*)ptr);
+  ptr += 4;
+
+  QgsMultiPoint points(nPoints);
+  for (uint i = 0; i < nPoints; i++)
+  {
+    points[i] = asPoint(ptr, hasZValue);
+  }
+
+  return points;
+}
+
+QgsMultiPolyline QgsGeometry::asMultiPolyline()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBMultiLineString && type != QGis::WKBMultiLineString25D)
+    return QgsMultiPolyline();
+
+  bool hasZValue = (type == QGis::WKBMultiLineString25D);
+
+  unsigned char* ptr = mGeometry + 5;
+  unsigned int numLineStrings = *((int*)ptr);
+  ptr += 4;
+
+  QgsMultiPolyline lines(numLineStrings);
+
+  for (uint i = 0; i < numLineStrings; i++)
+  {
+    lines[i] = asPolyline(ptr, hasZValue);
+  }
+
+  return lines;
+}
+
+QgsMultiPolygon QgsGeometry::asMultiPolygon()
+{
+  QGis::WKBTYPE type = wkbType();
+  if (type != QGis::WKBMultiPolygon && type != QGis::WKBMultiPolygon25D)
+    return QgsMultiPolygon();
+
+  bool hasZValue = (type == QGis::WKBMultiPolygon25D);
+
+  unsigned char* ptr = mGeometry + 5;
+  unsigned int numPolygons = *((int*)ptr);
+  ptr += 4;
+
+  QgsMultiPolygon polygons(numPolygons);
+
+  for (uint i = 0; i < numPolygons; i++)
+  {
+    polygons[i] = asPolygon(ptr, hasZValue);
+  }
+
+  return polygons;
+}
+
+
+double QgsGeometry::distance(QgsGeometry& geom)
+{
+  if (mGeos == NULL)
+  {
+    exportWkbToGeos();
+  }
+
+  if (geom.mGeos == NULL)
+  {
+    geom.exportWkbToGeos();
+  }
+
+  return mGeos->distance(geom.mGeos);
+}

Modified: packages/qgis/branches/upstream/current/src/core/qgsgeometry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsgeometry.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsgeometry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,41 +12,76 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgeometry.h 6274 2006-12-18 06:06:48Z telwertowski $ */
+/* $Id: qgsgeometry.h 6974 2007-06-02 01:24:38Z wonder $ */
 
 #ifndef QGSGEOMETRY_H
 #define QGSGEOMETRY_H
 
-#include <qstring.h>
+#include <QString>
+#include <QVector>
 
+#include "qgis.h"
+
 #include <geos.h>
 #if GEOS_VERSION_MAJOR < 3
 #define GEOS_GEOM geos
 #define GEOS_IO geos
 #define GEOS_UTIL geos
+#define GEOS_SIZE_T int
+#define COORD_SEQ_FACTORY DefaultCoordinateSequenceFactory
 #else
 #define GEOS_GEOM geos::geom
 #define GEOS_IO geos::io
 #define GEOS_UTIL geos::util
+#define GEOS_SIZE_T size_t
+#define COORD_SEQ_FACTORY CoordinateArraySequenceFactory
 #endif
 
-#include "qgsgeometryvertexindex.h"
 #include "qgspoint.h"
-#include "qgsrect.h"
 
+namespace geos
+{
+  class CoordinateSequence;
+  class Geometry;
+  class GeometryFactory;
+  class Polygon;
+}
 
+
+/** polyline is represented as a vector of points */
+typedef QVector<QgsPoint> QgsPolyline;
+
+/** polygon: first item of the list is outer ring, inner rings (if any) start from second item */
+typedef QVector<QgsPolyline> QgsPolygon;
+    
+/** a collection of QgsPoints that share a common collection of attributes */
+typedef QVector<QgsPoint> QgsMultiPoint;
+
+/** a collection of QgsPolylines that share a common collection of attributes */
+typedef QVector<QgsPolyline> QgsMultiPolyline;
+
+/** a collection of QgsPolygons that share a common collection of attributes */
+typedef QVector<QgsPolygon> QgsMultiPolygon;
+
+class QgsGeometryVertexIndex;
+class QgsPoint;
+class QgsRect;
+
 /** 
  * Represents a geometry with input and output in formats specified by 
  * (at least) the Open Geospatial Consortium (WKB / WKT), and containing
  * various functions for geoprocessing of the geometry.
  *
- * The geometry is represented internally by the OGC WKB format, though
- * perhaps this will be migrated to GEOS geometry in future.
+ * The geometry is represented internally by the OGC WKB format or
+ * as GEOS geometry. Some functions use WKB for their work, others
+ * use GEOS.
  *
+ * TODO: migrate completely to GEOS and only support WKB/WKT import/export.
+ *
  * @author Brendan Morley
  */
 
-class QgsGeometry {
+class CORE_EXPORT QgsGeometry {
 
   public:
   
@@ -63,39 +98,58 @@
     //! Destructor
     ~QgsGeometry();
 
+    /** static method that creates geometry from WKT */
+    static QgsGeometry* fromWkt(QString wkt);
     
+    /** construct geometry from a point */
+    static QgsGeometry* fromPoint(const QgsPoint& point);
+    /** construct geometry from a polyline */
+    static QgsGeometry* fromPolyline(const QgsPolyline& polyline);
+    /** construct geometry from a polygon */
+    static QgsGeometry* fromPolygon(const QgsPolygon& polygon);
+    /** construct geometry from a rectangle */
+    static QgsGeometry* fromRect(const QgsRect& rect);
+   
     /** 
-       Set the geometry, feeding in the buffer containing OGC Well-Known Binary and the buffer's length.
-       This class will take ownership of the buffer.
-    */
-    void setWkbAndOwnership(unsigned char * wkb, size_t length);
-    
-    /** 
        Returns the buffer containing this geometry in WKB format.
        You may wish to use in conjunction with wkbSize().
     */
-    unsigned char * wkbBuffer() const;
+    unsigned char * wkbBuffer();
     
     /** 
        Returns the size of the WKB in wkbBuffer().
     */
-    size_t wkbSize() const;
+    size_t wkbSize();
     
-    /** 
-       Returns the QString containing this geometry in WKT format.
-    */
-    QString const& wkt() const; 
+    /** Returns type of wkb (point / linestring / polygon etc.) */
+    QGis::WKBTYPE wkbType();
+    
+    /** Returns type of the vector */
+    QGis::VectorType vectorType();
+    
+    /** Returns true if wkb of the geometry is of WKBMulti* type */
+    bool isMultipart();
 
     /**
-       Set the geometry, feeding in a geometry in GEOS format.
-    */
+      Set the geometry, feeding in a geometry in GEOS format.
+      This class will take ownership of the buffer.
+     */
     void setGeos(GEOS_GEOM::Geometry* geos);
+    
+    /** 
+      Set the geometry, feeding in the buffer containing OGC Well-Known Binary and the buffer's length.
+      This class will take ownership of the buffer.
+     */
+    void setWkbAndOwnership(unsigned char * wkb, size_t length);
+    
+    
+    double distance(QgsGeometry& geom);
 
     /**
        Returns the vertex closest to the given point 
        (and also vertex index, squared distance and indexes of the vertices before/after)
     */
-    QgsPoint closestVertex(const QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex, double& sqrDist) const;
+    QgsPoint closestVertex(const QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex, double& sqrDist);
 
 
     /**
@@ -110,7 +164,7 @@
           account the first vertex is equal to the last vertex (and will
           skip equal vertex positions).
     */
-    void adjacentVerticies(const QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex) const;
+    void adjacentVerticies(const QgsGeometryVertexIndex& atVertex, int& beforeVertex, int& afterVertex);
 
 
     /** Insert a new vertex before the given vertex index,
@@ -147,17 +201,11 @@
     bool deleteVertexAt(QgsGeometryVertexIndex atVertex);
 
     /**
-     *  Modifies x and y to indicate the location of
-     *  the vertex at the given position number,
-     *  ring and item (first number is index 0)
-     *  to the given coordinates
-     *
-     *  Returns TRUE if atVertex is a valid position on
-     *  the geometry, otherwise FALSE.
-     *
-     *  If FALSE, x and y are not modified.
+     *  Returns coordinates of a vertex.
+     *  @param atVertex index of the vertex
+     *  @return Coordinates of the vertex or QgsPoint(0,0) on error
      */
-    bool vertexAt(double &x, double &y, QgsGeometryVertexIndex atVertex) const;
+    QgsPoint vertexAt(const QgsGeometryVertexIndex& atVertex);
 
     /**
         Returns the squared cartesian distance between the given point
@@ -166,49 +214,84 @@
 
      */
     double sqrDistToVertexAt(QgsPoint& point,
-                             QgsGeometryVertexIndex& atVertex) const;
+                             QgsGeometryVertexIndex& atVertex);
 
     /**
-        Returns, in atVertex, the closest vertex in this geometry to the given point.
-        The squared cartesian distance is also returned in sqrDist.
+     * Searches for the the closest vertex in this geometry to the given point.
+     * @param point Specifiest the point for search
+     * @param atVertex Receives index of the closest vertex
+     * @return The squared cartesian distance is also returned in sqrDist, negative number on error
      */
-    QgsPoint closestVertexWithContext(QgsPoint& point,
-                                      QgsGeometryVertexIndex& atVertex,
-                                      double& sqrDist);
+    double closestVertexWithContext(const QgsPoint& point,
+                                    QgsGeometryVertexIndex& atVertex);
 
     /**
-        Returns, in beforeVertex, the closest segment in this geometry to the given point.
-        The squared cartesian distance is also returned in sqrDist.
+     * Searches for the closest segment of geometry to the given point
+     * @param point Specifies the point for search
+     * @param minDistPoint Receives the nearest point on the segment
+     * @param beforeVertex Receives index of the vertex before the closest segment
+     * @return The squared cartesian distance is also returned in sqrDist, negative number on error
      */
-    QgsPoint closestSegmentWithContext(QgsPoint& point,
-                                       QgsGeometryVertexIndex& beforeVertex,
-                                       double& sqrDist);
+    double closestSegmentWithContext(const QgsPoint& point,
+                                     QgsPoint& minDistPoint,
+                                     QgsGeometryVertexIndex& beforeVertex);
 
+    /**Adds a new ring to this geometry. This makes only sense for polygon and multipolygons.
+     @return 0 in case of success (ring added), 1 problem with geometry type, 2 ring not closed, \
+     3 ring is not valid geometry, 4 ring not disjoint with existing rings, 5 no polygon found which contained the ring*/
+    int addRing(const QList<QgsPoint>& ring);
+
+    /**Adds a new island polygon to a multipolygon feature
+     @return 0 in case of success, 1 if not a multipolygon, 2 if ring is not a valid geometry, 3 if new polygon ring \
+not disjoint with existing polygons of the feature*/
+    int addIsland(const QList<QgsPoint>& ring);
+
     /**Returns the bounding box of this feature*/
-    QgsRect boundingBox() const;
+    QgsRect boundingBox();
 
     /** Test for intersection with a rectangle (uses GEOS) */
-    bool intersects(QgsRect* r) const;
+    bool intersects(const QgsRect& r);
+    /** Test for intersection with a geoemetry (uses GEOS) */
+    bool intersects(QgsGeometry* geometry);
 
-    /**Also tests for intersection, but uses direct geos export of QgsGeometry instead wkb export and geos wkb import. Therefore this method is faster and could replace QgsGeometry::intersects in the future*/
-    bool fast_intersects(const QgsRect* r) const;
-
     /** Test for containment of a point (uses GEOS) */
-    bool contains(QgsPoint* p) const;
+    bool contains(QgsPoint* p);
 
-    /**Creates a geos geometry from this features geometry. Note, that the returned object needs to be deleted*/
-    GEOS_GEOM::Geometry* geosGeometry() const;
+    /** Exports the geometry to mWkt
+        @return true in case of success and false else
+     */
+    QString exportToWkt();
 
 
+    /* Accessor functions for getting geometry data */
+    
+    /** return contents of the geometry as a point
+        if wkbType is WKBPoint, otherwise returns [0,0] */
+    QgsPoint asPoint();
+    
+    /** return contents of the geometry as a polyline
+        if wkbType is WKBLineString, otherwise an empty list */
+    QgsPolyline asPolyline();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsPolygon asPolygon();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPoint asMultiPoint();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPolyline asMultiPolyline();
+    
+    /** return contents of the geometry as a polygon
+        if wkbType is WKBPolygon, otherwise an empty list */
+    QgsMultiPolygon asMultiPolygon();
 
   private:
 
-    // Private static members
 
-    //! This is used to create new GEOS variables.
-    static GEOS_GEOM::GeometryFactory* geosGeometryFactory;
-
-
     // Private variables
 
     // All of these are mutable since there may be on-the-fly
@@ -219,25 +302,19 @@
     /** pointer to geometry in binary WKB format
         This is the class' native implementation
      */
-    mutable unsigned char * mGeometry;
+    unsigned char * mGeometry;
 
     /** size of geometry */
-    mutable size_t mGeometrySize;
+    size_t mGeometrySize;
 
-    /** cached WKT version of this geometry */
-    mutable QString mWkt;
-
     /** cached GEOS version of this geometry */
-    mutable GEOS_GEOM::Geometry* mGeos;
+    GEOS_GEOM::Geometry* mGeos;
 
     /** If the geometry has been set since the last conversion to WKB **/
-    mutable bool mDirtyWkb;
+    bool mDirtyWkb;
 
-    /** If the geometry has been set since the last conversion to WKT **/
-    mutable bool mDirtyWkt;
-
     /** If the geometry has been set  since the last conversion to GEOS **/
-    mutable bool mDirtyGeos;
+    bool mDirtyGeos;
 
 
     // Private functions
@@ -245,25 +322,20 @@
     /** Squared distance from point to the given line segment 
      *  TODO: Perhaps move this to QgsPoint
      */
-    double distanceSquaredPointToSegment(QgsPoint& point,
+    double distanceSquaredPointToSegment(const QgsPoint& point,
                                          double *x1, double *y1,
                                          double *x2, double *y2,
                                          QgsPoint& minDistPoint);
 
-    /**Exports the current WKB to mWkt
-     @return true in case of success and false else*/
-    bool exportToWkt(unsigned char * geom) const;
-    bool exportToWkt() const;
-
-    /** Converts from the WKB geometry to the GEOS geometry.  (Experimental) 
+    /** Converts from the WKB geometry to the GEOS geometry.
         @return   true in case of success and false else
      */
-    bool exportWkbToGeos() const;
+    bool exportWkbToGeos();
 
-    /** Converts from the GEOS geometry to the WKB geometry.  (Experimental) 
+    /** Converts from the GEOS geometry to the WKB geometry.
         @return   true in case of success and false else
      */
-    bool exportGeosToWkb() const;
+    bool exportGeosToWkb();
 
 
 
@@ -282,6 +354,15 @@
                             const GEOS_GEOM::CoordinateSequence*  old_sequence,
                                   GEOS_GEOM::CoordinateSequence** new_sequence);
 
+    /** return point from wkb */
+    QgsPoint asPoint(unsigned char*& ptr, bool hasZValue);
+    
+    /** return polyline from wkb */
+    QgsPolyline asPolyline(unsigned char*& ptr, bool hasZValue);
+    
+    /** return polygon from wkb */
+    QgsPolygon asPolygon(unsigned char*& ptr, bool hasZValue);
+
 }; // class QgsGeometry
 
 #endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,13 +12,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgeometryvertexindex.cpp 5568 2006-07-08 01:32:45Z morb_au $ */
+/* $Id: qgsgeometryvertexindex.cpp 6903 2007-04-20 10:13:52Z wonder $ */
 
 #include "qgsgeometryvertexindex.h"
+#include "qgslogger.h"
 
-#include <iostream>
 
-
 QgsGeometryVertexIndex::QgsGeometryVertexIndex()
 {
   mIndex.clear();
@@ -52,12 +51,13 @@
 int QgsGeometryVertexIndex::back() const
 {
 #ifdef QGISDEBUG
-  std::cout << "QgsGeometryVertexIndex::back: mIndex contains:";
+  QString str;
   for(std::vector<int>::const_iterator it = mIndex.begin(); it != mIndex.end(); ++it)
   {
-    std::cout << " " << (*it);
+    str += " ";
+    str += QString::number(*it);
   }
-  std::cout << "." << std::endl;
+  QgsDebugMsg("mIndex contains:" + str + ".");
 #endif
   return mIndex.back();
 }
@@ -66,12 +66,13 @@
 int QgsGeometryVertexIndex::get_at(int i) const
 {
 #ifdef QGISDEBUG
-  std::cout << "QgsGeometryVertexIndex::get_at: mIndex contains:";
+  QString str;
   for(std::vector<int>::const_iterator it = mIndex.begin(); it != mIndex.end(); ++it)
   {
-    std::cout << " " << (*it);
+    str += " ";
+    str += QString::number(*it);
   }
-  std::cout << "." << std::endl;
+  QgsDebugMsg("mIndex contains:" + str + ".");
 #endif
   return mIndex[i];
 }

Modified: packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsgeometryvertexindex.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,14 +12,14 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgeometryvertexindex.h 5568 2006-07-08 01:32:45Z morb_au $ */
+/* $Id: qgsgeometryvertexindex.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSGEOMETRYVERTEXINDEX_H
 #define QGSGEOMETRYVERTEXINDEX_H
 
 #include <vector>
 
-#include <qstring.h>
+class QString;
 
 
  /**
@@ -32,7 +32,7 @@
   * @author Brendan Morley
   */
 
-class QgsGeometryVertexIndex {
+class CORE_EXPORT QgsGeometryVertexIndex {
 
   public:
   

Modified: packages/qgis/branches/upstream/current/src/core/qgshttptransaction.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgshttptransaction.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgshttptransaction.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -37,12 +37,12 @@
                                        int     proxyPort,
                                        QString proxyUser,
                                        QString proxyPass)
-  : httpurl(uri),
+  : httpresponsecontenttype(0),
+    httpurl(uri),
     httphost(proxyHost),
     httpport(proxyPort),
     httpuser(proxyUser),
     httppass(proxyPass),
-    httpresponsecontenttype(0),
     mError(0)
 {
 

Modified: packages/qgis/branches/upstream/current/src/core/qgshttptransaction.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgshttptransaction.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgshttptransaction.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -39,7 +39,7 @@
   
 */
 
-class QgsHttpTransaction : public QObject
+class CORE_EXPORT QgsHttpTransaction : public QObject
 {
   
   Q_OBJECT

Added: packages/qgis/branches/upstream/current/src/core/qgslabel.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslabel.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgslabel.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1159 @@
+/***************************************************************************
+                         qgslabel.cpp - render vector labels
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <math.h> //needed for win32 build (ts)
+
+#include <QString>
+#include <QFont>
+#include <QFontMetrics>
+
+#include <QPainter>
+#include <QDomNode>
+#include <QDomElement>
+
+#include "qgis.h"
+#include "qgsfeature.h"
+#include "qgsgeometry.h"
+#include "qgsfield.h"
+#include "qgslogger.h"
+#include "qgsrect.h"
+#include "qgsmaptopixel.h"
+#include "qgscoordinatetransform.h"
+
+#include "qgslabelattributes.h"
+#include "qgslabel.h"
+
+// use M_PI define PI 3.141592654
+#ifdef WIN32
+#undef M_PI
+#define M_PI 4*atan(1.0)
+#endif
+
+static const char * const ident_ =
+    "$Id: qgslabel.cpp 7123 2007-08-05 22:15:40Z wonder $";
+
+
+QgsLabel::QgsLabel( const QgsFieldMap & fields )
+{
+
+    mField = fields;
+    mLabelFieldIdx.resize ( LabelFieldCount );
+    for ( int i = 0; i < LabelFieldCount; i++ )
+    {
+        mLabelFieldIdx[i] = -1;
+    }
+    mLabelAttributes = new QgsLabelAttributes ( true );
+}
+
+QgsLabel::~QgsLabel()
+{
+  delete mLabelAttributes;
+}
+
+QString QgsLabel::fieldValue ( int attr, QgsFeature &feature )
+{
+    if (mLabelFieldIdx[attr] == -1)
+    {
+      return QString();
+    }
+
+    const QgsAttributeMap& attrs = feature.attributeMap();
+    QgsAttributeMap::const_iterator it = attrs.find(mLabelFieldIdx[attr]);
+    
+    if (it != attrs.end())
+    {
+      return it->toString();
+    }
+    else
+    {
+      return QString();
+    }
+}
+
+void QgsLabel::renderLabel( QPainter * painter, QgsRect &viewExtent,
+                            QgsCoordinateTransform* coordTransform,
+                            QgsMapToPixel *transform,
+                            QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes,
+       			    double sizeScale )
+{
+
+    QPen pen;
+    QFont font;
+    QString value;
+    QString text;
+
+    /* Calc scale (not nice) */
+    QgsPoint point;
+    point = transform->transform ( 0, 0 );
+    double x1 = point.x();
+    point = transform->transform ( 1000, 0 );
+    double x2 = point.x();
+    double scale = (x2-x1)*0.001;
+
+    /* Text */
+    value = fieldValue ( Text, feature );
+    if ( value.isEmpty() )
+    {
+        text = mLabelAttributes->text();
+    }
+    else
+    {
+        text = value;
+    }
+
+    /* Font */
+    value = fieldValue ( Family, feature );
+    if ( value.isEmpty() )
+    {
+        font.setFamily ( mLabelAttributes->family() );
+    }
+    else
+    {
+        font.setFamily ( value );
+    }
+
+    double size;
+    value = fieldValue ( Size, feature );
+    if ( value.isEmpty() )
+    {
+        size =  mLabelAttributes->size();
+    }
+    else
+    {
+        size =  value.toDouble();
+    }
+    if (  mLabelAttributes->sizeType() == QgsLabelAttributes::MapUnits )
+    {
+        size *= scale;
+    } else {
+	size *= sizeScale;
+    }
+    font.setPointSizeFloat ( size );
+
+    value = fieldValue ( Color, feature );
+    if ( value.isEmpty() )
+    {
+        pen.setColor ( mLabelAttributes->color() );
+    }
+    else
+    {
+        pen.setColor ( QColor(value) );
+    }
+
+    value = fieldValue ( Bold, feature );
+    if ( value.isEmpty() )
+    {
+        font.setBold ( mLabelAttributes->bold() );
+    }
+    else
+    {
+        font.setBold ( (bool) value.toInt() );
+    }
+
+    value = fieldValue ( Italic, feature );
+    if ( value.isEmpty() )
+    {
+        font.setItalic ( mLabelAttributes->italic() );
+    }
+    else
+    {
+        font.setItalic ( (bool) value.toInt() );
+    }
+
+    value = fieldValue ( Underline, feature );
+    if ( value.isEmpty() )
+    {
+        font.setUnderline ( mLabelAttributes->underline() );
+    }
+    else
+    {
+        font.setUnderline ( (bool) value.toInt() );
+    }
+
+    // 
+    QgsPoint overridePoint;
+    bool useOverridePoint = false;
+    value = fieldValue ( XCoordinate, feature );
+    if ( !value.isEmpty() )
+    {
+        overridePoint.setX ( value.toDouble() );
+        useOverridePoint = true;
+    }
+    value = fieldValue ( YCoordinate, feature );
+    if ( !value.isEmpty() )
+    {
+        overridePoint.setY ( value.toDouble() );
+        useOverridePoint = true;
+    }
+
+    /* Alignment */
+    int alignment;
+    QFontMetrics fm ( font );
+    int width = fm.width ( text );
+    int height = fm.height();
+    int dx = 0;
+    int dy = 0;
+
+    value = fieldValue ( Alignment, feature );
+    if ( value.isEmpty() )
+    {
+        alignment = mLabelAttributes->alignment();
+    }
+    else
+    {
+        value = value.lower();
+        alignment = Qt::AlignCenter;
+        if ( value.compare("left") == 0 )
+        {
+            alignment = Qt::AlignLeft | Qt::AlignVCenter;
+        }
+        else if ( value.compare("right") == 0 )
+        {
+            alignment = Qt::AlignRight | Qt::AlignVCenter;
+        }
+        else if ( value.compare("bottom") == 0 )
+        {
+            alignment = Qt::AlignBottom | Qt::AlignHCenter;
+        }
+        else if ( value.compare("top") == 0 )
+        {
+            alignment = Qt::AlignTop | Qt::AlignHCenter;
+        }
+    }
+
+    if ( alignment & Qt::AlignLeft )
+    {
+        dx = 0;
+    }
+    else if ( alignment & Qt::AlignHCenter )
+    {
+        dx = -width/2;
+    }
+    else if ( alignment & Qt::AlignRight )
+    {
+        dx = -width;
+    }
+
+    if ( alignment & Qt::AlignBottom )
+    {
+        dy = 0;
+    }
+    else if ( alignment & Qt::AlignVCenter )
+    {
+        dy = height/2;
+    }
+    else if ( alignment & Qt::AlignTop )
+    {
+        dy = height;
+    }
+
+    // Offset 
+    double xoffset, yoffset;
+    value = fieldValue ( XOffset, feature );
+    if ( value.isEmpty() )
+    {
+        xoffset = mLabelAttributes->xOffset();
+    }
+    else
+    {
+        xoffset = value.toDouble();
+    }
+    value = fieldValue ( YOffset, feature );
+    if ( value.isEmpty() )
+    {
+        yoffset = mLabelAttributes->yOffset();
+    }
+    else
+    {
+        yoffset = value.toDouble();
+    }
+
+    // recalc offset to points
+    if (  mLabelAttributes->offsetType() == QgsLabelAttributes::MapUnits )
+    {
+        xoffset *= scale;
+        yoffset *= scale;
+    }
+
+    // Angle 
+    double ang;
+    value = fieldValue ( Angle, feature );
+    if ( value.isEmpty() )
+    {
+        ang = mLabelAttributes->angle();
+    }
+    else
+    {
+        ang = value.toDouble();
+    }
+
+
+    // Work out a suitable position to put the label for the
+    // feature. For multi-geometries, put the same label on each
+    // part.
+    if (useOverridePoint)
+    {
+      renderLabel(painter, overridePoint, coordTransform, 
+                  transform, text, font, pen, dx, dy,
+                  xoffset, yoffset, ang);
+    }
+    else
+    {
+      std::vector<QgsPoint> points;
+      labelPoint ( points, feature );
+      for (uint i = 0; i < points.size(); ++i)
+      {
+        renderLabel(painter, points[i], coordTransform, 
+                    transform, text, font, pen, dx, dy,
+                    xoffset, yoffset, ang);
+      }
+    }
+}
+
+void QgsLabel::renderLabel(QPainter* painter, QgsPoint point, 
+                           QgsCoordinateTransform* coordTransform,
+                           QgsMapToPixel* transform,
+                           QString text, QFont font, QPen pen,
+                           int dx, int dy, 
+                           double xoffset, double yoffset, 
+                           double ang)
+{
+    // Convert point to projected units
+    if (coordTransform)
+    {
+      try
+      {
+        point = coordTransform->transform(point);
+      }
+      catch(QgsCsException &cse)
+      {
+	QgsDebugMsg("Caught transform error in QgsLabel::renderLabel(). "
+		          "Skipping rendering this label");
+	return;
+      }
+    }
+
+    // and then to canvas units
+    transform->transform(&point);
+    double x = point.x();
+    double y = point.y();
+
+    static const double rad = ang * M_PI/180;
+
+    x = x + xoffset * cos(rad) - yoffset * sin(rad);
+    y = y - xoffset * sin(rad) - yoffset * cos(rad);
+
+    painter->save();
+    painter->setFont ( font );
+    painter->translate ( x, y );
+    painter->rotate ( -ang );
+    //
+    // Draw a buffer behind the text if one is desired
+    //
+    if (mLabelAttributes->bufferSizeIsSet() && mLabelAttributes->bufferEnabled())
+    {
+        int myBufferSize = static_cast<int>(mLabelAttributes->bufferSize());
+        if (mLabelAttributes->bufferColorIsSet())
+        {
+            painter->setPen( mLabelAttributes->bufferColor());
+        }
+        else //default to a white buffer
+        {
+            painter->setPen( Qt::white);
+        }
+        for (int i = dx-myBufferSize; i <= dx+myBufferSize; i++)
+        {
+            for (int j = dy-myBufferSize; j <= dy+myBufferSize; j++)
+            {
+                painter->drawText( i ,j, text);
+            }
+        }
+    }
+
+    painter->setPen ( pen );
+    painter->drawText ( dx, dy, text );
+    painter->restore();
+}
+
+void QgsLabel::addRequiredFields ( QgsAttributeList& fields )
+{
+    for ( uint i = 0; i < LabelFieldCount; i++ )
+    {
+        if ( mLabelFieldIdx[i] == -1 )
+            continue;
+        bool found = false;
+        for (QgsAttributeList::iterator it = fields.begin(); it != fields.end(); ++it)
+        {
+            if ( *it == mLabelFieldIdx[i] )
+            {
+                found = true;
+                break;
+            }
+        }
+        if (!found)
+        {
+            fields.append(mLabelFieldIdx[i]);
+        }
+    }
+}
+
+void QgsLabel::setFields( const QgsFieldMap & fields  )
+{
+    mField = fields;
+}
+
+QgsFieldMap & QgsLabel::fields ( void )
+{
+    return mField;
+}
+
+void QgsLabel::setLabelField ( int attr, int fieldIndex )
+{
+    if ( attr >= LabelFieldCount )
+        return;
+
+    mLabelFieldIdx[attr] = fieldIndex;
+}
+
+QString QgsLabel::labelField ( int attr )
+{
+    if ( attr > LabelFieldCount )
+        return QString();
+
+    int fieldIndex = mLabelFieldIdx[attr];
+    return mField[fieldIndex].name();
+}
+
+QgsLabelAttributes *QgsLabel::layerAttributes ( void )
+{
+    return mLabelAttributes;
+}
+
+void QgsLabel::labelPoint ( std::vector<QgsPoint>& points, QgsFeature & feature )
+{
+  QgsGeometry* geometry = feature.geometry();
+  unsigned char *geom = geometry->wkbBuffer();
+  QGis::WKBTYPE wkbType = geometry->wkbType();
+  
+  QgsPoint point;
+
+  switch (wkbType)
+  {
+  case QGis::WKBPoint25D:
+  case QGis::WKBPoint:
+  case QGis::WKBLineString25D:
+  case QGis::WKBLineString:
+  case QGis::WKBPolygon25D:
+  case QGis::WKBPolygon:
+    {
+      labelPoint(point, geom);
+      points.push_back(point);
+    }
+    break;
+  case QGis::WKBMultiPoint25D:
+  case QGis::WKBMultiPoint:
+  case QGis::WKBMultiLineString25D:
+  case QGis::WKBMultiLineString:
+  case QGis::WKBMultiPolygon25D:
+  case QGis::WKBMultiPolygon:
+    // Return a position for each individual in the multi-feature
+    {
+      int numFeatures = (int)(*(geom + 5));
+      geom += 9; // now points to start of array of WKB's
+      for (int i = 0; i < numFeatures; ++i)
+      {
+        geom = labelPoint(point, geom);
+        points.push_back(point);
+      }
+    }
+    break;
+  default:
+    QgsDebugMsg("Unknown geometry type of " + QString::number(wkbType));
+  }
+}
+
+unsigned char* QgsLabel::labelPoint ( QgsPoint& point, unsigned char* geom)
+{
+    // Number of bytes that ints and doubles take in the WKB format.
+    static const unsigned int sizeOfInt = 4;
+    static const unsigned int sizeOfDouble = 8;
+
+    QGis::WKBTYPE wkbType;
+    bool hasZValue = false;
+    double *x, *y;
+    unsigned char *ptr;
+    int *nPoints;
+    // Upon return from this function, this variable will contain a
+    // pointer to the first byte beyond the current feature.
+    unsigned char *nextFeature = geom;
+
+    memcpy(&wkbType, (geom+1), sizeof(wkbType));
+
+    switch (wkbType)
+    {
+    case QGis::WKBPoint25D:
+    case QGis::WKBPoint:
+      {
+        x = (double *) (geom + 5);
+        y = (double *) (geom + 5 + sizeof(double));
+        point.set(*x, *y);
+        nextFeature += 1 + sizeOfInt + sizeOfDouble*2;
+      }
+      break;
+    case QGis::WKBLineString25D:
+      hasZValue = true;
+    case QGis::WKBLineString: // Line center
+      {
+        double dx, dy, tl, l;
+        ptr = geom + 5;
+        nPoints = (int *)ptr;
+	if(hasZValue)
+	  {
+	    nextFeature += 1 + sizeOfInt*2 + (*nPoints)*sizeOfDouble*3;
+	  }
+	else
+	  {
+	    nextFeature += 1 + sizeOfInt*2 + (*nPoints)*sizeOfDouble*2;
+	  }
+        ptr = geom + 1 + 2 * sizeof(int);
+
+        tl = 0;
+        for (int i = 1; i < *nPoints; i++)
+        {
+	  if(hasZValue)
+	    {
+	      dx = ((double *)ptr)[3*i] - ((double *)ptr)[3*i-3];
+	      dy = ((double *)ptr)[3*i+1] - ((double *)ptr)[3*i-2];
+	    }
+	  else
+	    {
+	      dx = ((double *)ptr)[2*i] - ((double *)ptr)[2*i-2];
+	      dy = ((double *)ptr)[2*i+1] - ((double *)ptr)[2*i-1];
+	    }
+            tl += sqrt(dx*dx + dy*dy);
+        }
+        tl /= 2;
+
+        l = 0;
+        for (int i = 1; i < *nPoints; i++)
+        {
+            double dl;
+	    if(hasZValue)
+	      {
+		dx = ((double *)ptr)[3*i] - ((double *)ptr)[3*i-3];
+		dy = ((double *)ptr)[3*i+1] - ((double *)ptr)[3*i-2];
+	      }
+	    else
+	      {
+		dx = ((double *)ptr)[2*i] - ((double *)ptr)[2*i-2];
+		dy = ((double *)ptr)[2*i+1] - ((double *)ptr)[2*i-1];
+	      }
+            dl = sqrt(dx*dx + dy*dy);
+
+            if ( l+dl > tl )
+            {
+                l = tl - l;
+                double k = l/dl;
+
+		if(hasZValue)
+		  {
+		    point.setX ( ((double *)ptr)[3*i-3] +  k * dx  );
+		    point.setY ( ((double *)ptr)[3*i-2] + k * dy );
+		  }
+		else
+		  {
+		    point.setX ( ((double *)ptr)[2*i-2] +  k * dx  );
+		    point.setY ( ((double *)ptr)[2*i-1] + k * dy );
+		  }
+                break;
+            }
+            l += dl;
+        }
+      }
+      break;
+
+    case QGis::WKBPolygon25D:
+      hasZValue = true;
+    case QGis::WKBPolygon:
+      {
+        double sx, sy;
+        ptr = geom + 1 + 2 * sizeof(int); // set pointer to the first ring
+        nPoints = (int *) ptr;
+        ptr += 4;
+        sx = sy = 0;
+        for (int i = 0; i < *nPoints-1; i++)
+        {
+	  if(hasZValue)
+	    {
+	      sx += ((double *)ptr)[3*i];
+	      sy += ((double *)ptr)[3*i+1];
+	    }
+	  else
+	    {
+	      sx += ((double *)ptr)[2*i];
+	      sy += ((double *)ptr)[2*i+1];
+	    }
+        }
+        point.setX ( sx/(*nPoints-1) );
+        point.setY ( sy/(*nPoints-1) );
+        // Work out a pointer to the next feature after this one.
+        int numRings = (int)(*(geom+1+sizeOfInt));
+        unsigned char* nextRing = nextFeature + 1 + 2*sizeOfInt; 
+        for (int i = 0; i < numRings; ++i)
+        {
+          int numPoints = (int)(*nextRing);
+          // get the start of the next ring
+	  if(hasZValue)
+	    {
+	      nextRing += sizeOfInt + numPoints*sizeOfDouble*3;
+	    }
+	  else
+	    {
+	      nextRing += sizeOfInt + numPoints*sizeOfDouble*2;
+	    }
+        }
+        nextFeature = nextRing;
+      }
+      break;
+
+    default:
+      // To get here is a bug because our caller should be filtering
+      // on wkb type.
+      break;
+    }
+    return nextFeature;
+}
+
+static int _elementFieldIndex(QDomElement& el)
+{
+	QString str = el.attribute("field","");
+	if (str == "")
+		return -1;
+	else
+		return str.toInt();
+}
+
+void QgsLabel::readXML( const QDomNode& node )
+{
+    QgsDebugMsg(" called for layer label properties, got node " + node.nodeName());
+
+    QDomNode scratchNode;       // DOM node re-used to get current QgsLabel attribute
+    QDomElement el;
+    
+    int red, green, blue;
+    int type;
+
+    /* Text */
+    scratchNode = node.namedItem("label");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``label'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setText ( el.attribute("text","") );
+        setLabelField ( Text, _elementFieldIndex(el) );
+    }
+
+    /* Family */
+    scratchNode = node.namedItem("family");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``family'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setFamily ( el.attribute("name","") );
+        setLabelField ( Family, _elementFieldIndex(el) );
+    }
+
+    /* Size */
+    scratchNode = node.namedItem("size");
+
+    if ( scratchNode.isNull() )
+    {
+       QgsDebugMsg("couldn't find QgsLabel ``size'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
+        mLabelAttributes->setSize ( el.attribute("value", "0.0").toDouble(), type );
+        setLabelField ( Size, _elementFieldIndex(el) );
+    }
+
+    /* Bold */
+    scratchNode = node.namedItem("bold");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``bold'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setBold ( (bool)el.attribute("on","0").toInt() );
+        setLabelField ( Bold, _elementFieldIndex(el) );
+    }
+
+    /* Italic */
+    scratchNode = node.namedItem("italic");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``italic'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setItalic ( (bool)el.attribute("on","0").toInt() );
+        setLabelField ( Italic, _elementFieldIndex(el) );
+    }
+
+    /* Underline */
+    scratchNode = node.namedItem("underline");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``underline'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setUnderline ( (bool)el.attribute("on","0").toInt() );
+        setLabelField ( Underline, _elementFieldIndex(el) );
+    }
+
+    /* Color */
+    scratchNode = node.namedItem("color");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``color'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+
+        red = el.attribute("red","0").toInt();
+        green = el.attribute("green","0").toInt();
+        blue = el.attribute("blue","0").toInt();
+
+        mLabelAttributes->setColor( QColor(red, green, blue) );
+
+        setLabelField ( Color, _elementFieldIndex(el) );
+    }
+
+    /* X */
+    scratchNode = node.namedItem("x");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``x'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        setLabelField ( XCoordinate, _elementFieldIndex(el) );
+    }
+
+    /* Y */
+    scratchNode = node.namedItem("y");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``y'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        setLabelField ( YCoordinate, _elementFieldIndex(el) );
+    }
+
+
+    /* X,Y offset */
+    scratchNode = node.namedItem("offset");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``offset'' attribute");
+    }
+    else
+    {
+        double xoffset, yoffset;
+
+        el = scratchNode.toElement();
+
+        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
+        xoffset = el.attribute("x","0.0").toDouble();
+        yoffset = el.attribute("y","0.0").toDouble();
+
+        mLabelAttributes->setOffset ( xoffset, yoffset, type );
+        setLabelField ( XOffset, el.attribute("xfield","0").toInt() );
+        setLabelField ( YOffset, el.attribute("yfield","0").toInt() );
+    }
+
+    /* Angle */
+    scratchNode = node.namedItem("angle");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``angle'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setAngle ( el.attribute("value","0.0").toDouble() );
+        setLabelField ( Angle, _elementFieldIndex(el) );
+    }
+
+    /* Alignment */
+    scratchNode = node.namedItem("alignment");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``alignment'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+        mLabelAttributes->setAlignment ( QgsLabelAttributes::alignmentCode(el.attribute("value","")) );
+        setLabelField ( Alignment, _elementFieldIndex(el) );
+    }
+
+
+    // Buffer
+    scratchNode = node.namedItem("buffercolor");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``buffercolor'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+
+        red = el.attribute("red","0").toInt();
+        green = el.attribute("green","0").toInt();
+        blue = el.attribute("blue","0").toInt();
+
+        mLabelAttributes->setBufferColor( QColor(red, green, blue) );
+        setLabelField ( BufferColor, _elementFieldIndex(el) );
+    }
+
+    scratchNode = node.namedItem("buffersize");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``bffersize'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+
+        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
+        mLabelAttributes->setBufferSize ( el.attribute("value","0.0").toDouble(), type );
+        setLabelField ( BufferSize, _elementFieldIndex(el) );
+    }
+
+    scratchNode = node.namedItem("bufferenabled");
+
+    if ( scratchNode.isNull() )
+    {
+        QgsDebugMsg("couldn't find QgsLabel ``bufferenabled'' attribute");
+    }
+    else
+    {
+        el = scratchNode.toElement();
+
+        mLabelAttributes->setBufferEnabled ( (bool)el.attribute("on","0").toInt() );
+        setLabelField ( BufferEnabled, _elementFieldIndex(el) );
+    }
+
+} // QgsLabel::readXML()
+
+
+
+void QgsLabel::writeXML(std::ostream& xml)
+{
+
+    xml << "\t\t<labelattributes>\n";
+
+    // Text
+    if (mLabelAttributes->textIsSet())
+    {
+      if (mLabelFieldIdx[Text] != -1)
+      {
+          xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8())
+              << "\" field=\"" << mLabelFieldIdx[Text] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8())
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8())
+            << "\" field=\"\" />\n";
+    }
+
+    // Family
+    if (mLabelAttributes->familyIsSet() && !mLabelAttributes->family().isNull())
+    {
+      if (mLabelFieldIdx[Family] != -1)
+      {
+          xml << "\t\t\t<family name=\"" << mLabelAttributes->family().utf8().data()
+              << "\" field=\"" << mLabelFieldIdx[Family] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<family name=\"" << mLabelAttributes->family().utf8().data()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<family name=\"Arial\" field=\"\" />\n";
+    }
+
+    // size and units
+    if (mLabelAttributes->sizeIsSet())
+    {
+      if (mLabelFieldIdx[Size] != -1)
+      {
+          xml << "\t\t\t<size value=\"" << mLabelAttributes->size()
+              << "\" units=\"" << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->sizeType()).utf8()
+              << "\" field=\"" << mLabelFieldIdx[Size] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<size value=\"" << mLabelAttributes->size()
+              << "\" units=\"" << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->sizeType()).utf8()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<size value=\"12\" units=\"Points\" field=\"\" />\n";
+    }
+
+
+    // bold
+    if (mLabelAttributes->boldIsSet())
+    {
+      if (mLabelFieldIdx[Bold] != -1)
+      {
+          xml << "\t\t\t<bold on=\"" << mLabelAttributes->bold()
+              << "\" field=\"" << mLabelFieldIdx[Bold] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<bold on=\"" << mLabelAttributes->bold()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<bold on=\"0\" field=\"0\" />\n";
+    }
+
+    // italics
+    if (mLabelAttributes->italicIsSet())
+    {
+      if (mLabelFieldIdx[Italic] != -1)
+      {
+          xml << "\t\t\t<italic on=\"" << mLabelAttributes->italic()
+              << "\" field=\"" << mLabelFieldIdx[Italic] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<italic on=\"" << mLabelAttributes->italic()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<italic on=\"0\" field=\"\" />\n";
+    }
+    
+    // underline
+    if (mLabelAttributes->underlineIsSet())
+    {
+      if (mLabelFieldIdx[Underline] != -1)
+      {
+          xml << "\t\t\t<underline on=\"" << mLabelAttributes->underline()
+              << "\" field=\"" << mLabelFieldIdx[Underline] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<underline on=\"" << mLabelAttributes->underline()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<underline on=\"0\" field=\"\" />\n";
+    }
+
+    // color
+    if (mLabelAttributes->colorIsSet())
+    {
+      if (mLabelFieldIdx[Color] != -1)
+      {
+          xml << "\t\t\t<color red=\"" << mLabelAttributes->color().red()
+              << "\" green=\"" << mLabelAttributes->color().green()
+              << "\" blue=\"" << mLabelAttributes->color().blue()
+              << "\" field=\"" << mLabelFieldIdx[Color] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<color red=\"" << mLabelAttributes->color().red()
+              << "\" green=\"" << mLabelAttributes->color().green()
+              << "\" blue=\"" << mLabelAttributes->color().blue()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<color red=\"0\" green=\"0\" blue=\"0\" field=\"\" />\n";
+    }
+
+
+    /* X */
+    if (mLabelFieldIdx[XCoordinate] != -1)
+    {
+      xml << "\t\t\t<x field=\"" << mLabelFieldIdx[XCoordinate] << "\" />\n";
+    }
+    else
+    {
+      xml << "\t\t\t<x field=\"\" />\n";
+    }
+
+    /* Y */
+    if (mLabelFieldIdx[YCoordinate] != -1)
+    {
+      xml << "\t\t\t<y field=\"" << mLabelFieldIdx[YCoordinate] << "\" />\n";
+    }
+    else
+    {
+      xml << "\t\t\t<y field=\"\" />\n";
+    }
+
+    // offset
+    if ( mLabelAttributes->offsetIsSet() )
+    {
+            xml << "\t\t\t<offset  units=\"" << QgsLabelAttributes::unitsName(mLabelAttributes->offsetType()).utf8().data()
+            << "\" x=\"" << mLabelAttributes->xOffset() << "\" xfield=\"" << mLabelFieldIdx[XOffset]
+            << "\" y=\"" << mLabelAttributes->yOffset() << "\" yfield=\"" << mLabelFieldIdx[YOffset]
+            << "\" />\n";
+    }
+
+    // Angle
+    if ( mLabelAttributes->angleIsSet() )
+    {
+      if (mLabelFieldIdx[Angle] != -1)
+      {
+          xml << "\t\t\t<angle value=\"" << mLabelAttributes->angle()
+              << "\" field=\"" << mLabelFieldIdx[Angle] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<angle value=\"" << mLabelAttributes->angle() << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<angle value=\"\" field=\"\" />\n";
+    }
+
+    // alignment
+    if ( mLabelAttributes->alignmentIsSet() )
+    {
+      xml << "\t\t\t<alignment value=\"" << QgsLabelAttributes::alignmentName(mLabelAttributes->alignment()).utf8().data()
+            << "\" field=\"" << mLabelFieldIdx[Alignment] << "\" />\n";
+    }
+
+    // buffer color
+    if (mLabelAttributes->bufferColorIsSet())
+    {
+      if (mLabelFieldIdx[BufferColor] != -1)
+      {
+        xml << "\t\t\t<buffercolor red=\"" << mLabelAttributes->bufferColor().red()
+            << "\" green=\"" << mLabelAttributes->bufferColor().green()
+            << "\" blue=\"" << mLabelAttributes->bufferColor().blue()
+            << "\" field=\"" << mLabelFieldIdx[BufferColor] << "\" />\n";
+      }
+      else
+      {
+        xml << "\t\t\t<buffercolor red=\"" << mLabelAttributes->bufferColor().red()
+            << "\" green=\"" << mLabelAttributes->bufferColor().green()
+            << "\" blue=\"" << mLabelAttributes->bufferColor().blue()
+            << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<buffercolor red=\"\" green=\"\" blue=\"\" field=\"\" />\n";
+    }
+
+    // buffer size
+    if (mLabelAttributes->bufferSizeIsSet())
+    {
+      if (mLabelFieldIdx[BufferSize] != -1)
+      {
+          xml << "\t\t\t<buffersize value=\"" << mLabelAttributes->bufferSize()
+              << "\" units=\"" << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->bufferSizeType()).utf8()
+              << "\" field=\"" << mLabelFieldIdx[BufferSize] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<buffersize value=\"" << mLabelAttributes->bufferSize()
+              << "\" units=\"" << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->bufferSizeType()).utf8()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<buffersize value=\"\" units=\"\" field=\"\" />\n";
+    }
+
+    // buffer enabled
+    if (mLabelAttributes->bufferEnabled())
+    {
+      if (mLabelFieldIdx[BufferEnabled] != -1)
+      {
+          xml << "\t\t\t<bufferenabled on=\"" << mLabelAttributes->bufferEnabled()
+              << "\" field=\"" << mLabelFieldIdx[BufferEnabled] << "\" />\n";
+      }
+      else
+      {
+          xml << "\t\t\t<bufferenabled on=\"" << mLabelAttributes->bufferEnabled()
+              << "\" field=\"\" />\n";
+      }
+    }
+    else
+    {
+        xml << "\t\t\t<bufferenabled on=\"" << "\" field=\"" << "\" />\n";
+    }
+    xml << "\t\t</labelattributes>\n";
+}
+

Added: packages/qgis/branches/upstream/current/src/core/qgslabel.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslabel.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgslabel.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,153 @@
+/***************************************************************************
+                         qgslabel.h - render vector labels
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgslabel.h 6833 2007-03-24 22:40:10Z wonder $ */
+#ifndef QGSLABEL_H
+#define QGSLABEL_H
+
+#include <vector>
+
+#include <QColor>
+#include <QList>
+#include <QMap>
+
+class QDomNode;
+class QString;
+class QPainter;
+class QPaintDevice;
+
+class QgsPoint;
+class QgsFeature;
+class QgsField;
+class QgsLabelAttributes;
+class QgsRect;
+class QgsMapToPixel;
+class QgsCoordinateTransform;
+
+#include "qgsfield.h"
+
+typedef QList<int> QgsAttributeList;
+
+typedef QMap<int, QgsField> QgsFieldMap;
+
+/** Render class to display labels */
+class CORE_EXPORT QgsLabel
+{
+public:
+    QgsLabel ( const QgsFieldMap & fields  );
+
+    ~QgsLabel();
+
+    /* Fields */
+    enum LabelField {
+	Text = 0,
+	Family,
+	Size,
+	Bold,
+	Italic,
+	Underline,
+	Color,
+	XCoordinate,
+	YCoordinate,
+	XOffset,
+	YOffset,
+	Angle,
+	Alignment,
+        BufferEnabled,
+	BufferSize,
+	BufferColor,
+	BufferBrush,
+	BorderWidth,
+	BorderColor,
+	BorderStyle,
+	LabelFieldCount
+    };
+
+    /** \brief render label
+     *  \param sizeScale global scale factor for size in pixels, labels in map units are not scaled
+     */
+    void renderLabel ( QPainter* painter, QgsRect& viewExtent, 
+                       QgsCoordinateTransform* coordTransform,
+                       QgsMapToPixel *transform,
+		       QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes=0, double sizeScale = 1.);
+
+    /** Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+    */
+    void readXML(const QDomNode& node);
+
+    /** Writes the contents of the renderer to a configuration file */
+    void writeXML(std::ostream& xml);
+
+    //! add vector of required fields to existing list of fields
+    void addRequiredFields ( QgsAttributeList& fields );
+
+    //! Set available fields
+    void setFields( const QgsFieldMap & fields  );
+
+    //! Available vector fields
+    QgsFieldMap & fields ( void );
+
+    //! Pointer to default attributes
+    QgsLabelAttributes *layerAttributes ( void );
+
+    //! Set label field
+    void setLabelField ( int attr, int fieldIndex );
+
+    //! label field
+    QString labelField ( int attr );
+
+    /** Get field value if : 1) field name is not empty
+     *                       2) field exists
+     *                       3) value is defined
+     *  otherwise returns empty string
+    */
+    QString fieldValue ( int attr, QgsFeature& feature );
+
+private:
+    /** Does the actual rendering of a label at the given point
+     * 
+     */
+    void renderLabel(QPainter* painter, QgsPoint point, 
+                     QgsCoordinateTransform* coordTransform,
+                     QgsMapToPixel* transform,
+                     QString text, QFont font, QPen pen,
+                     int dx, int dy,
+                     double xoffset, double yoffset,
+                     double ang);
+
+    /** Get label point for simple feature in map units */
+    void labelPoint ( std::vector<QgsPoint>&, QgsFeature & feature );
+
+    /** Get label point for the given feature in wkb format. */
+    unsigned char* labelPoint( QgsPoint& point, unsigned char* wkb);
+
+    /** Color to draw selected features */
+    QColor mSelectionColor;
+    
+    //! Default layer attributes
+    QgsLabelAttributes *mLabelAttributes;
+    
+    //! Available layer fields
+    QgsFieldMap mField;
+
+    //! Label fields
+    std::vector<QString> mLabelField;
+
+    //! Label field indexes
+    std::vector<int> mLabelFieldIdx;
+};
+
+#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgslabelattributes.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslabelattributes.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgslabelattributes.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,15 +13,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgslabelattributes.h 5886 2006-09-30 05:58:51Z g_j_m $ */
+/* $Id: qgslabelattributes.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSLABELATTRIBUTES_H
 #define QGSLABELATTRIBUTES_H
 
+#include <qnamespace.h>
+
+#include <QBrush>
+#include <QFont>
 #include <QPen>
+
 class QString;
-class QFont;
 class QColor;
-class QBrush;
 
 /** This class can be used to store attributes needed for label rendering. 
  *
@@ -72,7 +75,7 @@
  *   Each attribute is either se or unset.
  */
 
-class QgsLabelAttributes
+class  CORE_EXPORT QgsLabelAttributes
 {
 public:
     /** Constructor.

Modified: packages/qgis/branches/upstream/current/src/core/qgsline.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsline.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsline.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsline.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsline.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSLINE_H
 #define QGSLINE_H
@@ -34,7 +34,7 @@
  *
  * For example, (1,1 2,2) != (2,2 1,1)
  */
-class QgsLine 
+class CORE_EXPORT QgsLine 
 {
  public:
     //! Default constructor

Deleted: packages/qgis/branches/upstream/current/src/core/qgslinesymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslinesymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgslinesymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-/***************************************************************************
-                          qgslinesymbol.cpp  -  description
-                             -------------------
-    begin                : Sun Aug 11 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgslinesymbol.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgslinesymbol.h"
-QgsLineSymbol::QgsLineSymbol()
-{
-}
-
-QgsLineSymbol::~QgsLineSymbol()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgslinesymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslinesymbol.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgslinesymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,44 +0,0 @@
-/***************************************************************************
-                          qgslinesymbol.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgslinesymbol.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSLINESYMBOL_H
-#define QGSLINESYMBOL_H
-#include "qgssymbol.h"
-class QString;
-
-/*! \class QgsLineSymbol
- * \brief Symbol for displaying lines
- */
-class QgsLineSymbol : public QgsSymbol{
- public:
-    //! Constructor
-    QgsLineSymbol();
-    //! Destructor
-    ~QgsLineSymbol();
-          /*! Comparison operator
-      @return True if symbols are equal
-    */
-    bool operator==(const QgsLineSymbol &r1);
-    /*! Assignment operator
-     * @param r1 QgsPolygonSymbol to assign from
-     */
-    QgsLineSymbol & operator=(const QgsLineSymbol &r1);
- private:
-  
-};
-#endif // QGSLINESYMBOL_H

Modified: packages/qgis/branches/upstream/current/src/core/qgslogger.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslogger.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgslogger.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,6 +17,7 @@
 
 
 #include "qgslogger.h"
+#include <QtDebug>
 
 void QgsLogger::debug(const QString& msg, int debuglevel, const char* file, const char* function, int line)
 {

Modified: packages/qgis/branches/upstream/current/src/core/qgslogger.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgslogger.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgslogger.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -38,7 +38,7 @@
 QGIS_DEBUG_FILE may contain a filename. Only the messages from this file are printed (provided they have the right debuglevel). If QGIS_DEBUG_FILE is not set, messages from all files are printed
 */
 
-class QgsLogger
+class CORE_EXPORT QgsLogger
 {
  public:
 

Added: packages/qgis/branches/upstream/current/src/core/qgsmaplayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaplayer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaplayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,399 @@
+/***************************************************************************
+                          qgsmaplayer.cpp  -  description
+                             -------------------
+    begin                : Fri Jun 28 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmaplayer.cpp 7127 2007-08-06 14:03:02Z wonder $ */
+
+#include <iostream>
+
+#include <QDateTime>
+#include <QDomNode>
+#include <QFileInfo>
+#include <QSettings> // TODO: get rid of it [MD]
+
+#include "qgslogger.h"
+#include "qgsmaptopixel.h"
+#include "qgsrect.h"
+#include "qgssymbol.h"
+#include "qgsmaplayer.h"
+#include "qgsspatialrefsys.h"
+
+
+QgsMapLayer::QgsMapLayer(int type,
+                         QString lyrname,
+                         QString source) :
+        mTransparencyLevel(255), // 0 is completely transparent
+        mValid(FALSE), // assume the layer is invalid
+        mDataSource(source),
+        mID(""),
+        mLayerType(type)
+
+{
+    QgsDebugMsg("QgsMapLayer::QgsMapLayer - lyrname is '" + lyrname);
+    
+    mSRS = new QgsSpatialRefSys();
+
+    // Set the display name = internal name
+    mLayerName = capitaliseLayerName(lyrname);
+    QgsDebugMsg("QgsMapLayer::QgsMapLayer - layerName is '" + mLayerName);
+
+    // Generate the unique ID of this layer
+    QDateTime dt = QDateTime::currentDateTime();
+    mID = lyrname + dt.toString("yyyyMMddhhmmsszzz");
+    // Tidy the ID up to avoid characters that may cause problems
+    // elsewhere (e.g in some parts of XML). Replaces every non-word
+    // character (word characters are the alphabet, numbers and
+    // underscore) with an underscore. 
+    // Note that the first backslashe in the regular expression is
+    // there for the compiler, so the pattern is actually \W
+    mID.replace(QRegExp("[\\W]"), "_");
+
+    //set some generous  defaults for scale based visibility
+    mMinScale = 0;
+    mMaxScale = 100000000;
+    mScaleBasedVisibility = false;
+}
+
+
+
+QgsMapLayer::~QgsMapLayer()
+{
+  delete mSRS;
+}
+
+int QgsMapLayer::type() const
+{
+    return mLayerType;
+}
+
+/** Get this layer's unique ID */
+QString QgsMapLayer::getLayerID() const
+{
+    return mID;
+}
+
+/** Write property of QString layerName. */
+void QgsMapLayer::setLayerName(const QString & _newVal)
+{
+  QgsDebugMsg("QgsMapLayer::setLayerName: new name is '" + _newVal);
+  mLayerName = capitaliseLayerName(_newVal);
+  emit layerNameChanged();
+}
+
+/** Read property of QString layerName. */
+QString const & QgsMapLayer::name() const
+{
+  QgsDebugMsg("QgsMapLayer::name: returning name '" + mLayerName);
+  return mLayerName;
+}
+
+QString QgsMapLayer::publicSource() const 
+{ 
+  // Redo this every time we're asked for it, as we don't know if 
+  // dataSource has changed. 
+  static QRegExp regexp(" password=.* "); 
+  regexp.setMinimal(true); 
+  QString safeName(mDataSource); 
+  return safeName.replace(regexp, " "); 
+}
+
+QString const & QgsMapLayer::source() const
+{
+    return mDataSource;
+}
+
+const QgsRect QgsMapLayer::extent()
+{
+    return mLayerExtent;
+}
+
+
+bool QgsMapLayer::draw(QPainter *, QgsRect &, QgsMapToPixel *, QgsCoordinateTransform *, bool)
+{
+    //  std::cout << "In QgsMapLayer::draw" << std::endl;
+    return false;
+}
+
+void QgsMapLayer::drawLabels(QPainter *, QgsRect &, QgsMapToPixel *, QgsCoordinateTransform *)
+{
+    //  std::cout << "In QgsMapLayer::draw" << std::endl;
+}
+
+bool QgsMapLayer::readXML( QDomNode & layer_node )
+{
+    QDomElement element = layer_node.toElement();
+
+    // XXX not needed? QString type = element.attribute("type");
+
+    // set data source
+    QDomNode mnl = layer_node.namedItem("datasource");
+    QDomElement mne = mnl.toElement();
+    mDataSource = mne.text();
+
+    // Set a SRS (any will do) so that we don't ask the user.
+    // We will overwrite whatever GDAL etc picks up anway
+    // further down this function.
+    mSRS->createFromSrsId(GEOSRS_ID);
+
+    // now let the children grab what they need from the DOM node.
+    if (!readXML_( layer_node ))
+    {
+      return false;
+    }
+
+    // the internal name is just the data source basename
+    QFileInfo dataSourceFileInfo( mDataSource );
+    //internalName = dataSourceFileInfo.baseName();
+
+    // set ID
+    mnl = layer_node.namedItem("id");
+    if ( ! mnl.isNull() ) 
+    {
+        mne = mnl.toElement();
+        if ( ! mne.isNull() && mne.text().length() > 10 ) // should be at least 17 (yyyyMMddhhmmsszzz)
+        {
+            mID = mne.text();
+        }
+    }
+
+    // use scale dependent visibility flag
+    QString scaleBasedVisibility = element.attribute("scaleBasedVisibilityFlag");
+    if ( "1" == scaleBasedVisibility )
+    {
+        setScaleBasedVisibility(true);
+    }
+    else
+    {
+        setScaleBasedVisibility(false);
+    }
+    setMinScale(element.attribute("minScale").toFloat());
+    setMaxScale(element.attribute("maxScale").toFloat());
+
+    // set name
+    mnl = layer_node.namedItem("layername");
+    mne = mnl.toElement();
+    setLayerName( mne.text() );
+
+    //read srs
+    QDomNode srsNode = layer_node.namedItem("srs");
+    mSRS->readXML(srsNode);
+    
+    //read transparency level
+    QDomNode transparencyNode = layer_node.namedItem("transparencyLevelInt");
+    if ( ! transparencyNode.isNull() )
+    {
+      // set transparency level only if it's in project
+      // (otherwise it sets the layer transparent)
+      QDomElement myElement = transparencyNode.toElement();
+      setTransparency(myElement.text().toInt());
+    }
+
+    return true;
+} // void QgsMapLayer::readXML
+
+
+bool QgsMapLayer::readXML_( QDomNode & layer_node )
+{
+    // NOP by default; children will over-ride with behavior specific to them
+
+    return true;
+} // void QgsMapLayer::readXML_
+
+
+
+bool QgsMapLayer::writeXML( QDomNode & layer_node, QDomDocument & document )
+{
+    // general layer metadata
+    QDomElement maplayer = document.createElement( "maplayer" );
+
+    // use scale dependent visibility flag
+    if ( scaleBasedVisibility() )
+    {
+        maplayer.setAttribute( "scaleBasedVisibilityFlag", 1 );
+    }
+    else
+    {
+        maplayer.setAttribute( "scaleBasedVisibilityFlag", 0 );
+    }
+    maplayer.setAttribute( "minScale", minScale() );
+    maplayer.setAttribute( "maxScale", maxScale() );
+
+    // ID 
+    QDomElement id = document.createElement( "id" );
+    QDomText idText = document.createTextNode( getLayerID() );
+    id.appendChild( idText );
+
+    maplayer.appendChild( id );
+
+    // data source
+    QDomElement dataSource = document.createElement( "datasource" );
+    QDomText dataSourceText = document.createTextNode( source() );
+    dataSource.appendChild( dataSourceText );
+
+    maplayer.appendChild( dataSource );
+
+
+    // layer name
+    QDomElement layerName = document.createElement( "layername" );
+    QDomText layerNameText = document.createTextNode( name() );
+    layerName.appendChild( layerNameText );
+
+    maplayer.appendChild( layerName );
+
+    // zorder
+    // This is no longer stored in the project file. It is superflous since the layers
+    // are written and read in the proper order.
+
+    // spatial reference system id
+    QDomElement mySrsElement = document.createElement( "srs" );
+    mSRS->writeXML(mySrsElement, document);
+    maplayer.appendChild(mySrsElement);
+    
+    // <transparencyLevelInt>
+    QDomElement transparencyLevelIntElement = document.createElement( "transparencyLevelInt" );
+    QDomText    transparencyLevelIntText    = document.createTextNode( QString::number(getTransparency()) );
+    transparencyLevelIntElement.appendChild( transparencyLevelIntText );
+    maplayer.appendChild( transparencyLevelIntElement );
+    // now append layer node to map layer node
+
+    layer_node.appendChild( maplayer );
+
+    return writeXML_( maplayer, document );
+
+} // bool QgsMapLayer::writeXML
+
+
+
+bool QgsMapLayer::writeXML_( QDomNode & layer_node, QDomDocument & document )
+{
+    // NOP by default; children will over-ride with behavior specific to them
+
+    return true;
+} // void QgsMapLayer::writeXML_
+
+
+
+
+bool QgsMapLayer::isValid()
+{
+    return mValid;
+}
+
+
+void QgsMapLayer::invalidTransformInput()
+{
+  QgsLogger::warning("QgsMapLayer::invalidTransformInput() called");
+  // TODO: emit a signal - it will be used to update legend
+}
+
+
+QString QgsMapLayer::errorCaptionString()
+{
+  return QString();
+}
+
+QString QgsMapLayer::errorString()
+{
+  return QString();
+}
+
+void QgsMapLayer::connectNotify( const char * signal )
+{
+    QgsDebugMsg("QgsMapLayer connected to " + QString(signal));
+} //  QgsMapLayer::connectNotify
+
+
+
+void QgsMapLayer::setScaleBasedVisibility(bool theVisibilityFlag)
+{
+  mScaleBasedVisibility = theVisibilityFlag;
+}
+
+bool QgsMapLayer::scaleBasedVisibility()
+{
+  return mScaleBasedVisibility;
+}
+
+void QgsMapLayer::setMinScale(float theMinScale)
+{
+  mMinScale = theMinScale;
+}
+    
+float QgsMapLayer::minScale()
+{
+  return mMinScale;
+}
+
+    
+void QgsMapLayer::setMaxScale(float theMaxScale)
+{
+  mMaxScale = theMaxScale;
+}
+
+float QgsMapLayer::maxScale()
+{
+  return mMaxScale;
+}
+
+
+QStringList QgsMapLayer::subLayers()
+{
+  return QStringList();  // Empty
+}
+    
+void QgsMapLayer::setLayerOrder(QStringList layers)
+{
+      // NOOP
+}
+
+void QgsMapLayer::setSubLayerVisibility(QString name, bool vis)
+{
+      // NOOP
+}
+
+const QgsSpatialRefSys& QgsMapLayer::srs()
+{
+  return *mSRS;
+}
+
+void QgsMapLayer::setSrs(const QgsSpatialRefSys& srs)
+{
+  *mSRS = srs;
+}
+
+unsigned int QgsMapLayer::getTransparency()
+{
+  return mTransparencyLevel;
+}
+
+void QgsMapLayer::setTransparency(unsigned int theInt)
+{
+  mTransparencyLevel = theInt;
+}
+
+QString QgsMapLayer::capitaliseLayerName(const QString name)
+{
+  // Capitalise the first letter of the layer name if requested
+  QSettings settings;
+  bool capitaliseLayerName = 
+         settings.value("qgis/capitaliseLayerName", QVariant(false)).toBool();
+
+  QString layerName(name);
+
+  if (capitaliseLayerName)
+    layerName = layerName.left(1).upper() + layerName.mid(1);
+
+  return layerName;
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsmaplayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaplayer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaplayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,297 @@
+/***************************************************************************
+                          qgsmaplayer.h  -  description
+                             -------------------
+    begin                : Fri Jun 28 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmaplayer.h 7127 2007-08-06 14:03:02Z wonder $ */
+
+#ifndef QGSMAPLAYER_H
+#define QGSMAPLAYER_H
+
+#include <vector>
+#include <map>
+
+#include <QObject>
+
+#include "qgsrect.h"
+
+class QgsCoordinateTransform;
+class QgsMapToPixel;
+class QgsSpatialRefSys;
+
+class QDomNode;
+class QDomDocument;
+class QKeyEvent;
+class QPainter;
+
+/** \class QgsMapLayer
+ *  \brief Base class for all map layer types.
+ * This class is the base class for all map layer types (vector, raster).
+ */
+class CORE_EXPORT QgsMapLayer : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    /** Constructor
+     * @param type Type of layer as defined in LAYERS enum
+     * @param lyrname Display Name of the layer
+     */
+    QgsMapLayer(int type = 0, QString lyrname = QString::null, QString source = QString::null);
+
+    /** Destructor */
+    virtual ~QgsMapLayer();
+
+    /** Get the type of the layer
+     * @return Integer matching a value in the LAYERS enum
+     */
+    int type() const;
+
+    /** Get this layer's unique ID, this ID is used to access this layer from map layer registry */
+    QString getLayerID() const;
+
+    /** Set the display name of the layer
+     * @param name New name for the layer
+     */
+    void setLayerName(const QString & name);
+
+    /** Get the display name of the layer
+     * @return the layer name
+     */
+    QString const & name() const;
+
+    /** Render the layer, to be overridden in child classes
+     * @param painter Painter that to be used for rendered output
+     * @param rect Extent of the layer to be drawn
+     * @param mtp Transformation class
+     * @return FALSE if an error occurred during drawing
+     */
+    virtual bool draw(QPainter* painter, QgsRect& rect, QgsMapToPixel* mtp, QgsCoordinateTransform* ct, bool);
+    
+    /** Draw labels
+     * @TODO to be removed: used only in vector layers
+     */
+    virtual void drawLabels(QPainter* painter, QgsRect& rect, QgsMapToPixel* mtp, QgsCoordinateTransform* ct);
+
+    /** Return the extent of the layer as a QRect */
+    const QgsRect extent();
+
+    /*! Return the status of the layer. An invalid layer is one which has a bad datasource
+     * or other problem. Child classes set this flag when intialized
+     * @return True if the layer is valid and can be accessed
+     */
+    bool isValid();
+
+    /*! Gets a version of the internal layer definition that has sensitive 
+      *  bits removed (for example, the password). This function should 
+      * be used when displaying the source name for general viewing. 
+     */ 
+    QString publicSource() const;
+
+    /** Returns the source for the layer */
+    QString const & source() const;
+
+    /**
+     * Returns the sublayers of this layer
+     * (Useful for providers that manage their own layers, such as WMS)
+     */
+    virtual QStringList subLayers();
+    
+    /**
+     * Reorders the *previously selected* sublayers of this layer from bottom to top
+     * (Useful for providers that manage their own layers, such as WMS)
+     */
+    virtual void setLayerOrder(QStringList layers);
+    
+    /** Set the visibility of the given sublayer name */
+    virtual void setSubLayerVisibility(QString name, bool vis);
+
+    /** Layers enum defining the types of layers that can be added to a map */
+    enum LAYERS
+    {
+        VECTOR,
+        RASTER
+    };
+
+    /** True if the layer can be edited */
+    virtual bool isEditable() const = 0;
+
+    /** sets state from DOM document
+       @param layer_node is DOM node corresponding to ``maplayer'' tag
+       @note
+
+       The DOM node corresponds to a DOM document project file XML element read
+       by QgsProject.
+
+       This, in turn, calls readXML_(), which is over-rideable by sub-classes so
+       that they can read their own specific state from the given DOM node.
+
+       Invoked by QgsProject::read().
+
+       @returns true if successful
+     */
+    bool readXML(QDomNode & layer_node);
+
+
+    /** stores state in DOM node
+       @param layer_node is DOM node corresponding to ``projectlayers'' tag
+       @note
+
+       The DOM node corresponds to a DOM document project file XML element to be
+       written by QgsProject.
+
+       This, in turn, calls writeXML_(), which is over-rideable by sub-classes so
+       that they can write their own specific state to the given DOM node.
+
+       Invoked by QgsProject::write().
+
+       @returns true if successful
+    */
+    bool writeXML(QDomNode & layer_node, QDomDocument & document);
+
+    /** Copies the symbology settings from another layer. Returns true in case of success */
+    virtual bool copySymbologySettings(const QgsMapLayer& other) = 0;
+
+    /** Returns true if this layer can be in the same symbology group with another layer */
+    virtual bool isSymbologyCompatible(const QgsMapLayer& other) const = 0;
+
+    /** Accessor for transparency level. */
+    unsigned int getTransparency();
+
+    /** Mutator for transparency level. Should be between 0 and 255 */
+    void setTransparency(unsigned int);
+    
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    virtual QString errorCaptionString();
+  
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    virtual QString errorString();
+
+    /** Returns layer's spatial reference system */
+    const QgsSpatialRefSys& srs();
+    
+    /** Sets layer's spatial reference system */
+    void setSrs(const QgsSpatialRefSys& srs);
+    
+    
+    /** A convenience function to capitalise the layer name */
+    static QString capitaliseLayerName(const QString name);
+  
+public slots:
+
+    /** Event handler for when a coordinate transform fails due to bad vertex error */
+    virtual void invalidTransformInput();
+
+    /** Accessor and mutator for the minimum scale member */
+    void setMinScale(float theMinScale);
+    float minScale();
+
+    /** Accessor and mutator for the maximum scale member */
+    void setMaxScale(float theMaxScale);
+    float maxScale();
+
+    /** Accessor and mutator for the scale based visilibility flag */
+    void setScaleBasedVisibility( bool theVisibilityFlag);
+    bool scaleBasedVisibility();
+
+signals:
+
+    /** Emit a signal to notify of a progress event */
+    void drawingProgress(int theProgress, int theTotalSteps);
+
+    /** Emit a signal with status (e.g. to be caught by QgisApp and display a msg on status bar) */
+    void setStatus(QString theStatusQString);
+    
+    /** Emit a signal that layer name has been changed */
+    void layerNameChanged();
+
+    /** This signal should be connected with the slot QgsMapCanvas::refresh()
+     * @TODO: to be removed - GUI dependency
+     */
+    void repaintRequested();
+
+    /** This is used to send a request that any mapcanvas using this layer update its extents */
+    void recalculateExtents();
+
+protected:
+
+    /** called by readXML(), used by children to read state specific to them from
+        project files.
+    */
+    virtual bool readXML_( QDomNode & layer_node );
+
+    /** called by writeXML(), used by children to write state specific to them to
+        project files.
+    */
+    virtual bool writeXML_( QDomNode & layer_node, QDomDocument & document );
+
+    /** debugging member - invoked when a connect() is made to this object */
+    void connectNotify( const char * signal );
+
+    /** Transparency level for this layer should be 0-255 (255 being opaque) */
+    unsigned int mTransparencyLevel;
+  
+    /** Extent of the layer */
+    QgsRect mLayerExtent;
+
+    /** Indicates if the layer is valid and can be drawn */
+    bool mValid;
+
+    /** data source description string, varies by layer type */
+    QString mDataSource;
+
+    /** Name of the layer - used for display */
+    QString mLayerName;
+
+    /** layer's Spatial reference system */
+    QgsSpatialRefSys* mSRS;
+
+private:
+
+    /** private copy constructor - QgsMapLayer not copyable */
+    QgsMapLayer( QgsMapLayer const & );
+
+    /** private assign operator - QgsMapLayer not copyable */
+    QgsMapLayer & operator=( QgsMapLayer const & );
+
+    /** Unique ID of this layer - used to refer to this layer in map layer registry */
+    QString mID;
+
+    /** Type of the layer (eg. vector, raster) */
+    int mLayerType;
+
+    /** Tag for embedding additional information */
+    QString mTag;
+
+    /** Minimum scale at which this layer should be displayed */
+    float mMinScale;
+    /** Maximum scale at which this layer should be displayed */
+    float mMaxScale;
+    /** A flag that tells us whether to use the above vars to restrict layer visibility */
+    bool mScaleBasedVisibility;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,147 @@
+/***************************************************************************
+ *  QgsMapLayerRegistry.cpp  -  Singleton class for tracking mMapLayers.
+ *                         -------------------
+ * begin                : Sun June 02 2004
+ * copyright            : (C) 2004 by Tim Sutton
+ * email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsmaplayerregistry.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+
+#include <iostream>
+
+#include "qgsmaplayerregistry.h"
+#include "qgsmaplayer.h"
+#include "qgslogger.h"
+
+
+//
+// Static calls to enforce singleton behaviour
+//
+QgsMapLayerRegistry *QgsMapLayerRegistry::mInstance = 0;
+QgsMapLayerRegistry *QgsMapLayerRegistry::instance()
+{
+  if (mInstance == 0)
+  {
+    mInstance = new QgsMapLayerRegistry();
+  }
+  return mInstance;
+}
+
+//
+// Main class begins now...
+//
+
+QgsMapLayerRegistry::QgsMapLayerRegistry(QObject *parent, const char *name) : QObject(parent,name) 
+{
+  QgsDebugMsg("QgsMapLayerRegistry created!");
+  // constructor does nothing
+}
+
+QgsMapLayerRegistry::~QgsMapLayerRegistry()
+{
+  removeAllMapLayers();
+  QgsDebugMsg("QgsMapLayerRegistry is gone!");
+}
+
+// get the layer count (number of registered layers)
+const int QgsMapLayerRegistry::count()
+{
+  return mMapLayers.size();
+}
+
+QgsMapLayer * QgsMapLayerRegistry::mapLayer(QString theLayerId)  
+{
+  QgsMapLayer * myMapLayer = mMapLayers[theLayerId];
+  if (myMapLayer)
+  {
+    return myMapLayer;
+  }
+  else
+  {
+    return 0;
+  }
+}
+
+
+
+QgsMapLayer *
+  QgsMapLayerRegistry::addMapLayer( QgsMapLayer * theMapLayer, bool theEmitSignal )
+{
+  QgsDebugMsg("QgsMapLayerRegistry::addMaplayer - '" + theMapLayer->name());
+  //check the layer is not already registered!
+  std::map<QString,QgsMapLayer*>::iterator myIterator = mMapLayers.find(theMapLayer->getLayerID());
+  //if myIterator returns mMapLayers.end() then it does not exist in registry and its safe to add it
+  if (myIterator == mMapLayers.end())
+  {
+    mMapLayers[theMapLayer->getLayerID()] = theMapLayer;
+    
+    if (theEmitSignal)
+      emit layerWasAdded(theMapLayer);
+
+    return mMapLayers[theMapLayer->getLayerID()];
+  }
+  else
+  {
+    QgsDebugMsg("addMaplayer - " + theMapLayer->name() + " already registered");
+    return 0x0;
+  }
+} //  QgsMapLayerRegistry::addMapLayer
+
+
+
+void QgsMapLayerRegistry::removeMapLayer(QString theLayerId, bool theEmitSignal)
+{
+  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - emitting signal to notify all users of this layer to release it.");
+  if (theEmitSignal)
+    emit layerWillBeRemoved(theLayerId); 
+  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - deleting map layer.");
+  delete mMapLayers[theLayerId]; 
+  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - unregistering map layer.");
+  mMapLayers.erase(theLayerId);
+  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - operation complete.");
+}
+
+void QgsMapLayerRegistry::removeAllMapLayers()
+{
+  QgsDebugMsg("QgsMapLayerRegistry::removeAllMapLayers");
+  
+  // moved before physically removing the layers
+  emit removedAll();            // now let all canvas Observers know to clear
+                                // themselves, and then consequently any of
+                                // their map legends
+  
+  std::map<QString, QgsMapLayer *>::iterator myMapIterator = mMapLayers.begin();
+  while ( myMapIterator != mMapLayers.end() )
+  {
+      delete myMapIterator->second; // delete the map layer
+
+      mMapLayers.erase( myMapIterator );
+
+      myMapIterator = mMapLayers.begin(); // since iterator invalidated due to
+                                        // erase(), reset to new first element
+  }
+
+} // QgsMapLayerRegistry::removeAllMapLayers()
+
+
+std::map<QString,QgsMapLayer*> & QgsMapLayerRegistry::mapLayers()
+{
+  QgsDebugMsg("QgsMapLayerRegistry::mapLayers");
+  return mMapLayers;
+}
+
+
+
+void QgsMapLayerRegistry::connectNotify( const char * signal )
+{
+    QgsDebugMsg("QgsMapLayerRegistry connected to " + QString(signal));
+} //  QgsMapLayerRegistry::connectNotify

Added: packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaplayerregistry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,136 @@
+/***************************************************************************
+                          qgsmaplayerregistry.h    
+           Singleton class for keeping track of loaded layers
+                             -------------------
+    begin                : Sun June 04 2004
+    copyright            : (C) 2004 by Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+ /* $Id: qgsmaplayerregistry.h 6415 2007-01-09 02:39:15Z wonder $ */
+ 
+#ifndef QGSMAPLAYERREGISTRY_H
+#define QGSMAPLAYERREGISTRY_H
+
+#include <map>
+#include <QObject>
+
+class QString;
+class QStringList;
+
+class QgsMapLayer;
+
+/**
+* \class QgsMapLayerRegistry
+* \brief This class tracks map layers that are currently loaded an provides
+* a means to fetch a pointer to a map layer and delete it
+*/
+class CORE_EXPORT QgsMapLayerRegistry : public QObject
+{
+   Q_OBJECT
+
+public:
+
+ //! Returns the instance pointer, creating the object on the first call
+ static QgsMapLayerRegistry * instance();
+/*! Return the number of registered layers.
+ *
+ * */
+ const int count();
+ 
+ ~QgsMapLayerRegistry();
+ 
+ //! Retrieve a pointer to a loaded plugin by id
+ QgsMapLayer * mapLayer(QString theLayerId);
+
+ //! Retrieve the mapLayers collection (mainly intended for use by projectio)
+ std::map<QString,QgsMapLayer*> & mapLayers();
+
+ /** Add a layer to the map of loaded layers 
+    @returns NULL if unable to add layer, otherwise pointer to newly added layer
+    @note
+
+    As a side-effect QgsProject is made dirty.
+ 
+    Emits signal that layer has been added only if theEmitSignal is true (by default).
+    Not emitting signal is useful when you want to use registry also for layers
+    which won't be used in main map canvas but will be used in a special one
+ */
+ QgsMapLayer *  addMapLayer(QgsMapLayer * theMapLayer, bool theEmitSignal = TRUE);
+
+ /** Remove a layer from qgis
+
+    @note
+
+    As a side-effect QgsProject is made dirty.
+
+    Any canvases using that layer will need to remove it
+ 
+    theEmitSignal - see addMapLayer()
+ */
+ void removeMapLayer(QString theLayerId, bool theEmitSignal = TRUE);
+
+ /** Remove all registered layers 
+
+    @note raises removedAll()
+
+    As a side-effect QgsProject is made dirty.
+
+ */
+ void removeAllMapLayers();
+
+signals:
+
+    /** emitted when a layer is removed from the registry
+
+       connected to main map canvas and overview map canvas remove()
+    */
+ void layerWillBeRemoved(QString theLayerId);
+
+    /** emitted when a layer is added to the registry
+
+       connected to main map canvas and overview map canvas addLayer()
+    */
+ void layerWasAdded(QgsMapLayer * theMapLayer);
+
+ /** emitted when ALL layers are removed at once
+
+    This could have been implemented by iteratively signalling
+    layerWillBeRemoved() for each layer as it is removed.  However, this
+    generally causes a cascade of effects that are unnecessary if we're
+    ultimately removing all layers.  E.g., removing the legend item
+    corresponding to the layer.  Why bother doing that when you're just going
+    to clear everything anyway?
+
+  */
+ void removedAll();
+
+protected:
+
+ //! protected constructor
+ QgsMapLayerRegistry( QObject * parent = 0, const char * name = 0 );
+
+private:
+
+ static QgsMapLayerRegistry* mInstance;
+
+ std::map<QString,QgsMapLayer*> mMapLayers;
+
+  /** debugging member
+      invoked when a connect() is made to this object 
+  */
+  void connectNotify( const char * signal );
+
+
+}; // class QgsMapLayerRegistry
+
+#endif //QgsMapLayerRegistry_H
+

Added: packages/qgis/branches/upstream/current/src/core/qgsmaprender.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaprender.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaprender.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,768 @@
+/***************************************************************************
+    qgsmaprender.cpp  -  class for rendering map layer set
+    ----------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include <cmath>
+#include <cfloat>
+
+#include "qgscoordinatetransform.h"
+#include "qgslogger.h"
+#include "qgsmaprender.h"
+#include "qgsscalecalculator.h"
+#include "qgsmaptopixel.h"
+#include "qgsmaplayer.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsdistancearea.h"
+//#include "qgsspatialrefsys.h"
+
+#include <QDomDocument>
+#include <QDomNode>
+#include <QPainter>
+#include <QListIterator>
+#include <QTime>
+
+
+QgsMapRender::QgsMapRender()
+{
+  mCoordXForm = new QgsMapToPixel;
+  mScaleCalculator = new QgsScaleCalculator;
+  mDistArea = new QgsDistanceArea;
+    
+  mDrawing = false;
+  mOverview = false;
+  
+  // set default map units - we use WGS 84 thus use degrees
+  setMapUnits(QGis::DEGREES);
+
+  mSize = QSize(0,0);
+  
+  mProjectionsEnabled = FALSE;
+  mDestSRS = new QgsSpatialRefSys(GEOSRS_ID, QgsSpatialRefSys::QGIS_SRSID); // WGS 84
+
+}
+
+QgsMapRender::~QgsMapRender()
+{
+  delete mCoordXForm;
+  delete mScaleCalculator;
+  delete mDistArea;
+  delete mDestSRS;
+}
+
+
+QgsRect QgsMapRender::extent()
+{
+  return mExtent;
+}
+
+void QgsMapRender::updateScale()
+{
+  mScale = mScaleCalculator->calculate(mExtent, mSize.width());
+}
+
+bool QgsMapRender::setExtent(const QgsRect& extent)
+{
+
+  // Don't allow zooms where the current extent is so small that it
+  // can't be accurately represented using a double (which is what
+  // currentExtent uses). Excluding 0 avoids a divide by zero and an
+  // infinite loop when rendering to a new canvas. Excluding extents
+  // greater than 1 avoids doing unnecessary calculations.
+
+  // The scheme is to compare the width against the mean x coordinate
+  // (and height against mean y coordinate) and only allow zooms where
+  // the ratio indicates that there is more than about 12 significant
+  // figures (there are about 16 significant figures in a double).
+
+  if (extent.width()  > 0 && 
+      extent.height() > 0 && 
+      extent.width()  < 1 &&
+      extent.height() < 1)
+  {
+    // Use abs() on the extent to avoid the case where the extent is
+    // symmetrical about 0.
+    double xMean = (fabs(extent.xMin()) + fabs(extent.xMax())) * 0.5;
+    double yMean = (fabs(extent.yMin()) + fabs(extent.yMax())) * 0.5;
+
+    double xRange = extent.width() / xMean;
+    double yRange = extent.height() / yMean;
+
+    static const double minProportion = 1e-12;
+    if (xRange < minProportion || yRange < minProportion)
+      return false;
+  }
+
+  mExtent = extent;
+  if (!mExtent.isEmpty())
+    adjustExtentToSize();
+  return true;
+}
+
+
+
+void QgsMapRender::setOutputSize(QSize size, int dpi)
+{
+  mSize = size;
+  mScaleCalculator->setDpi(dpi);
+  adjustExtentToSize();
+}
+
+void QgsMapRender::adjustExtentToSize()
+{
+  int myHeight = mSize.height();
+  int myWidth = mSize.width();
+  
+  if (!myWidth || !myHeight)
+  {
+    mScale = 1;
+    mCoordXForm->setParameters(0, 0, 0, 0);
+    return;
+  }
+
+  // calculate the translation and scaling parameters
+  // mupp = map units per pixel
+  double muppY = static_cast<double>(mExtent.height()) 
+               / static_cast<double>(myHeight);
+  double muppX = static_cast<double>(mExtent.width())  
+               / static_cast<double>(myWidth);
+  mMupp = muppY > muppX ? muppY : muppX;
+
+  // calculate the actual extent of the mapCanvas
+  double dxmin, dxmax, dymin, dymax, whitespace;
+
+  if (muppY > muppX)
+  {
+    dymin = mExtent.yMin();
+    dymax = mExtent.yMax();
+    whitespace = ((myWidth * mMupp) - mExtent.width()) * 0.5;
+    dxmin = mExtent.xMin() - whitespace;
+    dxmax = mExtent.xMax() + whitespace;
+  }
+  else
+  {
+    dxmin = mExtent.xMin();
+    dxmax = mExtent.xMax();
+    whitespace = ((myHeight * mMupp) - mExtent.height()) * 0.5;
+    dymin = mExtent.yMin() - whitespace;
+    dymax = mExtent.yMax() + whitespace;
+  }
+
+#ifdef QGISDEBUG
+  QgsDebugMsg("========== Current Scale ==========");
+  QgsDebugMsg("Current extent is " + mExtent.stringRep());
+  QgsLogger::debug("MuppX", muppX, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("MuppY", muppY, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Pixmap width", myWidth, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Pixmap height", myHeight, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Extent width", mExtent.width(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("Extent height", mExtent.height(), 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("whitespace: ", whitespace, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+
+  // update extent
+  mExtent.setXmin(dxmin);
+  mExtent.setXmax(dxmax);
+  mExtent.setYmin(dymin);
+  mExtent.setYmax(dymax);
+
+  // update the scale
+  updateScale();
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("Scale (assuming meters as map units) = 1", mScale, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+  mCoordXForm->setParameters(mMupp, dxmin, dymin, myHeight);
+}
+
+
+void QgsMapRender::render(QPainter* painter)
+{
+  QgsDebugMsg("========== Rendering ==========");
+
+  if (mExtent.isEmpty())
+  {
+    QgsLogger::debug("empty extent... not rendering");
+    return;
+  }
+
+  if (mDrawing)
+    return;
+  
+  mDrawing = true;
+  
+  QgsCoordinateTransform* ct;
+
+#ifdef QGISDEBUG
+  QgsDebugMsg("Starting to render layer stack.");
+  QTime renderTime;
+  renderTime.start();
+#endif
+
+  // render all layers in the stack, starting at the base
+  QListIterator<QString> li(mLayerSet);
+  li.toBack();
+  
+  while (li.hasPrevious())
+  {
+    QString layerId = li.previous();
+
+    QgsDebugMsg("Rendering at layer item " + layerId);
+
+    // This call is supposed to cause the progress bar to
+    // advance. However, it seems that updating the progress bar is
+    // incompatible with having a QPainter active (the one that is
+    // passed into this function), as Qt produces a number of errors
+    // when try to do so. I'm (Gavin) not sure how to fix this, but
+    // added these comments and debug statement to help others...
+    QgsDebugMsg("If there is a QPaintEngine error here, it is caused by an emit call");
+
+    //emit drawingProgress(myRenderCounter++, mLayerSet.size());
+    QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(layerId);
+
+    if (!ml)
+    {
+      QgsLogger::warning("Layer not found in registry!");
+      continue;
+    }
+        
+		QgsDebugMsg("Rendering layer " + ml->name());
+    QgsDebugMsg("  Layer minscale " + QString("%1").arg(ml->minScale()) );
+    QgsDebugMsg("  Layer maxscale " + QString("%1").arg(ml->maxScale()) );
+    QgsDebugMsg("  Scale dep. visibility enabled? " + QString("%1").arg(ml->scaleBasedVisibility()) );
+    QgsDebugMsg("  Input extent: " + ml->extent().stringRep());
+
+    if ((ml->scaleBasedVisibility() && ml->minScale() < mScale && ml->maxScale() > mScale)
+        || (!ml->scaleBasedVisibility()))
+    {
+      connect(ml, SIGNAL(drawingProgress(int,int)), this, SLOT(onDrawingProgress(int,int)));        
+      
+      QgsRect r1 = mExtent, r2;
+      bool split = splitLayersExtent(ml, r1, r2);
+      //
+                  // Now do the call to the layer that actually does
+                  // the rendering work!
+      //
+      
+      if (projectionsEnabled())
+      {
+        ct = new QgsCoordinateTransform(ml->srs(), *mDestSRS);
+      }
+      else
+      {
+        ct = NULL;
+      }
+      
+      if (!ml->draw(painter, r1, mCoordXForm, ct, !mOverview))
+        emit drawError(ml);
+      
+      if (split)
+      {
+        if (!ml->draw(painter, r2, mCoordXForm, ct, !mOverview))
+          emit drawError(ml);
+      }
+      
+      delete ct;
+      
+      disconnect(ml, SIGNAL(drawingProgress(int,int)), this, SLOT(onDrawingProgress(int,int)));
+    }
+    else
+    {
+      QgsDebugMsg("Layer not rendered because it is not within the defined "
+                  "visibility scale range");
+    }
+
+  } // while (li.hasPrevious())
+      
+    QgsDebugMsg("Done rendering map layers");
+
+  if (!mOverview)
+  {
+    // render all labels for vector layers in the stack, starting at the base
+    li.toBack();
+    while (li.hasPrevious())
+    {
+      QString layerId = li.previous();
+
+      // TODO: emit drawingProgress((myRenderCounter++),zOrder.size());
+      QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(layerId);
+  
+      if (ml && (ml->type() != QgsMapLayer::RASTER))
+      {
+        // only make labels if the layer is visible
+        // after scale dep viewing settings are checked
+        if ((ml->scaleBasedVisibility() && ml->minScale() < mScale  && ml->maxScale() > mScale)
+            || (!ml->scaleBasedVisibility()))
+        {
+          QgsRect r1 = mExtent, r2;
+          bool split = splitLayersExtent(ml, r1, r2);
+      
+          if (projectionsEnabled())
+          {
+            ct = new QgsCoordinateTransform(ml->srs(), *mDestSRS);
+          }
+          else
+          {
+            ct = NULL;
+          }
+      
+          ml->drawLabels(painter, r1, mCoordXForm, ct);
+          if (split)
+            ml->drawLabels(painter, r2, mCoordXForm, ct);
+          
+          delete ct;
+        }
+      }
+    }
+  } // if (!mOverview)
+
+  // make sure progress bar arrives at 100%!
+  emit drawingProgress(1,1);      
+      
+#ifdef QGISDEBUG
+  QgsDebugMsg("Rendering done in (seconds): " + QString("%1").arg(renderTime.elapsed() / 1000.0) );
+#endif
+
+  mDrawing = false;
+
+}
+
+void QgsMapRender::setMapUnits(QGis::units u)
+{
+  mScaleCalculator->setMapUnits(u);
+
+  // Since the map units have changed, force a recalculation of the scale.
+  updateScale();
+
+  emit mapUnitsChanged();
+}
+
+QGis::units QgsMapRender::mapUnits() const
+{
+  return mScaleCalculator->mapUnits();
+}
+
+void QgsMapRender::onDrawingProgress(int current, int total)
+{
+  // TODO: emit signal with progress
+  //std::cout << "onDrawingProgress: " << current << " / " << total << std::endl;
+  emit updateMap();
+}
+
+
+
+void QgsMapRender::setProjectionsEnabled(bool enabled)
+{
+  if (mProjectionsEnabled != enabled)
+  {
+    mProjectionsEnabled = enabled;
+    QgsDebugMsg("Adjusting DistArea projection on/off");
+    mDistArea->setProjectionsEnabled(enabled);
+    updateFullExtent();
+    emit projectionsEnabled(enabled);
+  }
+}
+
+bool QgsMapRender::projectionsEnabled()
+{
+  return mProjectionsEnabled;
+}
+
+void QgsMapRender::setDestinationSrs(const QgsSpatialRefSys& srs)
+{
+  QgsDebugMsg("* Setting destSRS");
+  QgsDebugMsg("* DestSRS.srsid() = " + QString::number(srs.srsid()));
+  QgsDebugMsg("* DestSRS.proj4() = " + srs.proj4String());
+  if (*mDestSRS != srs)
+  {
+    QgsDebugMsg("Setting DistArea SRS to " + QString::number(srs.srsid()));
+    mDistArea->setSourceSRS(srs.srsid());
+    *mDestSRS = srs;
+    updateFullExtent();
+    emit destinationSrsChanged();
+  }
+}
+
+const QgsSpatialRefSys& QgsMapRender::destinationSrs()
+{
+  QgsDebugMsg("* Returning destSRS");
+  QgsDebugMsg("* DestSRS.srsid() = " + QString::number(mDestSRS->srsid()));
+  QgsDebugMsg("* DestSRS.proj4() = " + mDestSRS->proj4String());
+  return *mDestSRS;
+}
+
+
+bool QgsMapRender::splitLayersExtent(QgsMapLayer* layer, QgsRect& extent, QgsRect& r2)
+{
+  bool split = false;
+
+  if (projectionsEnabled())
+  {
+    try
+    {
+      QgsCoordinateTransform tr(layer->srs(), *mDestSRS);
+      
+#ifdef QGISDEBUG
+      QgsLogger::debug<QgsRect>("Getting extent of canvas in layers CS. Canvas is ", extent, __FILE__,\
+        __FUNCTION__, __LINE__);
+#endif
+      // Split the extent into two if the source SRS is
+      // geographic and the extent crosses the split in
+      // geographic coordinates (usually +/- 180 degrees,
+      // and is assumed to be so here), and draw each
+      // extent separately.
+      static const double splitCoord = 180.0;
+
+      if (tr.sourceSRS().geographicFlag())
+      {
+        // Note: ll = lower left point
+        //   and ur = upper right point
+        QgsPoint ll = tr.transform(extent.xMin(), extent.yMin(),
+                                   QgsCoordinateTransform::INVERSE);
+
+        QgsPoint ur = tr.transform(extent.xMax(), extent.yMax(), 
+                                   QgsCoordinateTransform::INVERSE);
+
+        if (ll.x() > ur.x())
+        {
+          extent.set(ll, QgsPoint(splitCoord, ur.y()));
+          r2.set(QgsPoint(-splitCoord, ll.y()), ur);
+          split = true;
+        }
+        else // no need to split
+        {
+          extent = tr.transformBoundingBox(extent, QgsCoordinateTransform::INVERSE);
+        }
+      }
+      else // can't cross 180
+      {
+        extent = tr.transformBoundingBox(extent, QgsCoordinateTransform::INVERSE);
+      }
+    }
+    catch (QgsCsException &cse)
+    {
+      QgsLogger::warning("Transform error caught in " + QString(__FILE__) + ", line " + QString::number(__LINE__));
+      extent = QgsRect(-DBL_MAX, -DBL_MAX, DBL_MAX, DBL_MAX);
+      r2     = QgsRect(-DBL_MAX, -DBL_MAX, DBL_MAX, DBL_MAX);
+    }
+  }
+  return split;
+}
+
+
+QgsRect QgsMapRender::layerExtentToOutputExtent(QgsMapLayer* theLayer, QgsRect extent)
+{
+  if (projectionsEnabled())
+  {
+    try
+    {
+      QgsCoordinateTransform tr(theLayer->srs(), *mDestSRS);
+      extent = tr.transformBoundingBox(extent);
+    }
+    catch (QgsCsException &cse)
+    {
+      qDebug( "Transform error caught in %s line %d:\n%s", __FILE__, __LINE__, cse.what());
+    }
+  }
+  else
+  {
+    // leave extent unchanged
+  }
+  
+  return extent;
+}
+
+QgsPoint QgsMapRender::layerCoordsToOutputCoords(QgsMapLayer* theLayer, QgsPoint point)
+{
+  if (projectionsEnabled())
+  {
+    try
+    {
+      QgsCoordinateTransform tr(theLayer->srs(), *mDestSRS);
+      point = tr.transform(point, QgsCoordinateTransform::FORWARD);
+    }
+    catch (QgsCsException &cse)
+    {
+      qDebug( "Transform error caught in %s line %d:\n%s", __FILE__, __LINE__, cse.what());
+    }
+  }
+  else
+  {
+    // leave point without transformation
+  }
+  return point;
+}
+
+QgsPoint QgsMapRender::outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsPoint point)
+{
+  if (projectionsEnabled())
+  {
+    try
+    {
+      QgsCoordinateTransform tr(theLayer->srs(), *mDestSRS);
+      point = tr.transform(point, QgsCoordinateTransform::INVERSE);
+    }
+    catch (QgsCsException &cse)
+    {
+      qDebug( "Transform error caught in %s line %d:\n%s", __FILE__, __LINE__, cse.what());
+      throw cse; //let client classes know there was a transformation error
+    }
+  }
+  else
+  {
+    // leave point without transformation
+  }
+  return point;
+}
+
+QgsRect QgsMapRender::outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsRect rect)
+{
+  if (projectionsEnabled())
+  {
+    try
+    {
+      QgsCoordinateTransform tr(theLayer->srs(), *mDestSRS);
+      rect = tr.transform(rect, QgsCoordinateTransform::INVERSE);
+    }
+    catch (QgsCsException &cse)
+    {
+      qDebug( "Transform error caught in %s line %d:\n%s", __FILE__, __LINE__, cse.what());
+      throw cse; //let client classes know there was a transformation error
+    }
+  }
+  return rect;
+}
+
+
+void QgsMapRender::updateFullExtent()
+{
+  QgsDebugMsg("QgsMapRender::updateFullExtent() called !");
+  QgsMapLayerRegistry* registry = QgsMapLayerRegistry::instance();
+  
+  // reset the map canvas extent since the extent may now be smaller
+  // We can't use a constructor since QgsRect normalizes the rectangle upon construction
+  mFullExtent.setMinimal();
+  
+  // iterate through the map layers and test each layers extent
+  // against the current min and max values
+  QStringList::iterator it = mLayerSet.begin();
+  while(it != mLayerSet.end())
+  {
+    QgsMapLayer * lyr = registry->mapLayer(*it);
+    if (lyr == NULL)
+    {
+      QgsLogger::warning("WARNING: layer '" + (*it) + "' not found in map layer registry!");
+    }
+    else
+    {
+      QgsDebugMsg("Updating extent using " + lyr->name());
+      QgsDebugMsg("Input extent: " + lyr->extent().stringRep());
+      
+      // Layer extents are stored in the coordinate system (CS) of the
+      // layer. The extent must be projected to the canvas CS
+      QgsRect extent = layerExtentToOutputExtent(lyr, lyr->extent());
+      
+      QgsDebugMsg("Output extent: " + extent.stringRep());
+      mFullExtent.unionRect(extent);
+
+    }
+    it++;
+  }
+
+  if (mFullExtent.width() == 0.0 || mFullExtent.height() == 0.0)
+  {
+    // If all of the features are at the one point, buffer the
+    // rectangle a bit. If they are all at zero, do something a bit
+    // more crude.
+
+    if (mFullExtent.xMin() == 0.0 && mFullExtent.xMax() == 0.0 &&
+        mFullExtent.yMin() == 0.0 && mFullExtent.yMax() == 0.0)
+    {
+      mFullExtent.set(-1.0, -1.0, 1.0, 1.0);
+    }
+    else
+    {
+      const double padFactor = 1e-8;
+      double widthPad = mFullExtent.xMin() * padFactor;
+      double heightPad = mFullExtent.yMin() * padFactor;
+      double xmin = mFullExtent.xMin() - widthPad;
+      double xmax = mFullExtent.xMax() + widthPad;
+      double ymin = mFullExtent.yMin() - heightPad;
+      double ymax = mFullExtent.yMax() + heightPad;
+      mFullExtent.set(xmin, ymin, xmax, ymax);
+    }
+  }
+
+  QgsDebugMsg("Full extent: " + mFullExtent.stringRep());
+}
+
+QgsRect QgsMapRender::fullExtent()
+{
+  updateFullExtent();
+  return mFullExtent;
+}
+
+void QgsMapRender::setLayerSet(const QStringList& layers)
+{
+  mLayerSet = layers;
+  updateFullExtent();
+}
+
+QStringList& QgsMapRender::layerSet()
+{
+  return mLayerSet;
+}
+
+bool QgsMapRender::readXML(QDomNode & theNode)
+{
+  QDomNode myNode = theNode.namedItem("units");
+  QDomElement element = myNode.toElement();
+  
+  // set units
+  QGis::units units;
+  if ("meters" == element.text())
+  {
+    units = QGis::METERS;
+  }
+  else if ("feet" == element.text())
+  {
+    units = QGis::FEET;
+  }
+  else if ("degrees" == element.text())
+  {
+    units = QGis::DEGREES;
+  }
+  else if ("unknown" == element.text())
+  {
+    units = QGis::UNKNOWN;
+  }
+  else
+  {
+    QgsDebugMsg("Unknown map unit type " + element.text());
+    units = QGis::DEGREES;
+  }
+  setMapUnits(units);
+
+  
+  // set extent
+  QgsRect aoi;
+  QDomNode extentNode = theNode.namedItem("extent");
+
+  QDomNode xminNode = extentNode.namedItem("xmin");
+  QDomNode yminNode = extentNode.namedItem("ymin");
+  QDomNode xmaxNode = extentNode.namedItem("xmax");
+  QDomNode ymaxNode = extentNode.namedItem("ymax");
+
+  QDomElement exElement = xminNode.toElement();
+  double xmin = exElement.text().toDouble();
+  aoi.setXmin(xmin);
+
+  exElement = yminNode.toElement();
+  double ymin = exElement.text().toDouble();
+  aoi.setYmin(ymin);
+
+  exElement = xmaxNode.toElement();
+  double xmax = exElement.text().toDouble();
+  aoi.setXmax(xmax);
+
+  exElement = ymaxNode.toElement();
+  double ymax = exElement.text().toDouble();
+  aoi.setYmax(ymax);
+
+  setExtent(aoi);
+  
+  // set projections flag
+  QDomNode projNode = theNode.namedItem("projections");
+  element = projNode.toElement();
+  setProjectionsEnabled(element.text().toInt());
+  
+  // set destination SRS
+  QgsSpatialRefSys srs;
+  QDomNode srsNode = theNode.namedItem("destinationsrs");
+  srs.readXML(srsNode);
+  setDestinationSrs(srs);
+  
+  return true;
+}
+
+bool QgsMapRender::writeXML(QDomNode & theNode, QDomDocument & theDoc)
+{
+  // units
+  
+  QDomElement unitsNode = theDoc.createElement("units");
+  theNode.appendChild(unitsNode);
+
+  QString unitsString;
+
+  switch (mapUnits())
+  {
+    case QGis::METERS:
+      unitsString = "meters";
+      break;
+    case QGis::FEET:
+      unitsString = "feet";
+      break;
+    case QGis::DEGREES:
+      unitsString = "degrees";
+      break;
+    case QGis::UNKNOWN:
+    default:
+      unitsString = "unknown";
+      break;
+  }
+  QDomText unitsText = theDoc.createTextNode(unitsString);
+  unitsNode.appendChild(unitsText);
+
+
+  // Write current view extents
+  QDomElement extentNode = theDoc.createElement("extent");
+  theNode.appendChild(extentNode);
+
+  QDomElement xMin = theDoc.createElement("xmin");
+  QDomElement yMin = theDoc.createElement("ymin");
+  QDomElement xMax = theDoc.createElement("xmax");
+  QDomElement yMax = theDoc.createElement("ymax");
+
+  QgsRect r = extent();
+  QDomText xMinText = theDoc.createTextNode(QString::number(r.xMin(), 'f'));
+  QDomText yMinText = theDoc.createTextNode(QString::number(r.yMin(), 'f'));
+  QDomText xMaxText = theDoc.createTextNode(QString::number(r.xMax(), 'f'));
+  QDomText yMaxText = theDoc.createTextNode(QString::number(r.yMax(), 'f'));
+
+  xMin.appendChild(xMinText);
+  yMin.appendChild(yMinText);
+  xMax.appendChild(xMaxText);
+  yMax.appendChild(yMaxText);
+
+  extentNode.appendChild(xMin);
+  extentNode.appendChild(yMin);
+  extentNode.appendChild(xMax);
+  extentNode.appendChild(yMax);
+
+  // projections enabled
+  QDomElement projNode = theDoc.createElement("projections");
+  theNode.appendChild(projNode);
+
+  QDomText projText = theDoc.createTextNode(QString::number(projectionsEnabled()));
+  projNode.appendChild(projText);
+  
+  // destination SRS
+  QDomElement srsNode = theDoc.createElement("destinationsrs");
+  theNode.appendChild(srsNode);
+  destinationSrs().writeXML(srsNode, theDoc);
+  
+  return true;
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsmaprender.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaprender.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaprender.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,197 @@
+/***************************************************************************
+    qgsmaprender.h  -  class for rendering map layer set
+    ----------------------
+    begin                : January 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPRENDER_H
+#define QGSMAPRENDER_H
+
+#include <QStringList>
+
+#include "qgis.h"
+#include "qgsrect.h"
+
+class QDomDocument;
+class QDomNode;
+class QPainter;
+
+class QgsMapToPixel;
+class QgsMapLayer;
+class QgsScaleCalculator;
+class QgsSpatialRefSys;
+class QgsDistanceArea;
+
+/**
+ * \class QgsMapRender
+ * \brief Class for rendering map layer set
+ *
+ */
+
+class CORE_EXPORT QgsMapRender : public QObject
+{
+  Q_OBJECT
+      
+  public:
+    
+    //! constructor
+    QgsMapRender();
+    
+    //! destructor
+    ~QgsMapRender();
+
+    //! starts rendering
+    void render(QPainter* painter);
+    
+    //! sets extent and checks whether suitable (returns false if not)
+    bool setExtent(const QgsRect& extent);
+    
+    //! returns current extent
+    QgsRect extent();
+    
+    QgsMapToPixel* coordXForm() { return mCoordXForm; }
+    
+    double scale() const { return mScale; }
+    double mupp() const { return mMupp; }
+
+    //! Recalculate the map scale
+    void updateScale();
+
+    //! Return the measuring object
+    QgsDistanceArea* distArea() { return mDistArea; }
+    QGis::units mapUnits() const;
+    void setMapUnits(QGis::units u);
+    
+    //! sets whether map image will be for overview
+    void setOverview(bool isOverview = true) { mOverview = isOverview; }
+
+    void setOutputSize(QSize size, int dpi);
+    
+    //! transform extent in layer's SRS to extent in output SRS
+    QgsRect layerExtentToOutputExtent(QgsMapLayer* theLayer, QgsRect extent);
+    
+    //! transform coordinates from layer's SRS to output SRS
+    QgsPoint layerCoordsToOutputCoords(QgsMapLayer* theLayer, QgsPoint point);
+    
+    //! transform coordinates from output SRS to layer's SRS
+    QgsPoint outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsPoint point);
+
+    //! transform rect's coordinates from output SRS to layer's SRS
+    QgsRect outputCoordsToLayerCoords(QgsMapLayer* theLayer, QgsRect rect);
+    
+    //! sets whether to use projections for this layer set
+    void setProjectionsEnabled(bool enabled);
+    
+    //! returns true if projections are enabled for this layer set
+    bool projectionsEnabled();
+    
+    //! sets destination spatial reference system
+    void setDestinationSrs(const QgsSpatialRefSys& srs);
+    
+    //! returns SRS ID of destination spatial reference system
+    const QgsSpatialRefSys& destinationSrs();
+
+    //! returns current extent of layer set
+    QgsRect fullExtent();
+    
+    //! returns current layer set
+    QStringList& layerSet();
+    
+    //! change current layer set
+    void setLayerSet(const QStringList& layers);
+
+    //! updates extent of the layer set
+    void updateFullExtent();
+
+    //! read settings
+    bool readXML(QDomNode & theNode);
+
+    //! write settings
+    bool writeXML(QDomNode & theNode, QDomDocument & theDoc);
+
+  signals:
+    
+    void drawingProgress(int current, int total);
+    
+    void projectionsEnabled(bool flag);
+    
+    void destinationSrsChanged();
+    
+    void updateMap();
+    
+    void mapUnitsChanged();
+
+    //! emitted when layer's draw() returned FALSE
+    void drawError(QgsMapLayer*);
+
+  public slots:
+    
+    //! called by signal from layer current being drawn
+    void onDrawingProgress(int current, int total);
+
+  protected:
+    
+    //! adjust extent to fit the pixmap size
+    void adjustExtentToSize();
+    
+    /** Convenience function to project an extent into the layer source
+     * SRS, but also split it into two extents if it crosses
+     * the +/- 180 degree line. Modifies the given extent to be in the
+     * source SRS coordinates, and if it was split, returns true, and
+     * also sets the contents of the r2 parameter
+     */
+    bool splitLayersExtent(QgsMapLayer* layer, QgsRect& extent, QgsRect& r2);
+
+  protected:
+    
+    //! indicates drawing in progress
+    bool mDrawing;
+    
+    //! map units per pixel
+    double mMupp;
+    
+    //! Map scale at its current zool level
+    double mScale;
+    
+    //! scale calculator
+    QgsScaleCalculator * mScaleCalculator;
+    
+    //! utility class for transformation between map and pixmap units
+    QgsMapToPixel* mCoordXForm;
+    
+    //! current extent to be drawn
+    QgsRect mExtent;
+    
+    //! indicates whether it's map image for overview
+    bool mOverview;
+    
+    QSize mSize;
+
+    //! detemines whether on the fly projection support is enabled
+    bool mProjectionsEnabled;
+    
+    //! destination spatial reference system of the projection
+    QgsSpatialRefSys* mDestSRS;
+
+    //! stores array of layers to be rendered (identified by string)
+    QStringList mLayerSet;
+    
+    //! full extent of the layer set
+    QgsRect mFullExtent;
+
+    //! tool for measuring 
+    QgsDistanceArea* mDistArea;
+};
+
+#endif
+

Modified: packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,12 +14,28 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsmaptopixel.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgsmaptopixel.cpp 6655 2007-02-22 11:45:34Z wonder $ */
 #include <qstring.h>
 #include <qtextstream.h>
 #include <qpoint.h>
 #include "qgsmaptopixel.h"
 
+QgsMapToPixel::QgsMapToPixel(double mupp, 
+				    double ymax,
+				    double ymin, 
+				    double xmin)
+  : mMapUnitsPerPixel(mupp), 
+     yMax(ymax), 
+     yMin(ymin), 
+     xMin(xmin),
+     xMax(0)                   // XXX wasn't originally specified?  Why?
+{
+}
+
+QgsMapToPixel::~QgsMapToPixel()
+{
+}
+
 QgsPoint QgsMapToPixel::toMapPoint(int x, int y)
 {
   double mx = x * mMapUnitsPerPixel + xMin;
@@ -80,3 +96,46 @@
   return rep;
 
 }
+
+
+QgsPoint QgsMapToPixel::transform(double x, double y)
+{
+  transformInPlace(x,y);
+  return QgsPoint(x,y);
+}
+
+QgsPoint QgsMapToPixel::transform(const QgsPoint& p)
+{
+  double dx = p.x();
+  double dy = p.y();
+  transformInPlace(dx, dy);
+
+  //std::cerr << "Point to pixel...X : " << p.x() << "-->" << dx << ", Y: " << p.y() << " -->" << dy << std::endl;
+  return QgsPoint(dx, dy);
+}
+
+void QgsMapToPixel::transform(QgsPoint* p)
+{   
+  double x = p->x();
+  double y = p->y();
+  transformInPlace(x, y);
+
+#ifdef QGISDEBUG 
+    //std::cerr << "Point to pixel...X : " << p->x() << "-->" << x << ", Y: " << p->y() << " -->" << y << std::endl;
+#endif     
+  p->set(x,y);
+}
+
+void QgsMapToPixel::transformInPlace(double& x, double& y)
+{
+  x = (x - xMin) / mMapUnitsPerPixel;
+  y = yMax - (y - yMin) / mMapUnitsPerPixel;
+}
+
+void QgsMapToPixel::transformInPlace(std::vector<double>& x, 
+					    std::vector<double>& y)
+{
+  assert(x.size() == y.size());
+  for (unsigned int i = 0; i < x.size(); ++i)
+    transformInPlace(x[i], y[i]);
+}

Modified: packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmaptopixel.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsmaptopixel.h 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgsmaptopixel.h 6655 2007-02-22 11:45:34Z wonder $ */
 #ifndef QGSMAPTOPIXEL
 #define QGSMAPTOPIXEL
 
@@ -31,7 +31,7 @@
 *
 * This class can convert device coordinates to map coordinates and vice versa.
 */
-class QgsMapToPixel{
+class CORE_EXPORT QgsMapToPixel{
  public:
  /* Constructor
  * @param mupp Map units per pixel
@@ -114,61 +114,5 @@
 
 };
 
-inline QgsMapToPixel::QgsMapToPixel(double mupp, 
-				    double ymax,
-				    double ymin, 
-				    double xmin)
-  : mMapUnitsPerPixel(mupp), 
-     yMax(ymax), 
-     yMin(ymin), 
-     xMin(xmin),
-     xMax(0)                   // XXX wasn't originally specified?  Why?
-{
-}
 
-inline QgsMapToPixel::~QgsMapToPixel()
-{
-}
-
-inline QgsPoint QgsMapToPixel::transform(double x, double y)
-{
-  transformInPlace(x,y);
-  return QgsPoint(x,y);
-}
-
-inline QgsPoint QgsMapToPixel::transform(const QgsPoint& p)
-{
-  double dx = p.x();
-  double dy = p.y();
-  transformInPlace(dx, dy);
-
-  //std::cerr << "Point to pixel...X : " << p.x() << "-->" << dx << ", Y: " << p.y() << " -->" << dy << std::endl;
-  return QgsPoint(dx, dy);
-}
-
-inline void QgsMapToPixel::transform(QgsPoint* p)
-{   
-  double x = p->x();
-  double y = p->y();
-  transformInPlace(x, y);
-
-#ifdef QGISDEBUG 
-    //std::cerr << "Point to pixel...X : " << p->x() << "-->" << x << ", Y: " << p->y() << " -->" << y << std::endl;
-#endif     
-  p->set(x,y);
-}
-
-inline void QgsMapToPixel::transformInPlace(double& x, double& y)
-{
-  x = (x - xMin) / mMapUnitsPerPixel;
-  y = yMax - (y - yMin) / mMapUnitsPerPixel;
-}
-
-inline void QgsMapToPixel::transformInPlace(std::vector<double>& x, 
-					    std::vector<double>& y)
-{
-  assert(x.size() == y.size());
-  for (unsigned int i = 0; i < x.size(); ++i)
-    transformInPlace(x[i], y[i]);
-}
 #endif // QGSMAPTOPIXEL

Deleted: packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,310 +0,0 @@
-/***************************************************************************
-  qgsmarkercatalogue.cpp
-  -------------------
-begin                : March 2005
-copyright            : (C) 2005 by Radim Blazek
-email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#include <cmath>
-#include <iostream>
-
-#include <QPen>
-#include <QBrush>
-#include <QPainter>
-#include <QPixmap>
-#include <QString>
-#include <QStringList>
-#include <QRect>
-#include <QPolygon>
-#include <QDir>
-#include <QPicture>
-#include <QSvgRenderer>
-
-#include "qgis.h"
-#include "qgsapplication.h"
-#include "qgsmarkercatalogue.h"
-
-QgsMarkerCatalogue *QgsMarkerCatalogue::mMarkerCatalogue = 0;
-
-QgsMarkerCatalogue::QgsMarkerCatalogue()
-{
-  // Init list
-
-  // Hardcoded markers
-  mList.append ( "hard:circle" );
-  mList.append ( "hard:rectangle" );
-  mList.append ( "hard:diamond" );
-  mList.append ( "hard:cross" );
-  mList.append ( "hard:cross2" );
-  mList.append ( "hard:triangle");
-  mList.append ( "hard:star");
-
-  // SVG
-  QString svgPath = QgsApplication::svgPath();
-
-  // TODO recursiv ?
-  QDir dir ( svgPath );
-
-  QStringList dl = dir.entryList(QDir::Dirs);
-
-  for ( QStringList::iterator it = dl.begin(); it != dl.end(); ++it ) {
-    if ( *it == "." || *it == ".." ) continue;
-
-    QDir dir2 ( svgPath + *it );
-
-    QStringList dl2 = dir2.entryList("*.svg",QDir::Files);
-
-    for ( QStringList::iterator it2 = dl2.begin(); it2 != dl2.end(); ++it2 ) {
-      // TODO test if it is correct SVG
-      mList.append ( "svg:" + svgPath + *it + "/" + *it2 );
-    }
-  }
-}
-
-QStringList QgsMarkerCatalogue::list()
-{
-  return mList;
-}
-
-QgsMarkerCatalogue::~QgsMarkerCatalogue()
-{
-}
-
-QgsMarkerCatalogue *QgsMarkerCatalogue::instance()
-{
-  if ( !QgsMarkerCatalogue::mMarkerCatalogue ) {
-    QgsMarkerCatalogue::mMarkerCatalogue = new QgsMarkerCatalogue();
-  }
-
-  return QgsMarkerCatalogue::mMarkerCatalogue;
-}
-QPixmap QgsMarkerCatalogue::pixmapMarker ( QString fullName, int size, QPen pen, QBrush brush, bool qtBug )
-{
-  //std::cerr << "QgsMarkerCatalogue::marker " << fullName.toLocal8Bit().data() << " sice:" << size << std::endl;
-
-  //
-  // First prepare the paintdevice that the marker will be drawn onto
-  //
-  QPixmap myPixmap;
-  if ( fullName.left(5) == "hard:" ) 
-	{
-			//Note teh +1 offset below is required because the 
-			//otherwise the icons are getting clipped
-			myPixmap = QPixmap (size+1,size+1);
-	}
-  else
-	{ 
-			// TODO Change this logic so width is size and height is same
-			// proportion of scale factor as in oritignal SVG TS XXX
-			if (size < 1) size=1;
-			//QPixmap myPixmap = QPixmap(width,height);
-			myPixmap = QPixmap(size,size);
-	}
-  // The following is window-system-conditional since (at least)
-  // the combination of Qt 4.1.0 and RealVNC's Xvnc 4.1
-  // will result in the pixmap becoming invisible if it is filled
-  // with a non-opaque colour.
-  // This is probably because Xvnc 4.1 doesn't have the RENDER
-  // extension compiled into it.
-#if defined(Q_WS_X11)
-  // Do a runtime test to see if the X RENDER extension is available
-  if ( myPixmap.x11PictureHandle() )
-  {
-#endif
-    myPixmap.fill(QColor(255,255,255,0)); // transparent
-#if defined(Q_WS_X11)
-  }
-  else
-  {
-    myPixmap.fill(QColor(255,255,255)); // opaque
-  }
-#endif
-  QPainter myPainter(&myPixmap);
-  myPainter.setRenderHint(QPainter::Antialiasing);
-
-  //
-  // Now pass the paintdevice along to have the marker rndered on it
-  //
-
-  if ( fullName.left(5) == "hard:" ) 
-  {
-    hardMarker ( &myPainter, fullName.mid(5), size, pen, brush, qtBug ); 
-    return myPixmap;
-  } 
-  else if ( fullName.left(4) == "svg:" ) 
-  {
-    svgMarker ( &myPainter, fullName.mid(4), size ); 
-    return myPixmap;
-  }
-  return QPixmap(); // empty
-}
-
-QPicture QgsMarkerCatalogue::pictureMarker ( QString fullName, int size, QPen pen, QBrush brush, bool qtBug )
-{
-
-  //
-  // First prepare the paintdevice that the marker will be drawn onto
-  //
-  QPicture myPicture;
-  if ( fullName.left(5) == "hard:" ) 
-	{
-			//Note teh +1 offset below is required because the 
-			//otherwise the icons are getting clipped
-			myPicture = QPicture (size+1);
-	}
-  else
-	{ 
-			// TODO Change this logic so width is size and height is same
-			// proportion of scale factor as in oritignal SVG TS XXX
-			if (size < 1) size=1;
-			//QPicture myPicture = QPicture(width,height);
-			myPicture = QPicture(size);
-	}
-  QPainter myPainter(&myPicture);
-  myPainter.setRenderHint(QPainter::Antialiasing);
-
-  //
-  // Now pass the paintdevice along to have the marker rndered on it
-  //
-
-  if ( fullName.left(5) == "hard:" ) 
-  {
-    hardMarker ( &myPainter, fullName.mid(5), size, pen, brush, qtBug ); 
-    return myPicture;
-  } 
-  else if ( fullName.left(4) == "svg:" ) 
-  {
-    svgMarker ( &myPainter, fullName.mid(4), size ); 
-    return myPicture;
-  }
-  return QPicture(); // empty
-}
-
-void QgsMarkerCatalogue::svgMarker ( QPainter * thepPainter, QString filename, int scaleFactor)
-{
-  QSvgRenderer mySVG;
-  mySVG.load(filename);
-  mySVG.render(thepPainter);
-  return ;
-}
-
-void QgsMarkerCatalogue::hardMarker (QPainter * thepPainter, QString name, int s, QPen pen, QBrush brush, bool qtBug )
-{
-  // Size of polygon symbols is calculated so that the area is equal to circle with 
-  // diameter mPointSize
-
-  // Size for circle
-  int half = (int)floor(s/2.0); // number of points from center
-  int size = 2*half + 1;  // must be odd
-  double area = 3.14 * (size/2.) * (size/2.);
-
-  // Picture
-  QPicture picture;
-  thepPainter->begin(&picture);
-  thepPainter->setRenderHint(QPainter::Antialiasing);
-
-  // Also width must be odd otherwise there are discrepancies visible in canvas!
-  int lw = (int)(2*floor((double)pen.width()/2)+1); // -> lw > 0
-  pen.setWidth(lw);
-  thepPainter->setPen ( pen );
-  thepPainter->setBrush( brush);
-  QRect box;
-
-  if ( name == "circle" ) 
-  {
-    thepPainter->drawEllipse(0, 0, size, size);
-  } 
-  else if ( name == "rectangle" ) 
-  {
-    size = (int) (2*floor(sqrt(area)/2.) + 1);
-    thepPainter->drawRect(0, 0, size, size);
-  } 
-  else if ( name == "diamond" ) 
-  {
-    half = (int) ( sqrt(area/2.) );
-    QPolygon pa(4);
-    pa.setPoint ( 0, 0, half);
-    pa.setPoint ( 1, half, 2*half);
-    pa.setPoint ( 2, 2*half, half);
-    pa.setPoint ( 3, half, 0);
-    thepPainter->drawPolygon ( pa );
-  }
-  // Warning! if pen width > 0 thepPainter->drawLine(x1,y1,x2,y2) will draw only (x1,y1,x2-1,y2-1) !
-  // It is impossible to draw lines as rectangles because line width scaling would not work
-  // (QPicture is scaled later in QgsVectorLayer)
-  //  -> reset boundingRect for cross, cross2
-  else if ( name == "cross" ) 
-  {
-    int add;
-    if ( qtBug ) 
-    {
-      add = 1;  // lw always > 0
-    } 
-    else 
-    {
-      add = 0;
-    }
-
-    thepPainter->drawLine(0, half, size-1+add, half); // horizontal
-    thepPainter->drawLine(half, 0, half, size-1+add); // vertical
-    box.setRect ( 0, 0, size, size );
-  }
-  else if ( name == "cross2" ) 
-  {
-    half = (int) floor( s/2/sqrt(2.0));
-    size = 2*half + 1;
-
-    int add;
-    if ( qtBug ) {
-      add = 1;  // lw always > 0
-    } else {
-      add = 0;
-    }
-
-    int addwidth = (int) ( 0.5 * lw ); // width correction, cca lw/2 * cos(45)
-
-    thepPainter->drawLine( 0, 0, size-1+add, size-1+add);
-    thepPainter->drawLine( 0, size-1, size-1+add, 0-add);
-
-    box.setRect ( -addwidth, -addwidth, size + 2*addwidth, size + 2*addwidth );	
-  }
-  else if ( name == "triangle")
-    {
-      QPolygon pa(3);
-      pa.setPoint ( 0, 0, size);
-      pa.setPoint ( 1, size, size);
-      pa.setPoint ( 2, half, 0);
-      thepPainter->drawPolygon ( pa );
-    }
-  else if (name == "star")
-    {
-      int oneThird = (int)(floor(size/3+0.5));
-      int twoThird = (int)(floor(size/3*2+0.5));
-      QPolygon pa(10);
-      pa.setPoint(0, half, 0);
-      pa.setPoint(1, oneThird, oneThird);
-      pa.setPoint(2, 0, oneThird);
-      pa.setPoint(3, oneThird, half);
-      pa.setPoint(4, 0, size);
-      pa.setPoint(5, half, twoThird);
-      pa.setPoint(6, size, size);
-      pa.setPoint(7, twoThird, half);
-      pa.setPoint(8, size, oneThird);
-      pa.setPoint(9, twoThird, oneThird);
-      thepPainter->drawPolygon ( pa );
-    }
-  if ( name == "cross" || name == "cross2" ) 
-  {
-    picture.setBoundingRect ( box ); 
-  }
-  thepPainter->end();
-}
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmarkercatalogue.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,72 +0,0 @@
-/***************************************************************************
-                             qgsmarkercatalogue.h
-                             -------------------
-    begin                : March 2005
-    copyright            : (C) 2005 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSMARKERCATALOGUE_H
-#define QGSMARKERCATALOGUE_H
-
-#include <iostream>
-
-class QString;
-class QStringList;
-class QPicture;
-class QPixmap;
-class QPen;
-class QBrush;
-class QPainter;
-class QPicture;
-
-/** Catalogue of point symbols */
-class QgsMarkerCatalogue{
-
-public:
-    //! Destructor
-    ~QgsMarkerCatalogue();
-
-    //! Access to canonical QgsMarkerCatalogue instance
-    static QgsMarkerCatalogue *instance();
-    
-    /**List of available markers*/
-    QStringList list();
-    
-    /** Returns pixmap of the marker
-     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
-     */
-    QPixmap pixmapMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
-    /** Returns qpicture of the marker
-     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
-     */
-    QPicture pictureMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
-
-    /* Returns a pixmap given a filename of a svg marker 
-     * NOTE: this method needs to be public static for QgsMarkerDialog::visualizeMarkers */
-    static void svgMarker (QPainter * thepPainter, QString name, int size );
-private:
-
-    /**Constructor*/
-    QgsMarkerCatalogue();
-
-    static QgsMarkerCatalogue *mMarkerCatalogue;
-
-    /** List of availabel markers*/
-    QStringList mList;
-
-    /** Hard coded */
-    void hardMarker (QPainter * thepPainter, QString name, int size, QPen pen, QBrush brush, bool qtBug = true );
-
-};
-    
-#endif // QGSMARKERCATALOGUE_H
-
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,69 +0,0 @@
-/***************************************************************************
-                          qgsmarkersymbol.cpp  -  description
-                             -------------------
-    begin                : March 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id */
-
-#include "qgsmarkersymbol.h"
-#include "qpainter.h"
-#include "qgssymbologyutils.h"
-
-void QgsMarkerSymbol::setPicture(const QString& svgpath)
-{
-    mSvgPath=svgpath;
-}
-
-bool QgsMarkerSymbol::writeXML( QDomNode & item, QDomDocument & document )
-{
-    bool returnval = false;
-    returnval = true; // remove this if anyone ever adds checking here
-    QDomElement markersymbol=document.createElement("markersymbol");
-    item.appendChild(markersymbol);
-    QDomElement svgpath=document.createElement("svgpath");
-    QDomText svgpathtxt=document.createTextNode(mSvgPath);
-    svgpath.appendChild(svgpathtxt);
-    markersymbol.appendChild(svgpath);
-    QDomElement scalefactor=document.createElement("scalefactor");
-    QDomText scalefactortxt=document.createTextNode(QString::number(mScaleFactor,'f',2));
-    scalefactor.appendChild(scalefactortxt);
-    markersymbol.appendChild(scalefactor);
-    markersymbol.appendChild(scalefactor);
-    QDomElement outlinecolor=document.createElement("outlinecolor");
-    outlinecolor.setAttribute("red",QString::number(mPen.color().red()));
-    outlinecolor.setAttribute("green",QString::number(mPen.color().green()));
-    outlinecolor.setAttribute("blue",QString::number(mPen.color().blue()));
-    markersymbol.appendChild(outlinecolor);
-    QDomElement outlinestyle=document.createElement("outlinestyle");
-    QDomText outlinestyletxt=document.createTextNode(QgsSymbologyUtils::penStyle2QString(mPen.style()));
-    outlinestyle.appendChild(outlinestyletxt);
-    markersymbol.appendChild(outlinestyle);
-    QDomElement outlinewidth=document.createElement("outlinewidth");
-    QDomText outlinewidthtxt=document.createTextNode(QString::number(mPen.width()));
-    outlinewidth.appendChild(outlinewidthtxt);
-    markersymbol.appendChild(outlinewidth);
-    QDomElement fillcolor=document.createElement("fillcolor");
-    fillcolor.setAttribute("red",QString::number(mBrush.color().red()));
-    fillcolor.setAttribute("green",QString::number(mBrush.color().green()));
-    fillcolor.setAttribute("blue",QString::number(mBrush.color().blue()));
-    markersymbol.appendChild(fillcolor);
-    QDomElement fillpattern=document.createElement("fillpattern");
-    QDomText fillpatterntxt=document.createTextNode(QgsSymbologyUtils::brushStyle2QString(mBrush.style()));
-    fillpattern.appendChild(fillpatterntxt);
-    markersymbol.appendChild(fillpattern);
-    fillpattern.appendChild(fillpatterntxt);
-    return returnval;
-}
-    
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsmarkersymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,74 +0,0 @@
-/***************************************************************************
-                          qgsmarkersymbol.h  -  description
-                             -------------------
-    begin                : March 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmarkersymbol.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSMARKERSYMBOL_H
-#define QGSMARKERSYMBOL_H
-
-#include "qgssymbol.h"
-#include <q3picture.h>
-
-/**Representation of a marker symbol*/
-class QgsMarkerSymbol : public QgsSymbol
-{
- public:
-    /**Constructor*/
-    QgsMarkerSymbol();
-    /**Destructor*/
-    virtual ~QgsMarkerSymbol();
-    /**Loads the QPainter commands from an svg file
-       @param svgpath the pathe to the svg file which stores the picture*/
-    void setPicture(const QString& svgpath);
-    /**Sets the scale factor*/
-    void setScaleFactor(double factor);
-    /**Returns the path of the picture object*/
-    const QString& picture() const;
-    /**Returns the scale factor*/
-    double scaleFactor();
-    /**Writes the contents of the symbol to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & item, QDomDocument & document );
- protected:
-    /**Path to the SVG image*/
-    QString mSvgPath;
-    /**Scale factor. 1 keeps the size as it is, 2 doubles the size, etc.*/
-    double mScaleFactor;
-};
-
-inline QgsMarkerSymbol::QgsMarkerSymbol()
-    : QgsSymbol(), mSvgPath(""), mScaleFactor(1)
-{}
-
-inline QgsMarkerSymbol::~QgsMarkerSymbol()
-{}
-
-inline void QgsMarkerSymbol::setScaleFactor(double factor)
-{
-    mScaleFactor=factor;
-}
-
-inline const QString& QgsMarkerSymbol::picture() const
-{
-    return mSvgPath;
-}
-
-inline double QgsMarkerSymbol::scaleFactor()
-{
-    return mScaleFactor;
-}
-
-#endif

Added: packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,75 @@
+/***************************************************************************
+    qgsmessageoutput.h  -  interface for showing messages
+    ----------------------
+    begin                : April 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsmessageoutput.h"
+#include <iostream>
+
+static QgsMessageOutput* messageOutputConsole_()
+{
+  return new QgsMessageOutputConsole;
+}
+
+// default output creator - console
+MESSAGE_OUTPUT_CREATOR QgsMessageOutput::mMessageOutputCreator = messageOutputConsole_;
+
+
+void QgsMessageOutput::setMessageOutputCreator(MESSAGE_OUTPUT_CREATOR f)
+{
+  mMessageOutputCreator = f;
+}
+
+QgsMessageOutput* QgsMessageOutput::createMessageOutput()
+{
+  return mMessageOutputCreator();
+}
+
+QgsMessageOutput::~QgsMessageOutput()
+{
+}
+
+////////////////////////////////
+// QgsMessageOutputConsole
+
+QgsMessageOutputConsole::QgsMessageOutputConsole()
+  : mMessage(NULL)
+{
+}
+
+void QgsMessageOutputConsole::setMessage(const QString& message, MessageType)
+{
+  mMessage = message;
+}
+
+void QgsMessageOutputConsole::appendMessage(const QString& message)
+{
+  mMessage += message;
+}
+
+void QgsMessageOutputConsole::showMessage(bool)
+{
+  // show title if provided
+  if (!mTitle.isNull())
+    std::cout << mTitle.toLocal8Bit().data() << ":" << std::endl;
+  // show the message
+  std::cout << mMessage.toLocal8Bit().data() << std::endl;
+  emit destroyed();
+  delete this;
+}
+
+void QgsMessageOutputConsole::setTitle(const QString& title)
+{
+  mTitle = title;
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsmessageoutput.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,114 @@
+/***************************************************************************
+    qgsmessageoutput.h  -  interface for showing messages
+    ----------------------
+    begin                : April 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+
+#ifndef QGSMESSAGEOUTPUT_H
+#define QGSMESSAGEOUTPUT_H
+
+#include <QString>
+#include <QObject>
+
+class QgsMessageOutput;
+typedef QgsMessageOutput* (*MESSAGE_OUTPUT_CREATOR)();
+
+
+/**
+\brief Interface for showing messages from QGIS in GUI independent way
+
+This class provides abstraction of a dialog for showing output to the user.
+By default QgsMessageConsoleOutput will be used if not overridden
+with other message output creator function.
+
+QGIS application uses QgsMessageView class for displaying a dialog to the user.
+
+Object deletes itself when it's not needed anymore. Children should use
+signal destroyed() to notify the deletion
+*/
+class CORE_EXPORT QgsMessageOutput
+{
+  public:
+    
+    //! message can be in plain text or in html format
+    enum MessageType { MessageText, MessageHtml };
+    
+    //! virtual destructor
+    virtual ~QgsMessageOutput();
+
+    //! set message, it won't be displayed until 
+    virtual void setMessage(const QString& message, MessageType msgType) = 0;
+    
+    //! message to be appended to the current text
+    virtual void appendMessage(const QString& message) = 0;
+    
+    //! set title for the messages
+    virtual void setTitle(const QString& title) = 0;
+    
+    //! display the message to the user
+    virtual void showMessage(bool blocking = true) = 0;
+    
+    //! sets function that will be used to create message output
+    static void setMessageOutputCreator(MESSAGE_OUTPUT_CREATOR f);
+    
+    //! function that returns new class derived from QgsMessageOutput
+    //! (don't forget to delete it then)
+    static QgsMessageOutput* createMessageOutput();
+
+  private:
+    
+    //! Pointer to the function which creates the class for output
+    static MESSAGE_OUTPUT_CREATOR mMessageOutputCreator;
+};
+
+
+/**
+\brief Default implementation of message output interface
+           
+This class outputs messages to the standard output. Therefore it might
+be the right choice for apps without GUI.
+*/
+class CORE_EXPORT QgsMessageOutputConsole : public QObject, public QgsMessageOutput
+{
+  Q_OBJECT
+  
+  public:
+    
+    QgsMessageOutputConsole();
+    
+    virtual void setMessage(const QString& message, MessageType msgType);
+    
+    virtual void appendMessage(const QString& message);
+    
+    virtual void setTitle(const QString& title);
+    
+    //! sends the message to the standard output
+    virtual void showMessage(bool blocking = true);
+    
+  signals:
+    
+    //! signals that object will be destroyed and shouldn't be used anymore
+    void destroyed();
+
+  private:
+    
+    //! stores current message
+    QString mMessage;
+    
+    //! stores current title
+    QString mTitle;
+
+};
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,73 +0,0 @@
-/***************************************************************************
-  qgsnumericsortlistviewitem.cpp  -  A QListViewItem that can sort numerically
-                                     (as opposed to just lexigraphically)
-                             -------------------
-    begin                : 06 Nov, 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-/* $Id$ */
-
-#include <fstream>
-#include <iostream>
-
-#include "qgsnumericsortlistviewitem.h"
-
-
-QgsNumericSortListViewItem::QgsNumericSortListViewItem(Q3ListView * parent)
-  : Q3ListViewItem(parent)
-{
-  // NOOP
-}
-
-QgsNumericSortListViewItem::QgsNumericSortListViewItem(Q3ListViewItem  * parent)
-  : Q3ListViewItem(parent)
-{
-  // NOOP
-}
-
-QgsNumericSortListViewItem::~QgsNumericSortListViewItem()
-{
-  // NOOP
-}
-
-int QgsNumericSortListViewItem::compare(Q3ListViewItem * i, int col, bool ascending) const
-{
-  if (col == 0)  // The ID column
-  {
-    uint a = text(col).toUInt();
-    uint b = i->text(col).toUInt();
-
-    if (a < b)
-    {
-      return -1;
-    }
-    else if (a > b)
-    {
-      return +1;
-    }
-    else
-    {
-      return 0;
-    }
-  }
-  else
-  {
-    // Pass-through to the QListViewItem implementation
-    return Q3ListViewItem::compare(i, col, ascending);
-  }
-}
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsnumericsortlistviewitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,57 +0,0 @@
-/***************************************************************************
-    qgsnumericsortlistviewitem.h  -  A QListViewItem that can sort numerically
-                                     (as opposed to just lexigraphically)
-                             -------------------
-    begin                : 06 Nov, 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- 
-/* $Id$ */
-
-#ifndef QGSNUMERICSORTLISTVIEWITEM_H
-#define QGSNUMERICSORTLISTVIEWITEM_H
-
-#include <Q3ListView>
-#include <Q3ListViewItem>
-
-/**
-
-  \brief  QListViewItem that can sort numerically (as opposed to just lexigraphically)
-
-  This class extends the Qt QListViewItem concept by 
-  reimplementing QListViewItem::compare to allow numeric comparisons
-
-  TODO: Make it work
-
-*/
-
-class QgsNumericSortListViewItem : public Q3ListViewItem
-{
-
-//  Q_OBJECT
-
-public:
-  /**
-  * Constructor.
-  */
-  QgsNumericSortListViewItem ( Q3ListView * parent );
-  QgsNumericSortListViewItem ( Q3ListViewItem * parent );
-
-  //! Destructor
-  virtual ~QgsNumericSortListViewItem ();
-
-  virtual int compare ( Q3ListViewItem * i, int col, bool ascending ) const;
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/core/qgspluginitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspluginitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspluginitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,49 +0,0 @@
-/***************************************************************************
-                               qgspluginitem.cpp  
-                             -------------------
-    begin                : 
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspluginitem.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include <qstring.h>
-#include "qgspluginitem.h"
-
-QgsPluginItem::QgsPluginItem(QString _name, QString _description, QString _fullPath, QString _type):
-m_name(_name), m_description(_description), m_fullPath(_fullPath), m_type(_type)
-{
-
-}
-
-QString QgsPluginItem::name()
-{
-  return m_name;
-}
-
-QString QgsPluginItem::description()
-{
-  return m_description;
-}
-
-QString QgsPluginItem::fullPath()
-{
-  return m_fullPath;
-}
-
-QString QgsPluginItem::type()
-{
-  return m_type;
-}
-
-QgsPluginItem::~QgsPluginItem()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgspluginitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspluginitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspluginitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,43 +0,0 @@
-/***************************************************************************
-                          qgspluginitem.cpp -  description
-                             -------------------
-    begin                : May 29 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspluginitem.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSPLUGINITEM_H
-#define QGSPLUGINITEM_H
-class QString;
-/**
-Class to contain information about a loadable plugin, including its name, description and the full path to the shared library
-
- at author Gary Sherman
-*/
-class QgsPluginItem{
-public:
-    QgsPluginItem(QString name=0, QString description=0, QString fullPath=0, QString type=0);
-    QString name();
-    QString description();
-    QString fullPath();
-    QString type();
-    ~QgsPluginItem();
-private:
-	QString m_name;
-	QString m_description;
-	QString m_fullPath;
-  //! Plugin type (either ui or maplayer)
-  QString m_type;
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/core/qgspluginregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspluginregistry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspluginregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,79 +0,0 @@
-/***************************************************************************
-                    QgsPluginRegistry.cpp  -  Singleton class for
-                    tracking registering plugins.
-                             -------------------
-    begin                : Fri Feb 7 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspluginregistry.cpp 6506 2007-02-03 12:35:27Z homann $ */
-
-#include <iostream>
-#include <qmessagebox.h>
-#include <qstring.h>
-#include <qdir.h>
-#include <qlibrary.h>
-#include <qapplication.h>
-#include "qgsprovidermetadata.h"
-#include "qgspluginmetadata.h"
-#include "qgspluginregistry.h"
-
-QgsPluginRegistry *QgsPluginRegistry::_instance = 0;
-QgsPluginRegistry *QgsPluginRegistry::instance()
-{
-  if (_instance == 0)
-    {
-      _instance = new QgsPluginRegistry();
-    }
-  return _instance;
-}
-
-QgsPluginRegistry::QgsPluginRegistry()
-{
-// constructor does nothing
-}
-QString QgsPluginRegistry::library(QString pluginKey)
-{
-  QgsPluginMetadata *pmd = plugins[pluginKey];
-  QString retval;
-  if (pmd)
-    {
-      retval = pmd->library();
-    }
-  return retval;
-}
-
-QgsPluginMetadata *QgsPluginRegistry::pluginMetadata(QString name)
-{
-  return plugins[name];
-}
-
-QgisPlugin *QgsPluginRegistry::plugin(QString name)
-{
-  QgsPluginMetadata *pmd = plugins[name];
-  QgisPlugin *retval = 0;
-  if (pmd)
-    {
-      retval = pmd->plugin();
-    }
-  return retval;
-}
-
-void QgsPluginRegistry::addPlugin(QString library, QString name, QgisPlugin * plugin)
-{
-  plugins[name] = new QgsPluginMetadata(library, name, plugin);
-}
-
-void QgsPluginRegistry::removePlugin(QString name)
-{
-  plugins.erase(name);
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgspluginregistry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspluginregistry.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspluginregistry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,55 +0,0 @@
-/***************************************************************************
-                          qgspluginregistry.h    
-           Singleton class for keeping track of installed plugins.
-                             -------------------
-    begin                : Mon Jan 26 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspluginregistry.h 4502 2006-01-08 01:18:20Z timlinux $ */
- 
-#ifndef QGSPLUGINREGISTRY_H
-#define QGSPLUGINREGISTRY_H
-#include <map>
-#include "qgspluginmetadata.h"
-class QgsPluginMetadata;
-class QgisPlugin;
-class QString;
-/**
-* \class QgsPluginRegistry
-* \brief This class tracks plugins that are currently loaded an provides
-* a means to fetch a pointer to a plugin and unload it
-*/
-class QgsPluginRegistry
-{
-public:
-//! Returns the instance pointer, creating the object on the first call
- static QgsPluginRegistry* instance();
- //! Return the full path to the plugins library using the plugin name as a key
- QString library(QString pluginKey);
- //! Retrieve the metadata for a plugin by name
- QgsPluginMetadata * pluginMetadata(QString name);
- //! Retrieve a pointer to a loaded plugin by name
- QgisPlugin * plugin(QString name);
- //! Add a plugin to the map of loaded plugins
- void addPlugin(QString _library, QString _name, QgisPlugin * _plugin);
- //! Remove a plugin from the list of loaded plugins
- void removePlugin(QString name);
-protected:
-//! protected constructor
- QgsPluginRegistry();
-private:
- static QgsPluginRegistry* _instance;
- std::map<QString,QgsPluginMetadata*> plugins;
-};
-#endif //QgsPluginRegistry_H
-

Modified: packages/qgis/branches/upstream/current/src/core/qgspoint.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspoint.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspoint.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgspoint.cpp 5393 2006-04-29 07:12:39Z g_j_m $ */
+ /* $Id: qgspoint.cpp 6942 2007-05-13 13:40:35Z mhugent $ */
 
 
 #include "qgspoint.h"
@@ -55,6 +55,11 @@
     return (m_x-x)*(m_x-x)+(m_y-y)*(m_y-y);
 }
 
+double QgsPoint::sqrDist(const QgsPoint& other)
+{
+  return sqrDist(other.x(), other.y());
+}
+
 // operators
 bool QgsPoint::operator==(const QgsPoint & other)
 {
@@ -64,7 +69,7 @@
     return false;
 }
 
-bool QgsPoint::operator!=(const QgsPoint & other)
+bool QgsPoint::operator!=(const QgsPoint & other) const
 {
   if ((m_x == other.x()) && (m_y == other.y()))
     return false;

Modified: packages/qgis/branches/upstream/current/src/core/qgspoint.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspoint.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspoint.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspoint.h 5393 2006-04-29 07:12:39Z g_j_m $ */
+/* $Id: qgspoint.h 6942 2007-05-13 13:40:35Z mhugent $ */
 
 #ifndef QGSPOINT_H
 #define QGSPOINT_H
@@ -23,7 +23,7 @@
 
 #include <QString>
 
-class QgsPoint 
+class CORE_EXPORT QgsPoint 
 {
  public:
     /// Default constructor
@@ -97,12 +97,15 @@
 
   /**Returns the squared distance between this point and x,y*/
   double sqrDist(double x, double y) const;
+  
+  /**Returns the squared distance between this and other point*/
+  double sqrDist(const QgsPoint& other);
 
   //! equality operator
   bool operator==(const QgsPoint &other);
     
   //! Inequality operator
-  bool operator!=(const QgsPoint &other);
+  bool operator!=(const QgsPoint &other) const;
     
   //! Assignment
   QgsPoint & operator=(const QgsPoint &other);

Deleted: packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-/***************************************************************************
-                          qgspolygonsymbol.cpp  -  description
-                             -------------------
-    begin                : Sun Aug 11 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspolygonsymbol.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgspolygonsymbol.h"
-QgsPolygonSymbol::QgsPolygonSymbol()
-{
-}
-
-QgsPolygonSymbol::~QgsPolygonSymbol()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgspolygonsymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,44 +0,0 @@
-/***************************************************************************
-                          qgspolygonsymbol.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspolygonsymbol.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSPOLYGONSYMBOL_H
-#define QGSPOLYGONSYMBOL_H
-#include "qgssymbol.h"
-class QString;
-
-/*! \class QgsPolygonSymbol
- * \brief Symbol for displaying polygons
- */
-class QgsPolygonSymbol : public QgsSymbol{
- public:
-    //! Constructor
-    QgsPolygonSymbol();
-    //! Destructor
-    ~QgsPolygonSymbol();
-          /*! Comparison operator
-      @return True if symbols are equal
-    */
-    bool operator==(const QgsPolygonSymbol &r1);
-    /*! Assignment operator
-     * @param r1 QgsPolygonSymbol to assign from
-     */
-    QgsPolygonSymbol & operator=(const QgsPolygonSymbol &r1);
- private:
-  
-};
-#endif // QGSPOLYGONSYMBOL_H

Added: packages/qgis/branches/upstream/current/src/core/qgsproject.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsproject.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsproject.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1308 @@
+/***************************************************************************
+                          qgsproject.cpp -  description
+                             -------------------
+  begin                : July 23, 2004
+  copyright            : (C) 2004 by Mark Coletti
+  email                : mcoletti at gmail.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsproject.h"
+
+#include <deque>
+#include <memory>
+#include <cassert>
+#include <iostream>
+
+#include "qgslogger.h"
+#include "qgsrect.h"
+#include "qgsvectorlayer.h"
+#include "qgsrasterlayer.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsexception.h"
+#include "qgsprojectproperty.h"
+#include "qgslogger.h"
+
+#include <QApplication>
+#include <QFileInfo>
+#include <QDomNode>
+#include <QObject>
+#include <QTextStream>
+
+
+static const char *const ident_ = "$Id: qgsproject.cpp 7122 2007-08-05 20:09:32Z wonder $";
+
+
+
+
+
+// / canonical project instance
+QgsProject * QgsProject::theProject_;
+
+
+
+
+
+
+
+/**
+    Take the given scope and key and convert them to a string list of key
+    tokens that will be used to navigate through a Property hierarchy
+
+    E.g., scope "someplugin" and key "/foo/bar/baz" will become a string list
+    of { "properties", "someplugin", "foo", "bar", "baz" }.  "properties" is
+    always first because that's the permanent ``root'' Property node.
+ */
+ static 
+ QStringList makeKeyTokens_(QString const &scope, QString const &key)
+ {
+     // XXX - debugger probes
+     //const char * scope_str = scope.toLocal8Bit().data();
+     //const char * key_str   = key.toLocal8Bit().data();
+
+     QStringList keyTokens = QStringList(scope);
+     keyTokens += QStringList::split('/', key);
+
+     // be sure to include the canonical root node
+     keyTokens.push_front( "properties" );
+
+     return keyTokens;
+ } // makeKeyTokens_
+
+
+
+
+ /**
+    return the property that matches the given key sequence, if any
+
+    @param sequence is a tokenized key sequence
+    @param p is likely to be the top level QgsPropertyKey in QgsProject:e:Imp.
+
+    @return null if not found, otherwise located Property
+ */
+ static
+ QgsProperty * findKey_( QString const & scope, 
+                         QString const & key, 
+                         QgsPropertyKey &   rootProperty )
+ {
+     QgsPropertyKey * currentProperty = &rootProperty;
+     QgsProperty * nextProperty;           // link to next property down hiearchy
+
+     QStringList keySequence = makeKeyTokens_( scope, key );
+
+     while ( ! keySequence.isEmpty() )
+     {
+         // if the current head of the sequence list matches the property name,
+         // then traverse down the property hierarchy
+         if ( keySequence.first() == currentProperty->name() )
+         {
+             // remove front key since we're traversing down a level
+             keySequence.pop_front();
+
+             // if we have only one key name left, then return the key found
+             if ( 1 == keySequence.count() )
+             {
+                 return currentProperty->find( keySequence.front() );
+                 
+             }
+             // if we're out of keys then the current property is the one we
+             // want; i.e., we're in the rate case of being at the top-most
+             // property node
+             else if ( keySequence.isEmpty() )
+             {
+                 return currentProperty;
+             }
+             else if (( nextProperty = currentProperty->find( keySequence.first() ) ))
+             {
+                 if ( nextProperty->isKey() )
+                 {
+                     currentProperty = dynamic_cast<QgsPropertyKey*>(nextProperty);
+                 }
+                 // it may be that this may be one of several property value
+                 // nodes keyed by QDict string; if this is the last remaining
+                 // key token and the next property is a value node, then
+                 // that's the situation, so return the currentProperty
+                 else if ( nextProperty->isValue() && (1 == keySequence.count()) )
+                 {
+                     return currentProperty;
+                 }
+                 else            // QgsPropertyValue not Key, so return null
+                 {
+                     return 0x0;
+                 }
+             }
+             else                // if the next key down isn't found
+             {                   // then the overall key sequence doesn't exist
+                 return 0x0;
+             }
+         }
+         else
+         {
+             return 0x0;
+         }
+     }
+
+     return 0x0;
+ } // findKey_
+
+
+
+ /** add the given key and value
+
+ @param sequence is list of keys
+ @param rootProperty is the property from which to start adding
+ @param value the value associated with the key
+ */
+ static
+ QgsProperty * addKey_( QString const & scope,
+                        QString const & key, 
+                        QgsPropertyKey * rootProperty,
+                        QVariant value )
+ {
+     QStringList keySequence = makeKeyTokens_( scope, key );
+
+     // cursor through property key/value hierarchy
+     QgsPropertyKey * currentProperty = rootProperty;
+
+     QgsProperty * newProperty; // link to next property down hiearchy
+
+     while ( ! keySequence.isEmpty() )
+     {
+         // if the current head of the sequence list matches the property name,
+         // then traverse down the property hierarchy
+         if ( keySequence.first() == currentProperty->name() )
+         {
+             // remove front key since we're traversing down a level
+             keySequence.pop_front();
+
+             // if key sequence has one last element, then we use that as the
+             // name to store the value
+             if ( 1 == keySequence.count() )
+             {
+                 currentProperty->setValue( keySequence.front(), value );
+                 return currentProperty;
+             }
+             // we're at the top element if popping the keySequence element
+             // will leave it empty; in that case, just add the key
+             else if ( keySequence.isEmpty() )
+             {
+                 currentProperty->setValue( value );
+
+                 return currentProperty;
+             }
+             else if (( newProperty = currentProperty->find( keySequence.first() ) ))
+             {
+                 currentProperty = dynamic_cast<QgsPropertyKey*>(newProperty);
+
+                 if ( currentProperty )
+                 {
+                     continue;
+                 }
+                 else            // QgsPropertyValue not Key, so return null
+                 {
+                     return 0x0;
+                 }
+             }
+             else                // the next subkey doesn't exist, so add it
+             {
+                 newProperty = currentProperty->addKey( keySequence.first() );
+
+                 if ( newProperty )
+                 {
+                     currentProperty = dynamic_cast<QgsPropertyKey*>(newProperty);
+                 }
+                 continue;
+             }
+         }
+         else
+         {
+             return 0x0;
+         }
+     }
+
+     return 0x0;
+
+ } // addKey_
+
+
+
+ static
+ void removeKey_(QString const & scope,
+                 QString const & key, 
+                 QgsPropertyKey & rootProperty)
+ {
+     QgsPropertyKey * currentProperty = &rootProperty;
+
+     QgsProperty * nextProperty = NULL;   // link to next property down hiearchy
+     QgsPropertyKey * previousQgsPropertyKey = NULL; // link to previous property up hiearchy
+
+     QStringList keySequence = makeKeyTokens_( scope, key );
+
+     while ( ! keySequence.isEmpty() )
+     {
+         // if the current head of the sequence list matches the property name,
+         // then traverse down the property hierarchy
+         if ( keySequence.first() == currentProperty->name() )
+         {
+             // remove front key since we're traversing down a level
+             keySequence.pop_front();
+
+             // if we have only one key name left, then try to remove the key
+             // with that name
+             if ( 1 == keySequence.count() )
+             {
+                 currentProperty->removeKey( keySequence.front() );
+             }
+             // if we're out of keys then the current property is the one we
+             // want to remove, but we can't delete it directly; we need to
+             // delete it from the parent property key container
+             else if ( keySequence.isEmpty() )
+             {
+                 previousQgsPropertyKey->removeKey( currentProperty->name() );
+             }
+             else if ( 0 == ( nextProperty = currentProperty->find( keySequence.first() ) ) )
+             {
+                 previousQgsPropertyKey = currentProperty;
+                 currentProperty = dynamic_cast<QgsPropertyKey*>(nextProperty);
+
+                 if ( currentProperty )
+                 {
+                     continue;
+                 }
+                 else            // QgsPropertyValue not Key, so return null
+                 {
+                     return;
+                 }
+             }
+             else                // if the next key down isn't found
+             {                   // then the overall key sequence doesn't exist
+                 return;
+             }
+         }
+         else
+         {
+             return;
+         }
+     }
+
+ } // void removeKey_
+
+
+
+ struct QgsProject::Imp
+ {
+     /// current physical project file
+     QFile file;
+
+     /// property hierarchy
+     QgsPropertyKey properties_;
+
+     /// project title
+     QString title;
+
+     /// true if project has been modified since it has been read or saved
+     bool dirty;
+
+     Imp()
+         : title(""), 
+           dirty(false)
+     {                             // top property node is the root
+                                   // "properties" that contains all plug-in
+                                   // and extra property keys and values
+         properties_.name() = "properties"; // root property node always this value
+     }
+
+     /** clear project properties when a new project is started 
+      */ 
+     void clear()
+     {
+         QgsDebugMsg( "Clearing project properties Impl->clear();" );
+
+         properties_.clearKeys();
+         title = "";
+
+         // reset some default project properties
+         // XXX THESE SHOULD BE MOVED TO STATUSBAR RELATED SOURCE
+         QgsProject::instance()->writeEntry("PositionPrecision", "/Automatic", true);
+         QgsProject::instance()->writeEntry("PositionPrecision", "/DecimalPlaces", 2);
+     }
+
+ };  // struct QgsProject::Imp
+
+
+
+ QgsProject::QgsProject()
+     : imp_(new QgsProject::Imp)
+ {
+     // Set some default project properties
+     // XXX THESE SHOULD BE MOVED TO STATUSBAR RELATED SOURCE
+     writeEntry("PositionPrecision", "/Automatic", true);
+     writeEntry("PositionPrecision", "/DecimalPlaces", 2);
+     // XXX writeEntry() makes the project dirty, but it doesn't make sense
+     // for a new project to be dirty, so let's clean it up
+     dirty(false);
+ } // QgsProject ctor
+
+
+
+ QgsProject::~QgsProject()
+ {
+     // note that std::auto_ptr automatically deletes imp_ when it's destroyed
+ } // QgsProject dtor
+
+
+
+ QgsProject * QgsProject::instance()
+ {
+     if (!QgsProject::theProject_)
+     {
+         QgsProject::theProject_ = new QgsProject;
+     }
+
+     return QgsProject::theProject_;
+ } // QgsProject * instance()
+
+
+
+
+ void QgsProject::title(QString const &title)
+ {
+     imp_->title = title;
+
+     dirty(true);
+ } // void QgsProject::title
+
+
+ QString const & QgsProject::title() const
+ {
+     return imp_->title;
+ } // QgsProject::title() const
+
+
+ bool QgsProject::dirty() const
+ {
+     return imp_->dirty;
+ } // bool QgsProject::dirty() 
+
+
+ void QgsProject::dirty(bool b)
+ {
+     imp_->dirty = b;
+ } // bool QgsProject::dirty()
+
+
+
+ void QgsProject::filename(QString const &name)
+ {
+     imp_->file.setName(name);
+
+     dirty(true);
+ } // void QgsProject::filename( QString const & name )
+
+
+
+ QString QgsProject::filename() const
+ {
+     return imp_->file.name();
+ } // QString QgsProject::filename() const
+
+
+
+ /// basically a debugging tool to dump property list values 
+ static void dump_( QgsPropertyKey const & topQgsPropertyKey )
+ {
+     qDebug("current properties:");
+
+     topQgsPropertyKey.dump();
+ } // dump_
+
+
+
+
+ /**
+
+ Restore any optional properties found in "doc" to "properties".
+
+ <properties> tags for all optional properties.  Within that there will be
+ scope tags.  In the following example there exist one property in the
+ "fsplugin" scope.  "layers" is a list containing three string values.
+
+ <properties>
+   <fsplugin>
+     <foo type="int" >42</foo>
+     <baz type="int" >1</baz>
+     <layers type="QStringList" >
+       <value>railroad</value>
+       <value>airport</value>
+     </layers>
+     <xyqzzy type="int" >1</xyqzzy>
+     <bar type="double" >123.456</bar>
+     <feature_types type="QStringList" >
+        <value>type</value>
+     </feature_types>
+   </fsplugin>
+ </properties>
+
+ @param project_properties should be the top QgsPropertyKey node.
+
+ */
+static 
+void
+_getProperties(QDomDocument const &doc, QgsPropertyKey & project_properties)
+{
+    QDomNodeList properties = doc.elementsByTagName("properties");
+
+    if (properties.count() > 1)
+    {
+        qDebug("there appears to be more than one ``properties'' XML tag ... bailing");
+        return;
+    } else if (properties.count() < 1)  // no properties found, so we're done
+    {
+        return;
+    }
+
+    // item(0) because there should only be ONE
+    // "properties" node
+    QDomNodeList scopes = properties.item(0).childNodes();
+
+    if (scopes.count() < 1)
+    {
+        qDebug("empty ``properties'' XML tag ... bailing");
+        return;
+    }
+
+    QDomNode propertyNode = properties.item(0);
+
+    if ( ! project_properties.readXML( propertyNode ) )
+    {
+        qDebug("Project_properties.readXML() failed");
+    }
+
+// DEPRECATED as functionality has been shoved down to QgsProperyKey::readXML()
+
+//     size_t i = 0;
+//     while (i < scopes.count())
+//     {
+//         QDomNode curr_scope_node = scopes.item(i);
+
+//         qDebug("found %d property node(s) for scope %s",
+//                curr_scope_node.childNodes().count(),
+//                (const char *) curr_scope_node.nodeName().utf8());
+
+//         QString key(curr_scope_node.nodeName());
+
+//         QgsPropertyKey * currentKey = 
+//             dynamic_cast<QgsPropertyKey*>(project_properties.find( key ));
+
+//         if ( ! currentKey )
+//         {
+//             // if the property key doesn't yet exist, create an empty instance
+//             // of that key
+
+//             currentKey = project_properties.addKey( key );
+
+//             if ( ! currentKey )
+//             {
+//                 qDebug( "%s:%d unable to add key", __FILE__, __LINE__ );
+//             }
+//         }
+
+//         if (! currentKey->readXML(curr_scope_node))
+//         {
+//             qDebug("%s:%d unable to read XML for property %s", __FILE__, __LINE__,
+//                    (const char *) curr_scope_node.nodeName().utf8());
+//         }
+
+//         ++i;
+//     }
+} // _getProperties
+
+
+
+
+/**
+   Get the project title
+
+   XML in file has this form:
+   <qgis projectname="default project">
+   <title>a project title</title>
+
+   @todo XXX we should go with the attribute xor <title>, not both.
+*/
+static void _getTitle(QDomDocument const &doc, QString & title)
+{
+    QDomNodeList nl = doc.elementsByTagName("title");
+
+    title = "";                 // by default the title will be empty
+
+    if (!nl.count())
+    {
+        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
+        return;
+    }
+
+    QDomNode titleNode = nl.item(0);  // there should only be one, so zeroth element ok
+
+    if (!titleNode.hasChildNodes()) // if not, then there's no actual text
+    {
+        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
+        return;
+    }
+
+    QDomNode titleTextNode = titleNode.firstChild();  // should only have one child
+
+    if (!titleTextNode.isText())
+    {
+        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
+        return;
+    }
+
+    QDomText titleText = titleTextNode.toText();
+
+    title = titleText.data();
+
+} // _getTitle
+
+
+/** return the version string found in the given DOM document
+
+   @returns the version string or an empty string if none found
+ */
+static QString _getVersion(QDomDocument const &doc)
+{
+    QDomNodeList nl = doc.elementsByTagName("qgis");
+
+    if (!nl.count())
+    {
+        QgsDebugMsg(" unable to find qgis element in project file");
+        return "";
+    }
+    
+    QDomNode qgisNode = nl.item(0);  // there should only be one, so zeroth element ok
+
+    QDomElement qgisElement = qgisNode.toElement(); // qgis node should be element
+
+    return qgisElement.attribute("version");
+} // _getVersion
+
+
+
+/**
+   Read map layers from project file
+
+   
+   @returns pair of < bool, list<QDomNode> >; bool is true if function worked;
+            else is false.  list contains nodes corresponding to layers that couldn't
+            be loaded
+
+   @note XML of form:
+
+   <maplayer type="vector">
+      <layername>Hydrop</layername>
+      <datasource>/data/usgs/city_shp/hydrop.shp</datasource>
+      <zorder>0</zorder>
+      <provider>ogr</provider>
+      <singlesymbol>
+         <renderitem>
+            <value>blabla</value>
+            <symbol>
+               <outlinecolor red="85" green="0" blue="255" />
+               <outlinestyle>SolidLine</outlinestyle>
+               <outlinewidth>1</outlinewidth>
+               <fillcolor red="0" green="170" blue="255" />
+               <fillpattern>SolidPattern</fillpattern>
+            </symbol>
+            <label>blabla</label>
+         </renderitem>
+      </singlesymbol>
+      <label>0</label>
+      <labelattributes>
+         <label text="Label" field="" />
+         <family name="Sans Serif" field="" />
+         <size value="12" units="pt" field="" />
+         <bold on="0" field="" />
+         <italic on="0" field="" />
+         <underline on="0" field="" />
+         <color red="0" green="0" blue="0" field="" />
+         <x field="" />
+         <y field="" />
+         <offset  units="pt" x="0" xfield="" y="0" yfield="" />
+         <angle value="0" field="" />
+         <alignment value="center" field="" />
+      </labelattributes>
+   </maplayer>
+
+*/
+static std::pair< bool, std::list<QDomNode> > _getMapLayers(QDomDocument const &doc)
+{
+    // Layer order is implicit in the order they are stored in the project file
+
+    QDomNodeList nl = doc.elementsByTagName("maplayer");
+
+    // XXX what is this used for? QString layerCount( QString::number(nl.count()) );
+
+    QString wk;
+
+    std::list<QDomNode> brokenNodes; // a list of DOM nodes corresponding to layers
+                                // that we were unable to load; this could be
+                                // because the layers were removed or
+                                // re-located after the project was last saved
+
+    // process the map layer nodes
+
+    if (0 == nl.count())        // if we have no layers to process, bail
+    {
+        return make_pair(true, brokenNodes); // Decided to return "true" since it's
+                                // possible for there to be a project with no
+                                // layers; but also, more imporantly, this
+                                // would cause the tests/qgsproject to fail
+                                // since the test suite doesn't currently
+                                // support test layers
+    }
+
+    bool returnStatus = true;
+
+    for (int i = 0; i < nl.count(); i++)
+    {
+        QDomNode node = nl.item(i);
+        QDomElement element = node.toElement();
+
+        QString type = element.attribute("type");
+
+        QgsDebugMsg("Layer type is " + type);
+
+        QgsMapLayer *mapLayer = NULL;
+        
+        if (type == "vector")
+        {
+            mapLayer = new QgsVectorLayer;
+        } else if (type == "raster")
+        {
+            mapLayer = new QgsRasterLayer;
+        }
+
+        Q_CHECK_PTR(mapLayer);
+
+        if (!mapLayer)
+        {
+          QgsDebugMsg("Unable to create layer");
+          
+          return make_pair(false, brokenNodes);
+        }
+
+        // have the layer restore state that is stored in DOM node
+        if ( mapLayer->readXML(node) )
+        {
+            mapLayer = QgsMapLayerRegistry::instance()->addMapLayer(mapLayer);
+        }
+        else
+        {
+            delete mapLayer;
+
+            QgsDebugMsg("Unable to load " + type + " layer");
+
+            returnStatus = false; // flag that we had problems loading layers
+
+            brokenNodes.push_back( node );
+        }
+    }
+
+    return make_pair(returnStatus, brokenNodes);
+
+} // _getMapLayers
+
+
+
+
+/**
+   Please note that most of the contents were copied from qgsproject
+*/
+bool QgsProject::read(QFileInfo const &file)
+{
+    imp_->file.setName(file.filePath());
+
+    return read();
+} // QgsProject::read( QFile & file )
+
+
+
+/**
+   @note it's presumed that the caller has already reset the map canvas, map
+   registry, and legend
+*/
+bool QgsProject::read()
+{
+    std::auto_ptr< QDomDocument > doc =
+        std::auto_ptr < QDomDocument > (new QDomDocument("qgis"));
+
+    if (!imp_->file.open(QIODevice::ReadOnly))
+    {
+        imp_->file.close();     // even though we got an error, let's make
+                                // sure it's closed anyway
+
+        throw QgsIOException( QObject::tr("Unable to open ") + imp_->file.name());
+
+        return false;           // XXX raise exception? Ok now superfluous
+                                // XXX because of exception.
+    }
+
+    // location of problem associated with errorMsg
+    int line, column;
+    QString errorMsg;
+
+    if (!doc->setContent(&imp_->file, &errorMsg, &line, &column))
+    {
+        // want to make this class as GUI independent as possible; so commented out
+        // QMessageBox::critical( 0x0, "Project File Read Error",
+        // errorMsg + " at line " + QString::number( line ) +
+        // " column " + QString::number( column ) );
+
+        QString errorString = QObject::tr("Project file read error: ") +
+            errorMsg + QObject::tr(" at line ") + QString::number(line) + QObject::tr(" column ") +
+            QString::number(column);
+
+        qDebug((const char *) errorString.utf8());
+
+        imp_->file.close();
+
+        throw QgsException(errorString + QObject::tr(" for file ") + imp_->file.name());
+
+        return false;               // XXX superfluous because of exception
+    }
+
+    imp_->file.close();
+
+
+    QgsDebugMsg("Opened document " + imp_->file.name());
+
+    // before we start loading everything, let's clear out the current set of
+    // properties first so that we don't have the properties from the previous
+    // project still hanging around
+
+    imp_->clear();
+
+    // now get any properties
+    _getProperties(*doc, imp_->properties_);
+
+    QgsDebugMsg(QString::number(imp_->properties_.count()) + " properties read");
+
+    dump_(imp_->properties_);
+
+
+    // restore the canvas' area of interest
+
+    // now get project title
+    _getTitle(*doc, imp_->title);
+
+    // get project version string, if any
+    QString fileVersion = _getVersion(*doc);
+
+    if ( fileVersion.isNull() )
+    {
+        QgsDebugMsg( "project file has no version string" );
+    }
+    else
+    {
+        QgsDebugMsg( "project file has version " + QString(fileVersion) );
+    }
+
+    QStringList fileVersionParts = fileVersion.split(".");
+    QStringList qgisVersionParts = QString(QGis::qgisVersion).split(".");
+
+    QgsDebugMsg("Project title: " + imp_->title);
+    
+    bool older = false;
+
+    if (fileVersionParts.size() != 3 || qgisVersionParts.size() != 3)
+      older = false; // probably an older version
+    else
+    {
+      if (fileVersionParts.at(0) < qgisVersionParts.at(0))
+        older = true;
+      else if (fileVersionParts.at(1) < qgisVersionParts.at(1))
+        older = true;
+      else if (fileVersionParts.at(2) < qgisVersionParts.at(2))
+        older = true;
+    }
+
+    if (older)
+    {
+      QgsLogger::warning("Loading a file that was saved with an older "
+                         "version of qgis (saved in " + fileVersion +
+                         ", loaded in " + QGis::qgisVersion +
+                         "). Problems may occur.");
+    }
+
+    // get the map layers
+    std::pair< bool, std::list<QDomNode> > getMapLayersResults =  _getMapLayers(*doc);
+
+    // review the integrity of the retrieved map layers
+
+    if ( ! getMapLayersResults.first )
+    {
+        QgsDebugMsg("Unable to get map layers from project file.");
+
+        if ( ! getMapLayersResults.second.empty() )
+        {
+          QgsDebugMsg("there are " + QString::number(getMapLayersResults.second.size()) + " broken layers");
+        }
+
+        // Since we could be executing this from the test harness which
+        // doesn't *have* layers -- nor a GUI for that matter -- we'll just
+        // leave in the whining and boldly stomp on.
+	emit readProject(*doc);
+        throw QgsProjectBadLayerException( getMapLayersResults.second );
+
+//         return false;
+    }
+
+    // read the project: used by map canvas and legend
+    emit readProject(*doc);
+
+    // can't be dirty since we're allegedly in pristine state
+    dirty(false);
+
+    return true;
+
+} // QgsProject::read
+
+
+
+
+
+bool QgsProject::read( QDomNode & layerNode )
+{
+    QString type = layerNode.toElement().attribute("type");
+
+    QgsMapLayer *mapLayer;
+
+    if (type == "vector")
+    {
+        mapLayer = new QgsVectorLayer;
+    } 
+    else if (type == "raster")
+    {
+        mapLayer = new QgsRasterLayer;
+    }
+    else
+    {
+        QgsDebugMsg("bad layer type");
+        return false;
+    }
+
+    if (!mapLayer)
+    {
+        QgsDebugMsg("unable to create layer");
+        return false;
+    }
+
+    // have the layer restore state that is stored in DOM node
+    if ( mapLayer->readXML(layerNode) )
+    {
+        mapLayer = QgsMapLayerRegistry::instance()->addMapLayer(mapLayer);
+    }
+    else
+    {
+        delete mapLayer;
+
+        QgsDebugMsg("unable to load " + type + " layer");
+
+        return false;
+    }
+
+    return  true;
+} // QgsProject::read( QDomNode & layerNode )
+
+
+
+bool QgsProject::write(QFileInfo const &file)
+{
+    imp_->file.setName(file.filePath());
+
+    return write();
+} // QgsProject::write( QFileInfo const & file )
+
+
+bool QgsProject::write()
+{
+  // if we have problems creating or otherwise writing to the project file,
+  // let's find out up front before we go through all the hand-waving
+  // necessary to create all the DOM objects
+  if (!imp_->file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate))
+  {
+    imp_->file.close();         // even though we got an error, let's make
+    // sure it's closed anyway
+
+    throw QgsIOException(QObject::tr("Unable to save to file ") + imp_->file.name());
+
+    return false;               // XXX raise exception? Ok now superfluous
+    // XXX because of exception.
+  }
+  QFileInfo myFileInfo(imp_->file);
+  if (!myFileInfo.isWritable())
+  {
+    // even though we got an error, let's make
+    // sure it's closed anyway
+    imp_->file.close();         
+    throw QgsIOException(imp_->file.name() + QObject::tr(QString(" is not writeable.")
+            + QString("Please adjust permissions (if possible) and try again.")));
+    // XXX raise exception? Ok now superfluous
+    return false;               
+   
+  }
+
+  QDomImplementation DOMImplementation;
+
+  QDomDocumentType documentType =
+      DOMImplementation.createDocumentType("qgis", "http://mrcc.com/qgis.dtd",
+              "SYSTEM");
+  std::auto_ptr < QDomDocument > doc =
+      std::auto_ptr < QDomDocument > (new QDomDocument(documentType));
+
+
+  QDomElement qgisNode = doc->createElement("qgis");
+  qgisNode.setAttribute("projectname", title());
+  qgisNode.setAttribute("version", QString("%1").arg(QGis::qgisVersion));
+
+  doc->appendChild(qgisNode);
+
+  // title
+  QDomElement titleNode = doc->createElement("title");
+  qgisNode.appendChild(titleNode);
+
+  QDomText titleText = doc->createTextNode(title());  // XXX why have title TWICE?
+  titleNode.appendChild(titleText);
+  
+  // let map canvas and legend write their information
+  emit writeProject(*doc);
+
+  // within top level node save list of layers
+  std::map<QString,QgsMapLayer*> & layers = QgsMapLayerRegistry::instance()->mapLayers();
+
+  // Iterate over layers in zOrder
+  // Call writeXML() on each
+  QDomElement projectLayersNode = doc->createElement("projectlayers");
+  projectLayersNode.setAttribute("layercount", qulonglong( layers.size() ));
+
+  std::map<QString,QgsMapLayer*>::iterator li = layers.begin();
+  while (li != layers.end())
+  {
+    //QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
+    QgsMapLayer* ml = li->second;
+
+    if (ml)
+    {
+      ml->writeXML(projectLayersNode, *doc);
+    }
+    li++;
+  }
+
+  qgisNode.appendChild(projectLayersNode);
+  
+  // now add the optional extra properties
+
+  dump_(imp_->properties_);
+
+  qDebug("there are %d property scopes", static_cast<int>(imp_->properties_.count()));
+
+  if (!imp_->properties_.isEmpty()) // only worry about properties if we
+    // actually have any properties
+  {
+    imp_->properties_.writeXML( "properties", qgisNode, *doc );
+  } 
+
+  // now wrap it up and ship it to the project file
+  doc->normalize();             // XXX I'm not entirely sure what this does
+
+  //QString xml = doc->toString(4); // write to string with indentation of four characters
+  // (yes, four is arbitrary)
+
+  // const char * xmlString = xml; // debugger probe point
+  // qDebug( "project file output:\n\n" + xml );
+
+  QTextStream projectFileStream(&imp_->file);
+
+  //projectFileStream << xml << endl;
+  doc->save(projectFileStream, 4);  // save as utf-8
+  imp_->file.close();
+
+
+  dirty(false);                 // reset to pristine state
+
+  return true;
+} // QgsProject::write
+
+
+
+void QgsProject::clearProperties()
+{
+    QgsDebugMsg("Clearing project properties QgsProject::clearProperties()");
+    
+    imp_->clear();
+
+    dirty(true);
+} // QgsProject::clearProperties()
+
+
+
+bool
+QgsProject::writeEntry(QString const &scope, const QString & key, bool value)
+{
+    dirty(true);
+
+    return addKey_( scope, key, &imp_->properties_, value );
+} // QgsProject::writeEntry ( ..., bool value )
+
+
+bool
+QgsProject::writeEntry(QString const &scope, const QString & key,
+                       double value)
+{
+    dirty(true);
+
+    return addKey_( scope, key, &imp_->properties_, value );
+} // QgsProject::writeEntry ( ..., double value )
+
+
+bool
+QgsProject::writeEntry(QString const &scope, const QString & key, int value)
+{
+    dirty(true);
+
+    return addKey_( scope, key, &imp_->properties_, value );
+} // QgsProject::writeEntry ( ..., int value )
+
+
+bool
+QgsProject::writeEntry(QString const &scope, const QString & key,
+                       const QString & value)
+{
+    dirty(true);
+
+    return addKey_( scope, key, &imp_->properties_, value );
+} // QgsProject::writeEntry ( ..., const QString & value )
+
+
+bool
+QgsProject::writeEntry(QString const &scope, const QString & key,
+                       const QStringList & value)
+{
+    dirty(true);
+
+    return addKey_( scope, key, &imp_->properties_, value );
+} // QgsProject::writeEntry ( ..., const QStringList & value )
+
+
+
+
+QStringList
+QgsProject::readListEntry(QString const & scope,
+                          const QString & key,
+                          bool * ok) const 
+{
+    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
+
+    QVariant value;
+
+    if ( property )
+    {
+        value = property->value();
+    }
+
+    bool valid = QVariant::StringList == value.type();
+
+    if (ok)
+    {
+        *ok = valid;
+    }
+
+    if (valid)
+    {
+        return value.asStringList();
+    }
+
+    return QStringList();
+} // QgsProject::readListEntry
+
+
+QString
+QgsProject::readEntry(QString const & scope, 
+                      const QString & key,
+                      const QString & def,
+                      bool * ok) const 
+{
+    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
+
+    QVariant value;
+
+    if ( property )
+    {
+        value = property->value();
+    }
+
+    bool valid = value.canCast(QVariant::String);
+
+    if (ok)
+    {
+        *ok = valid;
+    }
+
+    if (valid)
+    {
+        return value.toString();
+    }
+
+    return QString(def);
+} // QgsProject::readEntry
+
+
+int
+QgsProject::readNumEntry(QString const &scope, const QString & key, int def,
+                         bool * ok) const 
+{
+    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
+
+    QVariant value;
+
+    if ( property )
+    {
+        value = property->value();
+    }
+
+    bool valid = value.canCast(QVariant::String);
+
+    if (ok)
+    {
+        *ok = valid;
+    }
+
+    if (valid)
+    {
+        return value.toInt();
+    }
+
+    return def;
+} // QgsProject::readNumEntry
+
+
+double
+QgsProject::readDoubleEntry(QString const &scope, const QString & key,
+                            double def,
+                            bool * ok) const 
+{
+    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
+
+    QVariant value;
+
+    if ( property )
+    {
+        value = property->value();
+    }
+
+    bool valid = value.canCast(QVariant::Double);
+
+    if (ok)
+    {
+        *ok = valid;
+    }
+
+    if (valid)
+    {
+        return value.toDouble();
+    }
+
+    return def;
+} // QgsProject::readDoubleEntry
+
+
+bool
+QgsProject::readBoolEntry(QString const &scope, const QString & key, bool def,
+                          bool * ok) const
+{
+    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
+
+    QVariant value;
+
+    if ( property )
+    {
+        value = property->value();
+    }
+
+    bool valid = value.canCast(QVariant::Bool);
+
+    if (ok)
+    {
+        *ok = valid;
+    }
+
+    if (valid)
+    {
+        return value.toBool();
+    }
+
+    return def;
+} // QgsProject::readBoolEntry
+
+
+bool QgsProject::removeEntry(QString const &scope, const QString & key)
+{
+    removeKey_( scope, key, imp_->properties_ );
+
+    dirty(true);
+
+    return ! findKey_(scope, key, imp_->properties_ );
+} // QgsProject::removeEntry
+
+
+
+QStringList QgsProject::entryList(QString const &scope, QString const &key) const
+{
+    QgsProperty * foundProperty = findKey_( scope, key, imp_->properties_ );
+
+    QStringList entries;
+
+    if ( foundProperty )
+    {
+        QgsPropertyKey * propertyKey = dynamic_cast<QgsPropertyKey*>(foundProperty);
+
+        if (propertyKey)
+        { propertyKey->entryList( entries ); }
+    }
+
+    return entries;
+} // QgsProject::entryList 
+
+
+QStringList 
+QgsProject::subkeyList(QString const &scope, QString const &key) const
+{
+    QgsProperty * foundProperty = findKey_( scope, key, imp_->properties_ );
+
+    QStringList entries;
+
+    if ( foundProperty )
+    {
+        QgsPropertyKey * propertyKey = dynamic_cast<QgsPropertyKey*>(foundProperty);
+
+        if (propertyKey)
+        { propertyKey->subkeyList( entries ); }
+    }
+
+    return entries;
+
+} // QgsProject::subkeyList 
+
+
+
+void QgsProject::dumpProperties() const
+{
+    dump_(imp_->properties_);
+} // QgsProject::dumpProperties

Added: packages/qgis/branches/upstream/current/src/core/qgsproject.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsproject.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsproject.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,279 @@
+/***************************************************************************
+                                  qgsproject.h
+
+                      Implements persistent project state.
+ 
+                              -------------------
+  begin                : July 23, 2004
+  copyright            : (C) 2004 by Mark Coletti
+  email                : mcoletti at gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsproject.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSPROJECT_H
+#define QGSPROJECT_H
+
+#include <memory>
+#include <QObject>
+
+//#include <QDomDocument>
+
+class QFileInfo;
+class QDomDocument;
+class QDomNode;
+
+
+/** Reads and writes project states.
+   
+
+  @note
+
+  Has two general kinds of state to make persistent.  (I.e., to read and
+  write.)  First, Qgis proprietary information.  Second plug-in information.
+
+  A singleton since there shall only be one active project at a time; and
+  provides canonical location for plug-ins and main app to find/set
+  properties.
+
+  Might want to consider moving from Singleton; i.e., allowing more than one
+  project.  Just as the GIMP can have simultaneous multiple images, perhaps
+  qgis can one day have simultaneous multiple projects.
+
+*/
+class CORE_EXPORT QgsProject : public QObject
+{
+  Q_OBJECT
+
+public:
+
+    /**
+       @todo XXX Should have semantics for saving project if dirty as last gasp?
+    */
+    ~QgsProject();
+
+    /// access to canonical QgsProject instance
+    static QgsProject * instance();
+
+    /**
+       Every project has an associated title string
+
+       @todo However current dialogs don't allow setting of it yet
+     */
+    //@{
+    void title( QString const & title );
+
+    /** returns title */
+    QString const & title() const;
+    //@}
+
+    /**
+       the dirty flag is true if the project has been modified since the last
+       write()
+     */
+    //@{
+    bool dirty() const;
+
+    void dirty( bool b );
+    //@}
+
+
+    /**
+       Every project has an associated file that contains its XML
+     */
+    //@{
+    void filename( QString const & name );
+
+    /** returns file name */
+    QString filename() const;
+    //@}
+
+
+    /** read project file
+
+       @note Any current plug-in state is erased
+
+       @note dirty set to false after successful invocation
+
+       @note file name argument implicitly sets file
+
+       (Is that really desirable behavior?  Maybe prompt to save before
+       reading new one?)
+
+       Should we presume the file is opened elsewhere?  Or do we open it
+       ourselves?
+
+       XXX How to best get modify access to Qgis state?  Actually we can finagle
+       that by searching for qgisapp in object hiearchy.
+
+       @note
+
+       - Gets the extents
+       - Creates maplayers
+       - Registers maplayers
+
+       @note it's presumed that the caller has already reset the map canvas, map registry, and legend
+
+       @exception
+
+     */
+    //@{
+    bool read( QFileInfo const & file );
+    bool read( );
+    //@}
+
+
+    /** read the layer described in the associated DOM node
+
+        @param layerNode   represents a QgsProject DOM node that maps to a specific layer.
+
+        QgsProject raises an exception when one of the QgsProject::read()
+        implementations fails.  Since the read()s are invoked from qgisapp,
+        then qgisapp handles the exception.  It prompts the user for the new
+        location of the data, if any.  If there is a new location, the DOM
+        node associated with the layer has its <datasource> tag corrected.
+        Then that node is passed to this member function to be re-opened.
+
+     */
+    bool read( QDomNode & layerNode );
+
+
+    /** write project file
+
+       XXX How to best get read access to Qgis state?  Actually we can finagle
+       that by searching for qgisapp in object hiearchy.
+
+       @note file name argument implicitly sets file
+
+       @note dirty set to false after successful invocation
+     */
+    //@{
+    bool write( QFileInfo const & file );
+    bool write( );
+    //@}
+
+
+    /// syntactic sugar for property lists
+    // DEPRECATED typedef QPair< QString, QVariant >  PropertyValue;
+    // DEPRECATED typedef QValueList< PropertyValue > Properties;
+
+    /** extra properties, typically added by plug-ins
+
+       This allows for extra properties to be associated with projects.  Think
+       of it as a registry bound to a project.
+
+       Properties are arbitrary values keyed by a name and associated with a
+       scope.  The scope would presumably refer to your plug-in.
+       E.g., "openmodeller".
+
+       @note
+
+       E.g., open modeller might use:
+
+       <code>"QgsProject::instance()->properties("openmodeller")["foo"]</code>.
+
+       @todo "properties" is, overall, a good name; but that might imply that
+       the qgis specific state properites are different since they aren't
+       accessible here.  Actually, what if we make "qgis" yet another
+       scope that stores its state in the properties list?  E.g., 
+       QgsProject::instance()->properties()["qgis"]?
+
+       
+     */
+    // DEPRECATED Properties & properties( QString const & scope );
+
+    /**
+       removes all project properties
+    */
+    void clearProperties();
+
+
+    /* key value mutators 
+
+      keys would be the familiar QSettings-like '/' delimited entries, implying
+      a hierarchy of keys and corresponding values
+
+      @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
+    */
+    //@{
+    bool writeEntry ( QString const & scope, const QString & key, bool value );
+    bool writeEntry ( QString const & scope, const QString & key, double value );
+    bool writeEntry ( QString const & scope, const QString & key, int value );
+    bool writeEntry ( QString const & scope, const QString & key, const QString & value );
+    bool writeEntry ( QString const & scope, const QString & key, const QStringList & value );
+    //@}
+
+    /** key value accessors
+
+        keys would be the familiar QSettings-like '/' delimited entries,
+        implying a hierarchy of keys and corresponding values
+
+
+        @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
+    */
+    //@{
+    QStringList readListEntry ( QString const & scope, const QString & key, bool * ok = 0 ) const;
+
+    QString readEntry ( QString const & scope, const QString & key, const QString & def = QString::null, bool * ok = 0 ) const;
+    int readNumEntry ( QString const & scope, const QString & key, int def = 0, bool * ok = 0 ) const;
+    double readDoubleEntry ( QString const & scope, const QString & key, double def = 0, bool * ok = 0 ) const;
+    bool readBoolEntry ( QString const & scope, const QString & key, bool def = FALSE, bool * ok = 0 ) const;
+    //@}
+
+
+    /** remove the given key */
+    bool removeEntry ( QString const & scope, const QString & key );
+
+
+    /** return keys with values -- do not return keys that contain other keys
+
+      @note equivalent to QSettings entryList()
+    */
+    QStringList entryList ( QString const & scope, QString const & key ) const;
+
+    /** return keys with keys -- do not return keys that contain only values
+
+      @note equivalent to QSettings subkeyList()
+    */
+    QStringList subkeyList ( QString const & scope, QString const & key ) const;
+
+
+    /** dump out current project properties to stderr 
+
+      @todo XXX Now slightly broken since re-factoring.  Won't print out top-level key
+                and redundantly prints sub-keys.
+    */
+    void dumpProperties() const;
+
+  signals:
+    
+    //! emitted when project is being read
+    void readProject(const QDomDocument &);
+    
+    //! emitted when project is being written
+    void writeProject(QDomDocument &);
+
+private:
+
+    QgsProject(); // private 'cause it's a singleton
+
+    QgsProject( QgsProject const & ); // private 'cause it's a singleton
+
+    struct Imp;
+
+    /// implementation handle
+    std::auto_ptr<Imp> imp_;
+
+    static QgsProject * theProject_;
+
+}; // QgsProject
+
+#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -25,7 +25,7 @@
 #include <QStringList>
 
 
-static const char * const ident_ = "$Id: qgsprojectproperty.cpp 5681 2006-08-10 10:51:04Z g_j_m $";
+static const char * const ident_ = "$Id: qgsprojectproperty.cpp 7059 2007-07-04 15:43:44Z timlinux $";
 
 
 
@@ -296,7 +296,7 @@
               break;
             */
         default :
-            qDebug( "%s:%d unsupported value type %s .. not propertly translated to QVariant in qgsproject.cpp:",
+            qDebug( "%s:%d unsupported value type %s .. not propertly translated to QVariant in qgsproject.cpp",
                     __FILE__, __LINE__, (const char*)typeString.utf8() );
     }
 
@@ -352,18 +352,18 @@
 
 
 QgsPropertyKey::QgsPropertyKey( QString const name )
-    : name_( name )
+    : mName( name )
 {
     // since we own our properties, we are responsible for deleting the
     // contents
-    properties_.setAutoDelete(true);
+    mProperties.setAutoDelete(true);
 }
 
 QVariant QgsPropertyKey::value() const
 {
     QgsProperty * foundQgsProperty;
 
-    if ( 0 == ( foundQgsProperty = properties_.find( name()) ) )
+    if ( 0 == ( foundQgsProperty = mProperties.find(name()) ) )
     {                        // recurse down to next key
         return foundQgsProperty->value();
     } else
@@ -386,9 +386,9 @@
     tabs++;
     tabString.fill( '\t', tabs );
 
-    if ( ! properties_.isEmpty() )
+    if ( ! mProperties.isEmpty() )
     {
-        for (Q3DictIterator < QgsProperty > i(properties_); i.current(); ++i)
+        for (Q3DictIterator < QgsProperty > i(mProperties); i.current(); ++i)
         {
             if ( i.current()->isValue() )
             {
@@ -453,11 +453,11 @@
             subkeys.item(i).isElement() && // and we're an element
             subkeys.item(i).toElement().hasAttribute("type")) // and we have a "type" attribute
         {                   // then we're a key value
-            properties_.replace(subkeys.item(i).nodeName(), new QgsPropertyValue);
+            mProperties.replace(subkeys.item(i).nodeName(), new QgsPropertyValue);
 
             QDomNode subkey = subkeys.item(i);
 
-            if (!properties_[subkeys.item(i).nodeName()]->readXML(subkey))
+            if (!mProperties[subkeys.item(i).nodeName()]->readXML(subkey))
             {
                 qDebug("%s:%d unable to parse key value %s", __FILE__, __LINE__,
                        (const char *) subkeys.item(i).nodeName().utf8());
@@ -469,7 +469,7 @@
 
             QDomNode subkey = subkeys.item(i);
 
-            if (!properties_[subkeys.item(i).nodeName()]->readXML(subkey))
+            if (!mProperties[subkeys.item(i).nodeName()]->readXML(subkey))
             {
                 qDebug("%s:%d unable to parse subkey %s", __FILE__, __LINE__,
                        (const char *) subkeys.item(i).nodeName().utf8());
@@ -494,9 +494,9 @@
 
     QDomElement keyElement = document.createElement(nodeName); // DOM element for this property key
 
-    if ( ! properties_.isEmpty() )
+    if ( ! mProperties.isEmpty() )
     {
-        for (Q3DictIterator < QgsProperty > i(properties_); i.current(); ++i)
+        for (Q3DictIterator < QgsProperty > i(mProperties); i.current(); ++i)
         {
             if (!i.current()->writeXML(i.currentKey(), keyElement, document))
             {
@@ -517,7 +517,7 @@
 void QgsPropertyKey::entryList( QStringList & entries ) const
 {
     // now add any leaf nodes to the entries list
-    for (Q3DictIterator<QgsProperty> i(properties_); i.current(); ++i)
+    for (Q3DictIterator<QgsProperty> i(mProperties); i.current(); ++i)
     {
         // add any of the nodes that have just a single value
         if (i.current()->isLeaf())
@@ -532,7 +532,7 @@
 void QgsPropertyKey::subkeyList(QStringList & entries) const
 {
     // now add any leaf nodes to the entries list
-    for (Q3DictIterator < QgsProperty > i(properties_); i.current(); ++i)
+    for (Q3DictIterator < QgsProperty > i(mProperties); i.current(); ++i)
     {
         // add any of the nodes that have just a single value
         if (!i.current()->isLeaf())
@@ -551,7 +551,7 @@
     }
     else if (1 == count())
     {
-        Q3DictIterator < QgsProperty > i(properties_);
+        Q3DictIterator < QgsProperty > i(mProperties);
 
         if (i.current() && i.current()->isValue())
         {

Modified: packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsprojectproperty.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,7 @@
  *                                                                         *
  ***************************************************************************/
 
-/* $Id: qgsprojectproperty.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsprojectproperty.h 7059 2007-07-04 15:43:44Z timlinux $ */
 
 #ifndef QGSPROJECTPROPERTY_H
 #define QGSPROJECTPROPERTY_H
@@ -46,7 +46,7 @@
    too large and unwieldy, so it's broken out here into separate files.
 
 */
-class QgsProperty
+class CORE_EXPORT QgsProperty
 {
 public:
 
@@ -118,7 +118,7 @@
 
 Contains a QgsPropertyKey's value
 */
-class QgsPropertyValue : public QgsProperty
+class CORE_EXPORT QgsPropertyValue : public QgsProperty
 {
 public:
     QgsPropertyValue()
@@ -186,18 +186,18 @@
 
    Can, itself, contain QgsPropertyKeys and QgsPropertyValues.
 
-   The internal QDict, properties_, maps key names to their respective
+   The internal QDict, mProperties, maps key names to their respective
    QgsPropertyValue or next QgsPropertyKey in the key name sequence.  The key with
    the current name should contain its QgsPropertyValue.
 
    E.g., given the key sequence "/foo/bar", "foo" will have a corresponding
    QgsPropertyKey with a name "foo".  It will contain an element in its
-   properties_ that maps to "bar", which is another QgsPropertyKey.  The "bar"
+   mProperties that maps to "bar", which is another QgsPropertyKey.  The "bar"
    QgsPropertyKey will, in turn, have an element that maps to itself, i.e. "bar",
    that will contain a QgsPropertyValue.
 
 */
-class QgsPropertyKey : public QgsProperty
+class CORE_EXPORT QgsPropertyKey : public QgsProperty
 {
 public:
 
@@ -209,10 +209,10 @@
     /// every key has a name
     // @{
     QString const & name() const
-    { return name_; }
+    { return mName; }
 
     QString & name()
-    { return name_; }
+    { return mName; }
     // @}
 
 
@@ -225,16 +225,16 @@
     /// add the given property key
     QgsPropertyKey * addKey( QString const & keyName )
     {
-        properties_.replace( keyName, new QgsPropertyKey(keyName) );
+        mProperties.replace( keyName, new QgsPropertyKey(keyName) );
 
-        return dynamic_cast<QgsPropertyKey*>(properties_.find( keyName ));
+        return dynamic_cast<QgsPropertyKey*>(mProperties.find( keyName ));
     }
 
 
     /// remove the given key
     bool removeKey( QString const & keyName )
     {
-        return properties_.remove( keyName );
+        return mProperties.remove( keyName );
     }
 
     /** set the value associated with this key
@@ -242,9 +242,9 @@
     */
     QgsPropertyValue * setValue( QString const & name, QVariant const & value )
     {
-        properties_.replace( name, new QgsPropertyValue( value ) );
+        mProperties.replace( name, new QgsPropertyValue( value ) );
 
-        return dynamic_cast<QgsPropertyValue*>(properties_.find( name ));
+        return dynamic_cast<QgsPropertyValue*>(mProperties.find( name ));
     }
 
     /** set the value associated with this key
@@ -267,11 +267,11 @@
 
     /// how many elements are contained within this one?
     size_t count() const
-    { return properties_.count(); }
+    { return mProperties.count(); }
 
     /// Does this property not have any subkeys or values?
     /* virtual */ bool isEmpty() const 
-    { return properties_.isEmpty(); }
+    { return mProperties.isEmpty(); }
 
     /** returns true if is a QgsPropertyKey */ 
     virtual bool isKey() const
@@ -297,28 +297,28 @@
     /// reset the QgsProperty key to prestine state
     virtual void clear()
     {
-        name_ = "";
-        properties_.clear();
+        mName = "";
+        mProperties.clear();
     }
 
     /// delete any sub-nodes
     virtual void clearKeys()
     {
-        properties_.clear();
+        mProperties.clear();
     }
 
     QgsProperty * find( QString & propertyName ) 
     {
-        return properties_.find( propertyName );
+        return mProperties.find( propertyName );
     }
 
 private:
 
     /// every key has a name
-    QString name_;
+    QString mName;
 
     /// sub-keys
-    Q3Dict < QgsProperty > properties_;
+    Q3Dict < QgsProperty > mProperties;
 
 }; // class QgsPropertyKey
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsprovidercountcalcevent.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsprovidercountcalcevent.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsprovidercountcalcevent.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsprovidercountcalcevent.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsprovidercountcalcevent.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPROVIDERCOUNTCALCEVENT_H
 #define QGSPROVIDERCOUNTCALCEVENT_H
@@ -43,7 +43,7 @@
 
 // TODO: Add the pg table this is a count OF.
 
-class QgsProviderCountCalcEvent : public QCustomEvent
+class CORE_EXPORT QgsProviderCountCalcEvent : public QCustomEvent
 {
 
 public:

Modified: packages/qgis/branches/upstream/current/src/core/qgsproviderextentcalcevent.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsproviderextentcalcevent.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsproviderextentcalcevent.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsproviderextentcalcevent.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsproviderextentcalcevent.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPROVIDEREXTENTCALCEVENT_H
 #define QGSPROVIDEREXTENTCALCEVENT_H
@@ -44,7 +44,7 @@
 
 // TODO: Add the pg table this is a extent OF.
 
-class QgsProviderExtentCalcEvent : public QCustomEvent
+class CORE_EXPORT QgsProviderExtentCalcEvent : public QCustomEvent
 {
 
 public:

Modified: packages/qgis/branches/upstream/current/src/core/qgsprovidermetadata.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsprovidermetadata.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsprovidermetadata.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsprovidermetadata.h 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgsprovidermetadata.h 6415 2007-01-09 02:39:15Z wonder $ */
  
 #ifndef QGSPROVIDERMETADATA_H
 #define QGSPROVIDERMETADATA_H
@@ -35,7 +35,7 @@
    library object.
 
  */
-class QgsProviderMetadata
+class CORE_EXPORT QgsProviderMetadata
 {
 public:
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,24 +15,21 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsproviderregistry.cpp 5757 2006-09-03 16:35:41Z mhugent $ */
+ /* $Id: qgsproviderregistry.cpp 6434 2007-01-15 08:29:34Z mhugent $ */
 
 #include "qgsproviderregistry.h"
 
 #include <iostream>
 
-using namespace std;
-
-#include <QMessageBox>
 #include <QString>
 #include <QDir>
 #include <QLibrary>
-#include <QApplication>
 
 
 #include "qgis.h"
 #include "qgsdataprovider.h"
 #include "qgslogger.h"
+#include "qgsmessageoutput.h"
 #include "qgsprovidermetadata.h"
 
 
@@ -90,7 +87,11 @@
                               "No QGIS data provider plugins found in:");
     msg += "\n" + mLibraryDirectory.path() + "\n\n";
     msg += QObject::tr("No vector layers can be loaded. Check your QGIS installation");
-    QMessageBox::critical(0, QObject::tr("No Data Providers"), msg);
+    
+    QgsMessageOutput* output = QgsMessageOutput::createMessageOutput();
+    output->setTitle(QObject::tr("No Data Providers"));
+    output->setMessage(msg, QgsMessageOutput::MessageText);
+    output->showMessage();
   } 
   else
   {
@@ -184,6 +185,10 @@
 #endif
         }
       }
+      else
+      {
+        QgsDebugMsg("Couldn't load " + fi.filePath());
+      }
 
       //++it;
 
@@ -194,7 +199,11 @@
 } // QgsProviderRegistry ctor
 
 
+QgsProviderRegistry::~QgsProviderRegistry()
+{
+}
 
+
 /** convenience function for finding any existing data providers that match "providerKey"
 
   Necessary because [] map operator will create a QgsProviderMetadata
@@ -303,11 +312,6 @@
   // XXX should I check for and possibly delete any pre-existing providers?
   // XXX How often will that scenario occur?
 
-#ifdef QGISDEBUG
-    const char * providerStr = providerKey.ascii(); // debugger probe
-    const char * dataSourceStr = dataSource.ascii(); // ditto
-#endif
-
   // load the plugin
   QString lib = library(providerKey);
 
@@ -390,7 +394,7 @@
   }
   else
   {
-    QgsLogger::warning( "Failed to load ../providers/libproviders.so" );
+    QgsLogger::warning( "Failed to load " + lib );
     delete myLib;
     return 0;
   }
@@ -411,10 +415,27 @@
 } //  QgsProviderRegistry::fileVectorFilters
 
 
+QStringList QgsProviderRegistry::providerList() const
+{
+  QStringList lst;
+  for (Providers::const_iterator it = mProviders.begin(); it != mProviders.end(); it++)
+  {
+    lst.append(it->first);
+  }
+  return lst;
+}
 
 
+const QgsProviderMetadata* QgsProviderRegistry::providerMetadata(const QString& providerKey) const
+{
+  return findMetadata_( mProviders, providerKey );
+}
+
+
+/*
 QgsDataProvider * 
 QgsProviderRegistry::openVector( QString const & dataSource, QString const & providerKey )
 {
     return getProvider( providerKey, dataSource );
 } // QgsProviderRegistry::openVector
+*/

Modified: packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsproviderregistry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,50 +15,62 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgsproviderregistry.h 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgsproviderregistry.h 6415 2007-01-09 02:39:15Z wonder $ */
  
 #ifndef QGSPROVIDERREGISTRY_H
 #define QGSPROVIDERREGISTRY_H
 
 #include <map>
 
-#include <qdir.h>
-#include <qstring.h>
+#include <QDir>
+#include <QString>
 
 
-
 class QgsDataProvider;
 class QgsProviderMetadata;
 
+
+
 /** canonical manager of data providers
 
   This is a Singleton class that manages data provider access.
 */
-class QgsProviderRegistry
+class CORE_EXPORT QgsProviderRegistry
 {
-public:
 
-    /** means of accessing canonical single instance
-     */
+  public:
+
+    /** means of accessing canonical single instance  */
     static QgsProviderRegistry* instance(QString pluginPath = QString::null);
     
-    /** Virtual dtor */
-    virtual ~QgsProviderRegistry() {};
+    /** Virtual dectructor */
+    virtual ~QgsProviderRegistry();
 
+    /** Return path for the library of the provider */
     QString library(QString const & providerKey) const;
 
+    /** Return list of provider plugins found */
     QString pluginList(bool asHtml = false) const;
 
-    /// return library directory where plugins are found
-    QDir const & libraryDirectory() const;
+    /** return library directory where plugins are found */
+    const QDir & libraryDirectory() const;
 
+    /** Set library directory where to search for plugins */
     void setLibraryDirectory(QDir const & path);
  
-    QgsDataProvider * getProvider( QString const & providerKey, 
-                                   QString const & dataSource );
+    /** Create an instance of the provider
+        @param providerKey identificator of the provider
+        @param dataSource  string containing data source for the provider
+        @return instance of provider or NULL on error
+     */
+    QgsDataProvider * getProvider( const QString & providerKey, 
+                                   const QString & dataSource );
+    
+    /** Return list of available providers by their keys */
+    QStringList providerList() const;
 
-    /// type for data provider metadata associative container
-    typedef std::map<QString,QgsProviderMetadata*> Providers;
+    /** Return metadata of the provider or NULL if not found */
+    const QgsProviderMetadata* providerMetadata(const QString& providerKey) const;
 
     /** return vector file filter string
 
@@ -74,7 +86,7 @@
     */
     virtual QString fileVectorFilters() const;
 
-  /** open the given vector data source
+    /** open the given vector data source
   
     Similar to open(QString const &), except that the user specifies a data provider 
     with which to open the data source instead of using the default data provider
@@ -94,23 +106,26 @@
     Eventually would be nice if could make QgsDataManager smart
     enough to figure out whether the given name mapped to a vector,
     raster, or database source.
-  */
-  QgsDataProvider * openVector( QString const & dataSource, QString const & providerKey );
-  
+    */
+    //QgsDataProvider * openVector( QString const & dataSource, QString const & providerKey );
 
 
-private:
+    /** type for data provider metadata associative container */
+    typedef std::map<QString,QgsProviderMetadata*> Providers;
+    
 
+  private:
+
     /** ctor private since instance() creates it */
     QgsProviderRegistry(QString pluginPath);
 
-    /// pointer to canonical Singleton object
+    /** pointer to canonical Singleton object */
     static QgsProviderRegistry* _instance;
 
-    /// associative container of provider metadata handles
+    /** associative container of provider metadata handles */
     Providers mProviders;
 
-    /// directory in which provider plugins are installed
+    /** directory in which provider plugins are installed */
     QDir mLibraryDirectory;
 
     /** file filter string for vector files

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,63 +0,0 @@
-/***************************************************************************
-                         qgsrangerenderitem.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrangerenderitem.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgsrangerenderitem.h"
-
-QgsRangeRenderItem::QgsRangeRenderItem():QgsRenderItem()
-{
-
-}
-
-QgsRangeRenderItem::QgsRangeRenderItem(QgsSymbol* symbol, QString _value, QString u_value, QString _label):QgsRenderItem(symbol, _value, _label),
-m_upper_value(u_value)
-{
-
-}
-
-void QgsRangeRenderItem::setUpperValue(QString value)
-{
-  m_upper_value = value;
-}
-
-const QString & QgsRangeRenderItem::upper_value() const
-{
-  return m_upper_value;
-}
-
-bool QgsRangeRenderItem::writeXML( QDomNode & parent, QDomDocument & document )
-{
-    bool returnval=false;
-    QDomElement rangerenderitem=document.createElement("rangerenderitem");
-    parent.appendChild(rangerenderitem);
-    QDomElement lowervalue=document.createElement("lowervalue");
-    QDomText lowervaluetxt=document.createTextNode(mValue);
-    lowervalue.appendChild(lowervaluetxt);
-    rangerenderitem.appendChild(lowervalue);
-    QDomElement uppervalue=document.createElement("uppervalue");
-    QDomText uppervaluetxt=document.createTextNode(m_upper_value);
-    uppervalue.appendChild(uppervaluetxt);
-    rangerenderitem.appendChild(uppervalue);
-    if(mSymbol)
-    {
-	returnval=mSymbol->writeXML(rangerenderitem,document);
-    }
-    QDomElement label=document.createElement("label");
-    QDomText labeltxt=document.createTextNode(mLabel);
-    label.appendChild(labeltxt);
-    rangerenderitem.appendChild(label);
-    return returnval;
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrangerenderitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-/***************************************************************************
-                         qgsrangerenderitem.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrangerenderitem.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSRANGERENDERITEM_H
-#define QGSRANGERENDERITEM_H
-
-#include "qgsrenderitem.h"
-
-/**A Renderer for ranges of values (e.g. used for graduated colors)*/
-class QgsRangeRenderItem: public QgsRenderItem
-{
- public:
-    QgsRangeRenderItem();
-    QgsRangeRenderItem(QgsSymbol* symbol, QString _value, QString u_value, QString _label);
-    void setUpperValue(QString value);
-    const QString& upper_value() const;
-    /**Writes the contents of the item to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & parent, QDomDocument & document );
- protected:
-    /**Upper value for a range (the lower value is QgsRenderItem::value)*/
-    QString m_upper_value;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,11 +14,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsrasterdataprovider.cpp 5080 2006-03-23 06:16:45Z morb_au $ */
+/* $Id: qgsrasterdataprovider.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include "qgsrasterdataprovider.h"
+#include <iostream>
 
-
 QgsRasterDataProvider::QgsRasterDataProvider()
 {
 }

Modified: packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrasterdataprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,23 +14,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsrasterdataprovider.h 5716 2006-08-21 09:37:02Z morb_au $ */
+/* $Id: qgsrasterdataprovider.h 7169 2007-08-29 05:39:44Z timlinux $ */
 
 /* Thank you to Marco Hugentobler for the original vector DataProvider */
 
 #ifndef QGSRASTERDATAPROVIDER_H
 #define QGSRASTERDATAPROVIDER_H
 
-#include <set>
-#include <map>
-#include <qobject.h>
-#include <qtextcodec.h>
-#include <qimage.h>
 
 #include "qgsdataprovider.h"
-#include "qgspoint.h"
-#include <qgsrasterviewport.h>
 
+class QImage;
+class QgsPoint;
 
 /** Base class for raster data providers
  *
@@ -39,7 +34,7 @@
  *         sense for Raster layers.
  */
  
-class QgsRasterDataProvider : public QgsDataProvider
+class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider
 {
  
   Q_OBJECT
@@ -95,6 +90,12 @@
                           QString const & user,
                           QString const & pass)
     {
+      //this is mainly to prevent compiler warnings
+      if (host.isEmpty() || port < 1 || user.isEmpty() || pass.isEmpty())
+      {
+        return FALSE;
+      }
+
       return FALSE;
     }
 

Modified: packages/qgis/branches/upstream/current/src/core/qgsrect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrect.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsrect.h 5894 2006-09-30 19:53:00Z g_j_m $ */
+/* $Id: qgsrect.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSRECT_H
 #define QGSRECT_H
@@ -32,7 +32,7 @@
  * QgsRect is used to store a rectangle when double values are required. 
  * Examples are storing a layer extent or the current view extent of a map
  */
-class QgsRect
+class CORE_EXPORT QgsRect
 {
  public:
     //! Constructor

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,79 +0,0 @@
-#include "qgslegendvectorsymbologyitem.h"
-#include "qgsrenderer.h"
-#include "qgssymbol.h"
-//Added by qt3to4:
-#include <QPixmap>
-#include <QIcon>
-
-
-QColor QgsRenderer::mSelectionColor=QColor(0,0,0);
-
-QgsRenderer::QgsRenderer()
-{
-
-}
-
-void QgsRenderer::refreshLegend(std::list< std::pair<QString, QPixmap> >* symbologyList) const
-{
-    if(symbologyList)
-    {
-      //add the new items
-      QString lw, uv, label;
-      const std::list<QgsSymbol*> sym = symbols();
-	
-      for(std::list<QgsSymbol*>::const_iterator it=sym.begin(); it!=sym.end(); ++it)
-	{
-	  QPixmap pix;
-	  if((*it)->type() == QGis::Point)
-	    {
-	      pix = (*it)->getPointSymbolAsPixmap();
-	    }
-	  else if((*it)->type() == QGis::Line)
-	    {
-	      pix = (*it)->getLineSymbolAsPixmap();
-	    }
-	  else //polygon
-	    {
-	      pix = (*it)->getPolygonSymbolAsPixmap();
-	    }
- 
-	  QString values;
-	  lw = (*it)->lowerValue();
-	  if(!lw.isEmpty())
-	    {
-	      values += lw;
-	    }
-	  uv = (*it)->upperValue();
-	  if(!uv.isEmpty())
-	    {
-	      values += " - ";
-	      values += uv;
-	    }
-	  label = (*it)->label();
-	  if(!label.isEmpty())
-	    {
-	      values += " ";
-	      values += label;
-	    }
-	  symbologyList->push_back(std::make_pair(values, pix));
-	}
-    }
-}
-
-bool QgsRenderer::containsPixmap() const
-{
-  //default implementation returns true only for points
-  switch(mVectorType)
-    {
-    case QGis::Point:
-       return true;
-    default:
-      return false;
-    }
-}
-
-bool QgsRenderer::willRenderFeature(QgsFeature *f) 
-{
-  // Normally render the feature, unless told otherwise
-  return true;
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrenderer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,102 +0,0 @@
-/***************************************************************************
-                         qgsrenderer.h  -  description
-                             -------------------
-    begin                : Sat Jan 4 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrenderer.h 6502 2007-02-03 11:10:48Z mhugent $ */
-#ifndef QGSRENDERER_H
-#define QGSRENDERER_H
-
-class QgsFeature;
-class QgsMapToPixel;
-class QgsVectorLayer;
-class QPainter;
-class QgsDlgVectorLayerProperties;
-class QPixmap;
-class QDomNode;
-class QColor;
-
-#include <fstream>
-#include <list>
-#include <QTreeWidgetItem>
-#include <qstring.h>
-#include <qdom.h>
-
-#include "qgis.h"
-#include "qgsproject.h"
-#include <qcolor.h>
-
-class QgsRenderItem;
-class QgsSymbol;
-
-/**Abstract base class for renderers. A renderer holds all the information necessary to draw the contents of a vector layer to a map canvas. The vector layer then passes each feature to paint to the renderer*/
-class QgsRenderer
-{
- public:
-    /** Default ctor sets up selection colour from project properties */
-    QgsRenderer();
-    /** Virtual destructor because we have virtual methods... */
-    virtual ~QgsRenderer() {};
-    /** Determines if a feature will be rendered or not 
-	@param f a pointer to the feature to determine if rendering will happen*/
-    virtual bool willRenderFeature(QgsFeature *f); 
-    /**A vector layer passes features to a renderer object to change the brush and pen of the qpainter
-     @param p the painter storing brush and pen
-     @param f a pointer to the feature to be rendered
-     @param pic pointer to a marker from SVG (is only used by marker renderers)
-     @param scalefactor pointer to the scale factor for the marker image*/
-    virtual void renderFeature(QPainter* p, QgsFeature* f,QPixmap* pic, double* scalefactor, bool selected, double widthScale = 1.)=0;
-    /**Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-     @param vl the vector layer which will be associated with the renderer*/
-    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl)=0;
-    /**Writes the contents of the renderer to a configuration file*/
-    // virtual void writeXML(std::ostream& xml)=0;
-    /**Writes the contents of the renderer to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const=0;
-    /** Returns true, if attribute values are used by the renderer and false otherwise*/
-    virtual bool needsAttributes() const=0;
-    /**Returns a list with indexes of classification attributes*/
-    virtual std::list<int> classificationAttributes() const=0;
-    /**Returns the renderers name*/
-    virtual QString name() const=0;    
-    /** Set up the selection color by reading approriate values from project props */
-    void initialiseSelectionColor();
-    /**Return symbology items*/
-    virtual const std::list<QgsSymbol*> symbols() const=0;
-    /**Deletes the child items of the legendparent and add new ones according to the 
-     QgsSymbols contained in this renderer*/
-    virtual void refreshLegend(std::list< std::pair<QString, QPixmap> >* symbologyList) const;
-    /**Returns a copy of the renderer (a deep copy on the heap)*/
-    virtual QgsRenderer* clone() const=0;
-    /**Returns true if this renderer returns a pixmap in the render method (e.g. for point data or diagrams)*/
-    virtual bool containsPixmap() const;
-    /**Color to draw selected features - static so we can change it in proj props and automatically 
-       all renderers are updated*/
-    static QColor mSelectionColor;
-   
- protected:
-    /**Layer type*/
-    QGis::VectorType mVectorType;
-};
-
-inline void QgsRenderer::initialiseSelectionColor()
-{
-    int myRedInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorRedPart",255);
-    int myGreenInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorGreenPart",255);
-    int myBlueInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorBluePart",0);
-    mSelectionColor = QColor(myRedInt,myGreenInt,myBlueInt);
-}
-#endif // QGSRENDERER_H

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrenderitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrenderitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrenderitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,86 +0,0 @@
-/***************************************************************************
-                         qgsrenderer.cpp  -  description
-                             -------------------
-    begin                : Sat Jan 4 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrenderitem.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include <qstring.h>
-#include <cassert>
-#include "qgsrenderitem.h"
-
-QgsRenderItem::QgsRenderItem(): mSymbol(new QgsSymbol())
-{
-}
-
-QgsRenderItem::~QgsRenderItem()
-{
-    delete mSymbol;
-}
-
-QgsRenderItem::QgsRenderItem(QgsSymbol* symbol, QString _value, QString _label):
-    mSymbol(symbol),mValue(_value), mLabel(_label)
-{
-}
-
-void QgsRenderItem::setLabel(QString label)
-{
-  mLabel = label;
-}
-
-void QgsRenderItem::setSymbol(QgsSymbol s)
-{
-    (*mSymbol) = s;
-}
-
-const QString & QgsRenderItem::label() const
-{
-  return mLabel;
-}
-
-void QgsRenderItem::setSymbol(QgsSymbol* s)
-{
-    delete mSymbol;
-    mSymbol=s;
-}
-
-void QgsRenderItem::setValue(QString value)
-{
-    mValue=value;
-}
-
-QgsSymbol* QgsRenderItem::getSymbol()
-{
-  assert(this != 0);
-    return mSymbol;
-}
-
-bool QgsRenderItem::writeXML( QDomNode & parent, QDomDocument & document )
-{
-    bool returnval=false;
-    QDomElement renderitem=document.createElement("renderitem");
-    parent.appendChild(renderitem);
-    QDomElement value=document.createElement("value");
-    QDomText valuetxt=document.createTextNode(mValue);
-    value.appendChild(valuetxt);
-    renderitem.appendChild(value);
-    if(mSymbol)
-    {
-	returnval=mSymbol->writeXML(renderitem,document);
-    }
-    QDomElement label=document.createElement("label");
-    QDomText labeltxt=document.createTextNode(mLabel);
-    label.appendChild(labeltxt);
-    renderitem.appendChild(label);
-    return returnval;
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgsrenderitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrenderitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsrenderitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,78 +0,0 @@
-/***************************************************************************
-                         qgsrenderer.h  -  description
-                             -------------------
-    begin                : Sat Jan 4 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrenderitem.h 4502 2006-01-08 01:18:20Z timlinux $ */
-#ifndef QGSRENDERITEM_H
-#define QGSRENDERITEM_H
-#include <map>
-#include "qgssymbol.h"
-
-class QgsSymbol;
-class QString;
-
-
-/**A renderitem contains a symbol together with the attribute value for which it is valid and a label*/
-class QgsRenderItem {
- protected:
-    /**Symbol to use in rendering the class*/
-    QgsSymbol* mSymbol;
-    /**Value of the field*/
-    QString mValue;
-    /**Label to use when rendering (may be same as value of field)*/
-    QString mLabel;
- public:
-    /**Default Constructor*/
-    QgsRenderItem();
-     /** Constructor
-    * @param symbol Symbol to use for rendering matching features. It needs to be constructed using the new-operator and is automatically deleted by QgsRenderItem
-    * @param _value Value of the field
-    * @param _label Label to use in the legend
-    */
-    QgsRenderItem(QgsSymbol* symbol, QString _value, QString _label);
-    /**Destructor*/
-    virtual ~QgsRenderItem();
-    /** Gets the symbol associated with this render item
-     * @return QgsSymbol pointer
-     */
-    QgsSymbol* getSymbol();
-    /** Sets the label for the item
-     * @param label the string used as label
-     */
-    void setLabel(QString label);
-    /** Sets the symbol associated with this render item. The symbol is copied.
-     * @param s Symbol
-     */
-    void setSymbol(QgsSymbol s);
-    /** Sets a symbol object, which is allocated on the heap. QgsRenderItem automatically deletes it*/
-    void setSymbol(QgsSymbol* s);
-    void setValue(QString value);
-    /**Returns the label*/
-    const QString& label() const;
-    /**Returns the value of the field*/
-    const QString& value() const; 
-    /**Writes the contents of the item to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & parent, QDomDocument & document );
-};
-
-
-inline const QString& QgsRenderItem::value() const
-{
-    return mValue;
-}
-
-#endif // QGSRENDERITEM_H
-

Added: packages/qgis/branches/upstream/current/src/core/qgsrunprocess.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrunprocess.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsrunprocess.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,154 @@
+/***************************************************************************
+                          qgsrunprocess.cpp
+
+ A class that runs an external program
+
+                             -------------------
+    begin                : Jan 2005
+    copyright            : (C) 2005 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrunprocess.cpp 7110 2007-07-28 22:48:43Z g_j_m $ */
+
+#include "qgsrunprocess.h"
+
+#include "qgslogger.h"
+#include "qgsmessageoutput.h"
+#include <QProcess>
+
+QgsRunProcess::QgsRunProcess(const QString& action, bool capture)
+  : mProcess(NULL), mOutput(NULL)
+{
+  // Make up a string from the command and arguments that we'll use
+  // for display purposes
+  QgsDebugMsg("Running command: " + action);
+  
+  mCommand = action;
+
+  mProcess = new QProcess;
+
+  if (capture)
+  {
+    connect(mProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError(QProcess::ProcessError)));
+    connect(mProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(stdoutAvailable()));
+    connect(mProcess, SIGNAL(readyReadStandardError()), this, SLOT(stderrAvailable()));
+    // We only care if the process has finished if we are capturing
+    // the output from the process, hence this connect() call is
+    // inside the capture if() statement.
+    connect(mProcess, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processExit(int,QProcess::ExitStatus)));
+  }
+
+  // start the process!
+  mProcess->start(action);
+  
+  if (capture)
+  {
+    // Use QgsMessageOutput for displaying output to user
+    // It will delete itself when the dialog box is closed.
+    mOutput = QgsMessageOutput::createMessageOutput();
+    mOutput->setTitle(action);
+    mOutput->setMessage( "<b>" + tr("Starting") + " " + action + "...</b>",
+                         QgsMessageOutput::MessageHtml);
+    mOutput->showMessage(false); // non-blocking
+  
+    // get notification of delete if it's derived from QObject
+    QObject* mOutputObj = dynamic_cast<QObject*>(mOutput);
+    if (mOutputObj)
+    {
+      connect(mOutputObj, SIGNAL(destroyed()), this, SLOT(dialogGone()));
+    }
+  }
+  else
+  {
+    // We're not capturing the output from the process, so we don't
+    // need to exist anymore.
+    die();
+  }
+}
+
+QgsRunProcess::~QgsRunProcess() 
+{ 
+  delete mProcess; 
+}
+
+void QgsRunProcess::die()
+{
+  delete this;
+}
+
+void QgsRunProcess::stdoutAvailable()
+{
+  QString line(mProcess->readAllStandardOutput());
+  
+  // Add the new output to the dialog box
+  mOutput->appendMessage(line);
+}
+
+void QgsRunProcess::stderrAvailable()
+{
+  QString line(mProcess->readAllStandardError());
+  
+  // Add the new output to the dialog box, but colour it red
+  mOutput->appendMessage("<font color=red>" + line + "</font>");
+}
+
+void QgsRunProcess::processExit(int, QProcess::ExitStatus)
+{
+  // Because we catch the dialog box going (the dialogGone()
+  // function), and delete this instance, control will only pass to
+  // this function if the dialog box still exists when the process
+  // exits, so it's always safe to use the pointer to the dialog box
+  // (unless it was never created in the first case, which is what the
+  // test against 0 is for).
+
+  if (mOutput != 0)
+  {
+    mOutput->appendMessage( "<b>" + tr("Done") + "</b>" );
+  }
+
+  // Since the dialog box takes care of deleting itself, and the
+  // process has gone, there's no need for this instance to stay
+  // around, so we disappear too.
+  die();
+}
+
+void QgsRunProcess::dialogGone()
+{
+  // The dialog has gone, so the user is no longer interested in the
+  // output from the process. Since the process will run happily
+  // without the QProcess object, this instance and its data can then
+  // go too, but disconnect the signals to prevent further functions in this
+  // class being called after it has been deleted (Qt seems not to be
+  // disconnecting them itself)
+
+  disconnect(mProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError(QProcess::ProcessError)));
+ disconnect(mProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(stdoutAvailable()));
+ disconnect(mProcess, SIGNAL(readyReadStandardError()), this, SLOT(stderrAvailable()));
+  disconnect(mProcess, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processExit(int,QProcess::ExitStatus)));
+
+  die();
+}
+
+void QgsRunProcess::processError(QProcess::ProcessError err)
+{
+  if (err == QProcess::FailedToStart)
+  {
+    QgsMessageOutput* output = QgsMessageOutput::createMessageOutput();
+    output->setMessage( tr("Unable to run command") + mCommand, QgsMessageOutput::MessageText);
+    // Didn't work, so no need to hang around
+    die();
+  }
+  else
+  {
+    QgsDebugMsg("Got error: " + QString("%d").arg(err));
+  }
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsrunprocess.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsrunprocess.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsrunprocess.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,68 @@
+/***************************************************************************
+                          qgsrunprocess.h 
+
+ A class that runs an external program
+
+                             -------------------
+    begin                : Jan 2005
+    copyright            : (C) 2005 by Gavin Macaulay
+    email                : gavin at macaulay dot co dot nz
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrunprocess.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSRUNPROCESS_H
+#define QGSRUNPROCESS_H
+
+#include <QObject>
+#include <QProcess>
+
+class QgsMessageOutput;
+
+/* A class than executes an external program/script, etc and
+ * optionally captures the standard output and error from the
+ * process and displays them in a dialog box.
+ */
+class CORE_EXPORT QgsRunProcess: public QObject
+{
+  Q_OBJECT
+
+ public:
+  // This class deletes itself, so to ensure that it is only created
+  // using new, the Named Consturctor Idiom is used, and one needs to
+  // use the create() static function to get an instance of this class.
+
+  // The action argument contains string with the command.
+  // If capture is true, the standard output and error from the process
+  // will be sent to QgsMessageOuptut - usually a dialog box.
+  static QgsRunProcess* create(const QString& action, bool capture)
+    { return new QgsRunProcess(action, capture); }
+
+ public slots:
+  void stdoutAvailable();
+  void stderrAvailable();
+  void processError(QProcess::ProcessError);
+  void processExit(int,QProcess::ExitStatus);
+  void dialogGone();
+
+ private:
+  QgsRunProcess(const QString& action, bool capture);
+  ~QgsRunProcess();
+
+  // Deletes the instance of the class
+  void die();
+
+  QProcess* mProcess;
+  QgsMessageOutput* mOutput;
+  QString mCommand;
+};
+
+#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsscalecalculator.cpp 5296 2006-04-17 10:56:22Z g_j_m $ */
+/* $Id: qgsscalecalculator.cpp 7059 2007-07-04 15:43:44Z timlinux $ */
 
 #include <assert.h>
 #include <math.h>
@@ -41,10 +41,15 @@
   mMapUnits = mapUnits;
 }
 
+QGis::units QgsScaleCalculator::mapUnits() const
+{
+  return mMapUnits;
+}
+
 double QgsScaleCalculator::calculate(QgsRect &mapExtent, int canvasWidth)
 {
-  double conversionFactor; 
-  double delta;
+  double conversionFactor = 0; 
+  double delta = 0;
   // calculation is based on the map units and extent, the dpi of the
   // users display, and the canvas width
   switch(mMapUnits)
@@ -68,6 +73,11 @@
       break; 
   }
   QgsDebugMsg("Using conversionFactor of " + QString::number(conversionFactor));
+  if (canvasWidth == 0 || mDpi == 0)
+  {
+    QgsDebugMsg("Can't calculate scale from the input values");
+    return 0;
+  }
   double scale = (delta * conversionFactor)/(canvasWidth/mDpi);
   return scale;
 }
@@ -104,8 +114,8 @@
   double a = pow(cos(lat * rads), 2);
   double c = 2.0 * atan2(sqrt(a), sqrt(1.0-a));
   const static double ra = 6378000; // [m]
-  const static double rb = 6357000; // [m]
-  // The eccentricity. This comes from sqrt(1.0 - rb*rb/(ra*ra));
+  // The eccentricity. This comes from sqrt(1.0 - rb*rb/(ra*ra)) with rb set
+  // to 6357000 m.
   const static double e = 0.0810820288;
   double radius = ra * (1.0 - e*e) / 
     pow(1.0 - e*e*sin(lat*rads)*sin(lat*rads), 1.5);

Modified: packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsscalecalculator.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsscalecalculator.h 4502 2006-01-08 01:18:20Z timlinux $ */
+/* $Id: qgsscalecalculator.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSSCALECALCULATOR_H
 #define QGSSCALECALCULATOR_H
@@ -30,7 +30,7 @@
  * \brief Calculates scale for a given combination of canvas size, map extent,
  * and monitor dpi.
  */
-class QgsScaleCalculator
+class CORE_EXPORT QgsScaleCalculator
 {
   public:
 
@@ -58,6 +58,9 @@
      */
     void setMapUnits(QGis::units mapUnits);
 
+    /** Returns current map units */
+    QGis::units mapUnits() const;
+    
     /**
      * Calculate the scale
      * @param mapExtent QgsRect containing the current map extent

Modified: packages/qgis/branches/upstream/current/src/core/qgssearchstring.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssearchstring.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssearchstring.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgssearchstring.h 5034 2006-03-16 09:48:59Z wonder $ */
+ /* $Id: qgssearchstring.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSSEARCHSTRING_H
 #define QGSSEARCHSTRING_H
@@ -33,7 +33,7 @@
  * - keeps string and node tree always in sync
  *
  */
-class QgsSearchString
+class CORE_EXPORT QgsSearchString
 {
 public:
   //! constructor

Modified: packages/qgis/branches/upstream/current/src/core/qgssearchstringlexer.ll
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssearchstringlexer.ll	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssearchstringlexer.ll	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgssearchstringlexer.ll 5939 2006-10-12 16:24:55Z wonder $ */
+ /* $Id: qgssearchstringlexer.ll 6415 2007-01-09 02:39:15Z wonder $ */
  
 %option noyywrap
 %option case-insensitive
@@ -28,8 +28,12 @@
 #include <stdlib.h>  // atof()
   
 #include "qgssearchtreenode.h"
-#include "qgssearchstringparser.h"
+#include "qgssearchstringparser.hpp"
 
+// if not defined, searches for isatty()
+// which doesn't in MSVC compiler
+#define YY_NEVER_INTERACTIVE 1
+
 %}
 
 white       [ \t\r\n]+

Modified: packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,12 +15,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgssearchtreenode.cpp 5939 2006-10-12 16:24:55Z wonder $ */
+ /* $Id: qgssearchtreenode.cpp 6833 2007-03-24 22:40:10Z wonder $ */
 
 #include "qgslogger.h"
+#include "qgsfield.h"
 #include "qgssearchtreenode.h"
-#include <qregexp.h>
-#include <qobject.h>
+#include <QRegExp>
+#include <QObject>
 #include <iostream>
 
 
@@ -180,7 +181,7 @@
 }
 
 
-bool QgsSearchTreeNode::checkAgainst(const std::vector<QgsFeatureAttribute>& attributes)
+bool QgsSearchTreeNode::checkAgainst(const QgsFieldMap& fields, const QgsAttributeMap& attributes)
 {
   QgsDebugMsgLevel("checkAgainst: " + makeSearchString(), 2);
 
@@ -199,17 +200,17 @@
   switch (mOp)
   {
     case opNOT:
-      return !mLeft->checkAgainst(attributes);
+      return !mLeft->checkAgainst(fields, attributes);
     
     case opAND:
-      if (!mLeft->checkAgainst(attributes))
+      if (!mLeft->checkAgainst(fields, attributes))
         return false;
-      return mRight->checkAgainst(attributes);
+      return mRight->checkAgainst(fields, attributes);
     
     case opOR:
-      if (mLeft->checkAgainst(attributes))
+      if (mLeft->checkAgainst(fields, attributes))
         return true;
-      return mRight->checkAgainst(attributes);
+      return mRight->checkAgainst(fields, attributes);
 
     case opEQ:
     case opNE:
@@ -218,7 +219,7 @@
     case opGE:
     case opLE:
         
-      if (!getValue(value1, mLeft, attributes) || !getValue(value2, mRight, attributes))
+      if (!getValue(value1, mLeft, fields, attributes) || !getValue(value2, mRight, fields, attributes))
             return false;
         
       res = QgsSearchTreeValue::compare(value1, value2);
@@ -239,7 +240,7 @@
     case opRegexp:
     case opLike:
     {
-      if (!getValue(value1, mLeft, attributes) || !getValue(value2, mRight, attributes))
+      if (!getValue(value1, mLeft, fields, attributes) || !getValue(value2, mRight, fields, attributes))
         return false;
       
       // value1 is string to be matched
@@ -249,7 +250,7 @@
       // in what format should they be?
       if (value1.isNumeric() || value2.isNumeric())
       {
-        mError = QObject::tr("Regular expressions on numeric values don't make sense. Use comparison insted.");
+        mError = QObject::tr("Regular expressions on numeric values don't make sense. Use comparison instead.");
         return false;
       }
       
@@ -277,9 +278,9 @@
   return false; // will never get there
 }
 
-bool QgsSearchTreeNode::getValue(QgsSearchTreeValue& value, QgsSearchTreeNode* node, const std::vector<QgsFeatureAttribute>& attributes)
+bool QgsSearchTreeNode::getValue(QgsSearchTreeValue& value, QgsSearchTreeNode* node, const QgsFieldMap& fields, const QgsAttributeMap& attributes)
 {
-  value = node->valueAgainst(attributes);
+  value = node->valueAgainst(fields, attributes);
   if (value.isError())
   {
     switch ((int)value.number())
@@ -310,7 +311,7 @@
   return true;
 }
 
-QgsSearchTreeValue QgsSearchTreeNode::valueAgainst(const std::vector<QgsFeatureAttribute>& attributes)
+QgsSearchTreeValue QgsSearchTreeNode::valueAgainst(const QgsFieldMap& fields, const QgsAttributeMap& attributes)
 {
   QgsDebugMsgLevel("valueAgainst: " + makeSearchString(), 2);
 
@@ -328,37 +329,42 @@
     case tColumnRef:
     {
       QgsDebugMsgLevel("column (" + mText.lower() + "): ", 2);
-      // find value for the column
-      std::vector<QgsFeatureAttribute>::const_iterator it;
-      for (it = attributes.begin(); it != attributes.end(); it++)
+      // find field index for the column
+      QgsFieldMap::const_iterator it;
+      for (it = fields.begin(); it != fields.end(); it++)
       {
-        if ( (*it).fieldName().lower() == mText.lower()) // TODO: optimize
-        {
-          QString value = (*it).fieldValue();
-          if ((*it).isNumeric())
-          {
-            QgsDebugMsgLevel("   number: " + QString::number(value.toDouble()), 2);
-            return QgsSearchTreeValue(value.toDouble());
-          }
-          else
-          {
-            QgsDebugMsgLevel("   text: " + EVAL_STR(value), 2);
-            return QgsSearchTreeValue(value);
-          }
-        }
+        if ( it->name().lower() == mText.lower()) // TODO: optimize
+          break;
       }
-          
-      // else report missing column
-      QgsDebugMsgLevel("ERROR!", 2);
-      return QgsSearchTreeValue(1, mText);
+      
+      if (it == fields.end())
+      {
+        // report missing column if not found
+        QgsDebugMsgLevel("ERROR!", 2);
+        return QgsSearchTreeValue(1, mText);
+      }
+      
+      // get the value
+      QVariant val = attributes[it.key()];
+      if (val.type() == QVariant::Bool || val.type() == QVariant::Int || val.type() == QVariant::Double)
+      {
+        QgsDebugMsgLevel("   number: " + QString::number(val.toDouble()), 2);
+        return QgsSearchTreeValue(val.toDouble());
+      }
+      else
+      {
+        QgsDebugMsgLevel("   text: " + EVAL_STR(val.toString()), 2);
+        return QgsSearchTreeValue(val.toString());
+      }
+
     }
     
     // arithmetic operators
     case tOperator:
       {
         QgsSearchTreeValue value1, value2;
-        if (!getValue(value1, mLeft,  attributes)) return value1;
-        if (!getValue(value2, mRight, attributes)) return value2;
+        if (!getValue(value1, mLeft, fields, attributes)) return value1;
+        if (!getValue(value2, mRight, fields, attributes)) return value2;
         
         // convert to numbers if needed
         double val1, val2;
@@ -395,7 +401,7 @@
 }
 
 
-int QgsSearchTreeValue::compare(QgsSearchTreeValue& value1, QgsSearchTreeValue& value2)
+int QgsSearchTreeValue::compare(QgsSearchTreeValue& value1, QgsSearchTreeValue& value2, Qt::CaseSensitivity cs)
 {
   if (value1.isNumeric() || value2.isNumeric())
   {
@@ -424,6 +430,6 @@
   else
   {
     // string comparison
-    return value1.string().compare(value2.string());
+    return value1.string().compare(value2.string(), cs);
   }
 }

Modified: packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssearchtreenode.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,20 +15,21 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgssearchtreenode.h 4502 2006-01-08 01:18:20Z timlinux $ */
+ /* $Id: qgssearchtreenode.h 6833 2007-03-24 22:40:10Z wonder $ */
 
 #ifndef QGSSEARCHTREENODE_H
 #define QGSSEARCHTREENODE_H
 
-#include <qstring.h>
-#include <vector>
-#include "qgsfeatureattribute.h"
+#include <QMap>
+#include <QString>
+#include <QVariant>
 
-// forward declaration due recursive declaration
-class QgsFeatureAttribute;
-
 class QgsSearchTreeValue;
+class QgsField;
 
+typedef QMap<int, QgsField> QgsFieldMap;
+typedef QMap<int, QVariant> QgsAttributeMap;
+
 /**
  * QgsSearchTreeNode
  *
@@ -36,7 +37,7 @@
  * node is terminal (has no children) if it's a number, column ref or string
  * non-terminal is only node with operator - with 1 or 2 children
  */
-class QgsSearchTreeNode
+class CORE_EXPORT QgsSearchTreeNode
 {
 public:
 
@@ -71,7 +72,7 @@
       opGE,   // >=
       opLE,   // <=
       opRegexp, // ~
-      opLike, // LIKE
+      opLike  // LIKE
     };
 
     //! constructors
@@ -110,7 +111,7 @@
     QString makeSearchString();
 
     //! checks whether the node tree is valid against supplied attributes
-    bool checkAgainst(const std::vector<QgsFeatureAttribute>& attributes);
+    bool checkAgainst(const QgsFieldMap& fields, const QgsAttributeMap& attributes);
     
     //! checks if there were errors during evaluation
     bool hasError() { return (!mError.isEmpty()); }
@@ -121,11 +122,11 @@
 protected:
 
     //! returns scalar value of node
-    QgsSearchTreeValue valueAgainst(const std::vector<QgsFeatureAttribute>& attributes);
+    QgsSearchTreeValue valueAgainst(const QgsFieldMap& fields, const QgsAttributeMap& attributes);
     
     //! wrapper around valueAgainst()
     bool getValue(QgsSearchTreeValue& value, QgsSearchTreeNode* node,
-                  const std::vector<QgsFeatureAttribute>& attributes);
+                  const QgsFieldMap& fields, const QgsAttributeMap& attributes);
 
     //! strips mText when node is of string type
     void stripText();
@@ -164,7 +165,8 @@
   QgsSearchTreeValue(double number) { mType = valNumber; mNumber = number; }
   QgsSearchTreeValue(int error, QString errorMsg) { mType = valError; mNumber = error; mString = errorMsg; }
 
-  static int compare(QgsSearchTreeValue& value1, QgsSearchTreeValue& value2);
+  static int compare(QgsSearchTreeValue& value1, QgsSearchTreeValue& value2,
+                     Qt::CaseSensitivity = Qt::CaseSensitive);
 
   bool isNumeric() { return mType == valNumber; }
   bool isError() { return mType == valError; }

Added: packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1328 @@
+/***************************************************************************
+                          qgsspatialrefsys.cpp
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgsspatialrefsys.h"
+
+#include <cmath>
+
+#include <QDir>
+#include <QDomNode>
+#include <QDomElement>
+#include <QFileInfo>
+#include <QRegExp>
+
+#include "qgsapplication.h"
+#include "qgslogger.h"
+#include "qgsmessageoutput.h"
+#include "qgis.h" //const vals declared here
+
+#include <sqlite3.h>
+
+//gdal and ogr includes (needed for == operator)
+#include <ogr_api.h>
+#include <ogr_spatialref.h>
+#include <cpl_error.h>
+#include <cpl_conv.h>
+
+CUSTOM_SRS_VALIDATION QgsSpatialRefSys::mCustomSrsValidation = NULL;
+
+//--------------------------
+
+QgsSpatialRefSys::QgsSpatialRefSys()
+  : mMapUnits(QGis::UNKNOWN),
+    mIsValidFlag(0)
+{
+  // NOOP
+}
+
+QgsSpatialRefSys::QgsSpatialRefSys(QString theWkt)
+  : mMapUnits(QGis::UNKNOWN),
+    mIsValidFlag(0)
+{
+  createFromWkt(theWkt);
+}
+
+
+QgsSpatialRefSys::QgsSpatialRefSys(const long theId, SRS_TYPE theType)
+  : mMapUnits(QGis::UNKNOWN),
+    mIsValidFlag(0)
+{
+  createFromId(theId, theType);
+}
+
+void QgsSpatialRefSys::createFromId(const long theId, SRS_TYPE theType)
+{
+  switch (theType)
+  {
+  case QGIS_SRSID:
+    createFromSrsId(theId);
+    break;
+  case POSTGIS_SRID:
+    createFromSrid(theId);
+    break;
+  case EPSG:
+    createFromEpsg(theId);
+    break;
+  default:
+    //THIS IS BAD...THIS PART OF CODE SHOULD NEVER BE REACHED...
+    QgsLogger::critical("Unexpected case reached in " + QString(__FILE__) + " : " + QString(__LINE__));
+  };
+
+}
+
+
+bool QgsSpatialRefSys::createFromOgcWmsCrs(QString theCrs)
+{
+  QStringList parts = theCrs.split(":");
+
+  if (parts.at(0) == "EPSG")
+  {
+    createFromEpsg( parts.at(1).toLong() );
+  }
+  else if (parts.at(0) == "CRS")
+  {
+    if (parts.at(1) == "84")
+    {
+      //! \todo - CRS:84 is hardcoded to EPSG:4326 - see if this is appropriate
+      /**
+       *  See WMS 1.3 standard appendix B3 for details
+       */
+      createFromEpsg( 4326 );
+    }
+  }
+  else
+  {
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+
+// Assignment operator
+QgsSpatialRefSys& QgsSpatialRefSys::operator=(const QgsSpatialRefSys& srs)
+{
+  if (&srs != this)
+  {
+    mSrsId = srs.mSrsId;
+    mDescription = srs.mDescription;
+    mProjectionAcronym = srs.mProjectionAcronym;
+    mEllipsoidAcronym = srs.mEllipsoidAcronym;
+    mProj4String = srs.mProj4String;
+    mGeoFlag = srs.mGeoFlag;
+    mMapUnits = srs.mMapUnits;
+    mSRID = srs.mSRID;
+    mEpsg = srs.mEpsg;
+    mIsValidFlag = srs.mIsValidFlag;
+  }
+  return *this;
+}
+
+// Misc helper functions -----------------------
+
+
+void QgsSpatialRefSys::validate()
+{
+  QgsDebugMsg("QgsSpatialRefSys::validate");
+  //dont bother trying to do an initial test with gdal if
+  //the proj4String is not even populated
+  if (QString::null!=mProj4String && !mProj4String.isEmpty())
+  {
+    //first of all use gdal to test if this is an ok srs already
+    //if not we will prompt the user for and srs
+    //then retest using gdal
+    //if the retest fails we will then set  this srs to the GEOCS/WGS84 default
+    QgsDebugMsg("Use GDAL to vaildate");
+
+    /* Here are the possible OGR error codes :
+       typedef int OGRErr;
+
+       #define OGRERR_NONE                0
+       #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize
+       #define OGRERR_NOT_ENOUGH_MEMORY   2
+       #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
+       #define OGRERR_UNSUPPORTED_OPERATION 4
+       #define OGRERR_CORRUPT_DATA        5
+       #define OGRERR_FAILURE             6
+       #define OGRERR_UNSUPPORTED_SRS     7 */
+
+    //get the wkt into ogr
+    //this is really ugly but we need to get a QString to a char**
+    const char *mySourceCharArrayPointer = mProj4String.latin1();
+    //create the sr and populate it from a wkt proj definition
+    OGRSpatialReference myOgrSpatialRef;
+    OGRErr myInputResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
+
+    if (myInputResult==OGRERR_NONE)
+    {
+      //srs is valid so nothing more to do...
+      createFromProj4(mProj4String);
+      return;
+    }
+  }
+
+  // try to validate using custom validation routines
+  if (mCustomSrsValidation)
+    mCustomSrsValidation(this);
+
+  //
+  // This is the second check after the user assigned SRS has been retrieved
+  // If it still does not work, we will simply use the QgsSpatialRefSys const GEOPROJ4 for the job
+  //
+
+  //this is really ugly but we need to get a QString to a char**
+  const char *mySourceCharArrayPointer = mProj4String.latin1();
+  //create the sr and populate it from a wkt proj definition
+  OGRSpatialReference myOgrSpatialRef;
+  OGRErr myInputResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
+
+  if (! myInputResult==OGRERR_NONE)
+  {
+    //default to proj 4..if all else fails we will use that for this srs
+    mProj4String = GEOPROJ4;
+  }
+  createFromProj4(mProj4String);  
+
+}
+
+bool QgsSpatialRefSys::createFromSrid(long theSrid)
+{
+  QgsDebugMsg("QgsSpatialRefSys::createFromSrid");
+
+  // Get the full path name to the sqlite3 spatial reference database.
+  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
+
+  QFileInfo myInfo (myDatabaseFileName);
+  if (!myInfo.exists())
+  {
+    QgsDebugMsg("QgsSpatialRefSys::createFromSrid failed : " + myDatabaseFileName + 
+        " does not exist!");
+    return false;
+  }
+
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+      return false;
+  }
+
+  /*
+    srs_id INTEGER PRIMARY KEY,
+    description text NOT NULL,
+    projection_acronym text NOT NULL,
+    ellipsoid_acronym NOT NULL,
+    parameters text NOT NULL,
+    srid integer NOT NULL,
+    epsg integer NOT NULL,
+    is_geo integer NOT NULL);
+  */
+
+  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where srid='" + QString::number(theSrid) + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+  {
+    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
+    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
+    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
+    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
+    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
+    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
+    mGeoFlag = (geo == 0 ? false : true);
+    setMapUnits();
+    mIsValidFlag = true;
+
+  }
+  else
+  {
+    QgsDebugMsg("QgsSpatialRefSys::createFromSrid failed : " + mySql);
+    mIsValidFlag = false;
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return mIsValidFlag;
+}
+
+bool QgsSpatialRefSys::createFromWkt(QString theWkt)
+{
+  if (theWkt.isEmpty())
+  {
+    QgsDebugMsg("QgsSpatialRefSys::createFromWkt -- theWkt is uninitialised, operation failed")
+    QgsLogger::critical("QgsSpatialRefSys::createFromWkt -- theWkt is uninitialised, operation failed");
+    mIsValidFlag = false;
+    return false;
+  }
+  QgsDebugMsg("QgsSpatialRefSys::createFromWkt(QString theWkt) using: " + theWkt);
+  //this is really ugly but we need to get a QString to a char**
+  const char *myCharArrayPointer = theWkt.latin1(); //Why doesn't it work with toLocal8Bit().data()?
+  char *pWkt = (char *)myCharArrayPointer;
+  /* Here are the possible OGR error codes :
+     typedef int OGRErr;
+     #define OGRERR_NONE                0
+     #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize 
+     #define OGRERR_NOT_ENOUGH_MEMORY   2
+     #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
+     #define OGRERR_UNSUPPORTED_OPERATION 4
+     #define OGRERR_CORRUPT_DATA        5
+     #define OGRERR_FAILURE             6
+     #define OGRERR_UNSUPPORTED_SRS     7 
+  */
+
+  OGRSpatialReference myOgrSpatialRef;
+
+  OGRErr myInputResult = myOgrSpatialRef.importFromWkt( &pWkt );
+  if (myInputResult != OGRERR_NONE)
+  {
+    QgsDebugMsg("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv");
+    QgsDebugMsg("QgsSpatialRefSys::createFromWkt(QString theWkt) ");
+    QgsDebugMsg("This SRS could *** NOT *** be set from the supplied WKT ");
+    QgsDebugMsg("INPUT: " + theWkt);
+    QgsDebugMsg("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
+    mIsValidFlag = false;
+    return false;
+  }
+
+
+  // always morph from esri as it doesn't hurt anything
+  myOgrSpatialRef.morphFromESRI();
+  // create the proj4 structs needed for transforming
+  char *proj4src;
+  myOgrSpatialRef.exportToProj4(&proj4src);
+
+  //now that we have the proj4string, delegate to createFromProj4String so
+  // that we can try to fill in the remaining class members...
+  //create from Proj wil set the isValidFalg
+  createFromProj4(QString(proj4src));
+  CPLFree(proj4src);
+
+  return mIsValidFlag;
+  //setMapunits will be called by createfromproj above
+}
+
+bool QgsSpatialRefSys::createFromEpsg(long theEpsg)
+{
+  QgsDebugMsg("QgsSpatialRefSys::createFromEpsg with " + QString::number(theEpsg));
+  // Get the full path name to the sqlite3 spatial reference database.
+  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
+
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+      return false;
+  }
+
+  /*
+    srs_id INTEGER PRIMARY KEY,
+    description text NOT NULL,
+    projection_acronym text NOT NULL,
+    ellipsoid_acronym NOT NULL,
+    parameters text NOT NULL,
+    srid integer NOT NULL,
+    epsg integer NOT NULL,
+    is_geo integer NOT NULL);
+  */
+
+  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where epsg='" + QString::number(theEpsg) + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+  {
+    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
+    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
+    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
+    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
+    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
+    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
+    mGeoFlag = (geo == 0 ? false : true);
+    setMapUnits();
+    mIsValidFlag = true;
+
+  }
+  else
+  {
+    QgsLogger::critical(" QgsSpatialRefSys::createFromEpsg failed :  " + mySql);
+    mIsValidFlag = false;
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return mIsValidFlag;
+}
+
+
+bool QgsSpatialRefSys::createFromSrsId (long theSrsId)
+{
+  QgsDebugMsg("QgsSpatialRefSys::createFromSrsId");
+  QString myDatabaseFileName;
+  //
+  // Determine if this is a user projection or a system on
+  // user projection defs all have srs_id >= 100000
+  //
+  if (theSrsId>= USER_PROJECTION_START_ID)
+  {
+    myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+    QFileInfo myFileInfo;
+    myFileInfo.setFile(myDatabaseFileName);
+    if ( !myFileInfo.exists( ) )
+    {
+      mIsValidFlag = false;
+      QgsLogger::warning("QgsSpatialRefSys::createFromSrid failed :  users qgis.db not found");
+      return mIsValidFlag;
+    }
+  }
+  else //must be  a system projection then
+  {
+    // Get the full path name to the sqlite3 spatial reference database.
+    myDatabaseFileName = QgsApplication::srsDbFilePath();
+  }
+
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+      return false;
+  }
+
+  /*
+    srs_id INTEGER PRIMARY KEY,
+    description text NOT NULL,
+    projection_acronym text NOT NULL,
+    ellipsoid_acronym NOT NULL,
+    parameters text NOT NULL,
+    srid integer NOT NULL,
+    epsg integer NOT NULL,
+    is_geo integer NOT NULL);
+  */
+
+  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where srs_id='" + QString::number(theSrsId) + "'";
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+  {
+    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
+    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
+    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
+    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
+    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
+    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
+    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
+    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
+    mGeoFlag = (geo == 0 ? false : true);
+    setMapUnits();
+    mIsValidFlag = true;
+  }
+  else
+  {
+    QgsLogger::warning("QgsSpatialRefSys::createFromSrsId failed :  " + mySql);
+    mIsValidFlag = false;
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return mIsValidFlag;
+}
+
+
+
+
+
+bool QgsSpatialRefSys::isValid() const
+{
+  if (mProj4String.isEmpty())
+    return false;
+
+  //this is really ugly but we need to get a QString to a char**
+  const char *mySourceCharArrayPointer = mProj4String.latin1();
+  //create the sr and populate it from a wkt proj definition
+  OGRSpatialReference myOgrSpatialRef;
+  OGRErr myResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
+  if (myResult==OGRERR_NONE)
+  {
+    //QgsDebugMsg("The OGRe says it's a valid SRS with proj4 string: " +  mProj4String);
+    //srs is valid so nothing more to do...
+    return true;
+  }
+  else
+  {
+    QgsDebugMsg("The OGRe says it's an invalid SRS (OGRErr = "
+                + QString::number(myResult)
+                + ") with proj4 string: " + mProj4String);
+    return false;
+  }
+}
+
+bool QgsSpatialRefSys::createFromProj4 (const QString theProj4String)
+{
+
+  //
+  // Example:
+  // +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0
+  // +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0 +units=m +no_defs
+  //
+  mIsValidFlag=false;
+
+  QRegExp myProjRegExp( "\\+proj=\\S+" );
+  int myStart= 0;
+  int myLength=0;
+  myStart = myProjRegExp.search(theProj4String, myStart);
+  if (myStart==-1)
+  {
+    QgsLogger::warning("QgsSpatialRefSys::createFromProj4 error proj string supplied has no +proj argument");
+    return mIsValidFlag;
+  }
+  else
+  {
+    myLength = myProjRegExp.matchedLength();
+  }
+
+  mProjectionAcronym = theProj4String.mid(myStart+PROJ_PREFIX_LEN,myLength-PROJ_PREFIX_LEN);
+
+  QRegExp myEllipseRegExp( "\\+ellps=\\S+" );
+  myStart= 0;
+  myLength=0;
+  myStart = myEllipseRegExp.search(theProj4String, myStart);
+  if (myStart==-1)
+  {
+    QgsLogger::warning("QgsSpatialRefSys::createFromProj4 error proj string supplied has no +ellps argument");
+
+    return mIsValidFlag;
+  }
+  else
+  {
+    myLength = myEllipseRegExp.matchedLength();
+  }
+  mEllipsoidAcronym = theProj4String.mid(myStart+ELLPS_PREFIX_LEN,myLength-ELLPS_PREFIX_LEN);
+  //mproj4string must be set here for the rest of this method to behave in a meaningful way...
+  mProj4String = theProj4String;
+
+
+  /*
+  * We try to match the proj string to and srsid using the following logic: 
+  *
+  * - perform a whole text search on srs name (if not null). The srs name will 
+  *   have been set if this method has been delegated to from createFromWkt.
+  * Normally we wouldnt expect this to work, but its worth trying first
+  * as its quicker than methods below..
+  */
+  long mySrsId = 0;
+  QgsSpatialRefSys::RecordMap myRecord;
+  if (!mDescription.stripWhiteSpace ().isEmpty())
+  {
+     myRecord = getRecord("select * from tbl_srs where description='" + mDescription.stripWhiteSpace () + "'");
+  }
+//  if (!myRecord.empty())
+// What if descriptions aren't unique?
+  if (false)
+  {
+    mySrsId=myRecord["srs_id"].toLong();
+    QgsDebugMsg("QgsSpatialRefSys::createFromProj4 Projection Description match search for srsid returned srsid: "\
+		+ QString::number(mySrsId));
+    if (mySrsId > 0)
+    {
+      createFromSrsId(mySrsId);
+    }
+  }
+  else
+  {
+    /*
+    * - if the above does not match perform a whole text search on proj4 string (if not null)
+    */
+    QgsDebugMsg("QgsSpatialRefSys::createFromProj4 wholetext match on name failed, trying proj4string match");
+    myRecord = getRecord("select * from tbl_srs where parameters='" + mProj4String.stripWhiteSpace () + "'");
+    if (!myRecord.empty())
+    {
+      mySrsId=myRecord["srs_id"].toLong();
+      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 proj4string match search for srsid returned srsid: " \
++ QString::number(mySrsId));
+      if (mySrsId > 0)
+      {
+        createFromSrsId(mySrsId);
+      }
+    }
+
+    else
+    {
+      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 globbing search for srsid from this proj string");
+      mySrsId = findMatchingProj();
+      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 globbing search for srsid returned srsid: "\
+		  + QString::number(mySrsId));
+      if (mySrsId > 0)
+      {
+        createFromSrsId(mySrsId);
+      }
+    }
+  }
+
+  /* If its still empty after all the above steps then all we can do is keep the proj string
+  * with what was passed in and hope for the best...If its not empty we can fill other member details in 
+    from the record*/
+  return mIsValidFlag;
+}
+
+QgsSpatialRefSys::RecordMap QgsSpatialRefSys::getRecord(QString theSql)
+{
+
+  QString myDatabaseFileName;
+  QgsSpatialRefSys::RecordMap myMap;
+  QString myFieldName;
+  QString myFieldValue;
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+
+  QgsDebugMsg("QgsSpatialRefSys::getRecord...running query: " + theSql);
+  // Get the full path name to the sqlite3 spatial reference database.
+  myDatabaseFileName = QgsApplication::srsDbFilePath();
+  QFileInfo myInfo (myDatabaseFileName);
+  if (!myInfo.exists())
+  {
+    QgsDebugMsg("QgsSpatialRefSys::createFromSrid failed : " + myDatabaseFileName + 
+        " does not exist!");
+    return myMap;
+  }
+
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+    return myMap;
+  }
+
+  myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+  {
+    QgsDebugMsg("QgsSpatialRefSys::getRecord...trying system srs.db");
+    int myColumnCount = sqlite3_column_count(myPreparedStatement);
+    //loop through each column in the record adding its field name and vvalue to the map
+    for (int myColNo=0;myColNo < myColumnCount;myColNo++)
+    {
+      myFieldName = QString::fromUtf8((char *)sqlite3_column_name(myPreparedStatement,myColNo));
+      myFieldValue = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,myColNo));
+      myMap[myFieldName]=myFieldValue;
+    }
+  }
+  else
+  {
+    QgsDebugMsg("QgsSpatialRefSys::getRecord...trying system qgis.db");
+    sqlite3_finalize(myPreparedStatement);
+    sqlite3_close(myDatabase);
+
+    myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+    QFileInfo myFileInfo;
+    myFileInfo.setFile(myDatabaseFileName);
+    if ( !myFileInfo.exists( ) )
+    {
+      QgsLogger::warning("QgsSpatialRefSys::getRecord failed :  users qgis.db not found");
+      return myMap;
+    }
+
+    //check the db is available
+    myResult = openDb(myDatabaseFileName, &myDatabase);
+    if(myResult)
+    {
+      return myMap;
+    }
+
+    myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
+    // XXX Need to free memory from the error msg if one is set
+    if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      int myColumnCount = sqlite3_column_count(myPreparedStatement);
+      //loop through each column in the record adding its field name and vvalue to the map
+      for (int myColNo=0;myColNo < myColumnCount;myColNo++)
+      {
+        myFieldName = QString::fromUtf8((char *)sqlite3_column_name(myPreparedStatement,myColNo));
+        myFieldValue = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,myColNo));
+        myMap[myFieldName]=myFieldValue;
+      }
+    }
+    else
+    {
+      QgsLogger::warning("QgsSpatialRefSys::getRecord failed :  " + theSql);
+
+    }
+  }
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+
+#ifdef QGISDEBUG
+	 QgsDebugMsg("QgsSpatialRefSys::getRecord retrieved:  " + theSql);
+	 RecordMap::Iterator it;
+	 for ( it = myMap.begin(); it != myMap.end(); ++it )
+	   {
+	     QgsDebugMsgLevel(it.key() + " => " + it.data(), 2);
+	   }
+#endif
+
+  return myMap;
+
+
+
+}
+
+// Accessors -----------------------------------
+/*! Get the SrsId
+ *  @return  long theSrsId The internal sqlite3 srs.db primary key for this srs 
+ */
+long QgsSpatialRefSys::srsid() const
+{
+  return mSrsId;
+}
+/*! Get the Postgis SRID - if possible
+ *  @return  long theSRID The internal postgis SRID for this SRS
+ */
+long QgsSpatialRefSys::srid() const
+{
+
+  return mSRID;
+
+}
+/*! Get the Description
+ * @return  QString the Description A textual description of the srs.
+ */
+QString QgsSpatialRefSys::description () const
+{
+  if (mDescription.isNull())
+  {
+    return "";
+  }
+  else
+  {
+    return mDescription;
+  }
+}
+/*! Get the Projection Acronym
+ * @return  QString theProjectionAcronym The official proj4 acronym for the projection family
+ */
+QString QgsSpatialRefSys::projectionAcronym() const
+{
+  if (mProjectionAcronym.isNull())
+  {
+    return "";
+  }
+  else
+  {
+    return mProjectionAcronym;
+  }
+}
+/*! Get the Ellipsoid Acronym
+ * @return  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
+ */
+QString QgsSpatialRefSys::ellipsoidAcronym () const
+{
+  if (mEllipsoidAcronym.isNull())
+  {
+    return "";
+  }
+  else
+  {
+    return mEllipsoidAcronym;
+  }
+}
+/* Get the Proj Proj4String.
+ * @return  QString theProj4String Proj4 format specifies that define this srs.
+ */
+QString QgsSpatialRefSys::proj4String() const
+{
+  if (mProj4String.isNull())
+  {
+    return "";
+  }
+  else
+  {
+    return mProj4String;
+  }
+}
+/*! Get this Geographic? flag
+ * @return  bool theGeoFlag Whether this is a geographic or projected coordinate system
+ */
+bool QgsSpatialRefSys::geographicFlag () const
+{
+  return mGeoFlag;
+}
+/*! Get the units that the projection is in
+ * @return QGis::units
+ */
+QGis::units QgsSpatialRefSys::mapUnits() const
+{
+  return mMapUnits;
+}
+
+/*! Set the postgis srid for this srs
+ * @return  long theSRID the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
+ */
+long QgsSpatialRefSys::postgisSrid () const
+{
+  return mSRID ;
+}
+/*! Set the EPSG identifier for this srs
+ * @return  long theEpsg the ESPG identifier for this srs (defaults to 0)
+ */
+long QgsSpatialRefSys::epsg () const
+{
+  return mEpsg;
+}
+
+// Mutators -----------------------------------
+
+
+void QgsSpatialRefSys::setSrsId(long theSrsId)
+{
+  mSrsId = theSrsId;
+}
+void QgsSpatialRefSys::setSrid(long theSrid)
+{
+  mSRID=theSrid;
+}
+void QgsSpatialRefSys::setDescription (QString theDescription)
+{
+  mDescription = theDescription;
+}
+void QgsSpatialRefSys::setProj4String (QString theProj4String)
+{
+  mProj4String = theProj4String;
+}
+void QgsSpatialRefSys::setGeographicFlag (bool theGeoFlag)
+{
+  mGeoFlag=theGeoFlag;
+}
+void QgsSpatialRefSys::setEpsg (long theEpsg)
+{
+  mEpsg=theEpsg;
+}
+void  QgsSpatialRefSys::setProjectionAcronym(QString theProjectionAcronym)
+{
+  mProjectionAcronym=theProjectionAcronym;
+}
+void  QgsSpatialRefSys::setEllipsoidAcronym(QString theEllipsoidAcronym)
+{
+  mEllipsoidAcronym=theEllipsoidAcronym;
+}
+/*! Work out the projection units and set the appropriate local variable
+ *
+ */
+void QgsSpatialRefSys::setMapUnits()
+{
+  if (mProj4String.isEmpty())
+  {
+    QgsLogger::warning("No proj4 projection string. Unable to set map units.");
+    mMapUnits = QGis::UNKNOWN;
+    return;
+  }
+
+  char *unitName;
+  OGRSpatialReference myOgrSpatialRef;
+  myOgrSpatialRef.importFromProj4(mProj4String.latin1());
+
+  // Of interest to us is that this call adds in a unit parameter if
+  // one doesn't already exist.
+  myOgrSpatialRef.Fixup();
+
+  if (myOgrSpatialRef.IsProjected())
+  {
+    double toMeter = myOgrSpatialRef.GetLinearUnits(&unitName);
+    QString unit(unitName);
+
+    // If the units parameter was created during the Fixup() call
+    // above, the name of the units is likely to be 'unknown'. Try to
+    // do better than that ... (but perhaps ogr should be enhanced to
+    // do this instead?).
+
+    static const double feetToMeter = 0.3048;
+    static const double smallNum = 1e-3;
+
+    if (std::abs(toMeter - feetToMeter) < smallNum)
+      unit = "Foot";
+
+    QgsDebugMsg("Projection has linear units of " + unit);
+
+    if (unit == "Meter")
+      mMapUnits = QGis::METERS;
+    else if (unit == "Foot")
+      mMapUnits = QGis::FEET;
+    else
+    {
+      QgsLogger::warning("Unsupported map units of " + unit);
+      mMapUnits = QGis::UNKNOWN;
+    }
+  }
+  else
+  {
+    myOgrSpatialRef.GetAngularUnits(&unitName);
+    QString unit(unitName);
+    if (unit == "degree")
+      mMapUnits = QGis::DEGREES;
+    else
+    {
+      QgsLogger::warning("Unsupported map units of " + unit);
+      mMapUnits = QGis::UNKNOWN;
+    }
+    QgsDebugMsg("Projection has angular units of " + unit);
+  }
+}
+
+
+/*
+*    check if srs is a geocs or a proj cs (using ogr isGeographic)
+*   then sequentially walk through the database (first users qgis.db srs tbl then
+*   system srs.db tbl), converting each entry into an ogr srs and using isSame
+*   or isSameGeocs (essentially calling the == overloaded operator). We'll try to 
+*   be smart about this and first parse out the proj and ellpse strings and only 
+*   check for a match in entities that have the same ellps and proj entries so 
+*   that it doesnt munch yer cpu so much.
+*/
+long QgsSpatialRefSys::findMatchingProj()
+{
+  QgsDebugMsg("QgsSpatialRefSys::findMatchingProj...");
+  if (mEllipsoidAcronym.isNull() ||  mProjectionAcronym.isNull() || mProj4String.isNull())
+  {
+    QgsLogger::warning("QgsSpatialRefSys::findMatchingProj will only work if prj acr ellipsoid acr and proj4string are set!...");
+    return 0;
+  }
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+
+  // Set up the query to retreive the projection information needed to populate the list
+  QString mySql = QString ("select srs_id,parameters from tbl_srs where projection_acronym='" +
+                           mProjectionAcronym + "' and ellipsoid_acronym='" + mEllipsoidAcronym + "'");
+  // Get the full path name to the sqlite3 spatial reference database.
+  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
+
+
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+    return 0;
+  }
+
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+      QString myProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 1));
+      if (this->equals(myProj4String))
+      {
+	QgsDebugMsg("QgsSpatialRefSys::findMatchingProj -------> MATCH FOUND in srs.db srsid: " + mySrsId);
+        // close the sqlite3 statement
+        sqlite3_finalize(myPreparedStatement);
+        sqlite3_close(myDatabase);
+        return mySrsId.toLong();
+      }
+      else
+      {
+        //std::cout << " Not matched : " << myProj4String << std::endl;
+      }
+    }
+  }
+  QgsLogger::warning("QgsSpatialRefSys::findMatchingProj ------->"
+                      "\n no match found in srs.db, trying user db now!");
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  //
+  // Try the users db now
+  //
+
+  myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+  //check the db is available
+  myResult = openDb(myDatabaseFileName, &myDatabase);
+  if(myResult)
+  {
+    return 0;
+  }
+
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
+      QString myProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 1));
+      if (this->equals(myProj4String))
+      {
+	QgsDebugMsg("QgsSpatialRefSys::findMatchingProj -------> MATCH FOUND in user qgis.db srsid: " + mySrsId);
+        // close the sqlite3 statement
+        sqlite3_finalize(myPreparedStatement);
+        sqlite3_close(myDatabase);
+        return mySrsId.toLong();
+      }
+      else
+      {
+        //std::cout << " Not matched : " << myProj4String << std::endl;
+      }
+    }
+  }
+  QgsLogger::warning("QgsSpatialRefSys::findMatchingProj -------> no match found in user db");
+
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+  return 0;
+
+}
+
+bool QgsSpatialRefSys::operator==(const QgsSpatialRefSys &theSrs)
+{
+  //qWarning("QgsSpatialRefSys::operator==(const QgsSpatialRefSys &theSrs) called ");
+  //simply delegate to the overloaded == operator  below...
+  return this->equals(theSrs.mProj4String);
+
+}
+
+bool QgsSpatialRefSys::operator!=(const QgsSpatialRefSys &theSrs)
+{
+  return  ! (*this == theSrs);
+}
+
+
+bool QgsSpatialRefSys::equals(QString theProj4CharArray)
+{
+  //qWarning("QgsSpatialRefSys::operator==(const char *theProj4CharArray) called ");
+  bool myMatchFlag = false; //guilty until proven innocent
+
+  /* Here are the possible OGR error codes :
+     typedef int OGRErr;
+
+     #define OGRERR_NONE                0
+     #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize
+     #define OGRERR_NOT_ENOUGH_MEMORY   2
+     #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
+     #define OGRERR_UNSUPPORTED_OPERATION 4
+     #define OGRERR_CORRUPT_DATA        5
+     #define OGRERR_FAILURE             6
+     #define OGRERR_UNSUPPORTED_SRS     7 */
+
+  //get the wkt into ogr
+  //this is really ugly but we need to get a QString to a char**
+  const char *myCharArrayPointer1 = mProj4String.latin1();
+
+  //note that the proj strings above do not neccessarily need to be exactly the
+  //same for the projections they define to be equivalent, which is why I dont just
+  //compare the proj parameter strings and return the result
+
+
+  //create the sr and populate it from a wkt proj definition
+  OGRSpatialReference myOgrSpatialRef1;
+  OGRSpatialReference myOgrSpatialRef2;
+  OGRErr myInputResult1 = myOgrSpatialRef1.importFromProj4(  myCharArrayPointer1 );
+  OGRErr myInputResult2 = myOgrSpatialRef2.importFromProj4(  theProj4CharArray.latin1() );
+
+  // Could do some error reporting here...
+  if (myInputResult1 != OGRERR_NONE)
+    {}
+  if (myInputResult2 != OGRERR_NONE)
+    {}
+
+  if (myOgrSpatialRef1.IsGeographic() && myOgrSpatialRef2.IsGeographic())
+  {
+//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are geographic ");
+    myMatchFlag = myOgrSpatialRef1.IsSameGeogCS(&myOgrSpatialRef2);
+  }
+  else if (myOgrSpatialRef1.IsProjected() && myOgrSpatialRef2.IsProjected())
+  {
+//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are projected ");
+    myMatchFlag = myOgrSpatialRef1.IsSame(&myOgrSpatialRef2);
+  } else {
+//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are different types ");
+    myMatchFlag = false;
+  }
+
+  //find out the units:
+  /* Not needed anymore here - keeping here as a note because I am gonna use it elsewhere
+  const char *myUnitsArrayPointer1;
+  const char *myUnitsArrayPointer2;
+  OGRErr myUnitsValid1 = myOgrSpatialRef1.GetLinearUnits(&myUnitsArrayPointer1 );
+  OGRErr myUnitsValid2 = myOgrSpatialRef2.GetLinearUnits(&myUnitsArrayPointer2 );
+  QString myUnitsString1(myUnitsArrayPointer1);
+  QString myUnitsString2(myUnitsArrayPointer2);
+  */
+
+
+
+
+  //placeholder to be replaced with ogr tests
+  if (myMatchFlag)
+  {
+//    qWarning("QgsSpatialRefSys::operator== result: srs's are equal ");
+  }
+  else
+  {
+//    qWarning("QgsSpatialRefSys::operator== result: srs's are not equal ");
+  }
+  return myMatchFlag;
+}
+
+QString QgsSpatialRefSys::toWkt() const
+{
+  OGRSpatialReference myOgrSpatialRef;
+  OGRErr myInputResult = myOgrSpatialRef.importFromProj4(mProj4String.latin1());
+  
+  QString myWkt;
+
+  if (myInputResult == OGRERR_NONE)
+  {
+    char* WKT;
+    if(myOgrSpatialRef.exportToWkt(&WKT) == OGRERR_NONE)
+    {
+      myWkt = WKT;
+      OGRFree(WKT);
+    }    
+  }
+    
+  return myWkt;
+}
+
+bool QgsSpatialRefSys::readXML( QDomNode & theNode )
+{
+  QgsDebugMsg("Reading Spatial Ref Sys from xml ------------------------!");
+  QDomNode srsNode  = theNode.namedItem( "spatialrefsys" );
+
+     QDomNode myNode = srsNode.namedItem("proj4");
+     QDomElement myElement = myNode.toElement();
+     setProj4String(myElement.text());
+
+     myNode = srsNode.namedItem("srsid");
+     myElement = myNode.toElement();
+     setSrsId(myElement.text().toLong());
+
+     myNode = srsNode.namedItem("srid");
+     myElement = myNode.toElement();
+     setSrid(myElement.text().toLong());
+
+     myNode = srsNode.namedItem("epsg");
+     myElement = myNode.toElement();
+     setEpsg(myElement.text().toLong());
+
+     myNode = srsNode.namedItem("description");
+     myElement = myNode.toElement();
+     setDescription(myElement.text());
+
+     myNode = srsNode.namedItem("projectionacronym");
+     myElement = myNode.toElement();
+     setProjectionAcronym(myElement.text());
+
+     myNode = srsNode.namedItem("ellipsoidacronym");
+     myElement = myNode.toElement();
+     setEllipsoidAcronym(myElement.text());
+ 
+     myNode = srsNode.namedItem("geographicflag");
+     myElement = myNode.toElement();
+     if (myElement.text().compare("true"))
+     {
+       setGeographicFlag(true);
+     }
+     else
+     {
+       setGeographicFlag(false);
+     }
+     //make sure the map units have been set
+
+     setMapUnits();
+
+     //@TODO this srs needs to be validated!!!
+     mIsValidFlag=true;//shamelessly hard coded for now
+      
+     return true;
+}
+
+bool QgsSpatialRefSys::writeXML( QDomNode & theNode, QDomDocument & theDoc ) const
+{
+
+  QDomElement myLayerNode = theNode.toElement();
+  QDomElement mySrsElement  = theDoc.createElement( "spatialrefsys" );
+  
+  QDomElement myProj4Element  = theDoc.createElement( "proj4" );
+  myProj4Element.appendChild(theDoc.createTextNode( proj4String()));
+  mySrsElement.appendChild(myProj4Element);
+  
+  QDomElement mySrsIdElement  = theDoc.createElement( "srsid" );
+  mySrsIdElement.appendChild(theDoc.createTextNode( QString::number(srsid())));
+  mySrsElement.appendChild(mySrsIdElement);
+
+  QDomElement mySridElement  = theDoc.createElement( "srid" );
+  mySridElement.appendChild(theDoc.createTextNode( QString::number(srid())));
+  mySrsElement.appendChild(mySridElement);
+
+  QDomElement myEpsgElement  = theDoc.createElement( "epsg" );
+  myEpsgElement.appendChild(theDoc.createTextNode( QString::number(epsg())));
+  mySrsElement.appendChild(myEpsgElement);
+
+  QDomElement myDescriptionElement  = theDoc.createElement( "description" );
+  myDescriptionElement.appendChild(theDoc.createTextNode( description()));
+  mySrsElement.appendChild(myDescriptionElement);
+
+  QDomElement myProjectionAcronymElement  = theDoc.createElement( "projectionacronym" );
+  myProjectionAcronymElement.appendChild(theDoc.createTextNode( projectionAcronym()));
+  mySrsElement.appendChild(myProjectionAcronymElement);
+
+  QDomElement myEllipsoidAcronymElement  = theDoc.createElement( "ellipsoidacronym" );
+  myEllipsoidAcronymElement.appendChild(theDoc.createTextNode( ellipsoidAcronym()));
+  mySrsElement.appendChild(myEllipsoidAcronymElement);
+
+  QDomElement myGeographicFlagElement  = theDoc.createElement( "geographicflag" );
+  QString myGeoFlagText = "false";
+  if (geographicFlag())
+  {
+    myGeoFlagText="true";
+  }
+    
+  myGeographicFlagElement.appendChild(theDoc.createTextNode( myGeoFlagText ));
+  mySrsElement.appendChild(myGeographicFlagElement);
+
+  myLayerNode.appendChild( mySrsElement );
+
+  return true;
+}
+
+
+
+//
+// Static helper methods below this point only please!
+//
+
+
+// Returns the whole proj4 string for the selected srsid
+//this is a static method!
+QString QgsSpatialRefSys::getProj4FromSrsId(const int theSrsId)
+{
+
+      QString myDatabaseFileName;
+      QString myProjString;
+      QString mySql = "select parameters from tbl_srs where srs_id = ";
+      mySql += QString::number(theSrsId);
+
+      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :  mySrsId = " + QString::number(theSrsId));
+      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :  USER_PROJECTION_START_ID = " +\
+QString::number(USER_PROJECTION_START_ID));
+      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :Selection sql : " + mySql);
+	  
+      //
+      // Determine if this is a user projection or a system on
+      // user projection defs all have srs_id >= 100000
+      //
+      if (theSrsId >= USER_PROJECTION_START_ID)
+      {
+        myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+        QFileInfo myFileInfo;
+        myFileInfo.setFile(myDatabaseFileName);
+        if ( !myFileInfo.exists( ) ) //its unlikely that this condition will ever be reached
+        {
+	  QgsLogger::critical("QgsSpatialRefSys::getProj4FromSrsId :  users qgis.db not found");
+          return NULL;
+        }
+      }
+      else //must be  a system projection then
+      {
+        myDatabaseFileName = QgsApplication::srsDbFilePath();
+      }
+      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId db = " + myDatabaseFileName);
+
+      sqlite3 *db;
+      int rc;
+      rc = openDb(myDatabaseFileName, &db);
+      if(rc)
+      {
+	return QString();
+      }
+      // prepare the sql statement
+      const char *pzTail;
+      sqlite3_stmt *ppStmt;
+
+      rc = sqlite3_prepare(db, mySql.utf8(), mySql.length(), &ppStmt, &pzTail);
+      // XXX Need to free memory from the error msg if one is set
+
+      if(rc == SQLITE_OK)
+      {
+        if(sqlite3_step(ppStmt) == SQLITE_ROW)
+        {
+          myProjString = QString::fromUtf8((char*)sqlite3_column_text(ppStmt, 0));
+        }
+      }
+      // close the statement
+      sqlite3_finalize(ppStmt);
+      // close the database
+      sqlite3_close(db);
+
+      //assert(myProjString.length() > 0);
+      return myProjString;
+}
+
+int QgsSpatialRefSys::openDb(QString path, sqlite3 **db)
+{
+  QgsDebugMsg("QgsSpatialRefSys::openDb path = " + path);
+  int myResult = sqlite3_open(path.toUtf8().data(), db);
+
+  if(myResult)
+  {
+    QgsLogger::critical("Can't open database: " + QString(sqlite3_errmsg(*db)));
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist.
+    // ... unfortunately it happens on Windows
+    QgsMessageOutput* output = QgsMessageOutput::createMessageOutput();
+    output->setTitle("Error");
+    output->setMessage("Could not open SRS database " + path +
+        "<br>Error(" + QString::number(myResult) + "): " +
+        QString(sqlite3_errmsg(*db)), QgsMessageOutput::MessageText); 
+    output->showMessage();
+  }
+  return myResult;
+}
+
+void QgsSpatialRefSys::setCustomSrsValidation(CUSTOM_SRS_VALIDATION f)
+{
+  mCustomSrsValidation = f;
+}
+
+void QgsSpatialRefSys::debugPrint()
+{
+  QgsDebugMsg("***SpatialRefSystem***");
+  QgsDebugMsg("* Valid : " + (mIsValidFlag?QString("true"):QString("false")));
+  QgsDebugMsg("* SrsId : " + QString::number(mSrsId));
+  QgsDebugMsg("* Proj4 : " + mProj4String);
+  QgsDebugMsg("* Desc. : " + mDescription);
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsspatialrefsys.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,413 @@
+/***************************************************************************
+                             qgsspatialrefsys.h
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSSPATIALREFSYS_H
+#define QGSSPATIALREFSYS_H
+
+//Standard includes
+#include <ostream>
+
+//qt includes
+#include <QString>
+#include <QMap>
+class QDomNode;
+class QDomDocument;
+
+// forward declaration for sqlite3
+typedef struct sqlite3 sqlite3;
+
+//qgis includes
+#include "qgis.h"
+
+class QgsSpatialRefSys;
+typedef void (*CUSTOM_SRS_VALIDATION)(QgsSpatialRefSys*);
+
+
+/*!
+ * \class QgsSpatialRefSys
+ * \brief Class for storing a spatial reference system (SRS)
+ */ 
+class CORE_EXPORT QgsSpatialRefSys
+{
+    public:
+      
+        enum SRS_TYPE {
+          QGIS_SRSID,
+          POSTGIS_SRID,
+          EPSG
+        };
+        
+        //! Default constructor
+        QgsSpatialRefSys();
+        
+        /*! 
+         * Constructs a SRS object from a WKT string
+         * @param theWkt A String containing a valid Wkt def
+         */
+        explicit QgsSpatialRefSys(QString theWkt);
+
+        /*! Use this constructor when you want to create a SRS object using 
+         *  a postgis SRID, an EPSG id or a QGIS SRS_ID.
+         * @param theId The ID no valid for the chosen coordinate system id type
+         * @param theType One of the types described in QgsSpatialRefSys::SRS_TYPE
+         */
+        QgsSpatialRefSys(const long theId, SRS_TYPE theType=POSTGIS_SRID);
+
+
+        //! Assignment operator
+        QgsSpatialRefSys& operator=(const QgsSpatialRefSys& srs);
+
+        // Misc helper functions -----------------------
+
+        void createFromId(const long theId, SRS_TYPE theType=POSTGIS_SRID);
+
+        /**
+         * \brief Set up this SRS from the given OGC CRS
+         *
+         * Sets this SRS to the given OGC WMS-format Coordinate Reference Systems.
+         *
+         * \note This function only deals with EPSG labels only at this time.
+         *
+         * \retval FALSE if not given an EPSG label
+         */
+        bool createFromOgcWmsCrs(QString theCrs);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @param theSrid The postgis SRID for the desired spatial reference system.
+         */
+        bool createFromSrid(const long theSrid);
+
+        /*! Set up this srs using a WKT spatial ref sys definition. 
+         * The wkt will be converted to a proj4 string using OGR helper
+         * functions. After this the srs databasses will be searched for matches.
+         * First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @note SRID and EPSG may be blank if no match can be found on srs db.
+         * @param theWkt The WKT for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromWkt(const QString theWkt);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. First the system level read only srs.db will be checked
+         * and then the users ~/.qgis/qgis.db database will be checked for a match.
+         * @note Any members will be overwritten during this process.
+         * @param theEpsg The EPSG for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromEpsg(const long theEpsg);
+
+        /*! Set up this srs by fetching the appropriate information from the 
+         * sqlite backend. If the srsid is < 100000, only the system srs.db 
+         * will be checked. If the srsid > 100000 the srs will be retrieved from 
+         * the ~/.qgis/qgis.db
+         * @note Any members will be overwritten during this process.
+         * @param theSrsId The QGIS SrsId for the desired spatial reference system.
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromSrsId (const long theSrsId);
+
+        /*! Set up this srs by passing it a proj4 style formatted string.
+         * The string will be parsed and the projection and ellipsoid
+         * members set and the remainder of the proj4 string will be stored
+         * in the parameters member. The reason for this is so that we
+         * can easily present the user with 'natural language' representation
+         * of the projection and ellipsoid by looking them up in the srs.bs sqlite 
+         * database. Also having the ellpse and proj elements stripped out
+         * is hepful to speed up globbing queries (see below).
+         * 
+         * We try to match the proj string to and srsid using the following logic: 
+         *
+         * - perform a whole text search on srs name (if not null). The srs name will 
+         *   have been set if this method has been delegated to from createFromWkt.
+         * - if the above does not match perform a whole text search on proj4 string (if not null)
+         * - if none of the above match convert the proj4 string to an OGR SRS
+         *   then check if its a geocs or a proj cs (using ogr isGeographic)
+         *   then sequentially walk through the database (first users qgis.db srs tbl then
+         *   system srs.db tbl), converting each entry into an ogr srs and using isSame
+         *   or isSameGeocs (essentially calling the == overloaded operator). We'll try to 
+         *   be smart about this and first parse out the proj and ellpse strings and only 
+         *   check for a match in entities that have the same ellps and proj entries so 
+         *   that it doesnt munch yer cpu so much.
+         *
+         * @note If the srs was not matched, we will create a new entry on the users tbl_srs 
+         *    for this srs.
+         *
+         * @param theProjString A proj4 format string
+         * @return bool TRUE if sucess else false
+         */
+        bool createFromProj4 (const QString theProjString);
+
+        /*! Find out whether this SRS is correctly initialised and useable */
+        bool isValid() const;
+        /*! Perform some validation on this SRS. If the sts doesnt validate the
+         *  default behaviour settings for layers with unknown SRS will be 
+         * consulted and acted on accordingly. By hell or high water this
+         * method will do its best to make sure that this SRS is valid - even
+         * if that involves resorting to a hard coded default of geocs:wgs84.
+         *
+         * @note It is not usually neccessary to use this function, unless you
+         * are trying to force theis srs to be valid.
+         */
+        void validate();
+
+        /*! This is a globbing function to try to find a record in the database
+         *  that matches a SRS defined only by a proj4string. The goal is to 
+         *  learn what the tbl_srs.srs_id value is for the SRS. Internally 
+         *  the source SRS is converted to and OGR srs object using the proj4string
+         *  and then every record in the database that matches projection and ellipsoid
+         *  will be converted to an OGR srs in turn and compared to the source SRS.
+         *  There are some gotchas with using ogr isSame() srs comparison, but
+         *  its more effective than using straight string comparison of proj4params.
+         *  @note The ellipsoid and projection acronyms must be set as well as the proj4string!
+         *  @return lomg the SrsId of the matched SRS
+         */
+        long findMatchingProj();
+         
+        /*! A string based associative array used for passing records around */
+        typedef QMap<QString, QString> RecordMap;
+        /*! Get a record from the srs.db or qgis.db backends, given an sql statment.
+         * @note only handles queries that return a single record.
+         * @note it will first try the system srs.db then the users qgis.db!
+         * @param QString The sql query to execute
+         * @return QMap An associative array of field name <-> value pairs
+         */
+         RecordMap getRecord(QString theSql);
+        /*! Overloaded == operator used to compare to SRS's.
+         *  Internally it will delegate to the equals method described below
+         */
+         bool operator==(const QgsSpatialRefSys &theSrs);
+        /*! Overloaded != operator used to compare to SRS's.
+          *  Returns opposite bool value to operator ==
+         */
+         bool operator!=(const QgsSpatialRefSys &theSrs);
+        /*! Overloaded == operator used to compare to SRS's.
+         *  Internally it will use OGR isSameSRS() or isSameGeoSRS() methods as appropriate.
+         *  Additionally logic may also be applied if the result from the OGR methods
+         *  is inconclusive.
+         */
+         bool equals(QString theProj4String);
+         /*! A helper to get an wkt representation of this srs
+          * @return string containing Wkt of the srs
+          */
+         QString toWkt() const;
+
+         /*! Restores state from the given DOM node.
+         * @param theNode The node from which state will be restored
+         * @return bool True on success, False on failure
+         */
+          bool readXML( QDomNode & theNode );
+        /*! Stores state to the given DOM node in the given document.
+         * Below is an example of the generated tag.
+         *  <spatialrefsys>
+         *      <proj4>+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs </proj4>
+         *       <srsid>2585</srsid>
+         *       <srid>4326</srid>
+         *       <epsg>4326</epsg>
+         *       <description>WGS 84</description>
+         *       <projectionacronym>longlat</projectionacronym>
+         *       <ellipsoidacronym>WGS84</ellipsoidacronym>
+         *   </spatialrefsys>
+         * @param theNode The node in which state will be restored
+         * @param theDom The document in which state will be stored
+         * @return bool True on success, False on failure
+         */
+          bool writeXML( QDomNode & theNode, QDomDocument & theDoc ) const;
+
+         /** A static helper function to find out the proj4 string for a srsid
+           * @param int theSrsId The srsid used for the lookup
+           * @return QString The proj4 string
+         */
+         static QString getProj4FromSrsId(const int theSrsId);
+
+         /** Sets custom function to force valid SRS
+          *  QGIS uses implementation in QgisGui::customSrsValidation
+          */
+         static void setCustomSrsValidation(CUSTOM_SRS_VALIDATION f);
+         
+        // Accessors -----------------------------------
+
+         /*! Get the SrsId - if possible
+         *  @return  long theSrsId The internal sqlite3 srs.db primary key for this srs 
+         */
+        long srsid() const;
+        /*! Get the Postgis SRID - if possible.
+        *  @return  long theSRID The internal postgis SRID for this SRS
+        */
+        long srid() const;
+        /*! Get the Description
+         * @return  QString the Description A textual description of the srs.
+         * @note A zero length string will be returned if the description is uninitialised
+         */
+        QString description () const;
+        /*! Get the Projection Acronym
+         * @return  QString theProjectionAcronym The official proj4 acronym for the projection family
+         * @note A zero length string will be returned if the projectionAcronym is uninitialised
+         */
+        QString projectionAcronym() const;
+        /*! Get the Ellipsoid Acronym
+         * @return  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
+         * @note A zero length string will be returned if the ellipsoidAcronym is uninitialised
+         */
+        QString ellipsoidAcronym () const;
+        /** Get the Proj Proj4String. If proj and ellps keys are found in the parameters,
+         * they will be stripped out and the Projection and ellipsoid acronyms will be
+         * overridden with these.
+         * @return  QString theProj4String Proj4 format specifies that define this srs.
+         * @note A zero length string will be returned if the proj4String is uninitialised
+         */
+        QString proj4String() const;
+        /*! Get this Geographic? flag
+         * @return  bool theGeoFlag Whether this is a geographic or projected coordinate system
+         */
+        bool geographicFlag () const;
+        /*! Get the units that the projection is in
+         * @return QGis::units that gives the units for the coordinate system
+         */
+        QGis::units mapUnits() const;
+
+        /*! Set the postgis srid for this srs
+         * @return  long theSRID the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
+         */
+        long postgisSrid () const;
+        /*! Set the EPSG identifier for this srs
+         * @return  long theEpsg the ESPG identifier for this srs (defaults to 0)
+         */
+        long epsg () const;
+
+        // Mutators -----------------------------------
+
+        /*! Set the QGIS  SrsId
+         *  @param  long theSrsId The internal sqlite3 srs.db primary key for this srs 
+         */
+        void setSrsId(long theSrsId);
+        /*! Set the postgis srid
+         *  @param  long theSrsId The postgis spatial_ref_sys key for this srs 
+         */
+        void setSrid(long theSrid);
+        /*! Set the Description
+         * @param  QString the Description A textual description of the srs.
+         */
+        void setDescription (QString theDescription);
+        /* Set the Proj Proj4String. 
+         * @param  QString theProj4String Proj4 format specifies (excluding proj and ellips) that define this srs.
+         */
+        void setProj4String (QString theProj4String);
+        /*! Set this Geographic? flag
+         * @param  bool theGeoFlag Whether this is a geographic or projected coordinate system
+         */
+        void setGeographicFlag (bool theGeoFlag);
+        /*! Set the EPSG identifier for this srs
+         * @param  long theEpsg the ESPG identifier for this srs (defaults to 0)
+         */
+        void setEpsg (long theEpsg);
+        /*! Set the projection acronym
+         * @param QString the acronym (must be a valid proj4 projection acronym)
+         */
+        void setProjectionAcronym(QString theProjectionAcronym);
+        /*! Set the ellipsoid acronym
+         * @param QString the acronym (must be a valid proj4 ellipsoid acronym)
+         */
+        void setEllipsoidAcronym(QString theEllipsoidAcronym);
+
+        /*! Print the description if debugging
+         */
+	void debugPrint();
+    private:
+        // Open SQLite db and show message if ccannot be opened
+        // returns the same code as sqlite3_open
+        static int openDb ( QString path, sqlite3 **db ); 
+
+        //!The internal sqlite3 srs.db primary key for this srs 
+        long    mSrsId;
+        //!A textual description of the srs.
+        QString mDescription;
+        //!The official proj4 acronym for the projection family
+        QString mProjectionAcronym ;
+        //!The official proj4 acronym for the ellipoid
+        QString mEllipsoidAcronym;
+        //!Proj4 format specifies (excluding proj and ellips) that define this srs.
+        QString mProj4String ;
+        //!Whether this is a geographic or projected coordinate system
+        bool    mGeoFlag;
+        //! The map units
+        QGis::units mMapUnits;
+        //!If available, the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
+        long    mSRID;
+        //!If available the ESPG identifier for this srs (defaults to 0)
+        long    mEpsg ;
+        //! Wehter this srs is properly defined and valid
+        bool mIsValidFlag;
+
+        //! Work out the projection units and set the appropriate local variable
+        void setMapUnits();
+        
+        static CUSTOM_SRS_VALIDATION mCustomSrsValidation;
+};
+
+
+//! Output stream operator
+inline std::ostream& operator << (std::ostream& os, const QgsSpatialRefSys &r)
+{
+  QString mySummary ("\n\tSpatial Reference System:");
+  mySummary += "\n\t\tDescription : ";
+  if (!r.description().isNull()) 
+  {
+    mySummary += r.description();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+  mySummary += "\n\t\tProjection  : " ;
+  if (!r.projectionAcronym().isNull()) 
+  {
+    mySummary += r.projectionAcronym();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+
+  mySummary += "\n\t\tEllipsoid   : "; 
+  if (!r.ellipsoidAcronym().isNull()) 
+  {
+    mySummary += r.ellipsoidAcronym();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+
+  mySummary += "\n\t\tProj4String  : " ;
+  if (!r.proj4String().isNull()) 
+  {
+    mySummary += r.proj4String();
+  }
+  else
+  {
+    mySummary += "Undefined" ;
+  }
+  // Using streams we need to use local 8 Bit
+  return os << mySummary.toLocal8Bit().data() << std::endl;
+}
+
+#endif // QGSSPATIALREFSYS_H

Deleted: packages/qgis/branches/upstream/current/src/core/qgssymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,395 +0,0 @@
-/***************************************************************************
-                          QgsSymbol.cpp  -  description
-                             -------------------
-    begin                : Sun Aug 11 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssymbol.cpp 5533 2006-06-18 15:32:24Z timlinux $ */
-#include <cmath>
-#include <iostream>
-
-#include "qgssymbol.h"
-#include "qgssymbologyutils.h"
-#include "qgsmarkercatalogue.h"
-
-#include <QPainter>
-#include <QString>
-
-QgsSymbol::QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label) : 
-      mLowerValue(lvalue),
-      mUpperValue(uvalue),
-      mLabel(label),
-      mType(t),
-      mPointSymbolName( "hard:circle" ),
-      mPointSize( 6 ),
-      mPointSymbolPixmap(1,1),
-      mWidthScale(1.0),
-      mCacheUpToDate( false ),
-      mCacheUpToDate2( false )
-{}
-
-
-QgsSymbol::QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label, QColor c) : 
-      mLowerValue(lvalue),
-      mUpperValue(uvalue),
-      mLabel(label),
-      mType(t),
-      mPen( c ),
-      mBrush( c ),
-      mPointSymbolName( "hard:circle" ),
-      mPointSize( 6 ),
-      mPointSymbolPixmap(1,1),
-      mWidthScale(1.0),
-      mCacheUpToDate( false ),
-      mCacheUpToDate2( false )
-{}
-
-QgsSymbol::QgsSymbol()
-    : mPointSymbolName( "hard:circle" ),
-      mPointSize( 6 ),
-      mPointSymbolPixmap(1,1),
-      mWidthScale(1.0),
-      mCacheUpToDate( false ),
-      mCacheUpToDate2( false )
-{}
-
-
-QgsSymbol::QgsSymbol(QColor c)
-    : mPen( c ),
-      mBrush( c ),
-      mPointSymbolName( "hard:circle" ),
-      mPointSize( 6 ),
-      mPointSymbolPixmap(1,1),
-      mWidthScale(1.0),
-      mCacheUpToDate( false ),
-      mCacheUpToDate2( false )
-{}
-
-QgsSymbol::QgsSymbol(const QgsSymbol& s)
-{
-  if (this != &s)
-  {
-    mLowerValue = s.mLowerValue;
-    mUpperValue = s.mUpperValue;
-    mLabel = s.mLabel;
-    mType = s.mType;
-    mPen = s.mPen;
-    mBrush = s.mBrush;
-    mPointSymbolName = s.mPointSymbolName;
-    mPointSize = s.mPointSize;
-    mPointSymbolPixmap = s.mPointSymbolPixmap;
-    mPointSymbolPixmapSelected = s.mPointSymbolPixmapSelected;
-    mWidthScale = s.mWidthScale;
-    mPointSymbolPixmap2 = s.mPointSymbolPixmap2;
-    mPointSymbolPixmapSelected2 = s.mPointSymbolPixmapSelected2;
-    mCacheUpToDate = s.mCacheUpToDate;
-    mCacheUpToDate2 = s.mCacheUpToDate2;
-    mSelectionColor = s.mSelectionColor;
-    mSelectionColor2 = s.mSelectionColor2;
-  }
-}
-
-QgsSymbol::~QgsSymbol()
-{
-
-}
-
-
-QColor QgsSymbol::color() const
-{
-  return mPen.color();
-}
-
-void QgsSymbol::setColor(QColor c)
-{
-  mPen.setColor(c);
-  mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-QColor QgsSymbol::fillColor() const
-{
-  return mBrush.color();
-}
-
-void QgsSymbol::setFillColor(QColor c)
-{
-  mBrush.setColor(c);
-  mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-int QgsSymbol::lineWidth() const
-{
-  return mPen.width();
-}
-
-void QgsSymbol::setLineWidth(int w)
-{
-  mPen.setWidth(w);
-  mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-void QgsSymbol::setLineStyle( Qt::PenStyle s )
-{
-  mPen.setStyle(s);
-  mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-void QgsSymbol::setFillStyle( Qt::BrushStyle s )
-{
-  mBrush.setStyle(s);
-  mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-void QgsSymbol::setNamedPointSymbol(QString name)
-{
-    mPointSymbolName = name;
-    mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-QString QgsSymbol::pointSymbolName() const
-{
-    return mPointSymbolName;
-}
-
-void QgsSymbol::setPointSize(int s)
-{
-    if ( s < 3 )  
-	mPointSize = 3;
-    else 
-    	mPointSize = s;
-
-    mCacheUpToDate = mCacheUpToDate2 = false;
-}
-
-int QgsSymbol::pointSize() const
-{
-    return mPointSize;
-}
-
-
-QPixmap QgsSymbol::getLineSymbolAsPixmap()
-{
-    QPixmap pix(15, 15);
-    pix.fill();
-    QPainter p(&pix);
-    p.setPen(mPen);
-    p.drawLine(0, 0, 15, 15);
-    return pix; //this is ok because of qts sharing mechanism
-}
-
-QPixmap QgsSymbol::getPolygonSymbolAsPixmap()
-{
-   QPixmap pix(15, 15);
-   pix.fill();
-   QPainter p(&pix);
-   p.setPen(mPen);
-   p.setBrush(mBrush);
-   p.drawRect(0, 0, 15, 15);
-    return pix; //this is ok because of qts sharing mechanism 
-}
-
-QPixmap QgsSymbol::getPointSymbolAsPixmap(  double widthScale,
-               bool selected, QColor selectionColor )
-{
-
-	if ( !mCacheUpToDate 
-	     || ( selected && mSelectionColor != selectionColor ) )
-	{
-	    if ( selected ) {
-	        cache(  selectionColor );
-	    } else {
-	        cache(  mSelectionColor );
-	    }
-	}
-	if ( selected ) {
-	    return mPointSymbolPixmapSelected;
-	}
-        return mPointSymbolPixmap;
-
-}
-
-void QgsSymbol::cache(  QColor selectionColor )
-{
-    QPen pen = mPen;
-    pen.setColor ( selectionColor ); 
-    QBrush brush = mBrush;
-    // For symbols that have a different coloured border, the line
-    // below causes the fill colour to be wrong for the print
-    // composer. Not sure why... 
-    // brush.setColor ( selectionColor ); 
-
-    mPointSymbolPixmap = QgsMarkerCatalogue::instance()->pixmapMarker ( mPointSymbolName, mPointSize,
-	                        mPen, mBrush );
-    
-    mPointSymbolPixmapSelected = QgsMarkerCatalogue::instance()->pixmapMarker ( 
-	     mPointSymbolName, mPointSize, pen, brush );
-
-    mSelectionColor = selectionColor;
-    mCacheUpToDate = true;
-}
-
-void QgsSymbol::cache2( double widthScale, QColor selectionColor )
-{
-    //std::cerr << "QgsSymbol::cache2 widthScale = " << widthScale << std::endl;
-
-    QPen pen = mPen;
-    pen.setWidth ( (int) ( widthScale * pen.width() ) );
-
-    
-    mPointSymbolPixmap2 = QgsMarkerCatalogue::instance()->pixmapMarker ( mPointSymbolName, mPointSize,
-	                        pen, mBrush, false );
-
-    QBrush brush = mBrush;
-    brush.setColor ( selectionColor ); 
-    pen.setColor ( selectionColor ); 
-
-    mPointSymbolPixmapSelected2 = QgsMarkerCatalogue::instance()->pixmapMarker ( 
-	               mPointSymbolName, mPointSize, pen, brush,  false );
-
-    mSelectionColor2 = selectionColor;
-    
-    mWidthScale = widthScale;
-    mCacheUpToDate2 = true;
-}
-
-bool QgsSymbol::writeXML( QDomNode & item, QDomDocument & document ) const
-{
-    bool returnval = false;
-    returnval = true; // no error checking yet
-    QDomElement symbol=document.createElement("symbol");
-    item.appendChild(symbol);
-
-    QDomElement lowervalue=document.createElement("lowervalue");
-    QDomText lowervaluetxt=document.createTextNode(mLowerValue);
-    symbol.appendChild(lowervalue);
-    lowervalue.appendChild(lowervaluetxt);
-
-    QDomElement uppervalue=document.createElement("uppervalue");
-    QDomText uppervaluetxt=document.createTextNode(mUpperValue);
-    symbol.appendChild(uppervalue);
-    uppervalue.appendChild(uppervaluetxt);
-
-    QDomElement label=document.createElement("label");
-    QDomText labeltxt=document.createTextNode(mLabel);
-    symbol.appendChild(label);
-    label.appendChild(labeltxt);
-
-    QDomElement pointsymbol=document.createElement("pointsymbol");
-    QDomText pointsymboltxt=document.createTextNode(pointSymbolName());
-    symbol.appendChild(pointsymbol);
-    pointsymbol.appendChild(pointsymboltxt);
-
-    QDomElement pointsize=document.createElement("pointsize");
-    QDomText pointsizetxt=document.createTextNode( QString::number(pointSize()) );
-    symbol.appendChild(pointsize);
-    pointsize.appendChild(pointsizetxt);
-
-    QDomElement outlinecolor=document.createElement("outlinecolor");
-    outlinecolor.setAttribute("red",QString::number(mPen.color().red()));
-    outlinecolor.setAttribute("green",QString::number(mPen.color().green()));
-    outlinecolor.setAttribute("blue",QString::number(mPen.color().blue()));
-    symbol.appendChild(outlinecolor);
-    QDomElement outlinestyle=document.createElement("outlinestyle");
-    QDomText outlinestyletxt=document.createTextNode(QgsSymbologyUtils::penStyle2QString(mPen.style()));
-    outlinestyle.appendChild(outlinestyletxt);
-    symbol.appendChild(outlinestyle);
-    QDomElement outlinewidth=document.createElement("outlinewidth");
-    QDomText outlinewidthtxt=document.createTextNode(QString::number(mPen.width()));
-    outlinewidth.appendChild(outlinewidthtxt);
-    symbol.appendChild(outlinewidth);
-    QDomElement fillcolor=document.createElement("fillcolor");
-    fillcolor.setAttribute("red",QString::number(mBrush.color().red()));
-    fillcolor.setAttribute("green",QString::number(mBrush.color().green()));
-    fillcolor.setAttribute("blue",QString::number(mBrush.color().blue()));
-    symbol.appendChild(fillcolor);
-    QDomElement fillpattern=document.createElement("fillpattern");
-    QDomText fillpatterntxt=document.createTextNode(QgsSymbologyUtils::brushStyle2QString(mBrush.style()));
-    fillpattern.appendChild(fillpatterntxt);
-    symbol.appendChild(fillpattern);
-    fillpattern.appendChild(fillpatterntxt);
-    
-    return returnval;
-}
-
-bool QgsSymbol::readXML( QDomNode & synode )
-{
-    // Legacy project file formats didn't have support for pointsymbol nor
-    // pointsize DOM elements.  Therefore we should check whether these
-    // actually exist.
-
-    QDomNode lvalnode = synode.namedItem("lowervalue");
-    if( ! lvalnode.isNull() )
-    {
-	QDomElement lvalelement = lvalnode.toElement();
-	mLowerValue=lvalelement.text();
-    }
-
-    QDomNode uvalnode = synode.namedItem("uppervalue");
-    if( ! uvalnode.isNull() )
-    {
-	QDomElement uvalelement = uvalnode.toElement();
-	mUpperValue=uvalelement.text();
-    }
-
-    QDomNode labelnode = synode.namedItem("label");
-    if( ! labelnode.isNull() )
-    {
-	QDomElement labelelement = labelnode.toElement();
-	mLabel=labelelement.text();
-    }
-
-    QDomNode psymbnode = synode.namedItem("pointsymbol");
-
-    if ( ! psymbnode.isNull() )
-    {
-        QDomElement psymbelement = psymbnode.toElement();
-        setNamedPointSymbol( psymbelement.text() );
-    }
-    
-    QDomNode psizenode = synode.namedItem("pointsize");
-    
-    if ( !  psizenode.isNull() )
-    {
-        QDomElement psizeelement = psizenode.toElement();
-        setPointSize( psizeelement.text().toInt() );
-    }
-
-    QDomNode outlcnode = synode.namedItem("outlinecolor");
-    QDomElement oulcelement = outlcnode.toElement();
-    int red = oulcelement.attribute("red").toInt();
-    int green = oulcelement.attribute("green").toInt();
-    int blue = oulcelement.attribute("blue").toInt();
-    setColor(QColor(red, green, blue));
-
-    QDomNode outlstnode = synode.namedItem("outlinestyle");
-    QDomElement outlstelement = outlstnode.toElement();
-    setLineStyle(QgsSymbologyUtils::qString2PenStyle(outlstelement.text()));
-
-    QDomNode outlwnode = synode.namedItem("outlinewidth");
-    QDomElement outlwelement = outlwnode.toElement();
-    setLineWidth(outlwelement.text().toInt());
-
-    QDomNode fillcnode = synode.namedItem("fillcolor");
-    QDomElement fillcelement = fillcnode.toElement();
-    red = fillcelement.attribute("red").toInt();
-    green = fillcelement.attribute("green").toInt();
-    blue = fillcelement.attribute("blue").toInt();
-    setFillColor(QColor(red, green, blue));
-
-    QDomNode fillpnode = synode.namedItem("fillpattern");
-    QDomElement fillpelement = fillpnode.toElement();
-    setFillStyle(QgsSymbologyUtils::qString2BrushStyle(fillpelement.text()));
-
-    return true;
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgssymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssymbol.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,218 +0,0 @@
-/***************************************************************************
-                          qgssymbol.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssymbol.h 5448 2006-05-13 22:38:05Z g_j_m $ */
-
-#ifndef QGSSYMBOL_H
-#define QGSSYMBOL_H
-
-#include <iostream>
-
-#include "qgis.h"
-#include <QBrush>
-#include <QPen>
-#include <QPixmap>
-#include <QDomNode>
-
-class QString;
-
-/**Encapsulates settings for drawing (QPen, QBrush, Point symbol) and classification
- (lower value, upper value)*/
-class QgsSymbol{
-
- public:
-    /**Constructor*/
-    QgsSymbol(QGis::VectorType t, QString lvalue="", QString uvalue="", QString label="");
-    /**Constructor*/
-    QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label, QColor c);
-    QgsSymbol(const QgsSymbol&);
-    /**old constructors*/
-    QgsSymbol();
-    QgsSymbol(QColor c);
-    /**Sets the brush*/
-    virtual void setBrush(QBrush b);
-    /**Gets a reference to m_brush, Don't use the brush to change color/style */
-    virtual const QBrush& brush() const;
-    /**Set the color*/
-    virtual void setColor(QColor c);
-    /**Get the current color*/
-    virtual QColor color() const;
-    /**Get the fill color*/
-    virtual QColor fillColor() const;
-    /**Sets the fill color*/
-    virtual void setFillColor(QColor c);
-    /**Get the line width*/
-    virtual int lineWidth() const;
-    /**Sets the line width*/
-    virtual void setLineWidth(int w);
-    /**Sets the pen*/
-    virtual void setPen(QPen p);
-    /**Gets a reference to m_pen. Don't use the pen to change color/style  */
-    virtual const QPen& pen() const;
-
-    /**Set the line (pen) style*/
-    virtual void setLineStyle(Qt::PenStyle s);
-    /**Set the fill (brush) style*/
-    virtual void setFillStyle(Qt::BrushStyle s);
-    virtual void setLowerValue(QString value);
-    virtual QString lowerValue() const;
-    virtual void setUpperValue(QString value);
-    virtual QString upperValue() const;
-    virtual void setLabel(QString label);
-    virtual QString label() const;
-
-    /**Set point symbol from name*/
-    virtual void setNamedPointSymbol(QString name);
-    /**Get point symbol*/
-    virtual QString pointSymbolName() const;
-    /**Set size*/
-    virtual void setPointSize(int s);
-    /**Get size*/
-    virtual int pointSize() const;
-    //! Destructor
-    virtual ~QgsSymbol();
-
-    //! Get a little icon for the legend
-    virtual QPixmap getLineSymbolAsPixmap();
-
-    //! Get a little icon for the legend
-    virtual QPixmap getPolygonSymbolAsPixmap();
-    
-    /** Get QPixmap representation of point symbol with current settings
-      */
-    virtual QPixmap getPointSymbolAsPixmap( double widthScale = 1., 
-	               bool selected = false, QColor selectionColor = Qt::yellow );
-
-    /**Writes the contents of the symbol to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & item, QDomDocument & document ) const;
-    /**Reads the contents of the symbol from a configuration file
-     @ return true in case of success*/
-    virtual bool readXML( QDomNode & symbol );
-    /**Returns if this symbol is point/ line or polygon*/
-    QGis::VectorType type() const {return mType;}
-
- protected:
-    /**Lower value for classification*/
-    QString mLowerValue;
-    /**Upper value for classification*/
-    QString mUpperValue;
-    QString mLabel;
-    /**Vector type (point, line, polygon)*/
-    QGis::VectorType mType;
-
-    QPen mPen;
-    QBrush mBrush;
-    /* Point symbol name */
-    QString mPointSymbolName;
-    /* Point size */
-    int mPointSize; 
-
-    /* TODO Because for printing we always need a symbol without oversampling but with line width scale, 
-     *      we keep also separate picture with line width scale */
-
-    //
-    //
-    // NOTE THE LOGIC OF THESE MEMBER VARS NEED TO BE REVISITED NOW THAT
-    // I HAVE REMOVED SVG OVERSAMPLING (NEEDED IN QT3 WITH POOR SVG SUPPORT)
-    // Tim Sutton 2006 XXX FIXME
-    //
-    //
-
-    
-    /* Point symbol cache  */
-    QPixmap mPointSymbolPixmap;
-
-    /* Point symbol cache  */
-    QPixmap mPointSymbolPixmapSelected;
-
-    /* Current line width scale used by mPointSymbolVectorPixmap */
-    double mWidthScale;
-    
-    /* Point symbol cache but with line width scale mWidthScale */
-    QPixmap mPointSymbolPixmap2;
-    QPixmap mPointSymbolPixmapSelected2;
-    
-    /* Create point symbol mPointSymbolPixmap/mPointSymbolPixmap cache */
-    void cache(  QColor selectionColor );
-
-    /* Create point symbol mPointSymbolPixmap2 cache */
-    void cache2( double widthScale, QColor selectionColor );
-
-    /* mPointSymbolPixmap/mPointSymbolPixmap cache updated */
-    bool mCacheUpToDate;
-
-    /* mPointSymbolPixmap2 cache updated */
-    bool mCacheUpToDate2;
-
-    /* Selection color used in cache */
-    QColor mSelectionColor;
-    QColor mSelectionColor2;
-};
-
-inline void QgsSymbol::setBrush(QBrush b)
-{
-    mBrush=b;
-}
-
-inline const QBrush& QgsSymbol::brush() const
-{
-    return mBrush;
-}
-
-inline void QgsSymbol::setPen(QPen p)
-{
-    mPen=p;
-}
-
-inline const QPen& QgsSymbol::pen() const
-{
-    return mPen;
-}
-
-inline void QgsSymbol::setLowerValue(QString value)
-{
-    mLowerValue=value;
-}
-
-inline QString QgsSymbol::lowerValue() const
-{
-    return mLowerValue;
-}
-
-inline void QgsSymbol::setUpperValue(QString value)
-{
-    mUpperValue=value;
-}
-
-inline QString QgsSymbol::upperValue() const
-{
-    return mUpperValue;
-}
-
-inline void QgsSymbol::setLabel(QString label)
-{
-    mLabel=label;
-}
-
-inline QString QgsSymbol::label() const
-{
-    return mLabel;
-}
-
-#endif // QGSSYMBOL_H
-
-

Deleted: packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1221 +0,0 @@
-/***************************************************************************
-                         qgssymbologyutils.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssymbologyutils.cpp 4502 2006-01-08 01:18:20Z timlinux $ */
-#include "qgssymbologyutils.h"
-//Added by qt3to4:
-#include <QPixmap>
-
-static const char *solidLineData[] = {
-  "60 26 4 1",
-  "a c None",
-  "# c None",
-  ". c None",
-  "b c #0000c5",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
-  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
-  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
-  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
-};
-
-static const char *dashLineData[] = {
-  "60 26 4 1",
-  "a c None",
-  "# c None",
-  ". c None",
-  "b c #0000c5",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "bbbbbbbbbbbba.a.abbbbbbbbbbbb.a.a.bbbbbbbbbbbba.a.abbbbbbbbb",
-  "bbbbbbbbbbbb.#.#.bbbbbbbbbbbb#.#.#bbbbbbbbbbbb.#.#.bbbbbbbbb",
-  "bbbbbbbbbbbba.a.abbbbbbbbbbbb.a.a.bbbbbbbbbbbba.a.abbbbbbbbb",
-  "bbbbbbbbbbbb.#.#.bbbbbbbbbbbb#.#.#bbbbbbbbbbbb.#.#.bbbbbbbbb",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
-};
-
-static const char *dotLineData[] = {
-  "60 26 4 1",
-  "a c None",
-  "# c None",
-  ". c None",
-  "b c #0000c5",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbb",
-  "bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb",
-  "bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbb",
-  "bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
-};
-
-static const char *dashDotLineData[] = {
-  "60 26 4 1",
-  "a c None",
-  "# c None",
-  ". c None",
-  "b c #0000c5",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbb",
-  "bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb",
-  "bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbb",
-  "bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
-};
-
-static const char *dashDotDotLineData[] = {
-  "60 26 5 1",
-  "a c None",
-  "# c None",
-  ". c None",
-  "c c #0000c5",
-  "b c None",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
-  "cccccccccccca.a.cccca.a.cccca.a.cccccccccccca.a.cccca.a.cccc",
-  "cccccccccccc.#.#cccc.#.#cccc.#.#cccccccccccc.#.#cccc.#.#cccc",
-  "cccccccccccca.a.cccca.a.cccca.a.cccccccccccca.a.cccca.a.cccc",
-  "cccccccccccc.#.#cccc.#.#cccc.#.#cccccccccccc.#.#cccc.#.#cccc",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
-};
-
-static const char *noPenLineData[] = {
-"60 26 3 1",
-"a c None",
-"# c None",
-". c None",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
-".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."};
-
-static const char *solidData[] = {
-  "50 20 1 1",
-  ". c #3155c5",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  ".................................................."
-};
-
-static const char *fdiagData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".......#.......#.......#.......#.......#.......#..",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "..#.......#.......#.......#.......#.......#.......",
-  "...#.......#.......#.......#.......#.......#......",
-  "....#.......#.......#.......#.......#.......#.....",
-  ".....#.......#.......#.......#.......#.......#....",
-  "......#.......#.......#.......#.......#.......#...",
-  ".......#.......#.......#.......#.......#.......#..",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "..#.......#.......#.......#.......#.......#.......",
-  "...#.......#.......#.......#.......#.......#......",
-  "....#.......#.......#.......#.......#.......#.....",
-  ".....#.......#.......#.......#.......#.......#....",
-  "......#.......#.......#.......#.......#.......#...",
-  ".......#.......#.......#.......#.......#.......#..",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "..#.......#.......#.......#.......#.......#......."
-};
-
-static const char *dense4Data[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#."
-};
-
-static const char *horizontalData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  "..................................................",
-  "..................................................",
-  "##################################################",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "##################################################",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "##################################################",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  ".................................................."
-};
-
-static const char *dense5Data[] = {
-  "50 20 2 1",
-  ". c #3155c5",
-  "# c #ffffff",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###."
-};
-
-static const char *diagCrossData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  "...#.......#.......#.......#.......#.......#......",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
-  ".......#.......#.......#.......#.......#.......#..",
-  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  "...#.......#.......#.......#.......#.......#......",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
-  ".......#.......#.......#.......#.......#.......#..",
-  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  "...#.......#.......#.......#.......#.......#......",
-  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#"
-};
-
-static const char *dense1Data[] = {
-  "50 20 2 1",
-  ". c #3155c5",
-  "# c #ffffff",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "..................................................",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  ".................................................."
-};
-
-static const char *dense6Data[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  "..................................................",
-  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#...",
-  "..................................................",
-  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
-  "..................................................",
-  "..#...#...#...#...#...#...#...#...#...#...#...#..."
-};
-
-static const char *verticalData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#.."
-};
-
-static const char *dense7Data[] = {
-  "50 20 2 1",
-  ". c #3155c5",
-  "# c #ffffff",
-  "##################################################",
-  "##################################################",
-  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
-  "##################################################",
-  "##################################################",
-  "##################################################",
-  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
-  "##################################################",
-  "##################################################",
-  "##################################################",
-  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
-  "##################################################",
-  "##################################################",
-  "##################################################",
-  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
-  "##################################################",
-  "##################################################",
-  "##################################################",
-  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
-  "##################################################"
-};
-
-static const char *crossData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  "##################################################",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  "##################################################",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  "##################################################",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#..",
-  ".....#.....#.....#.....#.....#.....#.....#.....#.."
-};
-
-static const char *dense2Data[] = {
-  "50 20 2 1",
-  ". c #3155c5",
-  "# c #ffffff",
-  "..................................................",
-  "...#...#...#...#...#...#...#...#...#...#...#...#..",
-  "..................................................",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..................................................",
-  "...#...#...#...#...#...#...#...#...#...#...#...#..",
-  "..................................................",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..................................................",
-  "...#...#...#...#...#...#...#...#...#...#...#...#..",
-  "..................................................",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..................................................",
-  "...#...#...#...#...#...#...#...#...#...#...#...#..",
-  "..................................................",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
-  "..................................................",
-  "...#...#...#...#...#...#...#...#...#...#...#...#..",
-  "..................................................",
-  ".#...#...#...#...#...#...#...#...#...#...#...#...#"
-};
-
-static const char *bdiagData[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".......#.......#.......#.......#.......#.......#..",
-  "......#.......#.......#.......#.......#.......#...",
-  ".....#.......#.......#.......#.......#.......#....",
-  "....#.......#.......#.......#.......#.......#.....",
-  "...#.......#.......#.......#.......#.......#......",
-  "..#.......#.......#.......#.......#.......#.......",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".......#.......#.......#.......#.......#.......#..",
-  "......#.......#.......#.......#.......#.......#...",
-  ".....#.......#.......#.......#.......#.......#....",
-  "....#.......#.......#.......#.......#.......#.....",
-  "...#.......#.......#.......#.......#.......#......",
-  "..#.......#.......#.......#.......#.......#.......",
-  ".#.......#.......#.......#.......#.......#.......#",
-  "#.......#.......#.......#.......#.......#.......#.",
-  ".......#.......#.......#.......#.......#.......#..",
-  "......#.......#.......#.......#.......#.......#..."
-};
-
-static const char *dense3Data[] = {
-  "50 20 2 1",
-  "# c #3155c5",
-  ". c #ffffff",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
-  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
-  "###.###.###.###.###.###.###.###.###.###.###.###.##"
-};
-
-static const char *nobrush[] = {
-  "50 20 2 1",
-  "# c None",
-  ". c #3155c5",
-  ".................................................."
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".################################################.",
-  ".................................................."
-};
-
-QString QgsSymbologyUtils::penStyle2QString(Qt::PenStyle penstyle)
-{
-  if (penstyle == Qt::NoPen)
-    {
-      return "NoPen";
-  } else if (penstyle == Qt::SolidLine)
-    {
-      return "SolidLine";
-  } else if (penstyle == Qt::DashLine)
-    {
-      return "DashLine";
-  } else if (penstyle == Qt::DotLine)
-    {
-      return "DotLine";
-  } else if (penstyle == Qt::DashDotLine)
-    {
-      return "DashDotLine";
-  } else if (penstyle == Qt::DashDotDotLine)
-    {
-      return "DashDotDotLine";
-  } else if (penstyle == Qt::MPenStyle)
-    {
-      return "MPenStyle";
-  } else                        //return a null string 
-    {
-      return QString();
-    }
-}
-
-Qt::PenStyle QgsSymbologyUtils::qString2PenStyle(QString penString)
-{
-  if (penString == "NoPen")
-    {
-      return Qt::NoPen;
-  } else if (penString == "SolidLine")
-    {
-      return Qt::SolidLine;
-  } else if (penString == "DashLine")
-    {
-      return Qt::DashLine;
-  } else if (penString == "DotLine")
-    {
-      return Qt::DotLine;
-  } else if (penString == "DashDotLine")
-    {
-      return Qt::DashDotLine;
-  } else if (penString == "DashDotDotLine")
-    {
-      return Qt::DashDotDotLine;
-  } else if (penString == "MPenStyle")
-    {
-      return Qt::MPenStyle;
-  } else
-    {
-      return Qt::NoPen;
-    }
-}
-
-QString QgsSymbologyUtils::brushStyle2QString(Qt::BrushStyle brushstyle)
-{
-  if (brushstyle == Qt::NoBrush)
-    {
-      return "NoBrush";
-  } else if (brushstyle == Qt::SolidPattern)
-    {
-      return "SolidPattern";
-  } else if (brushstyle == Qt::Dense1Pattern)
-    {
-      return "Dense1Pattern";
-  } else if (brushstyle == Qt::Dense2Pattern)
-    {
-      return "Dense2Pattern";
-  } else if (brushstyle == Qt::Dense3Pattern)
-    {
-      return "Dense3Pattern";
-  } else if (brushstyle == Qt::Dense4Pattern)
-    {
-      return "Dense4Pattern";
-  } else if (brushstyle == Qt::Dense5Pattern)
-    {
-      return "Dense5Pattern";
-  } else if (brushstyle == Qt::Dense6Pattern)
-    {
-      return "Dense6Pattern";
-  } else if (brushstyle == Qt::Dense7Pattern)
-    {
-      return "Dense7Pattern";
-  } else if (brushstyle == Qt::HorPattern)
-    {
-      return "HorPattern";
-  } else if (brushstyle == Qt::VerPattern)
-    {
-      return "VerPattern";
-  } else if (brushstyle == Qt::CrossPattern)
-    {
-      return "CrossPattern";
-  } else if (brushstyle == Qt::BDiagPattern)
-    {
-      return "BDiagPattern";
-  } else if (brushstyle == Qt::FDiagPattern)
-    {
-      return "FDiagPattern";
-  } else if (brushstyle == Qt::DiagCrossPattern)
-    {
-      return "DiagCrossPattern";
-  } else if (brushstyle == Qt::TexturePattern)
-    {
-      return "CustomPattern";
-  } else                        //return a null string
-    {
-      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::brushStyle2QString");
-      return " ";
-    }
-}
-
-Qt::BrushStyle QgsSymbologyUtils::qString2BrushStyle(QString brushString)
-{
-  if (brushString == "NoBrush")
-    {
-      return Qt::NoBrush;
-  } else if (brushString == "SolidPattern")
-    {
-      return Qt::SolidPattern;
-  } else if (brushString == "Dense1Pattern")
-    {
-      return Qt::Dense1Pattern;
-  } else if (brushString == "Dense2Pattern")
-    {
-      return Qt::Dense2Pattern;
-  } else if (brushString == "Dense3Pattern")
-    {
-      return Qt::Dense3Pattern;
-  } else if (brushString == "Dense4Pattern")
-    {
-      return Qt::Dense4Pattern;
-  } else if (brushString == "Dense5Pattern")
-    {
-      return Qt::Dense5Pattern;
-  } else if (brushString == "Dense6Pattern")
-    {
-      return Qt::Dense6Pattern;
-  } else if (brushString == "Dense7Pattern")
-    {
-      return Qt::Dense7Pattern;
-  } else if (brushString == "HorPattern")
-    {
-      return Qt::HorPattern;
-  } else if (brushString == "VerPattern")
-    {
-      return Qt::VerPattern;
-  } else if (brushString == "CrossPattern")
-    {
-      return Qt::CrossPattern;
-  } else if (brushString == "BDiagPattern")
-    {
-      return Qt::BDiagPattern;
-  } else if (brushString == "FDiagPattern")
-    {
-      return Qt::FDiagPattern;
-  } else if (brushString == "DiagCrossPattern")
-    {
-      return Qt::DiagCrossPattern;
-  } else if (brushString == "CustomPattern")
-    {
-      return Qt::TexturePattern;
-  } else                        //return a null string
-    {
-      return Qt::NoBrush;
-    }
-}
-
-QPixmap QgsSymbologyUtils::qString2LinePixmap(QString lineString)
-{
-  if (lineString == "SolidLine")
-    {
-      return QPixmap(solidLineData);
-    }
-
-  if (lineString == "DashLine")
-    {
-      return QPixmap(dashLineData);
-    }
-
-  if (lineString == "DotLine")
-    {
-      return QPixmap(dotLineData);
-    }
-
-  if (lineString == "DashDotLine")
-    {
-      return QPixmap(dashDotLineData);
-    }
-
-  if (lineString == "DashDotDotLine")
-    {
-      return QPixmap(dashDotDotLineData);
-    }
-  if(lineString =="NoPen")
-    {
-      return QPixmap(noPenLineData);
-    }
-
-  return QPixmap();             // XXX I hope returning a blank one is ok
-}
-
-QPixmap QgsSymbologyUtils::qString2PatternPixmap(QString patternString)
-{
-  if (patternString == "SolidPattern")
-    {
-      return QPixmap(solidData);
-  } else if (patternString == "Dense1Pattern")
-    {
-      return QPixmap(dense1Data);
-  } else if (patternString == "Dense2Pattern")
-    {
-      return QPixmap(dense2Data);
-  } else if (patternString == "Dense3Pattern")
-    {
-      return QPixmap(dense3Data);
-  } else if (patternString == "Dense4Pattern")
-    {
-      return QPixmap(dense4Data);
-  } else if (patternString == "Dense5Pattern")
-    {
-      return QPixmap(dense5Data);
-  } else if (patternString == "Dense6Pattern")
-    {
-      return QPixmap(dense6Data);
-  } else if (patternString == "Dense7Pattern")
-    {
-      return QPixmap(dense7Data);
-  } else if (patternString == "HorPattern")
-    {
-      return QPixmap(horizontalData);
-  } else if (patternString == "VerPattern")
-    {
-      return QPixmap(verticalData);
-  } else if (patternString == "CrossPattern")
-    {
-      return QPixmap(crossData);
-  } else if (patternString == "BDiagPattern")
-    {
-      return QPixmap(bdiagData);
-  } else if (patternString == "FDiagPattern")
-    {
-      return QPixmap(fdiagData);
-  } else if (patternString == "DiagCrossPattern")
-    {
-      return QPixmap(diagCrossData);
-  } else if (patternString == "NoBrush")
-    {
-      return QPixmap(nobrush);
-  } else                        //return a null patternString
-    {
-      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::qString2PatternPixmap");
-      return QPixmap();
-    }
-}
-
-const char * QgsSymbologyUtils::penStyle2Char(Qt::PenStyle penstyle)
-{
-  if (penstyle == Qt::NoPen)
-    {
-      return "NoPen";
-  } else if (penstyle == Qt::SolidLine)
-    {
-      return "SolidLine";
-  } else if (penstyle == Qt::DashLine)
-    {
-      return "DashLine";
-  } else if (penstyle == Qt::DotLine)
-    {
-      return "DotLine";
-  } else if (penstyle == Qt::DashDotLine)
-    {
-      return "DashDotLine";
-  } else if (penstyle == Qt::DashDotDotLine)
-    {
-      return "DashDotDotLine";
-  } else if (penstyle == Qt::MPenStyle)
-    {
-      return "MPenStyle";
-  } else                        //return an empty char* 
-    {
-      return " ";
-    }
-}
-
-const char *QgsSymbologyUtils::brushStyle2Char(Qt::BrushStyle brushstyle)
-{
-  if (brushstyle == Qt::NoBrush)
-    {
-      return "NoBrush";
-  } else if (brushstyle == Qt::SolidPattern)
-    {
-      return "SolidPattern";
-  } else if (brushstyle == Qt::Dense1Pattern)
-    {
-      return "Dense1Pattern";
-  } else if (brushstyle == Qt::Dense2Pattern)
-    {
-      return "Dense2Pattern";
-  } else if (brushstyle == Qt::Dense3Pattern)
-    {
-      return "Dense3Pattern";
-  } else if (brushstyle == Qt::Dense4Pattern)
-    {
-      return "Dense4Pattern";
-  } else if (brushstyle == Qt::Dense5Pattern)
-    {
-      return "Dense5Pattern";
-  } else if (brushstyle == Qt::Dense6Pattern)
-    {
-      return "Dense6Pattern";
-  } else if (brushstyle == Qt::Dense7Pattern)
-    {
-      return "Dense7Pattern";
-  } else if (brushstyle == Qt::HorPattern)
-    {
-      return "HorPattern";
-  } else if (brushstyle == Qt::VerPattern)
-    {
-      return "VerPattern";
-  } else if (brushstyle == Qt::CrossPattern)
-    {
-      return "CrossPattern";
-  } else if (brushstyle == Qt::BDiagPattern)
-    {
-      return "BDiagPattern";
-  } else if (brushstyle == Qt::FDiagPattern)
-    {
-      return "FDiagPattern";
-  } else if (brushstyle == Qt::DiagCrossPattern)
-    {
-      return "DiagCrossPattern";
-  } else if (brushstyle == Qt::TexturePattern)
-    {
-      return "CustomPattern";
-  } else                        //return an empty char*
-    {
-      return " ";
-    }
-}
-
-QPixmap QgsSymbologyUtils::char2LinePixmap(const char *c)
-{
-  if (strcmp(c, "SolidLine") == 0)
-    {
-      return QPixmap(solidLineData);
-    }
-
-  else if (strcmp(c, "DashLine") == 0)
-    {
-      return QPixmap(dashLineData);
-    }
-
-  else if (strcmp(c, "DotLine") == 0)
-    {
-      return QPixmap(dotLineData);
-    }
-
-  else if (strcmp(c, "DashDotLine") == 0)
-    {
-      return QPixmap(dashDotLineData);
-    }
-
-  else if (strcmp(c, "DashDotDotLine") == 0)
-    {
-      return QPixmap(dashDotDotLineData);
-    }
-
-  else if (strcmp(c, "NoPen") == 0)
-    {
-      return QPixmap(noPenLineData);
-    }
-
-  else
-    {
-      qWarning("Warning, no matching style found in QgsSymbologyUtils::char2LinePixmap");
-      return QPixmap();
-    }
-}
-
-QPixmap QgsSymbologyUtils::char2PatternPixmap(const char *c)
-{
-  if (strcmp(c, "SolidPattern") == 0)
-    {
-      return QPixmap(solidData);
-  } else if (strcmp(c, "Dense1Pattern") == 0)
-    {
-      return QPixmap(dense1Data);
-  } else if (strcmp(c, "Dense2Pattern") == 0)
-    {
-      return QPixmap(dense2Data);
-  } else if (strcmp(c, "Dense3Pattern") == 0)
-    {
-      return QPixmap(dense3Data);
-  } else if (strcmp(c, "Dense4Pattern") == 0)
-    {
-      return QPixmap(dense4Data);
-  } else if (strcmp(c, "Dense5Pattern") == 0)
-    {
-      return QPixmap(dense5Data);
-  } else if (strcmp(c, "Dense6Pattern") == 0)
-    {
-      return QPixmap(dense6Data);
-  } else if (strcmp(c, "Dense7Pattern") == 0)
-    {
-      return QPixmap(dense7Data);
-  } else if (strcmp(c, "HorPattern") == 0)
-    {
-      return QPixmap(horizontalData);
-  } else if (strcmp(c, "VerPattern") == 0)
-    {
-      return QPixmap(verticalData);
-  } else if (strcmp(c, "CrossPattern") == 0)
-    {
-      return QPixmap(crossData);
-  } else if (strcmp(c, "BDiagPattern") == 0)
-    {
-      return QPixmap(bdiagData);
-  } else if (strcmp(c, "FDiagPattern") == 0)
-    {
-      return QPixmap(fdiagData);
-  } else if (strcmp(c, "DiagCrossPattern") == 0)
-    {
-      return QPixmap(diagCrossData);
-  } else if (strcmp(c, "NoBrush") == 0)
-    {
-      return QPixmap(nobrush);
-  } else
-    {
-      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::char2PatternPixmap");
-      return QPixmap();
-    }
-
-}
-
-Qt::PenStyle QgsSymbologyUtils::char2PenStyle(const char *c)
-{
-  if (strcmp(c, "NoPen") == 0)
-    {
-      return Qt::NoPen;
-  } else if (strcmp(c, "SolidLine") == 0)
-    {
-      return Qt::SolidLine;
-  } else if (strcmp(c, "DashLine") == 0)
-    {
-      return Qt::DashLine;
-  } else if (strcmp(c, "DotLine") == 0)
-    {
-      return Qt::DotLine;
-  } else if (strcmp(c, "DashDotLine") == 0)
-    {
-      return Qt::DashDotLine;
-  } else if (strcmp(c, "DashDotDotLine") == 0)
-    {
-      return Qt::DashDotDotLine;
-  } else if (strcmp(c, "MPenStyle") == 0)
-    {
-      return Qt::MPenStyle;
-  } else
-    {
-      qWarning("Warning, no matching pen style found in QgsSymbologyUtils::char2PenStyle");
-      return Qt::NoPen;
-    }
-}
-
-Qt::BrushStyle QgsSymbologyUtils::char2BrushStyle(const char *c)
-{
-  if (strcmp(c, "SolidPattern") == 0)
-    {
-      return Qt::SolidPattern;
-  } else if (strcmp(c, "Dense1Pattern") == 0)
-    {
-      return Qt::Dense1Pattern;
-  } else if (strcmp(c, "Dense2Pattern") == 0)
-    {
-      return Qt::Dense2Pattern;
-  } else if (strcmp(c, "Dense3Pattern") == 0)
-    {
-      return Qt::Dense3Pattern;
-  } else if (strcmp(c, "Dense4Pattern") == 0)
-    {
-      return Qt::Dense4Pattern;
-  } else if (strcmp(c, "Dense5Pattern") == 0)
-    {
-      return Qt::Dense5Pattern;
-  } else if (strcmp(c, "Dense6Pattern") == 0)
-    {
-      return Qt::Dense6Pattern;
-  } else if (strcmp(c, "Dense7Pattern") == 0)
-    {
-      return Qt::Dense7Pattern;
-  } else if (strcmp(c, "HorPattern") == 0)
-    {
-      return Qt::HorPattern;
-  } else if (strcmp(c, "VerPattern") == 0)
-    {
-      return Qt::VerPattern;
-  } else if (strcmp(c, "CrossPattern") == 0)
-    {
-      return Qt::CrossPattern;
-  } else if (strcmp(c, "BDiagPattern") == 0)
-    {
-      return Qt::BDiagPattern;
-  } else if (strcmp(c, "FDiagPattern") == 0)
-    {
-      return Qt::FDiagPattern;
-  } else if (strcmp(c, "DiagCrossPattern") == 0)
-    {
-      return Qt::DiagCrossPattern;
-  } else if (strcmp(c, "CustomPattern") == 0)
-    {
-      return Qt::TexturePattern;
-  } else if(strcmp(c, "NoBrush") == 0)
-{
-    return Qt::NoBrush;
-}else                        //return a null string
-    {
-      qWarning("Warning, no matching brush style found in QgsSymbologyUtils::char2BrushStyle");
-      return Qt::NoBrush;
-    }
-}
-
-QPixmap QgsSymbologyUtils::penStyle2Pixmap(Qt::PenStyle penstyle)
-{
-  switch (penstyle)
-    {
-      case (Qt::SolidLine):
-        return QPixmap(solidLineData);
-        break;
-      case (Qt::DashLine):
-        return QPixmap(dashLineData);
-        break;
-      case (Qt::DotLine):
-        return QPixmap(dotLineData);
-        break;
-      case (Qt::DashDotLine):
-        return QPixmap(dashDotLineData);
-        break;
-      case (Qt::DashDotDotLine):
-        return QPixmap(dashDotDotLineData);
-        break;
-      case (Qt::NoPen):
-	return QPixmap(noPenLineData);
-	break;
-      default:
-        qWarning("Warning, no matching pen style found in QgsSymbologyUtils::penStyle2Pixmap");
-        return QPixmap();
-    }
-}
-
-QPixmap QgsSymbologyUtils::brushStyle2Pixmap(Qt::BrushStyle brushstyle)
-{
-  switch (brushstyle)
-    {
-      case (Qt::SolidPattern):
-        return QPixmap(solidData);
-        break;
-      case (Qt::Dense1Pattern):
-        return QPixmap(dense1Data);
-        break;
-      case (Qt::Dense2Pattern):
-        return QPixmap(dense2Data);
-        break;
-      case (Qt::Dense3Pattern):
-        return QPixmap(dense3Data);
-        break;
-      case (Qt::Dense4Pattern):
-        return QPixmap(dense4Data);
-        break;
-      case (Qt::Dense5Pattern):
-        return QPixmap(dense5Data);
-        break;
-      case (Qt::Dense6Pattern):
-        return QPixmap(dense6Data);
-        break;
-      case (Qt::Dense7Pattern):
-        return QPixmap(dense7Data);
-        break;
-      case (Qt::HorPattern):
-        return QPixmap(horizontalData);
-        break;
-      case (Qt::VerPattern):
-        return QPixmap(verticalData);
-        break;
-      case (Qt::CrossPattern):
-        return QPixmap(crossData);
-        break;
-      case (Qt::BDiagPattern):
-        return QPixmap(bdiagData);
-        break;
-      case (Qt::FDiagPattern):
-        return QPixmap(fdiagData);
-        break;
-      case (Qt::DiagCrossPattern):
-        return QPixmap(diagCrossData);
-        break;
-      case (Qt::NoBrush):
-        return QPixmap(nobrush);
-      default:
-        qWarning("Warning, no matching pattern found in QgsSymbologyUtils::brushStyle2Pixmap");
-    }
-
-  return QPixmap();             // XXX I hope returning a blank one is ok
-}

Deleted: packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgssymbologyutils.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,45 +0,0 @@
-/***************************************************************************
-                         qgssymbologyutils.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssymbologyutils.h 4502 2006-01-08 01:18:20Z timlinux $ */
-
-#ifndef QGSSYMBOLOGYUTILS_H
-#define QGSSYMBOLOGYUTILS_H
-
-#include <qnamespace.h> 
-#include <qstring.h>
-#include <qpixmap.h>
-
-/**Namespace containing static methods which are useful for the symbology widgets*/
-namespace QgsSymbologyUtils
-{
-    QPixmap qString2LinePixmap(QString string);
-    QPixmap char2LinePixmap(const char* c);
-    QPixmap qString2PatternPixmap(QString string);
-    QPixmap char2PatternPixmap(const char* c);
-    QString penStyle2QString(Qt::PenStyle penstyle);
-    const char* penStyle2Char(Qt::PenStyle penstyle);
-    QPixmap penStyle2Pixmap(Qt::PenStyle penstyle);
-    Qt::PenStyle qString2PenStyle(QString string);
-    Qt::PenStyle char2PenStyle(const char* c);
-    QString brushStyle2QString(Qt::BrushStyle brushstyle);
-    const char* brushStyle2Char(Qt::BrushStyle brushstyle);
-    QPixmap brushStyle2Pixmap(Qt::BrushStyle brushstyle);
-    Qt::BrushStyle qString2BrushStyle(QString string);
-    Qt::BrushStyle char2BrushStyle(const char* c);
-}
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,56 +12,92 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsvectordataprovider.cpp 5595 2006-07-14 03:11:25Z morb_au $ */
+/* $Id: qgsvectordataprovider.cpp 7063 2007-07-06 13:39:41Z mhugent $ */
 
+#include <QTextCodec>
+
+#include <cfloat> // for DBL_MAX
+
 #include "qgsvectordataprovider.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
-#include "qgssearchtreenode.h"
+#include "qgslogger.h"
 
-QgsVectorDataProvider::QgsVectorDataProvider()
-    : mEncoding(QTextCodec::codecForLocale())
+QgsVectorDataProvider::QgsVectorDataProvider(QString uri)
+    : QgsDataProvider(uri),
+      mCacheMinMaxDirty(TRUE),
+      mEncoding(QTextCodec::codecForLocale()),
+      mFetchFeaturesWithoutGeom(FALSE)
 {
 }
 
-QgsVectorDataProvider::QgsVectorDataProvider( QString const & uri )
-    : QgsDataProvider(uri),
-      mEncoding(QTextCodec::codecForLocale())
+
+QgsVectorDataProvider::~QgsVectorDataProvider()
 {
 }
 
+QString QgsVectorDataProvider::storageType() const
+{
+  return "Generic vector file";
+}
 
-bool QgsVectorDataProvider::addFeatures(std::list<QgsFeature*> flist)
+long QgsVectorDataProvider::updateFeatureCount()
 {
+  return -1;
+}
+
+bool QgsVectorDataProvider::getFeatureAtId(int featureId,
+                                      QgsFeature& feature,
+                                      bool fetchGeometry,
+                                      QgsAttributeList fetchAttributes)
+{
+  select(fetchAttributes, QgsRect(), fetchGeometry);
+  
+  while (getNextFeature(feature))
+  {
+    if (feature.featureId() == featureId)
+      return TRUE;
+  }
+  
+  return FALSE;
+}
+
+QString QgsVectorDataProvider::dataComment() const
+{
+    return QString();
+}
+
+bool QgsVectorDataProvider::addFeatures(QgsFeatureList & flist)
+{
   return false;
 }
 
-bool QgsVectorDataProvider::deleteFeatures(std::list<int> const & id)
+bool QgsVectorDataProvider::deleteFeatures(const QgsFeatureIds & id)
 {
   return false;
 }
 
-bool QgsVectorDataProvider::addAttributes(std::map<QString,QString> const & name)
+bool QgsVectorDataProvider::addAttributes(const QgsNewAttributesMap & attributes)
 {
   return false;
 }
 
-bool QgsVectorDataProvider::deleteAttributes(std::set<QString> const & name)
+bool QgsVectorDataProvider::deleteAttributes(const QgsAttributeIds& attributes)
 {
   return false;
 }
 
-bool QgsVectorDataProvider::changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map)
+bool QgsVectorDataProvider::changeAttributeValues(const QgsChangedAttributesMap & attr_map)
 {
   return false;
 }
 
-QString QgsVectorDataProvider::getDefaultValue(const QString& attr, 
-    QgsFeature* f) {
-  return "";
+QVariant QgsVectorDataProvider::getDefaultValue(int fieldId)
+{
+  return QVariant();
 }
 
-bool QgsVectorDataProvider::changeGeometryValues(std::map<int, QgsGeometry> & geometry_map)
+bool QgsVectorDataProvider::changeGeometryValues(QgsGeometryMap & geometry_map)
 {
   return false;
 }
@@ -71,31 +107,33 @@
     return false;
 }
 
+int QgsVectorDataProvider::capabilities() const
+{
+  return QgsVectorDataProvider::NoCapabilities;
+}
+
+
 void QgsVectorDataProvider::setEncoding(const QString& e)
 {
-    QTextCodec* ncodec=QTextCodec::codecForName(e.toLocal8Bit().data());
-    if(ncodec)
-    {
-	mEncoding=ncodec;
-    }
-    else
-    {
-#ifdef QGISDEBUG
-	qWarning("error finding QTextCodec in QgsVectorDataProvider::setEncoding");
-#endif
-    }
+  QTextCodec* ncodec=QTextCodec::codecForName(e.toLocal8Bit().data());
+  if(ncodec)
+  {
+  	mEncoding=ncodec;
+  }
+  else
+  {
+    QgsDebugMsg("error finding QTextCodec for " + e);
+  }
 }
 
 QString QgsVectorDataProvider::encoding() const
 {
-    if(mEncoding)
-    {
-	return mEncoding->name();
-    }
-    else
-    {
-	return "";
-    }
+  if (mEncoding)
+  {
+    	return mEncoding->name();
+  }
+	
+  return "";
 }
 
 QString QgsVectorDataProvider::capabilitiesString() const
@@ -107,85 +145,51 @@
   if (abilities & QgsVectorDataProvider::AddFeatures)
   {
     abilitiesList += "Add Features";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Add Features" << std::endl;
-#endif
-
+    QgsDebugMsg("Capability: Add Features");
   }
 
   if (abilities & QgsVectorDataProvider::DeleteFeatures)
   {
     abilitiesList += "Delete Features";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Delete Features" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Delete Features");
   }
 
   if (abilities & QgsVectorDataProvider::ChangeAttributeValues)
   {
     abilitiesList += "Change Attribute Values";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Change Attribute Values" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Change Attribute Values");
   }
 
   if (abilities & QgsVectorDataProvider::AddAttributes)
   {
     abilitiesList += "Add Attributes";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Add Attributes" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Add Attributes");
   }
 
   if (abilities & QgsVectorDataProvider::DeleteAttributes)
   {
     abilitiesList += "Delete Attributes";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Delete Attributes" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Delete Attributes");
   }
 
-  if (abilities & QgsVectorDataProvider::SaveAsShapefile)
-  {
-    abilitiesList += "Save As Shapefile";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Save As Shapefile" << std::endl;
-#endif
-  }
-
   if (abilities & QgsVectorDataProvider::CreateSpatialIndex)
   {
     // TODO: Tighten up this test.  See QgsOgrProvider for details.
     abilitiesList += "Create Spatial Index";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Create Spatial Index" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Create Spatial Index");
   }
 
   if (abilities & QgsVectorDataProvider::SelectAtId)
   {
     // Not really meaningful to the user.
     // abilitiesList += "Select at ID";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Select at ID" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Select at ID");
   }
 
   if (abilities & QgsVectorDataProvider::ChangeGeometries)
   {
     abilitiesList += "Change Geometries";
-#ifdef QGISDEBUG
-        std::cerr << "QgsVectorDataProvider::capabilitiesString "
-          << "Change Geometries" << std::endl;
-#endif
+    QgsDebugMsg("Capability: Change Geometries");
   }
 
   if (abilities & QgsVectorDataProvider::SelectGeometryAtId)
@@ -194,26 +198,17 @@
     if (abilities & QgsVectorDataProvider::RandomSelectGeometryAtId)
     {
       abilitiesList += "Select Geometries by ID (random access)";
-#ifdef QGISDEBUG
-          std::cerr << "QgsVectorDataProvider::capabilitiesString "
-            << "Select Geometries by ID (random access)" << std::endl;
-#endif
+      QgsDebugMsg("Capability: Select Geometries by ID (random access)");
     }
     else if (abilities & QgsVectorDataProvider::SequentialSelectGeometryAtId)
     {
       abilitiesList += "Select Geometries by ID (sequential access)";
-#ifdef QGISDEBUG
-          std::cerr << "QgsVectorDataProvider::capabilitiesString "
-            << "Select Geometries by ID (sequential access)" << std::endl;
-#endif
+      QgsDebugMsg("Capability: Select Geometries by ID (sequential access)");
     }
     else
     {
       abilitiesList += "Select Geometries by ID (unknown access method)";
-#ifdef QGISDEBUG
-          std::cerr << "QgsVectorDataProvider::capabilitiesString "
-            << "Select Geometries by ID (unknown access method)" << std::endl;
-#endif
+      QgsDebugMsg("Capability: Select Geometries by ID (unknown access method)");
     }
   }
 
@@ -221,25 +216,127 @@
 
 }
 
-bool QgsVectorDataProvider::setAttributeFilter(const QgsSearchString& attributeFilter)
-{
-  mAttributeFilter = attributeFilter;
-  // TODO: maybe check if all referenced columns are there, return false if not
-  return true;
-}
 
 int QgsVectorDataProvider::indexFromFieldName(const QString& fieldName) const
 {
-  const std::vector<QgsField> theFields = fields();
-  int counter = 0;
+  const QgsFieldMap& theFields = fields();
 
-  for(std::vector<QgsField>::const_iterator it = theFields.begin(); it != theFields.end(); ++it)
+  for (QgsFieldMap::const_iterator it = theFields.begin(); it != theFields.end(); ++it)
+  {
+    if(it->name() == fieldName)
     {
-      if(it->name() == fieldName)
-	{
-	  return counter;
-	}
-      ++counter;
+      return it.key();
     }
+  }
   return -1;
 }
+
+QgsAttributeList QgsVectorDataProvider::allAttributesList()
+{
+  uint count = fieldCount();
+  QgsAttributeList list;
+
+  for (uint i = 0; i < count; i++)
+    list.append(i);
+
+  return list;
+}
+
+void QgsVectorDataProvider::setFetchFeaturesWithoutGeom(bool fetch)
+{
+  mFetchFeaturesWithoutGeom = fetch;
+}
+
+const QSet<QString>& QgsVectorDataProvider::supportedNativeTypes() const
+{
+  return mSupportedNativeTypes;
+}
+
+
+QVariant QgsVectorDataProvider::minValue(int index)
+{
+  if (!fields().contains(index))
+  {
+    QgsDebugMsg("Warning: access requested to invalid field index: " + QString::number(index));
+    return QVariant();
+  }
+  
+  if (mCacheMinMaxDirty)
+  {
+    fillMinMaxCache();
+  }
+  
+  if (!mCacheMinValues.contains(index))
+    return QVariant();
+  
+  return mCacheMinValues[index];
+}
+
+QVariant QgsVectorDataProvider::maxValue(int index)
+{
+  if (!fields().contains(index))
+  {
+    QgsDebugMsg("Warning: access requested to invalid field index: " + QString::number(index));
+    return QVariant();
+  }
+  
+  if (mCacheMinMaxDirty)
+  {
+    fillMinMaxCache();
+  }
+  
+  if (!mCacheMaxValues.contains(index))
+    return QVariant();
+  
+  return mCacheMaxValues[index];
+}
+
+void QgsVectorDataProvider::fillMinMaxCache()
+{
+  const QgsFieldMap& flds = fields();
+  for(QgsFieldMap::const_iterator it = flds.begin(); it != flds.end(); ++it)
+  {
+    if (it->type() == QVariant::Int)
+    {
+      mCacheMinValues[it.key()] = QVariant(INT_MAX);
+      mCacheMaxValues[it.key()] = QVariant(INT_MIN);
+    }
+    else if (it->type() == QVariant::Double)
+    {
+      mCacheMinValues[it.key()] = QVariant(DBL_MAX);
+      mCacheMaxValues[it.key()] = QVariant(-DBL_MAX);
+    }
+  }
+
+  QgsFeature f;
+  QgsAttributeList keys = mCacheMinValues.keys();
+  select(keys, QgsRect(), false);
+
+  while (getNextFeature(f))
+  {
+    QgsAttributeMap attrMap = f.attributeMap();
+    for (QgsAttributeList::const_iterator it = keys.begin(); it != keys.end(); ++it)
+    {
+      const QVariant& varValue = attrMap[*it];
+      
+      if (flds[*it].type() == QVariant::Int)
+      {
+        int value = varValue.toInt();
+        if (value < mCacheMinValues[*it].toInt())
+          mCacheMinValues[*it] = value;
+        if(value > mCacheMaxValues[*it].toInt())
+          mCacheMaxValues[*it] = value;  
+      }
+      else if (flds[*it].type() == QVariant::Double)
+      {
+        double value = varValue.toDouble();
+        if (value < mCacheMinValues[*it].toDouble())
+          mCacheMinValues[*it] = value;
+        if(value > mCacheMaxValues[*it].toDouble())
+          mCacheMaxValues[*it] = value;  
+      }
+    }
+  }
+
+  mCacheMinMaxDirty = FALSE;
+}

Modified: packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectordataprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,42 +12,41 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsvectordataprovider.h 5595 2006-07-14 03:11:25Z morb_au $ */
+/* $Id: qgsvectordataprovider.h 7063 2007-07-06 13:39:41Z mhugent $ */
 #ifndef QGSVECTORDATAPROVIDER_H
 #define QGSVECTORDATAPROVIDER_H
 
-class QgsGeometry;
 
-//Qt includes
-#include <set>
-#include <map>
-#include <vector>
-// XXX no signals or slots so not needed #include <qobject.h>
-#include <QTextCodec>
+class QTextCodec;
 
+#include <QList>
+#include <QSet>
+#include <QMap>
+
 //QGIS Includes
-#include <qgsdataprovider.h>
-#include <qgsspatialrefsys.h>
-#include <qgssearchstring.h>
+#include "qgis.h"
+#include "qgsdataprovider.h"
 
+#include "qgsvectorlayer.h"
+
+
 /** Base class for vector data providers
  */
- 
-class QgsVectorDataProvider : public QgsDataProvider
+class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider
 {
-
-    // XXX no  signals or slots, so not needed Q_OBJECT
-
     public:
 
       // If you add to this, please also add to capabilitiesString()
+      /**
+       * enumeration with capabilities that providers might implement
+       */
       enum Capability
       {
         NoCapabilities =                     0,
         AddFeatures =                        1,
         DeleteFeatures =               1 <<  1,
         ChangeAttributeValues =        1 <<  2,
-        AddAttributes =                1 <<  3,    // TODO: what is this exactly?
+        AddAttributes =                1 <<  3,
         DeleteAttributes =             1 <<  4,
         SaveAsShapefile =              1 <<  5,
         CreateSpatialIndex =           1 <<  6,
@@ -58,79 +57,68 @@
         SequentialSelectGeometryAtId = 1 << 11
       };
 
-      QgsVectorDataProvider();
+      /**
+       * Constructor of the vector provider
+       * @param uri  uniform resource locator (URI) for a dataset
+       */
+      QgsVectorDataProvider(QString uri = QString());
 
-      QgsVectorDataProvider( QString const & uri );
-
-      virtual ~QgsVectorDataProvider() {};
-
       /**
-       *   Returns the permanent storage type for this layer as a friendly name.
+       * Destructor
        */
-      virtual QString storageType() { return "Generic vector file"; };
+      virtual ~QgsVectorDataProvider();
 
       /**
-       * Select features based on a bounding rectangle. Features can be retrieved 
-       * with calls to getFirstFeature and getNextFeature. Request for features 
-       * for use in drawing the map canvas should set useIntersect to false.
-       * @param mbr QgsRect containing the extent to use in selecting features
-       * @param useIntersect If true, use the intersects function to select features
-       * rather than the PostGIS && operator that selects based on bounding box
-       * overlap.
-       *
+       * Returns the permanent storage type for this layer as a friendly name.
        */
-      virtual void select(QgsRect *mbr, bool useIntersect=false)=0;
+      virtual QString storageType() const;
+
+      /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+       * @param fetchAttributes list of attributes which should be fetched
+       * @param rect spatial filter
+       * @param fetchGeometry true if the feature geometry should be fetched
+       * @param useIntersect true if an accurate intersection test should be used,
+       *                     false if a test based on bounding box is sufficient
+       */
+      virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                          QgsRect rect = QgsRect(),
+                          bool fetchGeometry = true,
+                          bool useIntersect = false) = 0;
+
       /**
        * Update the feature count based on current spatial filter. If not
        * overridden in the data provider this function returns -1
        */
-      virtual long updateFeatureCount()
-      {
-        return -1;
-      }
-      
+      virtual long updateFeatureCount();
+
       /** 
        * Gets the feature at the given feature ID.
-       * @return  QgsFeature
+       * @param featureId id of the feature
+       * @param feature feature which will receive the data
+       * @param fetchGeoemtry if true, geometry will be fetched from the provider
+       * @param fetchAttributes a list containing the indexes of the attribute fields to copy
+       * @return True when feature was found, otherwise false
+       *
+       * Default implementation traverses all features until it finds the one with correct ID.
+       * In case the provider supports reading the feature directly, override this function.
        */
-      virtual QgsFeature * getFeatureAtId(int featureId)
-      {
-        return 0;
-      };
-      
-      /** 
-       * Get the first feature resulting from a select operation
-       * @return QgsFeature
-       */
-      virtual QgsFeature * getFirstFeature(bool fetchAttributes = false) = 0;
+      virtual bool getFeatureAtId(int featureId,
+                                  QgsFeature& feature,
+                                  bool fetchGeometry = true,
+                                  QgsAttributeList fetchAttributes = QgsAttributeList());
 
-      /** 
-       * Get the next feature resutling from a select operation
-       * @return QgsFeature
-       */
-      virtual QgsFeature * getNextFeature(bool fetchAttributes = false) = 0;
-
-      /**Get the next feature resulting from a select operation.
-       *@param attlist a list containing the indexes of the attribute fields to copy
-     * @param featureQueueSize   a hint to the provider as to how many features are likely to be retrieved in a batch
-       */
-//    virtual QgsFeature* getNextFeature(std::list<int> const & attlist) = 0;
-    
-      virtual QgsFeature* getNextFeature(std::list<int> const & attlist, int featureQueueSize = 1) { return 0; }
-
       /**
-       * Get the next feature using new method
-       * TODO - make this pure virtual once it works and change existing providers
-       *        to use this method of fetching features
+       * Get the next feature resulting from a select operation.
+       * @param feature feature which will receive data from the provider
+       * @return true when there was a feature to fetch, false when end was hit
        */
+      virtual bool getNextFeature(QgsFeature& feature) = 0;
 
-      virtual bool getNextFeature(QgsFeature &feature, bool fetchAttributes = false) = 0;
-
-      /** Get feature type.
-       * Gets the feature type as defined in WKBTYPE (qgis.h).
+      /**
+       * Get feature type.
        * @return int representing the feature type
        */
-      virtual int geometryType() const = 0;
+      virtual QGis::WKBTYPE geometryType() const = 0;
 
 
       /**
@@ -139,215 +127,163 @@
        */
       virtual long featureCount() const = 0;
 
+
       /**
-       * Get the attributes associated with a feature
-       * TODO: Get rid of "row" and set up provider-internal caching instead
+       * Number of attribute fields for a feature in the layer
        */
-      virtual void getFeatureAttributes(int key, int& row, QgsFeature *f) {};
+      virtual uint fieldCount() const = 0;
 
       /**
-       * Fetch geometry for a particular feature with id "key",
-       * modifies "f" in-place.
+       * Return a map of indexes with field names for this layer
+       * @return map of fields
+       */
+      virtual const QgsFieldMap & fields() const = 0;
+
+      /**
+       * Return a short comment for the data that this provider is
+       * providing access to (e.g. the comment for postgres table).
+       */
+      virtual QString dataComment() const;
+
+      /** Restart reading features from previous select operation */
+      virtual void reset() = 0;
+
+      /**
+       * Returns the minimum value of an attributs
+       * @param index the index of the attribute
        *
-       * This function is enabled if capabilities() returns "SelectGeometryAtId".
+       * Default implementation walks all numeric attributes and caches minimal
+       * and maximal values. If provider has facilities to retreive minimal
+       * value directly, override this function.
        */
-      virtual void getFeatureGeometry(int key, QgsFeature *f) {};
+      virtual QVariant minValue(int index);
 
       /**
-       * Number of attribute fields for a feature in the layer
+       * Returns the maximum value of an attributs
+       * @param index the index of the attribute
+       *
+       * Default implementation walks all numeric attributes and caches minimal
+       * and maximal values. If provider has facilities to retreive maximal
+       * value directly, override this function.
        */
-      virtual int fieldCount() const = 0;
+      virtual QVariant maxValue(int index);
 
       /**
-       * Return a list of field names for this layer
-       * @return vector of field names
+       * Adds a list of features
+       * @return true in case of success and false in case of failure
        */
-      virtual std::vector<QgsField> const & fields() const = 0;
+      virtual bool addFeatures(QgsFeatureList & flist);
 
       /** 
-       * Reset the layer to clear any spatial filtering or other contstraints that
-       * would prevent the entire record set from being traversed by call to 
-       * getNextFeature(). Some data stores may not require any special action to
-       * reset the layer. In this case, the provider should simply implement an empty
-       * function body.
+       * Deletes a feature
+       * @param id list containing feature ids to delete
+       * @return true in case of success and false in case of failure
        */
-      virtual void reset() = 0;
+      virtual bool deleteFeatures(const QgsFeatureIds & id);
 
-      /**Returns the minimum value of an attributs
-        @param position the number of the attribute*/
-      virtual QString minValue(int position) = 0;
+      /**
+       * Adds new attributes
+       * @param attributes map with attribute name as key and type as value
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool addAttributes(const QgsNewAttributesMap & attributes);
 
-      /**Returns the maximum value of an attributs
-        @param position the number of the attribute*/
-      virtual QString maxValue(int position) = 0;
+      /**
+       * Deletes existing attributes
+       * @param attributes a set containing names of attributes
+       * @return true in case of success and false in case of failure
+       */
+      virtual bool deleteAttributes(const QgsAttributeIds& attributes);
 
-      /**Adds a list of features
-        @return true in case of success and false in case of failure*/
-      virtual bool addFeatures(std::list<QgsFeature*> const flist);
+      /**
+       * Changes attribute values of existing features.
+       * @param attr_map a map containing changed attributes
+       * @return true in case of success and false in case of failure 
+       */
+      virtual bool changeAttributeValues(const QgsChangedAttributesMap & attr_map);
 
-      /**Deletes a feature
-        @param id list containing feature ids to delete
-        @return true in case of success and false in case of failure*/
-      virtual bool deleteFeatures(std::list<int> const & id);
-
-      /**Adds new attributes
-        @param name map with attribute name as key and type as value
-        @return true in case of success and false in case of failure*/
-      virtual bool addAttributes(std::map<QString,QString> const & name);
-
-      /**Deletes existing attributes
-        @param names of the attributes to delete
-        @return true in case of success and false in case of failure*/
-      virtual bool deleteAttributes(std::set<QString> const & name);
-
-      /**Changes attribute values of existing features
-        @param attr_map a map containing the new attributes. The integer is the feature id,
-        the first QString is the attribute name and the second one is the new attribute value
-        @return true in case of success and false in case of failure*/
-      virtual bool changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map);
-
-      /**Returns the default value for attribute @c attr for feature @c f. */
-      virtual QString getDefaultValue(const QString & attr, QgsFeature* f);
-
       /**
-       Changes geometries of existing features
-       @param geometry_map   A std::map containing the feature IDs to change the geometries of. 
-                             the second map parameter being the new geometries themselves
-       @return               true in case of success and false in case of failure
-     */
-    virtual bool changeGeometryValues(std::map<int, QgsGeometry> & geometry_map);
+       * Returns the default value for field specified by @c fieldId
+       */
+      virtual QVariant getDefaultValue(int fieldId);
 
-    /**
-       * Identify features within the search radius specified by rect
-       * @param rect Bounding rectangle of search radius
-       * @return std::vector containing QgsFeature objects that intersect rect
+      /**
+       * Changes geometries of existing features
+       * @param geometry_map   A std::map containing the feature IDs to change the geometries of. 
+       *                       the second map parameter being the new geometries themselves
+       * @return               true in case of success and false in case of failure
        */
-      virtual std::vector<QgsFeature>& identify(QgsRect *rect) = 0;
+      virtual bool changeGeometryValues(QgsGeometryMap & geometry_map);
 
-      /** saves current data as Shape file, if it can */
-      virtual bool saveAsShapefile()
-      {
-        // NOP by default
-        return false;
-      }
-
-      /**Creates a spatial index on the datasource (if supported by the provider type). Returns true in case of success*/
+      /**
+       * Creates a spatial index on the datasource (if supported by the provider type).
+       * @return true in case of success
+       */
       virtual bool createSpatialIndex();
 
-      /** Sets filter based on attribute values. Returns false when input string contains errors */
-      virtual bool setAttributeFilter(const QgsSearchString& attributeFilter);
-
-      /** Returns current attribute filter */
-      virtual QgsSearchString getAttributeFilter() { return mAttributeFilter; }
-      
       /** Returns a bitmask containing the supported capabilities
           Note, some capabilities may change depending on whether
           a spatial filter is active on this provider, so it may
           be prudent to check this value per intended operation.
        */
-      virtual int capabilities() const {return QgsVectorDataProvider::NoCapabilities;}
+      virtual int capabilities() const;
 
       /**
        *  Returns the above in friendly format.
        */
       QString capabilitiesString() const;
 
-      const std::list<QString>& nonNumericalTypes(){return mNonNumericalTypes;}
-      const std::list<QString>& numericalTypes(){return mNumericalTypes;}
-
+      /**
+       * Set encoding used for accessing data from layer
+       */
       virtual void setEncoding(const QString& e);
+      
+      /**
+       * Get encoding which is used for accessing data
+       */
       QString encoding() const;
-
-      /*! Indicates if the provider does its own coordinate transforms
-       * @return true if the provider transforms its coordinates, otherwise false
+      
+      /**
+       * Returns the index of a field name or -1 if the field does not exist
        */
-      virtual bool supportsNativeTransform(){return false;};
-      /*! Used to determine if the provider supports transformation using the
-       * SRID of the target SRS.
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       * @return true if SRID is used, otherwise false
+      int indexFromFieldName(const QString& fieldName) const;
+      
+      /**
+       * Return list of indexes to fetch all attributes in getNextFeature()
        */
-      virtual bool usesSrid(){return false;};
-      /*! Used to determine if the provider supports transformation using the
-       * WKT of the target SRS.
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       * @return true if WKT is used, otherwise false
-       */
-      virtual bool usesWKT(){return false;};
-      /*! Set the SRID of the target SRS.
-       * This is only implemented if the provider supports native
-       * transformation of its coordinates
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       * @param srid Spatial reference id of the target (map canvas)
-       */
-      virtual void setSrid(int srid){};
-      /*! Get the SRID of the target SRS
-       * If the provider isn't capable of reporting the SRID of
-       * the projection, ti will return 0
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       */
-      virtual int getSrid(){return 0;};
-      /*! Set the WKT of the target SRS.
-       * This is only implemented if the provider supports native
-       * transformation of its coordinates
-       *
-       * @note XXXXX WARNING THIS METHOD WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       * @param wkt Well known text of the target (map canvas) SRS
-       */
-      virtual void setWKT(QString wkt){};
+      virtual QgsAttributeList allAttributesList();
 
-      /**Returns the index of a field name or -1 if the field does not exist*/
-      int indexFromFieldName(const QString& fieldName) const;
+      /**Returns the names of the numerical types*/
+      const QSet<QString>& supportedNativeTypes() const;
 
+      /**
+       * Set whether provider should return also features that don't have
+       * associated geometry. FALSE by default
+       */
+      void setFetchFeaturesWithoutGeom(bool fetch);
+
     protected:
-      /**Encoding*/
+      
+      void fillMinMaxCache();
+      
+      bool mCacheMinMaxDirty;
+      QMap<int, QVariant> mCacheMinValues, mCacheMaxValues;
+
+
+      /** Encoding */
       QTextCodec* mEncoding;
-      /**List of type names for non-numerical types*/
-      std::list<QString> mNonNumericalTypes;
-      /**List of type names for numerical types*/
-      std::list<QString> mNumericalTypes;
-      /** attribute filter (in 'simple search string' format) */
-      QgsSearchString mAttributeFilter;
 
-      /** The spatial reference id of the map canvas. This is the 
-       * SRID the provider should transform its coordinates to if 
-       * supportsNativeTransform is true. Otherwise this member is unused.
-       *
-       * @note XXXXX WARNING THIS MEMBER WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       */
-      int mTargetSrid;
-      /** The WKT of the SRS of the map canvas. This is the 
-       * SRS the provider should transform its coordinates to if 
-       * supportsNativeTransform is true. Otherwise this member is unused.
-       * The provider may choose to support transformation using SRID or WKT.
-       *
-       * @note XXXXX WARNING THIS MEMBER WILL BE DEPRECATED
-       *       XXXXX in favour of SpatialRefSys accessors
-       *       XXXXX and mutators!
-       *
-       */
+      /** should provider fetch also features that don't have geometry? */
+      bool mFetchFeaturesWithoutGeom;
+
+      /**True if geometry should be added to the features in getNextFeature calls*/
+      bool mFetchGeom;
+
+      /**List of attribute indices to fetch with getNextFeature calls*/
+      QgsAttributeList mAttributesToFetch;
+
+      /**The names of the providers native types*/
+      QSet<QString> mSupportedNativeTypes;
 };
 
 #endif

Added: packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,331 @@
+/***************************************************************************
+                          qgsvectorfilewriter.cpp  
+                          generic vector file writer 
+                             -------------------
+    begin                : Sat Jun 16 2004
+    copyright            : (C) 2004 by Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsvectorfilewriter.cpp 7059 2007-07-04 15:43:44Z timlinux $ */
+
+#include "qgsfield.h"
+#include "qgsfeature.h"
+#include "qgsgeometry.h"
+#include "qgslogger.h"
+#include "qgsspatialrefsys.h"
+#include "qgsvectorfilewriter.h"
+#include "qgsvectordataprovider.h"
+
+#include <QFile>
+#include <QTextCodec>
+
+#include <cassert>
+
+#include <ogrsf_frmts.h>
+
+
+QgsVectorFileWriter::QgsVectorFileWriter(const QString& shapefileName,
+                                         const QString& fileEncoding,
+                                         const QgsFieldMap& fields,
+                                         QGis::WKBTYPE geometryType,
+                                         const QgsSpatialRefSys* srs)
+  : mDS(NULL), mLayer(NULL), mGeom(NULL), mError(NoError)
+{
+  // save the layer as a shapefile
+  QString driverName = "ESRI Shapefile";
+  
+  // find driver in OGR
+  OGRSFDriver *poDriver;
+  OGRRegisterAll();
+  poDriver =
+      OGRSFDriverRegistrar::GetRegistrar()->
+      GetDriverByName(driverName.toLocal8Bit().data());
+  
+  if (poDriver == NULL)
+  {
+    mError = ErrDriverNotFound;
+    return;
+  }
+
+  // create the data source
+  mDS = poDriver->CreateDataSource(shapefileName, NULL);
+  if (mDS == NULL)
+  {
+    mError = ErrCreateDataSource;
+    return;
+  }
+  
+  QgsDebugMsg("Created data source");
+  
+  // use appropriate codec
+  mCodec = QTextCodec::codecForName(fileEncoding.toLocal8Bit().data());
+  if (!mCodec)
+  {
+    QgsDebugMsg("error finding QTextCodec for " + fileEncoding);
+    mCodec = QTextCodec::codecForLocale();
+  }
+  
+  // consider spatial reference system of the layer
+  OGRSpatialReference* ogrRef = NULL;
+  if (srs)
+  {
+    QString srsWkt = srs->toWkt();
+    ogrRef = new OGRSpatialReference(srsWkt.toLocal8Bit().data());
+  }
+ 
+  // datasource created, now create the output layer
+  QString layerName = shapefileName.left(shapefileName.find(".shp"));
+  OGRwkbGeometryType wkbType = static_cast<OGRwkbGeometryType>(geometryType);
+  mLayer = mDS->CreateLayer(QFile::encodeName(layerName).data(), ogrRef, wkbType, NULL);
+  
+  if (srs)
+    delete ogrRef;
+  
+  if (mLayer == NULL)
+  {
+    mError = ErrCreateLayer;
+    return;
+  }
+  
+  QgsDebugMsg("created layer");
+
+  // create the fields
+  QgsDebugMsg("creating " + QString::number(fields.size()) + " fields");
+  
+  mFields = fields;
+
+  QgsFieldMap::const_iterator fldIt;
+  for (fldIt = fields.begin(); fldIt != fields.end(); ++fldIt)
+  {
+    const QgsField& attrField = fldIt.value();
+    
+    OGRFieldType ogrType = OFTString; //default to string
+    switch (attrField.type())
+    {
+      case QVariant::String:
+        ogrType = OFTString;
+        break;
+      case QVariant::Int:
+        ogrType = OFTInteger;
+        break;
+      case QVariant::Double:
+        ogrType = OFTReal;
+        break;
+      default:
+        assert(0 && "invalid variant type!");
+    }
+
+    // create field definition
+    OGRFieldDefn fld(mCodec->fromUnicode(attrField.name()), ogrType);
+    fld.SetWidth(attrField.length());
+    fld.SetPrecision(attrField.precision());
+
+    // create the field
+    QgsDebugMsg("creating field " + attrField.name() +
+                " type " + QString(QVariant::typeToName(attrField.type())) +
+                " width length " + QString::number(attrField.length()));
+    if (mLayer->CreateField(&fld) != OGRERR_NONE)
+    {
+      QgsDebugMsg("error creating field " + attrField.name());
+    }
+  }
+
+  QgsDebugMsg("Done creating fields");
+
+  mWkbType = geometryType;
+  // create geometry which will be used for import
+  mGeom = createEmptyGeometry(mWkbType);
+}
+
+OGRGeometry* QgsVectorFileWriter::createEmptyGeometry(QGis::WKBTYPE wkbType)
+{
+  // create instance of OGR geometry (will be used to import from WKB)
+  switch (wkbType)
+  {
+    case QGis::WKBPoint:
+    case QGis::WKBPoint25D:
+      return new OGRPoint;
+    case QGis::WKBLineString:
+    case QGis::WKBLineString25D:
+      return new OGRLineString;
+    case QGis::WKBPolygon:
+    case QGis::WKBPolygon25D:
+      return new OGRPolygon;
+    case QGis::WKBMultiPoint:
+    case QGis::WKBMultiPoint25D:
+      return new OGRMultiPoint;
+    case QGis::WKBMultiLineString:
+    case QGis::WKBMultiLineString25D:
+      return new OGRMultiLineString;
+    case QGis::WKBMultiPolygon:
+    case QGis::WKBMultiPolygon25D:
+      return new OGRMultiPolygon;
+    default:
+      assert(0 && "invalid WKB type");
+      return NULL;
+  }
+}
+
+
+QgsVectorFileWriter::WriterError QgsVectorFileWriter::hasError()
+{
+  return mError;
+}
+    
+bool QgsVectorFileWriter::addFeature(QgsFeature& feature)
+{
+  if (hasError() != NoError)
+    return false;
+  
+  QgsAttributeMap::const_iterator it;
+
+    // create the feature
+  OGRFeature *poFeature = new OGRFeature(mLayer->GetLayerDefn());
+
+    // attribute handling
+  const QgsAttributeMap& attributes = feature.attributeMap();
+  for (it = attributes.begin(); it != attributes.end(); it++)
+  {
+    QgsFieldMap::const_iterator fldIt = mFields.find(it.key());
+    if (fldIt == mFields.end())
+    {
+      QgsDebugMsg("ignoring attribute that's not in field map: type=" +
+                  QString(it.value().typeName()) + " value=" + it.value().toString());
+      continue;
+    }
+    
+    QString attrName = mFields[it.key()].name();
+    QByteArray encAttrName = mCodec->fromUnicode(attrName);
+    const QVariant& attrValue = it.value();
+
+    switch (attrValue.type())
+    {
+      case QVariant::Int:
+        poFeature->SetField(encAttrName.data(), attrValue.toInt());
+        break;
+      case QVariant::Double:
+        poFeature->SetField(encAttrName.data(), attrValue.toDouble());
+        break;
+      case QVariant::String:
+        poFeature->SetField(encAttrName.data(), mCodec->fromUnicode(attrValue.toString()).data());
+        break;
+      default:
+        assert(0 && "invalid variant type");
+    }
+  }
+  
+  // build geometry from WKB
+  QgsGeometry* geom = feature.geometry();
+  
+  if (geom->wkbType() != mWkbType)
+  {
+    // there's a problem when layer type is set as wkbtype Polygon
+    // although there are also features of type MultiPolygon
+    // (at least in OGR provider)
+    // If the feature's wkbtype is different from the layer's wkbtype,
+    // try to export it too.
+    //
+    // Btw. OGRGeometry must be exactly of the type of the geometry which it will receive
+    // i.e. Polygons can't be imported to OGRMultiPolygon
+    
+    OGRGeometry* mGeom2 = createEmptyGeometry(geom->wkbType());
+    
+    OGRErr err = mGeom2->importFromWkb(geom->wkbBuffer(), geom->wkbSize());
+    if (err != OGRERR_NONE)
+    {
+      QgsDebugMsg("Failed to import geometry from WKB: " + QString::number(err));
+      OGRFeature::DestroyFeature(poFeature);
+      return false;
+    }
+    
+    // pass ownership to geometry
+    poFeature->SetGeometryDirectly(mGeom2);
+  }
+  else
+  {
+    OGRErr err = mGeom->importFromWkb(geom->wkbBuffer(), geom->wkbSize());
+    if (err != OGRERR_NONE)
+    {
+      QgsDebugMsg("Failed to import geometry from WKB: " + QString::number(err));
+      OGRFeature::DestroyFeature(poFeature);
+      return false;
+    }
+    
+    // set geometry (ownership is not passed to OGR)
+    poFeature->SetGeometry(mGeom);
+  }
+    
+  // put the created feature to layer
+  if (mLayer->CreateFeature(poFeature) != OGRERR_NONE)
+  {
+    QgsDebugMsg("Failed to create feature in shapefile");
+    OGRFeature::DestroyFeature(poFeature);
+    return false;
+  }
+
+  OGRFeature::DestroyFeature(poFeature);
+  
+  return true;
+}
+    
+QgsVectorFileWriter::~QgsVectorFileWriter()
+{
+  if (mGeom)
+    delete mGeom;
+  
+  if (mDS)
+    OGRDataSource::DestroyDataSource(mDS);
+}
+
+
+
+
+QgsVectorFileWriter::WriterError
+    QgsVectorFileWriter::writeAsShapefile(QgsVectorLayer* layer,
+                                          const QString& shapefileName,
+                                          const QString& fileEncoding,
+                                          bool onlySelected)
+{
+  
+  QgsVectorDataProvider* provider = layer->getDataProvider();
+  
+  QgsVectorFileWriter* writer = new QgsVectorFileWriter(shapefileName,
+      fileEncoding, provider->fields(), provider->geometryType(), &layer->srs());
+  
+  // check whether file creation was successfull
+  WriterError err = writer->hasError();
+  if (err != NoError)
+  {
+    delete writer;
+    return err;
+  }
+
+  QgsAttributeList allAttr = provider->allAttributesList();
+  QgsFeature fet;
+  
+  provider->select(allAttr, QgsRect(), true);
+
+  const QgsFeatureIds& ids = layer->selectedFeaturesIds();
+
+  // write all features
+  while (provider->getNextFeature(fet))
+  {
+    if (onlySelected && !ids.contains(fet.featureId()))
+      continue;
+      
+    writer->addFeature(fet);
+  }
+  
+  delete writer;
+  
+  return NoError;
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectorfilewriter.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,95 @@
+/***************************************************************************
+                          qgsvectorfilewriter.h
+                          generic vector file writer 
+                             -------------------
+    begin                : Jun 6 2004
+    copyright            : (C) 2004 by Tim Sutton
+    email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsvectorfilewriter.h 6940 2007-05-10 11:26:25Z wonder $ */
+
+#ifndef _QGSVECTORFILEWRITER_H_
+#define _QGSVECTORFILEWRITER_H_
+
+#include "qgsvectorlayer.h"
+
+#include <QString>
+
+class OGRDataSource;
+class OGRLayer;
+class OGRGeometry;
+
+class QTextCodec;
+
+/**
+ There are two possibilities how to use this class:
+ 1. static call to QgsVectorFileWriter::writeAsShapefile(...) which saves the whole vector layer
+ 2. create an instance of the class and issue calls to addFeature(...)
+
+ Currently supports only writing to shapefiles, but shouldn't be a problem to add capability
+ to support other OGR-writable formats.
+ */
+class CORE_EXPORT QgsVectorFileWriter
+{
+  public:
+      
+    enum WriterError
+    {
+      NoError = 0,
+      ErrDriverNotFound,
+      ErrCreateDataSource,
+      ErrCreateLayer
+    };
+
+    /** Write contents of vector layer to a shapefile */
+    static WriterError writeAsShapefile(QgsVectorLayer* layer,
+                                        const QString& shapefileName,
+                                        const QString& fileEncoding,
+                                        bool onlySelected = FALSE);
+
+
+    /** create shapefile and initialize it */
+    QgsVectorFileWriter(const QString& shapefileName,
+                        const QString& fileEncoding,
+                        const QgsFieldMap& fields,
+                        QGis::WKBTYPE geometryType,
+                        const QgsSpatialRefSys* srs);
+    
+    /** checks whether there were any errors in constructor */
+    WriterError hasError();
+    
+    /** add feature to the currently opened shapefile */
+    bool addFeature(QgsFeature& feature);
+    
+    /** close opened shapefile for writing */
+    ~QgsVectorFileWriter();
+    
+  protected:
+    
+    OGRGeometry* createEmptyGeometry(QGis::WKBTYPE wkbType);
+    
+    OGRDataSource* mDS;
+    OGRLayer* mLayer;
+    OGRGeometry* mGeom;
+    
+    QgsFieldMap mFields;
+    
+    /** contains error value if construction was not successfull */
+    WriterError mError;
+
+    QTextCodec* mCodec;
+    
+    /** geometry type which is being used */
+    QGis::WKBTYPE mWkbType;
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3002 @@
+/***************************************************************************
+                               qgsvectorlayer.cpp
+  This class implements a generic means to display vector layers. The features
+  and attributes are read from the data store using a "data provider" plugin.
+  QgsVectorLayer can be used with any data store for which an appropriate
+  plugin is available.
+                              -------------------
+          begin                : Oct 29, 2003
+          copyright            : (C) 2003 by Gary E.Sherman
+          email                : sherman at mrcc.com
+ 
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/*  $Id: qgsvectorlayer.cpp 7128 2007-08-06 14:42:24Z wonder $ */
+
+#include <cassert>
+#include <cfloat>
+#include <cstring>
+#include <cmath>
+#include <iosfwd>
+#include <iostream>
+#include <limits>
+#include <memory>
+#include <set>
+#include <sstream>
+#include <utility>
+
+#include <QImage>
+#include <QPainter>
+#include <QPainterPath>
+#include <QPolygonF>
+#include <QString>
+
+#include "qgsvectorlayer.h"
+
+// renderers
+#include "qgscontinuouscolorrenderer.h"
+#include "qgsgraduatedsymbolrenderer.h"
+#include "qgsrenderer.h"
+#include "qgssinglesymbolrenderer.h"
+#include "qgsuniquevaluerenderer.h"
+
+#include "qgsattributeaction.h"
+
+#include "qgis.h" //for globals
+#include "qgsapplication.h"
+#include "qgscoordinatetransform.h"
+#include "qgsfeature.h"
+#include "qgsfield.h"
+#include "qgsgeometry.h"
+#include "qgsgeometryvertexindex.h"
+#include "qgslabel.h"
+#include "qgslogger.h"
+#include "qgsmaptopixel.h"
+#include "qgspoint.h"
+#include "qgsproviderregistry.h"
+#include "qgsrect.h"
+#include "qgssinglesymbolrenderer.h"
+#include "qgsspatialrefsys.h"
+#include "qgsvectordataprovider.h"
+
+#ifdef Q_WS_X11
+#include "qgsclipper.h"
+#endif
+
+#ifdef TESTPROVIDERLIB
+#include <dlfcn.h>
+#endif
+
+
+static const char * const ident_ = "$Id: qgsvectorlayer.cpp 7128 2007-08-06 14:42:24Z wonder $";
+
+// typedef for the QgsDataProvider class factory
+typedef QgsDataProvider * create_it(const QString* uri);
+
+
+
+QgsVectorLayer::QgsVectorLayer(QString vectorLayerPath,
+    QString baseName,
+    QString providerKey)
+: QgsMapLayer(VECTOR, baseName, vectorLayerPath),
+  mUpdateThreshold(0),       // XXX better default value?
+  mProviderKey(providerKey),
+  mEditable(false),
+  mModified(false),
+  mRenderer(0),
+  mLabel(0),
+  mLabelOn(false)
+{
+  mActions = new QgsAttributeAction;
+  
+  // if we're given a provider type, try to create and bind one to this layer
+  if ( ! mProviderKey.isEmpty() )
+  {
+    setDataProvider( mProviderKey );
+  }
+  if(mValid)
+  {
+    setCoordinateSystem();
+    
+    // add single symbol renderer as default
+    QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(vectorType());
+    setRenderer(renderer);
+
+    // Get the update threshold from user settings. We
+    // do this only on construction to avoid the penality of
+    // fetching this each time the layer is drawn. If the user
+    // changes the threshold from the preferences dialog, it will
+    // have no effect on existing layers
+    // TODO: load this setting somewhere else [MD]
+    //QSettings settings;
+    //mUpdateThreshold = settings.readNumEntry("Map/updateThreshold", 1000);
+    
+  }
+} // QgsVectorLayer ctor
+
+
+
+QgsVectorLayer::~QgsVectorLayer()
+{
+  QgsDebugMsg("In QgsVectorLayer destructor");
+
+  mValid=false;
+
+  if (mRenderer)
+  {
+    delete mRenderer;
+  }
+  // delete the provider object
+  delete mDataProvider;
+  
+  delete mLabel;
+
+  // Destroy any cached geometries and clear the references to them
+  deleteCachedGeometries();
+
+  delete mActions;
+}
+
+QString QgsVectorLayer::storageType() const
+{
+  if (mDataProvider)
+  {
+    return mDataProvider->storageType();
+  }
+  return 0;
+}
+
+
+QString QgsVectorLayer::capabilitiesString() const
+{
+  if (mDataProvider)
+  {
+    return mDataProvider->capabilitiesString();
+  }
+  return 0;
+}
+
+QString QgsVectorLayer::dataComment() const
+{
+  if (mDataProvider)
+  {
+    return mDataProvider->dataComment();
+  }
+  return QString();
+}
+
+
+QString QgsVectorLayer::providerType() const
+{
+  return mProviderKey;
+}
+
+/**
+ * sets the preferred display field based on some fuzzy logic
+ */
+void QgsVectorLayer::setDisplayField(QString fldName)
+{
+  // If fldName is provided, use it as the display field, otherwise
+  // determine the field index for the feature column of the identify
+  // dialog. We look for fields containing "name" first and second for
+  // fields containing "id". If neither are found, the first field
+  // is used as the node.
+  QString idxName="";
+  QString idxId="";
+
+  if(!fldName.isEmpty())
+  {
+    mDisplayField = fldName;
+  }
+  else
+  {
+    QgsFieldMap fields = mDataProvider->fields();
+    int fieldsSize = fields.size();
+
+    for (QgsFieldMap::iterator it = fields.begin(); it != fields.end(); ++it)
+    {
+
+      QString fldName = it.value().name();
+      QgsDebugMsg("Checking field " + fldName + " of " + QString::number(fieldsSize) + " total");
+      
+      // Check the fields and keep the first one that matches.
+      // We assume that the user has organized the data with the
+      // more "interesting" field names first. As such, name should
+      // be selected before oldname, othername, etc.
+      if (fldName.find("name", false) > -1)
+      {
+        if(idxName.isEmpty())
+        {
+          idxName = fldName;
+        }
+      }
+      if (fldName.find("descrip", false) > -1)
+      {
+        if(idxName.isEmpty())
+        {
+          idxName = fldName;
+        }
+      }
+      if (fldName.find("id", false) > -1)
+      {
+        if(idxId.isEmpty())
+        {
+          idxId = fldName;
+        }
+      }
+    }
+
+    //if there were no fields in the dbf just return - otherwise qgis segfaults!
+    if (fieldsSize == 0)
+      return;
+
+    if (idxName.length() > 0)
+    {
+      mDisplayField = idxName;
+    }
+    else
+    {
+      if (idxId.length() > 0)
+      {
+        mDisplayField = idxId;
+      }
+      else
+      {
+        mDisplayField = fields[0].name();
+      }
+    }
+
+  }
+}
+
+void QgsVectorLayer::drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * theMapToPixelTransform, QgsCoordinateTransform* ct)
+{
+  drawLabels(p, viewExtent, theMapToPixelTransform, ct, 1.);
+}
+
+// NOTE this is a temporary method added by Tim to prevent label clipping
+// which was occurring when labeller was called in the main draw loop
+// This method will probably be removed again in the near future!
+void QgsVectorLayer::drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * theMapToPixelTransform, QgsCoordinateTransform* ct, double scale)
+{
+  QgsDebugMsg("Starting draw of labels");
+
+  if (mRenderer && mLabelOn)
+  {
+    QgsAttributeList attributes = mRenderer->classificationAttributes();
+
+    // Add fields required for labels
+    mLabel->addRequiredFields( attributes );
+
+    QgsDebugMsg("Selecting features based on view extent");
+
+    int featureCount = 0;
+    // select the records in the extent. The provider sets a spatial filter
+    // and sets up the selection set for retrieval
+    mDataProvider->select(attributes, viewExtent);
+
+    try
+    {
+      QgsFeature fet;
+
+      // main render loop
+      while(mDataProvider->getNextFeature(fet))
+      {
+        // don't render labels of deleted features
+        if (!mDeletedFeatureIds.contains(fet.featureId()))
+        {
+	  if(mRenderer->willRenderFeature(&fet))
+	    {
+	      bool sel = mSelectedFeatureIds.contains(fet.featureId());
+	      mLabel->renderLabel ( p, viewExtent, ct, 
+              theMapToPixelTransform, fet, sel, 0, scale);
+	    }
+        }
+        featureCount++;
+      }
+
+      // render labels of not-commited features
+      for (QgsFeatureList::iterator it = mAddedFeatures.begin(); it != mAddedFeatures.end(); ++it)
+      {
+	if(mRenderer->willRenderFeature(&(*it)))
+	  {
+	    bool sel = mSelectedFeatureIds.contains((*it).featureId());
+	    mLabel->renderLabel ( p, viewExtent, ct, theMapToPixelTransform, *it, sel, 0, scale);
+	  }
+      }
+    }
+    catch (QgsCsException &e)
+    {
+      QgsLogger::critical("Error projecting label locations, caught in " + QString(__FILE__) + ", line " +QString(__LINE__));
+    }
+
+#ifdef QGISDEBUG
+    QgsLogger::debug("Total features processed", featureCount, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+    
+    // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
+    // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
+    //qApp->processEvents();
+
+  }
+}
+
+
+unsigned char* QgsVectorLayer::drawLineString(unsigned char* feature, 
+    QPainter* p,
+    QgsMapToPixel* mtp,
+    QgsCoordinateTransform* ct,
+    bool drawingToEditingCanvas)
+{
+  unsigned char *ptr = feature + 5;
+  unsigned int wkbType = *((int*)(feature+1));
+  unsigned int nPoints = *((int*)ptr);
+  ptr = feature + 9;
+  
+  bool hasZValue = (wkbType == QGis::WKBLineString25D);
+
+  std::vector<double> x(nPoints);
+  std::vector<double> y(nPoints);
+  std::vector<double> z(nPoints, 0.0);
+  
+  // Extract the points from the WKB format into the x and y vectors. 
+  for (register unsigned int i = 0; i < nPoints; ++i)
+  {
+    x[i] = *((double *) ptr);
+    ptr += sizeof(double);
+    y[i] = *((double *) ptr);
+    ptr += sizeof(double);
+  
+    if (hasZValue) // ignore Z value
+      ptr += sizeof(double);
+  }
+
+  // Transform the points into map coordinates (and reproject if
+  // necessary)
+
+  transformPoints(x, y, z, mtp, ct);
+
+#if defined(Q_WS_X11)
+  // Work around a +/- 32768 limitation on coordinates in X11
+
+  // Look through the x and y coordinates and see if there are any
+  // that need trimming. If one is found, there's no need to look at
+  // the rest of them so end the loop at that point. 
+  for (register unsigned int i = 0; i < nPoints; ++i)
+    if (std::abs(x[i]) > QgsClipper::maxX ||
+        std::abs(y[i]) > QgsClipper::maxY)
+    {
+      QgsClipper::trimFeature(x, y, true); // true = polyline
+      nPoints = x.size(); // trimming may change nPoints.
+      break;
+    }
+#endif
+
+  // set up QPolygonF class with transformed points
+  QPolygonF pa(nPoints);
+  for (register unsigned int i = 0; i < nPoints; ++i)
+  {
+    pa[i].setX(x[i]);
+    pa[i].setY(y[i]);
+  }
+  
+#ifdef QGISDEBUGVERBOSE
+  // this is only used for verbose debug output
+  for (int i = 0; i < pa.size(); ++i)
+    {
+      QgsDebugMsgLevel("pa" + QString::number(pa.point(i).x()), 2);
+      QgsDebugMsgLevel("pa" + QString::number(pa.point(i).y()), 2);
+    }
+#endif
+
+  // The default pen gives bevelled joins between segements of the
+  // polyline, which is good enough for the moment.
+  //preserve a copy of the pen before we start fiddling with it
+  QPen pen = p->pen(); // to be kept original
+  //
+  // experimental alpha transparency
+  // 255 = opaque
+  //
+  QPen myTransparentPen = p->pen(); // store current pen
+  QColor myColor = myTransparentPen.color();
+  //only set transparency from layer level if renderer does not provide
+  //transparency on class level
+  if(!mRenderer->usesTransparency())
+    {
+      myColor.setAlpha(mTransparencyLevel);
+    }
+  myTransparentPen.setColor(myColor);
+  p->setPen(myTransparentPen);
+  p->drawPolyline(pa);
+
+  // draw vertex markers if in editing mode, but only to the main canvas
+  if (
+      (mEditable) &&
+      (drawingToEditingCanvas)
+     )
+  {
+      std::vector<double>::const_iterator xIt;
+      std::vector<double>::const_iterator yIt;
+      for(xIt = x.begin(), yIt = y.begin(); xIt != x.end(); ++xIt, ++yIt)
+	{
+	  drawVertexMarker((int)(*xIt), (int)(*yIt), *p);
+	}
+    }
+
+  //restore the pen
+  p->setPen(pen);
+  
+  return ptr;
+}
+
+unsigned char* QgsVectorLayer::drawPolygon(unsigned char* feature, 
+    QPainter* p, 
+    QgsMapToPixel* mtp, 
+    QgsCoordinateTransform* ct,
+    bool drawingToEditingCanvas)
+{
+  typedef std::pair<std::vector<double>, std::vector<double> > ringType;
+  typedef ringType* ringTypePtr;
+  typedef std::vector<ringTypePtr> ringsType;
+
+  // get number of rings in the polygon
+  unsigned int numRings = *((int*)(feature + 1 + sizeof(int)));
+
+  if ( numRings == 0 )  // sanity check for zero rings in polygon
+    return feature + 9;
+
+  unsigned int wkbType = *((int*)(feature+1));
+  
+  bool hasZValue = (wkbType == QGis::WKBPolygon25D);
+  
+  int total_points = 0;
+
+  // A vector containing a pointer to a pair of double vectors.The
+  // first vector in the pair contains the x coordinates, and the
+  // second the y coordinates.
+  ringsType rings;
+
+  // Set pointer to the first ring
+  unsigned char* ptr = feature + 1 + 2 * sizeof(int); 
+
+  for (register unsigned int idx = 0; idx < numRings; idx++)
+  {
+    unsigned int nPoints = *((int*)ptr);
+
+    ringTypePtr ring = new ringType(std::vector<double>(nPoints),
+        std::vector<double>(nPoints));
+    ptr += 4;
+
+    // create a dummy vector for the z coordinate
+    std::vector<double> zVector(nPoints, 0.0);
+    // Extract the points from the WKB and store in a pair of
+    // vectors.
+    /*
+#ifdef QGISDEBUG
+std::cerr << "Points for ring " << idx << " ("
+<< nPoints << " points)\n";
+#endif
+*/
+    for (register unsigned int jdx = 0; jdx < nPoints; jdx++)
+    {
+      ring->first[jdx] = *((double *) ptr);
+      ptr += sizeof(double);
+      ring->second[jdx] = *((double *) ptr);
+      ptr += sizeof(double);
+      
+      if (hasZValue)
+        ptr += sizeof(double);
+      
+      /*
+#ifdef QGISDEBUG
+std::cerr << jdx << ": " 
+<< ring->first[jdx] << ", " << ring->second[jdx] << '\n';
+#endif
+*/
+    }
+    // If ring has fewer than two points, what is it then?
+    // Anyway, this check prevents a crash
+    if (nPoints < 1) 
+    {
+      QgsDebugMsg("Ring has only " + QString::number(nPoints) + " points! Skipping this ring.");
+      continue;
+    }
+
+    transformPoints(ring->first, ring->second, zVector, mtp, ct);
+
+#if defined(Q_WS_X11)
+    // Work around a +/- 32768 limitation on coordinates in X11
+
+    // Look through the x and y coordinates and see if there are any
+    // that need trimming. If one is found, there's no need to look at
+    // the rest of them so end the loop at that point. 
+    for (register unsigned int i = 0; i < nPoints; ++i)
+    {
+      if (std::abs(ring->first[i]) > QgsClipper::maxX ||
+          std::abs(ring->second[i]) > QgsClipper::maxY)
+      {
+        QgsClipper::trimFeature(ring->first, ring->second, false);
+        /*
+#ifdef QGISDEBUG
+std::cerr << "Trimmed points (" << ring->first.size() << ")\n";
+for (int i = 0; i < ring->first.size(); ++i)
+std::cerr << i << ": " << ring->first[i] 
+<< ", " << ring->second[i] << '\n';
+#endif
+*/
+        break;
+      }
+      //std::cout << "POLYGONTRANSFORM: " << ring->first[i] << ", " << ring->second[i] << std::endl; 
+    }
+
+#endif
+
+    // Don't bother keeping the ring if it has been trimmed out of
+    // existence.
+    if (ring->first.size() == 0)
+      delete ring;
+    else
+    {
+      rings.push_back(ring);
+      total_points += ring->first.size();
+    }
+  }
+
+  // Now we draw the polygons
+
+  // use painter paths for drawing polygons with holes
+  // when adding polygon to the path they invert the area
+  // this means that adding inner rings to the path creates
+  // holes in outer ring
+  QPainterPath path; // OddEven fill rule by default
+  
+  // Only try to draw polygons if there is something to draw
+  if (total_points > 0)
+  {
+    // Store size here and use it in the loop to avoid penalty of
+    // multiple calls to size()
+    int numRings = rings.size();
+    for (register int i = 0; i < numRings; ++i)
+    {
+      // Store the pointer in a variable with a short name so as to make
+      // the following code easier to type and read.
+      ringTypePtr r = rings[i];
+      // only do this once to avoid penalty of additional calls
+      unsigned ringSize = r->first.size();
+
+      // Transfer points to the array of QPointF
+      QPolygonF pa(ringSize);
+      for (register unsigned int j = 0; j != ringSize; ++j)
+      {
+        pa[j].setX(r->first[j]);
+        pa[j].setY(r->second[j]);
+      }
+
+      path.addPolygon(pa);
+
+      // Tidy up the pointed to pairs of vectors as we finish with them
+      delete rings[i];
+    }
+
+#ifdef QGISDEBUGVERBOSE
+    // this is only for verbose debug output -- no optimzation is 
+    // needed :)
+    QgsDebugMsg("Pixel points are:");
+    for (int i = 0; i < pa.size(); ++i)
+      {
+	QgsDebugMsgLevel("i" + QString::number(i), 2);
+	QgsDebugMsgLevel("pa[i].x()" + QString::number(pa[i].x()), 2);
+	QgsDebugMsgLevel("pa[i].y()" + QString::number(pa[i].y()), 2);
+      }
+    std::cerr << "Ring positions are:\n";
+    QgsDebugMsg("Ring positions are:");
+    for (int i = 0; i < ringDetails.size(); ++i)
+      {
+	QgsDebugMsgLevel("ringDetails[i].first" + QString::number(ringDetails[i].first), 2);
+	QgsDebugMsgLevel("ringDetails[i].second" + QString::number(ringDetails[i].second), 2);
+      }
+    QgsDebugMsg("Outer ring point is " + QString::number(outerRingPt.x()) + ", " + QString::number(outerRingPt.y()));
+#endif
+
+    /*
+    // A bit of code to aid in working out what values of
+    // QgsClipper::minX, etc cause the X11 zoom bug.
+    int largestX  = -std::numeric_limits<int>::max();
+    int smallestX = std::numeric_limits<int>::max();
+    int largestY  = -std::numeric_limits<int>::max();
+    int smallestY = std::numeric_limits<int>::max();
+
+    for (int i = 0; i < pa.size(); ++i)
+    {
+    largestX  = std::max(largestX,  pa.point(i).x());
+    smallestX = std::min(smallestX, pa.point(i).x());
+    largestY  = std::max(largestY,  pa.point(i).y());
+    smallestY = std::min(smallestY, pa.point(i).y());
+    }
+    std::cerr << "Largest  X coordinate was " << largestX  << '\n';
+    std::cerr << "Smallest X coordinate was " << smallestX << '\n';
+    std::cerr << "Largest  Y coordinate was " << largestY  << '\n';
+    std::cerr << "Smallest Y coordinate was " << smallestY << '\n';
+    */
+
+    //preserve a copy of the brush and pen before we start fiddling with it
+    QBrush brush = p->brush(); //to be kept as original
+    QPen pen = p->pen(); // to be kept original
+    //
+    // experimental alpha transparency
+    // 255 = opaque
+    //
+    QBrush myTransparentBrush = p->brush();
+    QColor myColor = brush.color();
+    
+    //only set transparency from layer level if renderer does not provide
+    //transparency on class level
+    if(!mRenderer->usesTransparency())
+      {
+	myColor.setAlpha(mTransparencyLevel);
+      }
+    myTransparentBrush.setColor(myColor);
+    QPen myTransparentPen = p->pen(); // store current pen
+    myColor = myTransparentPen.color();
+    
+    //only set transparency from layer level if renderer does not provide
+    //transparency on class level
+    if(!mRenderer->usesTransparency())
+      {
+	myColor.setAlpha(mTransparencyLevel);
+      }
+    myTransparentPen.setColor(myColor);
+    
+    p->setBrush(myTransparentBrush);
+    p->setPen (myTransparentPen);
+    
+    //
+    // draw the polygon
+    // 
+    p->drawPath(path);
+    
+
+    // draw vertex markers if in editing mode, but only to the main canvas
+    if (
+        (mEditable) &&
+        (drawingToEditingCanvas)
+       )
+      {
+	for(int i = 0; i < path.elementCount(); ++i)
+	  {
+            const QPainterPath::Element & e = path.elementAt(i);
+	    drawVertexMarker((int)e.x, (int)e.y, *p);
+	  }
+      }
+
+    //
+    //restore brush and pen to original
+    //
+    p->setBrush ( brush );
+    p->setPen ( pen );
+  
+  } // totalPoints > 0
+  
+  return ptr;
+}
+
+
+bool QgsVectorLayer::draw(QPainter * p,
+                          QgsRect & viewExtent,
+                          QgsMapToPixel * theMapToPixelTransform,
+                          QgsCoordinateTransform* ct,
+                          bool drawingToEditingCanvas)
+{
+  draw ( p, viewExtent, theMapToPixelTransform, ct, drawingToEditingCanvas, 1., 1.);
+
+  return TRUE; // Assume success always
+}
+
+void QgsVectorLayer::draw(QPainter * p,
+                          QgsRect & viewExtent,
+                          QgsMapToPixel * theMapToPixelTransform,
+                          QgsCoordinateTransform* ct,
+                          bool drawingToEditingCanvas,
+                          double widthScale,
+                          double symbolScale)
+{
+  if (mRenderer)
+  {
+    // painter is active (begin has been called
+    /* Steps to draw the layer
+       1. get the features in the view extent by SQL query
+       2. read WKB for a feature
+       3. transform
+       4. draw
+       */
+
+    QPen pen;
+    /*Pointer to a marker image*/
+    QImage marker;
+    /*Scale factor of the marker image*/
+    double markerScaleFactor=1.;
+
+    if(mEditable)
+    {
+      // Destroy all cached geometries and clear the references to them
+      deleteCachedGeometries();
+    }
+ 
+    mDataProvider->updateFeatureCount();
+    int totalFeatures = mDataProvider->featureCount();
+    int featureCount = 0;
+    QgsFeature fet;
+
+    QgsAttributeList attributes = mRenderer->classificationAttributes();
+    mDataProvider->select(attributes, viewExtent);
+
+    try
+    {
+      while (mDataProvider->getNextFeature(fet))
+      {
+        // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
+        // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
+        //qApp->processEvents(); //so we can trap for esc press
+        //if (mDrawingCancelled) return;
+        // If update threshold is greater than 0, check to see if
+        // the threshold has been exceeded
+        if(mUpdateThreshold > 0)
+        {
+          // signal progress in drawing
+          if(0 == featureCount % mUpdateThreshold)
+            emit drawingProgress(featureCount, totalFeatures);
+        }
+
+        if (mEditable)
+        {
+          // Cache this for the use of (e.g.) modifying the feature's geometry.
+          //          mCachedGeometries[fet->featureId()] = fet->geometryAndOwnership();
+
+          if (mDeletedFeatureIds.contains(fet.featureId()))
+          {
+            continue; //dont't draw feature marked as deleted
+          }
+
+          if (mChangedGeometries.contains(fet.featureId()))
+          {
+            // substitute the committed geometry with the modified one
+            fet.setGeometry( mChangedGeometries[ fet.featureId() ] );
+          }
+            
+          // Cache this for the use of (e.g.) modifying the feature's uncommitted geometry.
+          mCachedGeometries[fet.featureId()] = *fet.geometry();
+        }
+                
+        // check if feature is selected
+        // only show selections of the current layer
+        // TODO: create a mechanism to let layer know whether it's current layer or not [MD]
+        bool sel;
+        if (
+            /*(mLegend->currentLayer() == this) && TODO!*/
+            (mSelectedFeatureIds.contains(fet.featureId()))
+           )
+        {
+          sel = TRUE;
+        }
+        else
+        {
+          sel = FALSE;
+        }
+
+        mRenderer->renderFeature(p, fet, &marker, &markerScaleFactor, sel, widthScale );
+
+        double scale = markerScaleFactor * symbolScale;
+        drawFeature(p,fet,theMapToPixelTransform,ct, &marker, scale, drawingToEditingCanvas);
+
+        ++featureCount;
+      }
+
+      // also draw the not yet commited features
+      if (mEditable)
+      {
+        QgsFeatureList::iterator it = mAddedFeatures.begin();
+        for(; it != mAddedFeatures.end(); ++it)
+        {
+          bool sel = mSelectedFeatureIds.contains((*it).featureId());
+          mRenderer->renderFeature(p, *it, &marker, &markerScaleFactor, 
+              sel, widthScale);
+          double scale = markerScaleFactor * symbolScale;
+    
+          if (mChangedGeometries.contains((*it).featureId()))
+          {
+            (*it).setGeometry( mChangedGeometries[(*it).featureId() ] );
+          }
+          
+          // give a deep copy of the geometry to mCachedGeometry because it will be erased at each redraw
+          mCachedGeometries.insert((*it).featureId(), QgsGeometry(*((*it).geometry())) );
+          drawFeature(p,*it,theMapToPixelTransform,ct, &marker,scale, drawingToEditingCanvas);
+        }
+      }
+
+    }
+    catch (QgsCsException &cse)
+    {
+      QString msg("Failed to transform a point while drawing a feature of type '"
+          + fet.typeName() + "'. Ignoring this feature.");
+      msg += cse.what();
+      QgsLogger::warning(msg);
+    }
+    QgsDebugMsg("Total features processed is " + QString::number(featureCount));
+    // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
+    // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
+    //qApp->processEvents();
+  }
+  else
+  {
+    QgsLogger::warning("QgsRenderer is null in QgsVectorLayer::draw()");
+  }
+}
+
+
+void QgsVectorLayer::deleteCachedGeometries()
+{
+  // Destroy any cached geometries
+  mCachedGeometries.clear();
+}
+
+void QgsVectorLayer::drawVertexMarker(int x, int y, QPainter& p)
+{
+  //todo: let the user configure the size and appearance of the marker 
+  int size = 15;
+  int m = (size-1)/2;
+  p.drawLine(x-m, y+m, x+m, y-m);
+  p.drawLine(x-m, y-m, x+m, y+m);
+}
+
+void QgsVectorLayer::select(int number, bool emitSignal)
+{
+  mSelectedFeatureIds.insert(number);
+  
+  if (emitSignal)
+  {
+    emit selectionChanged();
+  }
+}
+
+void QgsVectorLayer::select(QgsRect & rect, bool lock)
+{
+  // normalize the rectangle
+  rect.normalize();
+  
+  if (lock == false)
+  {
+    removeSelection(FALSE); // don't emit signal
+  }
+  
+  mDataProvider->select(QgsAttributeList(), rect, true, true);
+
+  QgsFeature fet;
+
+  while (mDataProvider->getNextFeature(fet))
+  {
+    // don't select deleted features
+    if (!mDeletedFeatureIds.contains(fet.featureId()))
+    {
+      select(fet.featureId(), FALSE); // don't emit signal
+    }
+  }
+
+  // also test the not commited features
+  for(QgsFeatureList::iterator it = mAddedFeatures.begin(); it != mAddedFeatures.end(); ++it)
+  {
+    if((*it).geometry()->intersects(rect))
+    {
+      select((*it).featureId(), FALSE); // don't emit signal
+    }
+  }
+
+  emit selectionChanged();
+}
+
+void QgsVectorLayer::invertSelection()
+{
+  // copy the ids of selected features to tmp
+  QgsFeatureIds tmp;
+  for(QgsFeatureIds::iterator iter = mSelectedFeatureIds.begin(); iter != mSelectedFeatureIds.end(); ++iter)
+  {
+    tmp.insert(*iter);
+  }
+
+  removeSelection(FALSE); // don't emit signal
+
+  QgsFeature fet;
+  mDataProvider->select();
+
+  while (mDataProvider->getNextFeature(fet))
+  {
+    // don't select deleted features
+    if (!mDeletedFeatureIds.contains(fet.featureId()))
+    {
+      select(fet.featureId(), FALSE); // don't emit signal
+    }
+  }
+
+  // consider also newly added features
+  for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+  {
+    select((*iter).featureId(), FALSE); // don't emit signal
+  }
+
+  for(QgsFeatureIds::iterator iter = tmp.begin(); iter != tmp.end(); ++iter)
+  {
+    mSelectedFeatureIds.remove(*iter);
+  }
+
+  emit selectionChanged();
+}
+
+void QgsVectorLayer::removeSelection(bool emitSignal)
+{
+  mSelectedFeatureIds.clear();
+
+  if (emitSignal)
+    emit selectionChanged();
+}
+
+void QgsVectorLayer::triggerRepaint()
+{ 
+  emit repaintRequested();
+}
+
+QgsVectorDataProvider* QgsVectorLayer::getDataProvider()
+{
+  return mDataProvider;
+}
+
+const QgsVectorDataProvider* QgsVectorLayer::getDataProvider() const
+{
+  return mDataProvider;
+}
+
+void QgsVectorLayer::setProviderEncoding(const QString& encoding)
+{
+  if(mDataProvider)
+  {
+    mDataProvider->setEncoding(encoding);
+  }
+}
+
+
+const QgsRenderer* QgsVectorLayer::renderer() const
+{
+  return mRenderer;
+}
+
+void QgsVectorLayer::setRenderer(QgsRenderer * r)
+{
+  if (r != mRenderer)
+  {
+    delete mRenderer;
+    mRenderer = r;
+  }
+}
+
+QGis::VectorType QgsVectorLayer::vectorType() const
+{
+  if (mDataProvider)
+  {
+    int type = mDataProvider->geometryType();
+    switch (type)
+    {
+      case QGis::WKBPoint:
+      case QGis::WKBPoint25D:
+        return QGis::Point;
+
+      case QGis::WKBLineString:
+      case QGis::WKBLineString25D:
+        return QGis::Line;
+
+      case QGis::WKBPolygon:
+      case QGis::WKBPolygon25D:
+        return QGis::Polygon;
+
+      case QGis::WKBMultiPoint:
+      case QGis::WKBMultiPoint25D:
+        return QGis::Point;
+
+      case QGis::WKBMultiLineString:
+      case QGis::WKBMultiLineString25D:
+        return QGis::Line;
+
+      case QGis::WKBMultiPolygon:
+      case QGis::WKBMultiPolygon25D:
+        return QGis::Polygon;
+    }
+#ifdef QGISDEBUG
+    QgsLogger::debug("Warning: Data Provider Geometry type is not recognised, is", type, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+  }
+  else
+  {
+#ifdef QGISDEBUG
+    qWarning("warning, pointer to mDataProvider is null in QgsVectorLayer::vectorType()");
+#endif
+
+  }
+
+  // We shouldn't get here, and if we have, other things are likely to
+  // go wrong. Code that uses the vectorType() return value should be
+  // rewritten to cope with a value of QGis::Unknown. To make this
+  // need known, the following message is printed every time we get
+  // here.
+  std::cerr << "WARNING: This code (file " << __FILE__ << ", line "
+            << __LINE__ << ") should never be reached. "
+            << "Problems may occur...\n";
+
+  return QGis::Unknown;
+}
+
+QGis::WKBTYPE QgsVectorLayer::geometryType() const
+{
+  return (QGis::WKBTYPE)(mGeometryType);
+}
+
+QgsRect QgsVectorLayer::boundingBoxOfSelected()
+{
+  if(mSelectedFeatureIds.size()==0)//no selected features
+  {
+    return QgsRect(0,0,0,0);
+  }
+
+  QgsRect r, retval;
+  QgsFeature fet;
+  mDataProvider->select();
+
+  retval.setMinimal();
+  while (mDataProvider->getNextFeature(fet))
+  {
+    if (mSelectedFeatureIds.contains(fet.featureId()))
+    {
+      if(fet.geometry())
+      {
+        r=fet.geometry()->boundingBox();
+        retval.combineExtentWith(&r);
+      }
+    }
+  }
+
+  // also go through the not commited features
+  for(QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+  {
+    if(mSelectedFeatureIds.contains((*iter).featureId()))
+    {
+      r = (*iter).geometry()->boundingBox();
+      retval.combineExtentWith(&r);
+    }
+  }
+
+  if (retval.width() == 0.0 || retval.height() == 0.0)
+  {
+    // If all of the features are at the one point, buffer the
+    // rectangle a bit. If they are all at zero, do something a bit
+    // more crude.
+
+    if (retval.xMin() == 0.0 && retval.xMax() == 0.0 &&
+        retval.yMin() == 0.0 && retval.yMax() == 0.0)
+    {
+      retval.set(-1.0, -1.0, 1.0, 1.0);
+    }
+    else
+    {
+      const double padFactor = 1e-8;
+      double widthPad = retval.xMin() * padFactor;
+      double heightPad = retval.yMin() * padFactor;
+      double xmin = retval.xMin() - widthPad;
+      double xmax = retval.xMax() + widthPad;
+      double ymin = retval.yMin() - heightPad;
+      double ymax = retval.yMax() + heightPad;
+      retval.set(xmin, ymin, xmax, ymax);
+    }
+  }
+
+  return retval;
+}
+
+
+
+long QgsVectorLayer::featureCount() const
+{
+  if ( ! mDataProvider )
+  {
+    QgsLogger::warning(" QgsVectorLayer::featureCount() invoked with null mDataProvider");
+    return 0;
+  }
+
+  return mDataProvider->featureCount();
+} // QgsVectorLayer::featureCount
+
+long QgsVectorLayer::updateFeatureCount() const
+{
+  if ( ! mDataProvider )
+  {
+    QgsLogger::warning(" QgsVectorLayer::updateFeatureCount() invoked with null mDataProvider");
+    return 0;
+  }
+  return mDataProvider->updateFeatureCount();
+}
+
+void QgsVectorLayer::updateExtents()
+{
+  mLayerExtent.setMinimal();
+  
+  if(mDataProvider)
+  {
+    if(mDeletedFeatureIds.isEmpty())
+    {
+      // get the extent of the layer from the provider
+      // but only when there are some features already
+      if (mDataProvider->featureCount() != 0)
+      {
+        QgsRect r = mDataProvider->extent();
+        mLayerExtent.combineExtentWith(&r);
+      }
+    }
+    else
+    {
+      QgsFeature fet;
+      QgsRect bb;
+
+      mDataProvider->select();
+      while (mDataProvider->getNextFeature(fet))
+      {
+        if (!mDeletedFeatureIds.contains(fet.featureId()))
+        {
+          if (fet.geometry())
+          {
+            bb = fet.geometry()->boundingBox();
+            mLayerExtent.combineExtentWith(&bb);
+          }
+        }
+      }
+    }
+  }
+  else
+  {
+    QgsLogger::warning(" QgsVectorLayer::updateFeatureCount() invoked with null mDataProvider");
+  }
+
+  // also consider the not commited features
+  for(QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+  {
+    QgsRect bb = iter->geometry()->boundingBox();
+    mLayerExtent.combineExtentWith(&bb);
+  }
+  
+  if (mLayerExtent.xMin() > mLayerExtent.xMax() && mLayerExtent.yMin() > mLayerExtent.yMax())
+  {
+    // special case when there are no features in provider nor any added
+    mLayerExtent = QgsRect(); // use rectangle with zero coordinates
+  }
+
+  // Send this (hopefully) up the chain to the map canvas
+  emit recalculateExtents();
+}
+
+QString QgsVectorLayer::subsetString()
+{
+  if ( ! mDataProvider )
+  {
+    QgsLogger::warning(" QgsVectorLayer::subsetString() invoked with null mDataProvider");
+    return 0;
+  }
+  return mDataProvider->subsetString();
+}
+
+void QgsVectorLayer::setSubsetString(QString subset)
+{
+  if ( ! mDataProvider )
+  {
+    QgsLogger::warning(" QgsVectorLayer::setSubsetString() invoked with null mDataProvider");
+    return;
+  }
+  
+  mDataProvider->setSubsetString(subset);
+  // get the updated data source string from the provider
+  mDataSource = mDataProvider->dataSourceUri();
+  updateExtents();
+  
+}
+
+
+bool QgsVectorLayer::addFeature(QgsFeature& f, bool alsoUpdateExtent)
+{
+  static int addedIdLowWaterMark = -1;
+
+  if (!mDataProvider)
+  {
+    return false;
+  }
+    
+  if(!(mDataProvider->capabilities() & QgsVectorDataProvider::AddFeatures))
+  {
+    return false;
+  }
+
+  if(!isEditable())
+  {
+    return false;
+  }
+
+    //assign a temporary id to the feature (use negative numbers)
+    addedIdLowWaterMark--;
+
+    QgsDebugMsg("Assigned feature id " + QString::number(addedIdLowWaterMark));
+
+    // Force a feature ID (to keep other functions in QGIS happy,
+    // providers will use their own new feature ID when we commit the new feature)
+    // and add to the known added features.
+    f.setFeatureId(addedIdLowWaterMark);
+    mAddedFeatures.append(f);
+    
+    setModified(TRUE);
+
+    if (alsoUpdateExtent)
+    {
+      updateExtents();
+    }  
+
+    return true;
+}
+
+
+bool QgsVectorLayer::insertVertexBefore(double x, double y, int atFeatureId, QgsGeometryVertexIndex beforeVertex)
+{
+  if (!mEditable)
+  {
+    return false;
+  }
+  
+  if (mDataProvider)
+  {
+
+    if (!mChangedGeometries.contains(atFeatureId))
+    {
+      // first time this geometry has changed since last commit
+      if(!mCachedGeometries.contains(atFeatureId))
+      {
+        return false;
+      }
+      mChangedGeometries[atFeatureId] = mCachedGeometries[atFeatureId];
+    }
+
+    mChangedGeometries[atFeatureId].insertVertexBefore(x, y, beforeVertex);
+
+    setModified(TRUE, TRUE); // only geometry was changed
+
+    return true;
+  }
+  return false;
+}
+
+
+bool QgsVectorLayer::moveVertexAt(double x, double y, int atFeatureId,
+    QgsGeometryVertexIndex atVertex)
+{
+  if (!mEditable)
+  {
+    return false;
+  }
+  
+  if (mDataProvider)
+  {
+    if (!mChangedGeometries.contains(atFeatureId))
+    {
+      // first time this geometry has changed since last commit
+      if(!mCachedGeometries.contains(atFeatureId))
+      {
+        return false;
+      }
+      mChangedGeometries[atFeatureId] = mCachedGeometries[atFeatureId];
+    }
+
+    mChangedGeometries[atFeatureId].moveVertexAt(x, y, atVertex);
+
+    setModified(TRUE, TRUE); // only geometry was changed
+
+    return true;
+  }
+  return false;
+}
+
+
+bool QgsVectorLayer::deleteVertexAt(int atFeatureId,
+    QgsGeometryVertexIndex atVertex)
+{
+  if (!mEditable)
+  {
+    return false;
+  }
+
+  if (mDataProvider)
+  {
+    if (!mChangedGeometries.contains(atFeatureId))
+    {
+      // first time this geometry has changed since last commit
+      if(!mCachedGeometries.contains(atFeatureId))
+      {
+        return false;
+      }
+      mChangedGeometries[atFeatureId] = mCachedGeometries[atFeatureId];
+    }
+
+    mChangedGeometries[atFeatureId].deleteVertexAt(atVertex);
+
+    setModified(TRUE, TRUE); // only geometry was changed
+
+    return true;
+  }
+  return false;
+}
+
+
+bool QgsVectorLayer::deleteSelectedFeatures()
+{
+  if(!(mDataProvider->capabilities() & QgsVectorDataProvider::DeleteFeatures))
+  {
+    return false;
+  }
+
+  if(!isEditable())
+  {
+    return false;
+  }
+
+  for(QgsFeatureIds::iterator it = mSelectedFeatureIds.begin(); it != mSelectedFeatureIds.end(); ++it)
+  {
+    bool noncommited = FALSE;
+    // first test, if the feature with this id is a not-commited feature
+    for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+    {
+      if (iter->featureId() == *it)
+      {
+        noncommited = TRUE;
+        
+        // Delete the feature itself
+        mAddedFeatures.remove(iter);
+        
+        break;
+      }
+    }
+    
+    if (!noncommited)
+    {
+      mDeletedFeatureIds.insert(*it);
+    }
+  }
+
+  if(mSelectedFeatureIds.size()>0)
+  {
+    setModified(TRUE);
+    removeSelection(FALSE); // don't emit signal
+    triggerRepaint();
+    updateExtents();
+
+  }
+
+  return true;
+}
+
+int QgsVectorLayer::addRing(const QList<QgsPoint>& ring)
+{
+  int addRingReturnCode = 0;
+
+  //calculate bounding box of ring
+  double xMin = std::numeric_limits<double>::max();
+  double xMax = -std::numeric_limits<double>::max();
+  double yMin = std::numeric_limits<double>::max();
+  double yMax = -std::numeric_limits<double>::max();
+
+  for(QList<QgsPoint>::const_iterator it = ring.constBegin(); it != ring.constEnd(); ++it)
+    {
+      if(it->x() < xMin)
+	{
+	  xMin = it->x();
+	}
+      if(it->x() > xMax)
+	{
+	  xMax = it->x();
+	}
+      if(it->y() < yMin)
+	{
+	  yMin = it->y();
+	}
+      if(it->y() > yMax)
+	{
+	  yMax = it->y();
+	}
+    }
+
+  QgsRect bBox(xMin, yMin, xMax, yMax);
+  //qWarning("Bounding box of ring is: " + bBox.stringRep());
+
+  std::set<int> idList; //store the ids of the features we already added the ring
+
+  //call addRing for every feature in mChangedFeatures
+  QgsGeometryMap::iterator changedIt;
+  for(changedIt = mChangedGeometries.begin(); changedIt != mChangedGeometries.end(); ++changedIt)
+    {
+      if(changedIt.value().intersects(bBox))
+	{
+	  addRingReturnCode = changedIt.value().addRing(ring);
+	  if(addRingReturnCode == 0) //success. Leave this method
+	    {
+	      setModified(true, true);
+	      return 0;
+	    }
+	  else if(addRingReturnCode > 0 && addRingReturnCode < 5) //pass the error one level up
+	    {
+	      return addRingReturnCode;
+	    }
+	  //else, addRingReturnCode must be 5, so the ring is not contained in this polygon
+	}
+      idList.insert(changedIt.key());
+    }
+ 
+  //call addRing for every feature in mAddedFeatures
+  for(int i = 0; i < mAddedFeatures.size(); ++i)
+    {
+      if(idList.find(mAddedFeatures.at(i).featureId()) == idList.end())
+	{
+	  //if a geometry is not contained in mCachedGeometries, it is not in the view extent and therefore cannot intersect the ring
+	  if(mCachedGeometries.contains(mAddedFeatures.at(i).featureId()))
+	    {
+	      addRingReturnCode = mCachedGeometries[mAddedFeatures.at(i).featureId()].addRing(ring);
+	      if(addRingReturnCode == 0) //success. Leave this method
+		{
+		  mChangedGeometries[mAddedFeatures.at(i).featureId()] = mCachedGeometries[mAddedFeatures.at(i).featureId()];
+		  setModified(true, true);
+		  return 0;
+		}
+	      else if(addRingReturnCode > 0 && addRingReturnCode < 5) //pass the error one level up
+		{
+		  return addRingReturnCode;
+		}
+	      //else, addRingReturnCode must be 5, so the ring is not contained in this polygon
+	    }
+	  idList.insert(mAddedFeatures.at(i).featureId());
+	}
+    }
+  
+  //call addRing for every feature intersecting bounding box
+  mDataProvider->select(QgsAttributeList(), bBox, true, true);
+  QgsFeature currentFeature;
+  QgsGeometry* currentGeometryPtr = 0;
+
+  while(mDataProvider->getNextFeature(currentFeature))
+    {
+      if(idList.find(currentFeature.featureId()) == idList.end())
+	{
+	  currentGeometryPtr = currentFeature.geometry();
+	  if(currentGeometryPtr)
+	    {
+	      QgsGeometry newGeometry(*currentGeometryPtr);
+	      addRingReturnCode = newGeometry.addRing(ring);
+
+	      if(addRingReturnCode == 0)
+		{
+		  //add geometry to mChangedGeometries
+		  mChangedGeometries.insert(currentFeature.featureId(), newGeometry);
+		  setModified(true, true);
+		  return 0;
+		}
+	      else if(addRingReturnCode > 0 && addRingReturnCode < 5) //pass the error one level up
+		{
+		  return addRingReturnCode;
+		}
+	    }
+	}
+    }
+  
+  return 5; //ring not contained in any geometry
+}
+
+int QgsVectorLayer::addIsland(const QList<QgsPoint>& ring)
+{
+  //number of selected features must be 1
+  
+  if(mSelectedFeatureIds.size() < 1)
+    {
+      QgsDebugMsg("Number of selected features <1");
+      return 4;
+    }
+  else if(mSelectedFeatureIds.size() > 1)
+    {
+      QgsDebugMsg("Number of selected features >1");
+      return 5;
+    }
+
+  int selectedFeatureId = *(mSelectedFeatureIds.constBegin());
+
+  //look if geometry of selected feature already contains geometry changes
+  QgsGeometryMap::iterator changedIt = mChangedGeometries.find(selectedFeatureId);
+  if(changedIt != mChangedGeometries.end())
+    {
+      return changedIt->addIsland(ring);
+    }
+
+  //look if id of selected feature belongs to an added feature
+  for(QgsFeatureList::iterator addedIt = mAddedFeatures.begin(); addedIt != mAddedFeatures.end(); ++addedIt)
+    {
+      if(addedIt->featureId() == selectedFeatureId)
+	{
+	  return addedIt->geometry()->addIsland(ring);
+	}
+    }
+
+  //else, if must be contained in mCachedGeometries
+  QgsGeometryMap::iterator cachedIt = mCachedGeometries.find(selectedFeatureId);
+  if(cachedIt != mCachedGeometries.end())
+    {
+      int errorCode = cachedIt->addIsland(ring);
+      if(errorCode == 0)
+	{
+	  mChangedGeometries.insert(selectedFeatureId, *cachedIt);
+	  setModified(true, true);
+	}
+      return errorCode;
+    }
+
+  return 6; //geometry not found
+}
+
+QgsLabel * QgsVectorLayer::label()
+{
+  return mLabel;
+}
+
+void QgsVectorLayer::setLabelOn ( bool on )
+{
+  mLabelOn = on;
+}
+
+bool QgsVectorLayer::labelOn ( void )
+{
+  return mLabelOn;
+}
+
+
+
+bool QgsVectorLayer::startEditing()
+{
+  if (!mDataProvider)
+  {
+    return false;
+  }
+    
+  if(!(mDataProvider->capabilities()&QgsVectorDataProvider::AddFeatures))
+  {
+    return false;
+  }
+
+  mEditable=true;
+  return true;
+}
+
+  
+bool QgsVectorLayer::readXML_( QDomNode & layer_node )
+{
+#ifdef QGISDEBUG
+  std::cerr << "Datasource in QgsVectorLayer::readXML_: " << mDataSource.toLocal8Bit().data() << std::endl;
+#endif
+  // process the attribute actions
+  mActions->readXML(layer_node);
+
+  //process provider key
+  QDomNode pkeyNode = layer_node.namedItem("provider");
+
+  if (pkeyNode.isNull())
+  {
+    mProviderKey = "";
+  }
+  else
+  {
+    QDomElement pkeyElt = pkeyNode.toElement();
+    mProviderKey = pkeyElt.text();
+  }
+
+  // determine type of vector layer
+  if ( ! mProviderKey.isNull() )
+  {
+    // if the provider string isn't empty, then we successfully
+    // got the stored provider
+  }
+  else if ((mDataSource.find("host=") > -1) &&
+      (mDataSource.find("dbname=") > -1))
+  {
+    mProviderKey = "postgres";
+  }
+  else
+  {
+    mProviderKey = "ogr";
+  }
+
+  if ( ! setDataProvider( mProviderKey ) )
+  {
+    return false;
+  }
+
+  //read provider encoding
+  QDomNode encodingNode = layer_node.namedItem("encoding");
+  if( ! encodingNode.isNull() && mDataProvider )
+  {
+    mDataProvider->setEncoding(encodingNode.toElement().text());
+  }
+
+  // get and set the display field if it exists.
+  QDomNode displayFieldNode = layer_node.namedItem("displayfield");
+  if (!displayFieldNode.isNull())
+  {
+    QDomElement e = displayFieldNode.toElement();
+    setDisplayField(e.text());
+  }
+
+
+
+  // create and bind a renderer to this layer
+
+  QDomNode singlenode = layer_node.namedItem("singlesymbol");
+  QDomNode graduatednode = layer_node.namedItem("graduatedsymbol");
+  QDomNode continuousnode = layer_node.namedItem("continuoussymbol");
+  QDomNode singlemarkernode = layer_node.namedItem("singlemarker");
+  QDomNode graduatedmarkernode = layer_node.namedItem("graduatedmarker");
+  QDomNode uniquevaluenode = layer_node.namedItem("uniquevalue");
+  QDomNode labelnode = layer_node.namedItem("label");
+  QDomNode uniquemarkernode = layer_node.namedItem("uniquevaluemarker");
+
+  //std::auto_ptr<QgsRenderer> renderer; actually the renderer SHOULD NOT be
+  //deleted when this function finishes, otherwise the application will
+  //crash
+  // XXX this seems to be a dangerous implementation; should re-visit design
+  QgsRenderer * renderer;
+
+  // XXX Kludge!
+
+
+  // if we don't have a coordinate transform, get one
+
+  //
+  // Im commenting this out - if the layer was serialied in a 
+  //  >=0.7 project it should have been validated and have all
+  // coord xform info
+  //
+
+  //if ( ! coordinateTransform() )
+  //{
+  //    setCoordinateSystem();
+  //}
+
+  if (!singlenode.isNull())
+  {
+    renderer = new QgsSingleSymbolRenderer(vectorType());
+    renderer->readXML(singlenode, *this);
+  }
+  else if (!graduatednode.isNull())
+  {
+    renderer = new QgsGraduatedSymbolRenderer(vectorType());
+    renderer->readXML(graduatednode, *this);
+  }
+  else if (!continuousnode.isNull())
+  {
+    renderer = new QgsContinuousColorRenderer(vectorType());
+    renderer->readXML(continuousnode, *this);
+  }
+  else if (!uniquevaluenode.isNull())
+  {
+    renderer = new QgsUniqueValueRenderer(vectorType());
+    renderer->readXML(uniquevaluenode, *this);
+  }
+
+  // Test if labeling is on or off
+  QDomElement element = labelnode.toElement();
+  int labelOn = element.text().toInt();
+  if (labelOn < 1)
+  {
+    setLabelOn(false);
+  }
+  else
+  {
+    setLabelOn(true);
+  }
+
+#ifdef QGISDEBUG
+  std::cout << "Testing if qgsvectorlayer can call label readXML routine" << std::endl;
+#endif
+
+  QDomNode labelattributesnode = layer_node.namedItem("labelattributes");
+
+  if(!labelattributesnode.isNull())
+  {
+#ifdef QGISDEBUG
+    std::cout << "qgsvectorlayer calling label readXML routine" << std::endl;
+#endif
+    mLabel->readXML(labelattributesnode);
+  }
+
+  return mValid;               // should be true if read successfully
+
+} // void QgsVectorLayer::readXML_
+
+
+
+bool QgsVectorLayer::setDataProvider( QString const & provider )
+{
+  // XXX should I check for and possibly delete any pre-existing providers?
+  // XXX How often will that scenario occur?
+
+  mProviderKey = provider;     // XXX is this necessary?  Usually already set
+  // XXX when execution gets here.
+
+  //XXX - This was a dynamic cast but that kills the Windows
+  //      version big-time with an abnormal termination error
+  mDataProvider = 
+    (QgsVectorDataProvider*)(QgsProviderRegistry::instance()->getProvider(provider,mDataSource));
+
+  if (mDataProvider)
+  {
+    QgsDebugMsg( "Instantiated the data provider plugin" );
+
+    mValid = mDataProvider->isValid();
+    if (mValid)
+    {
+
+      // TODO: Check if the provider has the capability to send fullExtentCalculated
+      connect(mDataProvider, SIGNAL( fullExtentCalculated() ), 
+          this,           SLOT( updateExtents() ) 
+          );
+
+      // get the extent
+      QgsRect mbr = mDataProvider->extent();
+
+      // show the extent
+      QString s = mbr.stringRep();
+      QgsDebugMsg("Extent of layer: " +  s);
+      // store the extent
+      mLayerExtent.setXmax(mbr.xMax());
+      mLayerExtent.setXmin(mbr.xMin());
+      mLayerExtent.setYmax(mbr.yMax());
+      mLayerExtent.setYmin(mbr.yMin());
+
+      // get and store the feature type
+      mGeometryType = mDataProvider->geometryType();
+
+      // look at the fields in the layer and set the primary
+      // display field using some real fuzzy logic
+      setDisplayField();
+
+      if (mProviderKey == "postgres")
+      {
+        QgsDebugMsg("Beautifying layer name " + name());
+        // adjust the display name for postgres layers
+        QRegExp reg("\".+\"\\.\"(.+)\"");
+        reg.indexIn(name());
+        QStringList stuff = reg.capturedTexts();
+        QString lName = stuff[1];
+        if (lName.length() == 0) // fallback
+          lName = name();
+        setLayerName(lName);
+        QgsDebugMsg("Beautifying layer name " + name());
+      }
+
+      // label
+      mLabel = new QgsLabel ( mDataProvider->fields() );
+      mLabelOn = false;
+    }
+    else
+    {
+      QgsDebugMsg("Invalid provider plugin " + QString(mDataSource.ascii()));
+      return false;
+    }
+  }
+  else
+  {
+    QgsDebugMsg( " unable to get data provider" );
+
+    return false;
+  }
+
+  return true;
+
+} // QgsVectorLayer:: setDataProvider
+
+
+
+
+/* virtual */ bool QgsVectorLayer::writeXML_( QDomNode & layer_node,
+    QDomDocument & document )
+{
+  // first get the layer element so that we can append the type attribute
+
+  QDomElement mapLayerNode = layer_node.toElement();
+
+  if ( mapLayerNode.isNull() || ("maplayer" != mapLayerNode.nodeName()) )
+  {
+    qDebug( "QgsVectorLayer::writeXML() can't find <maplayer>" );
+    return false;
+  }
+
+  mapLayerNode.setAttribute( "type", "vector" );
+
+  // set the geometry type
+  mapLayerNode.setAttribute( "geometry", QGis::qgisVectorGeometryType[vectorType()]);
+
+  // add provider node
+
+  QDomElement provider  = document.createElement( "provider" );
+  QDomText providerText = document.createTextNode( providerType() );
+  provider.appendChild( providerText );
+  layer_node.appendChild( provider );
+
+  //provider encoding
+  QDomElement encoding = document.createElement("encoding");
+  QDomText encodingText = document.createTextNode(mDataProvider->encoding());
+  encoding.appendChild( encodingText );
+  layer_node.appendChild( encoding );
+
+  //classification field(s)
+  QgsAttributeList attributes=mRenderer->classificationAttributes();
+  const QgsFieldMap providerFields = mDataProvider->fields();
+  for(QgsAttributeList::const_iterator it = attributes.begin(); it != attributes.end(); ++it)
+    {
+      QDomElement classificationElement = document.createElement("classificationattribute");
+      QDomText classificationText = document.createTextNode(providerFields[*it].name());
+      classificationElement.appendChild(classificationText);
+      layer_node.appendChild(classificationElement);
+    }
+
+  // add the display field
+
+  QDomElement dField  = document.createElement( "displayfield" );
+  QDomText dFieldText = document.createTextNode( displayField() );
+  dField.appendChild( dFieldText );
+  layer_node.appendChild( dField );
+
+  // add label node
+
+  QDomElement label  = document.createElement( "label" );
+  QDomText labelText = document.createTextNode( "" );
+
+  if ( labelOn() )
+  {
+    labelText.setData( "1" );
+  }
+  else
+  {
+    labelText.setData( "0" );
+  }
+  label.appendChild( labelText );
+
+  layer_node.appendChild( label );
+
+  // add attribute actions
+
+  mActions->writeXML(layer_node, document);
+
+  // renderer specific settings
+
+  const QgsRenderer * myRenderer = renderer();
+  if( myRenderer )
+  {
+    myRenderer->writeXML(layer_node, document);
+  }
+  else
+  {
+    std::cerr << __FILE__ << ":" << __LINE__
+      << " no renderer\n";
+
+    // XXX return false?
+  }
+
+  // Now we get to do all that all over again for QgsLabel
+
+  // XXX Since this is largely a cut-n-paste from the previous, this
+  // XXX therefore becomes a candidate to be generalized into a separate
+  // XXX function.  I think.
+
+  QgsLabel * myLabel = this->label();
+
+  if ( myLabel )
+  {
+    std::stringstream labelXML;
+
+    myLabel->writeXML(labelXML);
+
+    QDomDocument labelDOM;
+
+    std::string rawXML;
+    std::string temp_str;
+    QString     errorMsg;
+    int         errorLine;
+    int         errorColumn;
+
+    // start with bogus XML header
+    rawXML  = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
+
+    temp_str = labelXML.str();
+
+    rawXML   += temp_str;
+
+#ifdef QGISDEBUG
+    std::cout << rawXML << std::endl << std::flush;
+#endif
+    const char * s = rawXML.c_str(); // debugger probe
+    // Use the const char * form of the xml to make non-stl qt happy
+    if ( ! labelDOM.setContent( QString::fromUtf8(s), &errorMsg, &errorLine, &errorColumn ) )
+    {
+      qDebug( ("XML import error at line %d column %d " + errorMsg).toLocal8Bit().data(), errorLine, errorColumn );
+
+      return false;
+    }
+
+    // lastChild() because the first two nodes are the <xml> and
+    // <!DOCTYPE> nodes; the label node follows that, and is (hopefully)
+    // the last node.
+    QDomNode labelDOMNode = document.importNode( labelDOM.lastChild(), true );
+
+    if ( ! labelDOMNode.isNull() )
+    {
+      layer_node.appendChild( labelDOMNode );
+    }
+    else
+    {
+      qDebug( "not able to import label DOM node" );
+
+      // XXX return false?
+    }
+
+  }
+
+  return true;
+} // bool QgsVectorLayer::writeXML_
+
+
+int QgsVectorLayer::findFreeId()
+{
+  int freeid=-INT_MAX;
+  int fid;
+  if(mDataProvider)
+  {
+    mDataProvider->select();
+    QgsFeature fet;
+
+    //TODO: Is there an easier way of doing this other than iteration?
+    //TODO: Also, what about race conditions between this code and a competing mapping client?
+    //TODO: Maybe push this to the data provider?
+    while (mDataProvider->getNextFeature(fet))
+    {
+      fid = fet.featureId();
+      if(fid>freeid)
+      {
+        freeid=fid;
+      }
+    }
+    
+    QgsDebugMsg("freeid is: " + QString::number(freeid+1));
+    
+    return freeid+1;
+  }
+  else
+  {
+    QgsDebugMsg("Error, mDataProvider is 0 in QgsVectorLayer::findFreeId");
+    return -1;
+  }
+}
+
+bool QgsVectorLayer::commitChanges()
+{
+  if (!mDataProvider)
+  {
+    return false;
+  }
+  
+  if (!isEditable())
+  {
+    return false;
+  }
+  
+  /*
+     Unfortunately the commits occur in four distinct stages,
+     (add features, change attributes, change geometries, delete features)
+     so if a stage fails, it's difficult to roll back cleanly.
+     Therefore the error messages become a bit complicated to generate.
+   */
+
+  // Attempt the commit of new features
+  bool addedFeaturesOk = FALSE;
+  if (mAddedFeatures.size() > 0)
+  {
+    if(!mDataProvider->addFeatures(mAddedFeatures))
+    {
+      QStringList errorStrings;
+      errorStrings += tr("Could not commit the added features.");
+      errorStrings += tr("No other types of changes will be committed at this time.");
+
+      // TODO: use an error string or something to store error to be retrieved later [MD]
+      //QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
+      return FALSE;
+    }
+    else
+    {
+      // done, remove features from the list
+      mAddedFeatures.clear();
+      addedFeaturesOk = TRUE;
+    }
+  }
+
+  // Attempt the commit of changed attributes
+  bool changedAttributesOk = FALSE;
+  if (mChangedAttributes.size() > 0)
+  {
+    if (!mDataProvider->changeAttributeValues(mChangedAttributes))
+    {
+      QStringList errorStrings;
+      errorStrings += tr("Could not commit the changed attributes.");
+      if (addedFeaturesOk)
+      {
+        errorStrings += tr("However, the added features were committed OK.");
+      }
+      errorStrings += tr("No other types of changes will be committed at this time.");
+
+      // TODO: use an error string or something to store error to be retrieved later [MD]
+      //QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
+      return FALSE;
+    }
+    else
+    {
+      // Changed attributes committed OK, remove the in-memory changes
+      mChangedAttributes.clear();
+      changedAttributesOk = TRUE;
+    }
+  }
+
+  // Attempt the commit of changed geometries
+  bool changedGeometriesOk = FALSE;
+  if (mChangedGeometries.size() > 0)
+  {
+    if (!mDataProvider->changeGeometryValues(mChangedGeometries))
+    {
+      QStringList errorStrings;
+      errorStrings += tr("Could not commit the changed geometries.");
+      if (addedFeaturesOk)
+      {
+        errorStrings += tr("However, the added features were committed OK.");
+      }
+      if (changedAttributesOk)
+      {
+        errorStrings += tr("However, the changed attributes were committed OK.");
+      }
+      errorStrings += tr("No other types of changes will be committed at this time.");
+
+      // TODO: use an error string or something to store error to be retrieved later [MD]
+      //QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
+      return FALSE;
+    }
+    else
+    {
+      // Changed geometries committed OK, remove the in-memory changes
+      mChangedGeometries.clear();
+      changedGeometriesOk = TRUE;
+    }
+  }
+
+  // Attempt the commit of deleted features
+  bool deletedFeaturesOk = FALSE;
+  if (mDeletedFeatureIds.size() > 0)
+  {
+    if (!mDataProvider->deleteFeatures(mDeletedFeatureIds))
+    {
+      QStringList errorStrings;
+      errorStrings += tr("Could not commit the deleted features.");
+      if (addedFeaturesOk)
+      {
+        errorStrings += tr("However, the added features were committed OK.");
+      }
+      if (changedAttributesOk)
+      {
+        errorStrings += tr("However, the changed attributes were committed OK.");
+      }
+      if (changedGeometriesOk)
+      {
+        errorStrings += tr("However, the changed geometries were committed OK.");
+      }
+      errorStrings += tr("No other types of changes will be committed at this time.");
+
+      // TODO: use an error string or something to store error to be retrieved later [MD]
+      //QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
+      return FALSE;
+    }
+    else
+    {
+      // just in case some of those features are still selected
+      for (QgsFeatureIds::iterator it = mDeletedFeatureIds.begin(); it != mDeletedFeatureIds.end(); ++it)
+      {
+        mSelectedFeatureIds.remove(*it);
+      }
+      
+      // Deleted features committed OK, remove the in-memory changes
+      mDeletedFeatureIds.clear();
+      deletedFeaturesOk = TRUE;
+    }
+  }
+
+  deleteCachedGeometries();
+  
+  mEditable = false;
+  setModified(FALSE);
+  
+  mDataProvider->updateExtents();
+  mDataProvider->updateFeatureCount();
+
+  triggerRepaint();
+  
+  return TRUE;
+}
+
+bool QgsVectorLayer::rollBack()
+{
+  if (!isEditable())
+  {
+    return false;
+  }
+  
+  if (isModified())
+  {
+    // roll back changed attributes
+    mChangedAttributes.clear();
+
+    // roll back changed geometries
+    mChangedGeometries.clear();
+  
+    // Roll back added features
+    // Delete the features themselves before deleting the references to them.
+    mAddedFeatures.clear();
+  
+    // Roll back deleted features
+    mDeletedFeatureIds.clear();
+  }
+
+  deleteCachedGeometries();
+
+  mEditable = false;
+  setModified(FALSE);
+  
+  triggerRepaint();
+
+  return true;
+}
+
+void QgsVectorLayer::setSelectedFeatures(const QgsFeatureIds& ids)
+{
+  // TODO: check whether features with these ID exist
+  mSelectedFeatureIds = ids;
+  emit selectionChanged();
+}
+
+int QgsVectorLayer::selectedFeatureCount()
+{
+  return mSelectedFeatureIds.size();
+}
+
+const QgsFeatureIds& QgsVectorLayer::selectedFeaturesIds() const
+{
+  return mSelectedFeatureIds;
+}
+
+
+QgsFeatureList QgsVectorLayer::selectedFeatures()
+{
+  if (!mDataProvider)
+  {
+    return QgsFeatureList();
+  }
+  
+  QgsFeatureList features;
+
+  QgsAttributeList allAttrs = mDataProvider->allAttributesList();
+  
+  for (QgsFeatureIds::iterator it = mSelectedFeatureIds.begin(); it != mSelectedFeatureIds.end(); ++it)
+  {
+    QgsFeature feat;
+    
+    bool selectionIsAddedFeature = FALSE;
+
+    // Check this selected item against the uncommitted added features
+    for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+    {
+      if ( (*it) == (*iter).featureId() )
+      {
+        feat = QgsFeature(*iter);
+        selectionIsAddedFeature = TRUE;
+        break;
+      }
+    }
+
+    // if the geometry is not newly added, get it from provider
+    if (!selectionIsAddedFeature)
+    {
+      mDataProvider->getFeatureAtId(*it, feat, true, allAttrs);
+    }
+
+    // Transform the feature to the "current" in-memory version
+    features.append(QgsFeature(feat, mChangedAttributes, mChangedGeometries));
+
+  } // for each selected
+
+  return features;
+}
+
+bool QgsVectorLayer::addFeatures(QgsFeatureList features, bool makeSelected)
+{
+  if (!mDataProvider)
+  { 
+    return false;
+  }
+  
+  if(!(mDataProvider->capabilities() & QgsVectorDataProvider::AddFeatures))
+  {
+    return false;
+  }
+  
+  if (!isEditable())
+  {
+    return false;
+  }
+
+  if (makeSelected)
+  {
+    mSelectedFeatureIds.clear();
+  }
+
+  for (QgsFeatureList::iterator iter = features.begin(); iter != features.end(); ++iter)
+  {
+    addFeature(*iter);
+
+    if (makeSelected)
+    {
+      mSelectedFeatureIds.insert((*iter).featureId());
+    }
+  }
+
+  updateExtents();
+  
+  if (makeSelected)
+  {
+    emit selectionChanged();
+  }
+
+  return true;
+}
+
+
+bool QgsVectorLayer::copySymbologySettings(const QgsMapLayer& other)
+{
+  const QgsVectorLayer* vl = dynamic_cast<const QgsVectorLayer*>(&other);
+
+  if(this == vl)//exit if both vectorlayer are the same
+  {
+    return false;
+  }
+
+  if(!vl)
+  {
+    return false;
+  }
+  delete mRenderer;
+
+  QgsRenderer* r = vl->mRenderer;
+  if(r)
+  {
+    mRenderer = r->clone();
+    return true;
+  }
+  else
+  {
+    return false;
+  }
+}
+
+bool QgsVectorLayer::isSymbologyCompatible(const QgsMapLayer& other) const
+{
+  //vector layers are symbology compatible if they have the same type, the same sequence of numerical/ non numerical fields and the same field names
+
+
+  const QgsVectorLayer* otherVectorLayer = dynamic_cast<const QgsVectorLayer*>(&other);
+  if(otherVectorLayer)
+  {
+
+    if(otherVectorLayer->vectorType() != vectorType())
+      {
+	return false;
+      }
+
+    const QgsFieldMap& fieldsThis = mDataProvider->fields();
+    const QgsFieldMap& fieldsOther = otherVectorLayer ->mDataProvider->fields();
+
+    if(fieldsThis.size() != fieldsOther.size())
+    {
+      return false;
+    }
+
+    // TODO: fill two sets with the numerical types for both layers
+
+    uint fieldsThisSize = fieldsThis.size();
+
+    for(uint i = 0; i < fieldsThisSize; ++i)
+    {
+      if(fieldsThis[i].name() != fieldsOther[i].name())//field names need to be the same
+      {
+        return false;
+      }
+      // TODO: compare types of the fields
+    }
+    return true; //layers are symbology compatible if the code reaches this point
+  }
+  return false;
+}
+
+bool QgsVectorLayer::snapPoint(QgsPoint& point, double tolerance)
+{
+  if(tolerance<=0||!mDataProvider)
+  {
+    return false;
+  }
+  double mindist=tolerance*tolerance;//current minimum distance
+  double mindistx=point.x();
+  double mindisty=point.y();
+  QgsFeature fet;
+  QgsPoint vertexFeature;//the closest vertex of a feature
+  QgsGeometryVertexIndex vindex;
+  double minsquaredist;
+  int rb1, rb2; //rubberband indexes (not used in this method)
+
+  QgsRect selectrect(point.x()-tolerance,point.y()-tolerance,point.x()+tolerance,point.y()+tolerance);
+
+  mDataProvider->select(QgsAttributeList(), selectrect);
+
+  //go to through the features reported by the spatial filter of the provider
+  while (mDataProvider->getNextFeature(fet))
+  {
+    // if geometry has been changed, use the new geometry
+    if(mChangedGeometries.contains(fet.featureId()))
+    {
+      vertexFeature = mChangedGeometries[fet.featureId()].closestVertex(point, vindex, rb1, rb2, minsquaredist);
+    }
+    else
+    {
+      vertexFeature = fet.geometry()->closestVertex(point, vindex, rb1, rb2, minsquaredist);
+    }
+    if(minsquaredist<mindist)
+    {
+      mindistx=vertexFeature.x();
+      mindisty=vertexFeature.y();
+      mindist=minsquaredist;
+    }
+  }
+
+  //also go through the not commited features
+  for(QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter!=mAddedFeatures.end(); ++iter)
+  {
+    if (mChangedGeometries.contains((*iter).featureId()))
+    {
+      // use the changed geometry
+      vertexFeature = mChangedGeometries[(*iter).featureId()].closestVertex(point, vindex, rb1, rb2, minsquaredist);
+    }
+    else
+    {
+      vertexFeature = (*iter).geometry()->closestVertex(point, vindex, rb1, rb2, minsquaredist);
+    }
+    if(minsquaredist<mindist)
+    {
+      mindistx=vertexFeature.x();
+      mindisty=vertexFeature.y();
+      mindist=minsquaredist;
+    }
+  }
+
+  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
+  for(QgsGeometryMap::iterator iter = mChangedGeometries.begin(); iter != mChangedGeometries.end(); ++iter)
+  {
+    vertexFeature = iter.value().closestVertex(point, vindex, rb1, rb2, minsquaredist);
+    if(minsquaredist<mindist)
+    {
+      mindistx=vertexFeature.x();
+      mindisty=vertexFeature.y();
+      mindist=minsquaredist;
+    }
+  }
+
+  point.setX(mindistx);
+  point.setY(mindisty);
+
+  return true;
+}
+
+
+bool QgsVectorLayer::snapVertexWithContext(QgsPoint& point, QgsGeometryVertexIndex& atVertex,
+                                           int& beforeVertexIndex, int& afterVertexIndex,
+                                           int& snappedFeatureId, QgsGeometry& snappedGeometry,
+                                           double tolerance)
+{
+  bool vertexFound = false; //flag to check if a meaningful result can be returned
+  QgsGeometryVertexIndex atVertexTemp;
+  int beforeVertexIndexTemp, afterVertexIndexTemp;
+
+  QgsPoint origPoint = point;
+
+  // Sanity checking
+  if (tolerance<=0 || !mDataProvider)
+  {
+    return false;
+  }
+
+  QgsFeature feature;
+  QgsPoint minDistSegPoint;  // the closest point
+  double testSqrDist;        // the squared distance between 'point' and 'snappedFeature'
+
+  double minSqrDist  = tolerance*tolerance; //current minimum distance
+
+  QgsRect selectrect(point.x()-tolerance, point.y()-tolerance,
+                     point.x()+tolerance, point.y()+tolerance);
+
+  mDataProvider->select(QgsAttributeList(), selectrect);
+
+  // Go through the committed features
+  while (mDataProvider->getNextFeature(feature))
+  {
+    if (mChangedGeometries.contains(feature.featureId()))
+    {
+      // ignore for this loop, let the loop below over mChangedGeometries
+      // detect the changed geometry instead
+      continue;
+
+      // // substitute the modified geometry for the committed version
+      // feature->setGeometry(mChangedGeometries[feature->featureId()]);
+    }
+
+    minDistSegPoint = feature.geometry()->closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+         // this test will "choose" the polygon that the origPoint is in:
+         (testSqrDist == minSqrDist) && 
+         (feature.geometry()->contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+
+      atVertex          = atVertexTemp;
+      beforeVertexIndex = beforeVertexIndexTemp;
+      afterVertexIndex = afterVertexIndexTemp;
+      snappedFeatureId  = feature.featureId();
+      snappedGeometry   = *(feature.geometry());
+      vertexFound = true;
+      return true;
+    }
+  }
+
+
+  // Also go through the new features
+  for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+  {
+    if (mChangedGeometries.contains((*iter).featureId()))
+    {
+      // ignore for this loop, let the loop below over mChangedGeometries
+      // detect the changed geometry instead
+      continue;
+      // //use the modified geometry
+      // minDistSegPoint = mChangedGeometries[(*iter)->featureId()].closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
+    }
+    else
+    {
+    	minDistSegPoint = (*iter).geometry()->closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
+    }
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+         // this test will "choose" the polygon that the origPoint is in:
+         (testSqrDist == minSqrDist) && 
+         ((*iter).geometry()->contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+
+      atVertex      = atVertexTemp;
+      beforeVertexIndex = beforeVertexIndexTemp;
+      afterVertexIndex = afterVertexIndexTemp;
+      snappedFeatureId  =   iter->featureId();
+      snappedGeometry   = *(iter->geometry());
+      vertexFound = true;
+      return true;
+    }
+  }
+
+  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
+  for(QgsGeometryMap::iterator it = mChangedGeometries.begin(); it != mChangedGeometries.end(); ++it)
+  {
+    minDistSegPoint = it.value().closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+           // this test will "choose" the polygon that the origPoint is in:
+        (testSqrDist == minSqrDist) && 
+        (it.value().contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+      atVertex      = atVertexTemp;
+      beforeVertexIndex = beforeVertexIndexTemp;
+      afterVertexIndex = afterVertexIndexTemp;
+      snappedFeatureId  = it.key();
+      snappedGeometry   = it.value();
+      vertexFound = true;
+    }
+  }
+
+  if(!vertexFound)
+  {
+    beforeVertexIndex = -1;
+    afterVertexIndex = -1;
+    return false;
+  }
+
+  return true;
+}
+
+
+bool QgsVectorLayer::snapSegmentWithContext(QgsPoint& point, QgsGeometryVertexIndex& beforeVertex,
+                                            int& snappedFeatureId, QgsGeometry& snappedGeometry,
+                                            double tolerance)
+{
+  bool segmentFound = false; //flag to check if a reasonable result can be returned
+  QgsGeometryVertexIndex beforeVertexTemp;
+
+  QgsPoint origPoint = point;
+
+  // Sanity checking
+  if (tolerance<=0 || !mDataProvider)
+  {
+    return false;
+  }
+
+  QgsFeature feature;
+  QgsPoint minDistSegPoint;  // the closest point on the segment
+  double testSqrDist;        // the squared distance between 'point' and 'snappedFeature'
+  double minSqrDist  = tolerance*tolerance; //current minimum distance
+
+  QgsRect selectrect(point.x()-tolerance, point.y()-tolerance,
+                     point.x()+tolerance, point.y()+tolerance);
+
+  mDataProvider->select(QgsAttributeList(), selectrect);
+
+  // Go through the committed features
+  while (mDataProvider->getNextFeature(feature))
+  {
+    if (mChangedGeometries.contains(feature.featureId()))
+    {
+      // ignore for this loop, let the loop below over mChangedGeometries
+      // detect the changed geometry instead
+      continue;
+
+      // // substitute the modified geometry for the committed version
+      // feature->setGeometry( mChangedGeometries[ feature->featureId() ] );
+    }
+
+    testSqrDist = feature.geometry()->closestSegmentWithContext(origPoint, minDistSegPoint, beforeVertexTemp);
+
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+         // this test will "choose" the polygon that the origPoint is in:
+         (testSqrDist == minSqrDist) && 
+         (feature.geometry()->contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+
+      beforeVertex      = beforeVertexTemp;
+      snappedFeatureId  = feature.featureId();
+      snappedGeometry   = *(feature.geometry());
+      segmentFound = true;
+    }
+    
+  }
+
+  // Also go through the new features
+  for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+  {
+    if(mChangedGeometries.contains((*iter).featureId()))
+    {
+      // ignore for this loop, let the loop below over mChangedGeometries
+      // detect the changed geometry instead
+      continue;
+
+      // //use the modified geometry
+      // minDistSegPoint = mChangedGeometries[(*iter)->featureId()].closestSegmentWithContext(origPoint, beforeVertexTemp, testSqrDist);
+    }
+    else
+    {
+      testSqrDist = (*iter).geometry()->closestSegmentWithContext(origPoint, minDistSegPoint, beforeVertexTemp);
+    }
+
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+         // this test will "choose" the polygon that the origPoint is in:
+         (testSqrDist == minSqrDist) && 
+         ((*iter).geometry()->contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+
+      beforeVertex      = beforeVertexTemp;
+      snappedFeatureId  =   (*iter).featureId();
+      snappedGeometry   = *((*iter).geometry());
+      segmentFound = true;
+    }
+  }
+
+  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
+  for(QgsGeometryMap::iterator it = mChangedGeometries.begin(); it != mChangedGeometries.end(); ++it)
+  {
+    testSqrDist = it.value().closestSegmentWithContext(origPoint, minDistSegPoint, beforeVertexTemp);
+    if (
+        (testSqrDist < minSqrDist) ||
+        (
+           // this test will "choose" the polygon that the origPoint is in:
+        (testSqrDist == minSqrDist) && 
+        (it.value().contains(&origPoint))
+        )
+       )
+    {
+      point = minDistSegPoint;
+      minSqrDist = testSqrDist;
+      beforeVertex      = beforeVertexTemp;
+      snappedFeatureId  = it.key();
+      snappedGeometry   = it.value();
+      segmentFound = true;
+    }
+  }
+
+  return segmentFound; 
+}
+
+
+void QgsVectorLayer::drawFeature(QPainter* p,
+                                 QgsFeature& fet,
+                                 QgsMapToPixel * theMapToPixelTransform,
+                                 QgsCoordinateTransform* ct,
+                                 QImage * marker,
+                                 double markerScaleFactor,
+                                 bool drawingToEditingCanvas)
+{
+  // Only have variables, etc outside the switch() statement that are
+  // used in all cases of the statement (otherwise they may get
+  // executed, but never used, in a bit of code where performance is
+  // critical).
+
+#if defined(Q_WS_X11)
+  bool needToTrim = false;
+#endif
+
+  QgsGeometry* geom = fet.geometry();
+  unsigned char* feature = geom->wkbBuffer();
+
+  QGis::WKBTYPE wkbType = geom->wkbType();
+
+#ifdef QGISDEBUG
+  //std::cout <<"Entering drawFeature()" << std::endl;
+#endif
+
+  switch (wkbType)
+  {
+    case QGis::WKBPoint:
+    case QGis::WKBPoint25D:
+      {
+        double x = *((double *) (feature + 5));
+        double y = *((double *) (feature + 5 + sizeof(double)));
+
+#ifdef QGISDEBUG 
+        //  std::cout <<"...WKBPoint (" << x << ", " << y << ")" <<std::endl;
+#endif
+
+        transformPoint(x, y, theMapToPixelTransform, ct);
+        //QPointF pt(x - (marker->width()/2),  y - (marker->height()/2));
+        QPointF pt(x/markerScaleFactor - (marker->width()/2),  y/markerScaleFactor - (marker->height()/2));
+
+        p->save();
+        p->scale(markerScaleFactor,markerScaleFactor);
+        p->drawImage(pt, *marker);
+        p->restore();
+
+        break;
+      }
+    case QGis::WKBMultiPoint:
+    case QGis::WKBMultiPoint25D:
+      {
+        unsigned char *ptr = feature + 5;
+        unsigned int nPoints = *((int*)ptr);
+        ptr += 4;
+
+        p->save();
+        p->scale(markerScaleFactor, markerScaleFactor);
+
+        for (register unsigned int i = 0; i < nPoints; ++i)
+        {
+          ptr += 5;
+          double x = *((double *) ptr);
+          ptr += sizeof(double);
+          double y = *((double *) ptr);
+          ptr += sizeof(double);
+          
+          if (wkbType == QGis::WKBMultiPoint25D) // ignore Z value
+            ptr += sizeof(double);
+
+#ifdef QGISDEBUG 
+          std::cout <<"...WKBMultiPoint (" << x << ", " << y << ")" <<std::endl;
+#endif
+
+          transformPoint(x, y, theMapToPixelTransform, ct);
+          //QPointF pt(x - (marker->width()/2),  y - (marker->height()/2));
+          QPointF pt(x/markerScaleFactor - (marker->width()/2),  y/markerScaleFactor - (marker->height()/2));
+          
+#if defined(Q_WS_X11)
+          // Work around a +/- 32768 limitation on coordinates in X11
+          if (std::abs(x) > QgsClipper::maxX ||
+              std::abs(y) > QgsClipper::maxY)
+            needToTrim = true;
+          else
+#endif
+          p->drawImage(pt, *marker);
+        }
+        p->restore();
+
+        break;
+      }
+    case QGis::WKBLineString:
+    case QGis::WKBLineString25D:
+      {
+        drawLineString(feature,
+                       p,
+                       theMapToPixelTransform,
+                       ct,
+                       drawingToEditingCanvas);
+        break;
+      }
+    case QGis::WKBMultiLineString:
+    case QGis::WKBMultiLineString25D:
+    {
+        unsigned char* ptr = feature + 5;
+        unsigned int numLineStrings = *((int*)ptr);
+        ptr = feature + 9;
+        
+        for (register unsigned int jdx = 0; jdx < numLineStrings; jdx++)
+        {
+          ptr = drawLineString(ptr,
+                               p,
+                               theMapToPixelTransform,
+                               ct,
+                               drawingToEditingCanvas);
+        }
+        break;
+      }
+    case QGis::WKBPolygon:
+    case QGis::WKBPolygon25D:
+    {
+        drawPolygon(feature,
+                    p,
+                    theMapToPixelTransform,
+                    ct,
+                    drawingToEditingCanvas);
+        break;
+      }
+    case QGis::WKBMultiPolygon:
+    case QGis::WKBMultiPolygon25D:
+    {
+        unsigned char *ptr = feature + 5;
+        unsigned int numPolygons = *((int*)ptr);
+        ptr = feature + 9;
+        for (register unsigned int kdx = 0; kdx < numPolygons; kdx++)
+          ptr = drawPolygon(ptr,
+                            p,
+                            theMapToPixelTransform, 
+                            ct,
+                            drawingToEditingCanvas);
+        break;
+      }
+    default:
+      QgsDebugMsg("UNKNOWN WKBTYPE ENCOUNTERED");
+      break;
+  }
+}
+
+
+
+void QgsVectorLayer::setCoordinateSystem()
+{
+  QgsDebugMsg("QgsVectorLayer::setCoordinateSystem ----- Computing Coordinate System");
+  
+  //
+  // Get the layers project info and set up the QgsCoordinateTransform 
+  // for this layer
+  //
+  
+  // get SRS directly from provider
+  *mSRS = mDataProvider->getSRS();
+  
+  /*  
+  
+  // XXX old stuff
+  
+  int srid = getProjectionSrid();
+
+  if(srid == 0)
+  {
+    QString mySourceWKT(getProjectionWKT());
+    if (mySourceWKT.isNull())
+    {
+      mySourceWKT=QString("");
+    }
+    QgsDebugMsg("QgsVectorLayer::setCoordinateSystem --- using wkt " + mySourceWKT);
+    mSRS->createFromWkt(mySourceWKT);
+  }
+  else
+  {
+    QgsDebugMsg("QgsVectorLayer::setCoordinateSystem --- using srid " + QString::number(srid));
+    mSRS->createFromSrid(srid);
+  }
+  */
+
+  //QgsSpatialRefSys provides a mechanism for FORCE a srs to be valid
+  //which is inolves falling back to system, project or user selected
+  //defaults if the srs is not properly intialised.
+  //we only nee to do that if the srs is not alreay valid
+  if (!mSRS->isValid())
+  {
+    mSRS->validate();
+  }
+
+}
+
+bool QgsVectorLayer::commitAttributeChanges(const QgsAttributeIds& deleted,
+                            const QgsNewAttributesMap& added,
+                            const QgsChangedAttributesMap& changed)
+{
+  bool returnvalue=true;
+  if(mDataProvider->capabilities()&QgsVectorDataProvider::DeleteAttributes)
+    {
+      //delete attributes in all not commited features
+      for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+	{
+	  for (QgsAttributeIds::const_iterator it = deleted.begin(); it != deleted.end(); ++it)
+	    {
+	      (*iter).deleteAttribute(*it);
+	    }
+	}
+      
+      //and then in the provider
+      if(!mDataProvider->deleteAttributes(deleted))
+	{
+	  returnvalue=false;
+	}
+    }
+  
+  if(mDataProvider->capabilities()&QgsVectorDataProvider::AddAttributes)
+    {
+      //add attributes in all not commited features
+      // TODO: is it necessary? [MD]
+      /*for (QgsFeatureList::iterator iter = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
+	{
+        for (QgsNewAttributesMap::const_iterator it = added.begin(); it != added.end(); ++it)
+        {
+	(*iter).addAttribute(, QgsFeatureAttribute(it.key(), ""));
+        }
+	}*/
+      
+      //and then in the provider
+      if(!mDataProvider->addAttributes(added))
+	{
+	  returnvalue=false;
+	}
+    }
+  
+  if(mDataProvider->capabilities()&QgsVectorDataProvider::ChangeAttributeValues)
+    {
+      //and then those of the commited ones
+      if(!mDataProvider->changeAttributeValues(changed))
+	{
+	  returnvalue=false;
+	}
+    }
+  return returnvalue;
+}
+
+// Convenience function to transform the given point
+inline void QgsVectorLayer::transformPoint(double& x, 
+    double& y, 
+    QgsMapToPixel* mtp,
+    QgsCoordinateTransform* ct)
+{
+  // transform the point
+  if (ct)
+  {
+    double z = 0;
+    ct->transformInPlace(x, y, z);
+  }
+
+  // transform from projected coordinate system to pixel 
+  // position on map canvas
+  mtp->transformInPlace(x, y);
+}
+
+inline void QgsVectorLayer::transformPoints(
+    std::vector<double>& x, std::vector<double>& y, std::vector<double>& z,
+    QgsMapToPixel* mtp, QgsCoordinateTransform* ct)
+{
+  // transform the point
+  if (ct)
+    ct->transformInPlace(x, y, z);
+
+  // transform from projected coordinate system to pixel 
+  // position on map canvas
+  mtp->transformInPlace(x, y);
+}
+
+
+const QString QgsVectorLayer::displayField() const
+{
+  return mDisplayField;
+}
+
+bool QgsVectorLayer::isEditable() const
+{
+  return (mEditable && mDataProvider);
+}
+
+bool QgsVectorLayer::isModified() const
+{
+  return mModified;
+}
+
+QgsFeatureList& QgsVectorLayer::addedFeatures()
+{
+  return mAddedFeatures;
+}
+
+QgsFeatureIds& QgsVectorLayer::deletedFeatureIds()
+{
+  return mDeletedFeatureIds;
+}
+
+QgsChangedAttributesMap& QgsVectorLayer::changedAttributes()
+{
+  return mChangedAttributes;
+}
+
+void QgsVectorLayer::setModified(bool modified, bool onlyGeometry)
+{
+  mModified = modified;
+  emit wasModified(onlyGeometry);
+}

Added: packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/qgsvectorlayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,526 @@
+/***************************************************************************
+                          qgsvectorlayer.h  -  description
+                             -------------------
+    begin                : Oct 29, 2003
+    copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsvectorlayer.h 7065 2007-07-07 06:58:10Z mhugent $ */
+
+#ifndef QGSVECTORLAYER_H
+#define QGSVECTORLAYER_H
+
+#include <QMap>
+#include <QSet>
+#include <QList>
+
+#include "qgis.h"
+#include "qgsmaplayer.h"
+#include "qgsfeature.h"
+
+class QPainter;
+class QImage;
+
+class QgsAttributeAction;
+class QgsField;
+class QgsFeature;
+class QgsGeometry;
+class QgsGeometryVertexIndex;
+class QgsMapToPixel;
+class QgsLabel;
+class QgsRect;
+class QgsRenderer;
+class QgsVectorDataProvider;
+
+
+class QgsGeometry;
+class QgsRect;
+class QgsFeature;
+
+//typedef QList<QgsField>   QgsFieldList;
+typedef QList<QgsFeature> QgsFeatureList;
+typedef QList<int>       QgsAttributeList;
+
+typedef QSet<int> QgsFeatureIds;
+typedef QSet<int> QgsAttributeIds;
+
+// key = attribute name, value = attribute type
+typedef QMap<QString, QString> QgsNewAttributesMap;
+
+typedef QMap<int, QgsField> QgsFieldMap;
+
+
+
+/*! \class QgsVectorLayer
+ * \brief Vector layer backed by a data source provider
+ */
+
+class CORE_EXPORT QgsVectorLayer : public QgsMapLayer
+{
+  Q_OBJECT
+
+public:
+
+  /** Constructor */
+  QgsVectorLayer(QString path = 0, QString baseName = 0, QString providerLib = 0);
+
+  /** Destructor */
+  virtual ~QgsVectorLayer();
+
+  /** Returns the permanent storage type for this layer as a friendly name. */
+  QString storageType() const;
+
+  /** Capabilities for this layer in a friendly format. */
+  QString capabilitiesString() const;
+
+  /** Returns a comment for the data in the layer */
+  QString dataComment() const;
+
+  /** Set the primary display field to be used in the identify results dialog */
+  void setDisplayField(QString fldName=0);
+
+  /** Returns the primary display field name used in the identify results dialog */
+  const QString displayField() const;
+
+  /** bind layer to a specific data provider
+     @param provider should be "postgres", "ogr", or ??
+     @todo XXX should this return bool?  Throw exceptions?
+  */
+  bool setDataProvider( QString const & provider );
+  
+  /** Returns the data provider */
+  QgsVectorDataProvider* getDataProvider();
+
+  /** Returns the data provider in a const-correct manner */
+  const QgsVectorDataProvider* getDataProvider() const;
+
+  /** Sets the textencoding of the data provider */
+  void setProviderEncoding(const QString& encoding);
+
+  /** Setup the coordinate system tranformation for the layer */
+  void setCoordinateSystem();
+
+  QgsLabel *label();
+
+  QgsAttributeAction* actions() { return mActions; }
+
+  /** The number of features that are selected in this layer */
+  int selectedFeatureCount();
+  
+  /** Select features found within the search rectangle (in layer's coordinates) */
+  void select(QgsRect & rect, bool lock);
+  
+  /** Select not selected features and deselect selected ones */
+  void invertSelection();
+
+  /** Get a copy of the user-selected features */  
+  QgsFeatureList selectedFeatures();
+  
+  /** Return reference to identifiers of selected features */
+  const QgsFeatureIds& selectedFeaturesIds() const;
+  
+  /** Change selection to the new set of features */
+  void setSelectedFeatures(const QgsFeatureIds& ids);
+
+  /** Returns the bounding box of the selected features. If there is no selection, QgsRect(0,0,0,0) is returned */
+  QgsRect boundingBoxOfSelected();
+
+  
+  /** Insert a copy of the given features into the layer */
+  bool addFeatures(QgsFeatureList features, bool makeSelected = TRUE);
+
+  /** Copies the symbology settings from another layer. Returns true in case of success */
+  bool copySymbologySettings(const QgsMapLayer& other);
+
+  /** Returns true if this layer can be in the same symbology group with another layer */
+  bool isSymbologyCompatible(const QgsMapLayer& other) const;
+  
+  /** Returns a pointer to the renderer */
+  const QgsRenderer* renderer() const;
+
+  /** Sets the renderer. If a renderer is already present, it is deleted */
+  void setRenderer(QgsRenderer * r);
+
+  /** Returns point, line or polygon */
+  QGis::VectorType vectorType() const;
+
+  /**Returns the WKBType or WKBUnknown in case of error*/
+  QGis::WKBTYPE geometryType() const;
+
+  /** Return the provider type for this layer */
+  QString providerType() const;
+
+  /** reads vector layer specific state from project file DOM node.
+   *  @note Called by QgsMapLayer::readXML().
+   */
+  virtual bool readXML_( QDomNode & layer_node );
+
+  /** write vector layer specific state to project file DOM node.
+   *  @note Called by QgsMapLayer::writeXML().
+   */
+  virtual bool writeXML_( QDomNode & layer_node, QDomDocument & doc );
+
+
+  /**
+   * Number of features in the layer. This is necessary if features are
+   * added/deleted or the layer has been subsetted. If the data provider
+   * chooses not to support this feature, the total number of features
+   * can be returned.
+   * @return long containing number of features
+   */
+  virtual long featureCount() const;
+
+  /** Update the feature count 
+   * @return long containing the number of features in the datasource
+   */
+  virtual long updateFeatureCount() const;
+
+  /**
+   * Set the string (typically sql) used to define a subset of the layer
+   * @param subset The subset string. This may be the where clause of a sql statement
+   *               or other defintion string specific to the underlying dataprovider
+   *               and data store.
+   */
+  virtual void setSubsetString(QString subset);
+
+  /**
+   * Get the string (typically sql) used to define a subset of the layer
+   * @return The subset string or QString::null if not implemented by the provider
+   */
+  virtual QString subsetString();
+
+
+  /** Adds a feature
+      @param lastFeatureInBatch  If True, will also go to the effort of e.g. updating the extents.
+      @return                    Irue in case of success and False in case of error
+   */
+  bool addFeature(QgsFeature& f, bool alsoUpdateExtent = TRUE);
+  
+  
+  /** Insert a new vertex before the given vertex number,
+   *  in the given ring, item (first number is index 0), and feature
+   *  Not meaningful for Point geometries
+   */
+  bool insertVertexBefore(double x, double y, int atFeatureId,
+                          QgsGeometryVertexIndex beforeVertex);
+
+  /** Moves the vertex at the given position number,
+   *  ring and item (first number is index 0), and feature
+   *  to the given coordinates
+   */
+  bool moveVertexAt(double x, double y, int atFeatureId,
+                    QgsGeometryVertexIndex atVertex);
+
+  /** Deletes the vertex at the given position number,
+   *  ring and item (first number is index 0), and feature
+   */
+  bool deleteVertexAt(int atFeatureId,
+                      QgsGeometryVertexIndex atVertex);
+
+  /** Deletes the selected features
+   *  @return true in case of success and false otherwise
+   */
+  bool deleteSelectedFeatures();
+
+  /**Adds a ring to polygon/multipolygon features
+   @return 0 in case of success, 1 problem with feature type, 2 ring not closed, 3 ring not valid, 4 ring crosses \
+existing rings, 5 no feature found where ring can be inserted*/
+  int addRing(const QList<QgsPoint>& ring);
+
+  /**Adds a new island polygon to a multipolygon feature
+   @return 0 in case of success, 1 if selected feature is not multipolygon, 2 if ring is not a valid geometry, \
+3if new polygon ring not disjoint with existing rings, 4 if no feature was selected, 5 if several features are selected, \
+6 if selected geometry not found*/
+  int addIsland(const QList<QgsPoint>& ring);
+
+
+  /** Set labels on */
+  void setLabelOn( bool on );
+
+  /** Label is on */
+  bool labelOn( void );
+
+  /** Returns true if the provider is in editing mode */
+  virtual bool isEditable() const;
+
+  /** Returns true if the provider has been modified since the last commit */
+  virtual bool isModified() const;
+
+  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
+     @param point       The point which is set to the position of a vertex if there is one within the snapping tolerance.
+     If there is no point within this tolerance, point is left unchanged.
+     @param tolerance   The snapping tolerance
+     @return true if the position of point has been changed, and false otherwise */
+  bool snapPoint(QgsPoint& point, double tolerance);
+
+  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
+     @param atVertex          Set to a vertex index of the snapped-to vertex
+     @param beforeVertexIndex Returns the index of the vertex before atVertex (for rubber band purposes). -1 if no vertex is before
+     @param afterVertexIndex  Returns the index of the vertex after atVertex (for rubber band purposes). -1 if no vertex is after
+     @param snappedFeatureId  Set to the feature ID that where the snapped-to vertex belongs to.
+     @param snappedGeometry   Set to the geometry that the snapped-to vertex belongs to.
+     @param tolerance         The snapping tolerance
+     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
+     
+     TODO: Handle returning multiple verticies if they are coincident
+   */
+  bool snapVertexWithContext(QgsPoint& point,
+                             QgsGeometryVertexIndex& atVertex,
+			     int& beforeVertexIndex,
+			     int& afterVertexIndex,
+                             int& snappedFeatureId,
+                             QgsGeometry& snappedGeometry,
+                             double tolerance);
+
+  /**Snaps a point to the closest line segment if there is one within the snapping tolerance
+     @param beforeVertex      Set to a value where the snapped-to segment is before this vertex index
+     @param snappedFeatureId  Set to the feature ID that where the snapped-to segment belongs to.
+     @param snappedGeometry   Set to the geometry that the snapped-to segment belongs to.
+     @param tolerance         The snapping tolerance
+     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
+     
+     TODO: Handle returning multiple lineFeatures if they are coincident
+   */
+  bool snapSegmentWithContext(QgsPoint& point,
+                              QgsGeometryVertexIndex& beforeVertex,
+                              int& snappedFeatureId, 
+                              QgsGeometry& snappedGeometry,
+                              double tolerance);
+
+  /**
+    Commits edited attributes. Depending on the feature id,
+    the changes are written to not commited features or redirected to
+    the data provider
+
+    The commits (in this version) occur in three distinct stages,
+    (delete attributes, add attributes, change attribute values)
+    so if a stage fails, it's difficult to roll back cleanly.
+
+    \todo Need to indicate at which stage the failed commit occurred,
+          for better cleanup and recovery from the error.
+
+    \param deleted  Set of attribute indices (i.e. columns) to delete
+    \param added    Map (name, type) of attribute names (i.e. columns) to add
+    \param changed  Map (feature ID, Map (attribute name, new value) )
+                      of attribute values to change
+
+   */
+  bool commitAttributeChanges(const QgsAttributeIds& deleted,
+                              const QgsNewAttributesMap& added,
+                              const QgsChangedAttributesMap& changed);
+
+  /** Draws the layer using coordinate transformation
+   *  @return FALSE if an error occurred during drawing
+   */
+  bool draw(QPainter * p,
+            QgsRect & viewExtent,
+            QgsMapToPixel * cXf,
+            QgsCoordinateTransform* ct,
+            bool drawingToEditingCanvas);
+
+  /** Draws the layer labels using coordinate transformation */
+  void drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * cXf, QgsCoordinateTransform* ct);
+
+  /** \brief Draws the layer using coordinate transformation
+   *  \param widthScale line width scale
+   *  \param symbolScale symbol scale
+   */
+  void draw(QPainter * p,
+            QgsRect & viewExtent,
+            QgsMapToPixel * cXf,
+            QgsCoordinateTransform* ct,
+            bool drawingToEditingCanvas,
+            double widthScale,
+            double symbolScale);
+
+  /** \brief Draws the layer labels using coordinate transformation
+   *  \param scale size scale, applied to all values in pixels
+   */
+  void drawLabels(QPainter * p, QgsRect & viewExtent, QgsMapToPixel * cXf, QgsCoordinateTransform* ct, double scale);
+
+  /** returns array of added features */
+  QgsFeatureList& addedFeatures();
+
+  /** returns array of deleted feature IDs */
+  QgsFeatureIds& deletedFeatureIds();
+ 
+  /** returns array of features with changed attributes */
+  QgsChangedAttributesMap& changedAttributes();
+
+  /** Sets whether some features are modified or not */
+  void setModified(bool modified = TRUE, bool onlyGeometryWasModified = FALSE);
+  
+  /** Make layer editable */
+  bool startEditing();
+  
+  /**
+    Attempts to commit any changes to disk.  Returns the result of the attempt.
+    If a commit fails, the in-memory changes are left alone.
+
+    This allows editing to continue if the commit failed on e.g. a
+    disallowed value in a Postgres database - the user can re-edit and try
+    again.
+
+    The commits (in this version) occur in four distinct stages,
+    (add features, change attributes, change geometries, delete features)
+    so if a stage fails, it's difficult to roll back cleanly.
+    Therefore any error message also includes which stage failed so 
+    that the user has some chance of repairing the damage cleanly.
+
+   */
+  bool commitChanges();
+
+  /** Stop editing and discard the edits */
+  bool rollBack();
+
+public slots:
+
+  /** Select feature by its ID, optionally emit signal selectionChanged() */
+  void select(int featureId, bool emitSignal = TRUE);
+  
+  /** Clear selection */
+  void removeSelection(bool emitSignal = TRUE);
+
+  void triggerRepaint();
+
+  /** Update the extents for the layer. This is necessary if features are
+   *  added/deleted or the layer has been subsetted.
+   */
+  virtual void updateExtents();
+
+signals:
+
+  /** This signal is emited when selection was changed */
+  void selectionChanged();
+  
+  /** This signal is emitted when modifications has been done on layer */
+  void wasModified(bool onlyGeometry);
+
+private:                       // Private methods
+
+  /** vector layers are not copyable */
+  QgsVectorLayer( QgsVectorLayer const & rhs );
+
+  /** vector layers are not copyable */
+  QgsVectorLayer & operator=( QgsVectorLayer const & rhs );
+
+  /** Draws features. May cause projections exceptions to be generated
+   *  (i.e., code that calls this function needs to catch them
+   */
+  void drawFeature(QPainter* p,
+                   QgsFeature& fet,
+                   QgsMapToPixel * cXf,
+                   QgsCoordinateTransform* ct,
+                   QImage* marker,
+                   double markerScaleFactor,
+                   bool drawingToEditingCanvas);
+
+  /** Convenience function to transform the given point */
+  void transformPoint(double& x, double& y,
+                      QgsMapToPixel* mtp, QgsCoordinateTransform* ct);
+  
+  void transformPoints(std::vector<double>& x, std::vector<double>& y, std::vector<double>& z,
+                       QgsMapToPixel* mtp, QgsCoordinateTransform* ct);
+
+  /** Draw the linestring as given in the WKB format. Returns a pointer
+   * to the byte after the end of the line string binary data stream (WKB).
+   */
+  unsigned char* drawLineString(unsigned char* WKBlinestring,
+                                QPainter* p,
+                                QgsMapToPixel* mtp,
+                                QgsCoordinateTransform* ct,
+                                bool drawingToEditingCanvas);
+
+  /** Draw the polygon as given in the WKB format. Returns a pointer to
+   *  the byte after the end of the polygon binary data stream (WKB).
+   */
+  unsigned char* drawPolygon(unsigned char* WKBpolygon,
+                             QPainter* p,
+                             QgsMapToPixel* mtp,
+                             QgsCoordinateTransform* ct,
+                             bool drawingToEditingCanvas);
+
+  /** Goes through all features and finds a free id (e.g. to give it temporarily to a not-commited feature) */
+  int findFreeId();
+
+  /**Deletes the geometries in mCachedGeometries*/
+  void deleteCachedGeometries();
+  /** Draws a vertex symbol at (screen) coordinates x, y. (Useful to assist vertex editing.) */
+  void drawVertexMarker(int x, int y, QPainter& p);
+
+
+private:                       // Private attributes
+
+  /** Update threshold for drawing features as they are read. A value of zero indicates
+   *  that no features will be drawn until all have been read
+   */
+  int mUpdateThreshold;
+
+  /** Pointer to data provider derived from the abastract base class QgsDataProvider */
+  QgsVectorDataProvider *mDataProvider;
+
+  /** index of the primary label field */
+  QString mDisplayField;
+
+  /** Data provider key */
+  QString mProviderKey;
+
+  /** The user-defined actions that are accessed from the Identify Results dialog box */
+  QgsAttributeAction* mActions;
+
+  /** Flag indicating whether the layer is in editing mode or not */
+  bool mEditable;
+  
+  /** Flag indicating whether the layer has been modified since the last commit */
+  bool mModified;
+  
+  /** cache of the committed geometries retrieved *for the current display* */
+  QgsGeometryMap mCachedGeometries;
+  
+  /** Set holding the feature IDs that are activated.  Note that if a feature 
+      subsequently gets deleted (i.e. by its addition to mDeletedFeatureIds), 
+      it always needs to be removed from mSelectedFeatureIds as well. 
+   */ 
+  QgsFeatureIds mSelectedFeatureIds;
+  
+  /** Deleted feature IDs which are not commited.  Note a feature can be added and then deleted 
+      again before the change is committed - in that case the added feature would be removed 
+      from mAddedFeatures only and *not* entered here.
+   */ 
+  QgsFeatureIds mDeletedFeatureIds;
+  
+  /** New features which are not commited.  Note a feature can be added and then changed, 
+      therefore the details here can be overridden by mChangedAttributes and mChangedGeometries.
+   */  
+  QgsFeatureList mAddedFeatures;
+  
+  /** Changed attributes which are not commited */
+  QgsChangedAttributesMap mChangedAttributes;
+  
+  /** Changed geometries which are not commited. */
+  QgsGeometryMap mChangedGeometries;
+  
+  /** Geometry type as defined in enum WKBTYPE (qgis.h) */
+  int mGeometryType;
+  
+  /** Renderer object which holds the information about how to display the features */
+  QgsRenderer *mRenderer;
+
+  /** Label */
+  QgsLabel *mLabel;
+
+  /** Display labels */
+  bool mLabelOn;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,213 @@
+/***************************************************************************
+                              qgscolortable.cpp
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include <iostream>
+#include <vector>
+#include <algorithm>
+
+#include "qgscolortable.h"
+#include "qgslogger.h"
+
+/* compare ramps */
+bool compareRampSort ( const RAMP &a, const RAMP &b) 
+{ 
+    if ( a.min < b.min || a.max < b.max ) return true;
+
+    return false;
+} 
+
+bool compareRampSearch ( const RAMP &a, const RAMP &b)
+{
+    if( a.max < b.min ) return true;
+    return false;
+}
+
+
+QgsColorTable::QgsColorTable ( int interp ) 
+{
+    QgsDebugMsg("QgsColorTable::QgsColorTable()");
+    mInterp = interp;
+}
+
+QgsColorTable::~QgsColorTable()
+{
+}
+
+void QgsColorTable::add ( uint index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 )
+{
+#ifdef QGISDEBUG
+    QgsLogger::debug("QgsColorTable::add() index", (int)index, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+    if ( mDiscrete.size() == 0 ) {
+	mMin = index;
+	mMax = index;
+    } else { 
+	if ( index < mMin ) mMin = index;
+	if ( index > mMax ) mMax = index;
+    }
+
+    if ( mDiscrete.size() <= index ) {
+       mDiscrete.resize ( index + 1 ); 
+    }
+
+    mDiscrete[index].c1 = c1;
+    mDiscrete[index].c2 = c2;
+    mDiscrete[index].c3 = c3;
+    mDiscrete[index].c4 = c4;
+}
+
+void QgsColorTable::clear()
+{
+    QgsDebugMsg("QgsColorTable::clear() called ");
+    mDiscrete.clear();
+    mRamp.clear();
+    mMax=0;
+    mMin=0;
+}
+
+
+void QgsColorTable::add ( double min,  double max,
+                  unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
+		  unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4 )
+{
+    RAMP ramp;    
+#ifdef QGISDEBUG
+    QgsLogger::debug("QgsColorTable::add() min", min, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("QgsColorTable::add() max", max, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+    if ( mRamp.size() == 0 ) {
+	mMin = min;
+	mMax = max;
+    } else { 
+	if ( min < mMin ) mMin = min;
+	if ( max > mMax ) mMax = max;
+    }
+
+    ramp.min = min;
+    ramp.max = max;
+    ramp.min_c1 = min_c1;
+    ramp.min_c2 = min_c2;
+    ramp.min_c3 = min_c3;
+    ramp.min_c4 = min_c4;
+    ramp.max_c1 = max_c1;
+    ramp.max_c2 = max_c2;
+    ramp.max_c3 = max_c3;
+    ramp.max_c4 = max_c4;
+
+    mRamp.push_back ( ramp );
+}
+
+bool QgsColorTable::color ( double value, int *c1, int *c2, int *c3 )
+{
+    if ( mRamp.size() > 0 ) {
+	std::vector<RAMP>::iterator it;
+
+	RAMP ramp;
+	ramp.min = ramp.max = value;
+	
+	it = std::lower_bound ( mRamp.begin(), mRamp.end(), ramp, compareRampSearch );
+
+	if ( it != mRamp.end() ) { // Found
+	    double k, d;
+            d = it->max - it->min;
+	    
+	    if ( d <= 0 ) { 
+		k = 0;
+	    } else {
+	        k = (value - it->min)/d;
+	    }
+
+	    *c1 = (int) (it->min_c1 + k * (it->max_c1 - it->min_c1));
+	    *c2 = (int) (it->min_c2 + k * (it->max_c2 - it->min_c2));
+	    *c3 = (int) (it->min_c3 + k * (it->max_c3 - it->min_c3));
+	    
+	    return true;
+	}
+    } else if ( mDiscrete.size() > 0 ) {
+	uint index = (uint) value;
+	if ( index < mDiscrete.size() ) {
+	    *c1 = mDiscrete[index].c1;
+	    *c2 = mDiscrete[index].c2;
+	    *c3 = mDiscrete[index].c3;
+	    return true;
+	}
+    }
+
+    *c1 = 0; *c2 = 0; *c3 = 0;
+    return false;
+}
+
+void QgsColorTable::sort ( void )
+{
+    std::sort ( mRamp.begin(), mRamp.end(), compareRampSort );
+}
+
+bool QgsColorTable::defined ( void )
+{
+    if ( mDiscrete.size() > 0 || mRamp.size() > 0 ) {
+	return true;
+    }
+    return false;
+}
+
+int QgsColorTable::interpretation ( void )
+{
+    return mInterp;
+}
+
+double QgsColorTable::rmin ( void )
+{
+    return mMin;
+}
+
+double QgsColorTable::rmax ( void )
+{
+    return mMax;  
+}
+
+
+void QgsColorTable::print ( void )
+{
+#ifdef QGISDEBUG
+    QgsLogger::debug("******** Color table ********", 1, __FILE__, __FUNCTION__,  __LINE__);
+    QgsLogger::debug("Discrete table size", (int)mDiscrete.size(), 1, __FILE__, __FUNCTION__,  __LINE__);
+
+    for ( uint i = 0; i < mDiscrete.size(); i++ ) {
+      QgsLogger::debug("i", (int)i, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("c1", (int) mDiscrete[i].c1, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("c2", (int) mDiscrete[i].c2, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("c3", (int) mDiscrete[i].c3, 2, __FILE__, __FUNCTION__,  __LINE__);
+    }
+
+    QgsLogger::debug("Ramp table size", (int)mRamp.size(), 1, __FILE__, __FUNCTION__,  __LINE__);
+    for ( uint i = 0; i < mRamp.size(); i++ ) {
+        std::cerr << "  min = " << mRamp[i].min << " max = " << mRamp[i].max 
+	          << " min_c1 = " << (int)mRamp[i].min_c1 << " min_c2 = " << (int)mRamp[i].min_c2 
+	          << " min_c3 = " << (int)mRamp[i].min_c3 << " max_c1 = " << (int)mRamp[i].max_c1
+		  << " max_c2 = " << (int)mRamp[i].max_c2 << " max_c3 = " << (int)mRamp[i].max_c3 
+		  << std::endl;
+	QgsLogger::debug("min", mRamp[i].min, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("min_c1", (int)mRamp[i].min_c1, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("min_c2", (int)mRamp[i].min_c2, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("min_c3", (int)mRamp[i].min_c3, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("max_c1", (int)mRamp[i].max_c1, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("max_c2", (int)mRamp[i].max_c2, 2, __FILE__, __FUNCTION__,  __LINE__);
+	QgsLogger::debug("max_c3", (int)mRamp[i].max_c3, 2, __FILE__, __FUNCTION__,  __LINE__);
+    }
+#endif
+}
+

Added: packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgscolortable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,122 @@
+/***************************************************************************
+                              qgscolortable.h 
+                             -------------------
+    begin                : August 2004
+    copyright            : (C) 2004 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscolortable.h 6780 2007-03-09 09:31:12Z wonder $ */
+#ifndef QGSCOLORTABLE_H
+#define QGSCOLORTABLE_H
+
+#include <vector>
+#include <algorithm>
+
+/* 
+ * Because of performance, this class can store color rules in 2 forms:
+ *   1) discrete - vector of descrete values and their colors; can be accessed by index (from 0)
+ *   2) ramp - vector of ramps defined by min and max value and a color for min amd max value,
+ *             colors between min and max are interpolated linearly.
+ *
+ * Only one type should be used for one instance.
+ *
+ */
+
+
+typedef struct {
+    unsigned char c1, c2, c3, c4;
+} DISCRETE; 
+
+typedef struct {
+    double min, max;
+    unsigned char min_c1, min_c2, min_c3, min_c4;
+    unsigned char max_c1, max_c2, max_c3, max_c4;
+} RAMP;
+class CORE_EXPORT QgsColorTable
+{
+public:
+    /** 
+     *  \brief Constructor.
+     *  \param interp color table interpretation
+     */
+    QgsColorTable ( int interp = Rgb ); 
+
+    /** \brief The destuctor.  */
+    ~QgsColorTable();
+
+    /** \brief Color table interpretation. */
+    // This is taken from GDAL, GPI_RGB is mapped to Rgba 
+    enum Interp {
+	Gray = 0, // Use c1 as grayscale value.
+	Rgb,      // Use c1 as red, c2 as green, c3 as blue
+	Rgba,     // Use c1 as red, c2 as green, c3 as blue and c4 as alpha.
+	Cmyk,     // Use c1 as cyan, c2 as magenta, c3 as yellow and c4 as black.
+	Hls       // c1 hue, c2 lightness, c3 saturation; should be His ? 
+    };
+
+    /** 
+     *  \brief Color table is defined 
+     *  \return true if at least one rule is defined 
+     *  \false no rule defined
+     */
+    bool defined ( void );
+
+    /** \brief Get color table interpretation */
+    int interpretation ( void );
+
+    /** \brief Add a discrete color */
+    void add ( unsigned int index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 = 0 );
+
+    /** \brief Add a ramp rule */ 
+    void add ( double min,  double max,
+	       unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
+               unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4);
+    
+    /** \brief Get color 
+     *  \return true color was found
+     *  \return false color was no found
+     */
+    bool color ( double value, int *c1, int *c2, int *c3 );
+    
+    /** \brief Sort ramp rules */
+    void sort ( void ); 
+
+    /** \brief Print to stderr - for debuging */
+    void print ( void );
+
+    /** \brief Minimum value */
+    double rmin();
+   
+    /** \brief Maximum value */
+    double rmax();
+
+    /** \brief Clear the color table */
+    void clear();
+
+private:
+    /** \brief vector of discrete values */
+    std::vector<DISCRETE> mDiscrete;
+
+    /** \brief vector of ramp rules */
+    std::vector<RAMP> mRamp;
+
+    /** \brief color table interpretation */
+    int  mInterp;
+
+    /** \brief min value */
+    double mMin;
+
+    /** \brief max value */
+    double mMax;
+};
+
+#endif
+

Added: packages/qgis/branches/upstream/current/src/core/raster/qgsrasterbandstats.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgsrasterbandstats.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgsrasterbandstats.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+                        qgsrasterbandstats.h  -  description
+                              -------------------
+	begin                : Fri Jun 28 2002
+	copyright            : (C) 2005 by T.Sutton
+	email                : tim at linfiniti.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrasterlayer.h 4380 2005-12-26 23:37:50Z timlinux $ */
+
+/** \file qgsrasterbandstats
+ *  \brief This class provides statistics for a given raster band.
+ *  
+ *  The qgsrasterbandstats holds various stats relating to a given raster band.
+ */
+#ifndef QGSRASTERBANDSTATS
+#define QGSRASTERBANDSTATS
+
+#include <QString>
+#include <QVector>
+
+#include "qgscolortable.h"
+/** \brief The RasterBandStats struct is a container for statistics about a single
+ * raster band.
+ */
+class CORE_EXPORT QgsRasterBandStats
+{
+  public:
+    /** \brief The name of the band that these stats belong to. */
+    QString bandName;
+    /** \brief The gdal band number (starts at 1)*/
+    int bandNoInt; 
+    /** \brief A flag to indicate whether this RasterBandStats struct 
+     * is completely populated */
+    bool statsGatheredFlag; 
+    /** \brief The minimum cell value in the raster band. NO_DATA values
+     * are ignored. This does not use the gdal GetMinimum function. */
+    double minValDouble;
+    /** \brief The maximum cell value in the raster band. NO_DATA values
+     * are ignored. This does not use the gdal GetMaximmum function. */
+    double maxValDouble;
+    /** \brief The range is the distance between min & max. */
+    double rangeDouble;
+    /** \brief The mean cell value for the band. NO_DATA values are excluded. */
+    double meanDouble;
+    /** \brief The sum of the squares. Used to calculate standard deviation. */
+    double sumSqrDevDouble; 
+    /** \brief The standard deviation of the cell values. */
+    double stdDevDouble;
+    /** \brief The sum of all cells in the band. NO_DATA values are excluded. */
+    double sumDouble;
+    /** \brief The number of cells in the band. Equivalent to height x width. 
+     * TODO: check if NO_DATA are excluded!*/
+    int elementCountInt;    
+    /** \brief Store the histogram for a given layer */
+    typedef QVector<int> HistogramVector;
+    HistogramVector * histogramVector;
+    /** \brief whteher histogram values are estimated or completely calculated */
+    bool histogramEstimatedFlag;
+    /** whehter histogram compuation should include out of range values */
+    bool histogramOutOfRangeFlag;
+    /** Color table */
+    QgsColorTable colorTable;
+};
+#endif

Added: packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,5278 @@
+/* **************************************************************************
+					   qgsrasterlayer.cpp -  description
+   -------------------
+begin                : Sat Jun 22 2002
+copyright            : (C) 2003 by Tim Sutton, Steve Halasz and Gary E.Sherman
+email                : tim at linfiniti.com
+ ***************************************************************************/
+
+/* **************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrasterlayer.cpp 7222 2007-09-27 01:52:02Z timlinux $ */
+
+
+#include "qgsapplication.h"
+#include "qgslogger.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsmaptopixel.h"
+#include "qgsproviderregistry.h"
+#include "qgsrasterbandstats.h"
+#include "qgsrasterlayer.h"
+#include "qgsrasterpyramid.h"
+#include "qgsrasterviewport.h"
+#include "qgsrect.h"
+#include "qgsspatialrefsys.h"
+
+
+#include <cstdio>
+#include <cmath>
+#include <limits>
+#include <iostream>
+
+#include <QApplication>
+#include <QCursor>
+#include <QDomElement>
+#include <QDomNode>
+#include <QFile>
+#include <QFileInfo>
+#include <QFont>
+#include <QFontMetrics>
+#include <QFrame>
+#include <QImage>
+#include <QLabel>
+#include <QMatrix>
+#include <QMessageBox>
+#include <QLibrary>
+#include <QPainter>
+#include <QPixmap>
+#include <QRegExp>
+#include <QSlider>
+
+
+
+// workaround for MSVC compiler which already has defined macro max
+// that interferes with calling std::numeric_limits<int>::max
+#ifdef _MSC_VER
+# ifdef max(x,y)
+#  undef max(x,y)
+# endif
+#endif
+
+//////////////////////////////////////////////////////////
+//
+// Static Methods and members first....
+//
+/////////////////////////////////////////////////////////
+/**
+  Static member variable storing the subset of GDAL formats
+  that we currently support.
+
+  @note
+
+  Some day this won't be necessary as there'll be a time when
+  theoretically we'll support everything that GDAL can throw at us.
+
+  These are GDAL driver description strings.
+  */
+static const char *const mSupportedRasterFormats[] =
+{
+  "AAIGrid",
+  "AIG",
+  "DTED",
+  "ECW",
+  "GRASS",
+  "GTiff",
+  "HFA",
+  "JP2ECW",
+  "JP2KAK",
+  "JP2MrSID",
+  "JPEG2000",
+  "MrSID",
+  "SDTS",
+  "USGSDEM",
+  ""   // used to indicate end of list
+};
+
+
+
+/**
+  Builds the list of file filter strings to later be used by
+  QgisApp::addRasterLayer()
+
+  We query GDAL for a list of supported raster formats; we then build
+  a list of file filter strings from that list.  We return a string
+  that contains this list that is suitable for use in a a
+  QFileDialog::getOpenFileNames() call.
+
+*/
+void QgsRasterLayer::buildSupportedRasterFileFilter(QString & theFileFiltersString)
+{
+  // first get the GDAL driver manager
+  GDALAllRegister();
+  GDALDriverManager *myGdalDriverManager = GetGDALDriverManager();
+
+  if (!myGdalDriverManager)
+  {
+    QgsLogger::warning("unable to get GDALDriverManager");
+    return;                   // XXX good place to throw exception if we
+  }                           // XXX decide to do exceptions
+
+  // then iterate through all of the supported drivers, adding the
+  // corresponding file filter
+
+  GDALDriver *myGdalDriver;           // current driver
+
+  char **myGdalDriverMetadata;        // driver metadata strings
+
+  QString myGdalDriverLongName("");   // long name for the given driver
+  QString myGdalDriverExtension("");  // file name extension for given driver
+  QString myGdalDriverDescription;    // QString wrapper of GDAL driver description
+
+  QStringList metadataTokens;   // essentially the metadata string delimited by '='
+
+  QString catchallFilter;       // for Any file(*.*), but also for those
+  // drivers with no specific file filter
+
+  GDALDriver *jp2Driver = NULL; // first JPEG2000 driver found
+
+  // Grind through all the drivers and their respective metadata.
+  // We'll add a file filter for those drivers that have a file
+  // extension defined for them; the others, welll, even though
+  // theoreticaly we can open those files because there exists a
+  // driver for them, the user will have to use the "All Files" to
+  // open datasets with no explicitly defined file name extension.
+  // Note that file name extension strings are of the form
+  // "DMD_EXTENSION=.*".  We'll also store the long name of the
+  // driver, which will be found in DMD_LONGNAME, which will have the
+  // same form.
+
+  for (int i = 0; i < myGdalDriverManager->GetDriverCount(); ++i)
+  {
+    myGdalDriver = myGdalDriverManager->GetDriver(i);
+
+    Q_CHECK_PTR(myGdalDriver);
+
+    if (!myGdalDriver)
+    {
+      QgsLogger::warning("unable to get driver " + QString::number(i));
+      continue;
+    }
+    // now we need to see if the driver is for something currently
+    // supported; if not, we give it a miss for the next driver
+
+    myGdalDriverDescription = myGdalDriver->GetDescription();
+
+    if (!isSupportedRasterDriver(myGdalDriverDescription))
+    {
+      // not supported, therefore skip
+      QgsDebugMsg("skipping unsupported driver " + QString(myGdalDriver->GetDescription()));
+      continue;
+    }
+    // std::cerr << "got driver string " << myGdalDriver->GetDescription() << "\n";
+
+    myGdalDriverMetadata = myGdalDriver->GetMetadata();
+
+    // presumably we know we've run out of metadta if either the
+    // address is 0, or the first character is null
+    while (myGdalDriverMetadata && '\0' != myGdalDriverMetadata[0])
+    {
+      metadataTokens = QStringList::split("=", *myGdalDriverMetadata);
+      // std::cerr << "\t" << *myGdalDriverMetadata << "\n";
+
+      // XXX add check for malformed metadataTokens
+
+      // Note that it's oddly possible for there to be a
+      // DMD_EXTENSION with no corresponding defined extension
+      // string; so we check that there're more than two tokens.
+
+      if (metadataTokens.count() > 1)
+      {
+        if ("DMD_EXTENSION" == metadataTokens[0])
+        {
+          myGdalDriverExtension = metadataTokens[1];
+
+        }
+        else if ("DMD_LONGNAME" == metadataTokens[0])
+        {
+          myGdalDriverLongName = metadataTokens[1];
+
+          // remove any superfluous (.*) strings at the end as
+          // they'll confuse QFileDialog::getOpenFileNames()
+
+          myGdalDriverLongName.remove(QRegExp("\\(.*\\)$"));
+        }
+      }
+      // if we have both the file name extension and the long name,
+      // then we've all the information we need for the current
+      // driver; therefore emit a file filter string and move to
+      // the next driver
+      if (!(myGdalDriverExtension.isEmpty() || myGdalDriverLongName.isEmpty()))
+      {
+        // XXX add check for SDTS; in that case we want (*CATD.DDF)
+        QString glob = "*." + myGdalDriverExtension;
+        // Add only the first JP2 driver found to the filter list (it's the one GDAL uses)
+        if (myGdalDriverDescription == "JPEG2000" ||
+            myGdalDriverDescription.startsWith("JP2"))	// JP2ECW, JP2KAK, JP2MrSID
+        {
+          if (!jp2Driver)
+          {
+            jp2Driver = myGdalDriver;   // first JP2 driver found
+            glob += " *.j2k";           // add alternate extension
+          }
+          else break;               // skip if already found a JP2 driver
+        }
+        theFileFiltersString += myGdalDriverLongName + " (" + glob.lower() + " " + glob.upper() + ");;";
+
+        break;            // ... to next driver, if any.
+      }
+
+      ++myGdalDriverMetadata;
+
+    }                       // each metadata item
+
+    if (myGdalDriverExtension.isEmpty() && !myGdalDriverLongName.isEmpty())
+    {
+      // Then what we have here is a driver with no corresponding
+      // file extension; e.g., GRASS.  In which case we append the
+      // string to the "catch-all" which will match all file types.
+      // (I.e., "*.*") We use the driver description intead of the
+      // long time to prevent the catch-all line from getting too
+      // large.
+
+      // ... OTOH, there are some drivers with missing
+      // DMD_EXTENSION; so let's check for them here and handle
+      // them appropriately
+
+      // USGS DEMs use "*.dem"
+      if (myGdalDriverDescription.startsWith("USGSDEM"))
+      {
+        QString glob = "*.dem";
+        theFileFiltersString += myGdalDriverLongName + " (" + glob.lower() + " " + glob.upper() + ");;";
+      }
+      else if (myGdalDriverDescription.startsWith("DTED"))
+      {
+        // DTED use "*.dt0"
+        QString glob = "*.dt0";
+        theFileFiltersString += myGdalDriverLongName + " (" + glob.lower() + " " + glob.upper() + ");;";
+      }
+      else if (myGdalDriverDescription.startsWith("MrSID"))
+      {
+        // MrSID use "*.sid"
+        QString glob = "*.sid";
+        theFileFiltersString += myGdalDriverLongName + " (" + glob.lower() + " " + glob.upper() + ");;";
+      }
+      else
+      {
+        catchallFilter += QString(myGdalDriver->GetDescription()) + " ";
+      }
+    }
+
+    myGdalDriverExtension = myGdalDriverLongName = "";  // reset for next driver
+
+  }                           // each loaded GDAL driver
+
+  // can't forget the default case
+  theFileFiltersString += catchallFilter + tr("and all other files") + " (*)";
+  QgsDebugMsg("Raster filter list built: " + theFileFiltersString);
+}                               // buildSupportedRasterFileFilter_()
+
+
+
+/**
+  returns true if the given raster driver name is one currently
+  supported, otherwise it returns false
+
+  @param theDriverName GDAL driver description string
+  */
+bool QgsRasterLayer::isSupportedRasterDriver(QString const &theDriverName)
+{
+  size_t i = 0;
+
+  while (mSupportedRasterFormats[i][0]) // while not end of string list
+  {
+    // If we've got a case-insensitive match for a GDAL aware driver
+    // description, then we've got a match.  Why case-insensitive?
+    // I'm just being paranoid in that I can envision a situation
+    // whereby GDAL slightly changes driver description string case,
+    // in which case we'd catch it here.  Not that that would likely
+    // happen, but if it does, we'll already compensate.
+    // GS - At Qt 3.1.2, the case sensitive argument. So we change the
+    // driverName to lower case before testing
+    QString format = mSupportedRasterFormats[i];
+    if (theDriverName.lower().startsWith(format.lower()))
+    {
+      return true;
+    }
+
+    i++;
+  }
+
+  return false;
+}   // isSupportedRasterDriver
+
+
+
+/** This helper checks to see whether the filename appears to be a valid raster file name */
+bool QgsRasterLayer::isValidRasterFileName(QString const & theFileNameQString)
+{
+
+  GDALDatasetH myDataset;
+  GDALAllRegister();
+
+  //open the file using gdal making sure we have handled locale properly
+  myDataset = GDALOpen( QFile::encodeName(theFileNameQString).constData(), GA_ReadOnly );
+  if( myDataset == NULL )
+  {
+    return false;
+  }
+  else
+  {
+    GDALClose(myDataset);
+    return true;
+  }
+
+  /*
+   * This way is no longer a good idea because it does not
+   * cater for filetypes such as grass rasters that dont
+   * have a predictable file extension.
+   *
+   QString name = theFileNameQString.lower();
+   return (name.endsWith(".adf") ||
+   name.endsWith(".asc") ||
+   name.endsWith(".grd") ||
+   name.endsWith(".img") ||
+   name.endsWith(".tif") ||
+   name.endsWith(".png") ||
+   name.endsWith(".jpg") ||
+   name.endsWith(".dem") ||
+   name.endsWith(".ddf")) ||
+   name.endsWith(".dt0");
+
+*/
+}
+
+
+
+
+
+//////////////////////////////////////////////////////////
+//
+// Non Static methods now....
+//
+/////////////////////////////////////////////////////////
+QgsRasterLayer::QgsRasterLayer(QString const & path, QString const & baseName)
+  : QgsMapLayer(RASTER, baseName, path),
+  // XXX where is this? popMenu(0), //popMenu is the contextmenu obtained by right clicking on the legend
+  rasterXDimInt( std::numeric_limits<int>::max() ),
+  rasterYDimInt( std::numeric_limits<int>::max() ),
+  showDebugOverlayFlag(false),
+  invertHistogramFlag(false),
+  stdDevsToPlotDouble(0),
+dataProvider(0)
+
+{
+  userDefinedColorMinMax = false; //defaults needed to bypass stretch
+  userDefinedGrayMinMax = false;
+  setColorScalingAlgorithm(QgsRasterLayer::STRETCH_TO_MINMAX); 
+
+  // Initialise the affine transform matrix
+  adfGeoTransform[0] =  0;
+  adfGeoTransform[1] =  1;
+  adfGeoTransform[2] =  0;
+  adfGeoTransform[3] =  0;
+  adfGeoTransform[4] =  0;
+  adfGeoTransform[5] = -1;
+
+  // set the layer name (uppercase first character)
+
+  if ( ! baseName.isEmpty() )   // XXX shouldn't this happen in parent?
+  {
+    setLayerName(baseName);
+  }
+
+  // load the file if one specified
+  if ( ! path.isEmpty() )
+  {
+    readFile( path ); // XXX check for failure?
+  }
+
+  //  Transparency slider for popup meni
+  //  QSlider ( int minValue, int maxValue, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )
+
+
+  //   // emit a signal asking for a repaint
+  //   emit repaintRequested();
+
+} // QgsRasterLayer ctor
+
+
+QgsRasterLayer::~QgsRasterLayer()
+{
+
+  if (mProviderKey.isEmpty())
+  {
+    GDALClose(gdalDataset);
+  }  
+}
+
+
+
+  bool
+QgsRasterLayer::readFile( QString const & fileName )
+{
+  GDALAllRegister();
+
+  //open the dataset making sure we handle char encoding of locale properly
+  gdalDataset = (GDALDataset *) GDALOpen(QFile::encodeName(fileName).constData(), GA_ReadOnly);
+
+  if (gdalDataset == NULL)
+  {
+    mValid = FALSE;
+    return false;
+  }
+
+  // Store timestamp
+  mLastModified = lastModified ( fileName );
+
+  //check f this file has pyramids
+  GDALRasterBandH myGDALBand = GDALGetRasterBand( gdalDataset, 1 ); //just use the first band
+  if( GDALGetOverviewCount(myGDALBand) > 0 )
+  {
+    hasPyramidsFlag=true;
+  }
+  else
+  {
+    hasPyramidsFlag=false;
+  }
+
+  //populate the list of what pyramids exist
+  buildRasterPyramidList();
+
+  // Get the layer's projection info and set up the
+  // QgsCoordinateTransform for this layer
+  // NOTE: we must do this before getMetadata is called
+
+  QgsDebugMsg("Raster initial SRS");
+  mSRS->debugPrint();
+
+  QString mySourceWKT = getProjectionWKT();
+
+  QgsDebugMsg("--------------------------------------------------------------------------------------");
+  QgsDebugMsg("QgsRasterLayer::readFile --- using wkt\n" + mySourceWKT);
+  QgsDebugMsg("--------------------------------------------------------------------------------------");
+
+  mSRS->createFromWkt(mySourceWKT);
+  //get the project projection, defaulting to this layer's projection
+  //if none exists....
+  if (!mSRS->isValid())
+  {
+    mSRS->validate();
+  }
+  QgsDebugMsg("Raster determined to have the following SRS");
+  mSRS->debugPrint();
+
+  //set up the coordinat transform - in the case of raster this is mainly used to convert
+  //the inverese projection of the map extents of the canvas when zzooming in etc. so
+  //that they match the coordinate system of this layer
+  QgsDebugMsg("Layer registry has " + QString::number(QgsMapLayerRegistry::instance()->count()) + "layers");
+
+  getMetadata();
+
+  // Use the affine transform to get geo coordinates for
+  // the corners of the raster
+  double myXMaxDouble = adfGeoTransform[0] +
+    gdalDataset->GetRasterXSize() * adfGeoTransform[1] +
+    gdalDataset->GetRasterYSize() * adfGeoTransform[2];
+  double myYMinDouble = adfGeoTransform[3] +
+    gdalDataset->GetRasterXSize() * adfGeoTransform[4] +
+    gdalDataset->GetRasterYSize() * adfGeoTransform[5];
+
+  mLayerExtent.setXmax(myXMaxDouble);
+  // The affine transform reduces to these values at the
+  // top-left corner of the raster
+  mLayerExtent.setXmin(adfGeoTransform[0]);
+  mLayerExtent.setYmax(adfGeoTransform[3]);
+  mLayerExtent.setYmin(myYMinDouble);
+
+  //
+  // Set up the x and y dimensions of this raster layer
+  //
+  rasterXDimInt = gdalDataset->GetRasterXSize();
+  rasterYDimInt = gdalDataset->GetRasterYSize();
+
+  //
+  // Determin the no data value
+  //
+  noDataValueDouble = gdalDataset->GetRasterBand(1)->GetNoDataValue();
+  //initialise the raster band stats vector
+  for (int i = 1; i <= gdalDataset->GetRasterCount(); i++)
+  {
+    GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(i);
+    QString myColorQString = GDALGetColorInterpretationName(myGdalBand->GetColorInterpretation());
+    QgsRasterBandStats myRasterBandStats;
+    //myRasterBandStats.bandName = myColorQString ;
+    myRasterBandStats.bandName=QString::number(i) + " : " + myColorQString;
+    myRasterBandStats.bandNoInt = i;
+    myRasterBandStats.statsGatheredFlag = false;
+    myRasterBandStats.histogramVector = new QgsRasterBandStats::HistogramVector();
+    // Read color table
+    readColorTable ( myGdalBand, &(myRasterBandStats.colorTable) );
+
+    rasterStatsVector.push_back(myRasterBandStats);
+  }
+
+
+  //decide what type of layer this is...
+  //note that multiband images can have one or more 'undefindd' bands,
+  //so we must do this check first!
+  if ((gdalDataset->GetRasterCount() > 1))
+  {
+    rasterLayerType = MULTIBAND;
+  }
+  else if (hasBand("Palette")) //dont tr() this its a gdal word!
+  {
+    rasterLayerType = PALETTE;
+  }
+  else
+  {
+    rasterLayerType = GRAY_OR_UNDEFINED;
+  }
+
+  if (rasterLayerType == PALETTE)
+  {
+    redBandNameQString = "Red"; // sensible default
+    greenBandNameQString = "Green"; // sensible default
+    blueBandNameQString = "Blue";// sensible default
+    transparentBandNameQString = tr("Not Set"); // sensible default
+    grayBandNameQString = tr("Not Set");  //sensible default
+    drawingStyle = PALETTED_MULTI_BAND_COLOR; //sensible default
+  }
+  else if (rasterLayerType == MULTIBAND)
+  {
+    //we know we have at least 2 layers...
+    redBandNameQString = getRasterBandName(1);  // sensible default
+    greenBandNameQString = getRasterBandName(2);  // sensible default
+    //for the third layer we cant be sure so..
+    if (gdalDataset->GetRasterCount() > 2)
+    {
+      blueBandNameQString = getRasterBandName(3); // sensible default
+    }
+    else
+    {
+      blueBandNameQString = tr("Not Set");  // sensible default
+    }
+    if (gdalDataset->GetRasterCount() > 3)
+      transparentBandNameQString = getRasterBandName(4);
+    else
+      transparentBandNameQString = tr("Not Set");
+
+    grayBandNameQString = tr("Not Set");  //sensible default
+    drawingStyle = MULTI_BAND_COLOR;  //sensible default
+  }
+  else                        //GRAY_OR_UNDEFINED
+  {
+    getRasterBandStats(1);
+    redBandNameQString = tr("Not Set"); //sensible default
+    greenBandNameQString = tr("Not Set"); //sensible default
+    blueBandNameQString = tr("Not Set");  //sensible default
+    transparentBandNameQString = tr("Not Set");  //sensible default
+    drawingStyle = SINGLE_BAND_GRAY;  //sensible default
+    grayBandNameQString = getRasterBandName(1); // usually gdal will return gray or undefined  
+  }
+
+
+
+
+  //mark the layer as valid
+  mValid=TRUE;
+  return true;
+
+} // QgsRasterLayer::readFile
+
+QString QgsRasterLayer::getProjectionWKT() 
+{ 
+  QString myWKTString;
+  QgsSpatialRefSys mySRS;   
+  myWKTString=QString (gdalDataset->GetProjectionRef());
+  mySRS.createFromWkt(myWKTString);
+  if (!mySRS.isValid())
+  {
+    //try to get the gcp srs from the raster layer if available
+    myWKTString=QString(gdalDataset->GetGCPProjection());
+
+// What is the purpose of this piece of code?
+// Sideeffects from validate()?
+//    mySRS.createFromWkt(myWKTString);
+//    if (!mySRS.isValid())
+//    {
+//      // use force and make SRS valid!
+//      mySRS.validate();
+//    }
+
+  }
+
+  return myWKTString;
+}
+
+void QgsRasterLayer::closeDataset()
+{
+  if ( !mValid  ) return;
+  mValid = FALSE;
+
+  GDALClose(gdalDataset);
+  gdalDataset = 0;
+
+  hasPyramidsFlag=false;
+  mPyramidList.clear();
+
+  rasterStatsVector.clear();
+}
+
+bool QgsRasterLayer::update()
+{
+  QgsDebugMsg("QgsRasterLayer::update");
+
+  if ( mLastModified < QgsRasterLayer::lastModified ( source() ) )
+  {
+    QgsDebugMsg("Outdated -> reload");
+    closeDataset();
+    return readFile ( source() );
+  }
+  return true;
+}
+
+QDateTime QgsRasterLayer::lastModified ( QString const & name )
+{
+  QgsDebugMsg("QgsRasterLayer::lastModified: " + name);
+  QDateTime t;
+
+  QFileInfo fi ( name );
+
+  // Is it file?
+  if ( !fi.exists() ) return t;
+
+  t = fi.lastModified();
+
+  // Check also color table for GRASS
+  if ( name.contains( "cellhd" ) > 0 )
+  { // most probably GRASS
+    QString dir = fi.dirPath();
+    QString map = fi.fileName();
+    fi.setFile ( dir + "/../colr/" + map );
+
+    if ( fi.exists() )
+    {
+      if ( fi.lastModified() > t ) t = fi.lastModified();
+    }
+  }
+
+  // Check GRASS group members (bands)
+  if ( name.contains( "group" ) > 0 )
+  { // probably GRASS group
+    fi.setFile ( name + "/REF" );
+
+    if ( fi.exists() )
+    {  // most probably GRASS group
+      QFile f ( name + "/REF" );
+      if ( f.open ( QIODevice::ReadOnly ) )
+      {
+        QString dir = fi.dirPath() + "/../../../";
+
+        char buf[101];
+        while ( f.readLine(buf,100) != -1 )
+        {
+          QString ln = QString(buf);
+          QStringList sl = QStringList::split ( ' ', ln.stripWhiteSpace() );
+          QString map = sl.first();
+          sl.pop_front();
+          QString mapset = sl.first();
+
+          // header
+          fi.setFile ( dir + mapset + "/cellhd/" +  map );
+          if ( fi.exists() )
+          {
+            if ( fi.lastModified() > t ) t = fi.lastModified();
+          }
+
+          // color
+          fi.setFile ( dir + mapset + "/colr/" +  map );
+          if ( fi.exists() )
+          {
+            if ( fi.lastModified() > t ) t = fi.lastModified();
+          }
+        }
+      }
+    }
+  }
+
+  QgsDebugMsg("last modified = " + t.toString());
+
+  return t;
+}
+
+
+// emit a signal asking for a repaint
+void QgsRasterLayer::triggerRepaint()
+{
+  emit repaintRequested();
+}
+
+
+QString QgsRasterLayer::getDrawingStyleAsQString()
+{
+  switch (drawingStyle)
+  {
+    case SINGLE_BAND_GRAY:
+      return QString("SINGLE_BAND_GRAY"); //no need to tr() this its not shown in ui
+      break;
+    case SINGLE_BAND_PSEUDO_COLOR:
+      return QString("SINGLE_BAND_PSEUDO_COLOR");//no need to tr() this its not shown in ui
+      break;
+    case PALETTED_SINGLE_BAND_GRAY:
+      return QString("PALETTED_SINGLE_BAND_GRAY");//no need to tr() this its not shown in ui
+      break;
+    case PALETTED_SINGLE_BAND_PSEUDO_COLOR:
+      return QString("PALETTED_SINGLE_BAND_PSEUDO_COLOR");//no need to tr() this its not shown in ui
+      break;
+    case PALETTED_MULTI_BAND_COLOR:
+      return QString("PALETTED_MULTI_BAND_COLOR");//no need to tr() this its not shown in ui
+      break;
+    case MULTI_BAND_SINGLE_BAND_GRAY:
+      return QString("MULTI_BAND_SINGLE_BAND_GRAY");//no need to tr() this its not shown in ui
+      break;
+    case MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR:
+      return QString("MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR");//no need to tr() this its not shown in ui
+      break;
+    case MULTI_BAND_COLOR:
+      return QString("MULTI_BAND_COLOR");//no need to tr() this its not shown in ui
+      break;
+    default:
+      break;
+  }
+
+  return QString("INVALID_DRAWING_STYLE"); // XXX I hope this is ok to return
+
+}
+
+void QgsRasterLayer::setDrawingStyle(QString const & theDrawingStyleQString)
+{
+  if (theDrawingStyleQString == "SINGLE_BAND_GRAY")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = SINGLE_BAND_GRAY;
+    return;
+  }
+  if (theDrawingStyleQString == "SINGLE_BAND_PSEUDO_COLOR")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = SINGLE_BAND_PSEUDO_COLOR;
+    return;
+  }
+  if (theDrawingStyleQString == "PALETTED_SINGLE_BAND_GRAY")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = PALETTED_SINGLE_BAND_GRAY;
+    return;
+  }
+  if (theDrawingStyleQString == "PALETTED_SINGLE_BAND_PSEUDO_COLOR")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = PALETTED_SINGLE_BAND_PSEUDO_COLOR;
+    return;
+  }
+  if (theDrawingStyleQString == "PALETTED_MULTI_BAND_COLOR")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = PALETTED_MULTI_BAND_COLOR;
+    return;
+  }
+  if (theDrawingStyleQString == "MULTI_BAND_SINGLE_BAND_GRAY")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = MULTI_BAND_SINGLE_BAND_GRAY;
+    return;
+  }
+  if (theDrawingStyleQString == "MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR;
+    return;
+  }
+  if (theDrawingStyleQString == "MULTI_BAND_COLOR")//no need to tr() this its not shown in ui
+  {
+    drawingStyle = MULTI_BAND_COLOR;
+    return;
+  }
+}
+
+
+/** This method looks to see if a given band name exists.
+
+  @note
+
+  muliband layers may have more than one "Undefined" band!
+  */
+bool QgsRasterLayer::hasBand(QString const & theBandName)
+{
+  QgsDebugMsg("Looking for band : " + theBandName);
+
+  for (int i = 1; i <= gdalDataset->GetRasterCount(); i++)
+  {
+    GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(i);
+    QString myColorQString = GDALGetColorInterpretationName(myGdalBand->GetColorInterpretation());
+#ifdef QGISDEBUG
+    QgsLogger::debug("band", i, __FILE__, __FUNCTION__, __LINE__, 2);
+#endif
+
+    if (myColorQString == theBandName)
+    {
+#ifdef QGISDEBUG
+      QgsLogger::debug("band", i, __FILE__, __FUNCTION__, __LINE__, 2);
+      QgsDebugMsgLevel("Found band : " + theBandName, 2);
+#endif
+
+      return true;
+    }
+    QgsDebugMsgLevel("Found unmatched band : " + QString::number(i) + " " + myColorQString, 2);
+  }
+  return false;
+}
+
+void QgsRasterLayer::drawThumbnail(QPixmap * theQPixmap)
+{
+  theQPixmap->fill(); //defaults to white
+
+  // Raster providers are disabled (for the moment)
+  if (mProviderKey.isEmpty())
+  {
+    QgsRasterViewPort *myRasterViewPort = new QgsRasterViewPort();
+    myRasterViewPort->rectXOffsetInt = 0;
+    myRasterViewPort->rectYOffsetInt = 0;
+    myRasterViewPort->clippedXMinDouble = 0;
+    myRasterViewPort->clippedXMaxDouble = rasterXDimInt;
+    myRasterViewPort->clippedYMinDouble = rasterYDimInt;
+    myRasterViewPort->clippedYMaxDouble = 0;
+    myRasterViewPort->clippedWidthInt   = rasterXDimInt;
+    myRasterViewPort->clippedHeightInt  = rasterYDimInt;
+    myRasterViewPort->topLeftPoint = QgsPoint(0,0);
+    myRasterViewPort->bottomRightPoint = QgsPoint(theQPixmap->width(), theQPixmap->height());
+    myRasterViewPort->drawableAreaXDimInt = theQPixmap->width();
+    myRasterViewPort->drawableAreaYDimInt = theQPixmap->height();
+
+    QPainter * myQPainter=new QPainter(theQPixmap);
+    draw(myQPainter,myRasterViewPort);
+    delete myRasterViewPort;
+    myQPainter->end();
+    delete myQPainter;
+  }
+
+}
+
+
+
+QPixmap QgsRasterLayer::getPaletteAsPixmap()
+{
+  QgsDebugMsg("QgsRasterLayer::getPaletteAsPixmap");
+
+  // Only do this for the non-provider (hard-coded GDAL) scenario...
+  // Maybe WMS can do this differently using QImage::numColors and QImage::color()
+  if (
+      (mProviderKey.isEmpty()) &&
+      (hasBand("Palette") ) //dont tr() this its a gdal word!
+     )
+  {
+    QgsDebugMsg("....found paletted image");
+    QgsColorTable *myColorTable = colorTable ( 1 );
+    GDALRasterBandH myGdalBand = gdalDataset->GetRasterBand(1);
+    if( GDALGetRasterColorInterpretation(myGdalBand) == GCI_PaletteIndex && myColorTable->defined() )
+    {
+      QgsDebugMsg("....found GCI_PaletteIndex");
+      double myMinDouble = myColorTable->rmin();
+      double myMaxDouble = myColorTable->rmax();
+      QgsDebugMsg("myMinDouble = " + QString::number(myMinDouble) + " myMaxDouble = " + QString::number(myMaxDouble));
+
+      // Draw image
+      int mySizeInt = 100;
+      QPixmap myPalettePixmap( mySizeInt, mySizeInt);
+      QPainter myQPainter(&myPalettePixmap);
+
+      QImage myQImage = QImage( mySizeInt, mySizeInt, 32);
+      myQImage.fill(0);
+      myQImage.setAlphaBuffer(false);
+      myPalettePixmap.fill();
+
+      double myStepDouble = ( myMaxDouble - myMinDouble ) / ( mySizeInt * mySizeInt);
+
+      for( int myRowInt = 0; myRowInt < mySizeInt; myRowInt++ )
+      {
+        for( int myColInt = 0; myColInt < mySizeInt; myColInt++ )
+        {
+
+          double myValueDouble = myMinDouble + myStepDouble * (myColInt + myRowInt * mySizeInt);
+
+          int c1, c2, c3;
+          bool found = myColorTable->color ( myValueDouble, &c1, &c2, &c3 );
+
+          if ( found )
+            myQImage.setPixel( myColInt, myRowInt, qRgb(c1, c2, c3));
+        }
+      }
+
+      myQPainter.drawImage(0,0,myQImage);
+      return myPalettePixmap;
+    }
+    QPixmap myNullPixmap;
+    return myNullPixmap;
+  }
+  else
+  {
+    //invalid layer  was requested
+    QPixmap myNullPixmap;
+    return myNullPixmap;
+  }
+}
+
+
+
+bool QgsRasterLayer::draw(QPainter * theQPainter,
+    QgsRect & theViewExtent,
+    QgsMapToPixel * theQgsMapToPixel,
+    QgsCoordinateTransform*,
+    bool drawingToEditingCanvas)
+{
+  QgsDebugMsg("QgsRasterLayer::draw(4 arguments): entered.");
+
+  //Dont waste time drawing if transparency is at 0 (completely transparent)
+  if (mTransparencyLevel == 0)
+    return TRUE;
+  QgsDebugMsg("QgsRasterLayer::draw(4 arguments): checking timestamp.");
+
+  // Check timestamp
+  if ( !update() )
+  {
+    return FALSE;
+  }    
+
+  // clip raster extent to view extent
+  QgsRect myRasterExtent = theViewExtent.intersect(&mLayerExtent);
+  if (myRasterExtent.isEmpty())
+  {
+    // nothing to do
+    return TRUE;
+  }
+
+#ifdef QGISDEBUG
+  QgsLogger::debug<QgsRect>("QgsRasterLayer::draw(4 arguments): theViewExtent is ", theViewExtent, __FILE__, __FUNCTION__, __LINE__, 1);
+  QgsLogger::debug<QgsRect>("QgsRasterLayer::draw(4 arguments): myRasterExtent is ", myRasterExtent, __FILE__, __FUNCTION__, __LINE__, 1);
+#endif
+
+
+
+
+  //
+  // The first thing we do is set up the QgsRasterViewPort. This struct stores all the settings
+  // relating to the size (in pixels and coordinate system units) of the raster part that is
+  // in view in the map window. It also stores the origin.
+  //
+  //this is not a class level member because every time the user pans or zooms
+  //the contents of the rasterViewPort will change
+  QgsRasterViewPort *myRasterViewPort = new QgsRasterViewPort();
+
+
+  // calculate raster pixel offsets from origin to clipped rect
+  // we're only interested in positive offsets where the origin of the raster
+  // is northwest of the origin of the view
+  myRasterViewPort->rectXOffsetFloat = (theViewExtent.xMin() - mLayerExtent.xMin()) / fabs(adfGeoTransform[1]);
+  myRasterViewPort->rectYOffsetFloat = (mLayerExtent.yMax() - theViewExtent.yMax()) / fabs(adfGeoTransform[5]);
+
+  if (myRasterViewPort->rectXOffsetFloat < 0 )
+  {
+    myRasterViewPort->rectXOffsetFloat = 0;
+  }
+
+  if (myRasterViewPort->rectYOffsetFloat < 0 )
+  {
+    myRasterViewPort->rectYOffsetFloat = 0;
+  }
+
+  myRasterViewPort->rectXOffsetInt = static_cast < int >(myRasterViewPort->rectXOffsetFloat);
+  myRasterViewPort->rectYOffsetInt = static_cast < int >(myRasterViewPort->rectYOffsetFloat);
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[0] = ", adfGeoTransform[0], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[1] = ", adfGeoTransform[1], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[2] = ", adfGeoTransform[2], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[3] = ", adfGeoTransform[3], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[4] = ", adfGeoTransform[4], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw(4 arguments): adfGeoTransform[5] = ", adfGeoTransform[5], 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+#endif
+
+  // get dimensions of clipped raster image in raster pixel space/ RasterIO will do the scaling for us.
+  // So for example, if the user is zoomed in a long way, there may only be e.g. 5x5 pixels retrieved from
+  // the raw raster data, but rasterio will seamlessly scale the up to whatever the screen coordinats are
+  // e.g. a 600x800 display window (see next section below)
+  myRasterViewPort->clippedXMinDouble = (myRasterExtent.xMin() - adfGeoTransform[0]) / adfGeoTransform[1];
+  myRasterViewPort->clippedXMaxDouble = (myRasterExtent.xMax() - adfGeoTransform[0]) / adfGeoTransform[1];
+  myRasterViewPort->clippedYMinDouble = (myRasterExtent.yMin() - adfGeoTransform[3]) / adfGeoTransform[5];
+  myRasterViewPort->clippedYMaxDouble = (myRasterExtent.yMax() - adfGeoTransform[3]) / adfGeoTransform[5];
+
+  // Sometimes the Ymin/Ymax are reversed.
+  if (myRasterViewPort->clippedYMinDouble > myRasterViewPort->clippedYMaxDouble)
+  {
+    double t = myRasterViewPort->clippedYMinDouble;
+    myRasterViewPort->clippedYMinDouble = myRasterViewPort->clippedYMaxDouble;
+    myRasterViewPort->clippedYMaxDouble = t;
+  }
+
+  // Set the clipped width and height to encompass all of the source pixels
+  // that could end up being displayed.
+  myRasterViewPort->clippedWidthInt = 
+    static_cast<int>(ceil(myRasterViewPort->clippedXMaxDouble) - floor(myRasterViewPort->clippedXMinDouble));
+
+  myRasterViewPort->clippedHeightInt = 
+    static_cast<int>(ceil(myRasterViewPort->clippedYMaxDouble) - floor(myRasterViewPort->clippedYMinDouble));
+
+  // but make sure the intended SE corner extent doesn't exceed the SE corner
+  // of the source raster, otherwise GDAL's RasterIO gives an error and returns nothing.
+  // The SE corner = NW origin + dimensions of the image itself.
+  if ( (myRasterViewPort->rectXOffsetInt + myRasterViewPort->clippedWidthInt)
+      > rasterXDimInt)
+  {
+    myRasterViewPort->clippedWidthInt =
+      rasterXDimInt - myRasterViewPort->rectXOffsetInt;
+  }
+  if ( (myRasterViewPort->rectYOffsetInt + myRasterViewPort->clippedHeightInt)
+      > rasterYDimInt)
+  {
+    myRasterViewPort->clippedHeightInt =
+      rasterYDimInt - myRasterViewPort->rectYOffsetInt;
+  }
+
+  // get dimensions of clipped raster image in device coordinate space (this is the size of the viewport)
+  myRasterViewPort->topLeftPoint = theQgsMapToPixel->transform(myRasterExtent.xMin(), myRasterExtent.yMax());
+  myRasterViewPort->bottomRightPoint = theQgsMapToPixel->transform(myRasterExtent.xMax(), myRasterExtent.yMin());
+
+  myRasterViewPort->drawableAreaXDimInt = static_cast<int>
+    (fabs( (myRasterViewPort->clippedWidthInt  / theQgsMapToPixel->mapUnitsPerPixel() * adfGeoTransform[1])) + 0.5);
+  myRasterViewPort->drawableAreaYDimInt = static_cast<int>
+    (fabs( (myRasterViewPort->clippedHeightInt / theQgsMapToPixel->mapUnitsPerPixel() * adfGeoTransform[5])) + 0.5);
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("QgsRasterLayer::draw: mapUnitsPerPixel", theQgsMapToPixel->mapUnitsPerPixel(), 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: rasterXDimInt", rasterXDimInt, 1, __FILE__, __FUNCTION__, __LINE__); 
+  QgsLogger::debug("QgsRasterLayer::draw: rasterYDimInt", rasterYDimInt, 1, __FILE__, __FUNCTION__, __LINE__);
+
+  QgsLogger::debug("QgsRasterLayer::draw: rectXOffsetFloat", myRasterViewPort->rectXOffsetFloat, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: rectXOffsetInt", myRasterViewPort->rectXOffsetInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: rectYOffsetFloat", myRasterViewPort->rectYOffsetFloat, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: rectYOffsetInt", myRasterViewPort->rectYOffsetInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+
+  QgsLogger::debug("QgsRasterLayer::draw: myRasterExtent.xMin()", myRasterExtent.xMin(), 1, __FILE__, __FUNCTION__,\
+      __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: myRasterExtent.xMax()", myRasterExtent.xMax(), 1, __FILE__, __FUNCTION__,\
+      __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: myRasterExtent.yMin()", myRasterExtent.yMin(), 1, __FILE__, __FUNCTION__,\
+      __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: myRasterExtent.yMax()", myRasterExtent.yMax(), 1, __FILE__, __FUNCTION__,\
+      __LINE__);
+
+  QgsLogger::debug("QgsRasterLayer::draw: topLeftPoint.x()", myRasterViewPort->topLeftPoint.x(), 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: bottomRightPoint.x()", myRasterViewPort->bottomRightPoint.x(), 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: topLeftPoint.y()", myRasterViewPort->topLeftPoint.y(), 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: bottomRightPoint.y()", myRasterViewPort->bottomRightPoint.y(), 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+
+  QgsLogger::debug("QgsRasterLayer::draw: clippedXMinDouble", myRasterViewPort->clippedXMinDouble, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: clippedXMaxDouble", myRasterViewPort->clippedXMaxDouble, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: clippedYMinDouble", myRasterViewPort->clippedYMinDouble, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: clippedYMaxDouble", myRasterViewPort->clippedYMaxDouble, 1, __FILE__,\
+      __FUNCTION__, __LINE__); 
+
+  QgsLogger::debug("QgsRasterLayer::draw: clippedWidthInt", myRasterViewPort->clippedWidthInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: clippedHeightInt", myRasterViewPort->clippedHeightInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);  
+  QgsLogger::debug("QgsRasterLayer::draw: drawableAreaXDimInt", myRasterViewPort->drawableAreaXDimInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+  QgsLogger::debug("QgsRasterLayer::draw: drawableAreaYDimInt", myRasterViewPort->drawableAreaYDimInt, 1, __FILE__,\
+      __FUNCTION__, __LINE__);
+
+  QgsDebugMsg("ReadXml: gray band name : " + grayBandNameQString);
+  QgsDebugMsg("ReadXml: red band name : " + redBandNameQString);
+  QgsDebugMsg("ReadXml: green band name : " + greenBandNameQString);
+  QgsDebugMsg("ReadXml: blue band name : " + blueBandNameQString);
+#endif
+
+  // /\/\/\ - added to handle zoomed-in rasters
+
+
+  // Provider mode: See if a provider key is specified, and if so use the provider instead
+  
+  QgsDebugMsg("QgsRasterLayer::draw: Checking for provider key.");
+  
+  if (!mProviderKey.isEmpty())
+  {
+    QgsDebugMsg("QgsRasterLayer::draw: Wanting a '" + mProviderKey + "' provider to draw this.");
+
+    emit setStatus(QString("Retrieving using ")+mProviderKey);
+
+    QImage* image = 
+      dataProvider->draw(
+                         myRasterExtent,
+                         // Below should calculate to the actual pixel size of the
+                         // part of the layer that's visible.
+                         static_cast<int>( fabs( (myRasterViewPort->clippedXMaxDouble -  myRasterViewPort->clippedXMinDouble)
+                                                 / theQgsMapToPixel->mapUnitsPerPixel() * adfGeoTransform[1]) + 1),
+                         static_cast<int>( fabs( (myRasterViewPort->clippedYMaxDouble -  myRasterViewPort->clippedYMinDouble)
+                                                 / theQgsMapToPixel->mapUnitsPerPixel() * adfGeoTransform[5]) + 1)
+//                         myRasterViewPort->drawableAreaXDimInt,
+//                         myRasterViewPort->drawableAreaYDimInt
+                        );
+
+    if (!image)
+    {
+      // An error occurred.
+      mErrorCaption = dataProvider->errorCaptionString();
+      mError        = dataProvider->errorString();
+
+      delete myRasterViewPort;
+      return FALSE;
+    }
+
+    QgsDebugMsg("QgsRasterLayer::draw: Done dataProvider->draw.");
+    QgsDebugMsg("QgsRasterLayer::draw: image stats: ");
+#ifdef QGISDEBUG
+    QgsLogger::debug("depth", image->depth(), __FILE__, __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("bytes", image->numBytes(), __FILE__, __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("width", image->width(), __FILE__, __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("height", image->height(), __FILE__, __FUNCTION__, __LINE__, 1);
+#endif
+
+    QgsDebugMsg("QgsRasterLayer::draw: Want to theQPainter->drawImage with");
+#ifdef QGISDEBUG
+    QgsLogger::debug("origin x", myRasterViewPort->topLeftPoint.x(), __FILE__, __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("(int)origin x", static_cast<int>(myRasterViewPort->topLeftPoint.x()), __FILE__,\
+        __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("origin y", myRasterViewPort->topLeftPoint.y(), __FILE__, __FUNCTION__, __LINE__, 1);
+    QgsLogger::debug("(int)origin y", static_cast<int>(myRasterViewPort->topLeftPoint.y()), __FILE__,\
+        __FUNCTION__, __LINE__, 1);
+#endif
+
+    // Since GDAL's RasterIO can't handle floating point, we have to round to
+    // the nearest pixel.  Add 0.5 to get rounding instead of truncation
+    // out of static_cast<int>.
+
+    theQPainter->drawImage(static_cast<int>(
+          myRasterViewPort->topLeftPoint.x()
+          + 0.5    // try simulating rounding instead of truncation, to avoid off-by-one errors
+          // TODO: Check for rigorous correctness
+          ),
+        static_cast<int>(
+          myRasterViewPort->topLeftPoint.y()
+          + 0.5    // try simulating rounding instead of truncation, to avoid off-by-one errors
+          // TODO: Check for rigorous correctness
+          ),
+        *image);
+
+  }
+  else
+  {
+    if ((myRasterViewPort->drawableAreaXDimInt) > 4000 &&  (myRasterViewPort->drawableAreaYDimInt > 4000))
+    {
+      // We have scaled one raster pixel to more than 4000 screen pixels. What's the point of showing this layer?
+      // Instead, we just stop displaying the layer. Prevents allocating the entire world of memory for showing
+      // very few pixels.
+      // (Alternatively, we have a very big screen > 2000 x 2000)
+      QgsDebugMsg("Too zoomed in! Displaying raster requires too much memory. Raster will not display");
+    } else {
+      // Otherwise use the old-fashioned GDAL direct-drawing style
+      // TODO: Move into its own GDAL provider.
+
+      // \/\/\/ - commented-out to handle zoomed-in rasters
+    //    draw(theQPainter,myRasterViewPort);
+      // /\/\/\ - commented-out to handle zoomed-in rasters
+      // \/\/\/ - added to handle zoomed-in rasters
+      draw(theQPainter, myRasterViewPort, theQgsMapToPixel);
+      // /\/\/\ - added to handle zoomed-in rasters
+    }
+
+  }
+
+  delete myRasterViewPort;
+  QgsDebugMsg("QgsRasterLayer::draw: exiting.");
+
+  return TRUE;
+
+}
+
+void QgsRasterLayer::draw (QPainter * theQPainter, 
+    QgsRasterViewPort * theRasterViewPort,
+    QgsMapToPixel * theQgsMapToPixel)
+{
+  QgsDebugMsg("QgsRasterLayer::draw (3 arguments)");
+  //
+  //
+  // The goal here is to make as many decisions as possible early on (outside of the rendering loop)
+  // so that we can maximise performance of the rendering process. So now we check which drawing
+  // procedure to use :
+  //
+
+
+  switch (drawingStyle)
+  {
+    // a "Gray" or "Undefined" layer drawn as a range of gray colors
+    case SINGLE_BAND_GRAY:
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        break;
+      }
+      else
+      {
+        drawSingleBandGray(theQPainter, theRasterViewPort,
+            theQgsMapToPixel, getRasterBandNumber(grayBandNameQString));
+        break;
+      }
+      // a "Gray" or "Undefined" layer drawn using a pseudocolor algorithm
+    case SINGLE_BAND_PSEUDO_COLOR:
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        break;
+      }
+      else
+      {
+        drawSingleBandPseudoColor(theQPainter, theRasterViewPort, 
+            theQgsMapToPixel, getRasterBandNumber(grayBandNameQString));
+        break;
+      }
+      // a "Palette" layer drawn in gray scale (using only one of the color components)
+    case PALETTED_SINGLE_BAND_GRAY:
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        break;
+      }
+      else
+      {
+        QgsDebugMsg("PALETTED_SINGLE_BAND_GRAY drawing type detected...");
+
+        int myBandNoInt = 1;
+        drawPalettedSingleBandGray(theQPainter, theRasterViewPort, 
+            theQgsMapToPixel, myBandNoInt, grayBandNameQString);
+
+        break;
+      }
+      // a "Palette" layer having only one of its color components rendered as psuedo color
+    case PALETTED_SINGLE_BAND_PSEUDO_COLOR:
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        break;
+      }
+      else
+      {
+
+        int myBandNoInt = 1;
+        drawPalettedSingleBandPseudoColor(theQPainter, theRasterViewPort,
+            theQgsMapToPixel, myBandNoInt, grayBandNameQString);
+        break;
+      }
+      //a "Palette" image where the bands contains 24bit color info and 8 bits is pulled out per color
+    case PALETTED_MULTI_BAND_COLOR:
+      drawPalettedMultiBandColor(theQPainter, theRasterViewPort,
+          theQgsMapToPixel, 1);
+      break;
+      // a layer containing 2 or more bands, but using only one band to produce a grayscale image
+    case MULTI_BAND_SINGLE_BAND_GRAY:
+      QgsDebugMsg("MULTI_BAND_SINGLE_BAND_GRAY drawing type detected...");
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        QgsDebugMsg("MULTI_BAND_SINGLE_BAND_GRAY Not Set detected..." + grayBandNameQString);
+        break;
+      }
+      else
+      {
+
+        //get the band number for the mapped gray band
+        drawMultiBandSingleBandGray(theQPainter, theRasterViewPort,
+            theQgsMapToPixel, getRasterBandNumber(grayBandNameQString));
+        break;
+      }
+      //a layer containing 2 or more bands, but using only one band to produce a pseudocolor image
+    case MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR:
+      //check the band is set!
+      if (grayBandNameQString == tr("Not Set"))
+      {
+        break;
+      }
+      else
+      {
+
+        drawMultiBandSingleBandPseudoColor(theQPainter, theRasterViewPort,
+            theQgsMapToPixel, getRasterBandNumber(grayBandNameQString));
+        break;
+      }
+      //a layer containing 2 or more bands, mapped to the three RGBcolors.
+      //In the case of a multiband with only two bands, one band will have to be mapped to more than one color
+    case MULTI_BAND_COLOR:
+      drawMultiBandColor(theQPainter, theRasterViewPort,
+          theQgsMapToPixel);
+      break;
+
+    default:
+      break;
+
+  }
+  
+  //see if debug info is wanted
+  if (showDebugOverlayFlag)
+  {
+    showDebugOverlay(theQPainter, theRasterViewPort);
+  };
+
+}                               //end of draw method
+
+
+void QgsRasterLayer::drawSingleBandGray(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort,                                                                             QgsMapToPixel * theQgsMapToPixel, int theBandNoInt)
+{
+  QgsDebugMsg("QgsRasterLayer::drawSingleBandGray called for layer " + QString::number(theBandNoInt));
+  //QgsRasterBandStats myRasterBandStats = getRasterBandStats(theBandNoInt);
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  //double myRangeDouble = myRasterBandStats.rangeDouble;
+  QgsRasterBandStats myGrayBandStats;
+  /*
+   * If stDevsToPlotDouble is set it will override any user defined Min Max values
+   */
+  if(QgsRasterLayer::NO_STRETCH != getColorScalingAlgorithm() && (!userDefinedGrayMinMax || stdDevsToPlotDouble > 0))
+  {
+    myGrayBandStats = getRasterBandStats(theBandNoInt);
+
+    /*
+     * This may upset some, but these values are set directly so that the userDefinedColorMinMax variable is not set, 
+     * though it really does not matter by this point.
+     */
+    if(stdDevsToPlotDouble > 0)
+    {
+      minGrayDouble = myGrayBandStats.meanDouble - (stdDevsToPlotDouble * myGrayBandStats.stdDevDouble);
+      maxGrayDouble = myGrayBandStats.meanDouble + (stdDevsToPlotDouble * myGrayBandStats.stdDevDouble);
+    }
+    else 
+    {
+      minGrayDouble = myGrayBandStats.minValDouble;
+      maxGrayDouble = myGrayBandStats.maxValDouble;
+    }
+  }
+  
+  /*
+   * Check for invalid min max value based on GDALDataType.
+   * Invalid values can happen if the user uses stdDevs to set min and max
+   * TODO:Needs to be expanded for all GDALDataTypes
+   */
+  if(GDT_Byte == myDataType)
+  {
+    if(minGrayDouble < 0.0)
+      minGrayDouble = 0.0;
+    if(maxGrayDouble > 255.0)
+      maxGrayDouble = 255.0;
+  }
+
+  QgsDebugMsg("Starting main render loop");
+  // print each point in myGdalScanData with equal parts R, G ,B o make it show as gray
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myGrayValueDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      // If noDataValueDouble is 'nan', the comparison
+      // against myGrayValDouble will always fail ( nan==nan always
+      // returns false, by design), hence the slightly odd comparison
+      // of myGrayValDouble against itself. 
+      if ( myGrayValueDouble == noDataValueDouble ||
+          myGrayValueDouble != myGrayValueDouble)
+      {
+
+        myQImage.setPixel(myRowInt, myColumnInt, qRgba(255,255,255,0 ));
+        continue;
+      }
+
+      if(QgsRasterLayer::NO_STRETCH != getColorScalingAlgorithm())
+      {
+        if(QgsRasterLayer::CLIP_TO_MINMAX == getColorScalingAlgorithm() || QgsRasterLayer::STRETCH_AND_CLIP_TO_MINMAX == getColorScalingAlgorithm())
+          if(myGrayValueDouble < minGrayDouble || myGrayValueDouble > maxGrayDouble) continue;
+
+        if(QgsRasterLayer::STRETCH_TO_MINMAX == getColorScalingAlgorithm() || QgsRasterLayer::STRETCH_AND_CLIP_TO_MINMAX == getColorScalingAlgorithm())
+          myGrayValueDouble = ((myGrayValueDouble - minGrayDouble)/(maxGrayDouble - minGrayDouble))*255;
+
+        //Check for out of range pixel values
+        if(myGrayValueDouble < 0.0)
+          myGrayValueDouble = 0.0;
+        else if(myGrayValueDouble > 255.0)
+          myGrayValueDouble = 255.0;
+      }
+
+      int myGrayValInt = static_cast < int > ( myGrayValueDouble);
+      //int myGrayValInt = static_cast < int >( (myGrayValDouble-myRasterBandStats.minValDouble) * (255/myRangeDouble));
+
+      if (invertHistogramFlag)
+      {
+        myGrayValInt = 255 - myGrayValInt;
+      }
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(myGrayValInt, myGrayValInt, myGrayValInt, mTransparencyLevel));
+    }
+  }
+  
+  CPLFree ( myGdalScanData );
+
+  QgsDebugMsg("Render done, preparing to copy to canvas");
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer::drawSingleBandGray: painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + ", "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+} // QgsRasterLayer::drawSingleBandGray
+
+
+void QgsRasterLayer::drawSingleBandPseudoColor(QPainter * theQPainter, 
+    QgsRasterViewPort * theRasterViewPort,
+    QgsMapToPixel * theQgsMapToPixel, 
+    int theBandNoInt)
+{
+  QgsDebugMsg("QgsRasterLayer::drawSingleBandPseudoColor called");
+
+  QgsRasterBandStats myRasterBandStats = getRasterBandStats(theBandNoInt);
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  //calculate the adjusted matrix stats - which come into effect if the user has chosen
+  QgsRasterBandStats myAdjustedRasterBandStats = getRasterBandStats(theBandNoInt);
+
+  int myRedInt = 0;
+  int myGreenInt = 0;
+  int myBlueInt = 0;
+
+  //to histogram stretch to a given number of std deviations
+  //see if we are using histogram stretch using stddev and plot only within the selected
+  //number of deviations if we are
+  if (stdDevsToPlotDouble > 0)
+  {
+    //work out how far on either side of the mean we should include data
+    float myTotalDeviationDouble = stdDevsToPlotDouble * myAdjustedRasterBandStats.stdDevDouble;
+    //adjust min and max accordingly
+    //only change min if it is less than mean  -  (n  x  deviations)
+    if (noDataValueDouble < (myAdjustedRasterBandStats.meanDouble - myTotalDeviationDouble))
+    {
+      noDataValueDouble = (myAdjustedRasterBandStats.meanDouble - myTotalDeviationDouble);
+    }
+    //only change max if it is greater than mean  +  (n  x  deviations)
+    if (myAdjustedRasterBandStats.maxValDouble > (myAdjustedRasterBandStats.meanDouble + myTotalDeviationDouble))
+    {
+      myAdjustedRasterBandStats.maxValDouble = (myAdjustedRasterBandStats.meanDouble + myTotalDeviationDouble);
+    }
+    //update the range
+    myAdjustedRasterBandStats.rangeDouble = myAdjustedRasterBandStats.maxValDouble - noDataValueDouble;
+  }
+
+  //set up the three class breaks for pseudocolour mapping
+  double myBreakSizeDouble = myAdjustedRasterBandStats.rangeDouble / 3;
+  double myClassBreakMin1 = myRasterBandStats.minValDouble;
+  double myClassBreakMax1 = myClassBreakMin1 + myBreakSizeDouble;
+  double myClassBreakMin2 = myClassBreakMax1;
+  double myClassBreakMax2 = myClassBreakMin2 + myBreakSizeDouble;
+  double myClassBreakMin3 = myClassBreakMax2;
+
+  myQImage.setAlphaBuffer(true);
+
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      //hardcoding to white to start with
+      myRedInt = 255;
+      myBlueInt = 255;
+      myGreenInt = 255;
+      double myValDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      if ( myValDouble == noDataValueDouble || myValDouble != myValDouble ) continue;
+
+      //double check that myInt >= min and <= max
+      //this is relevant if we are plotting within stddevs
+      if ( myValDouble < myAdjustedRasterBandStats.minValDouble )
+      {
+        myValDouble = myAdjustedRasterBandStats.minValDouble;
+      }
+      if ( myValDouble > myAdjustedRasterBandStats.maxValDouble)
+      {
+        myValDouble = myAdjustedRasterBandStats.maxValDouble;
+      }
+
+      if (!invertHistogramFlag)
+      {
+        //check if we are in the first class break
+        if ((myValDouble >= myClassBreakMin1) && (myValDouble < myClassBreakMax1))
+        {
+          myRedInt = 0;
+          myBlueInt = 255;
+          myGreenInt = static_cast < int >( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                * (myValDouble - myClassBreakMin1) ) * 3 );
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=255-myGreenInt;
+          }
+        }
+        //check if we are in the second class break
+        else if ( (myValDouble >= myClassBreakMin2) && (myValDouble < myClassBreakMax2) )
+        {
+          myRedInt = static_cast < int >( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                * ((myValDouble - myClassBreakMin2) / 1)) * 3);
+          myBlueInt = static_cast < int >(255 - ( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                  * ((myValDouble - myClassBreakMin2) / 1)) * 3));
+          myGreenInt = 255;
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myGreenInt=myBlueInt;
+          }
+        }
+        //otherwise we must be in the third classbreak
+        else
+        {
+          myRedInt = 255;
+          myBlueInt = 0;
+          myGreenInt = static_cast < int >(255 - ( ( (255 / myAdjustedRasterBandStats.rangeDouble) *
+                  ((myValDouble - myClassBreakMin3) / 1) * 3)));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=myGreenInt;
+            myGreenInt=255-myGreenInt;
+          }
+        }
+      }
+      else            //invert histogram toggle is on
+      {
+        //check if we are in the first class break
+        if ((myValDouble >= myClassBreakMin1) && (myValDouble < myClassBreakMax1))
+        {
+          myRedInt = 255;
+          myBlueInt = 0;
+          myGreenInt = static_cast < int >( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                * ((myValDouble - myClassBreakMin1) / 1) * 3));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=255-myGreenInt;
+          }
+        }
+        //check if we are in the second class break
+        else if ((myValDouble >= myClassBreakMin2) && (myValDouble < myClassBreakMax2))
+        {
+          myRedInt = static_cast < int >(255 - ( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                  * ((myValDouble - myClassBreakMin2) / 1)) * 3));
+          myBlueInt = static_cast < int >( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                * ((myValDouble - myClassBreakMin2) / 1)) * 3);
+          myGreenInt = 255;
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myGreenInt=myBlueInt;
+          }
+        }
+        //otherwise we must be in the third classbreak
+        else
+        {
+          myRedInt = 0;
+          myBlueInt = 255;
+          myGreenInt = static_cast < int >(255 - ( ( (255 / myAdjustedRasterBandStats.rangeDouble)
+                  * (myValDouble - myClassBreakMin3)) * 3));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=myGreenInt;
+            myGreenInt=255-myGreenInt;
+          }
+        }
+      }
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(myRedInt, myGreenInt, myBlueInt, mTransparencyLevel));
+    }                       //end of columnwise loop
+  }                           //end of towwise loop
+
+  CPLFree ( myGdalScanData );
+
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer - painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+}
+
+/**
+ * This method is used to render a paletted raster layer as a colour image.
+ * @param theQPainter - pointer to the QPainter onto which the layer should be drawn.
+ * @param theRasterViewPort - pointer to the ViewPort struct containing dimensions of viewable area and subset area to be extracted from data file.
+ * @param theGdalBand - pointer to the GDALRasterBand which should be rendered.
+ */
+void QgsRasterLayer::drawPalettedSingleBandColor(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort, 
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt)
+{
+  QgsDebugMsg("QgsRasterLayer::drawPalettedSingleBandColor called");
+
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QgsColorTable *myColorTable = colorTable ( theBandNoInt );
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myValDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      if ( myValDouble == noDataValueDouble || myValDouble != myValDouble ) continue; // NULL
+
+      int c1, c2, c3;
+      bool found = myColorTable->color ( myValDouble, &c1, &c2, &c3 );
+      if ( !found ) continue;
+
+      if (invertHistogramFlag)
+      {
+        c1 = 255 - c1;
+        c2 = 255 - c2;
+        c3 = 255 - c3;
+      }
+      //set the pixel based on the above color mappings
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(c1, c2, c3, mTransparencyLevel));
+    }
+  }
+
+  CPLFree(myGdalScanData);
+
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer - painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+  CPLFree(myGdalScanData);
+}
+
+
+/**
+ * This method is used to render a paletted raster layer as a gray image.
+ * @param theQPainter - pointer to the QPainter onto which the layer should be drawn.
+ * @param theRasterViewPort - pointer to the ViewPort struct containing dimensions of viewable area and subset area to be extracted from data file.
+ * @param theGdalBand - pointer to the GDALRasterBand which should be rendered.
+ * @param theColorQString - QString containing either 'Red' 'Green' or 'Blue' indicating which part of the rgb triplet will be used to render gray.
+ */
+void QgsRasterLayer::drawPalettedSingleBandGray(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort, 
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt,
+    QString const & theColorQString)
+{
+  QgsDebugMsg("QgsRasterLayer::drawPalettedSingleBandGray called");
+
+  QgsRasterBandStats myRasterBandStats = getRasterBandStats(theBandNoInt);
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QgsColorTable *myColorTable = &(myRasterBandStats.colorTable);
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myValDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      if ( myValDouble == noDataValueDouble || myValDouble != myValDouble ) continue; // NULL
+
+      int c1, c2, c3;
+      bool found = myColorTable->color ( myValDouble, &c1, &c2, &c3 );
+      if ( !found ) continue;
+
+      int myGrayValueInt = 0; //color 1 int
+
+      if (theColorQString == redBandNameQString)
+      {
+        myGrayValueInt = c1;
+      }
+      else if (theColorQString == greenBandNameQString)
+      {
+        myGrayValueInt = c2;
+      }
+      else if (theColorQString == blueBandNameQString)
+      {
+        myGrayValueInt = c3;
+      }
+
+      if (invertHistogramFlag)
+      {
+        myGrayValueInt = 255 - myGrayValueInt;
+      }
+
+      //set the pixel based on the above color mappings
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(myGrayValueInt, myGrayValueInt, myGrayValueInt, mTransparencyLevel));
+    }
+  }
+  CPLFree ( myGdalScanData );
+
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer - painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+}
+
+
+/**
+ * This method is used to render a paletted raster layer as a pseudocolor image.
+ * @param theQPainter - pointer to the QPainter onto which the layer should be drawn.
+ * @param theRasterViewPort - pointer to the ViewPort struct containing dimensions of viewable area and subset area to be extracted from data file.
+ * @param theGdalBand - pointer to the GDALRasterBand which should be rendered.
+ * @param theColorQString - QString containing either 'Red' 'Green' or 'Blue' indicating which part of the rgb triplet will be used to render gray.
+ */
+void QgsRasterLayer::drawPalettedSingleBandPseudoColor(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort,
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt, 
+    QString const & theColorQString)
+{
+  QgsDebugMsg("QgsRasterLayer::drawPalettedSingleBandPseudoColor called");
+  QgsRasterBandStats myRasterBandStats = getRasterBandStats(theBandNoInt);
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QgsColorTable *myColorTable = &(myRasterBandStats.colorTable);
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  int myRedInt = 0;
+  int myGreenInt = 0;
+  int myBlueInt = 0;
+
+  //calculate the adjusted matrix stats - which come into affect if the user has chosen
+  QgsRasterBandStats myAdjustedRasterBandStats = getRasterBandStats(theBandNoInt);
+
+  //to histogram stretch to a given number of std deviations
+  //see if we are using histogram stretch using stddev and plot only within the selected number of deviations if we are
+  if (stdDevsToPlotDouble > 0)
+  {
+    //work out how far on either side of the mean we should include data
+    float myTotalDeviationDouble = stdDevsToPlotDouble * myAdjustedRasterBandStats.stdDevDouble;
+    //printf("myTotalDeviationDouble: %i\n" , myTotalDeviationDouble );
+    //adjust min and max accordingly
+    //only change min if it is less than mean  -  (n  x  deviations)
+    if (noDataValueDouble < (myAdjustedRasterBandStats.meanDouble - myTotalDeviationDouble))
+    {
+      noDataValueDouble = (myAdjustedRasterBandStats.meanDouble - myTotalDeviationDouble);
+    }
+    //only change max if it is greater than mean  +  (n  x  deviations)
+    if (myAdjustedRasterBandStats.maxValDouble > (myAdjustedRasterBandStats.meanDouble + myTotalDeviationDouble))
+    {
+      myAdjustedRasterBandStats.maxValDouble = (myAdjustedRasterBandStats.meanDouble + myTotalDeviationDouble);
+    }
+    //update the range
+    myAdjustedRasterBandStats.rangeDouble = myAdjustedRasterBandStats.maxValDouble - noDataValueDouble;
+  }
+  //set up the three class breaks for pseudocolour mapping
+  double myBreakSizeDouble = myAdjustedRasterBandStats.rangeDouble / 3;
+  double myClassBreakMin1 = myRasterBandStats.minValDouble;
+  double myClassBreakMax1 = myClassBreakMin1 + myBreakSizeDouble;
+  double myClassBreakMin2 = myClassBreakMax1;
+  double myClassBreakMax2 = myClassBreakMin2 + myBreakSizeDouble;
+  double myClassBreakMin3 = myClassBreakMax2;
+
+
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myValDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      if ( myValDouble == noDataValueDouble || myValDouble != myValDouble ) continue; // NULL
+
+      int c1, c2, c3;
+      bool found = myColorTable->color ( myValDouble, &c1, &c2, &c3 );
+      if ( !found ) continue;
+
+      int myInt=0;
+
+      //check for alternate color mappings
+      if (theColorQString == redBandNameQString)
+      {
+        myInt = c1;
+      }
+      else if (theColorQString == greenBandNameQString)
+      {
+        myInt = c2;
+      }
+      else if (theColorQString == blueBandNameQString)
+      {
+        myInt = c3;
+      }
+      //dont draw this point if it is no data !
+      //double check that myInt >= min and <= max
+      //this is relevant if we are plotting within stddevs
+
+      if ( myInt < myAdjustedRasterBandStats.minValDouble )
+      {
+        myInt = static_cast < int >(myAdjustedRasterBandStats.minValDouble);
+      }
+      else if ( myInt > myAdjustedRasterBandStats.maxValDouble )
+      {
+        myInt = static_cast < int >(myAdjustedRasterBandStats.maxValDouble);
+      }
+
+      if (!invertHistogramFlag)
+      {
+        //check if we are in the first class break
+        if ((myInt >= myClassBreakMin1) && (myInt < myClassBreakMax1))
+        {
+          myRedInt = 0;
+          myBlueInt = 255;
+          myGreenInt = static_cast < int >(((255 / myAdjustedRasterBandStats.rangeDouble)
+                * (myInt - myClassBreakMin1)) * 3);
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=255-myGreenInt;
+          }
+        }
+        //check if we are in the second class break
+        else if ((myInt >= myClassBreakMin2) && (myInt < myClassBreakMax2))
+        {
+          myRedInt = static_cast < int >(((255 / myAdjustedRasterBandStats.rangeDouble)
+                * ((myInt - myClassBreakMin2) / 1)) * 3);
+          myBlueInt = static_cast < int >(255 - (((255 / myAdjustedRasterBandStats.rangeDouble)
+                  * ((myInt - myClassBreakMin2) / 1)) * 3));
+          myGreenInt = 255;
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myGreenInt=myBlueInt;
+          }
+        }
+        //otherwise we must be in the third classbreak
+        else
+        {
+          myRedInt = 255;
+          myBlueInt = 0;
+          myGreenInt = static_cast < int >(255 - (((255 / myAdjustedRasterBandStats.rangeDouble)
+                  * ((myInt - myClassBreakMin3) / 1) * 3)));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=myGreenInt;
+            myGreenInt=255-myGreenInt;
+          }
+        }
+      }
+      else            //invert histogram toggle is on
+      {
+        //check if we are in the first class break
+        if ((myInt >= myClassBreakMin1) && (myInt < myClassBreakMax1))
+        {
+          myRedInt = 255;
+          myBlueInt = 0;
+          myGreenInt =
+            static_cast < int >(((255 / myAdjustedRasterBandStats.rangeDouble) * ((myInt - myClassBreakMin1) / 1) * 3));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=255-myGreenInt;
+          }
+        }
+        //check if we are in the second class break
+        else if ((myInt >= myClassBreakMin2) && (myInt < myClassBreakMax2))
+        {
+          myRedInt =
+            static_cast <
+            int >(255 - (((255 / myAdjustedRasterBandStats.rangeDouble) * ((myInt - myClassBreakMin2) / 1)) * 3));
+          myBlueInt =
+            static_cast < int >(((255 / myAdjustedRasterBandStats.rangeDouble) * ((myInt - myClassBreakMin2) / 1)) * 3);
+          myGreenInt = 255;
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myGreenInt=myBlueInt;
+          }
+        }
+        //otherwise we must be in the third classbreak
+        else
+        {
+          myRedInt = 0;
+          myBlueInt = 255;
+          myGreenInt =
+            static_cast < int >(255 - (((255 / myAdjustedRasterBandStats.rangeDouble) * (myInt - myClassBreakMin3)) * 3));
+          // testing this stuff still ...
+          if (colorRampingType==FREAK_OUT)
+          {
+            myRedInt=255-myGreenInt;
+            myGreenInt=myGreenInt;
+          }
+        }
+
+
+      }
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(myRedInt, myGreenInt, myBlueInt, mTransparencyLevel));
+    }
+  }
+  CPLFree ( myGdalScanData );
+
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer - painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+}
+
+/**
+ * This method is used to render a paletted raster layer as a colour image.
+ * @param theQPainter - pointer to the QPainter onto which the layer should be drawn.
+ * @param theRasterViewPort - pointer to the ViewPort struct containing dimensions of viewable area and subset area to be extracted from data file.
+ * @param theGdalBand - pointer to the GDALRasterBand which should be rendered.
+ */
+void QgsRasterLayer::drawPalettedMultiBandColor(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort, 
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt)
+{
+  QgsDebugMsg("QgsRasterLayer::drawPalettedMultiBandColor called");
+
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+  void *myGdalScanData = readData ( myGdalBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalScanData == NULL)
+  {
+    return;
+  }
+
+  QgsColorTable *myColorTable = colorTable ( theBandNoInt );
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myValDouble = readValue ( myGdalScanData, myDataType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+
+      if ( myValDouble == noDataValueDouble || myValDouble != myValDouble ) continue; // NULL
+
+      int c1, c2, c3;
+      bool found = myColorTable->color ( myValDouble, &c1, &c2, &c3 );
+      if ( !found ) continue;
+
+      int myRedValueInt = 0;  //color 1 int
+      int myGreenValueInt = 0;  //color 2 int
+      int myBlueValueInt = 0; //color 3 int
+
+      //check for alternate color mappings
+      if (redBandNameQString == "Red")
+        myRedValueInt = c1;
+      else if (redBandNameQString == "Green")
+        myRedValueInt = c2;
+      else if (redBandNameQString == "Blue")
+        myRedValueInt = c3;
+
+      if (greenBandNameQString == "Red")
+        myGreenValueInt = c1;
+      else if (greenBandNameQString == "Green")
+        myGreenValueInt = c2;
+      else if (greenBandNameQString == "Blue")
+
+        myGreenValueInt = c3;
+
+      if (blueBandNameQString == "Red")
+        myBlueValueInt = c1;
+      else if (blueBandNameQString == "Green")
+        myBlueValueInt = c2;
+      else if (blueBandNameQString == "Blue")
+        myBlueValueInt = c3;
+
+      if (invertHistogramFlag)
+      {
+        myRedValueInt = 255 - myRedValueInt;
+        myGreenValueInt = 255 - myGreenValueInt;
+        myBlueValueInt = 255 - myBlueValueInt;
+
+      }
+      //set the pixel based on the above color mappings
+      myQImage.setPixel(myRowInt, myColumnInt, qRgba(myRedValueInt, myGreenValueInt, myBlueValueInt, mTransparencyLevel));
+    }
+  }
+  //render any inline filters
+  filterLayer(&myQImage);
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }                                   
+
+  QgsDebugMsg("QgsRasterLayer::drawSingleBandGray: painting image to canvas from "\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + ", "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+  CPLFree(myGdalScanData);
+}
+
+
+void QgsRasterLayer::drawMultiBandSingleBandGray(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort, 
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt)
+{
+  //delegate to drawSingleBandGray!
+  drawSingleBandGray(theQPainter, theRasterViewPort, theQgsMapToPixel, theBandNoInt);
+}
+
+
+void QgsRasterLayer::drawMultiBandSingleBandPseudoColor(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort, 
+    QgsMapToPixel * theQgsMapToPixel, int theBandNoInt)
+{
+  //delegate to drawSinglePseudocolor!
+  drawSingleBandPseudoColor(theQPainter, theRasterViewPort, theQgsMapToPixel, theBandNoInt);
+}
+
+
+void QgsRasterLayer::drawMultiBandColor(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort,
+    QgsMapToPixel * theQgsMapToPixel)
+{
+  QgsDebugMsg("QgsRasterLayer::drawMultiBandColor called");
+
+  int myRedBandNoInt = getRasterBandNumber(redBandNameQString);
+  int myGreenBandNoInt = getRasterBandNumber(greenBandNameQString);
+  int myBlueBandNoInt = getRasterBandNumber(blueBandNameQString);
+  GDALRasterBand *myGdalRedBand = gdalDataset->GetRasterBand(myRedBandNoInt);
+  GDALRasterBand *myGdalGreenBand = gdalDataset->GetRasterBand(myGreenBandNoInt);
+  GDALRasterBand *myGdalBlueBand = gdalDataset->GetRasterBand(myBlueBandNoInt);
+
+  GDALDataType myRedType = myGdalRedBand->GetRasterDataType();
+  GDALDataType myGreenType = myGdalGreenBand->GetRasterDataType();
+  GDALDataType myBlueType = myGdalBlueBand->GetRasterDataType();
+
+  void *myGdalRedData = readData ( myGdalRedBand, theRasterViewPort );
+  void *myGdalGreenData = readData ( myGdalGreenBand, theRasterViewPort );
+  void *myGdalBlueData = readData ( myGdalBlueBand, theRasterViewPort );
+
+  /* Check for out of memory error */
+  if (myGdalRedData == NULL || myGdalGreenData == NULL || myGdalBlueData == NULL)
+  {
+    // Safe to free NULL-pointer */
+    VSIFree(myGdalRedData);
+    VSIFree(myGdalGreenData);
+    VSIFree(myGdalBlueData);
+    return;
+  }
+
+  bool haveTransparencyBand(false);
+  GDALRasterBand *myGdalTransparentBand = NULL;
+  GDALDataType myTransparentType = GDT_Byte; //default to prevent uninitialised var warnings
+  void *myGdalTransparentData = NULL;
+
+  if (transparentBandNameQString != tr("Not Set"))
+  {
+    haveTransparencyBand = true;
+    int myTransparentBandNoInt = getRasterBandNumber(transparentBandNameQString); 
+    myGdalTransparentBand = gdalDataset->GetRasterBand(myTransparentBandNoInt);
+    myTransparentType = myGdalTransparentBand->GetRasterDataType();
+    myGdalTransparentData = readData ( myGdalTransparentBand, theRasterViewPort );
+    if (myGdalTransparentData == NULL)
+    {
+      // Safe to free NULL-pointer */
+      VSIFree(myGdalRedData);
+      VSIFree(myGdalGreenData);
+      VSIFree(myGdalBlueData);
+      return;
+    }
+  }
+
+  QImage myQImage = QImage(theRasterViewPort->drawableAreaXDimInt, theRasterViewPort->drawableAreaYDimInt, 32);
+  //myQImage.fill(0);
+  myQImage.setAlphaBuffer(true);
+  myQImage.fill(qRgba(255,255,255,0 )); // fill transparent
+
+  QgsRasterBandStats myRedBandStats;
+  QgsRasterBandStats myGreenBandStats;
+  QgsRasterBandStats myBlueBandStats;
+  /*
+   * If a stetch is requested and there are no user defined Min Max values
+   * we need to get these values from the bands themselves.
+   * If stDevsToPlotDouble is set it will override any user defined Min Max values
+   *
+   * NOTE: If the user only set minRedDouble this next block would be skipped 
+   * and all the other variables could have garbage (they are not initialized in the constructor) 
+   * This may want to be updated so that each Min Max is check to be sure it was set and if one is missing
+   * the get the QgsRasterBandStats for that band.
+   */
+  if(QgsRasterLayer::NO_STRETCH != getColorScalingAlgorithm() && (!userDefinedColorMinMax || stdDevsToPlotDouble > 0))
+  {
+    myRedBandStats = getRasterBandStats(myRedBandNoInt);
+    myGreenBandStats = getRasterBandStats(myGreenBandNoInt);
+    myBlueBandStats = getRasterBandStats(myBlueBandNoInt);
+
+    /*
+     * This may upset some, but these values are set directly so that the userDefinedColorMinMax variable is not set, 
+     * though it really does not matter at this point. Also insignificantly faster.
+     */
+    if(stdDevsToPlotDouble > 0)
+    {
+      minRedDouble = myRedBandStats.meanDouble - (stdDevsToPlotDouble * myRedBandStats.stdDevDouble);
+      maxRedDouble = myRedBandStats.meanDouble + (stdDevsToPlotDouble * myRedBandStats.stdDevDouble);
+      minGreenDouble = myGreenBandStats.meanDouble - (stdDevsToPlotDouble * myGreenBandStats.stdDevDouble);
+      maxGreenDouble = myGreenBandStats.meanDouble + (stdDevsToPlotDouble * myGreenBandStats.stdDevDouble);
+      minBlueDouble = myBlueBandStats.meanDouble - (stdDevsToPlotDouble * myBlueBandStats.stdDevDouble);
+      maxBlueDouble = myBlueBandStats.meanDouble + (stdDevsToPlotDouble * myBlueBandStats.stdDevDouble);
+    }
+    else 
+    {
+      minRedDouble = myRedBandStats.minValDouble;
+      maxRedDouble = myRedBandStats.maxValDouble;
+      minGreenDouble = myGreenBandStats.minValDouble;
+      maxGreenDouble = myGreenBandStats.maxValDouble;
+      minBlueDouble = myBlueBandStats.minValDouble;
+      maxBlueDouble = myBlueBandStats.maxValDouble;
+    }
+  }
+
+  /*
+   * Check for invalid min max value based on GDALDataType.
+   * Invalid values can happen if the user uses stdDevs to set min and max
+   * TODO:Needs to be expanded for all GDALDataTypes
+   */
+  if(GDT_Byte == myRedType)
+  {
+    if(minRedDouble < 0.0)
+      minRedDouble = 0.0;
+    if(maxRedDouble > 255.0)
+      maxRedDouble = 255.0;
+  }
+
+  if(GDT_Byte == myGreenType)
+  {
+    if(minGreenDouble < 0.0)
+      minGreenDouble = 0.0;
+    if(maxGreenDouble > 255.0)
+      maxGreenDouble = 255.0;
+  }
+
+  if(GDT_Byte == myBlueType)
+  {
+    if(minBlueDouble < 0.0)
+      minBlueDouble = 0.0;
+    if(maxBlueDouble > 255.0)
+      maxBlueDouble = 255.0;
+  }
+
+  //Read and display pixels
+  for (int myColumnInt = 0; myColumnInt < theRasterViewPort->drawableAreaYDimInt; ++myColumnInt)
+  {
+    for (int myRowInt = 0; myRowInt < theRasterViewPort->drawableAreaXDimInt; ++myRowInt)
+    {
+      double myRedValueDouble   = readValue ( myGdalRedData, myRedType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+      double myGreenValueDouble = readValue ( myGdalGreenData, myGreenType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+      double myBlueValueDouble  = readValue ( myGdalBlueData, myBlueType,
+          myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+      if (haveTransparencyBand)
+      {
+        double myTransparentValueDouble  = readValue ( myGdalTransparentData, myTransparentType,
+            myColumnInt * theRasterViewPort->drawableAreaXDimInt + myRowInt );
+        if (myTransparentValueDouble == 0.0)
+          continue;
+      }
+
+	if((myRedValueDouble == noDataValueDouble || myRedValueDouble != myRedValueDouble) || (myGreenValueDouble == noDataValueDouble || myGreenValueDouble != myGreenValueDouble) || (myBlueValueDouble == noDataValueDouble || myBlueValueDouble != myBlueValueDouble))
+      {
+        continue;
+      }
+
+      /*
+       * Stretch RBG values based on selected color scaling algoritm
+       * NOTE: NO_STRETCH enum will help eliminte the need to call QgsRasterBandStats when an image is initially loaded
+       */
+      
+      if(QgsRasterLayer::NO_STRETCH != getColorScalingAlgorithm())
+      {
+        /*
+         * Currently if any one band is outside of min max range for the band the pixel is discarded,
+         * this can easily be updated so that all band have to be ouside of the min max range
+         */
+        if(QgsRasterLayer::CLIP_TO_MINMAX == getColorScalingAlgorithm() || QgsRasterLayer::STRETCH_AND_CLIP_TO_MINMAX == getColorScalingAlgorithm())
+        {
+          if(myRedValueDouble < minRedDouble || myRedValueDouble > maxRedDouble) continue;
+          if(myGreenValueDouble < minRedDouble || myGreenValueDouble > maxRedDouble) continue;
+          if(myBlueValueDouble < minBlueDouble || myBlueValueDouble > maxBlueDouble) continue;
+        }
+        if(QgsRasterLayer::STRETCH_TO_MINMAX == getColorScalingAlgorithm() || QgsRasterLayer::STRETCH_AND_CLIP_TO_MINMAX == getColorScalingAlgorithm())
+        {
+          myRedValueDouble = ((myRedValueDouble - minRedDouble)/(maxRedDouble - minRedDouble))*255;
+          myGreenValueDouble = ((myGreenValueDouble - minGreenDouble)/(maxGreenDouble - minGreenDouble))*255;
+          myBlueValueDouble = ((myBlueValueDouble - minBlueDouble)/(maxBlueDouble - minBlueDouble))*255;
+        }
+        //Check for out of range pixel values
+        if(myRedValueDouble < 0.0)
+          myRedValueDouble = 0.0;
+        else if(myRedValueDouble > 255.0)
+          myRedValueDouble = 255.0;
+        if(myGreenValueDouble < 0.0)
+          myGreenValueDouble = 0.0;
+        else if(myGreenValueDouble > 255.0)
+          myGreenValueDouble = 255.0;
+        if(myBlueValueDouble < 0.0)
+          myBlueValueDouble = 0.0;
+        else if(myBlueValueDouble > 255.0)
+          myBlueValueDouble = 255.0;
+      }
+
+      int myRedValueInt   = static_cast < int > ( myRedValueDouble );
+      int myGreenValueInt = static_cast < int > ( myGreenValueDouble );
+      int myBlueValueInt  = static_cast < int > ( myBlueValueDouble );
+
+      if (invertHistogramFlag)
+      {
+        myRedValueInt = 255 - myRedValueInt;
+        myGreenValueInt = 255 - myGreenValueInt;
+        myBlueValueInt = 255 - myBlueValueInt;
+      }
+
+      //set the pixel based on the above color mappings
+      myQImage.setPixel ( myRowInt, myColumnInt,
+          qRgba(myRedValueInt, myGreenValueInt, myBlueValueInt, mTransparencyLevel) );
+    }
+  }
+
+  //render any inline filters
+  filterLayer(&myQImage);
+
+#ifdef QGISDEBUG
+  QPixmap* pm = dynamic_cast<QPixmap*>(theQPainter->device());
+  if(pm)
+  {
+    QgsDebugMsg("QgsRasterLayer::drawMultiBandColor: theQPainter stats: ");
+    QgsDebugMsg("width = " + QString::number(pm->width()));
+    QgsDebugMsg("height = " + QString::number(pm->height()));
+    pm->save("/tmp/qgis-rasterlayer-drawmultibandcolor-test-a.png", "PNG");
+  }
+#endif
+
+  // \/\/\/ - added to handle zoomed-in rasters
+
+  // Set up the initial offset into the myQImage we want to copy to the map canvas
+  // This is useful when the source image pixels are larger than the screen image.
+  int paintXoffset = 0;
+  int paintYoffset = 0;
+
+  if (theQgsMapToPixel)
+  {
+    paintXoffset = static_cast<int>( 
+        (theRasterViewPort->rectXOffsetFloat - 
+         theRasterViewPort->rectXOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[1])
+        ); 
+
+    paintYoffset = static_cast<int>( 
+        (theRasterViewPort->rectYOffsetFloat - 
+         theRasterViewPort->rectYOffsetInt)
+        / theQgsMapToPixel->mapUnitsPerPixel() 
+        * fabs(adfGeoTransform[5])
+        ); 
+  }
+
+  QgsDebugMsg("QgsRasterLayer::drawSingleBandGray: painting image to canvas from source NW"\
+      + QString::number(paintXoffset) + ", " + QString::number(paintYoffset)\
+      + " to "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5))\
+      + ", "\
+      + QString::number(static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5))\
+      + ".");
+
+  //part of the experimental transparency support
+  theQPainter->drawImage(static_cast<int>(theRasterViewPort->topLeftPoint.x() + 0.5),
+      static_cast<int>(theRasterViewPort->topLeftPoint.y() + 0.5),
+      myQImage,
+      paintXoffset,
+      paintYoffset);
+
+#ifdef QGISDEBUG
+  QgsDebugMsg("QgsRasterLayer::drawMultiBandColor: theQPainter->drawImage.");
+  if(pm)
+  {
+    pm->save("/tmp/qgis-rasterlayer-drawmultibandcolor-test-b.png", "PNG");
+  }
+#endif
+
+  //free the scanline memory
+  CPLFree(myGdalRedData);
+  CPLFree(myGdalGreenData);
+  CPLFree(myGdalBlueData);
+  if (haveTransparencyBand)
+    CPLFree(myGdalTransparentData);
+}
+
+
+
+/**
+ * Call any inline filters
+ */
+void QgsRasterLayer::filterLayer(QImage * theQImage)
+{
+  //do stuff here....
+  //return;
+}
+
+/**
+  Print some debug info to the qpainter
+  */
+
+void QgsRasterLayer::showDebugOverlay(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort)
+{
+
+
+  QFont myQFont("arial", 10, QFont::Bold);
+  theQPainter->setFont(myQFont);
+  theQPainter->setPen(Qt::black);
+  QBrush myQBrush(qRgba(128, 128, 164, 50), Qt::Dense6Pattern); //semi transparent
+  theQPainter->setBrush(myQBrush);  // set the yellow brush
+  theQPainter->drawRect(5, 5, theQPainter->window().width() - 10, 60);
+  theQPainter->setBrush(Qt::NoBrush); // do not fill
+
+  theQPainter->drawText(10, 20, "QPainter: "
+      + QString::number(theQPainter->window().width()) + " x " + QString::number(theQPainter->window().height()));
+  theQPainter->drawText(10, 32, tr("Raster Extent: ")
+      + QString::number(theRasterViewPort->drawableAreaXDimInt)
+      + "," + QString::number(theRasterViewPort->drawableAreaYDimInt));
+  theQPainter->drawText(10, 44, tr("Clipped area: ")
+      + QString::number(theRasterViewPort->clippedXMinDouble)
+      + "," + QString::number(theRasterViewPort->clippedYMinDouble)
+      + " - " + QString::number(theRasterViewPort->clippedXMaxDouble)
+      + "," + QString::number(theRasterViewPort->clippedYMinDouble));
+
+  return;
+
+
+}                               //end of main draw method
+
+/** Return the statistics for a given band name.
+  WARDNING::: THERE IS NO GUARANTEE THAT BAND NAMES ARE UNIQE
+  THE FIRST MATCH WILL BE RETURNED!!!!!!!!!!!!
+  */
+const QgsRasterBandStats QgsRasterLayer::getRasterBandStats(QString const & theBandNameQString)
+{
+
+  //we cant use a vector iterator because the iterator is astruct not a class
+  //and the qvector model does not like this.
+  for (int i = 1; i <= gdalDataset->GetRasterCount(); i++)
+  {
+    QgsRasterBandStats myRasterBandStats = getRasterBandStats(i);
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      return myRasterBandStats;
+    }
+  }
+
+  return QgsRasterBandStats();     // return a null one
+  // XXX is this ok?  IS there a "null" one?
+}
+
+//get the number of a band given its name
+//note this should be the rewritten name set up in the constructor,
+//not the name retrieved directly from gdal!
+//if no matching band is found zero will be returned!
+const int QgsRasterLayer::getRasterBandNumber(QString const &  theBandNameQString)
+{
+  for (int myIteratorInt = 0; myIteratorInt <= rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    QgsDebugMsg("myRasterBandStats.bandName: " + myRasterBandStats.bandName + "  :: theBandNameQString: "\
+        + theBandNameQString);
+
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      QgsDebugMsg("********** band " + QString::number(myRasterBandStats.bandNoInt) +\
+          " was found in getRasterBandNumber " + theBandNameQString);
+
+      return myRasterBandStats.bandNoInt;
+    }
+  }
+  QgsDebugMsg("********** no band was found in getRasterBandNumber " + theBandNameQString);
+
+  return 0;                     //no band was found
+}
+
+
+
+// get the name of a band given its number
+const QString QgsRasterLayer::getRasterBandName(int theBandNoInt)
+{
+
+  if (theBandNoInt <= rasterStatsVector.size())
+  {
+    //vector starts at base 0, band counts at base1 !
+    return rasterStatsVector[theBandNoInt - 1].bandName;
+  }
+  else
+  {
+    return QString("");
+  }
+}
+
+
+
+/** Check whether a given band number has stats associated with it */
+const bool QgsRasterLayer::hasStats(int theBandNoInt)
+{
+  if (theBandNoInt <= rasterStatsVector.size())
+  {
+    //vector starts at base 0, band counts at base1 !
+    return rasterStatsVector[theBandNoInt - 1].statsGatheredFlag;
+  }
+  else
+  {
+    return false;
+  }
+}
+
+
+/** Private method to calculate statistics for a band. Populates rasterStatsMemArray.
+
+Calculates:
+
+<ul>
+<li>myRasterBandStats.elementCountInt
+<li>myRasterBandStats.minValDouble
+<li>myRasterBandStats.maxValDouble
+<li>myRasterBandStats.sumDouble
+<li>myRasterBandStats.rangeDouble
+<li>myRasterBandStats.meanDouble
+<li>myRasterBandStats.sumSqrDevDouble
+<li>myRasterBandStats.stdDevDouble
+<li>myRasterBandStats.colorTable
+</ul>
+
+ at seealso RasterBandStats
+
+ at note
+
+That this is a cpu intensive and slow task!
+
+*/
+const QgsRasterBandStats QgsRasterLayer::getRasterBandStats(int theBandNoInt)
+{
+  // check if we have received a valid band number
+  if ((gdalDataset->GetRasterCount() < theBandNoInt) && rasterLayerType != PALETTE)
+  {
+    // invalid band id, return nothing
+    QgsRasterBandStats myNullReturnStats;
+    return myNullReturnStats;
+  }
+  if (rasterLayerType == PALETTE && (theBandNoInt > 3))
+  {
+    // invalid band id, return nothing
+    QgsRasterBandStats myNullReturnStats;
+    return myNullReturnStats;
+  }
+  // check if we have previously gathered stats for this band...
+
+  QgsRasterBandStats myRasterBandStats = rasterStatsVector[theBandNoInt - 1];
+  myRasterBandStats.bandNoInt = theBandNoInt;
+
+  // don't bother with this if we already have stats
+  if (myRasterBandStats.statsGatheredFlag)
+  {
+    return myRasterBandStats;
+  }
+  // only print message if we are actually gathering the stats
+  emit setStatus(QString("Retrieving stats for ")+name());
+  qApp->processEvents();
+  QgsDebugMsg("QgsRasterLayer::retrieve stats for band " + QString::number(theBandNoInt));
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+
+
+  QString myColorInterpretation = GDALGetColorInterpretationName(myGdalBand->GetColorInterpretation());
+
+  //declare a colorTable to hold a palette - will only be used if the layer color interp is palette ???
+  //get the palette colour table
+  QgsColorTable *myColorTable = &(myRasterBandStats.colorTable);
+  if (rasterLayerType == PALETTE)
+  {
+
+    //override the band name - palette images are really only one band
+    //so we are faking three band behaviour
+    switch (theBandNoInt)
+    {
+      // a "Red" layer
+      case 1:
+        myRasterBandStats.bandName = redBandNameQString;
+        break;
+      case 2:
+        myRasterBandStats.bandName = blueBandNameQString;
+        break;
+      case 3:
+        myRasterBandStats.bandName = greenBandNameQString;
+        break;
+      default:
+        //invalid band id so return
+        QgsRasterBandStats myNullReturnStats;
+        return myNullReturnStats;
+        break;
+    }
+  }
+  else if (rasterLayerType==GRAY_OR_UNDEFINED)
+  {
+    myRasterBandStats.bandName = myColorInterpretation;
+  }
+  else //rasterLayerType is MULTIBAND
+  {
+    //do nothing
+  }
+
+  // XXX this sets the element count to a sensible value; but then you ADD to
+  // XXX it later while iterating through all the pixels?
+  //myRasterBandStats.elementCountInt = rasterXDimInt * rasterYDimInt;
+
+  myRasterBandStats.elementCountInt = 0; // because we'll be counting only VALID pixels later
+
+  emit setStatus(QString("Calculating stats for ")+name());
+  //reset the main app progress bar
+  emit drawingProgress(0,0);
+
+  // let the user know we're going to possibly be taking a while
+  QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+
+  GDALDataType myDataType = myGdalBand->GetRasterDataType();
+
+  int  myNXBlocks, myNYBlocks, myXBlockSize, myYBlockSize;
+  myGdalBand->GetBlockSize( &myXBlockSize, &myYBlockSize );
+
+  myNXBlocks = (myGdalBand->GetXSize() + myXBlockSize - 1) / myXBlockSize;
+  myNYBlocks = (myGdalBand->GetYSize() + myYBlockSize - 1) / myYBlockSize;
+
+  void *myData = CPLMalloc ( myXBlockSize * myYBlockSize * GDALGetDataTypeSize(myDataType)/8 );
+
+  // unfortunately we need to make two passes through the data to calculate stddev
+  bool myFirstIterationFlag = true;
+
+  // Comparison value for equality; i.e., we shouldn't directly compare two
+  // floats so it's better to take their difference and see if they're within
+  // a certain range -- in this case twenty times the smallest value that
+  // doubles can take for the current system.  (Yes, 20 was arbitrary.)
+  double myPrecision = std::numeric_limits<double>::epsilon() * 20;
+  int success;
+  double GDALminimum = myGdalBand->GetMinimum( &success );
+
+  if ( ! success )
+  {
+    QgsDebugMsg("myGdalBand->GetMinimum() failed");
+  }
+
+//ifdefs below to remove compiler warning about unused vars
+#ifdef QGISDEBUG
+  double GDALmaximum = myGdalBand->GetMaximum( &success );
+#else
+  myGdalBand->GetMaximum( &success );
+#endif
+  
+  if ( ! success )
+  {
+    QgsDebugMsg("myGdalBand->GetMaximum() failed");
+  }
+
+//ifdefs below to remove compiler warning about unused vars
+#ifdef QGISDEBUG
+  double GDALnodata = myGdalBand->GetNoDataValue( &success );
+#else
+  myGdalBand->GetNoDataValue( &success );
+#endif
+  
+  if ( ! success )
+  {
+    QgsDebugMsg("myGdalBand->GetNoDataValue() failed");
+  }
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("GDALminium: ", GDALminimum, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("GDALmaximum: ", GDALmaximum, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("GDALnodata: ", GDALnodata, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+  double GDALrange[2];          // calculated min/max, as opposed to the
+  // dataset provided
+
+  GDALComputeRasterMinMax( myGdalBand, 0, GDALrange );
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("approximate computed GDALminium:", GDALrange[0], __FILE__, __FUNCTION__, __LINE__, 1);
+  QgsLogger::debug("approximate computed GDALmaximum:", GDALrange[1], __FILE__, __FUNCTION__, __LINE__, 1);
+#endif
+
+  GDALComputeRasterMinMax( myGdalBand, 1, GDALrange );
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("exactly computed GDALminium:", GDALrange[0]);
+  QgsLogger::debug("exactly computed GDALmaximum:", GDALrange[1]);
+#endif
+
+  for( int iYBlock = 0; iYBlock < myNYBlocks; iYBlock++ )
+  {
+    emit drawingProgress ( iYBlock, myNYBlocks * 2 );
+
+    for( int iXBlock = 0; iXBlock < myNXBlocks; iXBlock++ )
+    {
+      int  nXValid, nYValid;
+      myGdalBand->ReadBlock( iXBlock, iYBlock, myData );
+
+      // Compute the portion of the block that is valid
+      // for partial edge blocks.
+      if( (iXBlock+1) * myXBlockSize > myGdalBand->GetXSize() )
+        nXValid = myGdalBand->GetXSize() - iXBlock * myXBlockSize;
+      else
+        nXValid = myXBlockSize;
+
+      if( (iYBlock+1) * myYBlockSize > myGdalBand->GetYSize() )
+        nYValid = myGdalBand->GetYSize() - iYBlock * myYBlockSize;
+      else
+        nYValid = myYBlockSize;
+
+      // Collect the histogram counts.
+      for( int iY = 0; iY < nYValid; iY++ )
+      {
+        for( int iX = 0; iX < nXValid; iX++ )
+        {
+          double myDouble = readValue ( myData, myDataType, iX + iY * myXBlockSize );
+
+          if ( fabs(myDouble - noDataValueDouble) < myPrecision ||
+              myDouble < GDALminimum || myDouble != myDouble)
+          {
+            continue; // NULL
+          }
+
+          //only use this element if we have a non null element
+          if (myFirstIterationFlag)
+          {
+            //this is the first iteration so initialise vars
+            myFirstIterationFlag = false;
+            myRasterBandStats.minValDouble = myDouble;
+            myRasterBandStats.maxValDouble = myDouble;
+          }               //end of true part for first iteration check
+          else
+          {
+            //this is done for all subsequent iterations
+            if (myDouble < myRasterBandStats.minValDouble)
+            {
+              myRasterBandStats.minValDouble = myDouble;
+            }
+            if (myDouble > myRasterBandStats.maxValDouble)
+            {
+              myRasterBandStats.maxValDouble = myDouble;
+            }
+            //only increment the running total if it is not a nodata value
+            if (myDouble != noDataValueDouble || myDouble != myDouble)
+            {
+              myRasterBandStats.sumDouble += myDouble;
+              ++myRasterBandStats.elementCountInt;
+            }
+          }               //end of false part for first iteration check
+        }
+      }
+    }                       //end of column wise loop
+  }                           //end of row wise loop
+
+
+  //end of first pass through data now calculate the range
+  myRasterBandStats.rangeDouble = myRasterBandStats.maxValDouble - myRasterBandStats.minValDouble;
+  //calculate the mean
+  myRasterBandStats.meanDouble = myRasterBandStats.sumDouble / myRasterBandStats.elementCountInt;
+
+  //for the second pass we will get the sum of the squares / mean
+  for( int iYBlock = 0; iYBlock < myNYBlocks; iYBlock++ )
+  {
+    emit drawingProgress ( iYBlock+myNYBlocks, myNYBlocks * 2 );
+
+    for( int iXBlock = 0; iXBlock < myNXBlocks; iXBlock++ )
+    {
+      int  nXValid, nYValid;
+
+      myGdalBand->ReadBlock( iXBlock, iYBlock, myData );
+
+      // Compute the portion of the block that is valid
+      // for partial edge blocks.
+      if( (iXBlock+1) * myXBlockSize > myGdalBand->GetXSize() )
+        nXValid = myGdalBand->GetXSize() - iXBlock * myXBlockSize;
+      else
+        nXValid = myXBlockSize;
+
+      if( (iYBlock+1) * myYBlockSize > myGdalBand->GetYSize() )
+        nYValid = myGdalBand->GetYSize() - iYBlock * myYBlockSize;
+      else
+        nYValid = myYBlockSize;
+
+      // Collect the histogram counts.
+      for( int iY = 0; iY < nYValid; iY++ )
+      {
+        for( int iX = 0; iX < nXValid; iX++ )
+        {
+          double myDouble = readValue ( myData, myDataType, iX + iY * myXBlockSize );
+
+          if ( fabs(myDouble - noDataValueDouble) < myPrecision ||
+              myDouble < GDALminimum || myDouble != myDouble)
+          {
+            continue; // NULL
+          }
+
+          //get the nth element from the current row
+          if (myColorInterpretation == "Palette") // dont translate this its a gdal string
+          {
+            //this is a palette layer so red / green / blue 'layers are 'virtual'
+            //in that we need to obtain the palette entry and then get the r,g or g
+            //component from that palette entry
+
+            int c1, c2, c3;
+            bool found = myColorTable->color ( myDouble, &c1, &c2, &c3 );
+            if ( !found ) continue;
+
+            //check for alternate color mappings
+            switch (theBandNoInt)
+            {
+              case 1:
+                myDouble = c1;
+                break;
+              case 2:
+                myDouble = c2;
+                break;
+              case 3:
+                myDouble = c3;
+                break;
+            }
+          }
+
+          myRasterBandStats.sumSqrDevDouble += static_cast < double >
+            (pow(myDouble - myRasterBandStats.meanDouble, 2));
+        }
+      }
+    }                       //end of column wise loop
+  }                           //end of row wise loop
+
+  //divide result by sample size - 1 and get square root to get stdev
+  myRasterBandStats.stdDevDouble = static_cast < double >(sqrt(myRasterBandStats.sumSqrDevDouble /
+        (myRasterBandStats.elementCountInt - 1)));
+
+#ifdef QGISDEBUG
+  QgsLogger::debug("************ STATS **************", 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("NULL", noDataValueDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("MIN", myRasterBandStats.minValDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("MAX", myRasterBandStats.maxValDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("RANGE", myRasterBandStats.rangeDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("MEAN", myRasterBandStats.meanDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+  QgsLogger::debug("STDDEV", myRasterBandStats.stdDevDouble, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+  CPLFree(myData);
+  myRasterBandStats.statsGatheredFlag = true;
+
+  QgsDebugMsg("adding stats to stats collection at position " + QString::number(theBandNoInt - 1));
+  //add this band to the class stats map
+  rasterStatsVector[theBandNoInt - 1] = myRasterBandStats;
+  emit drawingProgress(rasterYDimInt, rasterYDimInt); //reset progress
+  QApplication::restoreOverrideCursor(); //restore the cursor
+  QgsDebugMsg("Stats collection completed returning");
+  return myRasterBandStats;
+
+} // QgsRasterLayer::getRasterBandStats
+
+
+
+
+//mutator for red band name (allows alternate mappings e.g. map blue as red colour)
+void QgsRasterLayer::setRedBandName(QString const &  theBandNameQString)
+{
+  QgsDebugMsg("setRedBandName :  " + theBandNameQString);
+  //check if the band is unset
+  if (theBandNameQString == tr("Not Set"))
+  {
+    redBandNameQString = theBandNameQString;
+    return;
+  }
+  //check if the image is paletted
+  if (rasterLayerType == PALETTE && (theBandNameQString == "Red" || theBandNameQString == "Green" || theBandNameQString == "Blue"))
+  {
+    redBandNameQString = theBandNameQString;
+    return;
+  }
+  //check that a valid band name was passed
+
+  for (int myIteratorInt = 0; myIteratorInt < rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      redBandNameQString = theBandNameQString;
+      return;
+    }
+  }
+
+  //if no matches were found default to not set
+  redBandNameQString = tr("Not Set");
+  return;
+}
+
+
+
+//mutator for green band name
+void QgsRasterLayer::setGreenBandName(QString const &  theBandNameQString)
+{
+  //check if the band is unset
+  if (theBandNameQString == tr("Not Set"))
+  {
+    greenBandNameQString = theBandNameQString;
+    return;
+  }
+  //check if the image is paletted
+  if (rasterLayerType == PALETTE && (theBandNameQString == "Red" || theBandNameQString == "Green" || theBandNameQString == "Blue"))
+  {
+    greenBandNameQString = theBandNameQString;
+    return;
+  }
+  //check that a valid band name was passed
+
+  for (int myIteratorInt = 0; myIteratorInt < rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      greenBandNameQString = theBandNameQString;
+      return;
+    }
+  }
+
+  //if no matches were found default to not set
+  greenBandNameQString = tr("Not Set");
+  return;
+}
+
+//mutator for blue band name
+void QgsRasterLayer::setBlueBandName(QString const &  theBandNameQString)
+{
+  //check if the band is unset
+  if (theBandNameQString == tr("Not Set"))
+  {
+    blueBandNameQString = theBandNameQString;
+    return;
+  }
+  //check if the image is paletted
+  if (rasterLayerType == PALETTE && (theBandNameQString == "Red" || theBandNameQString == "Green" || theBandNameQString == "Blue"))
+  {
+    blueBandNameQString = theBandNameQString;
+    return;
+  }
+  //check that a valid band name was passed
+
+  for (int myIteratorInt = 0; myIteratorInt < rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      blueBandNameQString = theBandNameQString;
+      return;
+    }
+  }
+
+  //if no matches were found default to not set
+  blueBandNameQString = tr("Not Set");
+  return;
+}
+
+//mutator for transparent band name
+void QgsRasterLayer::setTransparentBandName(QString const &  theBandNameQString)
+{
+  //check if the band is unset
+  if (theBandNameQString == tr("Not Set"))
+  {
+    transparentBandNameQString = theBandNameQString;
+    return;
+  }
+  //check if the image is paletted
+  if (rasterLayerType == PALETTE && (theBandNameQString == "Red" || theBandNameQString == "Green" || theBandNameQString == "Blue"))
+  {
+    transparentBandNameQString = theBandNameQString;
+    return;
+  }
+  //check that a valid band name was passed
+
+  for (int myIteratorInt = 0; myIteratorInt < rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      transparentBandNameQString = theBandNameQString;
+      return;
+    }
+  }
+
+  //if no matches were found default to not set
+  transparentBandNameQString = tr("Not Set");
+  return;
+}
+
+
+//mutator for gray band name
+void QgsRasterLayer::setGrayBandName(QString const &  theBandNameQString)
+{
+  //check if the band is unset
+  if (theBandNameQString == tr("Not Set"))
+  {
+    grayBandNameQString = theBandNameQString;
+    return;
+  }
+  //check if the image is paletted
+  if (rasterLayerType == PALETTE && (theBandNameQString == redBandNameQString || theBandNameQString == greenBandNameQString || theBandNameQString == blueBandNameQString))
+  {
+    grayBandNameQString = theBandNameQString;
+    return;
+  }
+  //otherwise check that a valid band name was passed
+
+  for (int myIteratorInt = 0; myIteratorInt < rasterStatsVector.size(); ++myIteratorInt)
+  {
+    //find out the name of this band
+    QgsRasterBandStats myRasterBandStats = rasterStatsVector[myIteratorInt];
+    QgsDebugMsg("Checking if " + myRasterBandStats.bandName + " == " 
+        + grayBandNameQString);
+    if (myRasterBandStats.bandName == theBandNameQString)
+    {
+      grayBandNameQString = theBandNameQString;
+      return;
+    }
+  }
+
+  //if no matches were found default to not set
+  grayBandNameQString = tr("Not Set");
+  return;
+}
+
+/** Return a pixmap representing a legend image. This is an overloaded
+ * version of the method below and assumes false for the legend name flag.
+ */
+QPixmap QgsRasterLayer::getLegendQPixmap()
+{
+  return getLegendQPixmap(false);
+}
+
+/** Return a pixmap representing a legend image
+ * @param theWithNameFlag - boolena flag whether to overlay the legend name in the text
+ */
+QPixmap QgsRasterLayer::getLegendQPixmap(bool theWithNameFlag)
+{
+  QgsDebugMsg("QgsRasterLayer::getLegendQPixmap called (" + getDrawingStyleAsQString() + ")");
+
+  QPixmap myLegendQPixmap;      //will be initialised once we know what drawing style is active
+  QPainter myQPainter; 
+
+
+  if (!mProviderKey.isEmpty())
+  {
+    QgsDebugMsg("QgsRasterLayer::getLegendQPixmap called with provider Key (" + mProviderKey + ")");
+    myLegendQPixmap = QPixmap(3, 1);
+    myQPainter.begin(&myLegendQPixmap);
+    //draw legend red part
+    myQPainter.setPen(QPen(QColor(255,   0,   0, QColor::Rgb), 0));
+    myQPainter.drawPoint(0, 0);
+    //draw legend green part
+    myQPainter.setPen(QPen(QColor(  0, 255,   0, QColor::Rgb), 0));
+    myQPainter.drawPoint(1, 0);
+    //draw legend blue part
+    myQPainter.setPen(QPen(QColor(  0,   0, 255, QColor::Rgb), 0));
+    myQPainter.drawPoint(2, 0);
+
+  }
+  else
+  { 
+    // Legacy GDAL (non-provider)
+
+    //
+    // Get the adjusted matrix stats
+    //
+    GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(1);
+    QString myColorInterpretation = GDALGetColorInterpretationName(myGdalBand->GetColorInterpretation());
+
+
+
+    //
+    // Create the legend pixmap - note it is generated on the preadjusted stats
+    //
+    if (drawingStyle == MULTI_BAND_SINGLE_BAND_GRAY || drawingStyle == PALETTED_SINGLE_BAND_GRAY || drawingStyle == SINGLE_BAND_GRAY)
+    {
+
+      myLegendQPixmap = QPixmap(100, 1);
+      myQPainter.begin(&myLegendQPixmap);
+      int myPosInt = 0;
+      for (double myDouble = 0; myDouble < 255; myDouble += 2.55)
+      {
+        if (!invertHistogramFlag) //histogram is not inverted
+        {
+          //draw legend as grayscale
+          int myGrayInt = static_cast < int >(myDouble);
+          myQPainter.setPen(QPen(QColor(myGrayInt, myGrayInt, myGrayInt, QColor::Rgb), 0));
+        } else                //histogram is inverted
+        {
+          //draw legend as inverted grayscale
+          int myGrayInt = 255 - static_cast < int >(myDouble);
+          myQPainter.setPen(QPen(QColor(myGrayInt, myGrayInt, myGrayInt, QColor::Rgb), 0));
+        }                   //end of invert histogram  check
+        myQPainter.drawPoint(myPosInt++, 0);
+      }
+    }                           //end of gray check
+    else if (drawingStyle == MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR ||
+        drawingStyle == PALETTED_SINGLE_BAND_PSEUDO_COLOR || drawingStyle == SINGLE_BAND_PSEUDO_COLOR)
+    {
+
+      //set up the three class breaks for pseudocolour mapping
+      double myRangeSizeDouble = 90;  //hard coded for now
+      double myBreakSizeDouble = myRangeSizeDouble / 3;
+      double myClassBreakMin1 = 0;
+      double myClassBreakMax1 = myClassBreakMin1 + myBreakSizeDouble;
+      double myClassBreakMin2 = myClassBreakMax1;
+      double myClassBreakMax2 = myClassBreakMin2 + myBreakSizeDouble;
+      double myClassBreakMin3 = myClassBreakMax2;
+
+      //
+      // Create the legend pixmap - note it is generated on the preadjusted stats
+      //
+      myLegendQPixmap = QPixmap(100, 1);
+      myQPainter.begin(&myLegendQPixmap);
+      int myPosInt = 0;
+      for (double myDouble = 0; myDouble < myRangeSizeDouble; myDouble += myRangeSizeDouble / 100.0)
+      {
+        //draw pseudocolor legend
+        if (!invertHistogramFlag)
+        {
+          //check if we are in the first class break
+          if ((myDouble >= myClassBreakMin1) && (myDouble < myClassBreakMax1))
+          {
+            int myRedInt = 0;
+            int myBlueInt = 255;
+            int myGreenInt = static_cast < int >(((255 / myRangeSizeDouble) * (myDouble - myClassBreakMin1)) * 3);
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //check if we are in the second class break
+          else if ((myDouble >= myClassBreakMin2) && (myDouble < myClassBreakMax2))
+          {
+            int myRedInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3);
+            int myBlueInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3));
+            int myGreenInt = 255;
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myGreenInt=myBlueInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //otherwise we must be in the third classbreak
+          else
+          {
+            int myRedInt = 255;
+            int myBlueInt = 0;
+            int myGreenInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin3) / 1) * 3)));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=myGreenInt;
+              myGreenInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+        }                   //end of invert histogram == false check
+        else                  //invert histogram toggle is off
+        {
+          //check if we are in the first class break
+          if ((myDouble >= myClassBreakMin1) && (myDouble < myClassBreakMax1))
+          {
+            int myRedInt = 255;
+            int myBlueInt = 0;
+            int myGreenInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin1) / 1) * 3));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //check if we are in the second class break
+          else if ((myDouble >= myClassBreakMin2) && (myDouble < myClassBreakMax2))
+          {
+            int myRedInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3));
+            int myBlueInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3);
+            int myGreenInt = 255;
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myGreenInt=myBlueInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //otherwise we must be in the third classbreak
+          else
+          {
+            int myRedInt = 0;
+            int myBlueInt = 255;
+            int myGreenInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * (myDouble - myClassBreakMin3)) * 3));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+
+        }                   //end of invert histogram check
+        myQPainter.drawPoint(myPosInt++, 0);
+      }
+
+    }                           //end of pseudocolor check
+    else if (drawingStyle == PALETTED_MULTI_BAND_COLOR || drawingStyle == MULTI_BAND_COLOR)
+    {
+      //
+      // Create the legend pixmap showing red green and blue band mappings
+      //
+      // TODO update this so it actually shows the mappings for paletted images
+      myLegendQPixmap = QPixmap(3, 1);
+      myQPainter.begin(&myLegendQPixmap);
+      //draw legend red part
+      myQPainter.setPen(QPen(QColor(224, 103, 103, QColor::Rgb), 0));
+      myQPainter.drawPoint(0, 0);
+      //draw legend green part
+      myQPainter.setPen(QPen(QColor(132, 224, 127, QColor::Rgb), 0));
+      myQPainter.drawPoint(1, 0);
+      //draw legend blue part
+      myQPainter.setPen(QPen(QColor(127, 160, 224, QColor::Rgb), 0));
+      myQPainter.drawPoint(2, 0);
+    }
+  }
+
+  myQPainter.end();
+
+
+  // see if the caller wants the name of the layer in the pixmap (used for legend bar)
+  if (theWithNameFlag)
+  {
+    QFont myQFont("arial", 10, QFont::Normal);
+    QFontMetrics myQFontMetrics(myQFont);
+
+    int myHeightInt = (myQFontMetrics.height() + 10 > 35) ? myQFontMetrics.height() + 10 : 35;
+
+    //create a matrix to
+    QMatrix myQWMatrix;
+    //scale the raster legend up a bit bigger to the legend item size
+    //note that scaling parameters are factors, not absolute values,
+    // so scale (0.25,1) scales the painter to a quarter of its size in the x direction
+    //TODO We need to decide how much to scale by later especially for rgb images which are only 3x1 pix
+    //hard coding thes values for now.
+    if (myLegendQPixmap.width() == 3)
+    {
+      //scale width by factor of 50 (=150px wide)
+      myQWMatrix.scale(60, myHeightInt);
+    }
+    else
+    {
+      //assume 100px so scale by factor of 1.5 (=150px wide)
+      myQWMatrix.scale(1.8, myHeightInt);
+    }
+    //apply the matrix
+    QPixmap myQPixmap2 = myLegendQPixmap.xForm(myQWMatrix);
+    QPainter myQPainter(&myQPixmap2);
+
+    //load  up the pyramid icons
+    QString myThemePath = QgsApplication::themePath();
+    QPixmap myPyramidPixmap(myThemePath + "/mIconPyramid.png");
+    QPixmap myNoPyramidPixmap(myThemePath + "/mIconNoPyramid.png");
+
+    //
+    // Overlay a pyramid icon
+    //
+    if (hasPyramidsFlag)
+    {
+      myQPainter.drawPixmap(0,myHeightInt-myPyramidPixmap.height(),myPyramidPixmap);
+    }
+    else
+    {
+      myQPainter.drawPixmap(0,myHeightInt-myNoPyramidPixmap.height(),myNoPyramidPixmap);
+    }
+    //
+    // Overlay the layername
+    //
+    if (drawingStyle == MULTI_BAND_SINGLE_BAND_GRAY || drawingStyle == PALETTED_SINGLE_BAND_GRAY || drawingStyle == SINGLE_BAND_GRAY)
+    {
+      myQPainter.setPen(Qt::white);
+    }
+    else
+    {
+      myQPainter.setPen(Qt::black);
+    }
+    myQPainter.setFont(myQFont);
+    myQPainter.drawText(25, myHeightInt - 10, this->name());
+    //
+    // finish up
+    //
+    myLegendQPixmap = myQPixmap2;
+    myQPainter.end();
+  }
+  //finish up
+
+  return myLegendQPixmap;
+
+}                               //end of getLegendQPixmap function
+
+
+QPixmap QgsRasterLayer::getDetailedLegendQPixmap(int theLabelCountInt=3)
+{
+  QgsDebugMsg("QgsRasterLayer::getDetailedLegendQPixmap called");
+  QFont myQFont("arial", 10, QFont::Normal);
+  QFontMetrics myQFontMetrics(myQFont);
+
+  int myFontHeight = (myQFontMetrics.height() );
+  const int myInterLabelSpacing = 5;
+  int myImageHeightInt = ((myFontHeight + (myInterLabelSpacing*2)) * theLabelCountInt);
+  //these next two vars are not used anywhere so commented out for now
+  //int myLongestLabelWidthInt =  myQFontMetrics.width(this->name());
+  //const int myHorizontalLabelSpacing = 5;
+  const int myColourBarWidthInt = 10;
+  //
+  // Get the adjusted matrix stats
+  //
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(1);
+  QString myColorInterpretation = GDALGetColorInterpretationName(myGdalBand->GetColorInterpretation());
+  QPixmap myLegendQPixmap;      //will be initialised once we know what drawing style is active
+  QPainter myQPainter;
+  //
+  // Create the legend pixmap - note it is generated on the preadjusted stats
+  //
+  if (drawingStyle == MULTI_BAND_SINGLE_BAND_GRAY || drawingStyle == PALETTED_SINGLE_BAND_GRAY || drawingStyle == SINGLE_BAND_GRAY)
+  {
+
+    myLegendQPixmap = QPixmap(1, myImageHeightInt);
+    const double myIncrementDouble = static_cast<double>(myImageHeightInt)/255.0;
+    myQPainter.begin(&myLegendQPixmap);
+    int myPosInt = 0;
+    for (double myDouble = 0; myDouble < 255; myDouble += myIncrementDouble)
+    {
+      if (!invertHistogramFlag) //histogram is not inverted
+      {
+        //draw legend as grayscale
+        int myGrayInt = static_cast < int >(myDouble);
+        myQPainter.setPen(QPen(QColor(myGrayInt, myGrayInt, myGrayInt, QColor::Rgb), 0));
+      } else                //histogram is inverted
+      {
+        //draw legend as inverted grayscale
+        int myGrayInt = 255 - static_cast < int >(myDouble);
+        myQPainter.setPen(QPen(QColor(myGrayInt, myGrayInt, myGrayInt, QColor::Rgb), 0));
+      }                   //end of invert histogram  check
+      myQPainter.drawPoint(0,myPosInt++);
+    }
+  }                           //end of gray check
+  else if (drawingStyle == MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR ||
+      drawingStyle == PALETTED_SINGLE_BAND_PSEUDO_COLOR || drawingStyle == SINGLE_BAND_PSEUDO_COLOR)
+  {
+
+    //set up the three class breaks for pseudocolour mapping
+    double myRangeSizeDouble = 90;  //hard coded for now
+    double myBreakSizeDouble = myRangeSizeDouble / 3;
+    double myClassBreakMin1 = 0;
+    double myClassBreakMax1 = myClassBreakMin1 + myBreakSizeDouble;
+    double myClassBreakMin2 = myClassBreakMax1;
+    double myClassBreakMax2 = myClassBreakMin2 + myBreakSizeDouble;
+    double myClassBreakMin3 = myClassBreakMax2;
+
+    //
+    // Create the legend pixmap - note it is generated on the preadjusted stats
+    //
+    myLegendQPixmap = QPixmap(1, myImageHeightInt);
+    const double myIncrementDouble = myImageHeightInt/myRangeSizeDouble;
+    myQPainter.begin(&myLegendQPixmap);
+    int myPosInt = 0;
+    for (double myDouble = 0; myDouble < 255; myDouble += myIncrementDouble)
+      for (double myDouble = 0; myDouble < myRangeSizeDouble; myDouble +=myIncrementDouble)
+      {
+        //draw pseudocolor legend
+        if (!invertHistogramFlag)
+        {
+          //check if we are in the first class break
+          if ((myDouble >= myClassBreakMin1) && (myDouble < myClassBreakMax1))
+          {
+            int myRedInt = 0;
+            int myBlueInt = 255;
+            int myGreenInt = static_cast < int >(((255 / myRangeSizeDouble) * (myDouble - myClassBreakMin1)) * 3);
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //check if we are in the second class break
+          else if ((myDouble >= myClassBreakMin2) && (myDouble < myClassBreakMax2))
+          {
+            int myRedInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3);
+            int myBlueInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3));
+            int myGreenInt = 255;
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myGreenInt=myBlueInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //otherwise we must be in the third classbreak
+          else
+          {
+            int myRedInt = 255;
+            int myBlueInt = 0;
+            int myGreenInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin3) / 1) * 3)));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=myGreenInt;
+              myGreenInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+        }                   //end of invert histogram == false check
+        else                  //invert histogram toggle is off
+        {
+          //check if we are in the first class break
+          if ((myDouble >= myClassBreakMin1) && (myDouble < myClassBreakMax1))
+          {
+            int myRedInt = 255;
+            int myBlueInt = 0;
+            int myGreenInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin1) / 1) * 3));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //check if we are in the second class break
+          else if ((myDouble >= myClassBreakMin2) && (myDouble < myClassBreakMax2))
+          {
+            int myRedInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3));
+            int myBlueInt = static_cast < int >(((255 / myRangeSizeDouble) * ((myDouble - myClassBreakMin2) / 1)) * 3);
+            int myGreenInt = 255;
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myGreenInt=myBlueInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+          //otherwise we must be in the third classbreak
+          else
+          {
+            int myRedInt = 0;
+            int myBlueInt = 255;
+            int myGreenInt = static_cast < int >(255 - (((255 / myRangeSizeDouble) * (myDouble - myClassBreakMin3)) * 3));
+            // testing this stuff still ...
+            if (colorRampingType==FREAK_OUT)
+            {
+              myRedInt=255-myGreenInt;
+            }
+            myQPainter.setPen(QPen(QColor(myRedInt, myGreenInt, myBlueInt, QColor::Rgb), 0));
+          }
+
+        }                   //end of invert histogram check
+        myQPainter.drawPoint(0,myPosInt++);
+      }
+
+  }                           //end of pseudocolor check
+  else if (drawingStyle == PALETTED_MULTI_BAND_COLOR || drawingStyle == MULTI_BAND_COLOR)
+  {
+    //
+    // Create the legend pixmap showing red green and blue band mappings
+    //
+    // TODO update this so it actually shows the mappings for paletted images
+    myLegendQPixmap = QPixmap(1, 3);
+    myQPainter.begin(&myLegendQPixmap);
+    //draw legend red part
+    myQPainter.setPen(QPen(QColor(224, 103, 103, QColor::Rgb), 0));
+    myQPainter.drawPoint(0, 0);
+    //draw legend green part
+    myQPainter.setPen(QPen(QColor(132, 224, 127, QColor::Rgb), 0));
+    myQPainter.drawPoint(0,1);
+    //draw legend blue part
+    myQPainter.setPen(QPen(QColor(127, 160, 224, QColor::Rgb), 0));
+    myQPainter.drawPoint(0,2);
+  }
+
+
+  myQPainter.end();
+
+
+
+  //create a matrix to
+  QMatrix myQWMatrix;
+  //scale the raster legend up a bit bigger to the legend item size
+  //note that scaling parameters are factors, not absolute values,
+  // so scale (0.25,1) scales the painter to a quarter of its size in the x direction
+  //TODO We need to decide how much to scale by later especially for rgb images which are only 3x1 pix
+  //hard coding thes values for now.
+  if (myLegendQPixmap.height() == 3)
+  {
+    myQWMatrix.scale(myColourBarWidthInt,2);
+  }
+  else
+  {
+    myQWMatrix.scale(myColourBarWidthInt,2);
+  }
+  //apply the matrix
+  QPixmap myQPixmap2 = myLegendQPixmap.xForm(myQWMatrix);
+  QPainter myQPainter2(&myQPixmap2);
+  //
+  // Overlay the layername
+  //
+  if (drawingStyle == MULTI_BAND_SINGLE_BAND_GRAY || drawingStyle == PALETTED_SINGLE_BAND_GRAY || drawingStyle == SINGLE_BAND_GRAY)
+  {
+    myQPainter2.setPen(Qt::white);
+  }
+  else
+  {
+    myQPainter2.setPen(Qt::black);
+  }
+  myQPainter2.setFont(myQFont);
+  myQPainter2.drawText(25, myImageHeightInt - 10, this->name());
+  //
+  // finish up
+  //
+  myLegendQPixmap = myQPixmap2;
+  myQPainter2.end();
+  //finish up
+
+  return myLegendQPixmap;
+
+}//end of getDetailedLegend
+
+// Useful for Provider mode
+
+QStringList QgsRasterLayer::subLayers() const
+{
+
+  if (dataProvider)
+  {
+    return dataProvider->subLayers();
+  }
+  else
+  {
+    return QStringList();   // Empty
+  }
+
+}
+
+
+// Useful for Provider mode
+
+void QgsRasterLayer::setLayerOrder(QStringList const & layers)
+{
+  QgsDebugMsg("QgsRasterLayer::setLayerOrder: Entered.");
+
+  if (dataProvider)
+  {
+    QgsDebugMsg("QgsRasterLayer::setLayerOrder: About to dataProvider->setLayerOrder(layers).");
+    dataProvider->setLayerOrder(layers);
+  }
+
+}
+
+// Useful for Provider mode
+
+void QgsRasterLayer::setSubLayerVisibility(QString const &  name, bool vis)
+{
+
+  if (dataProvider)
+  {
+    QgsDebugMsg("QgsRasterLayer::setSubLayerVisibility: About to dataProvider->setSubLayerVisibility(name, vis).");
+    dataProvider->setSubLayerVisibility(name, vis);
+  }
+
+}
+
+
+void QgsRasterLayer::updateProgress(int theProgress, int theMax)
+{
+  //simply propogate it on!
+  emit drawingProgress (theProgress,theMax);
+}
+
+
+
+// convenience function for building getMetadata() HTML table cells
+static
+  QString
+makeTableCell_( QString const & value )
+{
+  return "<td>" + value + "</td>";
+} // makeTableCell_
+
+
+
+// convenience function for building getMetadata() HTML table cells
+static
+  QString
+makeTableCells_( QStringList const & values )
+{
+  QString s( "<tr>" );
+
+  for ( QStringList::const_iterator i = values.begin();
+      i != values.end();
+      ++i )
+  {
+    s += makeTableCell_( *i );
+  }
+
+  s += "</tr>";
+
+  return s;
+} // makeTableCell_
+
+
+
+// convenience function for creating a string list from a C style string list
+static
+  QStringList
+cStringList2Q_( char ** stringList )
+{
+  QStringList strings;
+
+  // presume null terminated string list
+  for ( size_t i = 0; stringList[i]; ++i )
+  {
+    strings.append( stringList[i] );
+  }
+
+  return strings;
+
+} // cStringList2Q_
+
+
+
+
+QString QgsRasterLayer::getMetadata()
+{
+  QString myMetadataQString ;
+  myMetadataQString += "<table class=\"wide\">";
+  myMetadataQString += "<tr><td class=\"glossy\">";
+  myMetadataQString += tr("Driver:");
+  myMetadataQString += "</td></tr>";
+  myMetadataQString += "<tr><td>";
+  if (mProviderKey.isEmpty())
+  {
+    myMetadataQString += QString(gdalDataset->GetDriver()->GetDescription());
+    myMetadataQString += "<br>";
+    myMetadataQString += QString(gdalDataset->GetDriver()->GetMetadataItem(GDAL_DMD_LONGNAME));
+  }
+  else
+  {
+    myMetadataQString += dataProvider->description();
+  }
+  myMetadataQString += "</td></tr>";
+
+  if (!mProviderKey.isEmpty())
+  {
+    // Insert provider-specific (e.g. WMS-specific) metadata
+    myMetadataQString += dataProvider->getMetadata();
+  }
+  else
+  {
+
+    // my added code (MColetti)
+
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("Dataset Description");
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td>";
+    myMetadataQString += QFile::decodeName(gdalDataset->GetDescription());
+    myMetadataQString += "</td></tr>";
+
+
+    char ** GDALmetadata = gdalDataset->GetMetadata();
+
+    if ( GDALmetadata )
+    {
+      QStringList metadata = cStringList2Q_( GDALmetadata );
+      myMetadataQString += makeTableCells_( metadata ); 
+    }
+    else
+    {
+      QgsDebugMsg("dataset has no metadata");
+    }
+
+    for ( int i = 1; i <= gdalDataset->GetRasterCount(); ++i )
+    {
+      gdalDataset->GetRasterBand(i)->GetMetadata();
+
+      if ( GDALmetadata )
+      {
+        QStringList metadata = cStringList2Q_( GDALmetadata );
+        myMetadataQString += makeTableCells_( metadata ); 
+      }
+      else
+      {
+        QgsDebugMsg("band " + QString::number(i) + "has no metadata"); 
+      }
+
+      char ** GDALcategories = gdalDataset->GetRasterBand(i)->GetCategoryNames();
+
+      if ( GDALcategories )
+      {
+        QStringList categories = cStringList2Q_( GDALcategories );
+        myMetadataQString += makeTableCells_( categories ); 
+      }
+      else
+      {
+        QgsDebugMsg("band " + QString::number(i) + " has no categories");
+      }
+
+    }
+
+    // end my added code
+
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("Dimensions:");
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td>";
+    myMetadataQString += tr("X: ") + QString::number(gdalDataset->GetRasterXSize()) +
+      tr(" Y: ") + QString::number(gdalDataset->GetRasterYSize()) + tr(" Bands: ") + QString::number(gdalDataset->GetRasterCount());
+    myMetadataQString += "</td></tr>";
+
+    //just use the first band
+    GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(1);
+
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("No Data Value");
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td>";
+    myMetadataQString += QString::number(noDataValueDouble);
+    myMetadataQString += "</td></tr>";
+
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("Data Type:");
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td>";
+    switch (myGdalBand->GetRasterDataType())
+    {
+      case GDT_Byte:
+        myMetadataQString += tr("GDT_Byte - Eight bit unsigned integer");
+        break;
+      case GDT_UInt16:
+        myMetadataQString += tr("GDT_UInt16 - Sixteen bit unsigned integer ");
+        break;
+      case GDT_Int16:
+        myMetadataQString += tr("GDT_Int16 - Sixteen bit signed integer ");
+        break;
+      case GDT_UInt32:
+        myMetadataQString += tr("GDT_UInt32 - Thirty two bit unsigned integer ");
+        break;
+      case GDT_Int32:
+        myMetadataQString += tr("GDT_Int32 - Thirty two bit signed integer ");
+        break;
+      case GDT_Float32:
+        myMetadataQString += tr("GDT_Float32 - Thirty two bit floating point ");
+        break;
+      case GDT_Float64:
+        myMetadataQString += tr("GDT_Float64 - Sixty four bit floating point ");
+        break;
+      case GDT_CInt16:
+        myMetadataQString += tr("GDT_CInt16 - Complex Int16 ");
+        break;
+      case GDT_CInt32:
+        myMetadataQString += tr("GDT_CInt32 - Complex Int32 ");
+        break;
+      case GDT_CFloat32:
+        myMetadataQString += tr("GDT_CFloat32 - Complex Float32 ");
+        break;
+      case GDT_CFloat64:
+        myMetadataQString += tr("GDT_CFloat64 - Complex Float64 ");
+        break;
+      default:
+        myMetadataQString += tr("Could not determine raster data type.");
+    }
+    myMetadataQString += "</td></tr>";
+
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("Pyramid overviews:");
+    myMetadataQString += "</td></tr>";
+    myMetadataQString += "<tr><td>";
+
+    if( GDALGetOverviewCount(myGdalBand) > 0 )
+    {
+      int myOverviewInt;
+      for( myOverviewInt = 0;
+          myOverviewInt < GDALGetOverviewCount(myGdalBand);
+          myOverviewInt++ )
+      {
+        GDALRasterBandH myOverview;
+        myOverview = GDALGetOverview( myGdalBand, myOverviewInt );
+        myMetadataQString += "<p>X : " + QString::number(GDALGetRasterBandXSize( myOverview ));
+        myMetadataQString += ",Y " + QString::number(GDALGetRasterBandYSize( myOverview ) ) + "</p>";
+      }
+    }
+    myMetadataQString += "</td></tr>";
+  }  // if (mProviderKey.isEmpty())
+
+  myMetadataQString += "<tr><td class=\"glossy\">";
+  myMetadataQString += tr("Layer Spatial Reference System: ");
+  myMetadataQString += "</td></tr>";
+  myMetadataQString += "<tr><td>";
+  myMetadataQString += mSRS->proj4String();
+  myMetadataQString += "</td></tr>";
+
+  // output coordinate system
+  // TODO: this is not related to layer, to be removed? [MD]
+  /*  
+      myMetadataQString += "<tr><td class=\"glossy\">";
+      myMetadataQString += tr("Project Spatial Reference System: ");
+      myMetadataQString += "</td></tr>";
+      myMetadataQString += "<tr><td>";
+      myMetadataQString +=  mCoordinateTransform->destSRS().proj4String();
+      myMetadataQString += "</td></tr>";
+      */
+
+  if (mProviderKey.isEmpty())
+  {
+    if (gdalDataset->GetGeoTransform(adfGeoTransform) != CE_None)
+    {
+      // if the raster does not have a valid transform we need to use
+      // a pixel size of (1,-1), but GDAL returns (1,1)
+      adfGeoTransform[5] = -1;
+    }
+    else
+    {
+      myMetadataQString += "<tr><td class=\"glossy\">";
+      myMetadataQString += tr("Origin:");
+      myMetadataQString += "</td></tr>";
+      myMetadataQString += "<tr><td>";
+      myMetadataQString += QString::number(adfGeoTransform[0]);
+      myMetadataQString += ",";
+      myMetadataQString += QString::number(adfGeoTransform[3]);
+      myMetadataQString += "</td></tr>";
+
+      myMetadataQString += "<tr><td class=\"glossy\">";
+      myMetadataQString += tr("Pixel Size:");
+      myMetadataQString += "</td></tr>";
+      myMetadataQString += "<tr><td>";
+      myMetadataQString += QString::number(adfGeoTransform[1]);
+      myMetadataQString += ",";
+      myMetadataQString += QString::number(adfGeoTransform[5]);
+      myMetadataQString += "</td></tr>";
+    }
+
+    //
+    // Add the stats for each band to the output table
+    //
+    myMetadataQString += "<tr><td>";
+
+    // Start a nested table in this trow
+    myMetadataQString += "<table class=\"wide\">";
+    myMetadataQString += "<tr><td class=\"glossy\">";
+    myMetadataQString += tr("Property") ;
+    myMetadataQString += "</td>";
+    myMetadataQString += "<td class=\"glossy\">";
+    myMetadataQString += tr("Value");
+    myMetadataQString += "</th><tr>";
+
+    int myBandCountInt = getBandCount();
+    for (int myIteratorInt = 1; myIteratorInt <= myBandCountInt; ++myIteratorInt)
+    {
+      QgsDebugMsg("Raster properties : checking if band " + QString::number(myIteratorInt) + " has stats? ");
+      //band name
+      myMetadataQString += "<tr><td class=\"cellHeader\">";
+      myMetadataQString += tr("Band");
+      myMetadataQString += "</td>";
+      myMetadataQString += "<td class=\"cellHeader\">";
+      myMetadataQString += getRasterBandName(myIteratorInt);
+      myMetadataQString += "</td></tr>";
+      //band number
+      myMetadataQString += "<tr><td>";
+      myMetadataQString += tr("Band No");
+      myMetadataQString += "</td>";
+      myMetadataQString += "<td>";
+      myMetadataQString += QString::number(myIteratorInt);
+      myMetadataQString += "</td></tr>";
+
+      //check if full stats for this layer have already been collected
+      if (!hasStats(myIteratorInt))  //not collected
+      {
+        QgsDebugMsg(".....no");
+
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("No Stats");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += tr("No stats collected yet");
+        myMetadataQString += "</td></tr>";
+      }
+      else                    // collected - show full detail
+      {
+        QgsDebugMsg(".....yes");
+
+        QgsRasterBandStats myRasterBandStats = getRasterBandStats(myIteratorInt);
+        //Min Val
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Min Val");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.minValDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        // Max Val
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Max Val");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.maxValDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        // Range
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Range");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.rangeDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        // Mean
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Mean");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.meanDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        //sum of squares
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Sum of squares");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.sumSqrDevDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        //standard deviation
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Standard Deviation");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.stdDevDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        //sum of all cells
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Sum of all cells");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.sumDouble, 'f',10);
+        myMetadataQString += "</td></tr>";
+
+        //number of cells
+        myMetadataQString += "<tr><td>";
+        myMetadataQString += tr("Cell Count");
+        myMetadataQString += "</td>";
+        myMetadataQString += "<td>";
+        myMetadataQString += QString::number(myRasterBandStats.elementCountInt);
+        myMetadataQString += "</td></tr>";
+      }
+    }
+    myMetadataQString += "</table>"; //end of nested table
+    myMetadataQString += "</td></tr>"; //end of stats container table row
+  } // if (mProviderKey.isEmpty())
+
+  //
+  // Close the table
+  //
+
+  myMetadataQString += "</table>";
+  return myMetadataQString;
+}
+
+QString QgsRasterLayer::buildPyramids(RasterPyramidList const & theRasterPyramidList, 
+    QString const & theResamplingMethod)
+{
+  emit drawingProgress(0,0);
+  //first test if the file is writeable
+  QFileInfo myQFile(mDataSource);
+
+  if (!myQFile.isWritable())
+  {
+    return "ERROR_WRITE_ACCESS";
+  }
+
+  GDALAllRegister();
+  //close the gdal dataset and reopen it in read / write mode
+  delete gdalDataset;
+  gdalDataset = (GDALDataset *) GDALOpen(QFile::encodeName(mDataSource).constData(), GA_Update);
+
+  // if the dataset couldn't be opened in read / write mode, tell the user
+  if (!gdalDataset)
+  {
+    emit drawingProgress(0,0);
+    gdalDataset = (GDALDataset *) GDALOpen(QFile::encodeName(mDataSource).constData(), GA_ReadOnly);
+    return "ERROR_WRITE_FORMAT";
+  }
+
+  //
+  // Iterate through the Raster Layer Pyramid Vector, building any pyramid
+  // marked as exists in eaxh RasterPyramid struct.
+  //
+  CPLErr myError; //in case anything fails
+  int myCountInt=1;
+  int myTotalInt=theRasterPyramidList.count();
+  RasterPyramidList::const_iterator myRasterPyramidIterator;
+  for ( myRasterPyramidIterator = theRasterPyramidList.begin();
+      myRasterPyramidIterator != theRasterPyramidList.end();
+      ++myRasterPyramidIterator )
+  {
+#ifdef QGISDEBUG
+    QgsLogger::debug("Build pyramids:: Level", (*myRasterPyramidIterator).levelInt, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("x", (*myRasterPyramidIterator).xDimInt, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("y", (*myRasterPyramidIterator).yDimInt, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("exists :", (*myRasterPyramidIterator).existsFlag,  1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+    if ((*myRasterPyramidIterator).existsFlag)
+    {
+      QgsDebugMsg("Building.....");
+      emit drawingProgress(myCountInt,myTotalInt);
+      int myOverviewLevelsIntArray[1] = {(*myRasterPyramidIterator).levelInt };
+      /* From : http://remotesensing.org/gdal/classGDALDataset.html#a23
+       * pszResampling : one of "NEAREST", "AVERAGE" or "MODE" controlling the downsampling method applied.
+       * nOverviews : number of overviews to build.
+       * panOverviewList : the list of overview decimation factors to build.
+       * nBand : number of bands to build overviews for in panBandList. Build for all bands if this is 0.
+       * panBandList : list of band numbers.
+       * pfnProgress : a function to call to report progress, or NULL.
+       * pProgressData : application data to pass to the progress function.
+       */
+      //build the pyramid and show progress to console
+      try 
+      {
+
+        //build the pyramid and show progress to console
+        if(theResamplingMethod==tr("Average Magphase"))
+        {
+          myError = gdalDataset->BuildOverviews( "MODE", 1, myOverviewLevelsIntArray, 0, NULL,
+              GDALDummyProgress, NULL );
+        }
+        else if(theResamplingMethod==tr("Average"))
+
+        {
+          myError = gdalDataset->BuildOverviews( "AVERAGE", 1, myOverviewLevelsIntArray, 0, NULL,
+              GDALDummyProgress, NULL );
+        }
+        else // fall back to nearest neighbor
+        {
+          myError = gdalDataset->BuildOverviews( "NEAREST", 1, myOverviewLevelsIntArray, 0, NULL,
+              GDALDummyProgress, NULL );
+        }
+        if (myError == CE_Failure || CPLGetLastErrorNo()==CPLE_NotSupported  )
+        {
+          //something bad happenend
+          //QString myString = QString (CPLGetLastError());
+          delete gdalDataset;
+          gdalDataset = (GDALDataset *) GDALOpen(QFile::encodeName(mDataSource).constData(), GA_ReadOnly);
+          emit drawingProgress(0,0);
+          return "FAILED_NOT_SUPPORTED";
+        }
+        myCountInt++;
+        //make sure the raster knows it has pyramids
+        hasPyramidsFlag=true;
+      }
+      catch (CPLErr)
+      {
+        QgsLogger::warning("Pyramid overview building failed!");
+      }
+    }
+  }
+  QgsDebugMsg("Pyramid overviews built");
+  //close the gdal dataset and reopen it in read only mode
+  delete gdalDataset;
+  gdalDataset = (GDALDataset *) GDALOpen(QFile::encodeName(mDataSource).constData(), GA_ReadOnly);
+  emit drawingProgress(0,0);
+  return NULL; // returning null on success
+}
+
+QgsRasterLayer::RasterPyramidList  QgsRasterLayer::buildRasterPyramidList()
+{
+  //
+  // First we build up a list of potential pyramid layers
+  //
+  int myWidth=rasterXDimInt;
+  int myHeight=rasterYDimInt;
+  int myDivisorInt=2;
+  GDALRasterBandH myGDALBand = GDALGetRasterBand( gdalDataset, 1 ); //just use the first band
+
+  mPyramidList.clear();
+  QgsDebugMsg("Building initial pyramid list");
+  while((myWidth/myDivisorInt > 32) && ((myHeight/myDivisorInt)>32))
+  {
+
+    QgsRasterPyramid myRasterPyramid;
+    myRasterPyramid.levelInt=myDivisorInt;
+    myRasterPyramid.xDimInt = (int)(0.5 + (myWidth/(double)myDivisorInt));
+    myRasterPyramid.yDimInt = (int)(0.5 + (myHeight/(double)myDivisorInt));
+    myRasterPyramid.existsFlag=false;
+#ifdef QGISDEBUG
+    QgsLogger::debug("Pyramid", myRasterPyramid.levelInt, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("xDimInt", myRasterPyramid.xDimInt, 1, __FILE__, __FUNCTION__, __LINE__);
+    QgsLogger::debug("yDimInt", myRasterPyramid.yDimInt, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+
+
+
+
+    //
+    // Now we check if it actually exists in the raster layer
+    // and also adjust the dimensions if the dimensions calculated
+    // above are only a near match.
+    //
+    const int myNearMatchLimitInt=5;
+    if( GDALGetOverviewCount(myGDALBand) > 0 )
+    {
+      int myOverviewInt;
+      for( myOverviewInt = 0;
+          myOverviewInt < GDALGetOverviewCount(myGDALBand);
+          myOverviewInt++ )
+      {
+        GDALRasterBandH myOverview;
+        myOverview = GDALGetOverview( myGDALBand, myOverviewInt );
+        int myOverviewXDim = GDALGetRasterBandXSize( myOverview );
+        int myOverviewYDim = GDALGetRasterBandYSize( myOverview );
+        //
+        // here is where we check if its a near match:
+        // we will see if its within 5 cells either side of
+        //
+        QgsDebugMsg("Checking whether " + QString::number(myRasterPyramid.xDimInt) + " x " +\
+            QString::number(myRasterPyramid.yDimInt) + " matches "+\
+            QString::number(myOverviewXDim) + " x " + QString::number(myOverviewYDim));
+
+
+        if ((myOverviewXDim <= (myRasterPyramid.xDimInt+ myNearMatchLimitInt)) &&
+            (myOverviewXDim >= (myRasterPyramid.xDimInt- myNearMatchLimitInt)) &&
+            (myOverviewYDim <= (myRasterPyramid.yDimInt+ myNearMatchLimitInt)) &&
+            (myOverviewYDim >= (myRasterPyramid.yDimInt- myNearMatchLimitInt)))
+        {
+          //right we have a match so adjust the a / y before they get added to the list
+          myRasterPyramid.xDimInt=myOverviewXDim;
+          myRasterPyramid.yDimInt=myOverviewYDim;
+          myRasterPyramid.existsFlag=true;
+          QgsDebugMsg(".....YES!");
+        }
+        else
+        {
+          //no match
+          QgsDebugMsg(".....no.");
+        }
+      }
+    }
+    mPyramidList.append(myRasterPyramid);
+    //sqare the divisor each step
+    myDivisorInt=(myDivisorInt *2);
+  }
+
+  return mPyramidList;
+}
+
+
+bool QgsRasterLayer::isEditable() const
+{
+  return false;
+}
+
+
+
+
+void QgsRasterLayer::readColorTable ( GDALRasterBand *gdalBand, QgsColorTable *theColorTable )
+{
+  QgsDebugMsg("QgsRasterLayer::readColorTable()");
+
+  // First try to read color table from metadata
+  char **metadata = gdalBand->GetMetadata();
+  theColorTable->clear();
+  bool found = false;
+  while ( metadata && metadata[0] )
+  {
+    QStringList metadataTokens = QStringList::split("=", *metadata );
+
+    if (metadataTokens.count() < 2 ) continue;
+
+    if ( metadataTokens[0].contains("COLOR_TABLE_RULE_RGB_") )
+    {
+      double min, max;
+      int min_c1, min_c2, min_c3, max_c1, max_c2, max_c3;
+
+      if ( sscanf(metadataTokens[1].toLocal8Bit().data(), "%lf %lf %d %d %d %d %d %d",
+            &min, &max, &min_c1, &min_c2, &min_c3, &max_c1, &max_c2, &max_c3) != 8 )
+      {
+        continue;
+      }
+      theColorTable->add ( min, max,
+          (unsigned char)min_c1, (unsigned char)min_c2, (unsigned char)min_c3, 0,
+          (unsigned char)max_c1, (unsigned char)max_c2, (unsigned char)max_c3, 0 );
+      found = true;
+    }
+    ++metadata;
+  }
+  theColorTable->sort();
+
+  // If no color table was found, try to read it from GDALColorTable
+  if ( !found )
+  {
+    GDALColorTable *gdalColorTable = gdalBand->GetColorTable();
+
+    if ( gdalColorTable )
+    {
+      int count = gdalColorTable->GetColorEntryCount();
+
+      for ( int i = 0; i < count; i++ )
+      {
+        const GDALColorEntry *colorEntry = gdalColorTable->GetColorEntry ( i );
+
+        if ( !colorEntry ) continue;
+
+        theColorTable->add ( i, (unsigned char) colorEntry->c1, (unsigned char) colorEntry->c2,
+            (unsigned char) colorEntry->c3 );
+      }
+    }
+  }
+
+#ifdef QGISDEBUG
+  theColorTable->print();
+#endif
+}
+
+
+QgsColorTable *QgsRasterLayer::colorTable ( int theBandNoInt )
+{
+  return &(rasterStatsVector[theBandNoInt-1].colorTable);
+}
+
+
+void *QgsRasterLayer::readData ( GDALRasterBand *gdalBand, QgsRasterViewPort *viewPort )
+{
+  GDALDataType type = gdalBand->GetRasterDataType();
+  int size = GDALGetDataTypeSize ( type ) / 8;
+
+  QgsDebugMsg("QgsRasterLayer::readData: calling RasterIO with " +\
+      QString(", source NW corner: ") + QString::number(viewPort->rectXOffsetInt)+\
+      ", " + QString::number(viewPort->rectYOffsetInt)+\
+      ", source size: " + QString::number(viewPort->clippedWidthInt)+\
+      ", " + QString::number(viewPort->clippedHeightInt)+\
+      ", dest size: " + QString::number(viewPort->drawableAreaXDimInt)+\
+      ", " + QString::number(viewPort->drawableAreaYDimInt));
+
+  void *data = VSIMalloc ( size * viewPort->drawableAreaXDimInt * viewPort->drawableAreaYDimInt );
+  
+  /* Abort if out of memory */
+  if (data == NULL) 
+  {
+    QgsDebugMsg("Layer " + this->name() + " couldn't allocate enough memory. Ignoring");
+  }
+  else
+  {
+    CPLErr myErr = gdalBand->RasterIO ( GF_Read,
+                                        viewPort->rectXOffsetInt,
+                                        viewPort->rectYOffsetInt,
+                                        viewPort->clippedWidthInt,
+                                        viewPort->clippedHeightInt,
+                                        data,
+                                        viewPort->drawableAreaXDimInt,
+                                        viewPort->drawableAreaYDimInt,
+                                        type, 0, 0 );
+    if (myErr != CPLE_None)
+    {
+      QgsLogger::warning("RaterIO error: " + QString(CPLGetLastErrorMsg()));
+    }
+  }
+  return data;
+}
+
+
+double QgsRasterLayer::readValue ( void *data, GDALDataType type, int index )
+{
+  double val;
+
+  switch ( type )
+  {
+    case GDT_Byte:
+      return (double) ((GByte *)data)[index];
+      break;
+    case GDT_UInt16:
+      return (double) ((GUInt16 *)data)[index];
+      break;
+    case GDT_Int16:
+      return (double) ((GInt16 *)data)[index];
+      break;
+    case GDT_UInt32:
+      return (double) ((GUInt32 *)data)[index];
+      break;
+    case GDT_Int32:
+      return (double) ((GInt32 *)data)[index];
+      break;
+    case GDT_Float32:
+      return (double) ((float *)data)[index];
+      break;
+    case GDT_Float64:
+      val = ((double *)data)[index];
+      return (double) ((double *)data)[index];
+      break;
+    default:
+      QgsLogger::warning("GDAL data type is not supported");
+  }
+  return 0.0;
+}
+
+
+/**
+
+  Raster layer project file XML of form:
+
+  <maplayer type="raster" visible="1" showInOverviewFlag="1">
+  <layername>Wynoochee_dem</layername>
+  <datasource>/home/mcoletti/mnt/MCOLETTIF8F9/c/Toolkit_Course/Answers/Training_Data/wynoochee_dem.img</datasource>
+  <zorder>0</zorder>
+  <rasterproperties>
+  <showDebugOverlayFlag boolean="false"/>
+  <drawingStyle>SINGLE_BAND_GRAY</drawingStyle>
+  <invertHistogramFlag boolean="false"/>
+  <stdDevsToPlotDouble>0</stdDevsToPlotDouble>
+  <transparencyLevelInt>255</transparencyLevelInt>
+  <redBandNameQString>Not Set</redBandNameQString>
+  <greenBandNameQString>Not Set</greenBandNameQString>
+  <blueBandNameQString>Not Set</blueBandNameQString>
+  <grayBandNameQString>Undefined</grayBandNameQString>
+  </rasterproperties>
+  </maplayer>
+  */
+bool QgsRasterLayer::readXML_( QDomNode & layer_node )
+{
+  //! @NOTE Make sure to read the file first so stats etc are initialised properly!
+
+  //process provider key
+  QDomNode pkeyNode = layer_node.namedItem("provider");
+
+  if (pkeyNode.isNull())
+  {
+    mProviderKey = "";
+  }
+  else
+  {
+    QDomElement pkeyElt = pkeyNode.toElement();
+    mProviderKey = pkeyElt.text();
+  }
+
+  // Open the raster source based on provider and datasource
+
+  if (!mProviderKey.isEmpty())
+  {
+    // Go down the raster-data-provider paradigm
+
+    // Collect provider-specific information
+
+    QDomNode rpNode = layer_node.namedItem("rasterproperties");
+
+    // Collect sublayer names and styles
+    QStringList layers;
+    QStringList styles;
+    QDomElement layerElement = rpNode.firstChildElement("wmsSublayer");
+    while (!layerElement.isNull())
+    {
+      // TODO: sublayer visibility - post-0.8 release timeframe
+
+      // collect name for the sublayer
+      layers += layerElement.namedItem("name").toElement().text();
+
+      // collect style for the sublayer
+      styles += layerElement.namedItem("style").toElement().text();
+
+      layerElement = layerElement.nextSiblingElement("wmsSublayer");
+    }
+
+    // Collect format
+    QString format = rpNode.namedItem("wmsFormat").toElement().text();
+
+    // Collect CRS
+    QString crs = QString("EPSG:%1").arg(srs().epsg());
+
+    // Collect proxy information
+    QString proxyHost = rpNode.namedItem("wmsProxyHost").toElement().text();
+    int     proxyPort = rpNode.namedItem("wmsProxyPort").toElement().text().toInt();
+    QString proxyUser = rpNode.namedItem("wmsProxyUser").toElement().text();
+    QString proxyPass = rpNode.namedItem("wmsProxyPass").toElement().text();
+
+    setDataProvider( mProviderKey, layers, styles, format, crs,
+        proxyHost, proxyPort, proxyUser, proxyPass );
+  }
+  else
+  {
+    // Go down the monolithic-gdal-provider paradigm
+
+    if (!readFile(source()))   // Data source name set in
+      // QgsMapLayer::readXML()
+    {
+      QgsLogger::warning(QString(__FILE__) + ":" + QString(__LINE__) + 
+          " unable to read from raster file " + source());
+      return false;
+    }
+
+  }
+
+  QDomNode mnl = layer_node.namedItem("rasterproperties");
+
+  QDomNode snode = mnl.namedItem("showDebugOverlayFlag");
+  QDomElement myElement = snode.toElement();
+  QVariant myQVariant = (QVariant) myElement.attribute("boolean");
+  setShowDebugOverlayFlag(myQVariant.toBool());
+
+  snode = mnl.namedItem("drawingStyle");
+  myElement = snode.toElement();
+  setDrawingStyle(myElement.text());
+
+  snode = mnl.namedItem("invertHistogramFlag");
+  myElement = snode.toElement();
+  myQVariant = (QVariant) myElement.attribute("boolean");
+  setInvertHistogramFlag(myQVariant.toBool());
+
+  snode = mnl.namedItem("stdDevsToPlotDouble");
+  myElement = snode.toElement();
+  setStdDevsToPlot(myElement.text().toDouble());
+
+  snode = mnl.namedItem("redBandNameQString");
+  myElement = snode.toElement();
+  setRedBandName(myElement.text());
+
+  snode = mnl.namedItem("greenBandNameQString");
+  myElement = snode.toElement();
+  setGreenBandName(myElement.text());
+
+  snode = mnl.namedItem("blueBandNameQString");
+  myElement = snode.toElement();
+  setBlueBandName(myElement.text());
+
+  snode = mnl.namedItem("grayBandNameQString");
+  myElement = snode.toElement();
+  std::cout << __FILE__ << ":" << __LINE__<< " Setting gray band to : " << myElement.text().data() << std::endl;
+  setGrayBandName(myElement.text());
+
+  QgsDebugMsg("ReadXml: gray band name " + grayBandNameQString);
+  QgsDebugMsg("ReadXml: red band name " + redBandNameQString);
+  QgsDebugMsg("ReadXml: green band name  " + greenBandNameQString);
+  QgsDebugMsg("Drawing style " + getDrawingStyleAsQString());
+
+  return true;
+
+} // QgsRasterLayer::readXML_( QDomNode & layer_node )
+
+
+
+/* virtual */ bool QgsRasterLayer::writeXML_( QDomNode & layer_node,
+    QDomDocument & document )
+{
+  // first get the layer element so that we can append the type attribute
+
+  QDomElement mapLayerNode = layer_node.toElement();
+
+  if ( mapLayerNode.isNull() || ("maplayer" != mapLayerNode.nodeName()) )
+  {
+    QgsLogger::warning("QgsRasterLayer::writeXML() can't find <maplayer>");
+    return false;
+  }
+
+  mapLayerNode.setAttribute( "type", "raster" );
+
+  // add provider node
+
+  QDomElement provider  = document.createElement( "provider" );
+  QDomText providerText = document.createTextNode( mProviderKey );
+  provider.appendChild( providerText );
+  layer_node.appendChild( provider );
+
+  // <rasterproperties>
+  QDomElement rasterPropertiesElement = document.createElement( "rasterproperties" );
+  mapLayerNode.appendChild( rasterPropertiesElement );
+
+  if (!mProviderKey.isEmpty())
+  {
+    QStringList sl = subLayers();
+    QStringList sls = dataProvider->subLayerStyles();
+
+    QStringList::const_iterator layerStyle = sls.begin();
+
+    // <rasterproperties><wmsSublayer>
+    for ( QStringList::const_iterator layerName  = sl.begin();
+        layerName != sl.end();
+        ++layerName )
+    {
+
+#ifdef QGISDEBUG
+      std::cout << "<rasterproperties><wmsSublayer> " << layerName->toLocal8Bit().data() << std::endl;
+#endif
+
+      QDomElement sublayerElement = document.createElement("wmsSublayer");
+
+      // TODO: sublayer visibility - post-0.8 release timeframe
+
+      // <rasterproperties><wmsSublayer><name>
+      QDomElement sublayerNameElement = document.createElement("name");
+      QDomText sublayerNameText = document.createTextNode(*layerName);
+      sublayerNameElement.appendChild(sublayerNameText);
+      sublayerElement.appendChild(sublayerNameElement);
+
+      // <rasterproperties><wmsSublayer><style>
+      QDomElement sublayerStyleElement = document.createElement("style");
+      QDomText sublayerStyleText = document.createTextNode(*layerStyle);
+      sublayerStyleElement.appendChild(sublayerStyleText);
+      sublayerElement.appendChild(sublayerStyleElement);
+
+      rasterPropertiesElement.appendChild(sublayerElement);
+
+      // This assumes there are exactly the same number of "layerName"s as there are "layerStyle"s
+      ++layerStyle;
+    }
+
+    // <rasterproperties><wmsFormat>
+    QDomElement formatElement = document.createElement("wmsFormat");
+    QDomText formatText =
+      document.createTextNode(dataProvider->imageEncoding());
+    formatElement.appendChild(formatText);
+    rasterPropertiesElement.appendChild(formatElement);
+
+    // <rasterproperties><wmsProxyHost>
+    QDomElement proxyHostElement = document.createElement("wmsProxyHost");
+    QDomText proxyHostText =
+      document.createTextNode(dataProvider->proxyHost());
+    proxyHostElement.appendChild(proxyHostText);
+    rasterPropertiesElement.appendChild(proxyHostElement);
+
+    // <rasterproperties><wmsProxyPort>
+    QDomElement proxyPortElement = document.createElement("wmsProxyPort");
+    QDomText proxyPortText =
+      document.createTextNode( QString::number(dataProvider->proxyPort()) );
+    proxyPortElement.appendChild(proxyPortText);
+    rasterPropertiesElement.appendChild(proxyPortElement);
+
+    // <rasterproperties><wmsProxyUser>
+    QDomElement proxyUserElement = document.createElement("wmsProxyUser");
+    QDomText proxyUserText =
+      document.createTextNode(dataProvider->proxyUser());
+    proxyUserElement.appendChild(proxyUserText);
+    rasterPropertiesElement.appendChild(proxyUserElement);
+
+    // <rasterproperties><wmsProxyPass>
+    QDomElement proxyPassElement = document.createElement("wmsProxyPass");
+    QDomText proxyPassText =
+      document.createTextNode(dataProvider->proxyPass());
+    proxyPassElement.appendChild(proxyPassText);
+    rasterPropertiesElement.appendChild(proxyPassElement);
+  }
+
+  // <showDebugOverlayFlag>
+  QDomElement showDebugOverlayFlagElement = document.createElement( "showDebugOverlayFlag" );
+
+  if ( getShowDebugOverlayFlag() )
+  {
+    showDebugOverlayFlagElement.setAttribute( "boolean", "true" );
+  }
+  else
+  {
+    showDebugOverlayFlagElement.setAttribute( "boolean", "false" );
+  }
+
+  rasterPropertiesElement.appendChild( showDebugOverlayFlagElement );
+
+  // <drawingStyle>
+  QDomElement drawStyleElement = document.createElement( "drawingStyle" );
+  QDomText    drawStyleText    = document.createTextNode( getDrawingStyleAsQString() );
+
+  drawStyleElement.appendChild( drawStyleText );
+
+  rasterPropertiesElement.appendChild( drawStyleElement );
+
+
+  // <invertHistogramFlag>
+  QDomElement invertHistogramFlagElement = document.createElement( "invertHistogramFlag" );
+
+  if ( getInvertHistogramFlag() )
+  {
+    invertHistogramFlagElement.setAttribute( "boolean", "true" );
+  }
+  else
+  {
+    invertHistogramFlagElement.setAttribute( "boolean", "false" );
+  }
+
+  rasterPropertiesElement.appendChild( invertHistogramFlagElement );
+
+
+  // <stdDevsToPlotDouble>
+  QDomElement stdDevsToPlotDoubleElement = document.createElement( "stdDevsToPlotDouble" );
+  QDomText    stdDevsToPlotDoubleText    = document.createTextNode( QString::number(getStdDevsToPlot()) );
+
+  stdDevsToPlotDoubleElement.appendChild( stdDevsToPlotDoubleText );
+
+  rasterPropertiesElement.appendChild( stdDevsToPlotDoubleElement );
+
+
+
+
+  // <redBandNameQString>
+  QDomElement redBandNameQStringElement = document.createElement( "redBandNameQString" );
+  QDomText    redBandNameQStringText    = document.createTextNode( getRedBandName() );
+
+  redBandNameQStringElement.appendChild( redBandNameQStringText );
+
+  rasterPropertiesElement.appendChild( redBandNameQStringElement );
+
+
+  // <greenBandNameQString>
+  QDomElement greenBandNameQStringElement = document.createElement( "greenBandNameQString" );
+  QDomText    greenBandNameQStringText    = document.createTextNode( getGreenBandName() );
+
+  greenBandNameQStringElement.appendChild( greenBandNameQStringText );
+
+  rasterPropertiesElement.appendChild( greenBandNameQStringElement );
+
+
+  // <blueBandNameQString>
+  QDomElement blueBandNameQStringElement = document.createElement( "blueBandNameQString" );
+  QDomText    blueBandNameQStringText    = document.createTextNode( getBlueBandName() );
+
+  blueBandNameQStringElement.appendChild( blueBandNameQStringText );
+
+  rasterPropertiesElement.appendChild( blueBandNameQStringElement );
+
+
+  // <grayBandNameQString>
+  QDomElement grayBandNameQStringElement = document.createElement( "grayBandNameQString" );
+  QDomText    grayBandNameQStringText    = document.createTextNode( getGrayBandName() );
+
+  grayBandNameQStringElement.appendChild( grayBandNameQStringText );
+
+  rasterPropertiesElement.appendChild( grayBandNameQStringElement );
+
+
+  return true;
+} // bool QgsRasterLayer::writeXML_
+
+
+
+void QgsRasterLayer::identify(const QgsPoint& point, std::map<QString,QString>& results)
+{
+  double x = point.x();
+  double y = point.y();
+
+  QgsDebugMsg("QgsRasterLayer::identify: " + QString::number(x) + ", " + QString::number(y));
+
+  if ( x < mLayerExtent.xMin() || x > mLayerExtent.xMax() || y < mLayerExtent.yMin() || y > mLayerExtent.yMax() )
+  {
+    // Outside the raster
+    for ( int i = 1; i <= gdalDataset->GetRasterCount(); i++ )
+    {
+      results[tr("Band") + QString::number(i)] = tr("out of extent");
+    }
+  }
+  else
+  {
+    /* Calculate the row / column where the point falls */
+    double xres = (mLayerExtent.xMax() - mLayerExtent.xMin()) / rasterXDimInt;
+    double yres = (mLayerExtent.yMax() - mLayerExtent.yMin()) / rasterYDimInt;
+
+    // Offset, not the cell index -> flor
+    int col = (int) floor ( (x - mLayerExtent.xMin()) / xres );
+    int row = (int) floor ( (mLayerExtent.yMax() - y) / yres );
+
+    QgsDebugMsg( "row = " + QString::number(row) + " col = " + QString::number(col));
+
+    for ( int i = 1; i <= gdalDataset->GetRasterCount(); i++ )
+    {
+      GDALRasterBand *gdalBand = gdalDataset->GetRasterBand(i);
+      GDALDataType type = gdalBand->GetRasterDataType();
+      int size = GDALGetDataTypeSize ( type ) / 8;
+      void *data = CPLMalloc ( size );
+
+      CPLErr err = gdalBand->RasterIO ( GF_Read, col, row, 1, 1, data, 1, 1, type, 0, 0 );
+
+      if (err != CPLE_None)
+      {
+        QgsLogger::warning("RaterIO error: " + QString(CPLGetLastErrorMsg()));
+      }
+
+      double value = readValue ( data, type, 0 );
+#ifdef QGISDEBUG
+      QgsLogger::debug("value", value, 1, __FILE__, __FUNCTION__, __LINE__);
+#endif
+      QString v;
+
+      if ( noDataValueDouble == value || value != value )
+      {
+        v = tr("null (no data)");
+      }
+      else
+      {
+        v.setNum ( value );
+      }
+      results[tr("Band") + QString::number(i)] = v;
+
+      free (data);
+    }
+  }
+
+} // void QgsRasterLayer::identify
+
+
+QString QgsRasterLayer::identifyAsText(const QgsPoint& point)
+{
+  if (mProviderKey != "wms")
+  {
+    // Currently no meaning for anything other than OGC WMS layers
+    return QString();
+  }
+
+  return (dataProvider->identifyAsText(point));
+}
+
+void QgsRasterLayer::populateHistogram(int theBandNoInt, int theBinCountInt,bool theIgnoreOutOfRangeFlag,bool theHistogramEstimatedFlag)
+{
+
+  GDALRasterBand *myGdalBand = gdalDataset->GetRasterBand(theBandNoInt);
+  QgsRasterBandStats myRasterBandStats = getRasterBandStats(theBandNoInt);
+  //calculate the histogram for this band
+  //we assume that it only needs to be calculated if the lenght of the histogram
+  //vector is not equal to the number of bins
+  //i.e if the histogram has never previously been generated or the user has
+  //selected a new number of bins.
+  if (myRasterBandStats.histogramVector->size()!=theBinCountInt ||
+      theIgnoreOutOfRangeFlag != myRasterBandStats.histogramOutOfRangeFlag ||
+      theHistogramEstimatedFlag != myRasterBandStats.histogramEstimatedFlag)
+  {
+    myRasterBandStats.histogramVector->clear();
+    myRasterBandStats.histogramEstimatedFlag=theHistogramEstimatedFlag;
+    myRasterBandStats.histogramOutOfRangeFlag=theIgnoreOutOfRangeFlag;
+    int *myHistogramArray = new int[theBinCountInt];
+
+
+    /*
+     *  CPLErr GDALRasterBand::GetHistogram (       
+     *          double       dfMin,
+     *          double      dfMax,
+     *          int     nBuckets,
+     *          int *   panHistogram,
+     *          int     bIncludeOutOfRange,
+     *          int     bApproxOK,
+     *          GDALProgressFunc    pfnProgress,
+     *          void *      pProgressData
+     *          ) 
+     */
+    double myInterval = (myRasterBandStats.maxValDouble-myRasterBandStats.minValDouble)/theBinCountInt;
+    myGdalBand->GetHistogram( myRasterBandStats.minValDouble-0.1*myInterval, myRasterBandStats.maxValDouble+0.1*myInterval, theBinCountInt, myHistogramArray ,theIgnoreOutOfRangeFlag ,theHistogramEstimatedFlag , GDALDummyProgress, NULL );
+
+    for (int myBin = 0; myBin <theBinCountInt; myBin++)
+    {
+      myRasterBandStats.histogramVector->push_back( myHistogramArray[myBin]);
+      QgsDebugMsg("Added " + QString::number(myHistogramArray[myBin]) + " to histogram vector");
+    }
+
+  }
+  QgsDebugMsg(">>>>> Histogram vector now contains " + QString::number(myRasterBandStats.histogramVector->size()) +\
+      " elements");
+}
+
+
+/*
+ * 
+ * New functions that will convert this class to a data provider interface
+ * (B Morley)
+ *
+ */ 
+
+
+
+QgsRasterLayer::QgsRasterLayer(int dummy,
+    QString const & rasterLayerPath,
+    QString const & baseName,
+    QString const & providerKey,
+    QStringList const & layers,
+    QStringList const & styles,
+    QString const & format,
+    QString const & crs,
+    QString const & proxyHost,
+    int proxyPort,
+    QString const & proxyUser,
+    QString const & proxyPass )
+: QgsMapLayer(RASTER, baseName, rasterLayerPath),
+  rasterXDimInt( std::numeric_limits<int>::max() ),
+  rasterYDimInt( std::numeric_limits<int>::max() ),
+  showDebugOverlayFlag(false),
+  invertHistogramFlag(false),
+  stdDevsToPlotDouble(0),
+  mProviderKey(providerKey),
+  dataProvider(0),
+  mEditable(false),
+mModified(false)
+
+{
+  QgsDebugMsg("QgsRasterLayer::QgsRasterLayer(4 arguments): starting. with layer list of "+\
+      layers.join(", ") +  " and style list of "+ styles.join(", ") + " and format of " +\
+      format +  " and CRS of " + crs);
+
+  // Initialise the affine transform matrix
+  adfGeoTransform[0] =  0;
+  adfGeoTransform[1] =  1;
+  adfGeoTransform[2] =  0;
+  adfGeoTransform[3] =  0;
+  adfGeoTransform[4] =  0;
+  adfGeoTransform[5] = -1;
+
+  // if we're given a provider type, try to create and bind one to this layer
+  if ( ! providerKey.isEmpty() )
+  {
+    setDataProvider( providerKey, layers, styles, format, crs,
+        proxyHost, proxyPort, proxyUser, proxyPass );
+  }
+
+  // Default for the popup menu
+  // TODO: popMenu = 0;
+
+  // Get the update threshold from user settings. We
+  // do this only on construction to avoid the penality of
+  // fetching this each time the layer is drawn. If the user
+  // changes the threshold from the preferences dialog, it will
+  // have no effect on existing layers
+  // TODO: QSettings settings;
+  // updateThreshold = settings.readNumEntry("Map/updateThreshold", 1000);
+
+
+  // TODO: Connect signals from the dataprovider to the qgisapp
+
+  // Do a passthrough for the status bar text
+  connect(
+      dataProvider, SIGNAL(setStatus        (QString)),
+      this,           SLOT(showStatusMessage(QString))
+      );
+  QgsDebugMsg("QgsRasterLayer::QgsRasterLayer(4 arguments): exiting.");
+
+  emit setStatus("QgsRasterLayer created");
+} // QgsRasterLayer ctor
+
+
+// typedef for the QgsDataProvider class factory
+typedef QgsDataProvider * classFactoryFunction_t( const QString * );
+
+
+/** Copied from QgsVectorLayer::setDataProvider 
+ *  TODO: Make it work in the raster environment
+ */
+void QgsRasterLayer::setDataProvider( QString const & provider,
+    QStringList const & layers,
+    QStringList const & styles,
+    QString const & format,
+    QString const & crs,
+    QString const & proxyHost,
+    int proxyPort,
+    QString const & proxyUser,
+    QString const & proxyPass )
+{
+  // XXX should I check for and possibly delete any pre-existing providers?
+  // XXX How often will that scenario occur?
+
+  mProviderKey = provider;     // XXX is this necessary?  Usually already set
+  // XXX when execution gets here.
+
+  // load the plugin
+  QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
+  QString ogrlib = pReg->library(provider);
+
+  //QString ogrlib = libDir + "/libpostgresprovider.so";
+
+#ifdef TESTPROVIDERLIB
+  const char *cOgrLib = (const char *) ogrlib;
+  // test code to help debug provider loading problems
+  //  void *handle = dlopen(cOgrLib, RTLD_LAZY);
+  void *handle = dlopen(cOgrLib, RTLD_LAZY | RTLD_GLOBAL);
+  if (!handle)
+  {
+    QgsLogger::warning("Error in dlopen: ");
+  }
+  else
+  {
+    QgsDebugMsg("dlopen suceeded");
+    dlclose(handle);
+  }
+
+#endif
+
+  // load the data provider
+  myLib = new QLibrary((const char *) ogrlib);
+  QgsDebugMsg("QgsRasterLayer::setDataProvider: Library name is " + myLib->library());
+  bool loaded = myLib->load();
+
+  if (loaded)
+  {
+    QgsDebugMsg("QgsRasterLayer::setDataProvider: Loaded data provider library");
+    QgsDebugMsg("QgsRasterLayer::setDataProvider: Attempting to resolve the classFactory function");
+    classFactoryFunction_t * classFactory = (classFactoryFunction_t *) myLib->resolve("classFactory");
+
+    mValid = false;            // assume the layer is invalid until we
+    // determine otherwise
+    if (classFactory)
+    {
+      QgsDebugMsg("QgsRasterLayer::setDataProvider: Getting pointer to a dataProvider object from the library");
+      //XXX - This was a dynamic cast but that kills the Windows
+      //      version big-time with an abnormal termination error
+      //      dataProvider = (QgsRasterDataProvider*)(classFactory((const
+      //                                              char*)(dataSource.utf8())));
+
+      // Copied from qgsproviderregistry in preference to the above.
+      dataProvider = (QgsRasterDataProvider*)(*classFactory)(&mDataSource);
+
+      if (dataProvider)
+      {
+        QgsDebugMsg("QgsRasterLayer::setDataProvider: Instantiated the data provider plugin" +\
+            QString(" with layer list of ") + layers.join(", ") + " and style list of " + styles.join(", ")+\
+            " and format of " + format +  " and CRS of " + crs);
+        if (dataProvider->isValid())
+        {
+          mValid = true;
+
+          dataProvider->addLayers(layers, styles);
+          dataProvider->setImageEncoding(format);
+          dataProvider->setImageCrs(crs);
+          dataProvider->setProxy(proxyHost, proxyPort, proxyUser, proxyPass);
+
+          // get the extent
+          QgsRect mbr = dataProvider->extent();
+
+          // show the extent
+          QString s = mbr.stringRep();
+          QgsDebugMsg("QgsRasterLayer::setDataProvider: Extent of layer: " + s);
+          // store the extent
+          mLayerExtent.setXmax(mbr.xMax());
+          mLayerExtent.setXmin(mbr.xMin());
+          mLayerExtent.setYmax(mbr.yMax());
+          mLayerExtent.setYmin(mbr.yMin());
+
+          // upper case the first letter of the layer name
+          QgsDebugMsg("QgsRasterLayer::setDataProvider: mLayerName: " + name());
+
+          // set up the raster drawing style
+          drawingStyle = MULTI_BAND_COLOR;  //sensible default
+
+          // Setup source SRS
+          *mSRS = QgsSpatialRefSys();
+          mSRS->createFromOgcWmsCrs(crs);
+        }
+      }
+      else
+      {
+        QgsLogger::warning("QgsRasterLayer::setDataProvider: Unable to instantiate the data provider plugin");
+        mValid = false;
+      }
+    }
+  }
+  else
+  {
+    mValid = false;
+    QgsLogger::warning("QgsRasterLayer::setDataProvider: Failed to load ../providers/libproviders.so");
+
+  }
+  QgsDebugMsg("QgsRasterLayer::setDataProvider: exiting.");
+
+} // QgsRasterLayer::setDataProvider
+
+
+bool QgsRasterLayer::setProxy(QString const & host,
+    int port,
+    QString const & user,
+    QString const & pass)
+{
+  if (!dataProvider)
+  {
+    return FALSE;
+  }
+  else
+  {
+#ifdef QGISDEBUG
+    std::cout << "  QgsRasterLayer::setProxy: host = " << host.toLocal8Bit().data() << "." << std::endl;
+    std::cout << "  QgsRasterLayer::setProxy: port = " << port << "." << std::endl;
+    std::cout << "  QgsRasterLayer::setProxy: user = " << user.toLocal8Bit().data() << "." << std::endl;
+    std::cout << "  QgsRasterLayer::setProxy: pass = " << pass.toLocal8Bit().data() << "." << std::endl;
+#endif
+    return dataProvider->setProxy(host, port, user, pass);
+  }
+}
+
+
+
+bool QgsRasterLayer::usesProvider()
+{
+  if (mProviderKey.isEmpty())
+  {
+    return FALSE;
+  }
+  else
+  {
+    return TRUE;
+  }
+}
+
+
+QString QgsRasterLayer::providerKey()
+{
+  if (mProviderKey.isEmpty())
+  {
+    return QString();
+  }
+  else
+  {
+    return mProviderKey;
+  }
+}
+
+
+void QgsRasterLayer::showStatusMessage(QString const & theMessage)
+{
+#ifdef QGISDEBUG
+  //  std::cout << "QgsRasterLayer::showStatusMessage: entered with '" << theMessage << "'." << std::endl;
+#endif
+  // Pass-through
+  // TODO: See if we can connect signal-to-signal.  This is a kludge according to the Qt doc.
+  emit setStatus(theMessage);
+}
+
+
+QString QgsRasterLayer::errorCaptionString()
+{
+  return mErrorCaption;
+}
+
+
+QString QgsRasterLayer::errorString()
+{
+  return mError;
+}
+
+
+QgsRasterDataProvider* QgsRasterLayer::getDataProvider()
+{
+  return dataProvider;
+}
+
+const QgsRasterDataProvider* QgsRasterLayer::getDataProvider() const
+{
+  return dataProvider;
+}
+
+const unsigned int QgsRasterLayer::getBandCount()
+{
+  return rasterStatsVector.size();
+};
+
+double QgsRasterLayer::rasterUnitsPerPixel()
+{
+ 
+  // We return one raster pixel per map unit pixel
+  // One raster pixel can have several raster units...
+
+  // We can only use one of the adfGeoTransform[], so go with the
+   // horisontal one.
+  
+  return fabs(adfGeoTransform[1]);
+}
+ 
+
+// ENDS

Added: packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgsrasterlayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1117 @@
+/***************************************************************************
+                        qgsrasterlayer.h  -  description
+                              -------------------
+	begin                : Fri Jun 28 2002
+	copyright            : (C) 2004 by T.Sutton, Gary E.Sherman, Steve Halasz
+	email                : tim at linfiniti.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrasterlayer.h 7169 2007-08-29 05:39:44Z timlinux $ */
+
+/** \file qgsrasterlayer.h
+ *  \brief This class provides qgis with the ability to render raster datasets
+ *  onto the mapcanvas
+ *
+ *  The qgsrasterlayer class makes use of gdal for data io, and thus supports
+ *  any gdal supported format. The constructor attemtps to infer what type of
+ *  file (RASTER_LAYER_TYPE) is being opened - not in terms of the file format (tif, ascii grid etc.)
+ *  but rather in terms of whether the image is a GRAYSCALE, PALETTED or MULTIBAND,
+ *
+ *  Within the three allowable raster layer types, there are 8 permutations of 
+ *  how a layer can actually be rendered. These are defined in the DRAWING_STYLE enum
+ *  and consist of:
+ *
+ *  SINGLE_BAND_GRAY -> a GRAYSCALE layer drawn as a range of gray colors (0-255)
+ *  SINGLE_BAND_PSEUDO_COLOR -> a GRAYSCALE layer drawn using a pseudocolor algorithm
+ *  PALETTED_SINGLE_BAND_GRAY -> a PALLETED layer drawn in gray scale (using only one of the color components)
+ *  PALETTED_SINGLE_BAND_PSEUDO_COLOR -> a PALLETED layer having only one of its color components rendered as psuedo color
+ *  PALETTED_MULTI_BAND_COLOR -> a PALLETED image where the bands contains 24bit color info and 8 bits is pulled out per color
+ *  MULTI_BAND_SINGLE_BAND_GRAY -> a layer containing 2 or more bands, but using only one band to produce a grayscale image
+ *  MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR -> a layer containing 2 or more bands, but using only one band to produce a pseudocolor image
+ *  MULTI_BAND_COLOR -> a layer containing 2 or more bands, mapped to the three RGBcolors. In the case of a multiband with only two bands, one band will have to be mapped to more than one color
+ *
+ *  Each of the above mentioned drawing styles is implemented in its own draw* function.
+ *  Some of the drawing styles listed above require statistics about the layer such 
+ *  as the min / max / mean / stddev etc. Statics for a band can be gathered using the 
+ *  getRasterBandStats function. Note that statistics gathering is a slow process and 
+ *  evey effort should be made to call this function as few times as possible. For this
+ *  reason, qgsraster has a vector class member to store stats for each band. The 
+ *  constructor initialises this vector on startup, but only populates the band name and
+ *  number fields.
+ *  
+ *  Note that where bands are of gdal 'undefined' type, their values may exceed the 
+ *  renderable range of 0-255. Because of this a linear scaling histogram stretch is
+ *  applied to undefined layers to normalise the data into the 0-255 range.
+ *
+ *  A qgsrasterlayer band can be referred to either by name or by number (base=1). It
+ *  should be noted that band names as stored in datafiles may not be uniqe, and 
+ *  so the rasterlayer class appends the band number in brackets behind each band name.
+ *  
+ *  Sample useage of the QgsRasterLayer class:
+ *
+ *     QString myFileNameQString = "/path/to/file";
+ *     QFileInfo myFileInfo(myFileNameQString);
+ *     QString myBaseNameQString = myFileInfo.baseName();
+ *     QgsRasterLayer *myRasterLayer = new QgsRasterLayer(myFileNameQString, myBaseNameQString);
+ *
+ *  In order to automate redrawing of a raster layer, you should like it to a map canvas like this :
+ *  
+ *     QObject::connect( myRasterLayer, SIGNAL(repaintRequested()), mapCanvas, SLOT(refresh()) );
+ *
+ *  A raster layer can also export its legend as a pixmap:
+ *
+ *     QPixmap myQPixmap = myRasterLayer->legendPixmap();
+ *
+ * Once a layer has been created you can find out what type of layer it is (GRAY_OR_UNDEFINED, PALETTE or MULTIBAND):
+ *
+ *    if (rasterLayer->getRasterLayerType()==QgsRasterLayer::MULTIBAND)
+ *    {
+ *      //do something
+ *    }
+ *    else if (rasterLayer->getRasterLayerType()==QgsRasterLayer::PALETTE)
+ *    {
+ *      //do something
+ *    }
+ *    else // QgsRasterLayer::GRAY_OR_UNDEFINED
+ *    {
+ *      //do something.
+ *    }
+ *
+ * You can combine layer type detection with the setDrawingStyle method to override the default drawing style assigned
+ * when a layer is loaded.:
+ *
+ *    if (rasterLayer->getRasterLayerType()==QgsRasterLayer::MULTIBAND)
+ *    {
+ *       myRasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR);
+ *    }
+ *    else if (rasterLayer->getRasterLayerType()==QgsRasterLayer::PALETTE)
+ *    {
+ *      myRasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR);
+ *    }
+ *    else // QgsRasterLayer::GRAY_OR_UNDEFINED
+ *    {
+ *      myRasterLayer->setDrawingStyle(QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR);
+ *    }
+ * 
+ *  Raster layers can also have an aribitary level of transparency defined, and have their
+ *  colour palettes inverted using the setTransparency and setInvertHistogramFlag methods. 
+ * 
+ *  Pseudocolour images can have their output adjusted to a given number of standard
+ *  deviations using the setStdDevsToPlot method.
+ * 
+ *  The final area of functionality you may be interested in is band mapping. Band mapping
+ *  allows you to choose arbitary band -> colour mappings and is applicable only to PALETTE
+ *  and MULTIBAND rasters, There are four mappings that can be made : red, green, blue and gray.
+ *  Mappings are non exclusive. That is a given band can be assigned to no, some or all 
+ *  colour mappings. The constructor sets sensible defaults for band mappings but these can be
+ *  overridden at run time using the setRedBandName,setGreenBandName,setBlueBandName and setGrayBandName 
+ *  methods.
+ */
+ 
+/*
+ * 
+ * PROGRAMMERS NOTES:
+ * 
+ * 
+ Please observe the following variable naming guidelines when editing this class:
+----------------
+In my opinion, clarity of code is more important than brevity, so variables should be given clear, 
+unambiguous names. Variables names should be written in mixed case, with a lowercase first letter. 
+Each variable name should include a scope resolution indicator and a type indicator, in the form:
+
+[scope]+[name]+[type]
+
+Where scope resolution indicators are:
+
+- global vars and class members : [none]
+- variables passed as parameters to a function/method: the
+- variables declared locally in a method or function: my
+
+For example:
+
+class FooClass {
+  int fooInt;  //class var has no prefix
+
+  public void FooClass::fooMethod (int theBarInt)  //function parameter prefixed by 'the'
+  {
+    fooInt=1;
+    int myLocalInt=0; //function members prefixed by 'my'
+    myLocalInt=fooInt+theBarInt;
+  }
+}
+
+Using this scope resolution naming scheme makes the origin of each variable unambiguous and the 
+code easy to read (especially by people who did not write it!).
+
+The [name] part of the variable should be short and descriptive, usually a noun.
+
+The [type] part of the variable should be the type class of the variable written out in full.
+
+*/ 
+ 
+ 
+#ifndef QGSRASTERLAYER_H
+#define QGSRASTERLAYER_H
+
+//
+// Includes
+// 
+ 
+#include <QDateTime>
+#include <QVector>
+#include <QList>
+
+
+#include "qgspoint.h"
+#include "qgsmaplayer.h"
+
+/*
+ * 
+ * New includes that will convert this class to a data provider interface
+ * (B Morley)
+ *
+ */ 
+ 
+#include "qgsrasterdataprovider.h"
+
+/*
+ * END
+ */
+
+#include <gdal_priv.h>
+
+//
+// Forward declarations
+//
+class QgsColorTable;
+class QgsRect;
+class QgsRasterBandStats;
+class QgsRasterPyramid;
+class QgsRasterLayerProperties;
+class QgsRasterViewPort;
+class QImage;
+class QPixmap;
+
+class GDALDataset;
+class GDALRasterBand;
+class QSlider;
+class QLibrary;
+
+
+  
+  
+/*! \class QgsRasterLayer
+ *  \brief This class provides qgis with the ability to render raster datasets
+ *  onto the mapcanvas..
+ */
+
+class CORE_EXPORT QgsRasterLayer : public QgsMapLayer
+{
+    Q_OBJECT
+public:
+    //
+    // Static methods:
+    //
+        
+    static void buildSupportedRasterFileFilter(QString & fileFilters);
+    static bool isSupportedRasterDriver(QString const &driverName);
+
+    /** This helper checks to see whether the filename appears to be a valid
+       raster file name */
+    static bool isValidRasterFileName(QString const & theFileNameQString);
+
+    //
+    // Non Static methods:
+    //
+        
+    /** \brief This is the constructor for the RasterLayer class.
+     *
+     * The main tasks carried out by the constructor are:
+     *
+     * -Populate the RasterStatsVector with initial values for each band.
+     *
+     * -Calculate the layer extents
+     *
+     * -Determine whether the layer is gray, paletted or multiband.
+     *
+     * -Assign sensible defaults for the red,green, blue and gray bands.
+     *
+     * -
+     * */
+    QgsRasterLayer(QString const & path = QString::null, 
+                   QString const &  baseName = QString::null);
+
+    /** \brief The destuctor.  */
+    ~QgsRasterLayer();
+
+    /** \brief  A vector containing one RasterBandStats struct per raster band in this raster layer.
+     * Note that while very RasterBandStats element will have the name and number of its associated
+     * band populated, any additional stats are calculated on a need to know basis.*/
+    typedef QVector<QgsRasterBandStats> RasterStatsVector;
+
+
+    /** \brief  A list containing one RasterPyramid struct per 
+     * POTENTIAL pyramid layer. How this works is we divide the height
+     * and width of the raster by an incrementing number. As soon as the result
+     * of the division is <=256 we stop allowing RasterPyramid stracuts
+     * to be added to the list. Each time a RasterPyramid is created
+     * we will check to see if a pyramid matching these dimensions already exists
+     * in the raster layer, and if so mark the exists flag as true. */
+      
+    typedef QList<QgsRasterPyramid> RasterPyramidList;
+
+    /** \brief This typedef is used when the showProgress function is passed to gdal as a function
+    pointer. */
+    //  typedef  int (QgsRasterLayer::*showTextProgress)( double theProgressDouble,
+    //                                      const char *theMessageCharArray,
+    //                                      void *theData);
+
+    /** \brief Identify raster value(s) found on the point position 
+     *
+     * \param point[in]  a coordinate in the CRS of this layer.
+     */
+    void identify(const QgsPoint& point, std::map<QString,QString>& results);
+
+    /** \brief Identify arbitrary details from the WMS server found on the point position
+     *
+     * \param point[in]  an image pixel coordinate in the last requested extent of layer.
+     *
+     * \return  A text document containing the return from the WMS server
+     *
+     * \note  The arbitraryness of the returned document is enforced by WMS standards
+     *        up to at least v1.3.0
+     */
+    QString identifyAsText(const QgsPoint& point);
+
+    /** \brief Query gdal to find out the WKT projection string for this layer. This implements the virtual method of the same name defined in QgsMapLayer*/
+    QString getProjectionWKT();
+
+    /** \brief Returns the number of raster units per each raster pixel. For rasters with world file, this is
+     normally the first row (without the sign) in that file */
+    double rasterUnitsPerPixel();
+
+    /** \brief Draws a thumbnail of the rasterlayer into the supplied pixmap pointer */
+     void drawThumbnail(QPixmap * theQPixmap);
+
+    /** \brief Get an 8x8 pixmap of the colour palette. If the layer has no palette a white pixmap will be returned. */
+     QPixmap getPaletteAsPixmap();
+     
+    /** \brief This is called when the view on the rasterlayer needs to be refreshed (redrawn).   
+         
+        \param drawingToEditingCanvas  Are we drawing to an editable canvas? 
+                                       currently not used, but retain to be similar to 
+                                       the QgsVectorLayer interface 
+     */
+    bool draw(QPainter * theQPainter,
+              QgsRect & theViewExtent, 
+              QgsMapToPixel * theQgsMapToPixel,
+              QgsCoordinateTransform* ct,
+              bool drawingToEditingCanvas);
+
+    /** \brief This is an overloaded version of the above function that is called by both draw above and drawThumbnail */
+    void draw(QPainter * theQPainter, QgsRasterViewPort * myRasterViewPort,
+              QgsMapToPixel * theQgsMapToPixel = 0);
+    
+    //
+    // Accessors for image height and width
+    //
+    /** \brief Accessor that returns the width of the (unclipped) raster  */
+    const int getRasterXDim() {return rasterXDimInt;};
+
+    /** \brief Accessor that returns the height of the (unclipped) raster  */
+    const int getRasterYDim() {return rasterYDimInt;};
+
+    //
+    // Accessor and mutator for no data double
+    //
+    /** \brief  Accessor that returns the NO_DATA entry for this raster. */
+    const double getNoDataValue() {return noDataValueDouble;}
+
+    /** \brief  Mutator that allows the  NO_DATA entry for this raster to be overridden. */
+    void setNoDataValue(double theNoDataDouble) { noDataValueDouble=theNoDataDouble; return;};
+
+    //
+    // Accessor and mutator for invertHistogramFlag
+    //
+    /** \brief Accessor to find out whether the histogram should be inverted.   */
+    bool getInvertHistogramFlag()
+    {
+        return invertHistogramFlag;
+    }
+    /** \brief Mutator to alter the state of the invert histogram flag.  */
+    void setInvertHistogramFlag(bool theFlag)
+    {
+        invertHistogramFlag=theFlag;
+    }
+    //
+    // Accessor and mutator for stdDevsToPlotDouble
+    //
+    /** \brief Accessor to find out how many standard deviations are being plotted.  */
+    double getStdDevsToPlot()
+    {
+        return stdDevsToPlotDouble;
+    };
+    /** \brief Mutator to alter the number of standard deviations that should be plotted.  */
+    void setStdDevsToPlot(double theDouble)
+    {
+        stdDevsToPlotDouble = theDouble;
+    };
+    /** \brief Get the number of bands in this layer  */
+    const unsigned int getBandCount();
+    /** \brief Get RasterBandStats for a band given its number (read only)  */
+    const  QgsRasterBandStats getRasterBandStats(int);
+    /** \brief  Check whether a given band number has stats associated with it */
+    const bool hasStats(int theBandNoInt);
+    /** \brief Overloaded method that also returns stats for a band, but uses the band colour name
+    *    Note this approach is not recommeneded because it is possible for two gdal raster
+    *    bands to have the same name!
+    */
+    const  QgsRasterBandStats getRasterBandStats(QString const &);
+    /** \brief Get the number of a band given its name. Note this will be the rewritten name set 
+    *   up in the constructor, and will not necessarily be the same as the name retrieved directly from gdal!
+    *   If no matching band is found zero will be returned! */
+    const  int getRasterBandNumber (QString const & theBandNameQString);
+    /** \brief Get the name of a band given its number.  */
+    const  QString getRasterBandName(int theBandNoInt);
+    /** \brief Find out whether a given band exists.    */
+    bool hasBand(QString const &  theBandName);
+    /** \brief Call any inline image manipulation filters */
+    void filterLayer(QImage * theQImage);
+    /** \brief Accessor for red band name (allows alternate mappings e.g. map blue as red colour). */
+    QString getRedBandName()
+    {
+        return redBandNameQString;
+    };
+    /** \brief Mutator for red band name (allows alternate mappings e.g. map blue as red colour). */
+    void setRedBandName(QString const & theBandNameQString);
+    // 
+    // Accessor and mutator for green band name
+    // 
+    /** \brief Accessor for green band name mapping.  */
+    QString getGreenBandName()
+    {
+        return greenBandNameQString;
+    };
+    /** \brief Mutator for green band name mapping.  */
+    void setGreenBandName(QString const & theBandNameQString);
+    //
+    // Accessor and mutator for blue band name
+    // 
+    /** \brief  Accessor for blue band name mapping. */
+    QString getBlueBandName()
+    {
+        return blueBandNameQString;
+    };
+    /** \brief Mutator for blue band name mapping.  */
+    void setBlueBandName(QString const & theBandNameQString);
+    //
+    // Accessor and mutator for transparent band name
+    // 
+    /** \brief  Accessor for transparent band name mapping. */
+    QString getTransparentBandName()
+    {
+        return transparentBandNameQString;
+    };
+    /** \brief Mutator for transparent band name mapping.  */
+    void setTransparentBandName(QString const & theBandNameQString);
+    //
+    // Accessor and mutator for gray band name
+    //
+    /** \brief Accessor for gray band name mapping.  */
+    QString getGrayBandName()
+    {
+        return grayBandNameQString;
+    };
+    /** \brief Mutator for gray band name mapping.  */
+    void setGrayBandName(QString const & theBandNameQString);
+    // 
+    // Accessor and mutator for showDebugOverlayFlag
+    // 
+    /** \brief Accessor for a flag that determines whether to show some debug info on the image.  */
+    bool getShowDebugOverlayFlag()
+    {
+        return showDebugOverlayFlag;
+    };
+    /** \brief Mutator for a flag that determines whether to show some debug info on the image.  */
+    void setShowDebugOverlayFlag(bool theFlag)
+    {
+        showDebugOverlayFlag=theFlag;
+    };
+    // 
+    // Accessor and mutator for min and max red
+    // 
+    /** \brief Accessor for minimum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinRedDouble()
+    {
+        return minRedDouble;
+    };
+    /** \brief Mutator for minimum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinRedDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        minRedDouble=theDouble;
+    };
+    /** \brief Accessor for maximum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxRedDouble()
+    {
+        return maxRedDouble;
+    };
+    /** \brief Mutator for maximum clipping range for red.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxRedDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        maxRedDouble=theDouble;
+    };
+    // 
+    // Accessor and mutator for min and max green
+    // 
+    /** \brief Accessor for minimum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinGreenDouble()
+    {
+        return minGreenDouble;
+    };
+    /** \brief Mutator for minimum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinGreenDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        minGreenDouble=theDouble;
+    };
+    /** \brief Accessor for maximum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxGreenDouble()
+    {
+        return maxGreenDouble;
+    };
+    /** \brief Mutator for maximum clipping range for green.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxGreenDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        maxGreenDouble=theDouble;
+    };
+    // 
+    // Accessor and mutator for min and max blue
+    // 
+    /** \brief Accessor for minimum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    /** \brief   */
+    double getMinBlueDouble()
+    {
+        return minBlueDouble;
+    };
+    /** \brief Mutator for minimum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinBlueDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        minBlueDouble=theDouble;
+    };
+    /** \brief Accessor for maximum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxBlueDouble()
+    {
+        return maxBlueDouble;
+    };
+    /** \brief Mutator for maximum clipping range for blue.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxBlueDouble(double theDouble)
+    {
+        userDefinedColorMinMax = true;
+        maxBlueDouble=theDouble;
+    };
+    // 
+    // Accessor and mutator for min and max gray
+    // 
+    /** \brief Accessor for minimum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMinGrayDouble()
+    {
+        return minGrayDouble;
+    };
+    /** \brief Mutator for minimum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMinGrayDouble(double theDouble)
+    {
+        userDefinedGrayMinMax = true;
+        minGrayDouble=theDouble;
+    };
+    /** \brief Accessor for maximum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    double getMaxGrayDouble()
+    {
+        return maxGrayDouble;
+    };
+    /** \brief Mutator for maximum clipping range for gray.
+     *
+     * The clipping range can have different interpretations - it can either be used to perform
+     * a histogram stretch between the minimum and maximum clipping values, or to exclude data
+     * that falls outside the clipping range.*/
+    void setMaxGrayDouble(double theDouble)
+    {
+        userDefinedGrayMinMax = true;
+        maxGrayDouble=theDouble;
+    };
+    //
+    /** \brief This enumerator describes the types of histogram scaling algorithms that can be used.  */
+    enum COLOR_SCALING_ALGORITHM
+    {
+        NO_STRETCH, //this should be the default color scaling algorithm, will allow for the display of images without calling QgsRasterBandStats unless needed
+        STRETCH_TO_MINMAX, //linear histogram stretch
+        STRETCH_AND_CLIP_TO_MINMAX,
+        CLIP_TO_MINMAX
+    } colorScalingAlgorithm;
+    //
+    // Accessor and mutator for the color scaling algorithm
+    //
+    /** \brief Accessor for colour scaling algorithm. */
+    COLOR_SCALING_ALGORITHM getColorScalingAlgorithm()
+    {
+        return colorScalingAlgorithm;
+    };
+    /** \brief Mutator for color scaling algorithm. */
+    void setColorScalingAlgorithm(COLOR_SCALING_ALGORITHM theAlgorithm)
+    {
+        colorScalingAlgorithm=theAlgorithm;
+    };
+    
+    /** \brief This enumerator describes the types of histogram colour ramping that can be used.  */
+    enum COLOR_RAMPING_TYPE
+    {
+        BLUE_GREEN_RED, 
+        FREAK_OUT //it will scare your granny!
+    } colorRampingType;
+    //
+    // Accessor and mutator for the color ramping type
+    //
+    /** \brief Accessor for colour ramping type. */
+    COLOR_RAMPING_TYPE getColorRampingType()
+    {
+        return colorRampingType;
+    };
+    /** \brief Mutator for color scaling algorithm. */
+    void setColorRampingType(COLOR_RAMPING_TYPE theRamping)
+    {
+        colorRampingType=theRamping;
+    };
+    
+    /** \brief This enumerator describes the different kinds of drawing we can do.  */
+    enum DRAWING_STYLE
+    {
+        SINGLE_BAND_GRAY, // a "Gray" or "Undefined" layer drawn as a range of gray colors
+        SINGLE_BAND_PSEUDO_COLOR,// a "Gray" or "Undefined" layer drawn using a pseudocolor algorithm
+        PALETTED_COLOR, //a "Palette" image drawn using color table
+        PALETTED_SINGLE_BAND_GRAY,// a "Palette" layer drawn in gray scale (using only one of the color components)
+        PALETTED_SINGLE_BAND_PSEUDO_COLOR, // a "Palette" layer having only one of its color components rendered as psuedo color
+        PALETTED_MULTI_BAND_COLOR, // a "Palette" image is decomposed to 3 channels (RGB) and drawn 
+	                           // as multiband 
+        MULTI_BAND_SINGLE_BAND_GRAY, // a layer containing 2 or more bands, but using only one band to produce a grayscale image
+        MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR, //a layer containing 2 or more bands, but using only one band to produce a pseudocolor image
+        MULTI_BAND_COLOR //a layer containing 2 or more bands, mapped to the three RGBcolors. In the case of a multiband with only two bands, one band will have to be mapped to more than one color
+    } drawingStyle;    
+    //
+    // Accessor and mutator for drawing style.
+    //
+    /** \brief Accessor for drawing style.  */
+    DRAWING_STYLE getDrawingStyle() {return drawingStyle;};
+    /** \brief Returns a string representation of drawing style.
+     *
+     * Implementaed mainly for serialisation / deserialisation of settings to xml.
+     * NOTE: May be deprecated in the future!. Use alternate implementation above rather.
+     * */
+    QString getDrawingStyleAsQString();
+    /** \brief Mutator for drawing style.  */
+    void setDrawingStyle(DRAWING_STYLE const &  theDrawingStyle) {drawingStyle=theDrawingStyle;};
+    /** \brief Overloaded version of the above function for convenience when restoring from xml.
+     *
+     * Implementaed mainly for serialisation / deserialisation of settings to xml.
+     * NOTE: May be deprecated in the future! Use alternate implementation above rather.
+     * */
+    void setDrawingStyle(QString  const & theDrawingStyleQString);
+
+
+
+
+    /** \brief This enumerator describes the type of raster layer.  */
+    enum RASTER_LAYER_TYPE
+    {
+        GRAY_OR_UNDEFINED,
+	PALETTE,
+	MULTIBAND    
+    } rasterLayerType;
+    //
+    //accessor and for raster layer type (READ ONLY)
+    //
+    /** \brief  Accessor for raster layer type (which is a read only property) */
+    RASTER_LAYER_TYPE getRasterLayerType() { return rasterLayerType; };
+    /** \brief Accessor for hasPyramidsFlag (READ ONLY) */
+    bool getHasPyramidsFlag() {return hasPyramidsFlag;};
+     
+    /** \brief Get a legend image for this layer.  */
+    QPixmap getLegendQPixmap();
+    /** \brief  Overloaded version of above function that can print layer name onto legend. */
+    QPixmap getLegendQPixmap(bool); 
+    
+    /** \brief Use this method when you want an annotated legend suitable for print output etc. 
+     * @param int theLabelCountInt Number of vertical labels to display (defaults to 3)
+     * */
+    QPixmap getDetailedLegendQPixmap(int theLabelCount);
+    
+    /**
+     * Returns the sublayers of this layer
+     *
+     * (Useful for providers that manage their own layers, such as WMS)
+     *
+     */
+    QStringList subLayers() const;
+    
+    /**
+     * Reorders the *previously selected* sublayers of this layer from bottom to top
+     *
+     * (Useful for providers that manage their own layers, such as WMS)
+     *
+     */
+    virtual void setLayerOrder(QStringList const & layers);
+    
+    /**
+     * Set the visibility of the given sublayer name
+     */
+    virtual void setSubLayerVisibility(QString const & name, bool vis);
+
+    /** \brief Emit a signal asking for a repaint. (inherited from maplayer) */
+    void triggerRepaint();
+    /** \brief Obtain GDAL Metadata for this layer */
+    QString getMetadata(); 
+    /** \brief Accessor for ths raster layers pyramid list. A pyramid list defines the 
+     * POTENTIAL pyramids that can be in a raster. To know which of the pyramid layers 
+     * ACTUALLY exists you need to look at the existsFlag member in each struct stored in the 
+     * list.*/
+    RasterPyramidList buildRasterPyramidList();
+    /** \brief Helper method to retrieve the nth pyramid layer struct from the PyramidList. 
+     * If the nth layer does not exist, NULL will be returned. */
+//   RasterPyramid getRasterPyramid(int thePyramidNo);
+
+    /**Currently returns always false*/
+    bool isEditable() const;
+    
+    /** Return time stamp for given file name */
+    static QDateTime lastModified ( QString const &  name );
+
+    /**Copies the symbology settings from another layer. Returns true in case of success*/
+    bool copySymbologySettings(const QgsMapLayer& other) {
+      //preventwarnings
+      if (other.type() < 0) 
+      {
+        return false;
+      }
+      return false;
+    } //todo
+
+    bool isSymbologyCompatible(const QgsMapLayer& other) const {return false;} //todo
+
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    QString errorCaptionString();
+  
+    /**
+     * If an operation returns 0 (e.g. draw()), this function
+     * returns the text of the error associated with the failure.
+     * Interactive users of this provider can then, for example,
+     * call a QMessageBox to display the contents.
+     */
+    QString errorString();
+
+    /** Returns the data provider
+     *
+     *  \retval 0 if not using the data provider model (i.e. directly using GDAL)
+     */
+    QgsRasterDataProvider* getDataProvider();
+
+    /** Returns the data provider in a const-correct manner
+     *
+     *  \retval 0 if not using the data provider model (i.e. directly using GDAL)
+     */
+    const QgsRasterDataProvider* getDataProvider() const;
+
+public slots:    
+    /**
+     * Convert this raster to another format
+     */
+    //void const convertTo();
+    /**
+     * Mainly inteded for use in propogating progress updates from gdal up to the parent app.
+     **/
+    void updateProgress(int,int);
+
+    /** \brief Create  gdal pyramid overviews  for this layer.
+    * This will speed up performance at the expense of hard drive space.
+    * Also, write access to the file is required. If no paramter is passed in
+    * it will default to nearest neighbor resampling.
+    * \return null string on success, otherwise a string specifying error
+    */
+    QString buildPyramids(RasterPyramidList const &, 
+                          QString const &  theResamplingMethod="NEAREST");
+    /** \brief Used at the moment by the above function but hopefully will later
+    be useable by any operation that needs to notify the user of its progress. */
+/*
+    int showTextProgress( double theProgressDouble,
+                          const char *theMessageCharArray,
+                          void *theData);    
+*/
+
+  /** Populate the histogram vector for a given layer
+  * @param theBandNoInt - which band to compute the histogram for
+  * @param theBinCountInt - how many 'bins' to categorise the data into
+  * @param theIgnoreOutOfRangeFlag - whether to ignore values that are out of range (default=true)
+  * @param theThoroughBandScanFlag - whether to visit each cell when computing the histogram (default=false)
+  */
+  void populateHistogram(int theBandNoInt, 
+                         int theBinCountInt=256,
+                         bool theIgnoreOutOfRangeFlag=true,
+                         bool theThoroughBandScanFlag=false);
+
+    /** \brief Color table 
+     *  \param band number
+     *  \return pointer to color table
+     */
+    QgsColorTable *colorTable ( int theBandNoInt );
+ protected:
+
+    /** reads vector layer specific state from project file DOM node.
+
+        @note
+
+        Called by QgsMapLayer::readXML().
+
+    */
+    /* virtual */ bool readXML_( QDomNode & layer_node );
+
+
+
+  /** write vector layer specific state to project file DOM node.
+
+      @note
+
+      Called by QgsMapLayer::writeXML().
+
+  */
+  /* virtual */ bool writeXML_( QDomNode & layer_node, QDomDocument & doc );
+    
+private:
+
+    //
+    // Private methods
+    //
+    /** \brief Paint debug information onto the output image.  */
+    void showDebugOverlay(QPainter * theQPainter, QgsRasterViewPort * theRasterViewPort);
+
+    //
+    // Grayscale Imagery
+    //
+
+    /** \brief Drawing routine for single band grayscale image.  */
+    void drawSingleBandGray(QPainter * theQPainter, 
+                            QgsRasterViewPort * theRasterViewPort,
+                            QgsMapToPixel * theQgsMapToPixel,
+                            int theBandNoInt);
+
+    /** \brief Drawing routine for single band grayscale image, rendered in pseudocolor.  */
+    void drawSingleBandPseudoColor(QPainter * theQPainter, 
+                                   QgsRasterViewPort * theRasterViewPort,
+                                   QgsMapToPixel * theQgsMapToPixel,
+                                   int theBandNoInt);
+
+
+    //
+    // Paletted Layers
+    //
+    
+    /** \brief Drawing routine for paletted image, rendered as a single band image in color.  */
+    void drawPalettedSingleBandColor(QPainter * theQPainter,
+                                     QgsRasterViewPort * theRasterViewPort,
+                                     QgsMapToPixel * theQgsMapToPixel,
+                                     int theBandNoInt);
+    
+    /** \brief Drawing routine for paletted image, rendered as a single band image in grayscale.  */
+    void drawPalettedSingleBandGray(QPainter * theQPainter,
+                                    QgsRasterViewPort * theRasterViewPort,
+                                    QgsMapToPixel * theQgsMapToPixel,
+                                    int theBandNoInt,
+                                    QString const &  theColorQString);
+
+    /** \brief Drawing routine for paletted image, rendered as a single band image in pseudocolor.  */
+    void drawPalettedSingleBandPseudoColor(QPainter * theQPainter,
+                                           QgsRasterViewPort * theRasterViewPort,
+                                           QgsMapToPixel * theQgsMapToPixel,
+                                           int theBandNoInt,
+                                           QString const &  theColorQString);
+
+    /** \brief Drawing routine for paletted multiband image.  */
+    void drawPalettedMultiBandColor(QPainter * theQPainter,
+                                    QgsRasterViewPort * theRasterViewPort,
+                                    QgsMapToPixel * theQgsMapToPixel,                                
+                                    int theBandNoInt);
+
+    //
+    // Multiband Layers
+    //
+    
+    /** \brief Drawing routine for multiband image, rendered as a single band image in grayscale.  */
+    void drawMultiBandSingleBandGray(QPainter * theQPainter,
+                                     QgsRasterViewPort * theRasterViewPort, 
+                                     QgsMapToPixel * theQgsMapToPixel,
+                                     int theBandNoInt);
+
+    /** \brief Drawing routine for multiband image, rendered as a single band image in pseudocolor.  */
+    void drawMultiBandSingleBandPseudoColor(QPainter * theQPainter, 
+                                            QgsRasterViewPort * theRasterViewPort, 
+                                            QgsMapToPixel * theQgsMapToPixel,
+                                            int theBandNoInt);
+
+    /** \brief Drawing routine for multiband image  */
+    void drawMultiBandColor(QPainter * theQPainter, 
+                            QgsRasterViewPort * theRasterViewPort,
+                            QgsMapToPixel * theQgsMapToPixel);
+
+    /** \brief Read color table from GDAL raster band */
+    void readColorTable ( GDALRasterBand *gdalBand, QgsColorTable *theColorTable );
+
+    /** \brief Allocate memory and load data to that allocated memory, data type is the same
+     *         as raster band. The memory must be released later!
+     *  \return pointer to the memory
+     */
+    void *readData ( GDALRasterBand *gdalBand, QgsRasterViewPort *viewPort );
+
+    /** \brief Read a raster value on given position from memory block created by readData() 
+     *  \param index index in memory block
+     */
+    inline double readValue ( void *data, GDALDataType type, int index );
+
+
+    /**
+       Load the given raster file
+
+       @returns true if successfully read file
+
+       @note
+       
+       Called from ctor if a raster image given there
+     */
+    bool readFile( QString const & fileName );
+    
+    /** \brief Close data set and release related data */
+    void closeDataset ();
+
+    /** \brief Update the layer if it is outdated */
+    bool update ();
+
+    //
+    // Private member vars
+    //
+    /** \brief  Raster width. */
+    int rasterXDimInt;
+    /** \brief  Raster Height. */
+    int rasterYDimInt;
+    /** \brief Cell value representing no data. e.g. -9999  */
+    double noDataValueDouble;
+    /** \brief Flag to indicate whether debug infor overlay should be rendered onto the raster.  */
+    bool showDebugOverlayFlag;
+    /** \brief Pointer to the gdaldataset.  */
+    GDALDataset * gdalDataset;
+    /** \brief Values for mapping pixel to world coordinates.  */
+    double adfGeoTransform[6];
+    /** \brief Flag indicating whether the histogram should be inverted or not.  */
+    bool invertHistogramFlag;
+    /** \brief Number of stddev to plot (0) to ignore. Not applicable to all layer types.  */
+    double stdDevsToPlotDouble;
+    /** \brief A collection of stats - one for each band in the layer.
+     * The typedef for this is defined above before class declaration
+     */
+    RasterStatsVector rasterStatsVector;
+    /** \brief The band to be associated with the color red - usually 1.  */
+    QString redBandNameQString;
+    /** \brief The band to be associated with the color green - usually 2.  */
+    QString greenBandNameQString;
+    /** \brief The band to be associated with the color blue - usually 3.  */
+    QString blueBandNameQString;
+    /** \brief The band to be associated with transparency.  */
+    QString transparentBandNameQString;
+    /** \brief The band to be associated with the grayscale only ouput - usually 1.  */
+    QString grayBandNameQString;
+    /** \brief Minimum red value - used in scaling procedure.  */
+    double minRedDouble;
+    /** \brief Maximum red value - used in scaling procedure.  */
+    double maxRedDouble;
+    /** \brief Minimum green value - used in scaling procedure.  */
+    double minGreenDouble;
+    /** \brief Maximum green value - used in scaling procedure.  */
+    double maxGreenDouble;
+    /** \brief Minimum blue value - used in scaling procedure.  */
+    double minBlueDouble;
+    /** \brief Maximum blue value - used in scaling procedure.  */
+    double maxBlueDouble;
+    /** \brief Minimum gray value - used in scaling procedure.  */
+    double minGrayDouble;
+    /** \brief Maximum gray value - used in scaling procedure.  */
+    double maxGrayDouble;
+    /** \brief Whether this raster has overviews / pyramids or not */
+    bool hasPyramidsFlag;
+    //Since QgsRasterBandStats deos not set the minRedDouble maxRedDouble etc., it is benificial to know if the user as set these values. Default = false
+    bool userDefinedColorMinMax;
+    bool userDefinedGrayMinMax;
+    /** \brief This list holds a series of RasterPyramid structs
+     * which store infomation for each potential pyramid level for this raster.*/
+    RasterPyramidList mPyramidList;
+
+
+/*
+ * 
+ * New functions that will convert this class to a data provider interface
+ * (B Morley)
+ *
+ */ 
+ 
+public:
+ 
+  //! Constructor in provider mode
+  // TODO Rename into a general constructor when the old raster interface is retired
+  // \param  dummy  is just there to distinguish this function signature from the old non-provider one.
+  QgsRasterLayer(int dummy, 
+                 QString const & baseName = QString(),
+                 QString const & path = QString(),
+                 QString const & providerLib = QString(),
+                 QStringList const & layers = QStringList(),
+                 QStringList const & styles = QStringList(),
+                 QString const & format = QString(),
+                 QString const & crs = QString(),
+                 QString const & proxyHost = QString(),
+                 int proxyPort = 80,
+                 QString const & proxyUser = QString(),
+                 QString const & proxyPass = QString());
+
+  void setDataProvider( QString const & provider,
+                        QStringList const & layers,
+                        QStringList const & styles,
+                        QString const & format,
+                        QString const & crs,
+                        QString const & proxyHost,
+                        int proxyPort,
+                        QString const & proxyUser,
+                        QString const & proxyPass );
+
+  //! Does this layer use a provider for setting/retrieving data?
+  bool usesProvider();
+
+  /**
+   * Sets a proxy for the path given in the constructor
+   *
+   * \retval TRUE if proxy setting is successful (if indeed it is supported)
+   */
+  bool setProxy(QString const & host = 0,
+                            int port = 80,
+                QString const & user = 0,
+                QString const & pass = 0);
+
+  //! Which provider is being used for this Raster Layer?
+  QString providerKey();
+
+public slots:
+
+  void showStatusMessage(QString const & theMessage);
+
+
+private:
+
+  //! Data provider key
+  QString mProviderKey;
+  
+  //! pointer for loading the provider library
+  QLibrary *myLib;
+
+  //! Pointer to data provider derived from the abstract base class QgsDataProvider
+  QgsRasterDataProvider *dataProvider;
+
+  /**Flag indicating wheter the layer is in editing mode or not*/
+  bool mEditable;
+  
+  /**Flag indicating wheter the layer has been modified since the last commit*/
+  bool mModified;
+
+  //! Timestamp, the last modified time of the data source when the layer was created
+  QDateTime mLastModified;
+
+  /**
+   * The error caption associated with the last error.
+   */
+  QString mErrorCaption;
+
+  /**
+   * The error message associated with the last error.
+   */
+  QString mError;
+
+};
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/raster/qgsrasterpyramid.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgsrasterpyramid.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgsrasterpyramid.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,34 @@
+/***************************************************************************
+                            qgsrasterpyramid.h
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSRASTERPYRAMID
+#define QGSRASTERPYRAMID
+/** \brief This struct is used to store pyramid info for the raster layer. */
+class CORE_EXPORT QgsRasterPyramid
+{
+  public:
+  /** \brief The pyramid level as implemented in gdal (level 2 is half orignal raster size etc) */
+  int levelInt;
+  /** \brief XDimension for this pyramid layer */
+  int xDimInt;
+  /** \brief YDimension for this pyramid layer */
+  int yDimInt;
+  /** \brief Whether the pyramid layer has been built yet */
+  bool existsFlag;
+
+};
+#endif

Added: packages/qgis/branches/upstream/current/src/core/raster/qgsrasterviewport.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/raster/qgsrasterviewport.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/raster/qgsrasterviewport.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,79 @@
+/***************************************************************************
+                        qgsrasterviewport.h  -  description
+                              -------------------
+	begin                : Fri Jun 28 2002
+	copyright            : (C) 2005 by T.Sutton
+	email                : tim at linfiniti.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrasterlayer.h 4380 2005-12-26 23:37:50Z timlinux $ */
+#ifndef QGSRASTERVIEWPORT_H
+#define QGSRASTERVIEWPORT_H
+
+#include <qgspoint.h>
+
+/** \file qgsrasterviewport.h
+ *  \brief This class provides details of the viewable area that a raster will
+ *  be rendered into.
+ *  
+ *  The qgsrasterviewport class sets up a viewport / area of interest to be used
+ *  by rasterlayer draw functions at the point of drawing to the screen.
+ */
+
+struct QgsRasterViewPort
+{
+  /** \brief  The offset from the left hand edge of the raster for the rectangle that will be drawn to screen.
+   * TODO Check this explanation is correc!*/
+  int   rectXOffsetInt;
+  float rectXOffsetFloat;
+  /** \brief  The offset from the bottom edge of the raster for the rectangle that will be drawn to screen.
+   * TODO Check this explanation is correc!*/
+  int   rectYOffsetInt;
+  float rectYOffsetFloat;
+  /** \brief Lower left X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedXMinDouble;
+  /** \brief Top Right X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedXMaxDouble;
+  /** \brief Lower left Y dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedYMinDouble;
+  /** \brief Top Right X dimension of clipped raster image in raster pixel space.
+   *  RasterIO will do the scaling for us, so for example, if the user is zoomed in a long way, there may only 
+   *  be e.g. 5x5 pixels retrieved from the raw raster data, but rasterio will seamlessly scale the up to 
+   *  whatever the screen coordinates are (e.g. a 600x800 display window) */
+  double clippedYMaxDouble;
+  /** \brief  Distance in pixels from clippedXMinDouble to clippedXMaxDouble. */
+  int clippedWidthInt;
+  /** \brief Distance in pixels from clippedYMinDouble to clippedYMaxDouble  */
+  int clippedHeightInt;
+  /** \brief Coordinate (in geographic coordinate system) of top left corner of the part of the raster that 
+   * is to be rendered.*/
+  QgsPoint topLeftPoint;
+  /** \brief Coordinate (in geographic coordinate system) of bottom right corner of the part of the raster that 
+   * is to be rendered.*/
+  QgsPoint bottomRightPoint;
+  /** \brief Distance in map units from left edge to right edge for the part of the raster that 
+   * is to be rendered.*/
+  int drawableAreaXDimInt;
+  /** \brief Distance in map units from bottom edge to top edge for the part of the raster that 
+   * is to be rendered.*/
+  int drawableAreaYDimInt;
+};
+
+#endif //QGSRASTERVIEWPORT_H

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,270 @@
+/***************************************************************************
+                         qgscontinuouscolorrenderer.cpp  -  description
+                             -------------------
+    begin                : Nov 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscontinuouscolorrenderer.cpp 5371 2006-04-25 01:52:13Z wonder $ */
+
+#include "qgscontinuouscolorrenderer.h"
+#include "qgsmarkercatalogue.h"
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+#include "qgsvectorlayer.h"
+
+#include <cfloat>
+#include <QDomElement>
+#include <QPainter>
+#include <QImage>
+
+QgsContinuousColorRenderer::QgsContinuousColorRenderer(QGis::VectorType type): mMinimumSymbol(0), mMaximumSymbol(0)
+{
+    mVectorType = type;
+}
+
+QgsContinuousColorRenderer::QgsContinuousColorRenderer(const QgsContinuousColorRenderer& other)
+{
+    mVectorType = other.mVectorType;
+    mClassificationField = other.mClassificationField;
+    mMinimumSymbol = new QgsSymbol(*other.mMinimumSymbol);
+    mMaximumSymbol = new QgsSymbol(*other.mMaximumSymbol);
+}
+
+QgsContinuousColorRenderer& QgsContinuousColorRenderer::operator=(const QgsContinuousColorRenderer& other)
+{
+    if(this != &other)
+    {
+	mVectorType = other.mVectorType;
+	mClassificationField = other.mClassificationField;
+	delete mMinimumSymbol;
+	delete mMaximumSymbol;
+	mMinimumSymbol = new QgsSymbol(*other.mMinimumSymbol);
+	mMaximumSymbol = new QgsSymbol(*other.mMaximumSymbol);
+    }
+    return *this;
+}
+
+QgsContinuousColorRenderer::~QgsContinuousColorRenderer()
+{
+  delete mMinimumSymbol;
+  delete mMaximumSymbol;
+}
+
+void QgsContinuousColorRenderer::setMinimumSymbol(QgsSymbol* sy)
+{
+  delete mMinimumSymbol;
+  mMinimumSymbol = sy;
+}
+
+void QgsContinuousColorRenderer::setMaximumSymbol(QgsSymbol* sy)
+{
+  delete mMaximumSymbol;
+  mMaximumSymbol = sy;
+}
+
+void QgsContinuousColorRenderer::renderFeature(QPainter * p, QgsFeature & f, QImage* img, 
+	double* scalefactor, bool selected, double widthScale)
+{
+  if ((mMinimumSymbol && mMaximumSymbol))
+  {
+    //first find out the value for the classification attribute
+    const QgsAttributeMap& attrs = f.attributeMap();
+    double fvalue = attrs[mClassificationField].toDouble();
+
+    //double fvalue = vec[mClassificationField].fieldValue().toDouble();
+    double minvalue = mMinimumSymbol->lowerValue().toDouble();
+    double maxvalue = mMaximumSymbol->lowerValue().toDouble();
+
+    QColor mincolor, maxcolor;
+
+    if ( mVectorType == QGis::Line || mVectorType == QGis::Point )
+    {
+      mincolor = mMinimumSymbol->pen().color();
+      maxcolor = mMaximumSymbol->pen().color();
+    } 
+    else                    //if polygon
+    {
+      p->setPen(mMinimumSymbol->pen());
+      mincolor = mMinimumSymbol->fillColor();
+      maxcolor = mMaximumSymbol->fillColor();
+    }
+
+    int red,green,blue;
+
+    if((maxvalue - minvalue)!=0)
+    {
+      red = int (maxcolor.red() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.red() * (maxvalue - fvalue) / (maxvalue - minvalue));
+      green = int (maxcolor.green() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.green() * (maxvalue - fvalue) / (maxvalue - minvalue));
+      blue =  int (maxcolor.blue() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.blue() * (maxvalue - fvalue) / (maxvalue - minvalue));
+    }
+    else
+    {
+      red = int (mincolor.red());
+      green = int (mincolor.green());
+      blue = int (mincolor.blue());
+    }
+
+    if ( mVectorType == QGis::Point && img) {
+      // TODO we must get always new marker -> slow, but continuous color for points 
+      // probably is not used frequently
+
+
+      // Use color for both pen and brush (user can add another layer with outpine)
+      // later add support for both pen and brush to dialog
+      QPen pen = mMinimumSymbol->pen();
+      pen.setColor ( QColor(red, green, blue) );
+      pen.setWidthF ( widthScale * pen.width() );
+
+      QBrush brush = mMinimumSymbol->brush();
+
+      if ( selected ) {
+        pen.setColor ( mSelectionColor );
+        brush.setColor ( mSelectionColor );
+      } else {
+        brush.setColor ( QColor(red, green, blue) );
+      }
+      brush.setStyle ( Qt::SolidPattern );
+
+      *img = QgsMarkerCatalogue::instance()->imageMarker ( mMinimumSymbol->pointSymbolName(), mMinimumSymbol->pointSize(),
+          pen, brush);
+
+      if ( scalefactor ) *scalefactor = 1;
+    } 
+    else if ( mVectorType == QGis::Line )
+    {
+      p->setPen( QPen(QColor(red, green, blue),
+            (int)(widthScale*mMinimumSymbol->pen().width()) ));//make sure the correct line width is used
+    } 
+    else
+    {
+      p->setBrush(QColor(red, green, blue));
+      if (mDrawPolygonOutline)
+      {
+        QPen pen;
+        pen.setColor(QColor(0,0,0));
+        pen.setWidthF(widthScale*mMinimumSymbol->pen().width());
+        p->setPen(pen);
+      }
+      else
+        p->setPen(Qt::NoPen);
+    }
+    if(selected)
+    {
+      QPen pen=mMinimumSymbol->pen();
+      pen.setColor(mSelectionColor);
+      QBrush brush=mMinimumSymbol->brush();
+      brush.setColor(mSelectionColor);
+      p->setPen(pen);
+      p->setBrush(brush);
+    }
+  }
+}
+
+void QgsContinuousColorRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
+{
+    mVectorType = vl.vectorType();
+    QDomNode classnode = rnode.namedItem("classificationfield");
+    int classificationfield = classnode.toElement().text().toInt();
+    this->setClassificationField(classificationfield);
+    
+    //polygon outline
+    QDomNode polyoutlinenode = rnode.namedItem("polygonoutline");
+    QString polyoutline = polyoutlinenode.toElement().text();
+    if(polyoutline == "0")
+    {
+	    mDrawPolygonOutline = false;
+    }
+    else if(polyoutline == "1")
+    {
+	    mDrawPolygonOutline = true;
+    }
+
+    //read the settings for the renderitem of the minimum value
+    QDomNode lowernode = rnode.namedItem("lowestsymbol");
+    QDomNode lsymbolnode = lowernode.namedItem("symbol");
+    if( ! lsymbolnode.isNull() )
+    {
+	QgsSymbol* lsy = new QgsSymbol(mVectorType);
+	lsy->readXML ( lsymbolnode );
+	this->setMinimumSymbol(lsy);
+    }
+    QDomNode uppernode = rnode.namedItem("highestsymbol");
+    QDomNode usymbolnode = uppernode.namedItem("symbol");
+    if( ! usymbolnode.isNull() )
+    {
+	QgsSymbol* usy = new QgsSymbol(mVectorType);
+	usy->readXML ( usymbolnode );
+	this->setMaximumSymbol(usy);
+    }
+    vl.setRenderer(this);
+}
+
+QgsAttributeList QgsContinuousColorRenderer::classificationAttributes() const
+{
+    QgsAttributeList list;
+    list.append(mClassificationField);
+    return list;
+}
+
+QString QgsContinuousColorRenderer::name() const
+{
+    return "Continuous Color";
+}
+
+bool QgsContinuousColorRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
+{
+    bool returnval=true;
+#ifndef WIN32
+    QDomElement continuoussymbol=document.createElement("continuoussymbol");
+    layer_node.appendChild(continuoussymbol);
+    QDomElement classificationfield=document.createElement("classificationfield");
+    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
+    classificationfield.appendChild(classificationfieldtxt);
+    continuoussymbol.appendChild(classificationfield);
+    
+    //polygon outlines
+    QDomElement drawPolygonOutlines = document.createElement("polygonoutline");
+    int drawPolyInt = mDrawPolygonOutline ? 1 : 0;
+    QDomText drawPolygonText = document.createTextNode(QString::number(drawPolyInt));
+    drawPolygonOutlines.appendChild(drawPolygonText);
+    continuoussymbol.appendChild(drawPolygonOutlines);
+    
+    QDomElement lowestsymbol=document.createElement("lowestsymbol");
+    continuoussymbol.appendChild(lowestsymbol);
+    if(mMinimumSymbol)
+    {
+	mMinimumSymbol->writeXML(lowestsymbol,document);
+    }
+    QDomElement highestsymbol=document.createElement("highestsymbol");
+    continuoussymbol.appendChild(highestsymbol);
+    if(mMaximumSymbol)
+    {
+	mMaximumSymbol->writeXML(highestsymbol,document);
+    }
+#endif
+    return returnval;
+}
+
+const QList<QgsSymbol*> QgsContinuousColorRenderer::symbols() const
+{
+    QList<QgsSymbol*> list;
+    list.append(mMinimumSymbol);
+    list.append(mMaximumSymbol);
+    return list;
+}
+
+QgsRenderer* QgsContinuousColorRenderer::clone() const
+{
+    QgsContinuousColorRenderer* r = new QgsContinuousColorRenderer(*this);
+    return r;
+}

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgscontinuouscolorrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,109 @@
+/***************************************************************************
+                         qgscontinuouscolorrenderer.h  -  description
+                             -------------------
+    begin                : Nov 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgscontinuouscolorrenderer.h 5371 2006-04-25 01:52:13Z wonder $ */
+#ifndef QGSCONTINUOUSCOLORRENDERER_H
+#define QGSCONTINUOUSCOLORRENDERER_H
+
+#include "qgsrenderer.h"
+#include "qgsmaptopixel.h"
+#include "qgspoint.h"
+#include "qgsfeature.h"
+
+class QgsSymbol;
+class QPainter;
+class QImage;
+
+/**Renderer class which interpolates rgb values linear between the minimum and maximum value of the classification field*/
+class CORE_EXPORT QgsContinuousColorRenderer: public QgsRenderer
+{
+ public:
+    QgsContinuousColorRenderer(QGis::VectorType type);
+    QgsContinuousColorRenderer(const QgsContinuousColorRenderer& other);
+    QgsContinuousColorRenderer& operator=(const QgsContinuousColorRenderer& other);
+    virtual ~QgsContinuousColorRenderer();
+    /**Renders the feature using the minimum and maximum value of the classification field*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected,  double widthScale = 1.);
+    /**Returns the number of the classification field*/
+    int classificationField() const;
+    /**Sets the id of the classification field*/
+    void setClassificationField(int id);
+    /**Sets the symbol for the minimum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
+    void setMinimumSymbol(QgsSymbol* sy);
+    /**Sets the symbol for the maximum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
+    void setMaximumSymbol(QgsSymbol* sy);
+    /** Sets whether to draw the polygon outline*/
+    void setDrawPolygonOutline(bool draw) { mDrawPolygonOutline = draw;}
+    /**Returns the symbol for the minimum value*/
+    const QgsSymbol* minimumSymbol() const;
+    /**Returns the symbol for the maximum value*/
+    const QgsSymbol* maximumSymbol() const;
+    /** whether to draw a polygon outline*/
+    bool drawPolygonOutline() const { return mDrawPolygonOutline; }
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true*/
+    bool needsAttributes() const;
+    /**Returns a list with the index of the classification attribute*/
+    QgsAttributeList classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Return symbology items*/
+    const QList<QgsSymbol*> symbols() const;
+    QgsRenderer* clone() const;
+ protected:
+    /**Number of the classification field (it must be a numerical field)*/
+    int mClassificationField;
+    /**Item for the minimum value*/
+    QgsSymbol* mMinimumSymbol;
+    /**Item for the maximum value*/
+    QgsSymbol* mMaximumSymbol;
+    /** Whether to draw the polygon outline or not */
+    bool mDrawPolygonOutline;
+};
+
+inline int QgsContinuousColorRenderer::classificationField() const
+{
+    return mClassificationField;
+}
+
+inline void QgsContinuousColorRenderer::setClassificationField(int id)
+{
+    mClassificationField=id;
+}
+
+inline const QgsSymbol* QgsContinuousColorRenderer::minimumSymbol() const
+{
+    return mMinimumSymbol;
+}
+
+inline const QgsSymbol* QgsContinuousColorRenderer::maximumSymbol() const
+{
+    return mMaximumSymbol;
+}
+
+inline bool QgsContinuousColorRenderer::needsAttributes() const
+{
+  return true;
+}
+
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,225 @@
+/***************************************************************************
+                         qgssinglesymbolrenderer.cpp  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgraduatedsymbolrenderer.cpp 5371 2006-04-25 01:52:13Z wonder $ */
+
+#include "qgis.h"
+#include "qgslogger.h"
+#include "qgsfeature.h"
+#include "qgsgraduatedsymbolrenderer.h"
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+#include "qgsvectorlayer.h"
+
+#include <QDomNode>
+#include <QDomElement>
+#include <QImage>
+#include <QPainter>
+
+
+QgsGraduatedSymbolRenderer::QgsGraduatedSymbolRenderer(QGis::VectorType type)
+{
+    mVectorType=type;
+}
+
+QgsGraduatedSymbolRenderer::QgsGraduatedSymbolRenderer(const QgsGraduatedSymbolRenderer& other)
+{
+    mVectorType = other.mVectorType;
+    mClassificationField = other.mClassificationField;
+    const QList<QgsSymbol*> s = other.symbols();
+    for(QList<QgsSymbol*>::const_iterator it=s.begin(); it!=s.end(); ++it)
+    {
+	addSymbol(new QgsSymbol(**it));
+    }
+}
+
+QgsGraduatedSymbolRenderer& QgsGraduatedSymbolRenderer::operator=(const QgsGraduatedSymbolRenderer& other)
+{
+    if(this != &other)
+    {
+        mVectorType = other.mVectorType; 
+        mClassificationField = other.mClassificationField;
+        removeSymbols();
+        const QList<QgsSymbol*> s = other.symbols();
+        for(QList<QgsSymbol*>::const_iterator it=s.begin(); it!=s.end(); ++it)
+        {
+            addSymbol(new QgsSymbol(**it));
+        }
+    }
+
+    return *this;
+}
+
+QgsGraduatedSymbolRenderer::~QgsGraduatedSymbolRenderer()
+{
+ 
+}
+
+const QList<QgsSymbol*> QgsGraduatedSymbolRenderer::symbols() const
+{
+    return mSymbols;
+}
+
+void QgsGraduatedSymbolRenderer::removeSymbols()
+{
+    //free the memory first
+    for (QList<QgsSymbol*>::iterator it = mSymbols.begin(); it != mSymbols.end(); ++it)
+    {
+	delete *it;
+    }
+
+    //and remove the pointers then
+    mSymbols.clear();
+}
+
+bool QgsGraduatedSymbolRenderer::willRenderFeature(QgsFeature *f)
+{
+  return (symbolForFeature(f) != 0);
+}
+
+void QgsGraduatedSymbolRenderer::renderFeature(QPainter * p, QgsFeature & f, QImage* img, 
+	double* scalefactor, bool selected, double widthScale)
+{
+  QgsSymbol* theSymbol = symbolForFeature(&f);
+  if(!theSymbol)
+    {
+      if ( img && mVectorType == QGis::Point )
+	{
+	  img->fill(0);
+	}
+      else if ( mVectorType != QGis::Point )
+	{
+	  p->setPen(Qt::NoPen);
+	  p->setBrush(Qt::NoBrush);
+	}
+      return;
+    }
+
+  //set the qpen and qpainter to the right values
+  // Point 
+  if ( img && mVectorType == QGis::Point ) 
+    {
+      *img = theSymbol->getPointSymbolAsImage(  widthScale, selected, mSelectionColor );
+      if ( scalefactor ) 
+	{
+	  *scalefactor = 1;
+	}
+    } 
+
+  // Line, polygon
+  if ( mVectorType != QGis::Point )
+    {
+      if( !selected ) 
+	{
+	  QPen pen=theSymbol->pen();
+	  pen.setWidthF ( widthScale * pen.width() );
+	  p->setPen(pen);
+	  p->setBrush(theSymbol->brush());
+	}
+      else
+	{
+	  QPen pen=theSymbol->pen();
+	  pen.setColor(mSelectionColor);
+	  pen.setWidthF ( widthScale * pen.width() );
+	  QBrush brush=theSymbol->brush();
+	  brush.setColor(mSelectionColor);
+	  p->setPen(pen);
+	  p->setBrush(brush);
+	}
+    }
+}
+
+
+QgsSymbol* QgsGraduatedSymbolRenderer::symbolForFeature(const QgsFeature* f)
+{
+  //first find out the value for the classification attribute
+  const QgsAttributeMap& attrs = f->attributeMap();
+  double value = attrs[mClassificationField].toDouble();
+
+  QList<QgsSymbol*>::iterator it;
+  //find the first render item which contains the feature
+  for (it = mSymbols.begin(); it != mSymbols.end(); ++it)
+  {
+    if (value >= (*it)->lowerValue().toDouble() && value <= (*it)->upperValue().toDouble())
+    {
+      break;
+    }
+  }
+
+  if (it == mSymbols.end())      //only draw features which are covered by a render item
+    {
+      return 0;
+    }
+  return (*it);
+}
+
+void QgsGraduatedSymbolRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
+{
+    mVectorType = vl.vectorType();
+    QDomNode classnode = rnode.namedItem("classificationfield");
+    int classificationfield = classnode.toElement().text().toInt();
+   
+    this->setClassificationField(classificationfield);
+
+    QDomNode symbolnode = rnode.namedItem("symbol");
+    while (!symbolnode.isNull())
+    {
+	QgsSymbol* sy = new QgsSymbol(mVectorType);
+	sy->readXML ( symbolnode );
+	this->addSymbol(sy);
+
+	symbolnode = symbolnode.nextSibling();
+    }
+
+    vl.setRenderer(this);
+}
+
+QgsAttributeList QgsGraduatedSymbolRenderer::classificationAttributes() const
+{
+    QgsAttributeList list;
+    list.append(mClassificationField);
+    return list;
+}
+
+QString QgsGraduatedSymbolRenderer::name() const
+{
+    return "Graduated Symbol";
+}
+
+bool QgsGraduatedSymbolRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
+{
+    bool returnval=true;
+    QDomElement graduatedsymbol=document.createElement("graduatedsymbol");
+    layer_node.appendChild(graduatedsymbol);
+    QDomElement classificationfield=document.createElement("classificationfield");
+    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
+    classificationfield.appendChild(classificationfieldtxt);
+    graduatedsymbol.appendChild(classificationfield);
+    for (QList<QgsSymbol*>::const_iterator it = mSymbols.begin(); it != mSymbols.end(); ++it)
+    {
+	if(!(*it)->writeXML(graduatedsymbol,document))
+	{
+	    returnval=false;
+	}
+    }
+    return returnval;
+}
+
+QgsRenderer* QgsGraduatedSymbolRenderer::clone() const
+{
+    QgsGraduatedSymbolRenderer* r = new QgsGraduatedSymbolRenderer(*this);
+    return r;
+}

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsgraduatedsymbolrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,99 @@
+/***************************************************************************
+                         qgsgraduatedsymbolrenderer.h  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsgraduatedsymbolrenderer.h 5371 2006-04-25 01:52:13Z wonder $ */
+
+#ifndef QGSGRADUATEDSYMBOLRENDERER_H
+#define QGSGRADUATEDSYMBOLRENDERER_H
+
+#include "qgsrenderer.h"
+
+class QgsVectorLayer;
+
+/**This class contains the information for graduate symbol rendering*/
+class CORE_EXPORT QgsGraduatedSymbolRenderer: public QgsRenderer
+{
+ public:
+    QgsGraduatedSymbolRenderer(QGis::VectorType type);
+    QgsGraduatedSymbolRenderer(const QgsGraduatedSymbolRenderer& other);
+    QgsGraduatedSymbolRenderer& operator=(const QgsGraduatedSymbolRenderer& other);
+    virtual ~QgsGraduatedSymbolRenderer();
+    /**Adds a new item
+    \param sy a pointer to the QgsSymbol to be inserted. It has to be created using the new operator and is automatically destroyed when 'removeItems' is called or when this object is destroyed*/
+    void addSymbol(QgsSymbol* sy);
+    /**Returns the number of the classification field*/
+    int classificationField() const;
+    /**Removes all symbols*/
+    void removeSymbols();
+    /** Determines if a feature will be rendered or not 
+	@param f a pointer to the feature to determine if rendering will happen*/
+    bool willRenderFeature(QgsFeature *f);
+    /**Renders an OGRFeature
+     \param p a painter (usually the one from the current map canvas)
+     \param f a pointer to a feature to render
+     \param t the transform object containing the information how to transform the map coordinates to screen coordinates*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected, double widthScale = 1.);
+    /**Sets the number of the classicifation field
+    \param field the number of the field to classify*/
+    void setClassificationField(int field);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true*/
+    bool needsAttributes() const;
+    /**Returns a list with the index to the classification field*/
+    QgsAttributeList classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Returns the symbols of the items*/
+    const QList<QgsSymbol*> symbols() const;
+    /**Returns a copy of the renderer (a deep copy on the heap)*/
+    QgsRenderer* clone() const;
+ protected:
+    /**Index of the classification field (it must be a numerical field)*/
+    int mClassificationField;
+    /**List holding the symbols for the individual classes*/
+    QList<QgsSymbol*> mSymbols;
+    QgsSymbol* symbolForFeature(const QgsFeature* f);
+    
+};
+
+inline void QgsGraduatedSymbolRenderer::addSymbol(QgsSymbol* sy)
+{
+    mSymbols.push_back(sy);
+}
+
+inline int QgsGraduatedSymbolRenderer::classificationField() const
+{
+    return mClassificationField;
+}
+
+inline void QgsGraduatedSymbolRenderer::setClassificationField(int field)
+{
+    mClassificationField=field;
+}
+
+inline bool QgsGraduatedSymbolRenderer::needsAttributes() const
+{
+    return true;
+}
+
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+/***************************************************************************
+                           qgsrenderer.cpp 
+                       
+                             -------------------
+	   begin                : Sat Jan 4 2003
+	   copyright            : (C) 2003 by Gary E.Sherman
+	   email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgsrenderer.h"
+
+#include <QColor>
+#include <QString>
+
+
+QColor QgsRenderer::mSelectionColor=QColor(0,0,0);
+
+QgsRenderer::QgsRenderer()
+{
+
+}
+
+QgsRenderer::~QgsRenderer()
+{
+}
+
+void QgsRenderer::setSelectionColor(QColor color)
+{
+  mSelectionColor = color;
+}
+
+bool QgsRenderer::containsPixmap() const
+{
+  //default implementation returns true only for points
+  switch(mVectorType)
+    {
+    case QGis::Point:
+       return true;
+    default:
+      return false;
+    }
+}

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,97 @@
+/***************************************************************************
+                         qgsrenderer.h  -  description
+                             -------------------
+    begin                : Sat Jan 4 2003
+    copyright            : (C) 2003 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsrenderer.h 7169 2007-08-29 05:39:44Z timlinux $ */
+#ifndef QGSRENDERER_H
+#define QGSRENDERER_H
+
+class QgsFeature;
+class QgsVectorLayer;
+class QPainter;
+class QImage;
+class QDomNode;
+class QDomDocument;
+class QColor;
+
+#include "qgis.h"
+
+class QgsSymbol;
+
+typedef QList<int> QgsAttributeList;
+
+
+/**Abstract base class for renderers. A renderer holds all the information necessary to draw the contents of a vector layer to a map canvas. The vector layer then passes each feature to paint to the renderer*/
+class CORE_EXPORT QgsRenderer
+{
+ public:
+    /** Default ctor sets up selection colour from project properties */
+    QgsRenderer();
+    /** Virtual destructor because we have virtual methods... */
+    virtual ~QgsRenderer();
+    /** Determines if a feature will be rendered or not 
+	@param f a pointer to the feature to determine if rendering will happen*/
+    virtual bool willRenderFeature(QgsFeature *f) 
+    {
+      //prevent unused var warnings
+      if (!f)
+      {
+        return true;
+      }
+      return true;
+    }
+    /**A vector layer passes features to a renderer object to change the brush and pen of the qpainter
+     @param p the painter storing brush and pen
+     @param f a pointer to the feature to be rendered
+     @param pic pointer to an image (used for point symbols)
+     @param scalefactor pointer to the scale factor for the marker image*/
+    virtual void renderFeature(QPainter* p, QgsFeature& f,QImage* pic, double* scalefactor, bool selected, double widthScale = 1.)=0;
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl)=0;
+    /**Writes the contents of the renderer to a configuration file*/
+    // virtual void writeXML(std::ostream& xml)=0;
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const=0;
+    /** Returns true, if attribute values are used by the renderer and false otherwise*/
+    virtual bool needsAttributes() const=0;
+    /**Returns a list with indexes of classification attributes*/
+    virtual QgsAttributeList classificationAttributes() const=0;
+    /**Returns the renderers name*/
+    virtual QString name() const=0;    
+    /**Return symbology items*/
+    virtual const QList<QgsSymbol*> symbols() const=0;
+    /**Returns a copy of the renderer (a deep copy on the heap)*/
+    virtual QgsRenderer* clone() const=0;
+    /** Change selection color */
+    static void setSelectionColor(QColor color);
+    /**Returns true if this renderer returns a pixmap in the render method (e.g. for point data or diagrams)*/
+    virtual bool containsPixmap() const;
+    /**Returns true if this renderer uses its own transparency settings, e.g. differentiated by classification.
+     This is a hint for QgsVectorLayer to not use the transparency setting on layer level in this cases*/
+    virtual bool usesTransparency() const {return false;}
+   
+ protected:
+    /**Color to draw selected features - static so we can change it in proj props and automatically 
+     all renderers are updated*/
+   static QColor mSelectionColor;
+
+   /**Layer type*/
+    QGis::VectorType mVectorType;
+};
+
+#endif // QGSRENDERER_H

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,178 @@
+/***************************************************************************
+                         qgssinglesymbolrenderer.cpp  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssinglesymbolrenderer.cpp 5371 2006-04-25 01:52:13Z wonder $ */
+
+#include "qgis.h"
+#include "qgssinglesymbolrenderer.h"
+
+#include "qgsfeature.h"
+#include "qgslogger.h"
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+#include "qgsvectorlayer.h"
+
+#include <QDomNode>
+#include <QImage>
+#include <QPainter>
+#include <QString>
+
+QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(QGis::VectorType type)
+{
+    mVectorType=type;
+  
+    //initial setting based on random color
+    QgsSymbol* sy = new QgsSymbol(mVectorType);
+  
+    //random fill colors for points and polygons and pen colors for lines
+    int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+    int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+    int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
+
+    if (type == QGis::Line)
+    {
+	sy->setColor(QColor(red, green, blue));
+    } 
+    else
+    {
+	sy->setFillColor(QColor(red, green, blue));
+	sy->setFillStyle(Qt::SolidPattern);
+	sy->setColor(QColor(0, 0, 0));
+    }
+    sy->setLineWidth(1);
+    mSymbol=sy;
+}
+
+QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(const QgsSingleSymbolRenderer& other)
+{
+    mVectorType = other.mVectorType;
+    mSymbol = new QgsSymbol(*other.mSymbol);
+}
+
+QgsSingleSymbolRenderer& QgsSingleSymbolRenderer::operator=(const QgsSingleSymbolRenderer& other)
+{
+    if(this!=&other)
+    {
+        mVectorType = other.mVectorType;
+        delete mSymbol;
+        mSymbol = new QgsSymbol(*other.mSymbol);
+    }
+    return *this;
+}
+
+QgsSingleSymbolRenderer::~QgsSingleSymbolRenderer()
+{
+    delete mSymbol;
+}
+
+void QgsSingleSymbolRenderer::addSymbol(QgsSymbol* sy)
+{
+    delete mSymbol;
+    mSymbol=sy;
+}
+
+void QgsSingleSymbolRenderer::renderFeature(QPainter * p, QgsFeature & f, QImage* img, 
+	         double* scalefactor, bool selected, double widthScale)
+{
+	// Point 
+	if ( img && mVectorType == QGis::Point) {
+	    *img = mSymbol->getPointSymbolAsImage(  widthScale, 
+					 selected, mSelectionColor );
+	    
+	    if ( scalefactor ) *scalefactor = 1;
+	} 
+
+        // Line, polygon
+ 	if ( mVectorType != QGis::Point )
+	{
+	    if( !selected ) 
+	    {
+		QPen pen=mSymbol->pen();
+		pen.setWidthF ( widthScale * pen.width() );
+		p->setPen(pen);
+		p->setBrush(mSymbol->brush());
+	    }
+	    else
+	    {
+		QPen pen=mSymbol->pen();
+		pen.setWidthF ( widthScale * pen.width() );
+                if (mVectorType == QGis::Line)
+                  pen.setColor(mSelectionColor);
+		QBrush brush=mSymbol->brush();
+		brush.setColor(mSelectionColor);
+		p->setPen(pen);
+		p->setBrush(brush);
+	    }
+	}
+}
+
+void QgsSingleSymbolRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
+{
+    mVectorType = vl.vectorType();
+    QgsSymbol* sy = new QgsSymbol(mVectorType);
+
+    QDomNode synode = rnode.namedItem("symbol");
+    
+    if ( synode.isNull() )
+    {
+        QgsDebugMsg("No symbol node in project file's renderitem DOM");
+        // XXX abort?
+    }
+    else
+    {
+        sy->readXML ( synode );
+    }
+
+    //create a renderer and add it to the vector layer
+    this->addSymbol(sy);
+    vl.setRenderer(this);
+}
+
+bool QgsSingleSymbolRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
+{
+  bool returnval=false;
+  QDomElement singlesymbol=document.createElement("singlesymbol");
+  layer_node.appendChild(singlesymbol);
+  if(mSymbol)
+  {
+    returnval=mSymbol->writeXML(singlesymbol,document);
+  }
+  return returnval;
+}
+
+
+QgsAttributeList QgsSingleSymbolRenderer::classificationAttributes() const
+{
+  return QgsAttributeList(); // return an empty list
+}
+
+QString QgsSingleSymbolRenderer::name() const
+{
+  return "Single Symbol";
+}
+
+const QList<QgsSymbol*> QgsSingleSymbolRenderer::symbols() const
+{
+    QList<QgsSymbol*> list;
+    list.append(mSymbol);
+    return list;
+}
+
+QgsRenderer* QgsSingleSymbolRenderer::clone() const
+{
+    QgsSingleSymbolRenderer* r = new QgsSingleSymbolRenderer(*this);
+    return r;
+}

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgssinglesymbolrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+                         qgssinglesymbolrenderer.h  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssinglesymbolrenderer.h 5371 2006-04-25 01:52:13Z wonder $ */
+
+#ifndef QGSSINGLESYMBOLRENDERER_H
+#define QGSSINGLESYMBOLRENDERER_H
+
+#include "qgsrenderer.h"
+
+
+/**Render class to display all the features with a single QgsSymbol*/
+class CORE_EXPORT QgsSingleSymbolRenderer: public QgsRenderer
+{
+ public:
+    QgsSingleSymbolRenderer(QGis::VectorType type);
+    QgsSingleSymbolRenderer(const QgsSingleSymbolRenderer& other);
+    QgsSingleSymbolRenderer& operator=(const QgsSingleSymbolRenderer& other);
+    virtual ~QgsSingleSymbolRenderer();
+    /**Replaces the current mSymbol by sy*/
+    void addSymbol(QgsSymbol* sy);
+    /*Returns a pointer to mSymbol*/
+    const QgsSymbol* symbol() const;
+    /**Renders an OGRFeature*/
+    void renderFeature(QPainter* p, QgsFeature& f, QImage* img, double* scalefactor, bool selected, double widthScale = 1.);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file*/
+    /*virtual void writeXML(std::ostream& xml);*/
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /**Returns false, no attributes neede for single symbol*/
+    bool needsAttributes() const;
+    /**Returns an empty list, since no classification attributes are used*/
+    QgsAttributeList classificationAttributes() const;
+    /**Returns the renderers name*/
+    virtual QString name() const;
+    /**Returns a list containing mSymbol*/
+    const QList<QgsSymbol*> symbols() const;
+    /**Returns a deep copy of this renderer*/
+    QgsRenderer* clone() const;
+ protected:
+    /**Object containing symbology information*/
+    QgsSymbol* mSymbol;
+};
+
+inline const QgsSymbol* QgsSingleSymbolRenderer::symbol() const
+{
+    return mSymbol;
+}
+
+inline bool QgsSingleSymbolRenderer::needsAttributes() const
+{
+  return false;
+}
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,231 @@
+/***************************************************************************
+                         qgsuniquevaluerenderer.cpp  -  description
+                             -------------------
+    begin                : July 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsuniquevaluerenderer.cpp 5371 2006-04-25 01:52:13Z wonder $ */
+
+#include "qgsuniquevaluerenderer.h"
+#include "qgsfeature.h"
+#include "qgsvectorlayer.h"
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+
+#include <QDomNode>
+#include <QPainter>
+#include <QImage>
+#include <vector>
+
+QgsUniqueValueRenderer::QgsUniqueValueRenderer(QGis::VectorType type): mClassificationField(0)
+{
+    mVectorType = type;
+}
+
+QgsUniqueValueRenderer::QgsUniqueValueRenderer(const QgsUniqueValueRenderer& other)
+{
+    mVectorType = other.mVectorType;
+    mClassificationField = other.mClassificationField;
+    QMap<QString, QgsSymbol*> s = other.mSymbols;
+    for(QMap<QString, QgsSymbol*>::iterator it=s.begin(); it!=s.end(); ++it)
+    {
+	QgsSymbol* s = new QgsSymbol(* it.value());
+	insertValue(it.key(), s);
+    }
+}
+
+QgsUniqueValueRenderer& QgsUniqueValueRenderer::operator=(const QgsUniqueValueRenderer& other)
+{
+    if(this != &other)
+    {
+        mVectorType = other.mVectorType;
+        mClassificationField = other.mClassificationField;
+        clearValues();
+        for(QMap<QString, QgsSymbol*>::iterator it=mSymbols.begin(); it!=mSymbols.end(); ++it)
+        {
+            QgsSymbol* s = new QgsSymbol(*it.value());
+            insertValue(it.key(), s);
+        }
+    }
+    return *this;
+}
+
+QgsUniqueValueRenderer::~QgsUniqueValueRenderer()
+{
+    for(QMap<QString,QgsSymbol*>::iterator it=mSymbols.begin();it!=mSymbols.end();++it)
+    {
+	delete it.value();
+    }
+}
+
+const QList<QgsSymbol*> QgsUniqueValueRenderer::symbols() const
+{
+    QList <QgsSymbol*> symbollist;
+    for(QMap<QString, QgsSymbol*>::const_iterator it = mSymbols.begin(); it!=mSymbols.end(); ++it)
+    {
+	symbollist.append(it.value());
+    }
+    return symbollist;
+}
+
+void QgsUniqueValueRenderer::insertValue(QString name, QgsSymbol* symbol)
+{
+    mSymbols.insert(name, symbol);
+}
+
+void QgsUniqueValueRenderer::setClassificationField(int field)
+{
+    mClassificationField=field;
+}
+
+int QgsUniqueValueRenderer::classificationField()
+{
+    return mClassificationField;
+}
+
+bool QgsUniqueValueRenderer::willRenderFeature(QgsFeature *f)
+{
+  return (symbolForFeature(f) != 0);
+}
+    
+void QgsUniqueValueRenderer::renderFeature(QPainter* p, QgsFeature& f,QImage* img, 
+	double* scalefactor, bool selected, double widthScale)
+{
+  QgsSymbol* symbol = symbolForFeature(&f);
+  if(!symbol) //no matching symbol
+    {
+      if ( img && mVectorType == QGis::Point )
+	{
+	  img->fill(0);
+	}
+      else if ( mVectorType != QGis::Point )
+	{
+	  p->setPen(Qt::NoPen);
+	  p->setBrush(Qt::NoBrush);
+	}
+      return;
+    }
+  
+  // Point 
+  if ( img && mVectorType == QGis::Point ) 
+    {
+      *img = symbol->getPointSymbolAsImage(  widthScale, selected, mSelectionColor );
+      if ( scalefactor ) 
+	{
+	  *scalefactor = 1;
+	}
+    } 
+  
+  // Line, polygon
+  else if ( mVectorType != QGis::Point )
+    {
+      if( !selected ) 
+	{
+	  QPen pen=symbol->pen();
+	  pen.setWidthF ( widthScale * pen.width() );
+	  p->setPen(pen);
+	  p->setBrush(symbol->brush());
+	}
+      else
+	{
+	  QPen pen=symbol->pen();
+	  pen.setWidthF ( widthScale * pen.width() );
+	  pen.setColor(mSelectionColor);
+	  QBrush brush=symbol->brush();
+		brush.setColor(mSelectionColor);
+		p->setPen(pen);
+		p->setBrush(brush);
+	}
+    }
+}
+
+QgsSymbol* QgsUniqueValueRenderer::symbolForFeature(const QgsFeature* f)
+{
+  //first find out the value
+  const QgsAttributeMap& attrs = f->attributeMap();
+  QString value = attrs[mClassificationField].toString();
+  
+  QMap<QString,QgsSymbol*>::iterator it=mSymbols.find(value);
+  if(it == mSymbols.end())
+    {
+      return 0;
+    }
+  else
+    {
+      return it.value();
+    }
+}
+
+void QgsUniqueValueRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
+{
+    mVectorType = vl.vectorType();
+    QDomNode classnode = rnode.namedItem("classificationfield");
+    int classificationfield = classnode.toElement().text().toInt();
+    this->setClassificationField(classificationfield);
+
+    QDomNode symbolnode = rnode.namedItem("symbol");
+    while (!symbolnode.isNull())
+    {
+	QgsSymbol* msy = new QgsSymbol(mVectorType);
+	msy->readXML ( symbolnode );
+	this->insertValue(msy->lowerValue(),msy);
+	symbolnode = symbolnode.nextSibling();
+    vl.setRenderer(this);
+    }
+}
+
+void QgsUniqueValueRenderer::clearValues()
+{
+    for(QMap<QString,QgsSymbol*>::iterator it=mSymbols.begin();it!=mSymbols.end();++it)
+    {
+	delete it.value();
+    }
+    mSymbols.clear();
+}
+
+QString QgsUniqueValueRenderer::name() const
+{
+    return "Unique Value";
+}
+
+QgsAttributeList QgsUniqueValueRenderer::classificationAttributes() const
+{
+    QgsAttributeList list;
+    list.append(mClassificationField);
+    return list;
+}
+
+bool QgsUniqueValueRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
+{
+    bool returnval=true;
+    QDomElement uniquevalue=document.createElement("uniquevalue");
+    layer_node.appendChild(uniquevalue);
+    QDomElement classificationfield=document.createElement("classificationfield");
+    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
+    classificationfield.appendChild(classificationfieldtxt);
+    uniquevalue.appendChild(classificationfield);
+    for(QMap<QString,QgsSymbol*>::const_iterator it=mSymbols.begin();it!=mSymbols.end();++it)
+    {
+	if(!(it.value()->writeXML(uniquevalue,document)))
+	{
+	    returnval=false;  
+	}
+    }
+    return returnval;
+}
+
+QgsRenderer* QgsUniqueValueRenderer::clone() const
+{
+    QgsUniqueValueRenderer* r = new QgsUniqueValueRenderer(*this);
+    return r;
+}

Added: packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/renderer/qgsuniquevaluerenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+                         qgsuniquevaluerenderer.h  -  description
+                             -------------------
+    begin                : July 2004
+    copyright            : (C) 2004 by Marco Hugentobler
+    email                : marco.hugentobler at autoform.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsuniquevaluerenderer.h 5371 2006-04-25 01:52:13Z wonder $ */
+#ifndef QGSUNIQUEVALUERENDERER_H
+#define QGSUNIQUEVALUERENDERER_H
+
+#include "qgsrenderer.h"
+#include <QMap>
+
+class CORE_EXPORT QgsUniqueValueRenderer: public QgsRenderer
+{
+ public:
+    QgsUniqueValueRenderer(QGis::VectorType type);
+    QgsUniqueValueRenderer(const QgsUniqueValueRenderer& other);
+    QgsUniqueValueRenderer& operator=(const QgsUniqueValueRenderer& other);
+    virtual ~QgsUniqueValueRenderer();
+    /** Determines if a feature will be rendered or not 
+	@param f a pointer to the feature to determine if rendering will happen*/
+    bool willRenderFeature(QgsFeature *f);
+    void renderFeature(QPainter* p, QgsFeature& f,QImage* img, double* scalefactor, bool selected, double widthScale = 1.);
+    /**Reads the renderer configuration from an XML file
+     @param rnode the DOM node to read 
+     @param vl the vector layer which will be associated with the renderer*/
+    void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
+    /**Writes the contents of the renderer to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
+    /** Returns true, if attribute values are used by the renderer and false otherwise*/
+    bool needsAttributes() const;
+    /**Returns a list with indexes of classification attributes*/
+    QgsAttributeList classificationAttributes() const;
+    /**Returns the renderers name*/
+    QString name() const;
+    /**Inserts an entry into mEntries. The render items have to be created with the new operator and are automatically destroyed if not needed anymore*/
+    void insertValue(QString name, QgsSymbol* symbol);
+    /**Removes all entries from mEntries*/
+    void clearValues();
+    /**Sets the Field index used for classification*/
+    void setClassificationField(int field);
+    /**Returns the index of the classification field*/
+    int classificationField();
+    /**Return symbology items*/
+    const QList<QgsSymbol*> symbols() const;
+    QgsRenderer* clone() const;
+ protected:
+    /**Field index used for classification*/
+    int mClassificationField;
+    /**Symbols for the unique values*/
+    QMap<QString, QgsSymbol*> mSymbols;
+    /**Returns the symbol for a feature or 0 if there isn't any*/
+    QgsSymbol* symbolForFeature(const QgsFeature* f);
+};
+
+inline bool QgsUniqueValueRenderer::needsAttributes() const
+{
+    return true;
+}
+
+#endif

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/README
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/README	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/README	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,14 @@
+
+Spatial indexing is based on code by Marios Hadjieleftheriou, who has
+developed spatial index library and published it under GNU GPL.
+
+This code is based on version 1.0 of the library which can be found here:
+http://u-foria.org/marioh/spatialindex/index.html
+
+Spatial index library has Tools library as a dependency. Here we use it
+in version 0.51b, it's available online (also under GNU GPL):
+http://u-foria.org/marioh/tools/index.html
+
+There are only few differences from the original libraries, namely:
+- removed MVR-tree, TPR-tree and their variants of Point and Region
+- removed SHA1 hash

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/LineSegment.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/LineSegment.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/LineSegment.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,381 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <Tools.h>
+
+Tools::Geometry::LineSegment::LineSegment()
+	: m_dimension(0), m_pStartPoint(0), m_pEndPoint(0)
+{
+}
+
+Tools::Geometry::LineSegment::LineSegment(const double* pStartPoint, const double* pEndPoint, unsigned long dimension)
+	: m_dimension(dimension)
+{
+	// no need to initialize arrays to 0 since if a bad_alloc is raised the destructor will not be called.
+
+	m_pStartPoint = new double[m_dimension];
+	m_pEndPoint = new double[m_dimension];
+	memcpy(m_pStartPoint, pStartPoint, m_dimension * sizeof(double));
+	memcpy(m_pEndPoint, pEndPoint, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::LineSegment::LineSegment(const Point& startPoint, const Point& endPoint)
+	: m_dimension(startPoint.m_dimension)
+{
+	if (startPoint.m_dimension != endPoint.m_dimension)
+		throw Tools::IllegalArgumentException(
+			"Tools::Geometry::LineSegment::LineSegment: Points have different dimensionalities."
+		);
+
+	// no need to initialize arrays to 0 since if a bad_alloc is raised the destructor will not be called.
+
+	m_pStartPoint = new double[m_dimension];
+	m_pEndPoint = new double[m_dimension];
+	memcpy(m_pStartPoint, startPoint.m_pCoords, m_dimension * sizeof(double));
+	memcpy(m_pEndPoint, endPoint.m_pCoords, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::LineSegment::LineSegment(const LineSegment& l)
+	: m_dimension(l.m_dimension)
+{
+	// no need to initialize arrays to 0 since if a bad_alloc is raised the destructor will not be called.
+
+	m_pStartPoint = new double[m_dimension];
+	m_pEndPoint = new double[m_dimension];
+	memcpy(m_pStartPoint, l.m_pStartPoint, m_dimension * sizeof(double));
+	memcpy(m_pEndPoint, l.m_pEndPoint, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::LineSegment::~LineSegment()
+{
+	delete[] m_pStartPoint;
+	delete[] m_pEndPoint;
+}
+
+Tools::Geometry::LineSegment& Tools::Geometry::LineSegment::operator=(const LineSegment& l)
+{
+	if (this != &l)
+	{
+		makeDimension(l.m_dimension);
+		memcpy(m_pStartPoint, l.m_pStartPoint, m_dimension * sizeof(double));
+		memcpy(m_pEndPoint, l.m_pEndPoint, m_dimension * sizeof(double));
+	}
+
+	return *this;
+}
+
+bool Tools::Geometry::LineSegment::operator==(const LineSegment& l) const
+{
+	if (m_dimension != l.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::LineSegment::operator==: LineSegments have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (
+			m_pStartPoint[i] < l.m_pStartPoint[i] - std::numeric_limits<double>::epsilon() ||
+			m_pStartPoint[i] > l.m_pStartPoint[i] + std::numeric_limits<double>::epsilon())  return false;
+
+		if (
+			m_pEndPoint[i] < l.m_pEndPoint[i] - std::numeric_limits<double>::epsilon() ||
+			m_pEndPoint[i] > l.m_pEndPoint[i] + std::numeric_limits<double>::epsilon())  return false;
+	}
+
+	return true;
+}
+
+//
+// IObject interface
+//
+Tools::Geometry::LineSegment* Tools::Geometry::LineSegment::clone()
+{
+	return new LineSegment(*this);
+}
+
+//
+// ISerializable interface
+//
+unsigned long Tools::Geometry::LineSegment::getByteArraySize()
+{
+	return (sizeof(unsigned long) + m_dimension * sizeof(double) * 2);
+}
+
+void Tools::Geometry::LineSegment::loadFromByteArray(const byte* ptr)
+{
+	unsigned long dimension;
+	memcpy(&dimension, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	makeDimension(dimension);
+	memcpy(m_pStartPoint, ptr, m_dimension * sizeof(double));
+	ptr += m_dimension * sizeof(double);
+	memcpy(m_pEndPoint, ptr, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+void Tools::Geometry::LineSegment::storeToByteArray(byte** data, unsigned long& len)
+{
+	len = getByteArraySize();
+	*data = new byte[len];
+	byte* ptr = *data;
+
+	memcpy(ptr, &m_dimension, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, m_pStartPoint, m_dimension * sizeof(double));
+	ptr += m_dimension * sizeof(double);
+	memcpy(ptr, m_pEndPoint, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+//
+// IShape interface
+//
+bool Tools::Geometry::LineSegment::intersectsShape(const IShape& s) const
+{
+	throw IllegalStateException(
+		"Tools::Geometry::LineSegment::intersectsShape: Not implemented yet!"
+	);
+}
+
+bool Tools::Geometry::LineSegment::containsShape(const IShape& s) const
+{
+	return false;
+}
+
+bool Tools::Geometry::LineSegment::touchesShape(const IShape& s) const
+{
+	throw IllegalStateException(
+		"Tools::Geometry::LineSegment::touchesShape: Not implemented yet!"
+	);
+}
+
+void Tools::Geometry::LineSegment::getCenter(Point& out) const
+{
+	double coords[m_dimension];
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		coords[cDim] =
+			(std::abs(m_pStartPoint[cDim] - m_pEndPoint[cDim]) / 2.0) +
+			std::min(m_pStartPoint[cDim], m_pEndPoint[cDim]);
+	}
+
+	out = Point(coords, m_dimension);
+}
+
+unsigned long Tools::Geometry::LineSegment::getDimension() const
+{
+	return m_dimension;
+}
+
+void Tools::Geometry::LineSegment::getMBR(Region& out) const
+{
+	double low[m_dimension];
+	double high[m_dimension];
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		low[cDim] = std::min(m_pStartPoint[cDim], m_pEndPoint[cDim]);
+		high[cDim] = std::max(m_pStartPoint[cDim], m_pEndPoint[cDim]);
+	}
+
+	out = Region(low, high, m_dimension);
+}
+
+double Tools::Geometry::LineSegment::getArea() const
+{
+	return 0.0;
+}
+
+double Tools::Geometry::LineSegment::getMinimumDistance(const IShape& s) const
+{
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0)
+	{
+		return getMinimumDistance(*ppt);
+	}
+
+/*
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0)
+	{
+		return pr->getMinimumDistance(*this);
+	}
+*/
+
+	throw IllegalStateException(
+		"Tools::Geometry::LineSegment::getMinimumDistance: Not implemented yet!"
+	);
+}
+
+double Tools::Geometry::LineSegment::getMinimumDistance(const Point& p) const
+{
+	if (m_dimension == 1)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getMinimumDistance: Use an Interval instead."
+		);
+
+	if (m_dimension != 2)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getMinimumDistance: Distance for high dimensional spaces not supported!"
+		);
+
+	if (m_pEndPoint[0] >= m_pStartPoint[0] - std::numeric_limits<double>::epsilon() &&
+		m_pEndPoint[0] <= m_pStartPoint[0] + std::numeric_limits<double>::epsilon()) return std::abs(p.m_pCoords[0] - m_pStartPoint[0]);
+
+	if (m_pEndPoint[1] >= m_pStartPoint[1] - std::numeric_limits<double>::epsilon() &&
+		m_pEndPoint[1] <= m_pStartPoint[1] + std::numeric_limits<double>::epsilon()) return std::abs(p.m_pCoords[1] - m_pStartPoint[1]);
+
+	double x1 = m_pStartPoint[0];
+	double x2 = m_pEndPoint[0];
+	double x0 = p.m_pCoords[0];
+	double y1 = m_pStartPoint[1];
+	double y2 = m_pEndPoint[1];
+	double y0 = p.m_pCoords[1];
+
+	return std::abs((x2 - x1) * (y1 - y0) - (x1 - x0) * (y2 - y1)) / (std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)));
+}
+
+// assuming moving from start to end, positive distance is from right hand side.
+double Tools::Geometry::LineSegment::getRelativeMinimumDistance(const Point& p) const
+{
+	if (m_dimension == 1)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getRelativeMinimumDistance: Use an Interval instead."
+		);
+
+	if (m_dimension != 2)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getRelativeMinimumDistance: Distance for high dimensional spaces not supported!"
+		);
+
+	if (m_pEndPoint[0] >= m_pStartPoint[0] - std::numeric_limits<double>::epsilon() &&
+		m_pEndPoint[0] <= m_pStartPoint[0] + std::numeric_limits<double>::epsilon())
+	{
+		if (m_pStartPoint[1] < m_pEndPoint[1]) return m_pStartPoint[0] - p.m_pCoords[0];
+		if (m_pStartPoint[1] >= m_pEndPoint[1]) return p.m_pCoords[0] - m_pStartPoint[0];
+	}
+
+	if (m_pEndPoint[1] >= m_pStartPoint[1] - std::numeric_limits<double>::epsilon() &&
+		m_pEndPoint[1] <= m_pStartPoint[1] + std::numeric_limits<double>::epsilon())
+	{
+		if (m_pStartPoint[0] < m_pEndPoint[0]) return p.m_pCoords[1] - m_pStartPoint[1];
+		if (m_pStartPoint[0] >= m_pEndPoint[0]) return m_pStartPoint[1] - p.m_pCoords[1];
+	}
+
+	double x1 = m_pStartPoint[0];
+	double x2 = m_pEndPoint[0];
+	double x0 = p.m_pCoords[0];
+	double y1 = m_pStartPoint[1];
+	double y2 = m_pEndPoint[1];
+	double y0 = p.m_pCoords[1];
+
+	return ((x1 - x0) * (y2 - y1) - (x2 - x1) * (y1 - y0)) / (std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)));
+}
+
+double Tools::Geometry::LineSegment::getRelativeMaximumDistance(const Tools::Geometry::Region& r) const
+{
+	if (m_dimension == 1)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getRelativeMaximumDistance: Use an Interval instead."
+		);
+
+	if (m_dimension != 2)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getRelativeMaximumDistance: Distance for high dimensional spaces not supported!"
+		);
+
+	// clockwise.
+	double d1 = getRelativeMinimumDistance(Point(r.m_pLow, 2));
+
+	double coords[2];
+	coords[0] = r.m_pLow[0];
+	coords[1] = r.m_pHigh[1];
+	double d2 = getRelativeMinimumDistance(Point(coords, 2));
+
+	double d3 = getRelativeMinimumDistance(Point(r.m_pHigh, 2));
+
+	coords[0] = r.m_pHigh[0];
+	coords[1] = r.m_pLow[1];
+	double d4 = getRelativeMinimumDistance(Point(coords, 2));
+
+	return std::max(d1, std::max(d2, std::max(d3, d4)));
+}
+
+double Tools::Geometry::LineSegment::getAngleOfPerpendicularRay()
+{
+	if (m_dimension == 1)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getAngleOfPerpendicularRay: Use an Interval instead."
+		);
+
+	if (m_dimension != 2)
+		throw Tools::NotSupportedException(
+			"Tools::Geometry::LineSegment::getAngleOfPerpendicularRay: Distance for high dimensional spaces not supported!"
+		);
+
+	if (m_pStartPoint[0] >= m_pEndPoint[0] - std::numeric_limits<double>::epsilon() &&
+		m_pStartPoint[0] <= m_pEndPoint[0] + std::numeric_limits<double>::epsilon()) return 0.0;
+
+	if (m_pStartPoint[1] >= m_pEndPoint[1] - std::numeric_limits<double>::epsilon() &&
+		m_pStartPoint[1] <= m_pEndPoint[1] + std::numeric_limits<double>::epsilon()) return M_PI_2;
+
+	return std::atan(-(m_pStartPoint[0] - m_pEndPoint[0]) / (m_pStartPoint[1] - m_pEndPoint[1]));
+}
+
+void Tools::Geometry::LineSegment::makeInfinite(unsigned long dimension)
+{
+	makeDimension(dimension);
+	for (unsigned long cIndex = 0; cIndex < m_dimension; cIndex++)
+	{
+		m_pStartPoint[cIndex] = std::numeric_limits<double>::max();
+		m_pEndPoint[cIndex] = std::numeric_limits<double>::max();
+	}
+}
+
+void Tools::Geometry::LineSegment::makeDimension(unsigned long dimension)
+{
+	if (m_dimension != dimension)
+	{
+		delete[] m_pStartPoint;
+		delete[] m_pEndPoint;
+
+		// remember that this is not a constructor. The object will be destructed normally if
+		// something goes wrong (bad_alloc), so we must take care not to leave the object at an intermediate state.
+		m_pStartPoint = 0;
+		m_pEndPoint = 0;
+
+		m_dimension = dimension;
+		m_pStartPoint = new double[m_dimension];
+		m_pEndPoint = new double[m_dimension];
+	}
+}
+
+std::ostream& Tools::Geometry::operator<<(std::ostream& os, const LineSegment& l)
+{
+	for (unsigned long cDim = 0; cDim < l.m_dimension; cDim++)
+	{
+		os << l.m_pStartPoint[cDim] << ", " << l.m_pEndPoint[cDim] << " ";
+	}
+
+	return os;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Point.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Point.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Point.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,256 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <Tools.h>
+
+Tools::Geometry::Point::Point()
+	: m_dimension(0), m_pCoords(0)
+{
+}
+
+Tools::Geometry::Point::Point(const double* pCoords, unsigned long dimension)
+	: m_dimension(dimension)
+{
+	// no need to initialize m_pCoords to 0 since if a bad_alloc is raised the destructor will not be called.
+
+	m_pCoords = new double[m_dimension];
+	memcpy(m_pCoords, pCoords, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::Point::Point(const Point& p)
+	: m_dimension(p.m_dimension)
+{
+	// no need to initialize m_pCoords to 0 since if a bad_alloc is raised the destructor will not be called.
+
+	m_pCoords = new double[m_dimension];
+	memcpy(m_pCoords, p.m_pCoords, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::Point::~Point()
+{
+	delete[] m_pCoords;
+}
+
+Tools::Geometry::Point& Tools::Geometry::Point::operator=(const Point& p)
+{
+	if (this != &p)
+	{
+		makeDimension(p.m_dimension);
+		memcpy(m_pCoords, p.m_pCoords, m_dimension * sizeof(double));
+	}
+
+	return *this;
+}
+
+bool Tools::Geometry::Point::operator==(const Point& p) const
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Point::operator==: Points have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (
+			m_pCoords[i] < p.m_pCoords[i] - std::numeric_limits<double>::epsilon() ||
+			m_pCoords[i] > p.m_pCoords[i] + std::numeric_limits<double>::epsilon())  return false;
+	}
+
+	return true;
+}
+
+//
+// IObject interface
+//
+Tools::Geometry::Point* Tools::Geometry::Point::clone()
+{
+	return new Point(*this);
+}
+
+//
+// ISerializable interface
+//
+unsigned long Tools::Geometry::Point::getByteArraySize()
+{
+	return (sizeof(unsigned long) + m_dimension * sizeof(double));
+}
+
+void Tools::Geometry::Point::loadFromByteArray(const byte* ptr)
+{
+	unsigned long dimension;
+	memcpy(&dimension, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	makeDimension(dimension);
+	memcpy(m_pCoords, ptr, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+void Tools::Geometry::Point::storeToByteArray(byte** data, unsigned long& len)
+{
+	len = getByteArraySize();
+	*data = new byte[len];
+	byte* ptr = *data;
+
+	memcpy(ptr, &m_dimension, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, m_pCoords, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+//
+// IShape interface
+//
+bool Tools::Geometry::Point::intersectsShape(const IShape& s) const
+{
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0)
+	{
+		return pr->containsPoint(*this);
+	}
+
+	throw IllegalStateException(
+		"Tools::Geometry::Point::intersectsShape: Not implemented yet!"
+	);
+}
+
+bool Tools::Geometry::Point::containsShape(const IShape& s) const
+{
+	return false;
+}
+
+bool Tools::Geometry::Point::touchesShape(const IShape& s) const
+{
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0)
+	{
+		if (*this == *ppt) return true;
+		return false;
+	}
+
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0)
+	{
+		return pr->touchesPoint(*this);
+	}
+
+	throw IllegalStateException(
+		"Tools::Geometry::Point::touchesShape: Not implemented yet!"
+	);
+}
+
+void Tools::Geometry::Point::getCenter(Point& out) const
+{
+	out = *this;
+}
+
+unsigned long Tools::Geometry::Point::getDimension() const
+{
+	return m_dimension;
+}
+
+void Tools::Geometry::Point::getMBR(Region& out) const
+{
+	out = Region(m_pCoords, m_pCoords, m_dimension);
+}
+
+double Tools::Geometry::Point::getArea() const
+{
+	return 0.0;
+}
+
+double Tools::Geometry::Point::getMinimumDistance(const IShape& s) const
+{
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0)
+	{
+		return getMinimumDistance(*ppt);
+	}
+
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0)
+	{
+		return pr->getMinimumDistance(*this);
+	}
+
+	throw IllegalStateException(
+		"Tools::Geometry::Point::getMinimumDistance: Not implemented yet!"
+	);
+}
+
+double Tools::Geometry::Point::getMinimumDistance(const Point& p) const
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Point::getMinimumDistance: Shapes have different number of dimensions."
+		);
+
+	double ret = 0.0;
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		ret += std::pow(m_pCoords[cDim] - p.m_pCoords[cDim], 2.0);
+	}
+
+	return std::sqrt(ret);
+}
+
+double Tools::Geometry::Point::getCoordinate(unsigned long index) const
+{
+	if (index < 0 || index >= m_dimension)
+		throw IndexOutOfBoundsException(index);
+
+	return m_pCoords[index];
+}
+
+void Tools::Geometry::Point::makeInfinite(unsigned long dimension)
+{
+	makeDimension(dimension);
+	for (unsigned long cIndex = 0; cIndex < m_dimension; cIndex++)
+	{
+		m_pCoords[cIndex] = std::numeric_limits<double>::max();
+	}
+}
+
+void Tools::Geometry::Point::makeDimension(unsigned long dimension)
+{
+	if (m_dimension != dimension)
+	{
+		delete[] m_pCoords;
+
+		// remember that this is not a constructor. The object will be destructed normally if
+		// something goes wrong (bad_alloc), so we must take care not to leave the object at an intermediate state.
+		m_pCoords = 0;
+
+		m_dimension = dimension;
+		m_pCoords = new double[m_dimension];
+	}
+}
+
+std::ostream& Tools::Geometry::operator<<(std::ostream& os, const Point& pt)
+{
+	for (unsigned long cDim = 0; cDim < pt.m_dimension; cDim++)
+	{
+		os << pt.m_pCoords[cDim] << " ";
+	}
+
+	return os;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Region.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Region.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/geometry/Region.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,542 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <Tools.h>
+
+Tools::Geometry::Region::Region()
+	: m_dimension(0), m_pLow(0), m_pHigh(0)
+{
+}
+
+Tools::Geometry::Region::Region(const double* pLow, const double* pHigh, unsigned long dimension)
+{
+	initialize(pLow, pHigh, dimension);
+}
+
+Tools::Geometry::Region::Region(const Point& low, const Point& high)
+{
+	if (low.m_dimension != high.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::Region: arguments have different number of dimensions."
+		);
+
+	initialize(low.m_pCoords, high.m_pCoords, low.m_dimension);
+}
+
+Tools::Geometry::Region::Region(const Region& r)
+{
+	initialize(r.m_pLow, r.m_pHigh, r.m_dimension);
+}
+
+void Tools::Geometry::Region::initialize(const double* pLow, const double* pHigh, unsigned long dimension)
+{
+	m_pLow = 0;
+	m_dimension = dimension;
+
+#ifndef NDEBUG
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		if (pLow[cDim] > pHigh[cDim])
+		{
+			throw Tools::IllegalArgumentException(
+				"Tools::Geometry::Region::initialize: Low point has larger coordinates than High point."
+			);
+		}
+	}
+#endif
+
+	try
+	{
+		m_pLow = new double[m_dimension];
+		m_pHigh = new double[m_dimension];
+	}
+	catch (...)
+	{
+		delete[] m_pLow;
+		throw;
+	}
+
+	memcpy(m_pLow, pLow, m_dimension * sizeof(double));
+	memcpy(m_pHigh, pHigh, m_dimension * sizeof(double));
+}
+
+Tools::Geometry::Region::~Region()
+{
+	delete[] m_pLow;
+	delete[] m_pHigh;
+}
+
+Tools::Geometry::Region& Tools::Geometry::Region::operator=(const Region& r)
+{
+	if(this != &r)
+	{
+		makeDimension(r.m_dimension);
+		memcpy(m_pLow, r.m_pLow, m_dimension * sizeof(double));
+		memcpy(m_pHigh, r.m_pHigh, m_dimension * sizeof(double));
+	}
+
+	return *this;
+}
+
+bool Tools::Geometry::Region::operator==(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::operator==: Regions have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (
+			m_pLow[i] < r.m_pLow[i] - std::numeric_limits<double>::epsilon() ||
+			m_pLow[i] > r.m_pLow[i] + std::numeric_limits<double>::epsilon() ||
+			m_pHigh[i] < r.m_pHigh[i] - std::numeric_limits<double>::epsilon() ||
+			m_pHigh[i] > r.m_pHigh[i] + std::numeric_limits<double>::epsilon())
+			return false;
+	}
+	return true;
+}
+
+//
+// IObject interface
+//
+Tools::Geometry::Region* Tools::Geometry::Region::clone()
+{
+	return new Region(*this);
+}
+
+//
+// ISerializable interface
+//
+unsigned long Tools::Geometry::Region::getByteArraySize()
+{
+	return (sizeof(unsigned long) + 2 * m_dimension * sizeof(double));
+}
+
+void Tools::Geometry::Region::loadFromByteArray(const byte* ptr)
+{
+	unsigned long dimension;
+	memcpy(&dimension, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	makeDimension(dimension);
+	memcpy(m_pLow, ptr, m_dimension * sizeof(double));
+	ptr += m_dimension * sizeof(double);
+	memcpy(m_pHigh, ptr, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+void Tools::Geometry::Region::storeToByteArray(byte** data, unsigned long& len)
+{
+	len = getByteArraySize();
+	*data = new byte[len];
+	byte* ptr = *data;
+
+	memcpy(ptr, &m_dimension, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, m_pLow, m_dimension * sizeof(double));
+	ptr += m_dimension * sizeof(double);
+	memcpy(ptr, m_pHigh, m_dimension * sizeof(double));
+	//ptr += m_dimension * sizeof(double);
+}
+
+//
+// IShape interface
+//
+bool Tools::Geometry::Region::intersectsShape(const IShape& s) const
+{
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0) return intersectsRegion(*pr);
+
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0) return containsPoint(*ppt);
+
+	throw IllegalStateException(
+		"Tools::Geometry::Region::intersectsShape: Not implemented yet!"
+	);
+}
+
+bool Tools::Geometry::Region::containsShape(const IShape& s) const
+{
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0) return containsRegion(*pr);
+
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0) return containsPoint(*ppt);
+
+	throw IllegalStateException(
+		"Tools::Geometry::Region::containsShape: Not implemented yet!"
+	);
+}
+
+bool Tools::Geometry::Region::touchesShape(const IShape& s) const
+{
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0) return touchesRegion(*pr);
+
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0) return touchesPoint(*ppt);
+
+	throw IllegalStateException(
+		"Tools::Geometry::Region::touchesShape: Not implemented yet!"
+	);
+}
+
+void Tools::Geometry::Region::getCenter(Point& out) const
+{
+	out.makeDimension(m_dimension);
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		out.m_pCoords[i] = (m_pLow[i] + m_pHigh[i]) / 2.0;
+	}
+}
+
+unsigned long Tools::Geometry::Region::getDimension() const
+{
+	return m_dimension;
+}
+
+void Tools::Geometry::Region::getMBR(Region& out) const
+{
+	out = *this;
+}
+
+double Tools::Geometry::Region::getArea() const
+{
+	double area = 1.0;
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		area *= m_pHigh[i] - m_pLow[i];
+	}
+
+	return area;
+}
+
+double Tools::Geometry::Region::getMinimumDistance(const IShape& s) const
+{
+	const Region* pr = dynamic_cast<const Region*>(&s);
+	if (pr != 0) return getMinimumDistance(*pr);
+
+	const Point* ppt = dynamic_cast<const Point*>(&s);
+	if (ppt != 0) return getMinimumDistance(*ppt);
+
+	throw IllegalStateException(
+		"Tools::Geometry::Region::getMinimumDistance: Not implemented yet!"
+	);
+}
+
+bool Tools::Geometry::Region::intersectsRegion(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::intersectsRegion: Regions have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (m_pLow[i] > r.m_pHigh[i] || m_pHigh[i] < r.m_pLow[i]) return false;
+	}
+	return true;
+}
+
+bool Tools::Geometry::Region::containsRegion(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::containsRegion: Regions have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (m_pLow[i] > r.m_pLow[i] || m_pHigh[i] < r.m_pHigh[i]) return false;
+	}
+	return true;
+}
+
+bool Tools::Geometry::Region::touchesRegion(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::touchesRegion: Regions have different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (
+			(m_pLow[i] >= r.m_pLow[i] - std::numeric_limits<double>::epsilon() &&
+			 m_pLow[i] <= r.m_pLow[i] + std::numeric_limits<double>::epsilon()) ||
+			(m_pHigh[i] >= r.m_pHigh[i] - std::numeric_limits<double>::epsilon() &&
+			 m_pHigh[i] <= r.m_pHigh[i] + std::numeric_limits<double>::epsilon()))
+			return true;
+	}
+	return false;
+}
+
+double Tools::Geometry::Region::getMinimumDistance(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::getMinimumDistance: Regions have different number of dimensions."
+		);
+
+	double ret = 0.0;
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		double x = 0.0;
+
+		if (r.m_pHigh[i] < m_pLow[i])
+		{
+			x = std::abs(r.m_pHigh[i] - m_pLow[i]);
+		}
+		else if (m_pHigh[i] < r.m_pLow[i])
+		{
+			x = std::abs(r.m_pLow[i] - m_pHigh[i]);
+		}
+
+		ret += x * x;
+	}
+
+	return std::sqrt(ret);
+}
+
+bool Tools::Geometry::Region::containsPoint(const Point& p) const
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::containsPoint: Point has different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (m_pLow[i] > p.getCoordinate(i) || m_pHigh[i] < p.getCoordinate(i)) return false;
+	}
+	return true;
+}
+
+bool Tools::Geometry::Region::touchesPoint(const Point& p) const
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::touchesPoint: Point has different number of dimensions."
+		);
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (
+			(m_pLow[i] >= p.getCoordinate(i) - std::numeric_limits<double>::epsilon() &&
+			 m_pLow[i] <= p.getCoordinate(i) + std::numeric_limits<double>::epsilon()) ||
+			(m_pHigh[i] >= p.getCoordinate(i) - std::numeric_limits<double>::epsilon() &&
+			 m_pHigh[i] <= p.getCoordinate(i) + std::numeric_limits<double>::epsilon()))
+			return true;
+	}
+	return false;
+}
+
+double Tools::Geometry::Region::getMinimumDistance(const Point& p) const
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::getMinimumDistance: Point has different number of dimensions."
+		);
+
+	double ret = 0.0;
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		if (p.getCoordinate(i) < m_pLow[i])
+		{
+			ret += std::pow(m_pLow[i] - p.getCoordinate(i), 2.0);
+		}
+		else if (p.getCoordinate(i) > m_pHigh[i])
+		{
+			ret += std::pow(p.getCoordinate(i) - m_pHigh[i], 2.0);
+		}
+	}
+
+	return std::sqrt(ret);
+}
+
+Tools::Geometry::Region Tools::Geometry::Region::getIntersectingRegion(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::getIntersectingRegion: Regions have different number of dimensions."
+		);
+
+	Region ret;
+	ret.makeInfinite(m_dimension);
+
+	// check for intersection.
+	// marioh: avoid function call since this is called billions of times.
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		if (m_pLow[cDim] > r.m_pHigh[cDim] || m_pHigh[cDim] < r.m_pLow[cDim]) return ret;
+	}
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		ret.m_pLow[cDim] = std::max(m_pLow[cDim], r.m_pLow[cDim]);
+		ret.m_pHigh[cDim] = std::min(m_pHigh[cDim], r.m_pHigh[cDim]);
+	}
+
+	return ret;
+}
+
+double Tools::Geometry::Region::getIntersectingArea(const Region& r) const
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::getIntersectingArea: Regions have different number of dimensions."
+		);
+
+	double ret = 1.0;
+	double f1, f2;
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		if (m_pLow[cDim] > r.m_pHigh[cDim] || m_pHigh[cDim] < r.m_pLow[cDim]) return 0.0;
+
+		f1 = std::max(m_pLow[cDim], r.m_pLow[cDim]);
+		f2 = std::min(m_pHigh[cDim], r.m_pHigh[cDim]);
+		ret *= f2 - f1;
+	}
+
+	return ret;
+}
+
+/*
+ * Returns the margin of a region. It is calcuated as the sum of  2^(d-1) * width, in each dimension.
+ * It is actually the sum of all edges, no matter what the dimensionality is.
+*/
+double Tools::Geometry::Region::getMargin() const
+{
+	double mul = std::pow(2.0, static_cast<double>(m_dimension) - 1.0);
+	double margin = 0.0;
+
+	for (unsigned long i = 0; i < m_dimension; i++)
+	{
+		margin += (m_pHigh[i] - m_pLow[i]) * mul;
+	}
+
+	return margin;
+}
+
+void Tools::Geometry::Region::combineRegion(const Region& r)
+{
+	if (m_dimension != r.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::combineRegion: Region has different number of dimensions."
+		);
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		m_pLow[cDim] = std::min(m_pLow[cDim], r.m_pLow[cDim]);
+		m_pHigh[cDim] = std::max(m_pHigh[cDim], r.m_pHigh[cDim]);
+	}
+}
+
+void Tools::Geometry::Region::combinePoint(const Point& p)
+{
+	if (m_dimension != p.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::combinePoint: Point has different number of dimensions."
+		);
+
+	for (unsigned long cDim = 0; cDim < m_dimension; cDim++)
+	{
+		m_pLow[cDim] = std::min(m_pLow[cDim], p.m_pCoords[cDim]);
+		m_pHigh[cDim] = std::max(m_pHigh[cDim], p.m_pCoords[cDim]);
+	}
+}
+
+void Tools::Geometry::Region::getCombinedRegion(Region& out, const Region& in) const
+{
+	if (m_dimension != in.m_dimension)
+		throw IllegalArgumentException(
+			"Tools::Geometry::Region::getCombinedRegion: Regions have different number of dimensions."
+		);
+
+	out = *this;
+	out.combineRegion(in);
+}
+
+double Tools::Geometry::Region::getLow(unsigned long index) const
+{
+	if (index < 0 || index >= m_dimension)
+		throw IndexOutOfBoundsException(index);
+
+	return m_pLow[index];
+}
+
+double Tools::Geometry::Region::getHigh(unsigned long index) const
+{
+	if (index < 0 || index >= m_dimension)
+		throw IndexOutOfBoundsException(index);
+
+	return m_pHigh[index];
+}
+
+void Tools::Geometry::Region::makeInfinite(unsigned long dimension)
+{
+	makeDimension(dimension);
+	for (unsigned long cIndex = 0; cIndex < m_dimension; cIndex++)
+	{
+		m_pLow[cIndex] = std::numeric_limits<double>::max();
+		m_pHigh[cIndex] = -std::numeric_limits<double>::max();
+	}
+}
+
+void Tools::Geometry::Region::makeDimension(unsigned long dimension)
+{
+	if (m_dimension != dimension)
+	{
+		delete[] m_pLow;
+		delete[] m_pHigh;
+
+		// remember that this is not a constructor. The object will be destructed normally if
+		// something goes wrong (bad_alloc), so we must take care not to leave the object at an intermediate state.
+		m_pLow = 0; m_pHigh = 0;
+
+		m_dimension = dimension;
+		m_pLow = new double[m_dimension];
+		m_pHigh = new double[m_dimension];
+	}
+}
+
+std::ostream& Tools::Geometry::operator<<(std::ostream& os, const Region& r)
+{
+	unsigned long i;
+
+	os << "Low: ";
+	for (i = 0; i < r.m_dimension; i++)
+	{
+		os << r.m_pLow[i] << " ";
+	}
+
+	os << ", High: ";
+
+	for (i = 0; i < r.m_dimension; i++)
+	{
+		os << r.m_pHigh[i] << " ";
+	}
+
+	return os;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/LineSegment.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/LineSegment.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/LineSegment.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,88 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_geometry_linesegment_h
+#define __tools_geometry_linesegment_h
+
+namespace Tools
+{
+	namespace Geometry
+	{
+		class LineSegment : public IObject, public virtual IShape
+		{
+		public:
+			LineSegment();
+			LineSegment(const double* startPoint, const double* endPoint, unsigned long dimension);
+			LineSegment(const Point& startPoint, const Point& endPoint);
+			LineSegment(const LineSegment& l);
+			virtual ~LineSegment();
+
+			virtual LineSegment& operator=(const LineSegment& p);
+			virtual bool operator==(const LineSegment& p) const;
+
+			//
+			// IObject interface
+			//
+			virtual LineSegment* clone();
+
+			//
+			// ISerializable interface
+			//
+			virtual unsigned long getByteArraySize();
+			virtual void loadFromByteArray(const byte* data);
+			virtual void storeToByteArray(byte** data, unsigned long& length);
+
+			//
+			// IShape interface
+			//
+			virtual bool intersectsShape(const IShape& in) const;
+			virtual bool containsShape(const IShape& in) const;
+			virtual bool touchesShape(const IShape& in) const;
+			virtual void getCenter(Point& out) const;
+			virtual unsigned long getDimension() const;
+			virtual void getMBR(Region& out) const;
+			virtual double getArea() const;
+			virtual double getMinimumDistance(const IShape& in) const;
+
+			virtual double getMinimumDistance(const Point& p) const;
+			//virtual double getMinimumDistance(const Region& r) const;
+			virtual double getRelativeMinimumDistance(const Point& p) const;
+			virtual double getRelativeMaximumDistance(const Region& r) const;
+			virtual double getAngleOfPerpendicularRay();
+
+			virtual void makeInfinite(unsigned long dimension);
+			virtual void makeDimension(unsigned long dimension);
+
+		public:
+			unsigned long m_dimension;
+			double* m_pStartPoint;
+			double* m_pEndPoint;
+
+			friend class Region;
+			friend class Point;
+			friend std::ostream& operator<<(std::ostream& os, const LineSegment& pt);
+		}; // Point
+
+		std::ostream& operator<<(std::ostream& os, const LineSegment& pt);
+	}
+}
+
+#endif /*__tools_geometry_linesegment_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/Point.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/Point.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/Point.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,83 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_geometry_point_h
+#define __tools_geometry_point_h
+
+namespace Tools
+{
+	namespace Geometry
+	{
+		class Point : public IObject, public virtual IShape
+		{
+		public:
+			Point();
+			Point(const double* pCoords, unsigned long dimension);
+			Point(const Point& p);
+			virtual ~Point();
+
+			virtual Point& operator=(const Point& p);
+			virtual bool operator==(const Point& p) const;
+
+			//
+			// IObject interface
+			//
+			virtual Point* clone();
+
+			//
+			// ISerializable interface
+			//
+			virtual unsigned long getByteArraySize();
+			virtual void loadFromByteArray(const byte* data);
+			virtual void storeToByteArray(byte** data, unsigned long& length);
+
+			//
+			// IShape interface
+			//
+			virtual bool intersectsShape(const IShape& in) const;
+			virtual bool containsShape(const IShape& in) const;
+			virtual bool touchesShape(const IShape& in) const;
+			virtual void getCenter(Point& out) const;
+			virtual unsigned long getDimension() const;
+			virtual void getMBR(Region& out) const;
+			virtual double getArea() const;
+			virtual double getMinimumDistance(const IShape& in) const;
+
+			virtual double getMinimumDistance(const Point& p) const;
+
+			virtual double getCoordinate(unsigned long index) const;
+
+			virtual void makeInfinite(unsigned long dimension);
+			virtual void makeDimension(unsigned long dimension);
+
+		public:
+			unsigned long m_dimension;
+			double* m_pCoords;
+
+			friend class Region;
+			friend std::ostream& operator<<(std::ostream& os, const Point& pt);
+		}; // Point
+
+		std::ostream& operator<<(std::ostream& os, const Point& pt);
+	}
+}
+
+#endif /*__tools_geometry_point_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/PointerPool.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/PointerPool.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/PointerPool.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,123 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_pointer_pool_h
+#define __tools_pointer_pool_h
+
+#include "PoolPointer.h"
+
+#define NDEBUG 1
+
+namespace Tools
+{
+	template <class X> class PointerPool
+	{
+//		class PoolPointer<X>;
+
+	public:
+		explicit PointerPool(unsigned long capacity) : m_capacity(capacity)
+		{
+			#ifndef NDEBUG
+			m_hits = 0;
+			m_misses = 0;
+			m_pointerCount = 0;
+			#endif
+		}
+
+		~PointerPool()
+		{
+			assert(m_pool.size() <= m_capacity);
+
+			while (! m_pool.empty())
+			{
+				X* x = m_pool.top(); m_pool.pop();
+				#ifndef NDEBUG
+				m_pointerCount--;
+				#endif
+				delete x;
+			}
+
+			#ifndef NDEBUG
+			std::cerr << "Lost pointers: " << m_pointerCount << std::endl;
+			#endif
+		}
+
+		PoolPointer<X> acquire()
+		{
+			X* p = 0;
+
+			if (! m_pool.empty())
+			{
+				p = m_pool.top(); m_pool.pop();
+				#ifndef NDEBUG
+				m_hits++;
+				#endif
+			}
+			else
+			{
+				p = new X();
+				#ifndef NDEBUG
+				m_pointerCount++;
+				m_misses++;
+				#endif
+			}
+
+			return PoolPointer<X>(p, this);
+		}
+
+		void release(X* p)
+		{
+			if (m_pool.size() < m_capacity)
+			{
+				m_pool.push(p);
+			}
+			else
+			{
+				#ifndef NDEBUG
+				m_pointerCount--;
+				#endif
+				delete p;
+			}
+
+			assert(m_pool.size() <= m_capacity);
+		}
+
+		unsigned long getCapacity() const { return m_capacity; }
+		void setCapacity(unsigned long c)
+		{
+			assert (c >= 0);
+			m_capacity = c;
+		}
+
+	private:
+		unsigned long m_capacity;
+		std::stack<X*> m_pool;
+
+	#ifndef NDEBUG
+	public:
+		unsigned long m_hits;
+		unsigned long m_misses;
+		long m_pointerCount;
+	#endif
+	};
+}
+
+#endif /* __tools_pointer_pool_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/PoolPointer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/PoolPointer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/PoolPointer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,98 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_pool_pointer_h
+#define __tools_pool_pointer_h
+
+#include "PointerPool.h"
+
+namespace Tools
+{
+	template <class X> class PointerPool;
+
+	template <class X> class PoolPointer
+	{
+	public:
+		explicit PoolPointer(X* p = 0) : m_pointer(p), m_pPool(0) { m_prev = m_next = this; }
+		explicit PoolPointer(X* p, PointerPool<X>* pPool) throw() : m_pointer(p), m_pPool(pPool) { m_prev = m_next = this; }
+		~PoolPointer() { release(); }
+		PoolPointer(const PoolPointer& p) throw() { acquire(p); }
+		PoolPointer& operator=(const PoolPointer& p)
+		{
+			if (this != &p)
+			{
+				release();
+				acquire(p);
+			}
+			return *this;
+		}
+
+		X& operator*() const throw() { return *m_pointer; }
+		X* operator->() const throw() { return m_pointer; }
+		X* get() const throw() { return m_pointer; }
+		bool unique() const throw() { return m_prev ? m_prev == this : true; }
+		void relinquish() throw()
+		{
+			m_pPool = 0;
+			m_pointer = 0;
+			release();
+		}
+
+	private:
+		X* m_pointer;
+		mutable const PoolPointer* m_prev;
+		mutable const PoolPointer* m_next;
+		PointerPool<X>* m_pPool;
+
+		void acquire(const PoolPointer& p) throw()
+		{
+			m_pPool = p.m_pPool;
+			m_pointer = p.m_pointer;
+			m_next = p.m_next;
+			m_next->m_prev = this;
+			m_prev = &p;
+			#ifndef mutable
+			p.m_next = this;
+			#else
+			(const_cast<linked_ptr<X>*>(&p))->m_next = this;
+			#endif
+		}
+
+		void release()
+		{
+			if (unique())
+			{
+				if (m_pPool != 0) m_pPool->release(m_pointer);
+				else delete m_pointer;
+			}
+			else
+			{
+				m_prev->m_next = m_next;
+				m_next->m_prev = m_prev;
+				m_prev = m_next = 0;
+			}
+			m_pointer = 0;
+			m_pPool = 0;
+		}
+	};
+}
+
+#endif /* __tools_pool_pointer_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/RTree.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/RTree.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/RTree.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,98 @@
+// Spatial Index Library
+//
+// Copyright (C) 2003 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_h
+#define __spatialindex_rtree_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		enum RTreeVariant
+		{
+			RV_LINEAR = 0x0,
+			RV_QUADRATIC,
+			RV_RSTAR
+		};
+
+		enum BulkLoadMethod
+		{
+			BLM_STR = 0x0
+		};
+
+		enum PersistenObjectIdentifier
+		{
+			PersistentIndex = 0x1,
+			PersistentLeaf = 0x2
+		};
+
+		enum RangeQueryType
+		{
+			ContainmentQuery = 0x1,
+			IntersectionQuery = 0x2
+		};
+
+		class Data : public IData, public Tools::ISerializable
+		{
+		public:
+			Data(unsigned long len, byte* pData, Tools::Geometry::Region& r, long id);
+			virtual ~Data();
+
+			virtual Data* clone();
+			virtual long getIdentifier() const;
+			virtual void getShape(IShape** out) const;
+			virtual void getData(unsigned long& len, byte** data) const;
+			virtual unsigned long getByteArraySize();
+			virtual void loadFromByteArray(const byte* data);
+			virtual void storeToByteArray(byte** data, unsigned long& len);
+
+			long m_id;
+                        Tools::Geometry::Region m_region;
+			byte* m_pData;
+			unsigned long m_dataLength;
+		}; // Data
+
+		extern ISpatialIndex* returnRTree(IStorageManager& in, Tools::PropertySet& in);
+		extern ISpatialIndex* createNewRTree(
+			IStorageManager& sm,
+			double fillFactor,
+			unsigned long indexCapacity,
+			unsigned long leafCapacity,
+			unsigned long dimension,
+			RTreeVariant rv,
+			long& indexIdentifier
+		);
+		extern ISpatialIndex* createAndBulkLoadNewRTree(
+			BulkLoadMethod m,
+			IDataStream& stream,
+			IStorageManager& sm,
+			double fillFactor,
+			unsigned long indexCapacity,
+			unsigned long leafCapacity,
+			unsigned long dimension,
+			RTreeVariant rv,
+			long& indexIdentifier
+		);
+		extern ISpatialIndex* loadRTree(IStorageManager& in, long indexIdentifier);
+	}
+}
+
+#endif /* __spatialindex_rtree_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/Region.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/Region.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/Region.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,103 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_geometry_region_h
+#define __tools_geometry_region_h
+
+namespace Tools
+{
+	namespace Geometry
+	{
+		class Region : public IObject, public virtual IShape
+		{
+		public:
+			Region();
+			Region(const double* pLow, const double* pHigh, unsigned long dimension);
+			Region(const Point& low, const Point& high);
+			Region(const Region& in);
+			virtual ~Region();
+
+			virtual Region& operator=(const Region& r);
+			virtual bool operator==(const Region&) const;
+
+			//
+			// IObject interface
+			//
+			virtual Region* clone();
+
+			//
+			// ISerializable interface
+			//
+			virtual unsigned long getByteArraySize();
+			virtual void loadFromByteArray(const byte* data);
+			virtual void storeToByteArray(byte** data, unsigned long& length);
+
+			//
+			// IShape interface
+			//
+			virtual bool intersectsShape(const IShape& in) const;
+			virtual bool containsShape(const IShape& in) const;
+			virtual bool touchesShape(const IShape& in) const;
+			virtual void getCenter(Point& out) const;
+			virtual unsigned long getDimension() const;
+			virtual void getMBR(Region& out) const;
+			virtual double getArea() const;
+			virtual double getMinimumDistance(const IShape& in) const;
+
+			virtual bool intersectsRegion(const Region& in) const;
+			virtual bool containsRegion(const Region& in) const;
+			virtual bool touchesRegion(const Region& in) const;
+			virtual double getMinimumDistance(const Region& in) const;
+
+			virtual bool containsPoint(const Point& in) const;
+			virtual bool touchesPoint(const Point& in) const;
+			virtual double getMinimumDistance(const Point& in) const;
+
+			virtual Region getIntersectingRegion(const Region& r) const;
+			virtual double getIntersectingArea(const Region& in) const;
+			virtual double getMargin() const;
+
+			virtual void combineRegion(const Region& in);
+			virtual void combinePoint(const Point& in);
+			virtual void getCombinedRegion(Region& out, const Region& in) const;
+
+			virtual double getLow(unsigned long index) const;
+			virtual double getHigh(unsigned long index) const;
+
+			virtual void makeInfinite(unsigned long dimension);
+			virtual void makeDimension(unsigned long dimension);
+
+		private:
+			void initialize(const double* pLow, const double* pHigh, unsigned long dimension);
+
+		public:
+			unsigned long m_dimension;
+			double* m_pLow;
+			double* m_pHigh;
+
+			friend std::ostream& operator<<(std::ostream& os, const Region& r);
+		}; // Region
+
+		std::ostream& operator<<(std::ostream& os, const Region& r);
+	}
+}
+
+#endif /*__tools_geometry_region_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/SmartPointer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/SmartPointer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/SmartPointer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,80 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_smart_pointer_h
+#define __tools_smart_pointer_h
+
+namespace Tools
+{
+	template <class X> class SmartPointer
+	{
+	public:
+		explicit SmartPointer(X* p = 0) throw() : m_pointer(p) { m_prev = m_next = this; }
+		~SmartPointer()	{ release(); }
+		SmartPointer(const SmartPointer& p) throw() { acquire(p); }
+		SmartPointer& operator=(const SmartPointer& p)
+		{
+			if (this != &p)
+			{
+				release();
+				acquire(p);
+			}
+			return *this;
+		}
+
+		X& operator*() const throw() { return *m_pointer; }
+		X* operator->() const throw() { return m_pointer; }
+		X* get() const throw() { return m_pointer; }
+		bool unique() const throw() { return m_prev ? m_prev == this : true; }
+
+	private:
+		X* m_pointer;
+		mutable const SmartPointer* m_prev;
+		mutable const SmartPointer* m_next;
+
+		void acquire(const SmartPointer& p) throw()
+		{
+			m_pointer = p.m_pointer;
+			m_next = p.m_next;
+			m_next->m_prev = this;
+			m_prev = &p;
+			#ifndef mutable
+			p.m_next = this;
+			#else
+			(const_cast<linked_ptr<X>*>(&p))->m_next = this;
+			#endif
+		}
+
+		void release()
+		{
+			if (unique()) delete m_pointer;
+			else
+			{
+				m_prev->m_next = m_next;
+				m_next->m_prev = m_prev;
+				m_prev = m_next = 0;
+			}
+			m_pointer = 0;
+		}
+	};
+}
+
+#endif /* __tools_smart_pointer_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/SpatialIndex.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/SpatialIndex.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/SpatialIndex.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,205 @@
+// Spatial Index Library
+//
+// Copyright (C) 2003 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_h
+#define __spatialindex_h
+
+#include <assert.h>
+#include <iostream>
+#include <vector>
+#include <map>
+#include <limits>
+#include <stack>
+#include <queue>
+#include <set>
+#include <cmath>
+#include <string>
+#include <sstream>
+
+#include "Tools.h"
+
+using namespace Tools::Geometry;
+
+# if !HAVE_BZERO
+#  define bzero(d, n) memset((d), 0, (n))
+# endif
+
+namespace SpatialIndex
+{
+	//const std::string VERSION;
+	//const std::string DATE;
+
+	enum CommandType
+	{
+		CT_NODEREAD = 0x0,
+		CT_NODEDELETE,
+		CT_NODEWRITE
+	};
+
+	//
+	// Interfaces
+	//
+	interface IEntry : public Tools::IObject
+	{
+	public:
+		virtual long getIdentifier() const = 0;
+		virtual void getShape(IShape** out) const = 0;
+		virtual ~IEntry() {}
+	}; // IEntry
+
+	interface INode : public IEntry, public Tools::ISerializable
+	{
+	public:
+		virtual unsigned long getChildrenCount() const = 0;
+		virtual long getChildIdentifier(unsigned long index) const = 0;
+		virtual void getChildShape(unsigned long index, IShape** out) const = 0;
+		virtual unsigned long getLevel() const = 0;
+		virtual bool isIndex() const = 0;
+		virtual bool isLeaf() const = 0;
+		virtual ~INode() {}
+	}; // INode
+
+	interface IData : public IEntry
+	{
+	public:
+		virtual void getData(unsigned long& len, byte** data) const = 0;
+		virtual ~IData() {}
+	}; // IData
+
+	interface IDataStream : public Tools::IObjectStream
+	{
+	public:
+		virtual IData* getNext() = 0;
+		virtual ~IDataStream() {}
+	}; // IDataStream
+
+	interface ICommand
+	{
+	public:
+		virtual void execute(const INode& in) = 0;
+		virtual ~ICommand() {}
+	}; // ICommand
+
+	interface INearestNeighborComparator
+	{
+	public:
+		virtual double getMinimumDistance(const IShape& query, const IShape& entry) = 0;
+		virtual double getMinimumDistance(const IShape& query, const IData& data) = 0;
+		virtual ~INearestNeighborComparator() {}
+	}; // INearestNeighborComparator
+
+	interface IStorageManager
+	{
+	public:
+		virtual void loadByteArray(const long id, unsigned long& len, byte** data) = 0;
+		virtual void storeByteArray(long& id, const unsigned long len, const byte* const data) = 0;
+		virtual void deleteByteArray(const long id) = 0;
+		virtual ~IStorageManager() {}
+	}; // IStorageManager
+
+	interface IVisitor
+	{
+	public:
+		virtual void visitNode(const INode& in) = 0;
+		virtual void visitData(const IData& in) = 0;
+		virtual void visitData(std::vector<const IData*>& v) = 0;
+		virtual ~IVisitor() {}
+	}; // IVisitor
+
+	interface IQueryStrategy
+	{
+	public:
+		virtual void getNextEntry(const IEntry& previouslyFetched, long& nextEntryToFetch, bool& bFetchNextEntry) = 0;
+		virtual ~IQueryStrategy() {}
+	}; // IQueryStrategy
+
+	interface IStatistics
+	{
+	public:
+		virtual unsigned long getReads() const = 0;
+		virtual unsigned long getWrites() const = 0;
+		virtual unsigned long getNumberOfNodes() const = 0;
+		virtual unsigned long getNumberOfData() const = 0;
+		virtual ~IStatistics() {}
+	}; // IStatistics
+
+	interface ISpatialIndex
+	{
+	public:
+		virtual void insertData(unsigned long len, const byte* pData, const IShape& shape, long shapeIdentifier) = 0;
+		virtual bool deleteData(const IShape& shape, long shapeIdentifier) = 0;
+		virtual void containsWhatQuery(const IShape& query, IVisitor& v)  = 0;
+		virtual void intersectsWithQuery(const IShape& query, IVisitor& v) = 0;
+		virtual void pointLocationQuery(const Tools::Geometry::Point& query, IVisitor& v) = 0;
+		virtual void nearestNeighborQuery(long k, const IShape& query, IVisitor& v, INearestNeighborComparator& nnc) = 0;
+		virtual void nearestNeighborQuery(long k, const IShape& query, IVisitor& v) = 0;
+		virtual void selfJoinQuery(const IShape& s, IVisitor& v) = 0;
+		virtual void queryStrategy(IQueryStrategy& qs) = 0;
+		virtual void getIndexProperties(Tools::PropertySet& out) const = 0;
+		virtual void addCommand(ICommand* in, CommandType ct) = 0;
+		virtual bool isIndexValid() = 0;
+		virtual void getStatistics(IStatistics** out) const = 0;
+		virtual ~ISpatialIndex() {}
+	}; // ISpatialIndex
+
+	namespace StorageManager
+	{
+		enum StorageManagerConstants
+		{
+			EmptyPage = -0x1,
+			NewPage = -0x1
+		};
+
+		interface IBuffer : public IStorageManager
+		{
+		public:
+			virtual unsigned long getHits() = 0;
+			virtual void clear() = 0;
+			virtual ~IBuffer() {}
+		}; // IBuffer
+
+		extern IStorageManager* returnMemoryStorageManager(Tools::PropertySet& in);
+		extern IStorageManager* createNewMemoryStorageManager();
+
+		extern IStorageManager* returnDiskStorageManager(Tools::PropertySet& in);
+		extern IStorageManager* createNewDiskStorageManager(std::string& baseName, unsigned long pageSize);
+		extern IStorageManager* loadDiskStorageManager(std::string& baseName);
+
+		extern IBuffer* returnRandomEvictionsBuffer(IStorageManager& in, Tools::PropertySet& in);
+		extern IBuffer* createNewRandomEvictionsBuffer(IStorageManager& in, unsigned int capacity, bool bWriteThrough);
+	}
+
+	//
+	// Global functions
+	//
+	extern std::ostream& operator<<(std::ostream&, const ISpatialIndex&);
+	extern std::ostream& operator<<(std::ostream&, const IStatistics&);
+}
+
+//#include "TimePoint.h"
+//#include "TimeRegion.h"
+//#include "MovingPoint.h"
+//#include "MovingRegion.h"
+#include "RTree.h"
+//#include "MVRTree.h"
+//#include "TPRTree.h"
+
+#endif /*__spatialindex_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/TemporaryFile.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/TemporaryFile.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/TemporaryFile.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,51 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_temporary_file_h
+#define __tools_temporary_file_h
+
+namespace Tools
+{
+	class TemporaryFile
+	{
+	public:
+		TemporaryFile();
+		virtual ~TemporaryFile();
+
+		void storeNextObject(ISerializable* r);
+		void storeNextObject(unsigned long len, const byte* const data);
+		void loadNextObject(ISerializable* r);
+		void loadNextObject(byte** data, unsigned long& len);
+
+		void rewindForReading();
+		void rewindForWriting();
+
+	private:
+		std::fstream m_file;
+		std::vector<std::string> m_strFileName;
+		unsigned long m_currentFile;
+		unsigned long m_fileSize;
+		bool m_bEOF;
+	}; // TemporaryFile
+}
+
+#endif /* __tools_temporary_file_h */
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/include/Tools.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/include/Tools.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/include/Tools.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,766 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_h
+#define __tools_h
+
+#include <stdint.h>
+#include <assert.h>
+#include <iostream>
+#include <iomanip>
+#include <iterator>
+#include <string>
+#include <sstream>
+#include <fstream>
+#include <queue>
+#include <vector>
+#include <map>
+#include <set>
+#include <stack>
+#include <list>
+#include <algorithm>
+#include <cmath>
+#include <climits>
+
+#if TIME_WITH_SYS_TIME
+	#include <sys/time.h>
+	#include <time.h>
+#else
+	#if HAVE_SYS_TIME_H
+		#include <sys/time.h>
+	#else
+		#include <time.h>
+	#endif
+#endif
+
+#ifndef WIN32
+#include <sys/resource.h>
+#endif
+#include <unistd.h>
+
+#if HAVE_PTHREAD_H
+#include <pthread.h>
+#endif
+
+#include "SmartPointer.h"
+#include "PointerPool.h"
+#include "PoolPointer.h"
+
+typedef uint8_t byte;
+
+#define interface class
+
+namespace Tools
+{
+	enum IntervalType
+	{
+		IT_RIGHTOPEN = 0x0,
+		IT_LEFTOPEN,
+		IT_OPEN,
+		IT_CLOSED
+	};
+
+	enum Level
+	{
+		LVL_VERYLOW = 0x0,
+		LVL_LOW,
+		LVL_MEDIUM,
+		LVL_HIGH,
+		LVL_VERYHIGH
+	};
+
+	enum VariantType
+	{
+		VT_LONG = 0x0,
+		VT_BYTE,
+		VT_SHORT,
+		VT_FLOAT,
+		VT_DOUBLE,
+		VT_CHAR,
+		VT_USHORT,
+		VT_ULONG,
+		VT_INT,
+		VT_UINT,
+		VT_BOOL,
+		VT_PCHAR,
+		VT_PVOID,
+		VT_EMPTY,
+		VT_LONGLONG,
+		VT_ULONGLONG
+	};
+
+	enum Architecture
+	{
+		ARCH_LITTLEENDIAN = 0x0,
+		ARCH_BIGENDIAN,
+		ARCH_NONIEEE
+	};
+
+	enum RandomGeneratorType
+	{
+		RGT_DRAND48 = 0x0,
+		RGT_MERSENNE
+	};
+
+	//
+	// Exceptions
+	//
+	class Exception
+	{
+	public:
+		virtual std::string what() = 0;
+		virtual ~Exception() {}
+	};
+
+	class IndexOutOfBoundsException : public Exception
+	{
+	public:
+		IndexOutOfBoundsException(int i);
+		virtual ~IndexOutOfBoundsException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // IndexOutOfBoundsException
+
+	class IllegalArgumentException : public Exception
+	{
+	public:
+		IllegalArgumentException(std::string s);
+		virtual ~IllegalArgumentException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // IllegalArgumentException
+
+	class IllegalStateException : public Exception
+	{
+	public:
+		IllegalStateException(std::string s);
+		virtual ~IllegalStateException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // IllegalStateException
+
+	class EndOfStreamException : public Exception
+	{
+	public:
+		EndOfStreamException(std::string s);
+		virtual ~EndOfStreamException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // EndOfStreamException
+
+	class ResourceLockedException : public Exception
+	{
+	public:
+		ResourceLockedException(std::string s);
+		virtual ~ResourceLockedException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // ResourceLockedException
+
+	class InvalidPageException : public Exception
+	{
+	public:
+		InvalidPageException(long id);
+		virtual ~InvalidPageException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // InvalidPageException
+
+	class NotSupportedException : public Exception
+	{
+	public:
+		NotSupportedException(std::string s);
+		virtual ~NotSupportedException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // NotSupportedException
+
+	class ParseErrorException : public Exception
+	{
+	public:
+		ParseErrorException(std::string s);
+		virtual ~ParseErrorException() {};
+		virtual std::string what();
+
+	private:
+		std::string m_error;
+	}; // ParseErrorException
+
+	//
+	// Interfaces
+	//
+	interface IInterval
+	{
+	public:
+		virtual ~IInterval() {}
+
+		virtual IInterval& operator=(const IInterval&) = 0;
+		virtual double getLowerBound() const = 0;
+		virtual double getUpperBound() const = 0;
+		virtual void setBounds(double, double) = 0;
+		virtual bool intersectsInterval(const IInterval&) const = 0;
+		virtual bool intersectsInterval(IntervalType type, double start, double end) const = 0;
+		virtual bool containsInterval(const IInterval&) const = 0;
+		virtual IntervalType getIntervalType() const = 0;
+	}; // IInterval
+
+	interface IObject
+	{
+	public:
+		virtual ~IObject() {}
+
+		virtual IObject* clone() = 0;
+			// return a new object that is an exact copy of this one.
+			// IMPORTANT: do not return the this pointer!
+	}; // IObject
+
+	interface ISerializable //: public virtual IObject
+	{
+	public:
+		virtual ~ISerializable() {}
+
+		virtual unsigned long getByteArraySize() = 0;
+			// returns the size of the required byte array.
+		virtual void loadFromByteArray(const byte* data) = 0;
+			// load this object using the byte array.
+		virtual void storeToByteArray(byte** data, unsigned long& length) = 0;
+			// store this object in the byte array.
+	};
+
+	interface IComparable //: public virtual IObject
+	{
+	public:
+		virtual ~IComparable() {}
+
+		virtual bool operator<(const IComparable& o) const = 0;
+		virtual bool operator>(const IComparable& o) const = 0;
+		virtual bool operator==(const IComparable& o) const = 0;
+	}; //IComparable
+
+	interface IObjectComparator
+	{
+	public:
+		virtual ~IObjectComparator() {}
+
+		virtual int compare(IObject* o1, IObject* o2) = 0;
+	}; // IObjectComparator
+
+	interface IObjectStream
+	{
+	public:
+		virtual ~IObjectStream() {}
+
+		virtual IObject* getNext() = 0;
+			// returns a pointer to the next entry in the
+			// stream or 0 at the end of the stream.
+
+		virtual bool hasNext() = 0;
+			// returns true if there are more items in the stream.
+
+		virtual unsigned long size() = 0;
+			// returns the total number of entries available in the stream.
+
+		virtual void rewind() = 0;
+			// sets the stream pointer to the first entry, if possible.
+	}; // IObjectStream
+
+	namespace Geometry
+	{
+		class Region;
+		class Point;
+
+		enum Quadrant
+		{
+			Q_UPPERRIGHT = 0x0,
+			Q_LOWERRIGHT,
+			Q_UPPERLEFT,
+			Q_LOWERLEFT
+		};
+
+		// since all base classes are interfaces (there is no state involved) all
+		// inheritance can be virtual for efficiency.
+		interface IShape : public virtual ISerializable
+		{
+		public:
+			virtual bool intersectsShape(const IShape& in) const = 0;
+			virtual bool containsShape(const IShape& in) const = 0;
+			virtual bool touchesShape(const IShape& in) const = 0;
+			virtual void getCenter(Point& out) const = 0;
+			virtual unsigned long getDimension() const = 0;
+			virtual void getMBR(Region& out) const = 0;
+			virtual double getArea() const = 0;
+			virtual double getMinimumDistance(const IShape& in) const = 0;
+			virtual ~IShape() {}
+		}; // IShape
+
+		// since all base classes are interfaces (there is no state involved) all
+		// inheritance can be virtual for efficiency.
+		interface ITimeShape : public virtual IShape, public virtual IInterval
+		{
+		public:
+			virtual bool intersectsShapeInTime(const ITimeShape& in) const = 0;
+			virtual bool intersectsShapeInTime(const IInterval& ivI, const ITimeShape& in) const = 0;
+			virtual bool containsShapeInTime(const ITimeShape& in) const = 0;
+			virtual bool containsShapeInTime(const IInterval& ivI, const ITimeShape& in) const = 0;
+			virtual bool touchesShapeInTime(const ITimeShape& in) const = 0;
+			virtual bool touchesShapeInTime(const IInterval& ivI, const ITimeShape& in) const = 0;
+			virtual double getAreaInTime() const = 0;
+			virtual double getAreaInTime(const IInterval& ivI) const = 0;
+			virtual double getIntersectingAreaInTime(const ITimeShape& r) const = 0;
+			virtual double getIntersectingAreaInTime(const IInterval& ivI, const ITimeShape& r) const = 0;
+			virtual ~ITimeShape() {}
+		}; // ITimeShape
+
+		// since all base classes are interfaces (there is no state involved) all
+		// inheritance can be virtual for efficiency.
+		interface IEvolvingShape : public virtual IShape
+		{
+		public:
+			virtual void getVMBR(Region& out) const = 0;
+			virtual void getMBRAtTime(double t, Region& out) const = 0;
+			virtual ~IEvolvingShape() {}
+		}; // IEvolvingShape
+	}
+
+	IObjectStream* externalSort(IObjectStream& source, unsigned long bufferSize);
+	IObjectStream* externalSort(IObjectStream& source, IObjectComparator& pComp, unsigned long bufferSize);
+
+	class Variant
+	{
+	public:
+		Variant();
+
+		VariantType m_varType;
+
+		union
+		{
+			long lVal;                 // VT_LONG
+			long long llVal;           // VT_LONGLONG
+			byte bVal;                 // VT_BYTE
+			short iVal;                // VT_SHORT
+			float fltVal;              // VT_FLOAT
+			double dblVal;             // VT_DOUBLE
+			char cVal;                 // VT_CHAR
+			unsigned short uiVal;      // VT_USHORT
+			unsigned long  ulVal;      // VT_ULONG
+			unsigned long long ullVal; // VT_ULONGLONG
+			int intVal;                // VT_INT
+			unsigned int uintVal;      // VT_UINT
+			bool blVal;                // VT_BOOL
+			char* pcVal;          // VT_PCHAR
+			void* pvVal;          // VT_PVOID
+		} m_val;
+	}; // Variant
+
+	class PropertySet : public ISerializable
+	{
+	public:
+		PropertySet() {}
+		PropertySet(const byte* data);
+		virtual ~PropertySet() {}
+
+		Variant getProperty(std::string property);
+		void setProperty(std::string property, Variant& v);
+		void removeProperty(std::string property);
+
+		virtual unsigned long getByteArraySize();
+		virtual void loadFromByteArray(const byte* data);
+		virtual void storeToByteArray(byte** data, unsigned long& length);
+
+	private:
+		std::map<std::string, Variant> m_propertySet;
+
+		friend std::ostream& Tools::operator<<(
+			std::ostream& os,
+			const Tools::PropertySet& p
+		);
+	}; // PropertySet
+
+	std::ostream& operator<<(std::ostream& os, const Tools::PropertySet& p);
+
+	// does not support degenerate intervals.
+	class Interval : public IInterval
+	{
+	public:
+		Interval();
+		Interval(IntervalType, double, double);
+		Interval(double, double);
+		Interval(const Interval&);
+		virtual IInterval& operator=(const IInterval&);
+		virtual Interval& operator=(const Interval&);
+		virtual bool operator==(const Interval&) const;
+		virtual bool operator!=(const Interval&) const;
+		virtual double getLowerBound() const;
+		virtual double getUpperBound() const;
+		virtual void setBounds(double, double);
+		virtual bool intersectsInterval(const IInterval&) const;
+		virtual bool intersectsInterval(IntervalType type, double start, double end) const;
+		virtual bool containsInterval(const IInterval&) const;
+		virtual IntervalType getIntervalType() const;
+		virtual ~Interval() {};
+
+		IntervalType m_type;
+		double m_low;
+		double m_high;
+	}; // Interval
+
+	std::ostream& operator<<(std::ostream& os, const Tools::Interval& iv);
+
+	// Code for the Mersenne generator has been kindly contributed by the MassDAL Code Bank:
+	// http://www.cs.rutgers.edu/~muthu/massdal-code-index.html
+	class Random
+	{
+	public:
+		Random();
+		Random(unsigned long seed);
+		Random(unsigned long seed, RandomGeneratorType t);
+		Random(unsigned long seed, unsigned short xsubi0);
+		virtual ~Random();
+
+		long nextUniformLong();
+			// returns a uniformly distributed long.
+		unsigned long nextUniformUnsignedLong();
+			// returns a uniformly distributed unsigned long.
+		long nextUniformLong(long low, long high);
+			// returns a uniformly distributed long in the range [low, high).
+		unsigned long nextUniformUnsignedLong(unsigned long low, unsigned long high);
+			// returns a uniformly distributed unsigned long in the range [low, high).
+		long long nextUniformLongLong();
+			// returns a uniformly distributed long long.
+		unsigned long long nextUniformUnsignedLongLong();
+			// returns a uniformly distributed unsigned long long.
+		long long nextUniformLongLong(long long low, long long high);
+			// returns a uniformly distributed unsigned long long in the range [low, high).
+		unsigned long long nextUniformUnsignedLongLong(unsigned long long low, unsigned long long high);
+			// returns a uniformly distributed unsigned long long in the range [low, high).
+		short nextUniformShort();
+			// returns a uniformly distributed short.
+		unsigned short nextUniformUnsignedShort();
+			// returns a uniformly distributed unsigned short.
+		double nextUniformDouble();
+			// returns a uniformly distributed double in the range [0, 1).
+		double nextUniformDouble(double low, double high);
+			// returns a uniformly distributed double in the range [low, high).
+	
+		// these use the inversion method, thus they are extremely slow. Use with caution.
+		double nextNormalDouble();
+			// returns doubles using a normal distribution with mean 0.0 and std 1.0 (unbounded).
+		double nextNormalDouble(double mean, double std);
+			// returns doubles using a normal distribution with mean mean and std std (unbounded).
+
+		// these use the inversion method, thus they are extremely slow. Use with caution.
+		long nextSkewedLong(long low, long high, Level);
+			// returns longs using a Zipf distribution in the range [low, high).
+		double nextSkewedDouble(double low, double high, Level);
+			// returns doubles using a Zipf distribution in the range [low, high).
+		double nextSkewedDouble(Level);
+			// returns doubles using a Zipf distribution in the range [0.0, 1.0).
+
+		bool flipCoin();
+			// A Bernoulli trial with probability p = 50%.
+		bool bernulliTrial(double p);
+			// A Bernoulli trial with probability of success p.
+
+		unsigned long getSize() const;
+			// Returns the total size of the random number generator (seed size, etc.).
+
+		unsigned long getSeed() const;
+
+	private:
+		void initMersenne();
+		void initDrand(unsigned short xsubi0);
+
+		enum
+		{
+			MERS_N = 624,
+			MERS_M = 397,
+			MERS_R = 31,
+			MERS_U = 11,
+			MERS_S = 7,
+			MERS_T = 15,
+			MERS_L = 18,
+			MERS_A = 0x9908B0DF,
+			MERS_B = 0x9D2C5680,
+			MERS_C = 0xEFC60000
+		};
+
+		RandomGeneratorType m_type;
+		void* m_buffer;
+		Architecture m_architecture;
+		unsigned long m_seed;
+	}; // Random
+
+	class PRGZipf
+	{
+	public:
+		PRGZipf(long min, long max, double s, Tools::Random* pRandom);
+		virtual ~PRGZipf();
+
+		long nextLong();
+
+	private:
+		void initLookupTable();
+
+		long m_min;
+		long m_max;
+		double m_s;
+		Tools::Random* m_pRandom;
+		double* m_pLookupTable;
+	}; // PRGZipf
+
+	class PRGFrechet
+	{
+	public:
+		PRGFrechet(double a, double b, Tools::Random* pRandom);
+		virtual ~PRGFrechet();
+
+		double nextDouble();
+
+	private:
+		double m_alpha;
+		double m_beta;
+		Tools::Random* m_pRandom;
+	}; // PRGFrechet
+
+	class Hash
+	{
+	public:
+		virtual ~Hash();
+
+		virtual void hash(
+			const std::string& s,
+			byte** out, unsigned long& lout
+		) = 0;
+		virtual void hash(
+			const byte* in, unsigned long lin,
+			byte** out, unsigned long& lout
+		) = 0;
+	}; // Hash
+
+	// Implements the hash functions described in:
+	// Wegman and Carter
+	// New classes and applications of hash functions, FOCS 1979
+	class UniversalHash : public Hash
+	{
+	public:
+		typedef unsigned long value_type;
+
+		UniversalHash(unsigned long k = 2);
+		UniversalHash(Tools::Random& r, unsigned long k = 2);
+		UniversalHash(unsigned long a, unsigned long b);
+		UniversalHash(const UniversalHash& h);
+		UniversalHash(const byte* data);
+		virtual ~UniversalHash();
+
+		virtual UniversalHash& operator=(const UniversalHash& in);
+		virtual bool operator==(const UniversalHash& in) const;
+
+		virtual value_type hash(value_type x) const;
+		virtual unsigned long getSize() const;
+		virtual void getData(byte** buffer, unsigned long& length) const;
+
+		virtual void hash(
+			const std::string& s,
+			byte** out, unsigned long& lout
+		);
+		virtual void hash(
+			const byte* in, unsigned long lin,
+			byte** out, unsigned long& lout
+		);
+
+		static const unsigned long long m_P = 0x1FFFFFFFFFFFFFFFull; // 2^61 - 1
+
+	private:
+		unsigned long long* m_a;
+		unsigned long m_k;
+
+		friend std::ostream& Tools::operator<<(
+			std::ostream& os,
+			const Tools::UniversalHash& h
+		);
+	}; // UniversalHash
+
+	std::ostream& operator<<(std::ostream& os, const Tools::UniversalHash& h);
+
+	class SHA1Hash : public Hash
+	{
+	public:
+		virtual ~SHA1Hash();
+
+		virtual void hash(
+			const std::string& s,
+			byte** out, unsigned long& lout
+		);
+		virtual void hash(
+			const byte* in, unsigned long lin,
+			byte** out, unsigned long& lout
+		);
+		virtual void hash(
+			std::istream& s,
+			byte** out, unsigned long& lout
+		);
+		virtual std::string hash(const std::string& s);
+
+	public:
+		static const unsigned long HashLength = 20;
+	}; // SHA1Hash
+
+#if HAVE_GETTIMEOFDAY
+	class ResourceUsage
+	{
+	public:
+		ResourceUsage();
+
+		void start();
+		void stop();
+		void reset();
+
+		double getTotalTime();
+		double getUserTime();
+		double getSystemTime();
+		long getPageFaults();
+		long getReadIO();
+		long getWriteIO();
+		long getPeakResidentMemoryUsage();
+		long getTotalMemoryUsage();
+
+	private:
+		double combineTime(const struct timeval&);
+		void addTimeval(struct timeval&, const struct timeval&);
+		void subtractTimeval(struct timeval&, const struct timeval&, const struct timeval&);
+
+  		struct rusage m_tmpRU;
+  		struct timeval m_tmpTV;
+  		struct timeval m_totalTime;
+  		struct timeval m_userTime;
+  		struct timeval m_systemTime;
+  		long m_pageFaults;
+  		long m_readIO;
+  		long m_writeIO;
+  		long m_peakMemory;
+  		long m_totalMemory;
+  	}; // ResourceUsage
+#endif
+
+#if BUILD_CPU_I686
+	class CycleCounter
+	{
+	public:
+		CycleCounter();
+		void start();
+		void stop();
+		void reset();
+		double getTotalCycles();
+		double getCPUMHz();
+		double getCyclesPerSecond();
+
+	private:
+		unsigned long long m_tmpCycles;
+		unsigned long long m_totalCycles;
+		bool m_bRunning;
+
+		unsigned long long rdtsc();
+	}; // CycleCounter
+#endif
+
+	class System
+	{
+	public:
+		static Architecture getArchitecture();
+	}; // System
+
+	class SharedLock
+	{
+	public:
+#if HAVE_PTHREAD_H
+		SharedLock(pthread_rwlock_t* pLock);
+		~SharedLock();
+
+	private:
+		pthread_rwlock_t* m_pLock;
+#endif
+	}; // SharedLock
+
+	class ExclusiveLock
+	{
+	public:
+#if HAVE_PTHREAD_H
+		ExclusiveLock(pthread_rwlock_t* pLock);
+		~ExclusiveLock();
+
+	private:
+		pthread_rwlock_t* m_pLock;
+#endif
+	}; // ExclusiveLock
+
+	class StringTokenizer
+	{
+	public:
+		StringTokenizer(const std::string& s, const std::string& delimiters = " \t");
+		bool hasMoreTokens();
+		std::string getNextToken();
+		void reset();
+
+	private:
+		unsigned long m_index;
+		std::vector<std::string> m_token;
+	}; // StringTokenizer
+
+	std::string trimLeft(const std::string& source, const std::string& t = " \t");
+	std::string trimRight(const std::string& source, const std::string& t = " \t");
+	std::string trim(const std::string& source, const std::string& t = " \t");
+	char toLower(char c);
+	char toUpper(char c);
+	std::string toUpperCase(const std::string& s);
+	std::string toLowerCase(const std::string& s);
+
+	unsigned long long choose(unsigned long n, unsigned long k);
+
+	void compressRLE(
+		unsigned long blockSize,
+		byte* in, unsigned long lin,
+		byte** out, unsigned long& lout);
+	void uncompressRLE(
+		unsigned long blockSize,
+		byte* in, unsigned long lin,
+		byte** out, unsigned long& lout);
+}
+
+#include "Point.h"
+#include "Region.h"
+#include "LineSegment.h"
+#include "TemporaryFile.h"
+
+#endif /* __tools_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,150 @@
+/***************************************************************************
+    qgsspatialindex.cpp  - wrapper class for spatial index library
+    ----------------------
+    begin                : December 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#include "qgsspatialindex.h"
+
+#include "qgsgeometry.h"
+#include "qgsfeature.h"
+#include "qgsrect.h"
+    
+#include "SpatialIndex.h"
+
+using namespace SpatialIndex;
+
+
+// custom visitor that adds found features to list 
+class QgisVisitor : public SpatialIndex::IVisitor
+{
+public:
+  QgisVisitor(QList<int> & list)
+  : mList(list) {}
+
+  void visitNode(const INode& n) {}
+  
+  void visitData(const IData& d)
+  {
+    mList.append(d.getIdentifier());
+  }
+
+  void visitData(std::vector<const IData*>& v) {}
+
+private:
+  QList<int>& mList;
+};
+
+
+QgsSpatialIndex::QgsSpatialIndex()
+{
+  // for now only memory manager
+  mStorageManager = StorageManager::createNewMemoryStorageManager();
+
+  // create buffer
+
+  unsigned int capacity = 10;
+  bool writeThrough = false;
+  mStorage = StorageManager::createNewRandomEvictionsBuffer(*mStorageManager, capacity, writeThrough);
+
+  // R-Tree parameters
+  double fillFactor = 0.7;
+  unsigned long indexCapacity = 10;
+  unsigned long leafCapacity = 10;
+  unsigned long dimension = 2;
+  RTree::RTreeVariant variant = RTree::RV_RSTAR;
+
+  // create R-tree
+  long indexId;
+  mRTree = RTree::createNewRTree(*mStorage, fillFactor, indexCapacity,
+                                 leafCapacity, dimension, variant, indexId);
+}
+
+QgsSpatialIndex:: ~QgsSpatialIndex()
+{
+  delete mRTree;
+  delete mStorage;
+  delete mStorageManager;
+}
+
+Tools::Geometry::Region QgsSpatialIndex::rectToRegion(QgsRect rect)
+{
+  double pt1[2], pt2[2];
+  pt1[0] = rect.xMin();
+  pt1[1] = rect.yMin();
+  pt2[0] = rect.xMax();
+  pt2[1] = rect.yMax();
+  return Tools::Geometry::Region(pt1, pt2, 2);
+}
+
+bool QgsSpatialIndex::featureInfo(QgsFeature& f, Tools::Geometry::Region& r, long& id)
+{
+  QgsGeometry* g = f.geometry();
+  if (!g)
+    return false;
+
+  id = f.featureId();
+  r = rectToRegion(g->boundingBox());
+  return true;
+}
+
+bool QgsSpatialIndex::insertFeature(QgsFeature& f)
+{
+  Tools::Geometry::Region r;
+  long id;
+  if (!featureInfo(f, r, id))
+    return false;
+
+  // TODO: handle possible exceptions
+  mRTree->insertData(0,0, r, id);
+
+  return true;
+}
+
+bool QgsSpatialIndex::deleteFeature(QgsFeature& f)
+{
+  Tools::Geometry::Region r;
+  long id;
+  if (!featureInfo(f, r, id))
+    return false;
+
+  // TODO: handle exceptions
+  return mRTree->deleteData(r, id);
+}
+
+QList<int> QgsSpatialIndex::intersects(QgsRect rect)
+{
+  QList<int> list;
+  QgisVisitor visitor(list);
+
+  Tools::Geometry::Region r = rectToRegion(rect);
+
+  mRTree->intersectsWithQuery(r, visitor);
+
+  return list;
+}
+
+QList<int> QgsSpatialIndex::nearestNeighbor(QgsPoint point, int neighbors)
+{
+  QList<int> list;
+  QgisVisitor visitor(list);
+
+  double pt[2];
+  pt[0] = point.x();
+  pt[1] = point.y();
+  Tools::Geometry::Point p(pt, 2);
+
+  mRTree->nearestNeighborQuery(neighbors, p, visitor);
+
+  return list;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/qgsspatialindex.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,104 @@
+/***************************************************************************
+    qgsspatialindex.h  - wrapper class for spatial index library
+    ----------------------
+    begin                : December 2006
+    copyright            : (C) 2006 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSSPATIALINDEX_H
+#define QGSSPATIALINDEX_H
+
+// forward declaration
+namespace SpatialIndex
+{
+  class IStorageManager;
+  class ISpatialIndex;
+
+  namespace StorageManager
+  {
+    class IBuffer;
+  }
+}
+
+namespace Tools
+{
+  namespace Geometry
+  {
+    class Region;
+  }
+}
+
+class QgsFeature;
+class QgsRect;
+class QgsPoint;
+#include <QList>
+
+class CORE_EXPORT QgsSpatialIndex
+{
+
+public:
+
+  /* creation of spatial index */
+
+  /** create new spatial index that will be stored in memory */
+  //static QgsSpatialIndex* createMemoryIndex();
+
+  /** create new spatial index that stores its data on disk */
+  //static QgsSpatialIndex* createDiskIndex(QString fileName);
+
+  /** constructor - creates R-tree */
+  QgsSpatialIndex();
+  
+  /** destructor finalizes work with spatial index */
+  ~QgsSpatialIndex();
+
+
+  /* operations */
+
+  /** add feature to index */
+  bool insertFeature(QgsFeature& f);
+
+  /** remove feature from index */
+  bool deleteFeature(QgsFeature& f);
+
+
+  /* queries */
+
+  /** returns features that intersect the specified rectangle */
+  QList<int> intersects(QgsRect rect);
+
+  /** returns nearest neighbors (their count is specified by second parameter) */
+  QList<int> nearestNeighbor(QgsPoint point, int neighbors);
+
+
+protected:
+
+  Tools::Geometry::Region rectToRegion(QgsRect rect);
+  
+  bool featureInfo(QgsFeature& f, Tools::Geometry::Region& r, long& id);
+
+
+private:
+
+  /** storage manager */
+  SpatialIndex::IStorageManager* mStorageManager;
+
+  /** buffer for index data */
+  SpatialIndex::StorageManager::IBuffer* mStorage;
+
+  /** R-tree containing spatial index */
+  SpatialIndex::ISpatialIndex* mRTree;
+
+};
+
+#endif
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,364 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "RTree.h"
+#include "Leaf.h"
+#include "Index.h"
+
+#include "BulkLoader.h"
+
+using namespace SpatialIndex::RTree;
+
+BulkLoadSource::BulkLoadSource(
+	Tools::SmartPointer<IObjectStream> spStream, unsigned long howMany
+) : m_spDataSource(spStream), m_cHowMany(howMany)
+{
+}
+
+BulkLoadSource::BulkLoadSource(IObjectStream* pStream, unsigned long howMany)
+ : m_spDataSource(pStream), m_cHowMany(howMany)
+{
+}
+
+BulkLoadSource::BulkLoadSource(IObjectStream* pStream)
+ : m_spDataSource(pStream),
+   m_cHowMany(std::numeric_limits<unsigned long>::max())
+{
+}
+
+BulkLoadSource::~BulkLoadSource()
+{
+}
+
+Tools::IObject* BulkLoadSource::getNext()
+{
+	if (m_cHowMany == 0 || ! m_spDataSource->hasNext()) return 0;
+	m_cHowMany--;
+	return m_spDataSource->getNext();
+}
+
+bool BulkLoadSource::hasNext() throw ()
+{
+	return (m_cHowMany != 0 && m_spDataSource->hasNext());
+}
+
+unsigned long BulkLoadSource::size() throw (Tools::NotSupportedException)
+{
+	throw Tools::NotSupportedException("SpatialIndex::RTree::BulkLoadSource::size: this should never be called.");
+}
+
+void BulkLoadSource::rewind() throw (Tools::NotSupportedException)
+{
+	throw Tools::NotSupportedException("SpatialIndex::RTree::BulkLoadSource::rewind: this should never be called.");
+}
+
+BulkLoadComparator::BulkLoadComparator(unsigned long d) : m_compareDimension(d)
+{
+}
+
+BulkLoadComparator::~BulkLoadComparator()
+{
+}
+
+int BulkLoadComparator::compare(Tools::IObject* o1, Tools::IObject* o2)
+{
+	IData* d1 = dynamic_cast<IData*>(o1);
+	IData* d2 = dynamic_cast<IData*>(o2);
+
+	IShape* s1;	d1->getShape(&s1);
+	IShape* s2;	d2->getShape(&s2);
+	Region r1; s1->getMBR(r1);
+	Region r2; s2->getMBR(r2);
+
+	int ret = 0;
+	if (
+		r1.m_pHigh[m_compareDimension] + r1.m_pLow[m_compareDimension] <
+		r2.m_pHigh[m_compareDimension] + r2.m_pLow[m_compareDimension]) ret = -1;
+	else if (
+		r1.m_pHigh[m_compareDimension] + r1.m_pLow[m_compareDimension] >
+		r2.m_pHigh[m_compareDimension] + r2.m_pLow[m_compareDimension]) ret = 1;
+
+	delete s1;
+	delete s2;
+
+	return ret;
+}
+
+BulkLoader::TmpFile::TmpFile() : m_pNext(0)
+{
+}
+
+BulkLoader::TmpFile::~TmpFile()
+{
+	if (m_pNext != 0) delete m_pNext;
+}
+
+void BulkLoader::TmpFile::storeRecord(Region& r, long id)
+{
+	unsigned long len = sizeof(long) + sizeof(unsigned long) + 2 * r.m_dimension * sizeof(double);
+	byte* data = new byte[len];
+	byte* ptr = data;
+
+	memcpy(ptr, &id, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(ptr, &(r.m_dimension), sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, r.m_pLow, r.m_dimension * sizeof(double));
+	ptr += r.m_dimension * sizeof(double);
+	memcpy(ptr, r.m_pHigh, r.m_dimension * sizeof(double));
+
+	m_tmpFile.storeNextObject(len, data);
+	delete[] data;
+}
+
+void BulkLoader::TmpFile::loadRecord(Region& r, long& id)
+{
+	unsigned long len;
+	byte* data;
+	m_tmpFile.loadNextObject(&data, len);
+
+	byte* ptr = data;
+	memcpy(&id, ptr, sizeof(long));
+	ptr += sizeof(long);
+
+	unsigned long dim;
+	memcpy(&dim, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	if (dim != r.m_dimension)
+	{
+		delete[] r.m_pLow;
+		delete[] r.m_pHigh;
+		r.m_dimension = dim;
+		r.m_pLow = new double[dim];
+		r.m_pHigh = new double[dim];
+	}
+
+	memcpy(r.m_pLow, ptr, dim * sizeof(double));
+	ptr += dim * sizeof(double);
+	memcpy(r.m_pHigh, ptr, dim * sizeof(double));
+
+	delete[] data;
+}
+
+IData* BulkLoader::TmpFile::getNext()
+{
+	if (m_pNext == 0) return 0;
+
+	IData* ret = m_pNext;
+
+	try
+	{
+		Region r;
+		long id;
+		loadRecord(r, id);
+		m_pNext = new Data(0, 0, r, id);
+	}
+	catch (Tools::EndOfStreamException& e)
+	{
+		m_pNext = 0;
+	}
+	catch (...)
+	{
+		m_pNext = 0;
+		throw;
+	}
+
+	return ret;
+}
+
+bool BulkLoader::TmpFile::hasNext() throw ()
+{
+	return (m_pNext != 0);
+}
+
+unsigned long BulkLoader::TmpFile::size() throw (Tools::NotSupportedException)
+{
+	throw Tools::NotSupportedException("Not supported yet.");
+}
+
+void BulkLoader::TmpFile::rewind()
+{
+	Region r;
+	long id;
+
+	if (m_pNext != 0)
+	{
+		delete m_pNext;
+		m_pNext = 0;
+	}
+
+	m_tmpFile.rewindForReading();
+
+	try
+	{
+		loadRecord(r, id);
+		m_pNext = new Data(0, 0, r, id);
+	}
+	catch (Tools::EndOfStreamException& e)
+	{
+	}
+}
+
+void BulkLoader::bulkLoadUsingSTR(
+	RTree* pTree,
+	IDataStream& stream,
+	unsigned long bindex,
+	unsigned long bleaf,
+	unsigned long bufferSize)
+{
+	NodePtr n = pTree->readNode(pTree->m_rootID);
+	pTree->deleteNode(n.get());
+
+	// create the leaf level first.
+	TmpFile* tmpFile = new TmpFile();
+	unsigned long cNodes = 0;
+	unsigned long cTotalData = 0;
+
+#ifdef DEBUG
+	std::cerr << "RTree::BulkLoader: Building level 0" << std::endl;
+#endif
+
+	createLevel(pTree, stream, pTree->m_dimension, pTree->m_dimension, bleaf, 0, bufferSize, *tmpFile, cNodes, cTotalData);
+
+	pTree->m_stats.m_data = cTotalData;
+
+	// create index levels afterwards.
+	unsigned long level = 1;
+	tmpFile->rewind();
+	BulkLoadSource* bs = new BulkLoadSource(tmpFile);
+
+	while (cNodes > 1)
+	{
+		cNodes = 0;
+		TmpFile* pTF = new TmpFile();
+
+		#ifndef NDEBUG
+		std::cerr << "RTree::BulkLoader: Building level " << level << std::endl;
+		#endif
+		pTree->m_stats.m_nodesInLevel.push_back(0);
+
+		createLevel(pTree, *bs, pTree->m_dimension, pTree->m_dimension, bindex, level, bufferSize, *pTF, cNodes, cTotalData);
+		delete bs;
+
+		level++;
+		pTF->rewind();
+		bs = new BulkLoadSource(pTF);
+	}
+
+	pTree->m_stats.m_treeHeight = level;
+
+	delete bs;
+
+	pTree->storeHeader();
+}
+
+void BulkLoader::createLevel(
+	RTree* pTree,
+	Tools::IObjectStream& stream,
+	unsigned long dimension,
+	unsigned long k,
+	unsigned long b,
+	unsigned long level,
+	unsigned long bufferSize,
+	BulkLoader::TmpFile& tmpFile,
+	unsigned long& numberOfNodes,
+	unsigned long& totalData)
+{
+	BulkLoadComparator bc(dimension - k);
+	Tools::SmartPointer<Tools::IObjectStream> es(Tools::externalSort(stream, bc, bufferSize));
+	unsigned long r = es->size();
+	totalData = r;
+
+	if (k == dimension - 1)
+	{
+		// store new pages in storage manager and page information in temporary file.
+
+		std::vector<Tools::SmartPointer<IData> > entries;
+
+		while (es->hasNext())
+		{
+			entries.push_back(Tools::SmartPointer<IData>(static_cast<IData*>(es->getNext())));
+
+			if (entries.size() == b)
+			{
+				Node* n = createNode(pTree, entries, level);
+				pTree->writeNode(n);
+				if (r <= b) pTree->m_rootID = n->m_identifier;
+				numberOfNodes++;
+				tmpFile.storeRecord(n->m_nodeMBR, n->m_identifier);
+				entries.clear();
+				delete n;
+			}
+		}
+
+		if (! entries.empty())
+		{
+			Node* n = createNode(pTree, entries, level);
+			pTree->writeNode(n);
+			if (r <= b) pTree->m_rootID = n->m_identifier;
+			numberOfNodes++;
+			tmpFile.storeRecord(n->m_nodeMBR, n->m_identifier);
+			entries.clear();
+			delete n;
+		}
+	}
+	else
+	{
+		unsigned long P = static_cast<unsigned long>(std::ceil(static_cast<double>(r) / static_cast<double>(b)));
+		unsigned long D = static_cast<unsigned long>(std::ceil(std::pow(static_cast<double>(P), static_cast<double>(k - 1) / static_cast<double>(k))));
+
+		while (es->hasNext()) // this will happen S = ceil[P^(1 / k)] times
+		{
+			BulkLoadSource bs(es, D * b);
+			unsigned long cTotalData;
+			createLevel(pTree, bs, dimension, k - 1, b, level, bufferSize, tmpFile, numberOfNodes, cTotalData);
+		}
+	}
+}
+
+Node* BulkLoader::createNode(RTree* pTree, std::vector<Tools::SmartPointer<IData> >& e, unsigned long level)
+{
+	Node* n;
+
+	if (level == 0) n = new Leaf(pTree, -1);
+	else n = new Index(pTree, -1, level);
+
+	for (unsigned long cChild = 0; cChild < e.size(); cChild++)
+	{
+		unsigned long len;
+		byte* data;
+		e[cChild]->getData(len, &data);
+		IShape* s; e[cChild]->getShape(&s);
+		RegionPtr mbr = pTree->m_regionPool.acquire();
+		s->getMBR(*mbr);
+		delete s;
+		unsigned long id = e[cChild]->getIdentifier();
+		n->insertEntry(len, data, *mbr, id);
+	}
+
+	return n;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/BulkLoader.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,112 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_bulk_loader_h
+#define __spatialindex_rtree_bulk_loader_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class BulkLoadSource : public Tools::IObjectStream
+		{
+		public:
+			BulkLoadSource(
+				Tools::SmartPointer<IObjectStream> spSstream,
+				unsigned long howMany);
+			BulkLoadSource(IObjectStream* pStream, unsigned long howMany);
+			BulkLoadSource(IObjectStream* pStream);
+			virtual ~BulkLoadSource();
+
+			virtual Tools::IObject* getNext();
+			virtual bool hasNext() throw ();
+			virtual unsigned long size() throw (Tools::NotSupportedException);
+			virtual void rewind() throw (Tools::NotSupportedException);
+
+			Tools::SmartPointer<IObjectStream> m_spDataSource;
+			unsigned long m_cHowMany;
+		}; // BulkLoadSource
+
+		class BulkLoadComparator : public Tools::IObjectComparator
+		{
+		public:
+			BulkLoadComparator(unsigned long d);
+			virtual ~BulkLoadComparator();
+
+			virtual int compare(Tools::IObject* o1, Tools::IObject* o2);
+
+			unsigned long m_compareDimension;
+		};
+
+		class BulkLoader
+		{
+		public:
+			void bulkLoadUsingSTR(
+				RTree* pTree,
+				IDataStream& stream,
+				unsigned long bindex,
+				unsigned long bleaf,
+				unsigned long bufferSize);
+
+		protected:
+			class TmpFile : public IDataStream
+			{
+			public:
+				TmpFile();
+				virtual ~TmpFile();
+
+				void storeRecord(Region& r, long id);
+				void loadRecord(Region& r, long& id);
+
+				virtual IData* getNext();
+				virtual bool hasNext() throw ();
+				virtual unsigned long size()
+					throw (Tools::NotSupportedException);
+				virtual void rewind();
+
+				Tools::TemporaryFile m_tmpFile;
+				IData* m_pNext;
+			};
+
+			void createLevel(
+				RTree* pTree,
+				Tools::IObjectStream& es,
+				unsigned long dimension,
+				unsigned long k,
+				unsigned long b,
+				unsigned long level,
+				unsigned long bufferSize,
+				TmpFile& tmpFile,
+				unsigned long& numberOfNodes,
+				unsigned long& totalData);
+
+			Node* createNode(
+				RTree* pTree,
+				std::vector<Tools::SmartPointer<IData> >& e,
+				unsigned long level);
+
+			friend class BulkLoadSource;
+		};
+	}
+}
+
+#endif /* __spatialindex_rtree_bulk_loader_h */
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,374 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "RTree.h"
+#include "Node.h"
+#include "Leaf.h"
+
+#include "Index.h"
+
+using std::stack;
+using std::vector;
+using namespace SpatialIndex::RTree;
+
+Index::~Index()
+{
+}
+
+Index::Index(RTree* pTree, long id, unsigned long level) : Node(pTree, id, level, pTree->m_indexCapacity)
+{
+}
+
+NodePtr Index::chooseSubtree(const Region& mbr, unsigned long insertionLevel, std::stack<long>& pathBuffer)
+{
+	if (m_level == insertionLevel) return NodePtr(this, &(m_pTree->m_indexPool));
+
+	pathBuffer.push(m_identifier);
+
+	unsigned long child = 0;
+
+	switch (m_pTree->m_treeVariant)
+	{
+		case RV_LINEAR:
+		case RV_QUADRATIC:
+			child = findLeastEnlargement(mbr);
+			break;
+		case RV_RSTAR:
+			if (m_level == 1)
+			{
+				// if this node points to leaves...
+				child = findLeastOverlap(mbr);
+			}
+			else
+			{
+				child = findLeastEnlargement(mbr);
+			}
+		break;
+		default:
+			throw Tools::NotSupportedException("Index::chooseSubtree: Tree variant not supported.");
+	}
+	assert(child >= 0);
+
+	NodePtr n = m_pTree->readNode(m_pIdentifier[child]);
+	NodePtr ret = n->chooseSubtree(mbr, insertionLevel, pathBuffer);
+	assert(n.unique());
+	if (ret.get() == n.get()) n.relinquish();
+
+	return ret;
+}
+
+NodePtr Index::findLeaf(const Region& mbr, long id, std::stack<long>& pathBuffer)
+{
+	pathBuffer.push(m_identifier);
+
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		if (m_ptrMBR[cChild]->containsRegion(mbr))
+		{
+			NodePtr n = m_pTree->readNode(m_pIdentifier[cChild]);
+			NodePtr l = n->findLeaf(mbr, id, pathBuffer);
+			if (n.get() == l.get()) n.relinquish();
+			if (l.get() != 0) return l;
+		}
+	}
+
+	pathBuffer.pop();
+
+	return NodePtr();
+}
+
+void Index::split(unsigned long dataLength, byte* pData, Region& mbr, long id, NodePtr& ptrLeft, NodePtr& ptrRight)
+{
+	m_pTree->m_stats.m_splits++;
+
+	vector<long> g1, g2;
+
+	switch (m_pTree->m_treeVariant)
+	{
+		case RV_LINEAR:
+		case RV_QUADRATIC:
+			rtreeSplit(dataLength, pData, mbr, id, g1, g2);
+			break;
+		case RV_RSTAR:
+			rstarSplit(dataLength, pData, mbr, id, g1, g2);
+			break;
+		default:
+			throw Tools::NotSupportedException("Index::split: Tree variant not supported.");
+	}
+
+	ptrLeft = m_pTree->m_indexPool.acquire();
+	ptrRight = m_pTree->m_indexPool.acquire();
+
+	if (ptrLeft.get() == 0) ptrLeft = NodePtr(new Index(m_pTree, m_identifier, m_level), &(m_pTree->m_indexPool));
+	if (ptrRight.get() == 0) ptrRight = NodePtr(new Index(m_pTree, -1, m_level), &(m_pTree->m_indexPool));
+
+	ptrLeft->m_nodeMBR = m_pTree->m_infiniteRegion;
+	ptrRight->m_nodeMBR = m_pTree->m_infiniteRegion;
+
+	unsigned long cIndex;
+
+	for (cIndex = 0; cIndex < g1.size(); cIndex++)
+	{
+		ptrLeft->insertEntry(0, 0, *(m_ptrMBR[g1[cIndex]]), m_pIdentifier[g1[cIndex]]);
+	}
+
+	for (cIndex = 0; cIndex < g2.size(); cIndex++)
+	{
+		ptrRight->insertEntry(0, 0, *(m_ptrMBR[g2[cIndex]]), m_pIdentifier[g2[cIndex]]);
+	}
+}
+
+long Index::findLeastEnlargement(const Region& r) const
+{
+	double area = std::numeric_limits<double>::max();
+	long best = -1;
+
+	RegionPtr t = m_pTree->m_regionPool.acquire();
+
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		m_ptrMBR[cChild]->getCombinedRegion(*t, r);
+
+		double a = m_ptrMBR[cChild]->getArea();
+		double enl = t->getArea() - a;
+
+		if (enl < area)
+		{
+			area = enl;
+			best = cChild;
+		}
+		else if (enl == area)
+		{
+			// this will rarely happen, so compute best area on the fly only
+			// when necessary.
+			if (a < m_ptrMBR[best]->getArea()) best = cChild;
+		}
+	}
+
+	return best;
+}
+
+long Index::findLeastOverlap(const Region& r) const
+{
+	OverlapEntry** entries = new OverlapEntry*[m_children];
+
+	double leastOverlap = std::numeric_limits<double>::max();
+	double me = std::numeric_limits<double>::max();
+	OverlapEntry* best = 0;
+
+	// find combined region and enlargement of every entry and store it.
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		try
+		{
+			entries[cChild] = new OverlapEntry();
+		}
+		catch (...)
+		{
+			for (unsigned long i = 0; i < cChild; i++) delete entries[i];
+			delete[] entries;
+			throw;
+		}
+
+		entries[cChild]->m_id = cChild;
+		entries[cChild]->m_original = m_ptrMBR[cChild];
+		entries[cChild]->m_combined = m_pTree->m_regionPool.acquire();
+		m_ptrMBR[cChild]->getCombinedRegion(*(entries[cChild]->m_combined), r);
+		entries[cChild]->m_oa = entries[cChild]->m_original->getArea();
+		entries[cChild]->m_ca = entries[cChild]->m_combined->getArea();
+		entries[cChild]->m_enlargement = entries[cChild]->m_ca - entries[cChild]->m_oa;
+
+		if (entries[cChild]->m_enlargement < me)
+		{
+			me = entries[cChild]->m_enlargement;
+			best = entries[cChild];
+		}
+		else if (entries[cChild]->m_enlargement == me && entries[cChild]->m_oa < best->m_oa)
+		{
+			best = entries[cChild];
+		}
+	}
+
+	if (me < -std::numeric_limits<double>::epsilon() || me > std::numeric_limits<double>::epsilon())
+	{
+		unsigned long cIterations;
+
+		if (m_children > m_pTree->m_nearMinimumOverlapFactor)
+		{
+			// sort entries in increasing order of enlargement.
+			::qsort(entries, m_children,
+							sizeof(OverlapEntry*),
+							OverlapEntry::compareEntries);
+			assert(entries[0]->m_enlargement <= entries[m_children - 1]->m_enlargement);
+
+			cIterations = m_pTree->m_nearMinimumOverlapFactor;
+		}
+		else
+		{
+			cIterations = m_children;
+		}
+
+		// calculate overlap of most important original entries (near minimum overlap cost).
+		for (unsigned long cIndex = 0; cIndex < cIterations; cIndex++)
+		{
+			double dif = 0.0;
+			OverlapEntry* e = entries[cIndex];
+
+			for (unsigned long cChild = 0; cChild < m_children; cChild++)
+			{
+				if (e->m_id != cChild)
+				{
+					double f = e->m_combined->getIntersectingArea(*(m_ptrMBR[cChild]));
+					if (f != 0.0) dif += f - e->m_original->getIntersectingArea(*(m_ptrMBR[cChild]));
+				}
+			} // for (cChild)
+
+			if (dif < leastOverlap)
+			{
+				leastOverlap = dif;
+				best = entries[cIndex];
+			}
+			else if (dif == leastOverlap)
+			{
+				if (e->m_enlargement == best->m_enlargement)
+				{
+					// keep the one with least area.
+					if (e->m_original->getArea() < best->m_original->getArea()) best = entries[cIndex];
+				}
+				else
+				{
+					// keep the one with least enlargement.
+					if (e->m_enlargement < best->m_enlargement) best = entries[cIndex];
+				}
+			}
+		} // for (cIndex)
+	}
+
+	long ret = best->m_id;
+
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		delete entries[cChild];
+	}
+	delete[] entries;
+
+	return ret;
+}
+
+void Index::adjustTree(Node* n, std::stack<long>& pathBuffer)
+{
+	m_pTree->m_stats.m_adjustments++;
+
+	// find entry pointing to old node;
+	unsigned long child;
+	for (child = 0; child < m_children; child++)
+	{
+		if (m_pIdentifier[child] == n->m_identifier) break;
+	}
+
+	// MBR needs recalculation if either:
+	//   1. the NEW child MBR is not contained.
+	//   2. the OLD child MBR is touching.
+	bool bContained = m_nodeMBR.containsRegion(n->m_nodeMBR);
+	bool bTouches = m_nodeMBR.touchesRegion(*(m_ptrMBR[child]));
+	bool bRecompute = (! bContained || (bTouches && m_pTree->m_bTightMBRs));
+
+	*(m_ptrMBR[child]) = n->m_nodeMBR;
+
+	if (bRecompute)
+	{
+		for (unsigned long cDim = 0; cDim < m_nodeMBR.m_dimension; cDim++)
+		{
+			m_nodeMBR.m_pLow[cDim] = std::numeric_limits<double>::max();
+			m_nodeMBR.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+			for (unsigned long cChild = 0; cChild < m_children; cChild++)
+			{
+				m_nodeMBR.m_pLow[cDim] = std::min(m_nodeMBR.m_pLow[cDim], m_ptrMBR[cChild]->m_pLow[cDim]);
+				m_nodeMBR.m_pHigh[cDim] = std::max(m_nodeMBR.m_pHigh[cDim], m_ptrMBR[cChild]->m_pHigh[cDim]);
+			}
+		}
+	}
+
+	m_pTree->writeNode(this);
+
+	if (bRecompute && (! pathBuffer.empty()))
+	{
+		long cParent = pathBuffer.top(); pathBuffer.pop();
+		NodePtr ptrN = m_pTree->readNode(cParent);
+		Index* p = static_cast<Index*>(ptrN.get());
+		p->adjustTree(this, pathBuffer);
+	}
+}
+
+void Index::adjustTree(Node* n1, Node* n2, std::stack<long>& pathBuffer, byte* overflowTable)
+{
+	m_pTree->m_stats.m_adjustments++;
+
+	// find entry pointing to old node;
+	unsigned long child;
+	for (child = 0; child < m_children; child++)
+	{
+		if (m_pIdentifier[child] == n1->m_identifier) break;
+	}
+
+	// MBR needs recalculation if either:
+	//   1. the NEW child MBR is not contained.
+	//   2. the OLD child MBR is touching.
+	bool bContained = m_nodeMBR.containsRegion(n1->m_nodeMBR);
+	bool bTouches = m_nodeMBR.touchesRegion(*(m_ptrMBR[child]));
+	bool bRecompute = (! bContained || (bTouches && m_pTree->m_bTightMBRs));
+
+	*(m_ptrMBR[child]) = n1->m_nodeMBR;
+
+	if (bRecompute)
+	{
+		for (unsigned long cDim = 0; cDim < m_nodeMBR.m_dimension; cDim++)
+		{
+			m_nodeMBR.m_pLow[cDim] = std::numeric_limits<double>::max();
+			m_nodeMBR.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+			for (unsigned long cChild = 0; cChild < m_children; cChild++)
+			{
+				m_nodeMBR.m_pLow[cDim] = std::min(m_nodeMBR.m_pLow[cDim], m_ptrMBR[cChild]->m_pLow[cDim]);
+				m_nodeMBR.m_pHigh[cDim] = std::max(m_nodeMBR.m_pHigh[cDim], m_ptrMBR[cChild]->m_pHigh[cDim]);
+			}
+		}
+	}
+
+	// No write necessary here. insertData will write the node if needed.
+	//m_pTree->writeNode(this);
+
+	bool bAdjusted = insertData(0, 0, n2->m_nodeMBR, n2->m_identifier, pathBuffer, overflowTable);
+
+	// if n2 is contained in the node and there was no split or reinsert,
+	// we need to adjust only if recalculation took place.
+	// In all other cases insertData above took care of adjustment.
+	if ((! bAdjusted) && bRecompute && (! pathBuffer.empty()))
+	{
+		long cParent = pathBuffer.top(); pathBuffer.pop();
+		NodePtr ptrN = m_pTree->readNode(cParent);
+		Index* p = static_cast<Index*>(ptrN.get());
+		p->adjustTree(this, pathBuffer);
+	}
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Index.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,77 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_index_h
+#define __spatialindex_rtree_index_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class Index : public Node
+		{
+		public:
+			virtual ~Index();
+
+		private:
+			Index(RTree* pTree, long id, unsigned long level);
+
+			virtual NodePtr chooseSubtree(const Region& mbr, unsigned long level, std::stack<long>& pathBuffer);
+			virtual NodePtr findLeaf(const Region& mbr, long id, std::stack<long>& pathBuffer);
+
+			virtual void split(unsigned long dataLength, byte* pData, Region& mbr, long id, NodePtr& left, NodePtr& right);
+
+			long findLeastEnlargement(const Region&) const;
+			long findLeastOverlap(const Region&) const;
+
+			void adjustTree(Node*, std::stack<long>&);
+			void adjustTree(Node*, Node*, std::stack<long>&, byte* overflowTable);
+
+			class OverlapEntry
+			{
+			public:
+				unsigned long m_id;
+				double m_enlargement;
+				RegionPtr m_original;
+				RegionPtr m_combined;
+				double m_oa;
+				double m_ca;
+
+				static int compareEntries(const void* pv1, const void* pv2)
+				{
+					OverlapEntry* pe1 = * (OverlapEntry**) pv1;
+					OverlapEntry* pe2 = * (OverlapEntry**) pv2;
+
+					if (pe1->m_enlargement < pe2->m_enlargement) return -1;
+					if (pe1->m_enlargement > pe2->m_enlargement) return 1;
+					return 0;
+				}
+			}; // OverlapEntry
+
+			friend class RTree;
+			friend class Node;
+			friend class BulkLoader;
+		}; // Index
+	}
+}
+
+#endif /*__spatialindex_rtree_index_h*/
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,140 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "RTree.h"
+#include "Node.h"
+#include "Index.h"
+
+#include "Leaf.h"
+
+using std::stack;
+using std::vector;
+using namespace SpatialIndex::RTree;
+
+Leaf::~Leaf()
+{
+}
+
+Leaf::Leaf(RTree* pTree, long id): Node(pTree, id, 0, pTree->m_leafCapacity)
+{
+}
+
+NodePtr Leaf::chooseSubtree(const Region& mbr, unsigned long level, std::stack<long>& pathBuffer)
+{
+	// should make sure to relinquish other PoolPointer lists that might be pointing to the
+	// same leaf.
+	return NodePtr(this, &(m_pTree->m_leafPool));
+}
+
+NodePtr Leaf::findLeaf(const Region& mbr, long id, std::stack<long>& pathBuffer)
+{
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		// should make sure to relinquish other PoolPointer lists that might be pointing to the
+		// same leaf.
+		if (m_pIdentifier[cChild] == id && mbr == *(m_ptrMBR[cChild])) return NodePtr(this, &(m_pTree->m_leafPool));
+	}
+
+	return NodePtr();
+}
+
+void Leaf::split(unsigned long dataLength, byte* pData, Region& mbr, long id, NodePtr& pLeft, NodePtr& pRight)
+{
+	m_pTree->m_stats.m_splits++;
+
+	vector<long> g1, g2;
+
+	switch (m_pTree->m_treeVariant)
+	{
+		case RV_LINEAR:
+		case RV_QUADRATIC:
+			rtreeSplit(dataLength, pData, mbr, id, g1, g2);
+			break;
+		case RV_RSTAR:
+			rstarSplit(dataLength, pData, mbr, id, g1, g2);
+			break;
+		default:
+			throw Tools::NotSupportedException("Leaf::split: Tree variant not supported.");
+	}
+
+	pLeft = m_pTree->m_leafPool.acquire();
+	pRight = m_pTree->m_leafPool.acquire();
+
+	if (pLeft.get() == 0) pLeft = NodePtr(new Leaf(m_pTree, -1), &(m_pTree->m_leafPool));
+	if (pRight.get() == 0) pRight = NodePtr(new Leaf(m_pTree, -1), &(m_pTree->m_leafPool));
+
+	pLeft->m_nodeMBR = m_pTree->m_infiniteRegion;
+	pRight->m_nodeMBR = m_pTree->m_infiniteRegion;
+
+	unsigned long cIndex;
+
+	for (cIndex = 0; cIndex < g1.size(); cIndex++)
+	{
+		pLeft->insertEntry(m_pDataLength[g1[cIndex]], m_pData[g1[cIndex]], *(m_ptrMBR[g1[cIndex]]), m_pIdentifier[g1[cIndex]]);
+		// we don't want to delete the data array from this node's destructor!
+		m_pData[g1[cIndex]] = 0;
+	}
+
+	for (cIndex = 0; cIndex < g2.size(); cIndex++)
+	{
+		pRight->insertEntry(m_pDataLength[g2[cIndex]], m_pData[g2[cIndex]], *(m_ptrMBR[g2[cIndex]]), m_pIdentifier[g2[cIndex]]);
+		// we don't want to delete the data array from this node's destructor!
+		m_pData[g2[cIndex]] = 0;
+	}
+}
+
+void Leaf::deleteData(long id, std::stack<long>& pathBuffer)
+{
+	unsigned long child;
+
+	for (child = 0; child < m_children; child++)
+	{
+		if (m_pIdentifier[child] == id) break;
+	}
+
+	deleteEntry(child);
+	m_pTree->writeNode(this);
+
+	stack<NodePtr> toReinsert;
+	NodePtr ptrThis(this, &(m_pTree->m_leafPool));
+	condenseTree(toReinsert, pathBuffer, ptrThis);
+	ptrThis.relinquish();
+
+	// re-insert eliminated nodes.
+	while (! toReinsert.empty())
+	{
+		NodePtr n = toReinsert.top(); toReinsert.pop();
+		m_pTree->deleteNode(n.get());
+
+		for (unsigned long cChild = 0; cChild < n->m_children; cChild++)
+		{
+			// keep this in the for loop. The tree height might change after insertions.
+			byte* overflowTable = new byte[m_pTree->m_stats.m_treeHeight];
+			bzero(overflowTable, m_pTree->m_stats.m_treeHeight);
+			m_pTree->insertData_impl(n->m_pDataLength[cChild], n->m_pData[cChild], *(n->m_ptrMBR[cChild]), n->m_pIdentifier[cChild], n->m_level, overflowTable);
+			n->m_pData[cChild] = 0;
+			delete[] overflowTable;
+		}
+		if (n.get() == this) n.relinquish();
+	}
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Leaf.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_leaf_h
+#define __spatialindex_rtree_leaf_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class Leaf : public Node
+		{
+		public:
+			virtual ~Leaf();
+
+		private:
+			Leaf(RTree* pTree, long id);
+
+			virtual NodePtr chooseSubtree(const Region& mbr, unsigned long level, std::stack<long>& pathBuffer);
+			virtual NodePtr findLeaf(const Region& mbr, long id, std::stack<long>& pathBuffer);
+
+			virtual void split(unsigned long dataLength, byte* pData, Region& mbr, long id, NodePtr& left, NodePtr& right);
+
+			virtual void deleteData(long id, std::stack<long>& pathBuffer);
+
+			friend class RTree;
+			friend class BulkLoader;
+		}; // Leaf
+	}
+}
+
+#endif /*__spatialindex_rtree_leaf_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1057 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "RTree.h"
+#include "Node.h"
+#include "Index.h"
+
+using std::stack;
+using std::vector;
+using namespace SpatialIndex::RTree;
+
+//
+// Tools::IObject interface
+//
+Tools::IObject* Node::clone()
+{
+	throw Tools::NotSupportedException("IObject::clone should never be called.");
+}
+
+//
+// Tools::ISerializable interface
+//
+unsigned long Node::getByteArraySize()
+{
+	return
+		(sizeof(long) +
+		sizeof(long) +
+		sizeof(long) +
+		(m_children * (m_pTree->m_dimension * sizeof(double) * 2 + sizeof(long) + sizeof(unsigned long))) +
+		m_totalDataLength +
+		(2 * m_pTree->m_dimension * sizeof(double)));
+}
+
+void Node::loadFromByteArray(const byte* ptr)
+{
+	m_nodeMBR = m_pTree->m_infiniteRegion;
+
+	// skip the node type information, it is not needed.
+	ptr += sizeof(long);
+
+	memcpy(&m_level, ptr, sizeof(long));
+	ptr += sizeof(long);
+
+	memcpy(&m_children, ptr, sizeof(long));
+	ptr += sizeof(long);
+
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		m_ptrMBR[cChild] = m_pTree->m_regionPool.acquire();
+		*(m_ptrMBR[cChild]) = m_pTree->m_infiniteRegion;
+
+		memcpy(m_ptrMBR[cChild]->m_pLow, ptr, m_pTree->m_dimension * sizeof(double));
+		ptr += m_pTree->m_dimension * sizeof(double);
+		memcpy(m_ptrMBR[cChild]->m_pHigh, ptr, m_pTree->m_dimension * sizeof(double));
+		ptr += m_pTree->m_dimension * sizeof(double);
+		memcpy(&(m_pIdentifier[cChild]), ptr, sizeof(long));
+		ptr += sizeof(long);
+
+		memcpy(&(m_pDataLength[cChild]), ptr, sizeof(unsigned long));
+		ptr += sizeof(unsigned long);
+
+		if (m_pDataLength[cChild] > 0)
+		{
+			m_totalDataLength += m_pDataLength[cChild];
+			m_pData[cChild] = new byte[m_pDataLength[cChild]];
+			memcpy(m_pData[cChild], ptr, m_pDataLength[cChild]);
+			ptr += m_pDataLength[cChild];
+		}
+		else
+		{
+			m_pData[cChild] = 0;
+		}
+
+		//m_nodeMBR.combineRegion(*(m_ptrMBR[cChild]));
+	}
+
+	memcpy(m_nodeMBR.m_pLow, ptr, m_pTree->m_dimension * sizeof(double));
+	ptr += m_pTree->m_dimension * sizeof(double);
+	memcpy(m_nodeMBR.m_pHigh, ptr, m_pTree->m_dimension * sizeof(double));
+	//ptr += m_pTree->m_dimension * sizeof(double);
+}
+
+void Node::storeToByteArray(byte** data, unsigned long& len)
+{
+	len = getByteArraySize();
+
+	*data = new byte[len];
+	byte* ptr = *data;
+
+	long type;
+
+	if (m_level == 0) type = PersistentLeaf;
+	else type = PersistentIndex;
+
+	memcpy(ptr, &type, sizeof(long));
+	ptr += sizeof(long);
+
+	memcpy(ptr, &m_level, sizeof(long));
+	ptr += sizeof(long);
+
+	memcpy(ptr, &m_children, sizeof(long));
+	ptr += sizeof(long);
+
+	for (unsigned long cChild = 0; cChild < m_children; cChild++)
+	{
+		memcpy(ptr, m_ptrMBR[cChild]->m_pLow, m_pTree->m_dimension * sizeof(double));
+		ptr += m_pTree->m_dimension * sizeof(double);
+		memcpy(ptr, m_ptrMBR[cChild]->m_pHigh, m_pTree->m_dimension * sizeof(double));
+		ptr += m_pTree->m_dimension * sizeof(double);
+		memcpy(ptr, &(m_pIdentifier[cChild]), sizeof(long));
+		ptr += sizeof(long);
+
+		memcpy(ptr, &(m_pDataLength[cChild]), sizeof(unsigned long));
+		ptr += sizeof(unsigned long);
+
+		if (m_pDataLength[cChild] > 0)
+		{
+			memcpy(ptr, m_pData[cChild], m_pDataLength[cChild]);
+			ptr += m_pDataLength[cChild];
+		}
+	}
+
+	// store the node MBR for efficiency. This increases the node size a little bit.
+	memcpy(ptr, m_nodeMBR.m_pLow, m_pTree->m_dimension * sizeof(double));
+	ptr += m_pTree->m_dimension * sizeof(double);
+	memcpy(ptr, m_nodeMBR.m_pHigh, m_pTree->m_dimension * sizeof(double));
+	//ptr += m_pTree->m_dimension * sizeof(double);
+
+	assert(len == (ptr - *data) + m_pTree->m_dimension * sizeof(double));
+}
+
+//
+// SpatialIndex::IEntry interface
+//
+long Node::getIdentifier() const
+{
+	return m_identifier;
+}
+
+void Node::getShape(IShape** out) const
+{
+	*out = new Region(m_nodeMBR);
+}
+
+//
+// SpatialIndex::INode interface
+//
+unsigned long Node::getChildrenCount() const
+{
+	return m_children;
+}
+
+long Node::getChildIdentifier(unsigned long index) const
+{
+	if (index < 0 || index >= m_children) throw Tools::IndexOutOfBoundsException(index);
+
+	return m_pIdentifier[index];
+}
+
+void Node::getChildShape(unsigned long index, IShape** out) const
+{
+	if (index < 0 || index >= m_children) throw Tools::IndexOutOfBoundsException(index);
+
+	*out = new Region(*(m_ptrMBR[index]));
+}
+
+unsigned long Node::getLevel() const
+{
+	return m_level;
+}
+
+bool Node::isLeaf() const
+{
+	return (m_level == 0);
+}
+
+bool Node::isIndex() const
+{
+	return (m_level != 0);
+}
+
+//
+// Internal
+//
+
+Node::Node() :
+	m_pTree(0),
+	m_level(0),
+	m_identifier(-1),
+	m_children(0),
+	m_capacity(0),
+	m_pData(0),
+	m_ptrMBR(0),
+	m_pIdentifier(0),
+	m_pDataLength(0),
+	m_totalDataLength(0)
+{
+}
+
+Node::Node(RTree* pTree, long id, unsigned long level, unsigned long capacity) :
+	m_pTree(pTree),
+	m_level(level),
+	m_identifier(id),
+	m_children(0),
+	m_capacity(capacity),
+	m_pData(0),
+	m_ptrMBR(0),
+	m_pIdentifier(0),
+	m_pDataLength(0),
+	m_totalDataLength(0)
+{
+	m_nodeMBR.makeInfinite(m_pTree->m_dimension);
+
+	try
+	{
+		m_pDataLength = new unsigned long[m_capacity + 1];
+		m_pData = new byte*[m_capacity + 1];
+		m_ptrMBR = new RegionPtr[m_capacity + 1];
+		m_pIdentifier = new long[m_capacity + 1];
+	}
+	catch (...)
+	{
+		delete[] m_pDataLength;
+		delete[] m_pData;
+		delete[] m_ptrMBR;
+		delete[] m_pIdentifier;
+		throw;
+	}
+}
+
+Node::~Node()
+{
+	if (m_pData != 0)
+	{
+		for (unsigned long cChild = 0; cChild < m_children; cChild++)
+		{
+			if (m_pData[cChild] != 0) delete[] m_pData[cChild];
+		}
+
+		delete[] m_pData;
+	}
+
+	delete[] m_pDataLength;
+	delete[] m_ptrMBR;
+	delete[] m_pIdentifier;
+}
+
+Node& Node::operator=(const Node& n)
+{
+	throw Tools::IllegalStateException("operator =: This should never be called.");
+}
+
+void Node::insertEntry(unsigned long dataLength, byte* pData, Region& mbr, long id)
+{
+	assert(m_children < m_capacity);
+
+	m_pDataLength[m_children] = dataLength;
+	m_pData[m_children] = pData;
+	m_ptrMBR[m_children] = m_pTree->m_regionPool.acquire();
+	*(m_ptrMBR[m_children]) = mbr;
+	m_pIdentifier[m_children] = id;
+
+	m_totalDataLength += dataLength;
+	m_children++;
+
+	m_nodeMBR.combineRegion(mbr);
+}
+
+void Node::deleteEntry(unsigned long index)
+{
+	assert(index >= 0 && index < m_children);
+
+	// cache it, since I might need it for "touches" later.
+	RegionPtr ptrR = m_ptrMBR[index];
+
+	m_totalDataLength -= m_pDataLength[index];
+	if (m_pData[index] != 0) delete[] m_pData[index];
+
+	if (m_children > 1 && index != m_children - 1)
+	{
+		m_pDataLength[index] = m_pDataLength[m_children - 1];
+		m_pData[index] = m_pData[m_children - 1];
+		m_ptrMBR[index] = m_ptrMBR[m_children - 1];
+		m_pIdentifier[index] = m_pIdentifier[m_children - 1];
+	}
+
+	m_children--;
+
+	// WARNING: index has now changed. Do not use it below here.
+
+	if (m_children == 0)
+	{
+		m_nodeMBR = m_pTree->m_infiniteRegion;
+	}
+	else if (m_pTree->m_bTightMBRs && m_nodeMBR.touchesRegion(*ptrR))
+	{
+		for (unsigned long cDim = 0; cDim < m_nodeMBR.m_dimension; cDim++)
+		{
+			m_nodeMBR.m_pLow[cDim] = std::numeric_limits<double>::max();
+			m_nodeMBR.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+			for (unsigned long cChild = 0; cChild < m_children; cChild++)
+			{
+				m_nodeMBR.m_pLow[cDim] = std::min(m_nodeMBR.m_pLow[cDim], m_ptrMBR[cChild]->m_pLow[cDim]);
+				m_nodeMBR.m_pHigh[cDim] = std::max(m_nodeMBR.m_pHigh[cDim], m_ptrMBR[cChild]->m_pHigh[cDim]);
+			}
+		}
+	}
+}
+
+bool Node::insertData(unsigned long dataLength, byte* pData, Region& mbr, long id, stack<long>& pathBuffer, byte* overflowTable)
+{
+	if (m_children < m_capacity)
+	{
+		bool adjusted = false;
+
+		// this has to happen before insertEntry modifies m_nodeMBR.
+		bool b = m_nodeMBR.containsRegion(mbr);
+
+		insertEntry(dataLength, pData, mbr, id);
+		m_pTree->writeNode(this);
+
+		if ((! b) && (! pathBuffer.empty()))
+		{
+			long cParent = pathBuffer.top(); pathBuffer.pop();
+			NodePtr ptrN = m_pTree->readNode(cParent);
+			Index* p = static_cast<Index*>(ptrN.get());
+			p->adjustTree(this, pathBuffer);
+			adjusted = true;
+		}
+
+		return adjusted;
+	}
+	else if (m_pTree->m_treeVariant == RV_RSTAR && (! pathBuffer.empty()) && overflowTable[m_level] == 0)
+	{
+		overflowTable[m_level] = 1;
+
+		vector<long> vReinsert, vKeep;
+		reinsertData(dataLength, pData, mbr, id, vReinsert, vKeep);
+
+		unsigned long lReinsert = vReinsert.size();
+		unsigned long lKeep = vKeep.size();
+
+		byte** reinsertdata = 0;
+		RegionPtr* reinsertmbr = 0;
+		long* reinsertid = 0;
+		unsigned long* reinsertlen = 0;
+		byte** keepdata = 0;
+		RegionPtr* keepmbr = 0;
+		long* keepid = 0;
+		unsigned long* keeplen = 0;
+
+		try
+		{
+			reinsertdata = new byte*[lReinsert];
+			reinsertmbr = new RegionPtr[lReinsert];
+			reinsertid = new long[lReinsert];
+			reinsertlen = new unsigned long[lReinsert];
+
+			keepdata = new byte*[m_capacity + 1];
+			keepmbr = new RegionPtr[m_capacity + 1];
+			keepid = new long[m_capacity + 1];
+			keeplen = new unsigned long[m_capacity + 1];
+		}
+		catch (...)
+		{
+			delete[] reinsertdata;
+			delete[] reinsertmbr;
+			delete[] reinsertid;
+			delete[] reinsertlen;
+			delete[] keepdata;
+			delete[] keepmbr;
+			delete[] keepid;
+			delete[] keeplen;
+			throw;
+		}
+
+		unsigned long cIndex;
+
+		for (cIndex = 0; cIndex < lReinsert; cIndex++)
+		{
+			reinsertlen[cIndex] = m_pDataLength[vReinsert[cIndex]];
+			reinsertdata[cIndex] = m_pData[vReinsert[cIndex]];
+			reinsertmbr[cIndex] = m_ptrMBR[vReinsert[cIndex]];
+			reinsertid[cIndex] = m_pIdentifier[vReinsert[cIndex]];
+		}
+
+		for (cIndex = 0; cIndex < lKeep; cIndex++)
+		{
+			keeplen[cIndex] = m_pDataLength[vKeep[cIndex]];
+			keepdata[cIndex] = m_pData[vKeep[cIndex]];
+			keepmbr[cIndex] = m_ptrMBR[vKeep[cIndex]];
+			keepid[cIndex] = m_pIdentifier[vKeep[cIndex]];
+		}
+
+		delete[] m_pDataLength;
+		delete[] m_pData;
+		delete[] m_ptrMBR;
+		delete[] m_pIdentifier;
+
+		m_pDataLength = keeplen;
+		m_pData = keepdata;
+		m_ptrMBR = keepmbr;
+		m_pIdentifier = keepid;
+		m_children = lKeep;
+		m_totalDataLength = 0;
+
+		for (unsigned long cChild = 0; cChild < m_children; cChild++) m_totalDataLength += m_pDataLength[cChild];
+
+		for (unsigned long cDim = 0; cDim < m_nodeMBR.m_dimension; cDim++)
+		{
+			m_nodeMBR.m_pLow[cDim] = std::numeric_limits<double>::max();
+			m_nodeMBR.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+			for (unsigned long cChild = 0; cChild < m_children; cChild++)
+			{
+				m_nodeMBR.m_pLow[cDim] = std::min(m_nodeMBR.m_pLow[cDim], m_ptrMBR[cChild]->m_pLow[cDim]);
+				m_nodeMBR.m_pHigh[cDim] = std::max(m_nodeMBR.m_pHigh[cDim], m_ptrMBR[cChild]->m_pHigh[cDim]);
+			}
+		}
+
+		m_pTree->writeNode(this);
+
+		// Divertion from R*-Tree algorithm here. First adjust
+		// the path to the root, then start reinserts, to avoid complicated handling
+		// of changes to the same node from multiple insertions.
+		long cParent = pathBuffer.top(); pathBuffer.pop();
+		NodePtr ptrN = m_pTree->readNode(cParent);
+		Index* p = static_cast<Index*>(ptrN.get());
+		p->adjustTree(this, pathBuffer);
+
+		for (cIndex = 0; cIndex < lReinsert; cIndex++)
+		{
+			m_pTree->insertData_impl(
+				reinsertlen[cIndex], reinsertdata[cIndex],
+				*(reinsertmbr[cIndex]), reinsertid[cIndex],
+				m_level, overflowTable);
+		}
+
+		delete[] reinsertdata;
+		delete[] reinsertmbr;
+		delete[] reinsertid;
+		delete[] reinsertlen;
+
+		return true;
+	}
+	else
+	{
+		NodePtr n;
+		NodePtr nn;
+		split(dataLength, pData, mbr, id, n, nn);
+
+		if (pathBuffer.empty())
+		{
+			n->m_level = m_level;
+			nn->m_level = m_level;
+			n->m_identifier = -1;
+			nn->m_identifier = -1;
+			m_pTree->writeNode(n.get());
+			m_pTree->writeNode(nn.get());
+
+			NodePtr ptrR = m_pTree->m_indexPool.acquire();
+			if (ptrR.get() == 0)
+			{
+				ptrR = NodePtr(new Index(m_pTree, m_pTree->m_rootID, m_level + 1), &(m_pTree->m_indexPool));
+			}
+			else
+			{
+				//ptrR->m_pTree = m_pTree;
+				ptrR->m_identifier = m_pTree->m_rootID;
+				ptrR->m_level = m_level + 1;
+				ptrR->m_nodeMBR = m_pTree->m_infiniteRegion;
+			}
+
+			ptrR->insertEntry(0, 0, n->m_nodeMBR, n->m_identifier);
+			ptrR->insertEntry(0, 0, nn->m_nodeMBR, nn->m_identifier);
+
+			m_pTree->writeNode(ptrR.get());
+
+			m_pTree->m_stats.m_nodesInLevel[m_level] = 2;
+			m_pTree->m_stats.m_nodesInLevel.push_back(1);
+			m_pTree->m_stats.m_treeHeight = m_level + 2;
+		}
+		else
+		{
+			n->m_level = m_level;
+			nn->m_level = m_level;
+			n->m_identifier = m_identifier;
+			nn->m_identifier = -1;
+
+			m_pTree->writeNode(n.get());
+			m_pTree->writeNode(nn.get());
+
+			long cParent = pathBuffer.top(); pathBuffer.pop();
+			NodePtr ptrN = m_pTree->readNode(cParent);
+			Index* p = static_cast<Index*>(ptrN.get());
+			p->adjustTree(n.get(), nn.get(), pathBuffer, overflowTable);
+		}
+
+		return true;
+	}
+}
+
+void Node::reinsertData(unsigned long dataLength, byte* pData, Region& mbr, long id, vector<long>& reinsert, vector<long>& keep)
+{
+	ReinsertEntry** v = new ReinsertEntry*[m_capacity + 1];
+
+	m_pDataLength[m_children] = dataLength;
+	m_pData[m_children] = pData;
+	m_ptrMBR[m_children] = m_pTree->m_regionPool.acquire();
+	*(m_ptrMBR[m_children]) = mbr;
+	m_pIdentifier[m_children] = id;
+
+	PointPtr nc = m_pTree->m_pointPool.acquire();
+	m_nodeMBR.getCenter(*nc);
+	PointPtr c = m_pTree->m_pointPool.acquire();
+
+	for (unsigned long cChild = 0; cChild < m_capacity + 1; cChild++)
+	{
+		try
+		{
+			v[cChild] = new ReinsertEntry(cChild, 0.0);
+		}
+		catch (...)
+		{
+			for (unsigned long i = 0; i < cChild; i++) delete v[i];
+			delete[] v;
+			throw;
+		}
+
+		m_ptrMBR[cChild]->getCenter(*c);
+
+		// calculate relative distance of every entry from the node MBR (ignore square root.)
+		for (unsigned long cDim = 0; cDim < m_nodeMBR.m_dimension; cDim++)
+		{
+			double d = nc->m_pCoords[cDim] - c->m_pCoords[cDim];
+			v[cChild]->m_dist += d * d;
+		}
+	}
+
+	// sort by increasing order of distances.
+	::qsort(v, m_capacity + 1, sizeof(ReinsertEntry*), ReinsertEntry::compareReinsertEntry);
+
+	unsigned long cReinsert = (unsigned long) std::floor((m_capacity + 1) * m_pTree->m_reinsertFactor);
+
+	unsigned long cCount;
+
+	for (cCount = 0; cCount < cReinsert; cCount++)
+	{
+		reinsert.push_back(v[cCount]->m_id);
+		delete v[cCount];
+	}
+
+	for (cCount = cReinsert; cCount < m_capacity + 1; cCount++)
+	{
+		keep.push_back(v[cCount]->m_id);
+		delete v[cCount];
+	}
+
+	delete[] v;
+}
+
+void Node::rtreeSplit(unsigned long dataLength, byte* pData, Region& mbr, long id, vector<long>& group1, vector<long>& group2)
+{
+	unsigned long cChild;
+	unsigned long minimumLoad = static_cast<unsigned long>(std::floor(m_capacity * m_pTree->m_fillFactor));
+
+	// use this mask array for marking visited entries.
+	byte* mask = new byte[m_capacity + 1];
+	bzero(mask, m_capacity + 1);
+
+	// insert new data in the node for easier manipulation. Data arrays are always
+	// by one larger than node capacity.
+	m_pDataLength[m_capacity] = dataLength;
+	m_pData[m_capacity] = pData;
+	m_ptrMBR[m_capacity] = m_pTree->m_regionPool.acquire();
+	*(m_ptrMBR[m_capacity]) = mbr;
+	m_pIdentifier[m_capacity] = id;
+	// m_totalDataLength does not need to be increased here.
+
+	// initialize each group with the seed entries.
+	unsigned long seed1, seed2;
+	pickSeeds(seed1, seed2);
+
+	group1.push_back(seed1);
+	group2.push_back(seed2);
+
+	mask[seed1] = 1;
+	mask[seed2] = 1;
+
+	// find MBR of each group.
+	RegionPtr mbr1 = m_pTree->m_regionPool.acquire();
+	*mbr1 = *(m_ptrMBR[seed1]);
+	RegionPtr mbr2 = m_pTree->m_regionPool.acquire();
+	*mbr2 = *(m_ptrMBR[seed2]);
+
+	// count how many entries are left unchecked (exclude the seeds here.)
+	unsigned long cRemaining = m_capacity + 1 - 2;
+
+	while (cRemaining > 0)
+	{
+		if (minimumLoad - group1.size() == cRemaining)
+		{
+			// all remaining entries must be assigned to group1 to comply with minimun load requirement.
+			for (cChild = 0; cChild < m_capacity + 1; cChild++)
+			{
+				if (mask[cChild] == 0)
+				{
+					group1.push_back(cChild);
+					mask[cChild] = 1;
+					cRemaining--;
+				}
+			}
+		}
+		else if (minimumLoad - group2.size() == cRemaining)
+		{
+			// all remaining entries must be assigned to group2 to comply with minimun load requirement.
+			for (cChild = 0; cChild < m_capacity + 1; cChild++)
+			{
+				if (mask[cChild] == 0)
+				{
+					group2.push_back(cChild);
+					mask[cChild] = 1;
+					cRemaining--;
+				}
+			}
+		}
+		else
+		{
+			// For all remaining entries compute the difference of the cost of grouping an
+			// entry in either group. When done, choose the entry that yielded the maximum
+			// difference. In case of linear split, select any entry (e.g. the first one.)
+			long sel = -1;
+			double md1 = 0.0, md2 = 0.0;
+			double m = -std::numeric_limits<double>::max();
+			double d1, d2, d;
+			double a1 = mbr1->getArea();
+			double a2 = mbr2->getArea();
+
+			RegionPtr a = m_pTree->m_regionPool.acquire();
+			RegionPtr b = m_pTree->m_regionPool.acquire();
+
+			for (cChild = 0; cChild < m_capacity + 1; cChild++)
+			{
+				if (mask[cChild] == 0)
+				{
+					mbr1->getCombinedRegion(*a, *(m_ptrMBR[cChild]));
+					d1 = a->getArea() - a1;
+					mbr2->getCombinedRegion(*b, *(m_ptrMBR[cChild]));
+					d2 = b->getArea() - a2;
+					d = std::abs(d1 - d2);
+
+					if (d > m)
+					{
+						m = d;
+						md1 = d1; md2 = d2;
+						sel = cChild;
+						if (m_pTree->m_treeVariant== RV_LINEAR || m_pTree->m_treeVariant == RV_RSTAR) break;
+					}
+				}
+			}
+
+			// determine the group where we should add the new entry.
+			long group = -1;
+
+			if (md1 < md2)
+			{
+				group1.push_back(sel);
+				group = 1;
+			}
+			else if (md2 < md1)
+			{
+				group2.push_back(sel);
+				group = 2;
+			}
+			else if (a1 < a2)
+			{
+				group1.push_back(sel);
+				group = 1;
+			}
+			else if (a2 < a1)
+			{
+				group2.push_back(sel);
+				group = 2;
+			}
+			else if (group1.size() < group2.size())
+			{
+				group1.push_back(sel);
+				group = 1;
+			}
+			else if (group2.size() < group1.size())
+			{
+				group2.push_back(sel);
+				group = 2;
+			}
+			else
+			{
+				group1.push_back(sel);
+				group = 1;
+			}
+			mask[sel] = 1;
+			cRemaining--;
+			if (group == 1)
+			{
+				mbr1->combineRegion(*(m_ptrMBR[sel]));
+			}
+			else
+			{
+				mbr2->combineRegion(*(m_ptrMBR[sel]));
+			}
+		}
+	}
+
+	delete[] mask;
+}
+
+void Node::rstarSplit(unsigned long dataLength, byte* pData, Region& mbr, long id, std::vector<long>& group1, std::vector<long>& group2)
+{
+	RstarSplitEntry** dataLow = 0;
+	RstarSplitEntry** dataHigh = 0;
+
+	try
+	{
+		dataLow = new RstarSplitEntry*[m_capacity + 1];
+		dataHigh = new RstarSplitEntry*[m_capacity + 1];
+	}
+	catch (...)
+	{
+		delete[] dataLow;
+		throw;
+	}
+
+	m_pDataLength[m_capacity] = dataLength;
+	m_pData[m_capacity] = pData;
+	m_ptrMBR[m_capacity] = m_pTree->m_regionPool.acquire();
+	*(m_ptrMBR[m_capacity]) = mbr;
+	m_pIdentifier[m_capacity] = id;
+	// m_totalDataLength does not need to be increased here.
+
+	unsigned long nodeSPF = static_cast<unsigned long>(std::floor((m_capacity + 1) * m_pTree->m_splitDistributionFactor));
+	unsigned long splitDistribution = (m_capacity + 1) - (2 * nodeSPF) + 2;
+
+	unsigned long cChild = 0, cDim, cIndex;
+
+	for (cChild = 0; cChild <= m_capacity; cChild++)
+	{
+		try
+		{
+			dataLow[cChild] = new RstarSplitEntry(m_ptrMBR[cChild].get(), cChild, 0);
+		}
+		catch (...)
+		{
+			for (unsigned long i = 0; i < cChild; i++) delete dataLow[i];
+			delete[] dataLow;
+			delete[] dataHigh;
+			throw;
+		}
+
+		dataHigh[cChild] = dataLow[cChild];
+	}
+
+	double minimumMargin = std::numeric_limits<double>::max();
+	long splitAxis = -1;
+	long sortOrder = -1;
+
+	// chooseSplitAxis.
+	for (cDim = 0; cDim < m_pTree->m_dimension; cDim++)
+	{
+		::qsort(dataLow, m_capacity + 1, sizeof(RstarSplitEntry*), RstarSplitEntry::compareLow);
+		::qsort(dataHigh, m_capacity + 1, sizeof(RstarSplitEntry*), RstarSplitEntry::compareHigh);
+
+		// calculate sum of margins and overlap for all distributions.
+		double marginl = 0.0;
+		double marginh = 0.0;
+
+		Region bbl1, bbl2, bbh1, bbh2;
+
+		for (cChild = 1; cChild <= splitDistribution; cChild++)
+		{
+			unsigned long l = nodeSPF - 1 + cChild;
+
+			bbl1 = *(dataLow[0]->m_pRegion);
+			bbh1 = *(dataHigh[0]->m_pRegion);
+
+			for (cIndex = 1; cIndex < l; cIndex++)
+			{
+				bbl1.combineRegion(*(dataLow[cIndex]->m_pRegion));
+				bbh1.combineRegion(*(dataHigh[cIndex]->m_pRegion));
+			}
+
+			bbl2 = *(dataLow[l]->m_pRegion);
+			bbh2 = *(dataHigh[l]->m_pRegion);
+
+			for (cIndex = l + 1; cIndex <= m_capacity; cIndex++)
+			{
+				bbl2.combineRegion(*(dataLow[cIndex]->m_pRegion));
+				bbh2.combineRegion(*(dataHigh[cIndex]->m_pRegion));
+			}
+
+			marginl += bbl1.getMargin() + bbl2.getMargin();
+			marginh += bbh1.getMargin() + bbh2.getMargin();
+		} // for (cChild)
+
+		double margin = std::min(marginl, marginh);
+
+		// keep minimum margin as split axis.
+		if (margin < minimumMargin)
+		{
+			minimumMargin = margin;
+			splitAxis = cDim;
+			sortOrder = (marginl < marginh) ? 0 : 1;
+		}
+
+		// increase the dimension according to which the data entries should be sorted.
+		for (cChild = 0; cChild <= m_capacity; cChild++)
+		{
+			dataLow[cChild]->m_sortDim = cDim + 1;
+		}
+	} // for (cDim)
+
+	for (cChild = 0; cChild <= m_capacity; cChild++)
+	{
+		dataLow[cChild]->m_sortDim = splitAxis;
+	}
+
+	::qsort(dataLow, m_capacity + 1, sizeof(RstarSplitEntry*), (sortOrder == 0) ? RstarSplitEntry::compareLow : RstarSplitEntry::compareHigh);
+
+	double ma = std::numeric_limits<double>::max();
+	double mo = std::numeric_limits<double>::max();
+	long splitPoint = -1;
+
+	Region bb1, bb2;
+
+	for (cChild = 1; cChild <= splitDistribution; cChild++)
+	{
+		unsigned long l = nodeSPF - 1 + cChild;
+
+		bb1 = *(dataLow[0]->m_pRegion);
+
+		for (cIndex = 1; cIndex < l; cIndex++)
+		{
+			bb1.combineRegion(*(dataLow[cIndex]->m_pRegion));
+		}
+
+		bb2 = *(dataLow[l]->m_pRegion);
+
+		for (cIndex = l + 1; cIndex <= m_capacity; cIndex++)
+		{
+			bb2.combineRegion(*(dataLow[cIndex]->m_pRegion));
+		}
+
+		double o = bb1.getIntersectingArea(bb2);
+
+		if (o < mo)
+		{
+			splitPoint = cChild;
+			mo = o;
+			ma = bb1.getArea() + bb2.getArea();
+		}
+		else if (o == mo)
+		{
+			double a = bb1.getArea() + bb2.getArea();
+
+			if (a < ma)
+			{
+				splitPoint = cChild;
+				ma = a;
+			}
+		}
+	} // for (cChild)
+
+	unsigned long l1 = nodeSPF - 1 + splitPoint;
+
+	for (cIndex = 0; cIndex < l1; cIndex++)
+	{
+		group1.push_back(dataLow[cIndex]->m_id);
+		delete dataLow[cIndex];
+	}
+
+	for (cIndex = l1; cIndex <= m_capacity; cIndex++)
+	{
+		group2.push_back(dataLow[cIndex]->m_id);
+		delete dataLow[cIndex];
+	}
+
+	delete[] dataLow;
+	delete[] dataHigh;
+}
+
+void Node::pickSeeds(unsigned long& index1, unsigned long& index2)
+{
+	double separation = -std::numeric_limits<double>::max();
+	double inefficiency = -std::numeric_limits<double>::max();
+	unsigned long cDim, cChild, cIndex;
+
+	switch (m_pTree->m_treeVariant)
+	{
+		case RV_LINEAR:
+		case RV_RSTAR:
+			for (cDim = 0; cDim < m_pTree->m_dimension; cDim++)
+			{
+				double leastLower = m_ptrMBR[0]->m_pLow[cDim];
+				double greatestUpper = m_ptrMBR[0]->m_pHigh[cDim];
+				unsigned long greatestLower = 0;
+				unsigned long leastUpper = 0;
+				double width;
+
+				for (cChild = 1; cChild <= m_capacity; cChild++)
+				{
+					if (m_ptrMBR[cChild]->m_pLow[cDim] > m_ptrMBR[greatestLower]->m_pLow[cDim]) greatestLower = cChild;
+					if (m_ptrMBR[cChild]->m_pHigh[cDim] < m_ptrMBR[leastUpper]->m_pHigh[cDim]) leastUpper = cChild;
+
+					leastLower = std::min(m_ptrMBR[cChild]->m_pLow[cDim], leastLower);
+					greatestUpper = std::max(m_ptrMBR[cChild]->m_pHigh[cDim], greatestUpper);
+				}
+
+				width = greatestUpper - leastLower;
+				if (width <= 0) width = 1;
+
+				double f = (m_ptrMBR[greatestLower]->m_pLow[cDim] - m_ptrMBR[leastUpper]->m_pHigh[cDim]) / width;
+
+				if (f > separation)
+				{
+					index1 = leastUpper;
+					index2 = greatestLower;
+					separation = f;
+				}
+			}  // for (cDim)
+
+			if (index1 == index2)
+			{
+ 				if (index2 == 0) index2++;
+ 				else index2--;
+			}
+
+			break;
+		case RV_QUADRATIC:
+			// for each pair of Regions (account for overflow Region too!)
+			for (cChild = 0; cChild < m_capacity; cChild++)
+			{
+				double a = m_ptrMBR[cChild]->getArea();
+
+				for (cIndex = cChild + 1; cIndex <= m_capacity; cIndex++)
+				{
+					// get the combined MBR of those two entries.
+					Region r;
+					m_ptrMBR[cChild]->getCombinedRegion(r, *(m_ptrMBR[cIndex]));
+
+					// find the inefficiency of grouping these entries together.
+					double d = r.getArea() - a - m_ptrMBR[cIndex]->getArea();
+
+					if (d > inefficiency)
+					{
+						inefficiency = d;
+						index1 = cChild;
+						index2 = cIndex;
+					}
+				}  // for (cIndex)
+			} // for (cChild)
+
+			break;
+		default:
+			throw Tools::NotSupportedException("Node::pickSeeds: Tree variant not supported.");
+	}
+}
+
+void Node::condenseTree(stack<NodePtr>& toReinsert, stack<long>& pathBuffer, NodePtr& ptrThis)
+{
+	unsigned long minimumLoad = static_cast<unsigned long>(std::floor(m_capacity * m_pTree->m_fillFactor));
+
+	if (pathBuffer.empty())
+	{
+		// eliminate root if it has only one child.
+		if (m_level != 0 && m_children == 1)
+		{
+			NodePtr ptrN = m_pTree->readNode(m_pIdentifier[0]);
+			m_pTree->deleteNode(ptrN.get());
+			ptrN->m_identifier = m_pTree->m_rootID;
+			m_pTree->writeNode(ptrN.get());
+
+			m_pTree->m_stats.m_nodesInLevel.pop_back();
+			m_pTree->m_stats.m_treeHeight -= 1;
+			// HACK: pending deleteNode for deleted child will decrease nodesInLevel, later on.
+			m_pTree->m_stats.m_nodesInLevel[m_pTree->m_stats.m_treeHeight - 1] = 2;
+		}
+	}
+	else
+	{
+		long cParent = pathBuffer.top(); pathBuffer.pop();
+		NodePtr ptrParent = m_pTree->readNode(cParent);
+		Index* p = static_cast<Index*>(ptrParent.get());
+
+		// find the entry in the parent, that points to this node.
+		unsigned long child;
+
+		for (child = 0; child != p->m_children; child++)
+		{
+			if (p->m_pIdentifier[child] == m_identifier) break;
+		}
+
+		if (m_children < minimumLoad)
+		{
+			// used space less than the minimum
+			// 1. eliminate node entry from the parent. deleteEntry will fix the parent's MBR.
+			p->deleteEntry(child);
+			// 2. add this node to the stack in order to reinsert its entries.
+			toReinsert.push(ptrThis);
+		}
+		else
+		{
+			// adjust the entry in 'p' to contain the new bounding region of this node.
+			*(p->m_ptrMBR[child]) = m_nodeMBR;
+
+			// global recalculation necessary since the MBR can only shrink in size,
+			// due to data removal.
+			if (m_pTree->m_bTightMBRs)
+			{
+				for (unsigned long cDim = 0; cDim < p->m_nodeMBR.m_dimension; cDim++)
+				{
+					p->m_nodeMBR.m_pLow[cDim] = std::numeric_limits<double>::max();
+					p->m_nodeMBR.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+					for (unsigned long cChild = 0; cChild < p->m_children; cChild++)
+					{
+						p->m_nodeMBR.m_pLow[cDim] = std::min(p->m_nodeMBR.m_pLow[cDim], p->m_ptrMBR[cChild]->m_pLow[cDim]);
+						p->m_nodeMBR.m_pHigh[cDim] = std::max(p->m_nodeMBR.m_pHigh[cDim], p->m_ptrMBR[cChild]->m_pHigh[cDim]);
+					}
+				}
+			}
+		}
+
+		// write parent node back to storage.
+		m_pTree->writeNode(p);
+
+		p->condenseTree(toReinsert, pathBuffer, ptrParent);
+	}
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Node.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,193 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_node_h
+#define __spatialindex_rtree_node_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class RTree;
+		class Leaf;
+		class Index;
+		class Node;
+
+		typedef Tools::PoolPointer<Node> NodePtr;
+
+		class Node : public SpatialIndex::INode
+		{
+		public:
+			virtual ~Node();
+
+			//
+			// Tools::IObject interface
+			//
+			virtual Tools::IObject* clone();
+
+			//
+			// Tools::ISerializable interface
+			//
+			virtual unsigned long getByteArraySize();
+			virtual void loadFromByteArray(const byte* data);
+			virtual void storeToByteArray(byte** data, unsigned long& len);
+
+			//
+			// SpatialIndex::IEntry interface
+			//
+			virtual long getIdentifier() const;
+			virtual void getShape(IShape** out) const;
+
+			//
+			// SpatialIndex::INode interface
+			//
+			virtual unsigned long getChildrenCount() const;
+			virtual long getChildIdentifier(unsigned long index)  const;
+			virtual void getChildShape(unsigned long index, IShape** out)  const;
+			virtual unsigned long getLevel() const;
+			virtual bool isIndex() const;
+			virtual bool isLeaf() const;
+
+		private:
+			Node();
+			Node(RTree* pTree, long id, unsigned long level, unsigned long capacity);
+
+			virtual Node& operator=(const Node&);
+
+			virtual void insertEntry(unsigned long dataLength, byte* pData, Region& mbr, long id);
+			virtual void deleteEntry(unsigned long index);
+
+			virtual bool insertData(unsigned long dataLength, byte* pData, Region& mbr, long id, std::stack<long>& pathBuffer, byte* overflowTable);
+			virtual void reinsertData(unsigned long dataLength, byte* pData, Region& mbr, long id, std::vector<long>& reinsert, std::vector<long>& keep);
+
+			virtual void rtreeSplit(unsigned long dataLength, byte* pData, Region& mbr, long id, std::vector<long>& group1, std::vector<long>& group2);
+			virtual void rstarSplit(unsigned long dataLength, byte* pData, Region& mbr, long id, std::vector<long>& group1, std::vector<long>& group2);
+
+			virtual void pickSeeds(unsigned long& index1, unsigned long& index2);
+
+			virtual void condenseTree(std::stack<NodePtr>& toReinsert, std::stack<long>& pathBuffer, NodePtr& ptrThis);
+
+			//virtual void load(unsigned long len, byte* const data);
+			//virtual void store(unsigned long& len, byte** data);
+
+			virtual NodePtr chooseSubtree(const Region& mbr, unsigned long level, std::stack<long>& pathBuffer) = 0;
+			virtual NodePtr findLeaf(const Region& mbr, long id, std::stack<long>& pathBuffer) = 0;
+
+			virtual void split(unsigned long dataLength, byte* pData, Region& mbr, long id, NodePtr& left, NodePtr& right) = 0;
+
+			RTree* m_pTree;
+				// Parent of all nodes.
+
+			unsigned long m_level;
+				// The level of the node in the tree.
+				// Leaves are always at level 0.
+
+			long m_identifier;
+				// The unique ID of this node.
+
+			unsigned long m_children;
+				// The number of children pointed by this node.
+
+			unsigned long m_capacity;
+				// Specifies the node capacity.
+
+			Region m_nodeMBR;
+				// The minimum bounding region enclosing all data contained in the node.
+
+			byte** m_pData;
+				// The data stored in the node.
+
+			RegionPtr* m_ptrMBR;
+				// The corresponding data MBRs.
+
+			long* m_pIdentifier;
+				// The corresponding data identifiers.
+
+			unsigned long* m_pDataLength;
+
+			unsigned long m_totalDataLength;
+
+			class RstarSplitEntry
+			{
+			public:
+				Region* m_pRegion;
+				long m_id;
+				unsigned long m_sortDim;
+
+				RstarSplitEntry(Region* pr, long id, unsigned long dimension) :
+					m_pRegion(pr), m_id(id), m_sortDim(dimension) {}
+
+				static int compareLow(const void* pv1, const void* pv2)
+				{
+					RstarSplitEntry* pe1 = * (RstarSplitEntry**) pv1;
+					RstarSplitEntry* pe2 = * (RstarSplitEntry**) pv2;
+
+					assert(pe1->m_sortDim == pe2->m_sortDim);
+
+					if (pe1->m_pRegion->m_pLow[pe1->m_sortDim] < pe2->m_pRegion->m_pLow[pe2->m_sortDim]) return -1;
+					if (pe1->m_pRegion->m_pLow[pe1->m_sortDim] > pe2->m_pRegion->m_pLow[pe2->m_sortDim]) return 1;
+					return 0;
+				}
+
+				static int compareHigh(const void* pv1, const void* pv2)
+				{
+					RstarSplitEntry* pe1 = * (RstarSplitEntry**) pv1;
+					RstarSplitEntry* pe2 = * (RstarSplitEntry**) pv2;
+
+					assert(pe1->m_sortDim == pe2->m_sortDim);
+
+					if (pe1->m_pRegion->m_pHigh[pe1->m_sortDim] < pe2->m_pRegion->m_pHigh[pe2->m_sortDim]) return -1;
+					if (pe1->m_pRegion->m_pHigh[pe1->m_sortDim] > pe2->m_pRegion->m_pHigh[pe2->m_sortDim]) return 1;
+					return 0;
+				}
+			}; // RstarSplitEntry
+
+			class ReinsertEntry
+			{
+			public:
+				long m_id;
+				double m_dist;
+
+				ReinsertEntry(long id, double dist) : m_id(id), m_dist(dist) {}
+
+				static int compareReinsertEntry(const void* pv1, const void* pv2)
+				{
+					ReinsertEntry* pe1 = * (ReinsertEntry**) pv1;
+					ReinsertEntry* pe2 = * (ReinsertEntry**) pv2;
+
+					if (pe1->m_dist < pe2->m_dist) return -1;
+					if (pe1->m_dist > pe2->m_dist) return 1;
+					return 0;
+				}
+			}; // ReinsertEntry
+
+			// Needed to access protected members without having to cast from Node.
+			// It is more efficient than using member functions to access protected members.
+			friend class RTree;
+			friend class Leaf;
+			friend class Index;
+			friend class Tools::PointerPool<Node>;
+			friend class BulkLoader;
+		}; // Node
+	}
+}
+
+#endif /*__spatialindex_rtree_node_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/PointerPoolNode.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/PointerPoolNode.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/PointerPoolNode.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,142 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_pointer_pool_node_h
+#define __spatialindex_rtree_pointer_pool_node_h
+
+#include "Node.h"
+
+#define NDEBUG 1
+
+using namespace SpatialIndex;
+
+namespace Tools
+{
+	template<> class PointerPool<RTree::Node>
+	{
+	public:
+		explicit PointerPool(unsigned long capacity) : m_capacity(capacity)
+		{
+			#ifndef NDEBUG
+			m_hits = 0;
+			m_misses = 0;
+			m_pointerCount = 0;
+			#endif
+		}
+
+		~PointerPool()
+		{
+			assert(m_pool.size() <= m_capacity);
+
+			while (! m_pool.empty())
+			{
+				RTree::Node* x = m_pool.top(); m_pool.pop();
+				#ifndef NDEBUG
+				m_pointerCount--;
+				#endif
+				delete x;
+			}
+
+			#ifndef NDEBUG
+			std::cerr << "Lost pointers: " << m_pointerCount << std::endl;
+			#endif
+		}
+
+		PoolPointer<RTree::Node> acquire()
+		{
+			if (! m_pool.empty())
+			{
+				RTree::Node* p = m_pool.top(); m_pool.pop();
+				#ifndef NDEBUG
+				m_hits++;
+				#endif
+
+				return PoolPointer<RTree::Node>(p, this);
+			}
+			#ifndef NDEBUG
+			else
+			{
+				// fixme: well sort of...
+				m_pointerCount++;
+				m_misses++;
+			}
+			#endif
+
+			return PoolPointer<RTree::Node>();
+		}
+
+		void release(RTree::Node* p)
+		{
+			if (p != 0)
+			{
+				if (m_pool.size() < m_capacity)
+				{
+					if (p->m_pData != 0)
+					{
+						for (unsigned long cChild = 0; cChild < p->m_children; cChild++)
+						{
+							// there is no need to set the pointer to zero, after deleting it,
+							// since it will be redeleted only if it is actually initialized again,
+							// a fact that will be depicted by variable m_children.
+							if (p->m_pData[cChild] != 0) delete[] p->m_pData[cChild];
+						}
+					}
+
+					p->m_level = 0;
+					p->m_identifier = -1;
+					p->m_children = 0;
+					p->m_totalDataLength = 0;
+
+					m_pool.push(p);
+				}
+				else
+				{
+					#ifndef NDEBUG
+					m_pointerCount--;
+					#endif
+					delete p;
+				}
+
+				assert(m_pool.size() <= m_capacity);
+			}
+		}
+
+		unsigned long getCapacity() const { return m_capacity; }
+		void setCapacity(unsigned long c)
+		{
+			assert (c >= 0);
+			m_capacity = c;
+		}
+
+	protected:
+		unsigned long m_capacity;
+		std::stack<RTree::Node*> m_pool;
+
+	#ifndef NDEBUG
+	public:
+		unsigned long m_hits;
+		unsigned long m_misses;
+		long m_pointerCount;
+	#endif
+	};
+}
+
+#endif /* __spatialindex_rtree_pointer_pool_node_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1427 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "Node.h"
+#include "Leaf.h"
+#include "Index.h"
+#include "BulkLoader.h"
+
+#include "RTree.h"
+
+using std::stack;
+using std::vector;
+using std::priority_queue;
+
+RTree::Data::Data(unsigned long len, byte* pData, Region& r, long id)
+	: m_id(id), m_region(r), m_pData(0), m_dataLength(len)
+{
+	if (m_dataLength > 0)
+	{
+		m_pData = new byte[m_dataLength];
+		memcpy(m_pData, pData, m_dataLength);
+	}
+}
+
+RTree::Data::~Data()
+{
+	delete[] m_pData;
+}
+
+RTree::Data* RTree::Data::clone()
+{
+	return new Data(m_dataLength, m_pData, m_region, m_id);
+}
+
+long RTree::Data::getIdentifier() const
+{
+	return m_id;
+}
+
+void RTree::Data::getShape(IShape** out) const
+{
+	*out = new Region(m_region);
+}
+
+void RTree::Data::getData(unsigned long& len, byte** data) const
+{
+	len = m_dataLength;
+	*data = 0;
+
+	if (m_dataLength > 0)
+	{
+		*data = new byte[m_dataLength];
+		memcpy(*data, m_pData, m_dataLength);
+	}
+}
+
+unsigned long RTree::Data::getByteArraySize()
+{
+	return
+		sizeof(long) +
+		sizeof(unsigned long) +
+		m_dataLength +
+		m_region.getByteArraySize();
+}
+
+void RTree::Data::loadFromByteArray(const byte* ptr)
+{
+	memcpy(&m_id, ptr, sizeof(long));
+	ptr += sizeof(long);
+
+	delete[] m_pData;
+	m_pData = 0;
+
+	memcpy(&m_dataLength, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	if (m_dataLength > 0)
+	{
+		m_pData = new byte[m_dataLength];
+		memcpy(m_pData, ptr, m_dataLength);
+		ptr += m_dataLength;
+	}
+
+	m_region.loadFromByteArray(ptr);
+}
+
+void RTree::Data::storeToByteArray(byte** data, unsigned long& len)
+{
+	// it is thread safe this way.
+	unsigned long regionsize;
+	byte* regiondata = 0;
+	m_region.storeToByteArray(&regiondata, regionsize);
+
+	len = sizeof(long) + sizeof(unsigned long) + m_dataLength + regionsize;
+
+	*data = new byte[len];
+	byte* ptr = *data;
+
+	memcpy(ptr, &m_id, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(ptr, &m_dataLength, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	if (m_dataLength > 0)
+	{
+		memcpy(ptr, m_pData, m_dataLength);
+		ptr += m_dataLength;
+	}
+
+	memcpy(ptr, regiondata, regionsize);
+	delete[] regiondata;
+	// ptr += regionsize;
+}
+
+SpatialIndex::ISpatialIndex* SpatialIndex::RTree::returnRTree(SpatialIndex::IStorageManager& sm, Tools::PropertySet& ps)
+{
+	SpatialIndex::ISpatialIndex* si = new SpatialIndex::RTree::RTree(sm, ps);
+	return si;
+}
+
+SpatialIndex::ISpatialIndex* SpatialIndex::RTree::createNewRTree(
+	SpatialIndex::IStorageManager& sm,
+	double fillFactor,
+	unsigned long indexCapacity,
+	unsigned long leafCapacity,
+	unsigned long dimension,
+	RTreeVariant rv,
+	long& indexIdentifier)
+{
+	Tools::Variant var;
+	Tools::PropertySet ps;
+
+	var.m_varType = Tools::VT_DOUBLE;
+	var.m_val.dblVal = fillFactor;
+	ps.setProperty("FillFactor", var);
+
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = indexCapacity;
+	ps.setProperty("IndexCapacity", var);
+
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = leafCapacity;
+	ps.setProperty("LeafCapacity", var);
+
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = dimension;
+	ps.setProperty("Dimension", var);
+
+	var.m_varType = Tools::VT_LONG;
+	var.m_val.lVal = rv;
+	ps.setProperty("TreeVariant", var);
+
+	ISpatialIndex* ret = returnRTree(sm, ps);
+
+	var = ps.getProperty("IndexIdentifier");
+	indexIdentifier = var.m_val.lVal;
+
+	return ret;
+}
+
+SpatialIndex::ISpatialIndex* SpatialIndex::RTree::createAndBulkLoadNewRTree(
+	BulkLoadMethod m,
+	IDataStream& stream,
+	SpatialIndex::IStorageManager& sm,
+	double fillFactor,
+	unsigned long indexCapacity,
+	unsigned long leafCapacity,
+	unsigned long dimension,
+	SpatialIndex::RTree::RTreeVariant rv,
+	long& indexIdentifier)
+{
+	SpatialIndex::ISpatialIndex* tree = createNewRTree(sm, fillFactor, indexCapacity, leafCapacity, dimension, rv, indexIdentifier);
+
+	unsigned long bindex = static_cast<unsigned long>(std::floor(static_cast<double>(indexCapacity * fillFactor)));
+	unsigned long bleaf = static_cast<unsigned long>(std::floor(static_cast<double>(leafCapacity * fillFactor)));
+
+	SpatialIndex::RTree::BulkLoader bl;
+
+	switch (m)
+	{
+	case BLM_STR:
+		//FIXME: find available memory here.
+		bl.bulkLoadUsingSTR(static_cast<RTree*>(tree), stream, bindex, bleaf, 200000);
+		break;
+	default:
+		throw Tools::IllegalArgumentException("createAndBulkLoadNewRTree: Unknown bulk load method.");
+		break;
+	}
+
+	return tree;
+}
+
+SpatialIndex::ISpatialIndex* SpatialIndex::RTree::loadRTree(IStorageManager& sm, long indexIdentifier)
+{
+	Tools::Variant var;
+	Tools::PropertySet ps;
+
+	var.m_varType = Tools::VT_LONG;
+	var.m_val.lVal = indexIdentifier;
+	ps.setProperty("IndexIdentifier", var);
+
+	return returnRTree(sm, ps);
+}
+
+SpatialIndex::RTree::RTree::RTree(IStorageManager& sm, Tools::PropertySet& ps) :
+	m_pStorageManager(&sm),
+	m_rootID(StorageManager::NewPage),
+	m_headerID(StorageManager::NewPage),
+	m_treeVariant(RV_RSTAR),
+	m_fillFactor(0.7),
+	m_indexCapacity(100),
+	m_leafCapacity(100),
+	m_nearMinimumOverlapFactor(32),
+	m_splitDistributionFactor(0.4),
+	m_reinsertFactor(0.3),
+	m_dimension(2),
+	m_bTightMBRs(true),
+	m_pointPool(500),
+	m_regionPool(1000),
+	m_indexPool(100),
+	m_leafPool(100)
+{
+#ifdef PTHREADS
+	pthread_rwlock_init(&m_rwLock, NULL);
+#else
+	m_rwLock = false;
+#endif
+
+	Tools::Variant var = ps.getProperty("IndexIdentifier");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_LONG) throw Tools::IllegalArgumentException("RTree: Property IndexIdentifier must be Tools::VT_LONG");
+		m_headerID = var.m_val.lVal;
+		initOld(ps);
+	}
+	else
+	{
+		initNew(ps);
+		var.m_varType = Tools::VT_LONG;
+		var.m_val.lVal = m_headerID;
+		ps.setProperty("IndexIdentifier", var);
+	}
+}
+
+SpatialIndex::RTree::RTree::~RTree()
+{
+#ifdef PTHREADS
+	pthread_rwlock_destroy(&m_rwLock);
+#endif
+
+	storeHeader();
+}
+
+//
+// ISpatialIndex interface
+//
+
+void SpatialIndex::RTree::RTree::insertData(unsigned long len, const byte* pData, const IShape& shape, long id)
+{
+	if (shape.getDimension() != m_dimension) throw Tools::IllegalArgumentException("insertData: Shape has the wrong number of dimensions.");
+
+#ifdef PTHREADS
+	Tools::ExclusiveLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("insertData: cannot acquire an exclusive lock");
+#endif
+
+	try
+	{
+		// convert the shape into a Region (R-Trees index regions only; i.e., approximations of the shapes).
+		RegionPtr mbr = m_regionPool.acquire();
+		shape.getMBR(*mbr);
+
+		byte* buffer = 0;
+
+		if (len > 0)
+		{
+			buffer = new byte[len];
+			memcpy(buffer, pData, len);
+		}
+
+		insertData_impl(len, buffer, *mbr, id);
+			// the buffer is stored in the tree. Do not delete here.
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+bool SpatialIndex::RTree::RTree::deleteData(const IShape& shape, long id)
+{
+	if (shape.getDimension() != m_dimension) throw Tools::IllegalArgumentException("deleteData: Shape has the wrong number of dimensions.");
+
+#ifdef PTHREADS
+	Tools::ExclusiveLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("deleteData: cannot acquire an exclusive lock");
+#endif
+
+	try
+	{
+		RegionPtr mbr = m_regionPool.acquire();
+		shape.getMBR(*mbr);
+		bool ret = deleteData_impl(*mbr, id);
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+
+		return ret;
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::containsWhatQuery(const IShape& query, IVisitor& v)
+{
+	if (query.getDimension() != m_dimension) throw Tools::IllegalArgumentException("containsWhatQuery: Shape has the wrong number of dimensions.");
+	rangeQuery(ContainmentQuery, query, v);
+}
+
+void SpatialIndex::RTree::RTree::intersectsWithQuery(const IShape& query, IVisitor& v)
+{
+	if (query.getDimension() != m_dimension) throw Tools::IllegalArgumentException("intersectsWithQuery: Shape has the wrong number of dimensions.");
+	rangeQuery(IntersectionQuery, query, v);
+}
+
+void SpatialIndex::RTree::RTree::pointLocationQuery(const Point& query, IVisitor& v)
+{
+	if (query.m_dimension != m_dimension) throw Tools::IllegalArgumentException("pointLocationQuery: Shape has the wrong number of dimensions.");
+	Region r(query, query);
+	rangeQuery(IntersectionQuery, r, v);
+}
+
+void SpatialIndex::RTree::RTree::nearestNeighborQuery(long k, const IShape& query, IVisitor& v, INearestNeighborComparator& nnc)
+{
+	if (query.getDimension() != m_dimension) throw Tools::IllegalArgumentException("nearestNeighborQuery: Shape has the wrong number of dimensions.");
+
+#ifdef PTHREADS
+	Tools::SharedLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("nearestNeighborQuery: cannot acquire a shared lock");
+#endif
+
+	try
+	{
+		priority_queue<NNEntry*, vector<NNEntry*>, NNEntry::ascending> queue;
+
+		queue.push(new NNEntry(m_rootID, 0, 0.0));
+
+		long count = 0;
+		double knearest = 0.0;
+
+		while (! queue.empty())
+		{
+			NNEntry* pFirst = queue.top();
+
+			// report all nearest neighbors with equal greatest distances.
+			// (neighbors can be more than k, if many happen to have the same greatest distance).
+			if (count >= k && pFirst->m_minDist > knearest)	break;
+
+			queue.pop();
+
+			if (pFirst->m_pEntry == 0)
+			{
+				// n is a leaf or an index.
+				NodePtr n = readNode(pFirst->m_id);
+				v.visitNode(*n);
+
+				for (unsigned long cChild = 0; cChild < n->m_children; cChild++)
+				{
+					if (n->m_level == 0)
+					{
+						Data* e = new Data(n->m_pDataLength[cChild], n->m_pData[cChild], *(n->m_ptrMBR[cChild]), n->m_pIdentifier[cChild]);
+						// we need to compare the query with the actual data entry here, so we call the
+						// appropriate getMinimumDistance method of NearestNeighborComparator.
+						queue.push(new NNEntry(n->m_pIdentifier[cChild], e, nnc.getMinimumDistance(query, *e)));
+					}
+					else
+					{
+						queue.push(new NNEntry(n->m_pIdentifier[cChild], 0, nnc.getMinimumDistance(query, *(n->m_ptrMBR[cChild]))));
+					}
+				}
+			}
+			else
+			{
+				v.visitData(*(static_cast<IData*>(pFirst->m_pEntry)));
+				m_stats.m_queryResults++;
+				count++;
+				knearest = pFirst->m_minDist;
+				delete pFirst->m_pEntry;
+			}
+
+			delete pFirst;
+		}
+
+		while (! queue.empty())
+		{
+			NNEntry* e = queue.top(); queue.pop();
+			if (e->m_pEntry != 0) delete e->m_pEntry;
+			delete e;
+		}
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::nearestNeighborQuery(long k, const IShape& query, IVisitor& v)
+{
+	if (query.getDimension() != m_dimension) throw Tools::IllegalArgumentException("nearestNeighborQuery: Shape has the wrong number of dimensions.");
+	NNComparator nnc;
+	nearestNeighborQuery(k, query, v, nnc);
+}
+
+void SpatialIndex::RTree::RTree::selfJoinQuery(const IShape& query, IVisitor& v)
+{
+	if (query.getDimension() != m_dimension) throw Tools::IllegalArgumentException("selfJoinQuery: Shape has the wrong number of dimensions.");
+
+#ifdef PTHREADS
+	Tools::SharedLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("selfJoinQuery: cannot acquire a shared lock");
+#endif
+
+	try
+	{
+		RegionPtr mbr = m_regionPool.acquire();
+		query.getMBR(*mbr);
+		selfJoinQuery(m_rootID, m_rootID, *mbr, v);
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::queryStrategy(IQueryStrategy& qs)
+{
+#ifdef PTHREADS
+	Tools::SharedLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("queryStrategy: cannot acquire a shared lock");
+#endif
+
+	long next = m_rootID;
+	bool hasNext = true;
+
+	try
+	{
+		while (hasNext)
+		{
+			NodePtr n = readNode(next);
+			qs.getNextEntry(*n, next, hasNext);
+		}
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::getIndexProperties(Tools::PropertySet& out) const
+{
+	Tools::Variant var;
+
+	// dimension
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_dimension;
+	out.setProperty("Dimension", var);
+
+	// index capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_indexCapacity;
+	out.setProperty("IndexCapacity", var);
+
+	// leaf capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_leafCapacity;
+	out.setProperty("LeafCapacity", var);
+
+	// R-tree variant
+	var.m_varType = Tools::VT_LONG;
+	var.m_val.lVal = m_treeVariant;
+	out.setProperty("TreeVariant", var);
+
+	// fill factor
+	var.m_varType = Tools::VT_DOUBLE;
+	var.m_val.dblVal = m_fillFactor;
+	out.setProperty("FillFactor", var);
+
+	// near minimum overlap factor
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_nearMinimumOverlapFactor;
+	out.setProperty("NearMinimumOverlapFactor", var);
+
+	// split distribution factor
+	var.m_varType = Tools::VT_DOUBLE;
+	var.m_val.dblVal = m_splitDistributionFactor;
+	out.setProperty("SplitDistributionFactor", var);
+
+	// reinsert factor
+	var.m_varType = Tools::VT_DOUBLE;
+	var.m_val.dblVal = m_reinsertFactor;
+	out.setProperty("ReinsertFactor", var);
+
+	// tight MBRs
+	var.m_varType = Tools::VT_BOOL;
+	var.m_val.blVal = m_bTightMBRs;
+	out.setProperty("EnsureTightMBRs", var);
+
+	// index pool capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_indexPool.getCapacity();
+	out.setProperty("IndexPoolCapacity", var);
+
+	// leaf pool capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_leafPool.getCapacity();
+	out.setProperty("LeafPoolCapacity", var);
+
+	// region pool capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_regionPool.getCapacity();
+	out.setProperty("RegionPoolCapacity", var);
+
+	// point pool capacity
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = m_pointPool.getCapacity();
+	out.setProperty("PointPoolCapacity", var);
+}
+
+void SpatialIndex::RTree::RTree::addCommand(ICommand* pCommand, CommandType ct)
+{
+	switch (ct)
+	{
+		case CT_NODEREAD:
+			m_readNodeCommands.push_back(Tools::SmartPointer<ICommand>(pCommand));
+			break;
+		case CT_NODEWRITE:
+			m_writeNodeCommands.push_back(Tools::SmartPointer<ICommand>(pCommand));
+			break;
+		case CT_NODEDELETE:
+			m_deleteNodeCommands.push_back(Tools::SmartPointer<ICommand>(pCommand));
+			break;
+	}
+}
+
+bool SpatialIndex::RTree::RTree::isIndexValid()
+{
+	bool ret = true;
+	stack<ValidateEntry> st;
+	NodePtr root = readNode(m_rootID);
+
+	if (root->m_level != m_stats.m_treeHeight - 1)
+	{
+		std::cerr << "Invalid tree height." << std::endl;
+		return false;
+	}
+
+	std::map<unsigned long, unsigned long> nodesInLevel;
+	nodesInLevel.insert(std::pair<long, long>(root->m_level, 1));
+
+	ValidateEntry e(root->m_nodeMBR, root);
+	st.push(e);
+
+	while (! st.empty())
+	{
+		e = st.top(); st.pop();
+
+		Region tmpRegion;
+		tmpRegion = m_infiniteRegion;
+
+		for (unsigned long cDim = 0; cDim < tmpRegion.m_dimension; cDim++)
+		{
+			tmpRegion.m_pLow[cDim] = std::numeric_limits<double>::max();
+			tmpRegion.m_pHigh[cDim] = -std::numeric_limits<double>::max();
+
+			for (unsigned long cChild = 0; cChild < e.m_pNode->m_children; cChild++)
+			{
+				tmpRegion.m_pLow[cDim] = std::min(tmpRegion.m_pLow[cDim], e.m_pNode->m_ptrMBR[cChild]->m_pLow[cDim]);
+				tmpRegion.m_pHigh[cDim] = std::max(tmpRegion.m_pHigh[cDim], e.m_pNode->m_ptrMBR[cChild]->m_pHigh[cDim]);
+			}
+		}
+
+		if (! (tmpRegion == e.m_pNode->m_nodeMBR))
+		{
+			std::cerr << "Invalid parent information." << std::endl;
+			ret = false;
+		}
+		else if (! (tmpRegion == e.m_parentMBR))
+		{
+			std::cerr << "Error in parent." << std::endl;
+			ret = false;
+		}
+
+		if (e.m_pNode->m_level != 0)
+		{
+			for (unsigned long cChild = 0; cChild < e.m_pNode->m_children; cChild++)
+			{
+				NodePtr ptrN = readNode(e.m_pNode->m_pIdentifier[cChild]);
+				ValidateEntry tmpEntry(*(e.m_pNode->m_ptrMBR[cChild]), ptrN);
+
+				std::map<unsigned long, unsigned long>::iterator itNodes = nodesInLevel.find(tmpEntry.m_pNode->m_level);
+
+				if (itNodes == nodesInLevel.end())
+				{
+					nodesInLevel.insert(std::pair<long, long>(tmpEntry.m_pNode->m_level, 1l));
+				}
+				else
+				{
+					nodesInLevel[tmpEntry.m_pNode->m_level] = nodesInLevel[tmpEntry.m_pNode->m_level] + 1;
+				}
+
+				st.push(tmpEntry);
+			}
+		}
+	}
+
+	unsigned long nodes = 0;
+	for (unsigned long cLevel = 0; cLevel < m_stats.m_treeHeight; cLevel++)
+	{
+		if (nodesInLevel[cLevel] != m_stats.m_nodesInLevel[cLevel])
+		{
+			std::cerr << "Invalid nodesInLevel information." << std::endl;
+			ret = false;
+		}
+
+		nodes += m_stats.m_nodesInLevel[cLevel];
+	}
+
+	if (nodes != m_stats.m_nodes)
+	{
+		std::cerr << "Invalid number of nodes information." << std::endl;
+		ret = false;
+	}
+
+	return ret;
+}
+
+void SpatialIndex::RTree::RTree::getStatistics(IStatistics** out) const
+{
+	*out = new Statistics(m_stats);
+}
+
+void SpatialIndex::RTree::RTree::initNew(Tools::PropertySet& ps)
+{
+	Tools::Variant var;
+
+	// tree variant
+	var = ps.getProperty("TreeVariant");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_LONG ||
+			(var.m_val.lVal != RV_LINEAR &&
+			var.m_val.lVal != RV_QUADRATIC &&
+			var.m_val.lVal != RV_RSTAR))
+			throw Tools::IllegalArgumentException("initNew: Property TreeVariant must be Tools::VT_LONG and of RTreeVariant type");
+
+		m_treeVariant = static_cast<RTreeVariant>(var.m_val.lVal);
+	}
+
+	// fill factor
+	// it cannot be larger than 50%, since linear and quadratic split algorithms
+	// require assigning to both nodes the same number of entries.
+	var = ps.getProperty("FillFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_DOUBLE ||
+			var.m_val.dblVal <= 0.0 ||
+			((m_treeVariant == RV_LINEAR || m_treeVariant == RV_QUADRATIC) && var.m_val.dblVal > 0.5) ||
+			var.m_val.dblVal >= 1.0)
+			throw Tools::IllegalArgumentException("initNew: Property FillFactor must be Tools::VT_DOUBLE and in (0.0, 1.0) for RSTAR, (0.0, 0.5) for LINEAR and QUADRATIC");
+
+		m_fillFactor = var.m_val.dblVal;
+	}
+
+	// index capacity
+	var = ps.getProperty("IndexCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG || var.m_val.ulVal < 4)
+			throw Tools::IllegalArgumentException("initNew: Property IndexCapacity must be Tools::VT_ULONG and >= 4");
+
+		m_indexCapacity = var.m_val.ulVal;
+	}
+
+	// leaf capacity
+	var = ps.getProperty("LeafCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG || var.m_val.ulVal < 4)
+			throw Tools::IllegalArgumentException("initNew: Property LeafCapacity must be Tools::VT_ULONG and >= 4");
+
+		m_leafCapacity = var.m_val.ulVal;
+	}
+
+	// near minimum overlap factor
+	var = ps.getProperty("NearMinimumOverlapFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_ULONG ||
+			var.m_val.ulVal < 1 ||
+			var.m_val.ulVal > m_indexCapacity ||
+			var.m_val.ulVal > m_leafCapacity)
+			throw Tools::IllegalArgumentException("initNew: Property NearMinimumOverlapFactor must be Tools::VT_ULONG and less than both index and leaf capacities");
+
+		m_nearMinimumOverlapFactor = var.m_val.ulVal;
+	}
+
+	// split distribution factor
+	var = ps.getProperty("SplitDistributionFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_DOUBLE ||
+			var.m_val.dblVal <= 0.0 ||
+			var.m_val.dblVal >= 1.0)
+			throw Tools::IllegalArgumentException("initNew: Property SplitDistributionFactor must be Tools::VT_DOUBLE and in (0.0, 1.0)");
+
+		m_splitDistributionFactor = var.m_val.dblVal;
+	}
+
+	// reinsert factor
+	var = ps.getProperty("ReinsertFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_DOUBLE ||
+			var.m_val.dblVal <= 0.0 ||
+			var.m_val.dblVal >= 1.0)
+			throw Tools::IllegalArgumentException("initNew: Property ReinsertFactor must be Tools::VT_DOUBLE and in (0.0, 1.0)");
+
+		m_reinsertFactor = var.m_val.dblVal;
+	}
+
+	// dimension
+	var = ps.getProperty("Dimension");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG)
+			throw Tools::IllegalArgumentException("initNew: Property Dimension must be Tools::VT_ULONG");
+		if (var.m_val.ulVal <= 1)
+			throw Tools::IllegalArgumentException("initNew: Property Dimension must be greater than 1");
+
+		m_dimension = var.m_val.ulVal;
+	}
+
+	// tight MBRs
+	var = ps.getProperty("EnsureTightMBRs");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_BOOL)
+			throw Tools::IllegalArgumentException("initNew: Property EnsureTightMBRs must be Tools::VT_BOOL");
+
+		m_bTightMBRs = var.m_val.blVal;
+	}
+
+	// index pool capacity
+	var = ps.getProperty("IndexPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG)
+			throw Tools::IllegalArgumentException("initNew: Property IndexPoolCapacity must be Tools::VT_ULONG");
+
+		m_indexPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// leaf pool capacity
+	var = ps.getProperty("LeafPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG)
+			throw Tools::IllegalArgumentException("initNew: Property LeafPoolCapacity must be Tools::VT_ULONG");
+
+		m_leafPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// region pool capacity
+	var = ps.getProperty("RegionPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG)
+			throw Tools::IllegalArgumentException("initNew: Property RegionPoolCapacity must be Tools::VT_ULONG");
+
+		m_regionPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// point pool capacity
+	var = ps.getProperty("PointPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG)
+			throw Tools::IllegalArgumentException("initNew: Property PointPoolCapacity must be Tools::VT_ULONG");
+
+		m_pointPool.setCapacity(var.m_val.ulVal);
+	}
+
+	m_infiniteRegion.makeInfinite(m_dimension);
+
+	m_stats.m_treeHeight = 1;
+	m_stats.m_nodesInLevel.push_back(0);
+
+	Leaf root(this, -1);
+	m_rootID = writeNode(&root);
+
+	storeHeader();
+}
+
+void SpatialIndex::RTree::RTree::initOld(Tools::PropertySet& ps)
+{
+	loadHeader();
+
+	// only some of the properties may be changed.
+	// the rest are just ignored.
+
+	Tools::Variant var;
+
+	// tree variant
+	var = ps.getProperty("TreeVariant");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (
+			var.m_varType != Tools::VT_LONG ||
+			(var.m_val.lVal != RV_LINEAR &&
+			 var.m_val.lVal != RV_QUADRATIC &&
+			 var.m_val.lVal != RV_RSTAR))
+			throw Tools::IllegalArgumentException("initOld: Property TreeVariant must be Tools::VT_LONG and of RTreeVariant type");
+
+		m_treeVariant = static_cast<RTreeVariant>(var.m_val.lVal);
+	}
+
+	// near minimum overlap factor
+	var = ps.getProperty("NearMinimumOverlapFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (	
+			var.m_varType != Tools::VT_ULONG ||
+			var.m_val.ulVal < 1 ||
+			var.m_val.ulVal > m_indexCapacity ||
+			var.m_val.ulVal > m_leafCapacity)
+			throw Tools::IllegalArgumentException("initOld: Property NearMinimumOverlapFactor must be Tools::VT_ULONG and less than both index and leaf capacities");
+
+		m_nearMinimumOverlapFactor = var.m_val.ulVal;
+	}
+
+	// split distribution factor
+	var = ps.getProperty("SplitDistributionFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_DOUBLE || var.m_val.dblVal <= 0.0 || var.m_val.dblVal >= 1.0)
+			throw Tools::IllegalArgumentException("initOld: Property SplitDistributionFactor must be Tools::VT_DOUBLE and in (0.0, 1.0)");
+
+		m_splitDistributionFactor = var.m_val.dblVal;
+	}
+
+	// reinsert factor
+	var = ps.getProperty("ReinsertFactor");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_DOUBLE || var.m_val.dblVal <= 0.0 || var.m_val.dblVal >= 1.0)
+			throw Tools::IllegalArgumentException("initOld: Property ReinsertFactor must be Tools::VT_DOUBLE and in (0.0, 1.0)");
+
+		m_reinsertFactor = var.m_val.dblVal;
+	}
+
+	// tight MBRs
+	var = ps.getProperty("EnsureTightMBRs");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_BOOL) throw Tools::IllegalArgumentException("initOld: Property EnsureTightMBRs must be Tools::VT_BOOL");
+
+		m_bTightMBRs = var.m_val.blVal;
+	}
+
+	// index pool capacity
+	var = ps.getProperty("IndexPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("initOld: Property IndexPoolCapacity must be Tools::VT_ULONG");
+
+		m_indexPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// leaf pool capacity
+	var = ps.getProperty("LeafPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("initOld: Property LeafPoolCapacity must be Tools::VT_ULONG");
+
+		m_leafPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// region pool capacity
+	var = ps.getProperty("RegionPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("initOld: Property RegionPoolCapacity must be Tools::VT_ULONG");
+
+		m_regionPool.setCapacity(var.m_val.ulVal);
+	}
+
+	// point pool capacity
+	var = ps.getProperty("PointPoolCapacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("initOld: Property PointPoolCapacity must be Tools::VT_ULONG");
+
+		m_pointPool.setCapacity(var.m_val.ulVal);
+	}
+
+	m_infiniteRegion.makeInfinite(m_dimension);
+}
+
+void SpatialIndex::RTree::RTree::storeHeader()
+{
+	const long headerSize =
+		sizeof(long) +							// m_rootID
+		sizeof(long) +							// m_treeVariant
+		sizeof(double) +						// m_fillFactor
+		sizeof(unsigned long) +					// m_indexCapacity
+		sizeof(unsigned long) +					// m_leafCapacity
+		sizeof(unsigned long) +					// m_nearMinimumOverlapFactor
+		sizeof(double) +						// m_splitDistributionFactor
+		sizeof(double) +						// m_reinsertFactor
+		sizeof(unsigned long) +					// m_dimension
+		sizeof(char) +							// m_bTightMBRs
+		sizeof(unsigned long) +					// m_stats.m_nodes
+		sizeof(unsigned long) +					// m_stats.m_data
+		sizeof(unsigned long) +					// m_stats.m_treeHeight
+		m_stats.m_treeHeight * sizeof(unsigned long); // m_stats.m_nodesInLevel
+
+	byte* header = new byte[headerSize];
+	byte* ptr = header;
+
+	memcpy(ptr, &m_rootID, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(ptr, &m_treeVariant, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(ptr, &m_fillFactor, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(ptr, &m_indexCapacity, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, &m_leafCapacity, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, &m_nearMinimumOverlapFactor, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, &m_splitDistributionFactor, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(ptr, &m_reinsertFactor, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(ptr, &m_dimension, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	char c = (char) m_bTightMBRs;
+	memcpy(ptr, &c, sizeof(char));
+	ptr += sizeof(char);
+	memcpy(ptr, &(m_stats.m_nodes), sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, &(m_stats.m_data), sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(ptr, &(m_stats.m_treeHeight), sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	for (unsigned long cLevel = 0; cLevel < m_stats.m_treeHeight; cLevel++)
+	{
+		memcpy(ptr, &(m_stats.m_nodesInLevel[cLevel]), sizeof(unsigned long));
+		ptr += sizeof(unsigned long);
+	}
+
+	assert(headerSize == (ptr - header));
+
+	m_pStorageManager->storeByteArray(m_headerID, headerSize, header);
+
+	delete[] header;
+}
+
+void SpatialIndex::RTree::RTree::loadHeader()
+{
+	unsigned long headerSize;
+	byte* header = 0;
+	m_pStorageManager->loadByteArray(m_headerID, headerSize, &header);
+
+	byte* ptr = header;
+
+	memcpy(&m_rootID, ptr, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(&m_treeVariant, ptr, sizeof(long));
+	ptr += sizeof(long);
+	memcpy(&m_fillFactor, ptr, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(&m_indexCapacity, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(&m_leafCapacity, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(&m_nearMinimumOverlapFactor, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(&m_splitDistributionFactor, ptr, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(&m_reinsertFactor, ptr, sizeof(double));
+	ptr += sizeof(double);
+	memcpy(&m_dimension, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	char c;
+	memcpy(&c, ptr, sizeof(char));
+	m_bTightMBRs = (bool) c;
+	ptr += sizeof(char);
+	memcpy(&(m_stats.m_nodes), ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(&(m_stats.m_data), ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+	memcpy(&(m_stats.m_treeHeight), ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	for (unsigned long cLevel = 0; cLevel < m_stats.m_treeHeight; cLevel++)
+	{
+		unsigned long cNodes;
+		memcpy(&cNodes, ptr, sizeof(unsigned long));
+		ptr += sizeof(unsigned long);
+		m_stats.m_nodesInLevel.push_back(cNodes);
+	}
+
+	delete[] header;
+}
+
+void SpatialIndex::RTree::RTree::insertData_impl(unsigned long dataLength, byte* pData, Region& mbr, long id)
+{
+	assert(mbr.getDimension() == m_dimension);
+
+	stack<long> pathBuffer;
+	byte* overflowTable = 0;
+
+	try
+	{
+		NodePtr root = readNode(m_rootID);
+
+		overflowTable = new byte[root->m_level];
+		bzero(overflowTable, root->m_level);
+
+		NodePtr l = root->chooseSubtree(mbr, 0, pathBuffer);
+		if (l.get() == root.get())
+		{
+			assert(root.unique());
+			root.relinquish();
+		}
+		l->insertData(dataLength, pData, mbr, id, pathBuffer, overflowTable);
+
+		delete[] overflowTable;
+		m_stats.m_data++;
+	}
+	catch (...)
+	{
+		delete[] overflowTable;
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::insertData_impl(unsigned long dataLength, byte* pData, Region& mbr, long id, unsigned long level, byte* overflowTable)
+{
+	assert(mbr.getDimension() == m_dimension);
+
+	stack<long> pathBuffer;
+	NodePtr root = readNode(m_rootID);
+	NodePtr n = root->chooseSubtree(mbr, level, pathBuffer);
+
+	assert(n->m_level == level);
+
+	if (n.get() == root.get())
+	{
+		assert(root.unique());
+		root.relinquish();
+	}
+	n->insertData(dataLength, pData, mbr, id, pathBuffer, overflowTable);
+}
+
+bool SpatialIndex::RTree::RTree::deleteData_impl(const Region& mbr, long id)
+{
+	assert(mbr.m_dimension == m_dimension);
+
+	stack<long> pathBuffer;
+	NodePtr root = readNode(m_rootID);
+	NodePtr l = root->findLeaf(mbr, id, pathBuffer);
+	if (l.get() == root.get())
+	{
+		assert(root.unique());
+		root.relinquish();
+	}
+
+	if (l.get() != 0)
+	{
+		Leaf* pL = static_cast<Leaf*>(l.get());
+		pL->deleteData(id, pathBuffer);
+		m_stats.m_data--;
+		return true;
+	}
+
+	return false;
+}
+
+long SpatialIndex::RTree::RTree::writeNode(Node* n)
+{
+	byte* buffer;
+	unsigned long dataLength;
+	n->storeToByteArray(&buffer, dataLength);
+
+	long page;
+	if (n->m_identifier < 0) page = StorageManager::NewPage;
+	else page = n->m_identifier;
+
+	try
+	{
+		m_pStorageManager->storeByteArray(page, dataLength, buffer);
+		delete[] buffer;
+	}
+	catch (Tools::InvalidPageException& e)
+	{
+		delete[] buffer;
+		std::cerr << e.what() << std::endl;
+		//std::cerr << *this << std::endl;
+		throw Tools::IllegalStateException("writeNode: failed with Tools::InvalidPageException");
+	}
+
+	if (n->m_identifier < 0)
+	{
+		n->m_identifier = page;
+		m_stats.m_nodes++;
+
+#ifndef NDEBUG
+		try
+		{
+			m_stats.m_nodesInLevel[n->m_level] = m_stats.m_nodesInLevel.at(n->m_level) + 1;
+		}
+		catch(...)
+		{
+			throw Tools::IllegalStateException("writeNode: writing past the end of m_nodesInLevel.");
+		}
+#else
+		m_stats.m_nodesInLevel[n->m_level] = m_stats.m_nodesInLevel[n->m_level] + 1;
+#endif
+	}
+
+	m_stats.m_writes++;
+
+	for (unsigned long cIndex = 0; cIndex < m_writeNodeCommands.size(); cIndex++)
+	{
+		m_writeNodeCommands[cIndex]->execute(*n);
+	}
+
+	return page;
+}
+
+SpatialIndex::RTree::NodePtr SpatialIndex::RTree::RTree::readNode(unsigned long id)
+{
+	unsigned long dataLength;
+	byte* buffer;
+
+	try
+	{
+		m_pStorageManager->loadByteArray(id, dataLength, &buffer);
+	}
+	catch (Tools::InvalidPageException& e)
+	{
+		std::cerr << e.what() << std::endl;
+		//std::cerr << *this << std::endl;
+		throw Tools::IllegalStateException("readNode: failed with Tools::InvalidPageException");
+	}
+
+	try
+	{
+		long nodeType;
+		memcpy(&nodeType, buffer, sizeof(long));
+
+		NodePtr n;
+
+		if (nodeType == PersistentIndex) n = m_indexPool.acquire();
+		else if (nodeType == PersistentLeaf) n = m_leafPool.acquire();
+		else throw Tools::IllegalStateException("readNode: failed reading the correct node type information");
+
+		if (n.get() == 0)
+		{
+			if (nodeType == PersistentIndex) n = NodePtr(new Index(this, -1, 0), &m_indexPool);
+			else if (nodeType == PersistentLeaf) n = NodePtr(new Leaf(this, -1), &m_leafPool);
+		}
+
+		//n->m_pTree = this;
+		n->m_identifier = id;
+		n->loadFromByteArray(buffer);
+
+		m_stats.m_reads++;
+
+		for (unsigned long cIndex = 0; cIndex < m_readNodeCommands.size(); cIndex++)
+		{
+			m_readNodeCommands[cIndex]->execute(*n);
+		}
+
+		delete[] buffer;
+		return n;
+	}
+	catch (...)
+	{
+		delete[] buffer;
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::deleteNode(Node* n)
+{
+	try
+	{
+		m_pStorageManager->deleteByteArray(n->m_identifier);
+	}
+	catch (Tools::InvalidPageException& e)
+	{
+		std::cerr << e.what() << std::endl;
+		//std::cerr << *this << std::endl;
+		throw Tools::IllegalStateException("deleteNode: failed with Tools::InvalidPageException");
+	}
+
+	m_stats.m_nodes--;
+	m_stats.m_nodesInLevel[n->m_level] = m_stats.m_nodesInLevel[n->m_level] - 1;
+
+	for (unsigned long cIndex = 0; cIndex < m_deleteNodeCommands.size(); cIndex++)
+	{
+		m_deleteNodeCommands[cIndex]->execute(*n);
+	}
+}
+
+void SpatialIndex::RTree::RTree::rangeQuery(RangeQueryType type, const IShape& query, IVisitor& v)
+{
+#ifdef PTHREADS
+	Tools::SharedLock lock(&m_rwLock);
+#else
+	if (m_rwLock == false) m_rwLock = true;
+	else throw Tools::ResourceLockedException("rangeQuery: cannot acquire a shared lock");
+#endif
+
+	try
+	{
+		stack<NodePtr> st;
+		NodePtr root = readNode(m_rootID);
+
+		if (root->m_children > 0 && query.intersectsShape(root->m_nodeMBR)) st.push(root);
+
+		while (! st.empty())
+		{
+			NodePtr n = st.top(); st.pop();
+
+			if (n->m_level == 0)
+			{
+				v.visitNode(*n);
+
+				for (unsigned long cChild = 0; cChild < n->m_children; cChild++)
+				{
+					bool b;
+					if (type == ContainmentQuery) b = query.containsShape(*(n->m_ptrMBR[cChild]));
+					else b = query.intersectsShape(*(n->m_ptrMBR[cChild]));
+
+					if (b)
+					{
+						Data data = Data(n->m_pDataLength[cChild], n->m_pData[cChild], *(n->m_ptrMBR[cChild]), n->m_pIdentifier[cChild]);
+						v.visitData(data);
+						m_stats.m_queryResults++;
+					}
+				}
+			}
+			else
+			{
+				v.visitNode(*n);
+
+				for (unsigned long cChild = 0; cChild < n->m_children; cChild++)
+				{
+					if (query.intersectsShape(*(n->m_ptrMBR[cChild]))) st.push(readNode(n->m_pIdentifier[cChild]));
+				}
+			}
+		}
+
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+	}
+	catch (...)
+	{
+#ifndef PTHREADS
+		m_rwLock = false;
+#endif
+		throw;
+	}
+}
+
+void SpatialIndex::RTree::RTree::selfJoinQuery(long id1, long id2, const Region& r, IVisitor& vis)
+{
+	NodePtr n1 = readNode(id1);
+	NodePtr n2 = readNode(id2);
+	vis.visitNode(*n1);
+	vis.visitNode(*n2);
+
+	for (unsigned long cChild1 = 0; cChild1 < n1->m_children; cChild1++)
+	{
+		if (r.intersectsRegion(*(n1->m_ptrMBR[cChild1])))
+		{
+			for (unsigned long cChild2 = 0; cChild2 < n2->m_children; cChild2++)
+			{
+				if (
+					r.intersectsRegion(*(n2->m_ptrMBR[cChild2])) &&
+					n1->m_ptrMBR[cChild1]->intersectsRegion(*(n2->m_ptrMBR[cChild2])))
+				{
+					if (n1->m_level == 0)
+					{
+						if (n1->m_pIdentifier[cChild1] != n2->m_pIdentifier[cChild2])
+						{
+							assert(n2->m_level == 0);
+
+							std::vector<const IData*> v;
+							Data e1(n1->m_pDataLength[cChild1], n1->m_pData[cChild1], *(n1->m_ptrMBR[cChild1]), n1->m_pIdentifier[cChild1]);
+							Data e2(n2->m_pDataLength[cChild2], n2->m_pData[cChild2], *(n2->m_ptrMBR[cChild2]), n2->m_pIdentifier[cChild2]);
+							v.push_back(&e1);
+							v.push_back(&e2);
+							vis.visitData(v);
+						}
+					}
+					else
+					{
+						Region rr = r.getIntersectingRegion(n1->m_ptrMBR[cChild1]->getIntersectingRegion(*(n2->m_ptrMBR[cChild2])));
+						selfJoinQuery(n1->m_pIdentifier[cChild1], n2->m_pIdentifier[cChild2], rr, vis);
+					}
+				}
+			}
+		}
+	}
+}
+
+std::ostream& SpatialIndex::RTree::operator<<(std::ostream& os, const RTree& t)
+{
+	using std::endl;
+
+	os	<< "Dimension: " << t.m_dimension << endl
+		<< "Fill factor: " << t.m_fillFactor << endl
+		<< "Index capacity: " << t.m_indexCapacity << endl
+		<< "Leaf capacity: " << t.m_leafCapacity << endl
+		<< "Tight MBRs: " << ((t.m_bTightMBRs) ? "enabled" : "disabled") << endl;
+
+	if (t.m_treeVariant == RV_RSTAR)
+	{
+		os	<< "Near minimum overlap factor: " << t.m_nearMinimumOverlapFactor << endl
+			<< "Reinsert factor: " << t.m_reinsertFactor << endl
+			<< "Split distribution factor: " << t.m_splitDistributionFactor << endl;
+	}
+
+	if (t.m_stats.getNumberOfNodesInLevel(0) > 0)
+		os	<< "Utilization: " << 100 * t.m_stats.getNumberOfData() / (t.m_stats.getNumberOfNodesInLevel(0) * t.m_leafCapacity) << "%" << endl
+			<< t.m_stats;
+
+	#ifndef NDEBUG
+	os	<< "Leaf pool hits: " << t.m_leafPool.m_hits << endl
+		<< "Leaf pool misses: " << t.m_leafPool.m_misses << endl
+		<< "Index pool hits: " << t.m_indexPool.m_hits << endl
+		<< "Index pool misses: " << t.m_indexPool.m_misses << endl
+		<< "Region pool hits: " << t.m_regionPool.m_hits << endl
+		<< "Region pool misses: " << t.m_regionPool.m_misses << endl
+		<< "Point pool hits: " << t.m_pointPool.m_hits << endl
+		<< "Point pool misses: " << t.m_pointPool.m_misses << endl;
+	#endif
+
+	return os;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/RTree.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,201 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_rtree_h
+#define __spatialindex_rtree_rtree_h
+
+#include "Statistics.h"
+#include "Node.h"
+#include "PointerPoolNode.h"
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class RTree : public ISpatialIndex
+		{
+			class NNEntry;
+
+		public:
+			RTree(IStorageManager&, Tools::PropertySet&);
+				// String                   Value     Description
+				// ----------------------------------------------
+				// IndexIndentifier         VT_LONG   If specified an existing index will be openened from the supplied
+				//                          storage manager with the given index id. Behaviour is unspecified
+				//                          if the index id or the storage manager are incorrect.
+				// Dimension                VT_ULONG  Dimensionality of the data that will be inserted.
+				// IndexCapacity            VT_ULONG  The index node capacity. Default is 100.
+				// LeafCapactiy             VT_ULONG  The leaf node capacity. Default is 100.
+				// FillFactor               VT_DOUBLE The fill factor. Default is 70%
+				// TreeVariant              VT_LONG   Can be one of Linear, Quadratic or Rstar. Default is Rstar
+				// NearMinimumOverlapFactor VT_ULONG  Default is 32.
+				// SplitDistributionFactor  VT_DOUBLE Default is 0.4
+				// ReinsertFactor           VT_DOUBLE Default is 0.3
+				// EnsureTightMBRs          VT_BOOL   Default is true
+				// IndexPoolCapacity        VT_LONG   Default is 100
+				// LeafPoolCapacity         VT_LONG   Default is 100
+				// RegionPoolCapacity       VT_LONG   Default is 1000
+				// PointPoolCapacity        VT_LONG   Default is 500
+
+			virtual ~RTree();
+
+			//
+			// ISpatialIndex interface
+			//
+			virtual void insertData(unsigned long len, const byte* pData, const IShape& shape, long shapeIdentifier);
+			virtual bool deleteData(const IShape& shape, long id);
+			virtual void containsWhatQuery(const IShape& query, IVisitor& v);
+			virtual void intersectsWithQuery(const IShape& query, IVisitor& v);
+			virtual void pointLocationQuery(const Point& query, IVisitor& v);
+			virtual void nearestNeighborQuery(long k, const IShape& query, IVisitor& v, INearestNeighborComparator&);
+			virtual void nearestNeighborQuery(long k, const IShape& query, IVisitor& v);
+			virtual void selfJoinQuery(const IShape& s, IVisitor& v);
+			virtual void queryStrategy(IQueryStrategy& qs);
+			virtual void getIndexProperties(Tools::PropertySet& out) const;
+			virtual void addCommand(ICommand* pCommand, CommandType ct);
+			virtual bool isIndexValid();
+			virtual void getStatistics(IStatistics** out) const;
+
+		private:
+			void initNew(Tools::PropertySet&);
+			void initOld(Tools::PropertySet& ps);
+			void storeHeader();
+			void loadHeader();
+
+			void insertData_impl(unsigned long dataLength, byte* pData, Region& mbr, long id);
+			void insertData_impl(unsigned long dataLength, byte* pData, Region& mbr, long id, unsigned long level, byte* overflowTable);
+			bool deleteData_impl(const Region& mbr, long id);
+
+			long writeNode(Node*);
+			NodePtr readNode(unsigned long);
+			void deleteNode(Node*);
+
+			void rangeQuery(RangeQueryType type, const IShape& query, IVisitor& v);
+			void selfJoinQuery(long id1, long id2, const Region& r, IVisitor& vis);
+
+			IStorageManager* m_pStorageManager;
+
+			long m_rootID;
+			long m_headerID;
+
+			RTreeVariant m_treeVariant;
+
+			double m_fillFactor;
+
+			unsigned long m_indexCapacity;
+
+			unsigned long m_leafCapacity;
+
+			unsigned long m_nearMinimumOverlapFactor;
+				// The R*-Tree 'p' constant, for calculating nearly minimum overlap cost.
+				// [Beckmann, Kriegel, Schneider, Seeger 'The R*-tree: An efficient and Robust Access Method
+				// for Points and Rectangles', Section 4.1]
+
+			double m_splitDistributionFactor;
+				// The R*-Tree 'm' constant, for calculating spliting distributions.
+				// [Beckmann, Kriegel, Schneider, Seeger 'The R*-tree: An efficient and Robust Access Method
+				// for Points and Rectangles', Section 4.2]
+
+			double m_reinsertFactor;
+				// The R*-Tree 'p' constant, for removing entries at reinserts.
+				// [Beckmann, Kriegel, Schneider, Seeger 'The R*-tree: An efficient and Robust Access Method
+				//  for Points and Rectangles', Section 4.3]
+
+			unsigned long m_dimension;
+
+			Region m_infiniteRegion;
+
+			Statistics m_stats;
+
+			bool m_bTightMBRs;
+
+			Tools::PointerPool<Point> m_pointPool;
+			Tools::PointerPool<Region> m_regionPool;
+			Tools::PointerPool<Node> m_indexPool;
+			Tools::PointerPool<Node> m_leafPool;
+
+			std::vector<Tools::SmartPointer<ICommand> > m_writeNodeCommands;
+			std::vector<Tools::SmartPointer<ICommand> > m_readNodeCommands;
+			std::vector<Tools::SmartPointer<ICommand> > m_deleteNodeCommands;
+
+#ifdef PTHREADS
+			pthread_rwlock_t m_rwLock;
+#else
+			bool m_rwLock;
+#endif
+
+			class NNEntry
+			{
+			public:
+				long m_id;
+				IEntry* m_pEntry;
+				double m_minDist;
+
+				NNEntry(long id, IEntry* e, double f) : m_id(id), m_pEntry(e), m_minDist(f) {}
+				~NNEntry() {}
+
+				struct ascending : public std::binary_function<NNEntry*, NNEntry*, bool>
+				{
+					bool operator()(const NNEntry* __x, const NNEntry* __y) const { return __x->m_minDist > __y->m_minDist; }
+				};
+			}; // NNEntry
+
+			class NNComparator : public INearestNeighborComparator
+			{
+			public:
+				double getMinimumDistance(const IShape& query, const IShape& entry)
+				{
+					return query.getMinimumDistance(entry);
+				}
+
+				double getMinimumDistance(const IShape& query, const IData& data)
+				{
+					IShape* pS;
+					data.getShape(&pS);
+					double ret = query.getMinimumDistance(*pS);
+					delete pS;
+					return ret;
+				}
+			}; // NNComparator
+
+			class ValidateEntry
+			{
+			public:
+				ValidateEntry(Region& r, NodePtr& pNode) : m_parentMBR(r), m_pNode(pNode) {}
+
+				Region m_parentMBR;
+				NodePtr m_pNode;
+			}; // ValidateEntry
+
+			friend class Node;
+			friend class Leaf;
+			friend class Index;
+			friend class BulkLoader;
+
+			friend std::ostream& operator<<(std::ostream& os, const RTree& t);
+		}; // RTree
+
+		std::ostream& operator<<(std::ostream& os, const RTree& t);
+	}
+}
+
+#endif /*__spatialindex_rtree_rtree_h*/
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,175 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "Statistics.h"
+
+using namespace SpatialIndex::RTree;
+
+Statistics::Statistics()
+{
+	reset();
+}
+
+Statistics::Statistics(const Statistics& s)
+{
+	m_reads  = s.m_reads;
+	m_writes = s.m_writes;
+	m_splits = s.m_splits;
+	m_hits   = s.m_hits;
+	m_misses = s.m_misses;
+	m_nodes  = s.m_nodes;
+	m_adjustments = s.m_adjustments;
+	m_queryResults = s.m_queryResults;
+	m_data = s.m_data;
+	m_treeHeight = s.m_treeHeight;
+	m_nodesInLevel = s.m_nodesInLevel;
+}
+
+Statistics::~Statistics()
+{
+}
+
+Statistics& Statistics::operator=(const Statistics& s)
+{
+	if (this != &s)
+	{
+		m_reads  = s.m_reads;
+		m_writes = s.m_writes;
+		m_splits = s.m_splits;
+		m_hits   = s.m_hits;
+		m_misses = s.m_misses;
+		m_nodes  = s.m_nodes;
+		m_adjustments = s.m_adjustments;
+		m_queryResults = s.m_queryResults;
+		m_data = s.m_data;
+		m_treeHeight = s.m_treeHeight;
+		m_nodesInLevel = s.m_nodesInLevel;
+	}
+
+	return *this;
+}
+
+unsigned long Statistics::getReads() const
+{
+	return m_reads;
+}
+
+unsigned long Statistics::getWrites() const
+{
+	return m_writes;
+}
+
+unsigned long Statistics::getNumberOfNodes() const
+{
+	return m_nodes;
+}
+
+unsigned long Statistics::getNumberOfData() const
+{
+	return m_data;
+}
+
+unsigned long Statistics::getSplits() const
+{
+	return m_splits;
+}
+
+unsigned long Statistics::getHits() const
+{
+	return m_hits;
+}
+
+unsigned long Statistics::getMisses() const
+{
+	return m_misses;
+}
+
+unsigned long Statistics::getAdjustments() const
+{
+	return m_adjustments;
+}
+
+unsigned long Statistics::getQueryResults() const
+{
+	return m_queryResults;
+}
+
+unsigned long Statistics::getTreeHeight() const
+{
+	return m_treeHeight;
+}
+
+unsigned long Statistics::getNumberOfNodesInLevel(unsigned long l) const
+{
+	unsigned long cNodes;
+	try
+	{
+		cNodes = m_nodesInLevel.at(l);
+	}
+	catch (...)
+	{
+		throw Tools::IndexOutOfBoundsException(l);
+	}
+
+	return cNodes;
+}
+
+void Statistics::reset()
+{
+	m_reads  = 0;
+	m_writes = 0;
+	m_splits = 0;
+	m_hits   = 0;
+	m_misses = 0;
+	m_nodes  = 0;
+	m_adjustments = 0;
+	m_queryResults = 0;
+	m_data = 0;
+	m_treeHeight = 0;
+	m_nodesInLevel.clear();
+}
+
+std::ostream& SpatialIndex::RTree::operator<<(std::ostream& os, const Statistics& s)
+{
+	using std::endl;
+
+	os	<< "Reads: " << s.m_reads << endl
+		<< "Writes: " << s.m_writes << endl
+		<< "Hits: " << s.m_hits << endl
+		<< "Misses: " << s.m_misses << endl
+		<< "Tree height: " << s.m_treeHeight << endl
+		<< "Number of data: " << s.m_data << endl
+		<< "Number of nodes: " << s.m_nodes << endl;
+
+	for (unsigned long cLevel = 0; cLevel < s.m_treeHeight; cLevel++)
+	{
+		os << "Level " << cLevel << " pages: " << s.m_nodesInLevel[cLevel] << endl;
+	}
+
+	os	<< "Splits: " << s.m_splits << endl
+		<< "Adjustments: " << s.m_adjustments << endl
+		<< "Query results: " << s.m_queryResults << endl;
+
+	return os;
+}
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/rtree/Statistics.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,97 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex_rtree_statistics_h
+#define __spatialindex_rtree_statistics_h
+
+namespace SpatialIndex
+{
+	namespace RTree
+	{
+		class RTree;
+		class Node;
+		class Leaf;
+		class Index;
+
+		class Statistics : public SpatialIndex::IStatistics
+		{
+		public:
+			Statistics();
+			Statistics(const Statistics&);
+			virtual ~Statistics();
+			Statistics& operator=(const Statistics&);
+
+			//
+			// IStatistics interface
+			//
+			virtual unsigned long getReads() const;
+			virtual unsigned long getWrites() const;
+			virtual unsigned long getNumberOfNodes() const;
+			virtual unsigned long getNumberOfData() const;
+
+			virtual unsigned long getSplits() const;
+			virtual unsigned long getHits() const;
+			virtual unsigned long getMisses() const;
+			virtual unsigned long getAdjustments() const;
+			virtual unsigned long getQueryResults() const;
+			virtual unsigned long getTreeHeight() const;
+			virtual unsigned long getNumberOfNodesInLevel(unsigned long l) const;
+
+		private:
+			void reset();
+
+			unsigned long m_reads;
+
+			unsigned long m_writes;
+
+			unsigned long m_splits;
+
+			unsigned long m_hits;
+
+			unsigned long m_misses;
+
+			unsigned long m_nodes;
+
+			unsigned long m_adjustments;
+
+			unsigned long m_queryResults;
+
+			unsigned long m_data;
+
+			unsigned long m_treeHeight;
+
+			std::vector<unsigned long> m_nodesInLevel;
+
+			friend class RTree;
+			friend class Node;
+			friend class Index;
+			friend class Leaf;
+			friend class BulkLoader;
+
+			friend std::ostream& operator<<(std::ostream& os, const Statistics& s);
+		}; // Statistics
+
+		std::ostream& operator<<(std::ostream& os, const Statistics& s);
+	}
+}
+
+#endif /*__spatialindex_rtree_statistics_h*/
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,57 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "SpatialIndexImpl.h"
+
+#include "../rtree/RTree.h"
+//#include "../mvrtree/MVRTree.h"
+//#include "../tprtree/TPRTree.h"
+
+using namespace SpatialIndex;
+
+//const std::string VERSION = "0.82b";
+//const std::string DATE = "March 16th 2005";
+
+std::ostream& SpatialIndex::operator<<(std::ostream& os, const ISpatialIndex& i)
+{
+	const SpatialIndex::RTree::RTree* pRTree = dynamic_cast<const SpatialIndex::RTree::RTree*>(&i);
+	if (pRTree != 0)
+	{
+		os << *pRTree;
+		return os;
+	}
+	std::cerr << "ISpatialIndex operator<<: Not implemented yet for this index type." << std::endl;
+	return os;
+}
+
+std::ostream& SpatialIndex::operator<<(std::ostream& os, const IStatistics& s)
+{
+	using std::endl;
+
+	const SpatialIndex::RTree::Statistics* pRTreeStats = dynamic_cast<const SpatialIndex::RTree::Statistics*>(&s);
+	if (pRTreeStats != 0)
+	{
+		os << *pRTreeStats;
+		return os;
+	}
+	std::cerr << "IStatistics operator<<: Not implemented yet for this index type." << std::endl;
+	return os;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/spatialindex/SpatialIndexImpl.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,35 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __spatialindex__impl_h
+#define __spatialindex__impl_h
+
+#include <SpatialIndex.h>
+
+#ifdef PTHREADS
+	#include <pthread.h>
+#endif
+
+typedef Tools::PoolPointer<Region> RegionPtr;
+typedef Tools::PoolPointer<Point> PointPtr;
+
+
+#endif /*__spatialindex_impl_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,146 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "Buffer.h"
+
+using namespace SpatialIndex::StorageManager;
+using std::map;
+
+Buffer::Buffer(IStorageManager& sm, Tools::PropertySet& ps) :
+	m_capacity(10),
+	m_bWriteThrough(false),
+	m_pStorageManager(&sm),
+	m_hits(0)
+{
+	Tools::Variant var = ps.getProperty("Capacity");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("Property Capacity must be Tools::VT_ULONG");
+		m_capacity = var.m_val.ulVal;
+	}
+
+	var = ps.getProperty("WriteThrough");
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_BOOL) throw Tools::IllegalArgumentException("Property WriteThrough must be Tools::VT_BOOL");
+		m_bWriteThrough = var.m_val.blVal;
+	}
+}
+
+Buffer::~Buffer()
+{
+	for (map<long, Entry*>::iterator it = m_buffer.begin(); it != m_buffer.end(); it++)
+	{
+		Entry* e = (*it).second;
+		long id = (*it).first;
+		if (e->m_bDirty) m_pStorageManager->storeByteArray(id, e->m_length, e->m_pData);
+		delete e;
+	}
+}
+
+void Buffer::loadByteArray(const long id, unsigned long& len, byte** data)
+{
+	map<long, Entry*>::iterator it = m_buffer.find(id);
+
+	if (it != m_buffer.end())
+	{
+		m_hits++;
+		Entry* e = (*it).second;
+		len = e->m_length;
+		*data = new byte[len];
+		memcpy(*data, e->m_pData, len);
+	}
+	else
+	{
+		m_pStorageManager->loadByteArray(id, len, data);
+		Entry* e = new Entry(len, (const byte *) *data);
+		addEntry(id, e);
+	}
+}
+
+void Buffer::storeByteArray(long& id, const unsigned long len, const byte* const data)
+{
+	if (id == NewPage)
+	{
+		m_pStorageManager->storeByteArray(id, len, data);
+		assert(m_buffer.find(id) == m_buffer.end());
+		Entry* e = new Entry(len, data);
+		addEntry(id, e);
+	}
+	else
+	{
+		if (m_bWriteThrough)
+		{
+			m_pStorageManager->storeByteArray(id, len, data);
+		}
+
+		Entry* e = new Entry(len, data);
+		if (m_bWriteThrough == false) e->m_bDirty = true;
+
+		map<long, Entry*>::iterator it = m_buffer.find(id);
+		if (it != m_buffer.end())
+		{
+			delete (*it).second;
+			(*it).second = e;
+			if (m_bWriteThrough == false) m_hits++;
+		}
+		else
+		{
+			addEntry(id, e);
+		}
+	}
+}
+
+void Buffer::deleteByteArray(const long id)
+{
+	map<long, Entry*>::iterator it = m_buffer.find(id);
+	if (it != m_buffer.end())
+	{
+		delete (*it).second;
+		m_buffer.erase(it);
+	}
+
+	m_pStorageManager->deleteByteArray(id);
+}
+
+void Buffer::clear()
+{
+	for (map<long, Entry*>::iterator it = m_buffer.begin(); it != m_buffer.end(); it++)
+	{
+		if ((*it).second->m_bDirty)
+		{
+			long id = (*it).first;
+			m_pStorageManager->storeByteArray(id, ((*it).second)->m_length, (const byte *) ((*it).second)->m_pData);
+		}
+
+		delete (*it).second;
+	}
+
+	m_buffer.clear();
+	m_hits = 0;
+}
+
+unsigned long Buffer::getHits()
+{
+	return m_hits;
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/Buffer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,76 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __storagemanager_buffer_h
+#define __storagemanager_buffer_h
+
+namespace SpatialIndex
+{
+	namespace StorageManager
+	{
+		class Buffer : public IBuffer
+		{
+		public:
+			Buffer(IStorageManager& sm, Tools::PropertySet& ps);
+				// String                   Value     Description
+				// ----------------------------------------------
+				// Capacity		VT_ULONG	Buffer maximum capacity.
+				// WriteThrough	VT_BOOL	Enable or disable write through policy.
+
+			virtual ~Buffer();
+
+			virtual void loadByteArray(const long id, unsigned long& len, byte** data);
+			virtual void storeByteArray(long& id, const unsigned long len, const byte* const data);
+			virtual void deleteByteArray(const long id);
+
+			virtual void clear();
+			virtual unsigned long getHits();
+
+		protected:
+			class Entry
+			{
+			public:
+				Entry(unsigned long l, const byte* const d) : m_pData(0), m_length(l), m_bDirty(false)
+				{
+					m_pData = new byte[m_length];
+					memcpy(m_pData, d, m_length);
+				}
+
+				~Entry() { delete[] m_pData; }
+
+				byte* m_pData;
+				unsigned long m_length;
+				bool m_bDirty;
+			}; // Entry
+
+			virtual void addEntry(long id, Entry* pEntry) = 0;
+			virtual void removeEntry() = 0;
+
+			unsigned long m_capacity;
+			bool m_bWriteThrough;
+			IStorageManager* m_pStorageManager;
+			std::map<long, Entry*> m_buffer;
+			unsigned long m_hits;
+		}; // Buffer
+	}
+}
+
+#endif /*__storagemanager_buffer_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,463 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+
+#ifdef WIN32
+#include <io.h>
+#define fsync(fd) _commit(fd)
+#endif
+
+#include "DiskStorageManager.h"
+
+using namespace SpatialIndex;
+using namespace SpatialIndex::StorageManager;
+using std::map;
+using std::vector;
+
+SpatialIndex::IStorageManager* SpatialIndex::StorageManager::returnDiskStorageManager(Tools::PropertySet& ps)
+{
+	IStorageManager* sm = new DiskStorageManager(ps);
+	return sm;
+}
+
+SpatialIndex::IStorageManager* SpatialIndex::StorageManager::createNewDiskStorageManager(std::string& baseName, unsigned long pageSize)
+{
+	Tools::Variant var;
+	Tools::PropertySet ps;
+
+	var.m_varType = Tools::VT_BOOL;
+	var.m_val.blVal = true;
+	ps.setProperty("Overwrite", var);
+		// overwrite the file if it exists.
+
+	var.m_varType = Tools::VT_PCHAR;
+	var.m_val.pcVal = const_cast<char*>(baseName.c_str());
+	ps.setProperty("FileName", var);
+		// .idx and .dat extensions will be added.
+
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = pageSize;
+	ps.setProperty("PageSize", var);
+		// specify the page size. Since the index may also contain user defined data
+		// there is no way to know how big a single node may become. The storage manager
+		// will use multiple pages per node if needed. Off course this will slow down performance.
+
+	return returnDiskStorageManager(ps);
+}
+
+SpatialIndex::IStorageManager* SpatialIndex::StorageManager::loadDiskStorageManager(std::string& baseName)
+{
+	Tools::Variant var;
+	Tools::PropertySet ps;
+
+	var.m_varType = Tools::VT_PCHAR;
+	var.m_val.pcVal = const_cast<char*>(baseName.c_str());
+	ps.setProperty("FileName", var);
+		// .idx and .dat extensions will be added.
+
+	return returnDiskStorageManager(ps);
+}
+
+DiskStorageManager::DiskStorageManager(Tools::PropertySet& ps) : m_pageSize(0), m_nextPage(-1), m_buffer(0)
+{
+	Tools::Variant var;
+
+	// Open/Create flag.
+	bool bOverwrite = false;
+	var = ps.getProperty("Overwrite");
+
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_BOOL) throw Tools::IllegalArgumentException("Property Overwrite must be Tools::VT_BOOL");
+		bOverwrite = var.m_val.blVal;
+	}
+
+	// storage filename.
+	var = ps.getProperty("FileName");
+
+	if (var.m_varType != Tools::VT_EMPTY)
+	{
+		if (var.m_varType != Tools::VT_PCHAR) throw Tools::IllegalArgumentException("Property FileName must be Tools::VT_PCHAR");
+
+		int cLen = strlen(var.m_val.pcVal);
+
+		char* pIndexFile = new char[cLen + 10];
+		char* pDataFile = new char[cLen + 10];
+
+		sprintf(pIndexFile, "%s.idx", var.m_val.pcVal);
+		sprintf(pDataFile, "%s.dat", var.m_val.pcVal);
+
+		// check if file exists.
+		bool bFileExists = true;
+		int e1 = access(pIndexFile, F_OK);
+		int e2 = access(pDataFile, F_OK);
+		if (e1 != 0 || e2 != 0) bFileExists = false;
+
+		if (! bFileExists) bOverwrite = true;
+
+		// check if file can be read/written.
+		if (bOverwrite == false)
+		{
+			int e1 = access(pIndexFile, R_OK | W_OK);
+			int e2 = access(pDataFile, R_OK | W_OK);
+
+			if ((e1 != 0 || e2 != 0) && bFileExists)
+			{
+				delete[] pIndexFile;
+				delete[] pDataFile;
+				throw Tools::IllegalArgumentException("Index file cannot be read/writen.");
+			}
+		}
+
+		int cMode = (bOverwrite) ? O_CREAT | O_RDWR | O_TRUNC : O_RDWR;
+
+		m_indexFile = open(pIndexFile, cMode, 0644);
+		if (m_indexFile < 0)
+		{
+			delete[] pIndexFile;
+			delete[] pDataFile;
+			throw Tools::IllegalArgumentException("Index file cannot be opened.");
+		}
+
+		m_dataFile = open(pDataFile, cMode, 0644);
+		if (m_dataFile < 0)
+		{
+			delete[] pIndexFile;
+			delete[] pDataFile;
+			throw Tools::IllegalArgumentException("Data file cannot be opened.");
+		}
+
+		delete[] pIndexFile;
+		delete[] pDataFile;
+	}
+	else
+	{
+		throw Tools::IllegalArgumentException("Property FileName was not specified.");
+	}
+
+	// find page size.
+	if (bOverwrite == true)
+	{
+		var = ps.getProperty("PageSize");
+
+		if (var.m_varType != Tools::VT_EMPTY)
+		{
+			if (var.m_varType != Tools::VT_ULONG) throw Tools::IllegalArgumentException("Property PageSize must be Tools::VT_ULONG");
+			m_pageSize = var.m_val.ulVal;
+			m_nextPage = 0;
+		}
+		else
+		{
+			throw Tools::IllegalArgumentException("A new storage manager is created and property PageSize was not specified.");
+		}
+	}
+	else
+	{
+		ssize_t bytesread = read(m_indexFile, &m_pageSize, sizeof(unsigned long));
+		if (bytesread != sizeof(unsigned long)) throw Tools::IllegalStateException("Failed reading pageSize.");
+
+		bytesread = read(m_indexFile, &m_nextPage, sizeof(long));
+		if (bytesread != sizeof(long)) throw Tools::IllegalStateException("Failed reading nextPage.");
+	}
+
+	// create buffer.
+	m_buffer = new byte[m_pageSize];
+	bzero(m_buffer, m_pageSize);
+
+	if (bOverwrite == false)
+	{
+		unsigned long count;
+		long id, page;
+		ssize_t bytesread;
+
+		// load empty pages in memory.
+		bytesread = read(m_indexFile, &count, sizeof(unsigned long));
+		if (bytesread != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+		for (unsigned long cCount = 0; cCount < count; cCount++)
+		{
+			bytesread = read(m_indexFile, &page, sizeof(long));
+			if (bytesread != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+			m_emptyPages.push(page);
+		}
+
+		// load index table in memory.
+		bytesread = read(m_indexFile, &count, sizeof(unsigned long));
+		if (bytesread != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+		for (unsigned long cCount = 0; cCount < count; cCount++)
+		{
+			Entry* e = new Entry();
+
+			bytesread = read(m_indexFile, &id, sizeof(long));
+			if (bytesread != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+			bytesread = read(m_indexFile, &(e->m_length), sizeof(unsigned long));
+			if (bytesread != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+			unsigned long count2;
+			bytesread = read(m_indexFile, &count2, sizeof(unsigned long));
+			if (bytesread != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+			for (unsigned long cCount2 = 0; cCount2 < count2; cCount2++)
+			{
+				bytesread = read(m_indexFile, &page, sizeof(long));
+				if (bytesread != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+				e->m_pages.push_back(page);
+			}
+			m_pageIndex.insert(std::pair<long, Entry* >(id, e));
+		}
+	}
+}
+
+DiskStorageManager::~DiskStorageManager()
+{
+	flush();
+	close(m_indexFile);
+	close(m_dataFile);
+	if (m_buffer != 0) delete[] m_buffer;
+
+	map<long, Entry*>::iterator it = m_pageIndex.begin();
+
+	while (it != m_pageIndex.end())
+	{
+		delete (*it).second;
+		it++;
+	}
+}
+
+void DiskStorageManager::flush()
+{
+	ssize_t byteswritten;
+
+	off_t seek = lseek(m_indexFile, 0, SEEK_SET);
+	if (seek < 0) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+	byteswritten = write(m_indexFile, &m_pageSize, sizeof(unsigned long));
+	if (byteswritten != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+	byteswritten = write(m_indexFile, &m_nextPage, sizeof(long));
+	if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+	unsigned long count = m_emptyPages.size();
+	long id, page;
+
+	byteswritten = write(m_indexFile, &count, sizeof(unsigned long));
+	if (byteswritten != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+	while (! m_emptyPages.empty())
+	{
+		page = m_emptyPages.top(); m_emptyPages.pop();
+		byteswritten = write(m_indexFile, &page, sizeof(long));
+		if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+	}
+
+	count = m_pageIndex.size();
+
+	byteswritten = write(m_indexFile, &count, sizeof(unsigned long));
+	if (byteswritten != sizeof(unsigned long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+	map<long, Entry*>::iterator it = m_pageIndex.begin();
+
+	while (it != m_pageIndex.end())
+	{
+		id = (*it).first;
+		byteswritten = write(m_indexFile, &id, sizeof(long));
+		if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+		count = (*it).second->m_length;
+		byteswritten = write(m_indexFile, &count, sizeof(long));
+		if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+		count = (*it).second->m_pages.size();
+		byteswritten = write(m_indexFile, &count, sizeof(long));
+		if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+
+		for (unsigned long cIndex = 0; cIndex < count; cIndex++)
+		{
+			page = (*it).second->m_pages[cIndex];
+			byteswritten = write(m_indexFile, &page, sizeof(long));
+			if (byteswritten != sizeof(long)) throw Tools::IllegalStateException("Corrupted storage manager index file.");
+		}
+		it++;
+	}
+
+	fsync(m_indexFile);
+	fsync(m_dataFile);
+}
+
+void DiskStorageManager::loadByteArray(const long id, unsigned long& len, byte** data)
+{
+	map<long, Entry*>::iterator it = m_pageIndex.find(id);
+
+	if (it == m_pageIndex.end()) throw Tools::InvalidPageException(id);
+
+	vector<long>& pages = (*it).second->m_pages;
+	unsigned long cNext = 0;
+	unsigned long cTotal = pages.size();
+
+	len = (*it).second->m_length;
+	*data = new byte[len];
+
+	byte* ptr = *data;
+	unsigned long cLen;
+	unsigned long cRem = len;
+
+	do
+	{
+		off_t seek = lseek(m_dataFile, pages[cNext] * m_pageSize, SEEK_SET);
+		if (seek < 0) throw Tools::IllegalStateException("Corrupted data file.");
+
+		ssize_t bytesread = read(m_dataFile, m_buffer, m_pageSize);
+		if (bytesread <= 0) throw Tools::IllegalStateException("Corrupted data file.");
+
+		cLen = (cRem > m_pageSize) ? m_pageSize : cRem;
+		memcpy(ptr, m_buffer, cLen);
+
+		ptr += cLen;
+		cRem -= cLen;
+		cNext++;
+	}
+	while (cNext < cTotal);
+}
+
+void DiskStorageManager::storeByteArray(long& id, const unsigned long len, const byte* const data)
+{
+	if (id == NewPage)
+	{
+		Entry* e = new Entry();
+		e->m_length = len;
+
+		const byte* ptr = data;
+		long cPage;
+		unsigned long cRem = len;
+		unsigned long cLen;
+
+		while (cRem > 0)
+		{
+			if (! m_emptyPages.empty())
+			{
+				cPage = m_emptyPages.top(); m_emptyPages.pop();
+			}
+			else
+			{
+				cPage = m_nextPage;
+				m_nextPage++;
+			}
+
+			cLen = (cRem > m_pageSize) ? m_pageSize : cRem;
+			memcpy(m_buffer, ptr, cLen);
+
+			off_t seek = lseek(m_dataFile, cPage * m_pageSize, SEEK_SET);
+			if (seek < 0) throw Tools::IllegalStateException("Corrupted data file.");
+			ssize_t byteswritten = write(m_dataFile, m_buffer, m_pageSize);
+			if (byteswritten <= 0) throw Tools::IllegalStateException("Corrupted data file.");
+
+			ptr += cLen;
+			cRem -= cLen;
+			e->m_pages.push_back(cPage);
+		}
+
+		id = e->m_pages[0];
+		m_pageIndex.insert(std::pair<long, Entry*>(id, e));
+	}
+	else
+	{
+		// find the entry.
+		map<long, Entry*>::iterator it = m_pageIndex.find(id);
+
+		// check if it exists.
+		if (it == m_pageIndex.end()) throw Tools::IndexOutOfBoundsException(id);
+
+		Entry* oldEntry = (*it).second;
+
+		m_pageIndex.erase(it);
+
+		Entry* e = new Entry();
+		e->m_length = len;
+
+		const byte* ptr = data;
+		long cPage;
+		unsigned long cRem = len;
+		unsigned long cLen, cNext = 0;
+
+		while (cRem > 0)
+		{
+			if (cNext < oldEntry->m_pages.size())
+			{
+				cPage = oldEntry->m_pages[cNext];
+				cNext++;
+			}
+			else if (! m_emptyPages.empty())
+			{
+				cPage = m_emptyPages.top(); m_emptyPages.pop();
+			}
+			else
+			{
+				cPage = m_nextPage;
+				m_nextPage++;
+			}
+
+			cLen = (cRem > m_pageSize) ? m_pageSize : cRem;
+			memcpy(m_buffer, ptr, cLen);
+
+			off_t seek = lseek(m_dataFile, cPage * m_pageSize, SEEK_SET);
+			if (seek < 0) throw Tools::IllegalStateException("Corrupted data file.");
+			ssize_t byteswritten = write(m_dataFile, m_buffer, m_pageSize);
+			if (byteswritten <= 0) throw Tools::IllegalStateException("Corrupted data file.");
+
+			ptr += cLen;
+			cRem -= cLen;
+			e->m_pages.push_back(cPage);
+		}
+
+		while (cNext < oldEntry->m_pages.size())
+		{
+			m_emptyPages.push(oldEntry->m_pages[cNext]);
+			cNext++;
+		}
+
+		m_pageIndex.insert(std::pair<long, Entry*>(id, e));
+		delete oldEntry;
+	}
+}
+
+void DiskStorageManager::deleteByteArray(const long id)
+{
+	map<long, Entry*>::iterator it = m_pageIndex.find(id);
+
+	if (it == m_pageIndex.end()) throw Tools::InvalidPageException(id);
+
+	for (unsigned long cIndex = 0; cIndex < (*it).second->m_pages.size(); cIndex++)
+	{
+		m_emptyPages.push((*it).second->m_pages[cIndex]);
+	}
+
+	delete (*it).second;
+	m_pageIndex.erase(it);
+}
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/DiskStorageManager.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,62 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __storagemanager_diskstoragemanager_h
+#define __storagemanager_diskstoragemanager_h
+
+namespace SpatialIndex
+{
+	namespace StorageManager
+	{
+		class DiskStorageManager : public SpatialIndex::IStorageManager
+		{
+		public:
+			DiskStorageManager(Tools::PropertySet&);
+			virtual ~DiskStorageManager();
+
+			void flush();
+
+			virtual void loadByteArray(const long id, unsigned long& len, byte** data);
+			virtual void storeByteArray(long& id, const unsigned long len, const byte* const data);
+			virtual void deleteByteArray(const long id);
+
+		private:
+			class Entry
+			{
+			public:
+				unsigned long m_length;
+				std::vector<long> m_pages;
+			};
+
+			int m_dataFile;
+			int m_indexFile;
+			unsigned long m_pageSize;
+			long m_nextPage;
+			std::priority_queue<long, std::vector<long>, std::greater<long> > m_emptyPages;
+			std::map<long, Entry*> m_pageIndex;
+
+			unsigned char* m_buffer;
+		}; // DiskStorageManager
+	}
+}
+
+#endif /*__storagemanager_diskstoragemanager_h*/
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,128 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <stdexcept>
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "MemoryStorageManager.h"
+
+using namespace SpatialIndex;
+using namespace SpatialIndex::StorageManager;
+using std::stack;
+using std::vector;
+
+SpatialIndex::IStorageManager* SpatialIndex::StorageManager::returnMemoryStorageManager(Tools::PropertySet& ps)
+{
+	IStorageManager* sm = new MemoryStorageManager(ps);
+	return sm;
+}
+
+SpatialIndex::IStorageManager* SpatialIndex::StorageManager::createNewMemoryStorageManager()
+{
+	Tools::PropertySet ps;
+	return returnMemoryStorageManager(ps);
+}
+
+MemoryStorageManager::MemoryStorageManager(Tools::PropertySet& ps)
+{
+}
+
+MemoryStorageManager::~MemoryStorageManager()
+{
+	for (vector<Entry*>::iterator it = m_buffer.begin(); it != m_buffer.end(); it++) delete *it;
+}
+
+void MemoryStorageManager::loadByteArray(const long id, unsigned long& len, byte** data)
+{
+	Entry* e;
+	try
+	{
+		e = m_buffer.at(id);
+		if (e == 0) throw Tools::InvalidPageException(id);
+	}
+	catch (std::out_of_range)
+	{
+		throw Tools::InvalidPageException(id);
+	}
+
+	len = e->m_length;
+	*data = new byte[len];
+
+	memcpy(*data, e->m_pData, len);
+}
+
+void MemoryStorageManager::storeByteArray(long& id, const unsigned long len, const byte* const data)
+{
+	if (id == NewPage)
+	{
+		Entry* e = new Entry(len, data);
+
+		if (m_emptyPages.empty())
+		{
+			m_buffer.push_back(e);
+			id = m_buffer.size() - 1;
+		}
+		else
+		{
+			id = m_emptyPages.top(); m_emptyPages.pop();
+			m_buffer[id] = e;
+		}
+	}
+	else
+	{
+		Entry* e_old;
+		try
+		{
+			e_old = m_buffer.at(id);
+			if (e_old == 0) throw Tools::InvalidPageException(id);
+		}
+		catch (std::out_of_range)
+		{
+			throw Tools::InvalidPageException(id);
+		}
+
+		Entry* e = new Entry(len, data);
+
+		delete e_old;
+		m_buffer[id] = e;
+	}
+}
+
+void MemoryStorageManager::deleteByteArray(const long id)
+{
+	Entry* e;
+	try
+	{
+		e = m_buffer.at(id);
+		if (e == 0) throw Tools::InvalidPageException(id);
+	}
+	catch (std::out_of_range)
+	{
+		throw Tools::InvalidPageException(id);
+	}
+
+	m_buffer[id] = 0;
+	m_emptyPages.push(id);
+
+	delete e;
+}
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/MemoryStorageManager.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,62 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __storagemanager_memorystoragemanager_h
+#define __storagemanager_memorystoragemanager_h
+
+namespace SpatialIndex
+{
+	namespace StorageManager
+	{
+		class MemoryStorageManager : public SpatialIndex::IStorageManager
+		{
+		public:
+			MemoryStorageManager(Tools::PropertySet&);
+
+			virtual ~MemoryStorageManager();
+
+			virtual void loadByteArray(const long id, unsigned long& len, byte** data);
+			virtual void storeByteArray(long& id, const unsigned long len, const byte* const data);
+			virtual void deleteByteArray(const long id);
+
+		private:
+			class Entry
+			{
+			public:
+				byte* m_pData;
+				unsigned long m_length;
+
+				Entry(unsigned long l, const byte* const d) : m_pData(0), m_length(l)
+				{
+					m_pData = new byte[m_length];
+					memcpy(m_pData, d, m_length);
+				}
+
+				~Entry() { delete[] m_pData; }
+			}; // Entry
+
+			std::vector<Entry*> m_buffer;
+			std::stack<long> m_emptyPages;
+		}; // MemoryStorageManager
+	}
+}
+
+#endif /*__storagemanager_memorystoragemanager_h*/

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,99 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <time.h>
+#include <stdlib.h>
+
+#include "../spatialindex/SpatialIndexImpl.h"
+
+#include "RandomEvictionsBuffer.h"
+
+#ifdef WIN32
+// following two functions don't exist natively on windows so we'll emulate them
+// drand48() returns real number x where 0 <= x < 1
+// srand48() initializes generator
+
+double drand48(void) { return (double) rand() / (double) (RAND_MAX+1); }
+void srand48(long seed) { srand(seed); }
+#endif
+
+using namespace SpatialIndex;
+using namespace SpatialIndex::StorageManager;
+using std::map;
+
+IBuffer* SpatialIndex::StorageManager::returnRandomEvictionsBuffer(IStorageManager& sm, Tools::PropertySet& ps)
+{
+	IBuffer* b = new RandomEvictionsBuffer(sm, ps);
+	return b;
+}
+
+IBuffer* SpatialIndex::StorageManager::createNewRandomEvictionsBuffer(IStorageManager& sm, unsigned int capacity, bool bWriteThrough)
+{
+	Tools::Variant var;
+	Tools::PropertySet ps;
+
+	var.m_varType = Tools::VT_ULONG;
+	var.m_val.ulVal = capacity;
+	ps.setProperty("Capacity", var);
+
+	var.m_varType = Tools::VT_BOOL;
+	var.m_val.blVal = bWriteThrough;
+	ps.setProperty("WriteThrough", var);
+
+	return returnRandomEvictionsBuffer(sm, ps);
+}
+
+RandomEvictionsBuffer::RandomEvictionsBuffer(IStorageManager& sm, Tools::PropertySet& ps) : Buffer(sm, ps)
+{
+	srand48(time(NULL));
+}
+
+RandomEvictionsBuffer::~RandomEvictionsBuffer()
+{
+}
+
+void RandomEvictionsBuffer::addEntry(long id, Entry* e)
+{
+	assert(m_buffer.size() <= m_capacity);
+
+	if (m_buffer.size() == m_capacity) removeEntry();
+	assert(m_buffer.find(id) == m_buffer.end());
+	m_buffer.insert(std::pair<long, Entry*>(id, e));
+}
+
+void RandomEvictionsBuffer::removeEntry()
+{
+	if (m_buffer.size() == 0) return;
+
+	unsigned int entry = (unsigned int) floor(((double) m_buffer.size()) * drand48());
+
+	map<long, Entry*>::iterator it = m_buffer.begin();
+	for (unsigned int cIndex = 0; cIndex < entry; cIndex++) it++;
+
+	if ((*it).second->m_bDirty)
+	{
+		long id = (*it).first;
+		m_pStorageManager->storeByteArray(id, ((*it).second)->m_length, (const byte *) ((*it).second)->m_pData);
+	}
+
+	delete (*it).second;
+	m_buffer.erase(it);
+}

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/storagemanager/RandomEvictionsBuffer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+// Spatial Index Library
+//
+// Copyright (C) 2002 Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __storagemanager_randomevictionsbuffer_h
+#define __storagemanager_randomevictionsbuffer_h
+
+#include "Buffer.h"
+
+namespace SpatialIndex
+{
+	namespace StorageManager
+	{
+		class RandomEvictionsBuffer : public Buffer
+		{
+		public:
+			RandomEvictionsBuffer(IStorageManager&, Tools::PropertySet& ps);
+				// see Buffer.h for available properties.
+
+			virtual ~RandomEvictionsBuffer();
+
+			virtual void addEntry(long id, Buffer::Entry* pEntry);
+			virtual void removeEntry();
+		}; // RandomEvictionsBuffer
+	}
+}
+
+#endif /*__storagemanager_randomevictionsbuffer_h*/
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,298 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include <Tools.h>
+
+#include "ExternalSort.h"
+
+using namespace std;
+
+Tools::ExternalSort::PQEntry::PQEntry(
+	ISerializable* pS,
+	IObjectComparator* pC,
+	SmartPointer<TemporaryFile>& f)
+	: m_pRecord(pS), m_pComparator(pC), m_spFile(f)
+{
+}
+
+Tools::ExternalSort::PQEntry::~PQEntry()
+{
+	delete m_pRecord;
+}
+
+bool Tools::ExternalSort::PQEntry::ascendingComparator::operator()(
+	PQEntry* x,
+	PQEntry* y
+) const
+{
+	if (x->m_pComparator != 0)
+	{
+		int ret = x->m_pComparator->compare(
+			dynamic_cast<IObject*>(x->m_pRecord),
+			dynamic_cast<IObject*>(y->m_pRecord));
+
+		if (ret == 1) return true;
+		return false;
+	}
+	else
+	{
+		IComparable* pX = dynamic_cast<IComparable*>(x->m_pRecord);
+		IComparable* pY = dynamic_cast<IComparable*>(y->m_pRecord);
+
+		if (pX == 0 || pY == 0)
+			throw IllegalArgumentException(
+				"Tools::ExternalSort::PQEntry::ascendingComparator: "
+				"argument is not comparable."
+			);
+
+		if (*pX > *pY) return true;
+		return false;
+	}
+}
+
+Tools::ExternalSort::ExternalSort(
+	IObjectStream& source,
+	unsigned long bufferSize
+)
+ : m_cMaxBufferSize(bufferSize),
+   m_bFitsInBuffer(false),
+   m_cNumberOfSortedRecords(0),
+   m_cNumberOfReturnedRecords(0),
+   m_pExternalSource(&source),
+   m_pTemplateRecord(0),
+   m_pComparator(0)
+{
+	mergeRuns();
+}
+
+Tools::ExternalSort::ExternalSort(
+	IObjectStream& source,
+	IObjectComparator& comp,
+	unsigned long bufferSize
+)
+ : m_cMaxBufferSize(bufferSize),
+   m_bFitsInBuffer(false),
+   m_cNumberOfSortedRecords(0),
+   m_cNumberOfReturnedRecords(0),
+   m_pExternalSource(&source),
+   m_pTemplateRecord(0),
+   m_pComparator(&comp)
+{
+	mergeRuns();
+}
+
+Tools::ExternalSort::~ExternalSort()
+{
+	if (m_pTemplateRecord != 0) delete m_pTemplateRecord;
+}
+
+void Tools::ExternalSort::initializeRuns(
+	deque<SmartPointer<TemporaryFile> >& runs
+)
+{
+	bool bEOF = false;
+
+	while (! bEOF)
+	{
+		while (m_buffer.size() < m_cMaxBufferSize)
+		{
+			IObject* o = m_pExternalSource->getNext();
+
+			if (o == 0)
+			{
+				bEOF = true;
+				break;
+			}
+
+			ISerializable* pS = dynamic_cast<ISerializable*>(o);
+			if (pS == 0)
+			{
+				delete o;
+				throw IllegalStateException(
+					"Tools::ExternalSort::initializeRuns: "
+					"object is not serializable."
+				);
+			}
+
+			m_cNumberOfSortedRecords++;
+
+			//if (m_cNumberOfSortedRecords % 1000000 == 0)
+			//	std::cerr
+			//		<< "Tools::ExternalSort::initializeRuns: loaded "
+			//		<< m_cNumberOfSortedRecords << " objects." << std::endl;
+
+			if (m_pTemplateRecord == 0)
+				m_pTemplateRecord = o->clone();
+
+			SmartPointer<TemporaryFile> tf;
+			m_buffer.push(new PQEntry(pS, m_pComparator, tf));
+		}
+
+		if (bEOF && runs.size() == 0)
+			m_bFitsInBuffer = true;
+
+		if (! m_buffer.empty())
+		{
+			TemporaryFile* tf = new TemporaryFile();
+			while (! m_buffer.empty())
+			{
+				PQEntry* pqe = m_buffer.top(); m_buffer.pop();
+				tf->storeNextObject(pqe->m_pRecord);
+				delete pqe;
+			}
+
+			tf->rewindForReading();
+			SmartPointer<TemporaryFile> spF(tf);
+			runs.push_back(spF);
+		}
+	}
+}
+
+void Tools::ExternalSort::mergeRuns()
+{
+	deque<SmartPointer<TemporaryFile> > newruns;
+	deque<SmartPointer<TemporaryFile> > runs;
+	initializeRuns(runs);
+
+	while (runs.size() > 1)
+	{
+		TemporaryFile* output = new TemporaryFile();
+
+		priority_queue<
+			PQEntry*,
+			vector<PQEntry*>,
+			PQEntry::ascendingComparator> buffer;
+
+		unsigned long cRun = 0, cMaxRun = 0;
+		unsigned long len;
+		byte* data;
+
+		while (buffer.size() < m_cMaxBufferSize)
+		{
+			try
+			{
+				runs[cRun]->loadNextObject(&data, len);
+
+				ISerializable* pS =
+					dynamic_cast<ISerializable*>(m_pTemplateRecord->clone());
+				pS->loadFromByteArray(data);
+				delete[] data;
+				buffer.push(new PQEntry(pS, m_pComparator, runs[cRun]));
+			}
+			catch (EndOfStreamException& e)
+			{
+				// if there are no more records in the file, do nothing.
+			}
+
+			cMaxRun = std::max(cRun, cMaxRun);
+			cRun++;
+			if (cRun == runs.size()) cRun = 0;
+		}
+
+		while (! buffer.empty())
+		{
+			PQEntry* pqe = buffer.top(); buffer.pop();
+			output->storeNextObject(pqe->m_pRecord);
+
+			try
+			{
+				pqe->m_spFile->loadNextObject(pqe->m_pRecord);
+				buffer.push(pqe);
+			}
+			catch (EndOfStreamException& e)
+			{
+				// if there are no more records in the file, do nothing.
+				delete pqe;
+			}
+			catch (...)
+			{
+				delete pqe;
+				delete output;
+				throw;
+			}
+		}
+
+		output->rewindForReading();
+		newruns.push_back(SmartPointer<TemporaryFile>(output));
+
+		for (cRun = 0; cRun <= cMaxRun; cRun++) runs.pop_front();
+
+		if (runs.size() <= 1)
+		{
+			runs.insert(runs.end(), newruns.begin(), newruns.end());
+			newruns.clear();
+		}
+	}
+
+	m_spSortedFile = runs[0];
+	m_spSortedFile->rewindForReading();
+}
+
+Tools::IObject* Tools::ExternalSort::getNext()
+{
+	if (m_cNumberOfReturnedRecords == m_cNumberOfSortedRecords)
+		return 0;
+	else
+	{
+		m_cNumberOfReturnedRecords++;
+
+		unsigned long len;
+		byte* data;
+		m_spSortedFile->loadNextObject(&data, len);
+
+		ISerializable* ret =
+			dynamic_cast<ISerializable*>(m_pTemplateRecord->clone());
+		ret->loadFromByteArray(data);
+		delete[] data;
+		return dynamic_cast<IObject*>(ret);
+	}
+}
+
+bool Tools::ExternalSort::hasNext() throw ()
+{
+	if (m_cNumberOfReturnedRecords == m_cNumberOfSortedRecords)
+		return false;
+	else
+		return true;
+}
+
+unsigned long Tools::ExternalSort::size() throw ()
+{
+	return m_cNumberOfSortedRecords;
+}
+
+void Tools::ExternalSort::rewind()
+{
+	try
+	{
+		m_spSortedFile->rewindForReading();
+		m_cNumberOfReturnedRecords = 0;
+	}
+	catch (...)
+	{
+		m_cNumberOfReturnedRecords = m_cNumberOfSortedRecords;
+		throw;
+	}
+}
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/tools/ExternalSort.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,93 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#ifndef __tools_external_sort_h
+#define __tools_external_sort_h
+
+namespace Tools
+{
+	class ExternalSort : public IObjectStream
+	{
+	public:
+		ExternalSort(
+			Tools::IObjectStream& source,
+			unsigned long bufferSize
+		);
+		ExternalSort(
+			Tools::IObjectStream& source,
+			Tools::IObjectComparator& comp,
+			unsigned long bufferSize
+		);
+		virtual ~ExternalSort();
+
+		virtual IObject* getNext();
+		virtual bool hasNext() throw();
+		virtual unsigned long size() throw();
+		virtual void rewind();
+
+	private:
+		class PQEntry
+		{
+		public:
+			PQEntry(
+				ISerializable* pS,
+				IObjectComparator* pC,
+				SmartPointer<TemporaryFile>& f
+			);
+			~PQEntry();
+
+			struct ascendingComparator
+			 : public std::binary_function<
+				PQEntry*, PQEntry*, bool
+			   >
+			{
+				bool operator()(
+					PQEntry* x,
+					PQEntry* y
+				) const;
+			};
+
+			ISerializable* m_pRecord;
+			IObjectComparator* m_pComparator;
+			SmartPointer<TemporaryFile> m_spFile;
+		};
+
+		void initializeRuns(std::deque<SmartPointer<TemporaryFile> >& runs);
+		void mergeRuns();
+
+		std::priority_queue<
+			PQEntry*,
+			std::vector<PQEntry*>,
+			PQEntry::ascendingComparator> m_buffer;
+
+		unsigned long m_cMaxBufferSize;
+		bool m_bFitsInBuffer;
+		unsigned long m_cNumberOfSortedRecords;
+		unsigned long m_cNumberOfReturnedRecords;
+
+		IObjectStream* m_pExternalSource;
+		IObject* m_pTemplateRecord;
+		IObjectComparator* m_pComparator;
+		SmartPointer<TemporaryFile> m_spSortedFile;
+	}; // ExternalSort
+}
+
+#endif /* __tools_external_sort_h */

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/tools/TemporaryFile.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/tools/TemporaryFile.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/tools/TemporaryFile.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,253 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include <Tools.h>
+
+#ifdef WIN32
+#include <fcntl.h>
+int mkstemp(char* prefix)
+{
+	char* filename = tempnam(".", prefix);
+	if (filename == NULL)
+		return -1;
+	int fd = open(filename, O_RDWR | O_BINARY | O_CREAT, 0444);
+	if (fd < 0)
+		return -1;
+	return fd;
+}
+#endif
+
+Tools::TemporaryFile::TemporaryFile()
+ : m_currentFile(0),
+   m_fileSize(0),
+   m_bEOF(false)
+{
+	char p[5 + 6] = "tmpfXXXXXX";
+	int fd = mkstemp(p);
+	if (fd == -1)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::TemporaryFile: Cannot create tmp file."
+		);
+	close(fd);
+
+	m_file.open(p, std::ios::in | std::ios::out | std::ios::trunc | std::ios::binary);
+
+	if (! m_file)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::TemporaryFile: Cannot open tmp file."
+		);
+	m_strFileName.push_back(std::string(p));
+}
+
+Tools::TemporaryFile::~TemporaryFile()
+{
+	m_file.close();
+
+	bool bFailed = false;
+	for (unsigned long cFile = 0; cFile < m_strFileName.size(); cFile++)
+	{
+		if (remove(m_strFileName[cFile].c_str()) == -1) bFailed = true;
+	}
+
+	if (bFailed)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::~TemporaryFile: Cannot remove tmp file."
+		);
+}
+
+void Tools::TemporaryFile::storeNextObject(
+	unsigned long len,
+	const byte* const data
+) {
+	if (m_fileSize > 1073741824L)
+	{
+		char p[5 + 6] = "tmpfXXXXXX";
+		int fd = mkstemp(p);
+		if (fd == -1)
+			throw IllegalStateException(
+				"Tools::TemporaryFile::storeNextObject: Cannot create tmp file."
+			);
+		close(fd);
+
+		m_file.close();
+		m_file.clear();
+		m_file.open(p, std::ios::in | std::ios::out | std::fstream::trunc | std::fstream::binary);
+		if (! m_file)
+			throw IllegalStateException(
+				"Tools::TemporaryFile::storeNextObject: Cannot open tmp file."
+			);
+
+		m_strFileName.push_back(std::string(p));
+		m_currentFile++;
+		m_fileSize = 0;
+	}
+
+	m_file.write(reinterpret_cast<char*>(&len), sizeof(unsigned long));
+	m_file.write(reinterpret_cast<const char*>(data), len);
+
+	if (! m_file.good())
+		throw IllegalStateException(
+			"Tools::TemporaryFile::storeNextObject: Cannot store object."
+		);
+
+	m_fileSize += len + sizeof(unsigned long);
+}
+
+void Tools::TemporaryFile::storeNextObject(ISerializable* r)
+{
+	unsigned long len;
+	byte* data;
+	r->storeToByteArray(&data, len);
+
+	try
+	{
+		assert(len > 0);
+		storeNextObject(len, data);
+		delete[] data;
+	}
+	catch (...)
+	{
+		delete[] data;
+		throw;
+	}
+}
+
+void Tools::TemporaryFile::loadNextObject(byte** data, unsigned long& len)
+{
+	if (m_bEOF)
+		throw EndOfStreamException(
+			"Tools::TemporaryFile::loadNextObject: End of file."
+		);
+
+	m_file.read(reinterpret_cast<char*>(&len), sizeof(unsigned long));
+
+	if (! m_file.good())
+	{
+		if (m_currentFile == m_strFileName.size() - 1)
+		{
+			m_bEOF = true;
+			throw EndOfStreamException(
+				"Tools::TemporaryFile::loadNextObject: End of file."
+			);
+		}
+
+		m_currentFile++;
+		m_file.close();
+		m_file.clear();
+		m_file.open(
+			m_strFileName[m_currentFile].c_str(),
+			std::ios::in | std::ios::out | std::ios::binary
+		);
+
+		if (! m_file)
+			throw IllegalStateException(
+				"Tools::TemporaryFile::loadNextObject: Cannot open tmp file."
+			);
+
+		m_fileSize = 0;
+
+		m_file.read(reinterpret_cast<char*>(&len), sizeof(unsigned long));
+
+		if (! m_file.good())
+			throw IllegalStateException(
+				"Tools::TemporaryFile::loadNextObject: Cannot load length."
+			);
+	}
+
+	*data = new byte[len];
+	m_file.read(reinterpret_cast<char*>(*data), len);
+
+	if (! m_file.good())
+	{
+		delete[] *data;
+		throw IllegalStateException(
+			"Tools::TemporaryFile::loadNextObject: Cannot load data."
+		);
+	}
+}
+
+void Tools::TemporaryFile::loadNextObject(ISerializable* r)
+{
+	unsigned long len;
+	byte* data;
+	loadNextObject(&data, len);
+	r->loadFromByteArray(data);
+	delete[] data;
+}
+
+void Tools::TemporaryFile::rewindForReading()
+{
+	m_file.close();
+	m_file.clear();
+	m_file.open(
+		m_strFileName[0].c_str(),
+		std::ios::in | std::ios::out | std::ios::binary
+	);
+
+	if (! m_file)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::rewindForReading: "
+			"Cannot open file" + m_strFileName[0]
+		);
+
+	m_currentFile = 0;
+	m_fileSize = 0;
+	m_bEOF = false;
+}
+
+void Tools::TemporaryFile::rewindForWriting()
+{
+	bool bFailed = false;
+	for (unsigned long cFile = 0; cFile < m_strFileName.size(); cFile++)
+	{
+		if (remove(m_strFileName[cFile].c_str()) == -1) bFailed = true;
+	}
+
+	if (bFailed)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::rewindForWriting: Cannot remove tmp file."
+		);
+
+	std::string str = m_strFileName[0];
+	m_strFileName.clear();
+
+	m_file.close();
+	m_file.clear();
+	m_file.open(
+		str.c_str(),
+		std::ios::in | std::ios::out | std::ios::trunc | std::ios::binary
+	);
+
+	if (! m_file)
+		throw IllegalStateException(
+			"Tools::TemporaryFile::rewindForWriting: "
+			"Cannot open file " + str
+		);
+
+	m_strFileName.push_back(str);
+	m_currentFile = 0;
+	m_fileSize = 0;
+	m_bEOF = false;
+}
+

Added: packages/qgis/branches/upstream/current/src/core/spatialindex/tools/Tools.cc
===================================================================
--- packages/qgis/branches/upstream/current/src/core/spatialindex/tools/Tools.cc	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/spatialindex/tools/Tools.cc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1112 @@
+// Tools Library
+//
+// Copyright (C) 2004  Navel Ltd.
+//
+// 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.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//  Email:
+//    mhadji at gmail.com
+
+#include <Tools.h>
+#include "ExternalSort.h"
+//#include "SHA1.h"
+
+Tools::IndexOutOfBoundsException::IndexOutOfBoundsException(int i)
+{
+	std::ostringstream s;
+	s << "Invalid index " << i;
+	m_error = s.str();
+}
+
+std::string Tools::IndexOutOfBoundsException::what()
+{
+	return "IndexOutOfBoundsException: " + m_error;
+}
+
+Tools::IllegalArgumentException::IllegalArgumentException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::IllegalArgumentException::what()
+{
+	return "IllegalArgumentException: " + m_error;
+}
+
+Tools::IllegalStateException::IllegalStateException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::IllegalStateException::what()
+{
+	return "IllegalStateException: " + m_error + "\n"; //Please contact " + PACKAGE_BUGREPORT;
+}
+
+Tools::EndOfStreamException::EndOfStreamException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::EndOfStreamException::what()
+{
+	return "EndOfStreamException: " + m_error;
+}
+
+Tools::ResourceLockedException::ResourceLockedException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::ResourceLockedException::what()
+{
+	return "ResourceLockedException: " + m_error;
+}
+
+Tools::InvalidPageException::InvalidPageException(long id)
+{
+	std::ostringstream s;
+	s << "Unknown page id " << id;
+	m_error = s.str();
+}
+
+std::string Tools::InvalidPageException::what()
+{
+	return "InvalidPageException: " + m_error;
+}
+
+Tools::NotSupportedException::NotSupportedException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::NotSupportedException::what()
+{
+	return "NotSupportedException: " + m_error;
+}
+
+Tools::ParseErrorException::ParseErrorException(std::string s) : m_error(s)
+{
+}
+
+std::string Tools::ParseErrorException::what()
+{
+	return "ParseErrorException: " + m_error;
+}
+
+Tools::Variant::Variant() : m_varType(VT_EMPTY)
+{
+}
+
+Tools::PropertySet::PropertySet(const byte* data)
+{
+	loadFromByteArray(data);
+}
+
+void Tools::PropertySet::loadFromByteArray(const byte* ptr)
+{
+	m_propertySet.clear();
+
+	unsigned long numberOfProperties;
+	memcpy(&numberOfProperties, ptr, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	Variant v;
+
+	for (unsigned long cIndex = 0; cIndex < numberOfProperties; cIndex++)
+	{
+		std::string s(reinterpret_cast<const char*>(ptr));
+		ptr += s.size() + 1;
+		memcpy(&(v.m_varType), ptr, sizeof(VariantType));
+		ptr += sizeof(VariantType);
+
+		switch (v.m_varType)
+		{
+		case VT_LONG:
+			long l;
+			memcpy(&l, ptr, sizeof(long));
+			ptr += sizeof(long);
+			v.m_val.lVal = l;
+			break;
+		case VT_LONGLONG:
+			long long ll;
+			memcpy(&ll, ptr, sizeof(long long));
+			ptr += sizeof(long long);
+			v.m_val.llVal = ll;
+			break;
+		case VT_BYTE:
+			byte b;
+			memcpy(&b, ptr, sizeof(byte));
+			ptr += sizeof(byte);
+			v.m_val.bVal = b;
+			break;
+		case VT_SHORT:
+			short s;
+			memcpy(&s, ptr, sizeof(short));
+			ptr += sizeof(short);
+			v.m_val.iVal = s;
+			break;
+		case VT_FLOAT:
+			float f;
+			memcpy(&f, ptr, sizeof(float));
+			ptr += sizeof(float);
+			v.m_val.fltVal = f;
+			break;
+		case VT_DOUBLE:
+			double d;
+			memcpy(&d, ptr, sizeof(double));
+			ptr += sizeof(double);
+			v.m_val.dblVal = d;
+			break;
+		case VT_CHAR:
+			char c;
+			memcpy(&c, ptr, sizeof(char));
+			ptr += sizeof(char);
+			v.m_val.cVal = c;
+			break;
+		case VT_USHORT:
+			unsigned short us;
+			memcpy(&us, ptr, sizeof(unsigned short));
+			ptr += sizeof(unsigned short);
+			v.m_val.uiVal = us;
+			break;
+		case VT_ULONG:
+			unsigned long ul;
+			memcpy(&ul, ptr, sizeof(unsigned long));
+			ptr += sizeof(unsigned long);
+			v.m_val.ulVal = ul;
+			break;
+		case VT_ULONGLONG:
+			unsigned long long ull;
+			memcpy(&ull, ptr, sizeof(unsigned long long));
+			ptr += sizeof(unsigned long long);
+			v.m_val.ullVal = ull;
+			break;
+		case VT_INT:
+			int i;
+			memcpy(&i, ptr, sizeof(int));
+			ptr += sizeof(int);
+			v.m_val.intVal = i;
+			break;
+		case VT_UINT:
+			unsigned int ui;
+			memcpy(&ui, ptr, sizeof(unsigned int));
+			ptr += sizeof(unsigned int);
+			v.m_val.uintVal = ui;
+			break;
+		case VT_BOOL:
+			byte bl;
+			memcpy(&bl, ptr, sizeof(byte));
+			ptr += sizeof(byte);
+			v.m_val.blVal = static_cast<bool>(bl);
+			break;
+		default:
+			throw IllegalStateException(
+				"Tools::PropertySet::PropertySet: Deserialization problem."
+			);
+		}
+
+		m_propertySet.insert(std::pair<std::string, Variant>(s, v));
+	}
+}
+
+unsigned long Tools::PropertySet::getByteArraySize()
+{
+	unsigned long size = sizeof(unsigned long);
+	std::map<std::string, Variant>::iterator it;
+
+	for (it = m_propertySet.begin(); it != m_propertySet.end(); it++)
+	{
+		switch ((*it).second.m_varType)
+		{
+		case VT_LONG:
+			size += sizeof(long);
+			break;
+		case VT_LONGLONG:
+			size += sizeof(long long);
+			break;
+		case VT_BYTE:
+			size += sizeof(byte);
+			break;
+		case VT_SHORT:
+			size += sizeof(short);
+			break;
+		case VT_FLOAT:
+			size += sizeof(float);
+			break;
+		case VT_DOUBLE:
+			size += sizeof(double);
+			break;
+		case VT_CHAR:
+			size += sizeof(char);
+			break;
+		case VT_USHORT:
+			size += sizeof(unsigned short);
+			break;
+		case VT_ULONG:
+			size += sizeof(unsigned long);
+			break;
+		case VT_ULONGLONG:
+			size += sizeof(unsigned long long);
+			break;
+		case VT_INT:
+			size += sizeof(int);
+			break;
+		case VT_UINT:
+			size += sizeof(unsigned int);
+			break;
+		case VT_BOOL:
+			size += sizeof(byte);
+			break;
+		default:
+			throw NotSupportedException(
+				"Tools::PropertySet::getSize: Unknown type."
+			);
+		}
+		size += (*it).first.size() + 1 + sizeof(VariantType);
+	}
+
+	return size;
+}
+
+void Tools::PropertySet::storeToByteArray(byte** data, unsigned long& length)
+{
+	length = getByteArraySize();
+	*data = new byte[length];
+	byte* ptr = *data;
+
+	unsigned long numberOfProperties = m_propertySet.size();
+	memcpy(ptr, &numberOfProperties, sizeof(unsigned long));
+	ptr += sizeof(unsigned long);
+
+	std::map<std::string, Variant>::iterator it;
+
+	for (it = m_propertySet.begin(); it != m_propertySet.end(); it++)
+	{
+		unsigned long strSize = (*it).first.size();
+		memcpy(ptr, (*it).first.c_str(), strSize);
+		ptr += strSize;
+		*ptr = 0;
+		ptr++;
+
+		memcpy(ptr, &((*it).second.m_varType), sizeof(VariantType));
+		ptr += sizeof(VariantType);
+
+		switch ((*it).second.m_varType)
+		{
+		case VT_LONG:
+			memcpy(ptr, &((*it).second.m_val.lVal), sizeof(long));
+			ptr += sizeof(long);
+			break;
+		case VT_LONGLONG:
+			memcpy(ptr, &((*it).second.m_val.llVal), sizeof(long long));
+			ptr += sizeof(long long);
+			break;
+		case VT_BYTE:
+			memcpy(ptr, &((*it).second.m_val.bVal), sizeof(byte));
+			ptr += sizeof(byte);
+			break;
+		case VT_SHORT:
+			memcpy(ptr, &((*it).second.m_val.iVal), sizeof(short));
+			ptr += sizeof(short);
+			break;
+		case VT_FLOAT:
+			memcpy(ptr, &((*it).second.m_val.fltVal), sizeof(float));
+			ptr += sizeof(float);
+			break;
+		case VT_DOUBLE:
+			memcpy(ptr, &((*it).second.m_val.dblVal), sizeof(double));
+			ptr += sizeof(double);
+			break;
+		case VT_CHAR:
+			memcpy(ptr, &((*it).second.m_val.cVal), sizeof(char));
+			ptr += sizeof(char);
+			break;
+		case VT_USHORT:
+			memcpy(ptr, &((*it).second.m_val.uiVal), sizeof(unsigned short));
+			ptr += sizeof(unsigned short);
+			break;
+		case VT_ULONG:
+			memcpy(ptr, &((*it).second.m_val.ulVal), sizeof(unsigned long));
+			ptr += sizeof(unsigned long);
+			break;
+		case VT_ULONGLONG:
+			memcpy(ptr, &((*it).second.m_val.ullVal), sizeof(unsigned long long));
+			ptr += sizeof(unsigned long long);
+			break;
+		case VT_INT:
+			memcpy(ptr, &((*it).second.m_val.intVal), sizeof(int));
+			ptr += sizeof(int);
+			break;
+		case VT_UINT:
+			memcpy(ptr, &((*it).second.m_val.uintVal), sizeof(unsigned int));
+			ptr += sizeof(unsigned int);
+			break;
+		case VT_BOOL:
+			byte bl;
+			bl = (*it).second.m_val.blVal;
+			memcpy(ptr, &bl, sizeof(byte));
+			ptr += sizeof(byte);
+			break;
+		default:
+			throw NotSupportedException(
+				"Tools::PropertySet::getData: Cannot serialize a variant of this type."
+			);
+		}
+	}
+
+	assert(ptr == (*data) + length);
+}
+
+Tools::Variant Tools::PropertySet::getProperty(std::string property)
+{
+	std::map<std::string, Variant>::iterator it = m_propertySet.find(property);
+	if (it != m_propertySet.end()) return (*it).second;
+	else return Variant();
+}
+
+void Tools::PropertySet::setProperty(std::string property, Variant& v)
+{
+	m_propertySet.insert(std::pair<std::string, Variant>(property, v));
+}
+
+void Tools::PropertySet::removeProperty(std::string property)
+{
+	std::map<std::string, Variant>::iterator it = m_propertySet.find(property);
+	if (it != m_propertySet.end()) m_propertySet.erase(it);
+}
+
+Tools::IObjectStream* Tools::externalSort(IObjectStream& source, unsigned long bufferSize)
+{
+	return new ExternalSort(source, bufferSize);
+
+}
+
+Tools::IObjectStream* Tools::externalSort(IObjectStream& source, IObjectComparator& comp, unsigned long bufferSize)
+{
+	return new ExternalSort(source, comp, bufferSize);
+}
+
+Tools::Interval::Interval() : m_type(IT_RIGHTOPEN), m_low(0.0), m_high(0.0)
+{
+}
+
+Tools::Interval::Interval(IntervalType t, double l, double h) : m_type(t), m_low(l), m_high(h)
+{
+	assert(l < h);
+}
+
+Tools::Interval::Interval(double l, double h) : m_type(IT_RIGHTOPEN), m_low(l), m_high(h)
+{
+	assert(l < h);
+}
+
+Tools::Interval::Interval(const Interval& iv)
+{
+	m_low = iv.m_low;
+	m_high = iv.m_high;
+	m_type = iv.m_type;
+}
+
+Tools::IInterval& Tools::Interval::operator=(const IInterval& iv)
+{
+	if (this != &iv)
+	{
+		m_low = iv.getLowerBound();
+		m_high = iv.getUpperBound();
+		m_type = iv.getIntervalType();
+	}
+
+	return *this;
+}
+
+Tools::Interval& Tools::Interval::operator=(const Interval& iv)
+{
+	*this = *(static_cast<const IInterval*>(&iv));
+	return *this;
+}
+
+bool Tools::Interval::operator==(const Interval& iv) const
+{
+	if (
+		m_type == iv.m_type &&
+		m_low >= iv.m_low - std::numeric_limits<double>::epsilon() &&
+		m_low <= iv.m_low + std::numeric_limits<double>::epsilon() &&
+		m_high >= iv.m_high - std::numeric_limits<double>::epsilon() &&
+		m_high <= iv.m_high + std::numeric_limits<double>::epsilon())
+		return true;
+
+	return false;
+}
+
+bool Tools::Interval::operator!=(const Interval& iv) const
+{
+	return ! (*this == iv);
+}
+
+double Tools::Interval::getLowerBound() const
+{
+	return m_low;
+}
+
+double Tools::Interval::getUpperBound() const
+{
+	return m_high;
+}
+
+void Tools::Interval::setBounds(double l, double h)
+{
+	assert(l <= h);
+
+	m_low = l;
+	m_high = h;
+}
+
+bool Tools::Interval::intersectsInterval(const IInterval& i) const
+{
+	return intersectsInterval(i.getIntervalType(), i.getLowerBound(), i.getUpperBound());
+}
+
+bool Tools::Interval::intersectsInterval(IntervalType type, const double low, const double high) const
+{
+	if (m_high < m_low)
+		throw IllegalStateException(
+			"Tools::Interval::intersectsInterval: high boundary is smaller than low boundary."
+		);
+
+	if (m_low > high || m_high < low) return false;
+	if ((m_low > low && m_low < high) || (m_high > low && m_high < high)) return true;
+
+	switch (m_type)
+	{
+	case IT_CLOSED:
+		if (m_low == high)
+		{
+			if (type == IT_CLOSED || type == IT_LEFTOPEN) return true;
+			else return false;
+		}
+		else if (m_high == low)
+		{
+			if (type == IT_CLOSED || type == IT_RIGHTOPEN) return true;
+			else return false;
+		}
+		break;
+	case IT_OPEN:
+		if (m_low == high || m_high == low) return false;
+		break;
+	case IT_RIGHTOPEN:
+		if (m_low == high)
+		{
+			if (type == IT_CLOSED || type == IT_LEFTOPEN) return true;
+			else return false;
+		}
+		else if (m_high == low)
+		{
+			return false;
+		}
+		break;
+	case IT_LEFTOPEN:
+		if (m_low == high)
+		{
+			return false;
+		}
+		else if (m_high == low)
+		{
+			if (type == IT_CLOSED || type == IT_RIGHTOPEN) return true;
+			else return false;
+		}
+		break;
+	}
+
+	return true;
+}
+
+bool Tools::Interval::containsInterval(const IInterval& i) const
+{
+	if (m_high < m_low)
+		throw IllegalStateException(
+			"Tools::Interval::containsInterval: high boundary is smaller than low boundary."
+		);
+
+	double low = i.getLowerBound();
+	double high = i.getUpperBound();
+	IntervalType type = i.getIntervalType();
+
+	if (m_low < low && m_high > high) return true;
+	if (m_low > low || m_high < high) return false;
+
+	switch (m_type)
+	{
+	case IT_CLOSED:
+		break;
+	case IT_OPEN:
+		if ((m_low == low && m_high == high && type != IT_OPEN) ||
+			(m_low == low && (type == IT_CLOSED || type == IT_RIGHTOPEN)) ||
+			(m_high == high && ( type == IT_CLOSED || type == IT_LEFTOPEN)))
+			return false;
+		break;
+	case IT_RIGHTOPEN:
+		if (m_high == high && (type == IT_CLOSED || type == IT_LEFTOPEN))
+			return false;
+		break;
+	case IT_LEFTOPEN:
+		if (m_low == low && (type == IT_CLOSED || type == IT_RIGHTOPEN))
+			return false;
+		break;
+	}
+
+	return true;
+}
+
+Tools::IntervalType Tools::Interval::getIntervalType() const
+{
+	return m_type;
+}
+
+
+void Tools::uncompressRLE(
+	unsigned long blockSize,
+	byte* in, unsigned long lin,
+	byte** out, unsigned long& lout)
+{
+	if (lin == 0) { *out = 0; lout = 0;	return; }
+
+	byte *data = 0, *pdata = 0, *pin;
+	byte cv[blockSize], pv[blockSize];
+	byte rl;
+	unsigned long bufferLength = 2 * lin;
+
+	pin = in;
+	memcpy(cv, pin, blockSize);
+	pv[0] = ~cv[0]; // force next character to be different.
+	assert(pv[0] != cv[0]);
+	data = new byte[bufferLength];
+	pdata = data;
+
+	while (pin < in + lin)
+	{
+		memcpy(cv, pin, blockSize);
+		pin += blockSize;
+
+		assert(pin <= in + lin);
+
+		if (
+			bufferLength - static_cast<unsigned long>(pdata - data) <=
+			blockSize
+		)
+		{
+			byte* tmp;
+			try
+			{
+				tmp = new byte[2 * bufferLength];
+			}
+			catch(...)
+			{
+				delete[] data;
+				throw;
+			}
+
+			memcpy(tmp, data, bufferLength);
+			pdata = tmp + (pdata - data);
+			byte* tmp2 = data;
+			data = tmp;
+			delete[] tmp2;
+			bufferLength *= 2;
+		}
+
+		memcpy(pdata, cv, blockSize);
+		pdata += blockSize;
+
+		if (memcmp(cv, pv, blockSize) == 0 && pin < in + lin)
+		{
+			memcpy(&rl, pin, sizeof(byte));
+			pin += sizeof(byte);
+			assert(pin <= in + lin);
+			if (
+				bufferLength - static_cast<unsigned long>(pdata - data) <=
+				rl * blockSize
+			)
+			{
+				unsigned long l = std::max(bufferLength, rl * blockSize);
+
+				byte* tmp;
+				try
+				{
+					tmp = new byte[2 * l];
+				}
+				catch(...)
+				{
+					delete[] data;
+					throw;
+				}
+
+				memcpy(tmp, data, bufferLength);
+				pdata = tmp + (pdata - data);
+				byte* tmp2 = data;
+				data = tmp;
+				delete[] tmp2;
+				bufferLength = 2 * l;
+			}
+
+			while (rl > 0)
+			{
+				memcpy(pdata, cv, blockSize);
+				pdata += blockSize;
+				rl--;
+			}
+			memcpy(cv, pin, blockSize);
+			pv[0] = ~cv[0];
+			assert(pv[0] != cv[0]);
+		}
+		else memcpy(pv, cv, blockSize);
+	}
+
+	lout = pdata - data;
+
+	try
+	{
+		*out = new byte[lout];
+	}
+	catch(...)
+	{
+		delete[] data;
+		throw;
+	}
+
+	memcpy(*out, data, lout);
+	delete[] data;
+}
+
+#if HAVE_GETTIMEOFDAY
+Tools::ResourceUsage::ResourceUsage()
+{
+	reset();
+}
+
+void Tools::ResourceUsage::start()
+{
+	struct timezone dummy;
+
+	if (getrusage(RUSAGE_SELF, &m_tmpRU) != 0)
+		throw IllegalStateException(
+			"Tools::ResourceUsage::start: getrusage failed."
+		);
+
+	if (gettimeofday(&m_tmpTV, &dummy) != 0)
+		throw IllegalStateException(
+			"Tools::ResourceUsage::start: gettimeofday failed."
+		);
+
+	// maximum resident set size
+	m_peakMemory = std::max(m_peakMemory, m_tmpRU.ru_maxrss);
+
+	// total memory
+	m_totalMemory = std::max(m_totalMemory, m_tmpRU.ru_ixrss + m_tmpRU.ru_idrss + m_tmpRU.ru_isrss + m_tmpRU.ru_maxrss);
+}
+
+void Tools::ResourceUsage::stop()
+{
+	struct timezone dummy;
+  	struct timeval dif;
+	struct rusage ru;
+  	struct timeval tv;
+
+	if (getrusage(RUSAGE_SELF, &ru) != 0)
+		throw IllegalStateException(
+			"Tools::ResourceUsage::stop: getrusage failed."
+		);
+
+	if (gettimeofday(&tv, &dummy) != 0)
+		throw IllegalStateException(
+			"Tools::ResourceUsage::stop: gettimeofday failed."
+		);
+
+	// total_time
+	subtractTimeval(dif, tv, m_tmpTV);
+	addTimeval(m_totalTime, dif);
+
+	// system_time
+	subtractTimeval(dif, ru.ru_stime, m_tmpRU.ru_stime);
+	addTimeval(m_systemTime, dif);
+
+	// user_time
+	subtractTimeval(dif, ru.ru_utime, m_tmpRU.ru_utime);
+  	addTimeval(m_userTime, dif);
+
+	// readIO, writeIOs
+	m_readIO += ru.ru_inblock - m_tmpRU.ru_inblock;
+	m_writeIO += ru.ru_oublock - m_tmpRU.ru_oublock;
+
+	// maximum resident set size
+	m_peakMemory = std::max(m_peakMemory, ru.ru_maxrss);
+
+	// total memory
+	m_totalMemory = std::max(m_totalMemory, ru.ru_ixrss + ru.ru_idrss + ru.ru_isrss + ru.ru_maxrss);
+
+	// page faults
+	m_pageFaults += ru.ru_majflt - m_tmpRU.ru_majflt;
+}
+
+void Tools::ResourceUsage::reset()
+{
+	m_pageFaults = 0;
+	m_readIO = 0;
+	m_writeIO = 0;
+	m_peakMemory = 0;
+	m_totalMemory = 0;
+	m_totalTime.tv_sec = 0;
+	m_totalTime.tv_usec = 0;
+	m_userTime.tv_sec = 0;
+	m_userTime.tv_usec = 0;
+	m_systemTime.tv_sec = 0;
+	m_systemTime.tv_usec = 0;
+}
+
+double Tools::ResourceUsage::combineTime(const struct timeval& t)
+{
+	return
+		static_cast<double>(t.tv_sec) +
+		static_cast<double>(t.tv_usec) / 1000000.0;
+}
+
+void Tools::ResourceUsage::addTimeval(struct timeval& result, const struct timeval& a)
+{
+	result.tv_sec += a.tv_sec;
+	result.tv_usec += a.tv_usec;
+
+	if (result.tv_usec > 1000000)
+	{
+		long div = result.tv_usec / 1000000;
+		result.tv_sec += div;
+		result.tv_usec -= div * 1000000;
+	}
+}
+
+void Tools::ResourceUsage::subtractTimeval(struct timeval& result, const struct timeval& a, const struct timeval& b)
+{
+	result.tv_sec = a.tv_sec - b.tv_sec;
+	result.tv_usec = a.tv_usec - b.tv_usec;
+
+	if (result.tv_usec < 0)
+	{
+		result.tv_sec -= 1;
+    	result.tv_usec += 1000000;
+    }
+}
+
+double Tools::ResourceUsage::getTotalTime()
+{
+	return combineTime(m_totalTime);
+}
+
+double Tools::ResourceUsage::getUserTime()
+{
+	return combineTime(m_userTime);
+}
+
+double Tools::ResourceUsage::getSystemTime()
+{
+	return combineTime(m_systemTime);
+}
+
+long Tools::ResourceUsage::getPageFaults()
+{
+	return m_pageFaults;
+}
+
+long Tools::ResourceUsage::getReadIO()
+{
+	return m_readIO;
+}
+
+long Tools::ResourceUsage::getWriteIO()
+{
+	return m_writeIO;
+}
+
+long Tools::ResourceUsage::getPeakResidentMemoryUsage()
+{
+	return m_peakMemory;
+}
+
+long Tools::ResourceUsage::getTotalMemoryUsage()
+{
+	return m_totalMemory;
+}
+#endif
+
+#if BUILD_CPU_I686
+Tools::CycleCounter::CycleCounter() : m_totalCycles(0), m_bRunning(false)
+{
+}
+
+double Tools::CycleCounter::getCPUMHz()
+{
+	unsigned long long v1 = rdtsc();
+	sleep(10);
+	unsigned long long v2 = rdtsc();
+	return ((v2 - v1) / 1e7);
+}
+
+double Tools::CycleCounter::getCyclesPerSecond()
+{
+	unsigned long long v1 = rdtsc();
+	sleep(10);
+	unsigned long long v2 = rdtsc();
+	return ((v2 - v1) / 10);
+}
+
+inline unsigned long long Tools::CycleCounter::rdtsc()
+{
+	unsigned long long ret;
+	__asm__ __volatile__("rdtsc": "=A" (ret):);
+	return ret;
+}
+
+void Tools::CycleCounter::start()
+{
+	if (! m_bRunning)
+	{
+		m_tmpCycles = rdtsc();
+		m_bRunning = true;
+	}
+}
+
+void Tools::CycleCounter::stop()
+{
+	if (m_bRunning)
+	{
+		unsigned long long t = rdtsc();
+		m_totalCycles += t - m_tmpCycles;
+		m_bRunning = false;
+	}
+}
+
+void Tools::CycleCounter::reset()
+{
+	m_totalCycles = 0;
+	m_bRunning = false;
+}
+
+double Tools::CycleCounter::getTotalCycles()
+{
+	return m_totalCycles;
+}
+#endif
+
+#if HAVE_PTHREAD_H
+Tools::SharedLock::SharedLock(pthread_rwlock_t* pLock)
+	: m_pLock(pLock)
+{
+	pthread_rwlock_rdlock(m_pLock);
+}
+
+Tools::SharedLock::~SharedLock()
+{
+	pthread_rwlock_unlock(m_pLock);
+}
+
+Tools::ExclusiveLock::ExclusiveLock(pthread_rwlock_t* pLock)
+	: m_pLock(pLock)
+{
+	pthread_rwlock_wrlock(m_pLock);
+}
+
+Tools::ExclusiveLock::~ExclusiveLock()
+{
+	pthread_rwlock_unlock(m_pLock);
+}
+#endif
+
+Tools::StringTokenizer::StringTokenizer(const std::string& str, const std::string& delimiters)
+	: m_index(0)
+{
+    // Skip delimiters at beginning.
+    std::string::size_type lastPos = str.find_first_not_of(delimiters, 0);
+    // Find first "non-delimiter".
+    std::string::size_type pos = str.find_first_of(delimiters, lastPos);
+
+    while (std::string::npos != pos || std::string::npos != lastPos)
+    {
+        // Found a token, add it to the vector.
+        m_token.push_back(str.substr(lastPos, pos - lastPos));
+        // Skip delimiters.  Note the "not_of"
+        lastPos = str.find_first_not_of(delimiters, pos);
+        // Find next "non-delimiter"
+        pos = str.find_first_of(delimiters, lastPos);
+    }
+}
+
+std::string Tools::StringTokenizer::getNextToken()
+{
+	return m_token.at(m_index++);
+}
+
+bool Tools::StringTokenizer::hasMoreTokens()
+{
+	return (m_index < m_token.size());
+}
+
+void Tools::StringTokenizer::reset()
+{
+	m_index = 0;
+}
+
+std::string Tools::trimLeft(const std::string& source, const std::string& t)
+{
+    std::string str = source;
+    return str.erase(0, source.find_first_not_of(t));
+}
+
+std::string Tools::trimRight(const std::string& source, const std::string& t)
+{
+    std::string str = source;
+    return str.erase(str.find_last_not_of(t) + 1);
+}
+
+std::string Tools::trim(const std::string& source, const std::string& t)
+{
+    std::string str = source;
+    return trimLeft(trimRight(str, t), t);
+}
+
+char Tools::toLower(char c)
+{
+    return std::tolower(c);
+}
+
+char Tools::toUpper(char c)
+{
+    return std::toupper(c);
+}
+
+std::string Tools::toUpperCase(const std::string& s)
+{
+    std::string t = s;
+    transform(t.begin(), t.end(), t.begin(), Tools::toUpper);
+    return t;
+}
+
+std::string Tools::toLowerCase(const std::string& s)
+{
+    std::string t = s;
+    transform(t.begin(), t.end(), t.begin(), Tools::toLower);
+    return t;
+}
+
+unsigned long long choose(unsigned long a, unsigned long k)
+{
+      unsigned long long cnm = 1, n = a, m = k;
+      unsigned long long i, f;
+
+      if (m * 2 > n) m = n - m;
+      for (i = 1 ; i <= m; n--, i++)
+      {
+            if ((f = n) % i == 0) f /= i;
+            else cnm /= i;
+            cnm *= f;
+      }
+      return cnm;
+}
+
+Tools::Architecture Tools::System::getArchitecture()
+{
+	union {double f; unsigned long i[2];} convert;
+	convert.f = 1.0;
+
+	// Note: Old versions of the Gnu g++ compiler may make an error here,
+	// compile with the option  -fenum-int-equiv  to fix the problem
+	if (convert.i[1] == 0x3FF00000) return ARCH_LITTLEENDIAN;
+	else if (convert.i[0] == 0x3FF00000) return ARCH_BIGENDIAN;
+	else return ARCH_NONIEEE;
+}
+
+std::ostream& Tools::operator<<(std::ostream& os, const Tools::PropertySet& p)
+{
+	std::map<std::string, Variant>::const_iterator it;
+
+	for (it = p.m_propertySet.begin(); it != p.m_propertySet.end(); it++)
+	{
+		if (it != p.m_propertySet.begin()) os << ", ";
+
+		switch ((*it).second.m_varType)
+		{
+		case VT_LONG:
+			os << (*it).first << ": " << (*it).second.m_val.lVal;
+			break;
+		case VT_LONGLONG:
+			os << (*it).first << ": " << (*it).second.m_val.llVal;
+			break;
+		case VT_BYTE:
+			os << (*it).first << ": " << (*it).second.m_val.bVal;
+			break;
+		case VT_SHORT:
+			os << (*it).first << ": " << (*it).second.m_val.iVal;
+			break;
+		case VT_FLOAT:
+			os << (*it).first << ": " << (*it).second.m_val.fltVal;
+			break;
+		case VT_DOUBLE:
+			os << (*it).first << ": " << (*it).second.m_val.dblVal;
+			break;
+		case VT_CHAR:
+			os << (*it).first << ": " << (*it).second.m_val.cVal;
+			break;
+		case VT_USHORT:
+			os << (*it).first << ": " << (*it).second.m_val.uiVal;
+			break;
+		case VT_ULONG:
+			os << (*it).first << ": " << (*it).second.m_val.ulVal;
+			break;
+		case VT_ULONGLONG:
+			os << (*it).first << ": " << (*it).second.m_val.ullVal;
+			break;
+		case VT_INT:
+			os << (*it).first << ": " << (*it).second.m_val.intVal;
+			break;
+		case VT_UINT:
+			os << (*it).first << ": " << (*it).second.m_val.uintVal;
+			break;
+		case VT_BOOL:
+			os << (*it).first << ": " << (*it).second.m_val.blVal;
+			break;
+		case VT_PCHAR:
+			os << (*it).first << ": " << (*it).second.m_val.pcVal;
+			break;
+		case VT_PVOID:
+			os << (*it).first << ": ?";
+			break;
+		case VT_EMPTY:
+			os << (*it).first << ": empty";
+			break;
+		default:
+			os << (*it).first << ": unknown";
+		}
+	}
+
+	return os;
+}
+
+std::ostream& Tools::operator<<(std::ostream& os, const Tools::Interval& iv)
+{
+	os << iv.m_type << " " << iv.m_low << " " << iv.m_high;
+	return os;
+}
+
+std::ostream& Tools::operator<<(std::ostream& os, const Tools::UniversalHash& h)
+{
+	os << h.m_k;
+
+	for (unsigned long i = 0; i < h.m_k; i++)
+		os << " " << h.m_a[i];
+
+	return os;
+}
+

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,296 @@
+/***************************************************************************
+  qgsmarkercatalogue.cpp
+  -------------------
+begin                : March 2005
+copyright            : (C) 2005 by Radim Blazek
+email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include <cmath>
+#include <iostream>
+
+#include <QPen>
+#include <QBrush>
+#include <QPainter>
+#include <QImage>
+#include <QString>
+#include <QStringList>
+#include <QRect>
+#include <QPolygon>
+#include <QDir>
+#include <QPicture>
+#include <QSvgRenderer>
+
+#include "qgis.h"
+#include "qgsapplication.h"
+#include "qgsmarkercatalogue.h"
+
+QgsMarkerCatalogue *QgsMarkerCatalogue::mMarkerCatalogue = 0;
+
+QgsMarkerCatalogue::QgsMarkerCatalogue()
+{
+  // Init list
+
+  // Hardcoded markers
+  mList.append ( "hard:circle" );
+  mList.append ( "hard:rectangle" );
+  mList.append ( "hard:diamond" );
+  mList.append ( "hard:cross" );
+  mList.append ( "hard:cross2" );
+  mList.append ( "hard:triangle");
+  mList.append ( "hard:star");
+
+  // SVG
+  QString svgPath = QgsApplication::svgPath();
+
+  // TODO recursiv ?
+  QDir dir ( svgPath );
+
+  QStringList dl = dir.entryList(QDir::Dirs);
+
+  for ( QStringList::iterator it = dl.begin(); it != dl.end(); ++it ) {
+    if ( *it == "." || *it == ".." ) continue;
+
+    QDir dir2 ( svgPath + *it );
+
+    QStringList dl2 = dir2.entryList("*.svg",QDir::Files);
+
+    for ( QStringList::iterator it2 = dl2.begin(); it2 != dl2.end(); ++it2 ) {
+      // TODO test if it is correct SVG
+      mList.append ( "svg:" + svgPath + *it + "/" + *it2 );
+    }
+  }
+}
+
+QStringList QgsMarkerCatalogue::list()
+{
+  return mList;
+}
+
+QgsMarkerCatalogue::~QgsMarkerCatalogue()
+{
+}
+
+QgsMarkerCatalogue *QgsMarkerCatalogue::instance()
+{
+  if ( !QgsMarkerCatalogue::mMarkerCatalogue ) {
+    QgsMarkerCatalogue::mMarkerCatalogue = new QgsMarkerCatalogue();
+  }
+
+  return QgsMarkerCatalogue::mMarkerCatalogue;
+}
+
+QImage QgsMarkerCatalogue::imageMarker ( QString fullName, int size, QPen pen, QBrush brush, bool qtBug )
+{
+  //std::cerr << "QgsMarkerCatalogue::marker " << fullName.toLocal8Bit().data() << " sice:" << size << std::endl;
+      
+  // 
+  // First prepare the paintdevice that the marker will be drawn onto 
+  // 
+  QImage myImage;
+  if ( fullName.left(5) == "hard:" )
+  {
+    //Note teh +1 offset below is required because the
+    //otherwise the icons are getting clipped
+    myImage = QImage (size+1,size+1, QImage::Format_ARGB32_Premultiplied);
+  }
+  else
+  {
+    // TODO Change this logic so width is size and height is same
+    // proportion of scale factor as in oritignal SVG TS XXX
+    if (size < 1) size=1;
+    //QPixmap myPixmap = QPixmap(width,height);
+    myImage = QImage(size,size, QImage::Format_ARGB32_Premultiplied);
+  }
+
+  // starting with transparent QImage
+  myImage.fill(0);
+
+  QPainter myPainter;
+  myPainter.begin(&myImage);
+  myPainter.setRenderHint(QPainter::Antialiasing);
+
+  //
+  // Now pass the paintdevice along to have the marker rendered on it
+  //
+
+  if ( fullName.left(5) == "hard:" )
+  {
+    hardMarker ( &myPainter, fullName.mid(5), size, pen, brush, qtBug );
+    return myImage;
+  }
+  else if ( fullName.left(4) == "svg:" )
+  {
+    svgMarker ( &myPainter, fullName.mid(4), size );
+    return myImage;
+  }
+  return QImage(); // empty
+}
+
+QPicture QgsMarkerCatalogue::pictureMarker ( QString fullName, int size, QPen pen, QBrush brush, bool qtBug )
+{
+
+  //
+  // First prepare the paintdevice that the marker will be drawn onto
+  //
+  QPicture myPicture;
+  if ( fullName.left(5) == "hard:" )
+  {
+    //Note teh +1 offset below is required because the
+    //otherwise the icons are getting clipped
+    myPicture = QPicture (size+1);
+  }
+  else
+  {
+    // TODO Change this logic so width is size and height is same
+    // proportion of scale factor as in oritignal SVG TS XXX
+    if (size < 1) size=1;
+    //QPicture myPicture = QPicture(width,height);
+    myPicture = QPicture(size);
+  }
+
+  QPainter myPainter(&myPicture);
+  myPainter.setRenderHint(QPainter::Antialiasing);
+
+  //
+  // Now pass the paintdevice along to have the marker rndered on it
+  //
+
+  if ( fullName.left(5) == "hard:" )
+  {
+    hardMarker ( &myPainter, fullName.mid(5), size, pen, brush, qtBug );
+    return myPicture;
+  }
+  else if ( fullName.left(4) == "svg:" )
+  {
+    svgMarker ( &myPainter, fullName.mid(4), size );
+    return myPicture;
+  }
+  return QPicture(); // empty
+}
+
+void QgsMarkerCatalogue::svgMarker ( QPainter * thepPainter, QString filename, int scaleFactor)
+{
+  QSvgRenderer mySVG;
+  mySVG.load(filename);
+  mySVG.render(thepPainter);
+}
+
+void QgsMarkerCatalogue::hardMarker (QPainter * thepPainter, QString name, int s, QPen pen, QBrush brush, bool qtBug )
+{
+  // Size of polygon symbols is calculated so that the area is equal to circle with 
+  // diameter mPointSize
+
+  // Size for circle
+  int half = (int)floor(s/2.0); // number of points from center
+  int size = 2*half + 1;  // must be odd
+  double area = 3.14 * (size/2.) * (size/2.);
+
+  // Picture
+  QPicture picture;
+  thepPainter->begin(&picture);
+  thepPainter->setRenderHint(QPainter::Antialiasing);
+
+  // Also width must be odd otherwise there are discrepancies visible in canvas!
+  int lw = (int)(2*floor((double)pen.width()/2)+1); // -> lw > 0
+  pen.setWidth(lw);
+  thepPainter->setPen ( pen );
+  thepPainter->setBrush( brush);
+  QRect box;
+
+  if ( name == "circle" ) 
+  {
+    thepPainter->drawEllipse(0, 0, size, size);
+  } 
+  else if ( name == "rectangle" ) 
+  {
+    size = (int) (2*floor(sqrt(area)/2.) + 1);
+    thepPainter->drawRect(0, 0, size, size);
+  } 
+  else if ( name == "diamond" ) 
+  {
+    half = (int) ( sqrt(area/2.) );
+    QPolygon pa(4);
+    pa.setPoint ( 0, 0, half);
+    pa.setPoint ( 1, half, 2*half);
+    pa.setPoint ( 2, 2*half, half);
+    pa.setPoint ( 3, half, 0);
+    thepPainter->drawPolygon ( pa );
+  }
+  // Warning! if pen width > 0 thepPainter->drawLine(x1,y1,x2,y2) will draw only (x1,y1,x2-1,y2-1) !
+  // It is impossible to draw lines as rectangles because line width scaling would not work
+  // (QPicture is scaled later in QgsVectorLayer)
+  //  -> reset boundingRect for cross, cross2
+  else if ( name == "cross" ) 
+  {
+    int add;
+    if ( qtBug ) 
+    {
+      add = 1;  // lw always > 0
+    } 
+    else 
+    {
+      add = 0;
+    }
+
+    thepPainter->drawLine(0, half, size-1+add, half); // horizontal
+    thepPainter->drawLine(half, 0, half, size-1+add); // vertical
+    box.setRect ( 0, 0, size, size );
+  }
+  else if ( name == "cross2" ) 
+  {
+    half = (int) floor( s/2/sqrt(2.0));
+    size = 2*half + 1;
+
+    int add;
+    if ( qtBug ) {
+      add = 1;  // lw always > 0
+    } else {
+      add = 0;
+    }
+
+    int addwidth = (int) ( 0.5 * lw ); // width correction, cca lw/2 * cos(45)
+
+    thepPainter->drawLine( 0, 0, size-1+add, size-1+add);
+    thepPainter->drawLine( 0, size-1, size-1+add, 0-add);
+
+    box.setRect ( -addwidth, -addwidth, size + 2*addwidth, size + 2*addwidth );	
+  }
+  else if ( name == "triangle")
+    {
+      QPolygon pa(3);
+      pa.setPoint ( 0, 0, size);
+      pa.setPoint ( 1, size, size);
+      pa.setPoint ( 2, half, 0);
+      thepPainter->drawPolygon ( pa );
+    }
+  else if (name == "star")
+    {
+      int oneThird = (int)(floor(size/3+0.5));
+      int twoThird = (int)(floor(size/3*2+0.5));
+      QPolygon pa(10);
+      pa.setPoint(0, half, 0);
+      pa.setPoint(1, oneThird, oneThird);
+      pa.setPoint(2, 0, oneThird);
+      pa.setPoint(3, oneThird, half);
+      pa.setPoint(4, 0, size);
+      pa.setPoint(5, half, twoThird);
+      pa.setPoint(6, size, size);
+      pa.setPoint(7, twoThird, half);
+      pa.setPoint(8, size, oneThird);
+      pa.setPoint(9, twoThird, oneThird);
+      thepPainter->drawPolygon ( pa );
+    }
+  if ( name == "cross" || name == "cross2" ) 
+  {
+    picture.setBoundingRect ( box ); 
+  }
+  thepPainter->end();
+}

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgsmarkercatalogue.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,73 @@
+/***************************************************************************
+                             qgsmarkercatalogue.h
+                             -------------------
+    begin                : March 2005
+    copyright            : (C) 2005 by Radim Blazek
+    email                : blazek at itc.it
+ ***************************************************************************/
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSMARKERCATALOGUE_H
+#define QGSMARKERCATALOGUE_H
+
+#include <QStringList>
+
+class QImage;
+class QString;
+class QPicture;
+class QPen;
+class QBrush;
+class QPainter;
+
+
+/** Catalogue of point symbols */
+class CORE_EXPORT QgsMarkerCatalogue
+{
+
+public:
+    //! Destructor
+    ~QgsMarkerCatalogue();
+
+    //! Access to canonical QgsMarkerCatalogue instance
+    static QgsMarkerCatalogue *instance();
+    
+    /**List of available markers*/
+    QStringList list();
+    
+    /** Returns pixmap of the marker
+     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
+     */
+    QImage imageMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
+
+    /** Returns qpicture of the marker
+     * \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
+     */
+    QPicture pictureMarker (QString fullName, int size, QPen pen, QBrush brush, bool qtBug = true );
+    
+    /** Returns a pixmap given a filename of a svg marker
+     *  NOTE: this method needs to be public static for QgsMarkerDialog::visualizeMarkers */
+    static void svgMarker (QPainter * thepPainter, QString name, int size );
+private:
+
+    /**Constructor*/
+    QgsMarkerCatalogue();
+
+    static QgsMarkerCatalogue *mMarkerCatalogue;
+
+    /** List of availabel markers*/
+    QStringList mList;
+
+    /** Hard coded */
+    void hardMarker (QPainter * thepPainter, QString name, int size, QPen pen, QBrush brush, bool qtBug = true );
+
+};
+    
+#endif // QGSMARKERCATALOGUE_H
+
+

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,426 @@
+/***************************************************************************
+                          QgsSymbol.cpp  -  description
+                             -------------------
+    begin                : Sun Aug 11 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc dot com
+       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssymbol.cpp 7040 2007-06-19 11:16:35Z timlinux $ */
+#include <cmath>
+#include <iostream>
+
+#include "qgssymbol.h"
+#include "qgssymbologyutils.h"
+#include "qgsmarkercatalogue.h"
+
+#include <QPainter>
+#include <QDomNode>
+#include <QDomDocument>
+#include <QImage>
+//#include <QString>
+//do we have to include qstring?
+
+QgsSymbol::QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label) : 
+      mLowerValue(lvalue),
+      mUpperValue(uvalue),
+      mLabel(label),
+      mType(t),
+      mPointSymbolName( "hard:circle" ),
+      mPointSize( 6 ),
+      mPointSymbolImage(1,1, QImage::Format_ARGB32_Premultiplied),
+      mWidthScale(1.0),
+      mCacheUpToDate( false ),
+      mCacheUpToDate2( false )
+{}
+
+
+QgsSymbol::QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label, QColor c) : 
+      mLowerValue(lvalue),
+      mUpperValue(uvalue),
+      mLabel(label),
+      mType(t),
+      mPen( c ),
+      mBrush( c ),
+      mPointSymbolName( "hard:circle" ),
+      mPointSize( 6 ),
+      mPointSymbolImage(1,1, QImage::Format_ARGB32_Premultiplied),
+      mWidthScale(1.0),
+      mCacheUpToDate( false ),
+      mCacheUpToDate2( false )
+{}
+
+QgsSymbol::QgsSymbol()
+    : mPointSymbolName( "hard:circle" ),
+      mPointSize( 6 ),
+      mPointSymbolImage(1,1, QImage::Format_ARGB32_Premultiplied),
+      mWidthScale(1.0),
+      mCacheUpToDate( false ),
+      mCacheUpToDate2( false )
+{}
+
+
+QgsSymbol::QgsSymbol(QColor c)
+    : mPen( c ),
+      mBrush( c ),
+      mPointSymbolName( "hard:circle" ),
+      mPointSize( 6 ),
+      mPointSymbolImage(1,1, QImage::Format_ARGB32_Premultiplied),
+      mWidthScale(1.0),
+      mCacheUpToDate( false ),
+      mCacheUpToDate2( false )
+{}
+
+QgsSymbol::QgsSymbol(const QgsSymbol& s)
+{
+  if (this != &s)
+  {
+    mLowerValue = s.mLowerValue;
+    mUpperValue = s.mUpperValue;
+    mLabel = s.mLabel;
+    mType = s.mType;
+    mPen = s.mPen;
+    mBrush = s.mBrush;
+	mTextureFilePath = s.mTextureFilePath;
+    mPointSymbolName = s.mPointSymbolName;
+    mPointSize = s.mPointSize;
+    mPointSymbolImage = s.mPointSymbolImage;
+    mPointSymbolImageSelected = s.mPointSymbolImageSelected;
+    mWidthScale = s.mWidthScale;
+    mPointSymbolImage2 = s.mPointSymbolImage2;
+    mPointSymbolImageSelected2 = s.mPointSymbolImageSelected2;
+    mCacheUpToDate = s.mCacheUpToDate;
+    mCacheUpToDate2 = s.mCacheUpToDate2;
+    mSelectionColor = s.mSelectionColor;
+    mSelectionColor2 = s.mSelectionColor2;
+  }
+}
+
+QgsSymbol::~QgsSymbol()
+{
+
+}
+
+
+QColor QgsSymbol::color() const
+{
+  return mPen.color();
+}
+
+void QgsSymbol::setColor(QColor c)
+{
+  mPen.setColor(c);
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+QColor QgsSymbol::fillColor() const
+{
+  return mBrush.color();
+}
+
+void QgsSymbol::setFillColor(QColor c)
+{
+  mBrush.setColor(c);
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+int QgsSymbol::lineWidth() const
+{
+  return mPen.width();
+}
+
+void QgsSymbol::setLineWidth(int w)
+{
+  mPen.setWidth(w);
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+void QgsSymbol::setLineStyle( Qt::PenStyle s )
+{
+  mPen.setStyle(s);
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+void QgsSymbol::setFillStyle( Qt::BrushStyle s )
+{
+  mBrush.setStyle(s);
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+QString QgsSymbol::customTexture() const
+{
+	return mTextureFilePath;
+}
+
+void QgsSymbol::setCustomTexture( QString path )
+{
+  mTextureFilePath = path;
+  mBrush.setTextureImage(QImage (path));
+  mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+//should we set the path independently of setting the texture?
+
+void QgsSymbol::setNamedPointSymbol(QString name)
+{
+    mPointSymbolName = name;
+    mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+QString QgsSymbol::pointSymbolName() const
+{
+    return mPointSymbolName;
+}
+
+void QgsSymbol::setPointSize(int s)
+{
+    if ( s < 3 )  
+	mPointSize = 3;
+    else 
+    	mPointSize = s;
+
+    mCacheUpToDate = mCacheUpToDate2 = false;
+}
+
+int QgsSymbol::pointSize() const
+{
+    return mPointSize;
+}
+
+
+QImage QgsSymbol::getLineSymbolAsImage()
+{
+    QImage img(15, 15, QImage::Format_ARGB32_Premultiplied);
+    img.fill(QColor(255,255,255,0).rgba());
+    QPainter p(&img);
+    p.setPen(mPen);
+    p.drawLine(0, 0, 15, 15);
+    return img; //this is ok because of qts sharing mechanism
+}
+
+QImage QgsSymbol::getPolygonSymbolAsImage()
+{
+   QImage img(15, 15, QImage::Format_ARGB32_Premultiplied);
+   img.fill(QColor(255,255,255,0).rgba());
+   QPainter p(&img);
+   p.setPen(mPen);
+   p.setBrush(mBrush);
+   p.drawRect(0, 0, 15, 15);
+   return img; //this is ok because of qts sharing mechanism 
+}
+
+QImage QgsSymbol::getPointSymbolAsImage(  double widthScale,
+               bool selected, QColor selectionColor )
+{
+
+	if ( !mCacheUpToDate 
+	     || ( selected && mSelectionColor != selectionColor ) )
+	{
+	    if ( selected ) {
+	        cache(  selectionColor );
+	    } else {
+	        cache(  mSelectionColor );
+	    }
+	}
+
+	if ( selected )
+  {
+	    return mPointSymbolImageSelected;
+	}
+        
+ return mPointSymbolImage;
+}
+
+void QgsSymbol::cache(  QColor selectionColor )
+{
+    QPen pen = mPen;
+    pen.setColor ( selectionColor ); 
+    QBrush brush = mBrush;
+    // For symbols that have a different coloured border, the line
+    // below causes the fill colour to be wrong for the print
+    // composer. Not sure why... 
+    // brush.setColor ( selectionColor ); 
+
+    mPointSymbolImage = QgsMarkerCatalogue::instance()->imageMarker ( mPointSymbolName, mPointSize,
+	                        mPen, mBrush );
+    
+    mPointSymbolImageSelected = QgsMarkerCatalogue::instance()->imageMarker ( 
+	     mPointSymbolName, mPointSize, pen, brush );
+
+    mSelectionColor = selectionColor;
+    mCacheUpToDate = true;
+}
+
+void QgsSymbol::cache2( double widthScale, QColor selectionColor )
+{
+    //std::cerr << "QgsSymbol::cache2 widthScale = " << widthScale << std::endl;
+
+    QPen pen = mPen;
+    pen.setWidth ( (int) ( widthScale * pen.width() ) );
+
+    
+    mPointSymbolImage2 = QgsMarkerCatalogue::instance()->imageMarker ( mPointSymbolName, mPointSize,
+	                        pen, mBrush, false );
+
+    QBrush brush = mBrush;
+    brush.setColor ( selectionColor ); 
+    pen.setColor ( selectionColor ); 
+
+    mPointSymbolImageSelected2 = QgsMarkerCatalogue::instance()->imageMarker ( 
+	               mPointSymbolName, mPointSize, pen, brush,  false );
+
+    mSelectionColor2 = selectionColor;
+    
+    mWidthScale = widthScale;
+    mCacheUpToDate2 = true;
+}
+
+bool QgsSymbol::writeXML( QDomNode & item, QDomDocument & document ) const
+{
+    bool returnval = false;
+    returnval = true; // no error checking yet
+    QDomElement symbol=document.createElement("symbol");
+    item.appendChild(symbol);
+
+    QDomElement lowervalue=document.createElement("lowervalue");
+    QDomText lowervaluetxt=document.createTextNode(mLowerValue);
+    symbol.appendChild(lowervalue);
+    lowervalue.appendChild(lowervaluetxt);
+
+    QDomElement uppervalue=document.createElement("uppervalue");
+    QDomText uppervaluetxt=document.createTextNode(mUpperValue);
+    symbol.appendChild(uppervalue);
+    uppervalue.appendChild(uppervaluetxt);
+
+    QDomElement label=document.createElement("label");
+    QDomText labeltxt=document.createTextNode(mLabel);
+    symbol.appendChild(label);
+    label.appendChild(labeltxt);
+
+    QDomElement pointsymbol=document.createElement("pointsymbol");
+    QDomText pointsymboltxt=document.createTextNode(pointSymbolName());
+    symbol.appendChild(pointsymbol);
+    pointsymbol.appendChild(pointsymboltxt);
+
+    QDomElement pointsize=document.createElement("pointsize");
+    QDomText pointsizetxt=document.createTextNode( QString::number(pointSize()) );
+    symbol.appendChild(pointsize);
+    pointsize.appendChild(pointsizetxt);
+
+    QDomElement outlinecolor=document.createElement("outlinecolor");
+    outlinecolor.setAttribute("red",QString::number(mPen.color().red()));
+    outlinecolor.setAttribute("green",QString::number(mPen.color().green()));
+    outlinecolor.setAttribute("blue",QString::number(mPen.color().blue()));
+    symbol.appendChild(outlinecolor);
+    QDomElement outlinestyle=document.createElement("outlinestyle");
+    QDomText outlinestyletxt=document.createTextNode(QgsSymbologyUtils::penStyle2QString(mPen.style()));
+    outlinestyle.appendChild(outlinestyletxt);
+    symbol.appendChild(outlinestyle);
+    QDomElement outlinewidth=document.createElement("outlinewidth");
+    QDomText outlinewidthtxt=document.createTextNode(QString::number(mPen.width()));
+    outlinewidth.appendChild(outlinewidthtxt);
+    symbol.appendChild(outlinewidth);
+    QDomElement fillcolor=document.createElement("fillcolor");
+    fillcolor.setAttribute("red",QString::number(mBrush.color().red()));
+    fillcolor.setAttribute("green",QString::number(mBrush.color().green()));
+    fillcolor.setAttribute("blue",QString::number(mBrush.color().blue()));
+    symbol.appendChild(fillcolor);
+    QDomElement fillpattern=document.createElement("fillpattern");
+    QDomText fillpatterntxt=document.createTextNode(QgsSymbologyUtils::brushStyle2QString(mBrush.style()));
+    fillpattern.appendChild(fillpatterntxt);
+    symbol.appendChild(fillpattern);
+    fillpattern.appendChild(fillpatterntxt);
+    
+	QDomElement texturepath=document.createElement("texturepath");
+    QDomText texturepathtxt=document.createTextNode(mTextureFilePath);
+    symbol.appendChild(texturepath);
+    texturepath.appendChild(texturepathtxt);
+
+    return returnval;
+}
+
+bool QgsSymbol::readXML( QDomNode & synode )
+{
+    // Legacy project file formats didn't have support for pointsymbol nor
+    // pointsize DOM elements.  Therefore we should check whether these
+    // actually exist.
+
+    QDomNode lvalnode = synode.namedItem("lowervalue");
+    if( ! lvalnode.isNull() )
+    {
+	QDomElement lvalelement = lvalnode.toElement();
+	mLowerValue=lvalelement.text();
+    }
+
+    QDomNode uvalnode = synode.namedItem("uppervalue");
+    if( ! uvalnode.isNull() )
+    {
+	QDomElement uvalelement = uvalnode.toElement();
+	mUpperValue=uvalelement.text();
+    }
+
+    QDomNode labelnode = synode.namedItem("label");
+    if( ! labelnode.isNull() )
+    {
+	QDomElement labelelement = labelnode.toElement();
+	mLabel=labelelement.text();
+    }
+
+    QDomNode psymbnode = synode.namedItem("pointsymbol");
+
+    if ( ! psymbnode.isNull() )
+    {
+        QDomElement psymbelement = psymbnode.toElement();
+        setNamedPointSymbol( psymbelement.text() );
+    }
+    
+    QDomNode psizenode = synode.namedItem("pointsize");
+    
+    if ( !  psizenode.isNull() )
+    {
+        QDomElement psizeelement = psizenode.toElement();
+        setPointSize( psizeelement.text().toInt() );
+    }
+
+    QDomNode outlcnode = synode.namedItem("outlinecolor");
+    QDomElement oulcelement = outlcnode.toElement();
+    int red = oulcelement.attribute("red").toInt();
+    int green = oulcelement.attribute("green").toInt();
+    int blue = oulcelement.attribute("blue").toInt();
+    setColor(QColor(red, green, blue));
+
+    QDomNode outlstnode = synode.namedItem("outlinestyle");
+    QDomElement outlstelement = outlstnode.toElement();
+    setLineStyle(QgsSymbologyUtils::qString2PenStyle(outlstelement.text()));
+
+    QDomNode outlwnode = synode.namedItem("outlinewidth");
+    QDomElement outlwelement = outlwnode.toElement();
+    setLineWidth(outlwelement.text().toInt());
+
+    QDomNode fillcnode = synode.namedItem("fillcolor");
+    QDomElement fillcelement = fillcnode.toElement();
+    red = fillcelement.attribute("red").toInt();
+    green = fillcelement.attribute("green").toInt();
+    blue = fillcelement.attribute("blue").toInt();
+    setFillColor(QColor(red, green, blue));
+
+    QDomNode texturepathnode = synode.namedItem("texturepath");
+    QDomElement texturepathelement = texturepathnode.toElement();
+    setCustomTexture(texturepathelement.text());
+
+	//run this after setting the custom texture path, so we override the brush if it isn't the custom pattern brush.
+    QDomNode fillpnode = synode.namedItem("fillpattern");
+    QDomElement fillpelement = fillpnode.toElement();
+    setFillStyle(QgsSymbologyUtils::qString2BrushStyle(fillpelement.text()));
+
+    return true;
+}

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgssymbol.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,223 @@
+/***************************************************************************
+                          qgssymbol.h  -  description
+                             -------------------
+    begin                : Sat Jun 22 2002
+    copyright            : (C) 2002 by Gary E.Sherman
+    email                : sherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssymbol.h 7040 2007-06-19 11:16:35Z timlinux $ */
+
+#ifndef QGSSYMBOL_H
+#define QGSSYMBOL_H
+
+#include "qgis.h"
+#include <QBrush>
+#include <QPen>
+#include <QImage>
+
+class QDomNode;
+class QDomDocument;
+
+/**Encapsulates settings for drawing (QPen, QBrush, Point symbol) and classification
+ (lower value, upper value)*/
+class CORE_EXPORT QgsSymbol{
+
+ public:
+    /**Constructor*/
+    QgsSymbol(QGis::VectorType t, QString lvalue="", QString uvalue="", QString label="");
+    /**Constructor*/
+    QgsSymbol(QGis::VectorType t, QString lvalue, QString uvalue, QString label, QColor c);
+    QgsSymbol(const QgsSymbol&);
+    /**old constructors*/
+    QgsSymbol();
+    QgsSymbol(QColor c);
+    /**Sets the brush*/
+    virtual void setBrush(QBrush b);
+    /**Gets a reference to m_brush, Don't use the brush to change color/style */
+    virtual const QBrush& brush() const;
+    /**Set the color*/
+    virtual void setColor(QColor c);
+    /**Get the current color*/
+    virtual QColor color() const;
+    /**Get the fill color*/
+    virtual QColor fillColor() const;
+    /**Sets the fill color*/
+    virtual void setFillColor(QColor c);
+    /**Get the line width*/
+    virtual int lineWidth() const;
+    /**Sets the line width*/
+    virtual void setLineWidth(int w);
+    /**Sets the pen*/
+    virtual void setPen(QPen p);
+    /**Gets a reference to m_pen. Don't use the pen to change color/style  */
+    virtual const QPen& pen() const;
+
+    /**Set the line (pen) style*/
+    virtual void setLineStyle(Qt::PenStyle s);
+    /**Set the fill (brush) style*/
+    virtual void setFillStyle(Qt::BrushStyle s);
+
+	/**Gets the path to the customs texture image*/
+	virtual QString customTexture() const;
+	/**Sets the path to the custom texture, and sets the brush to use TexturePattern */
+	virtual void setCustomTexture(QString path);
+
+    virtual void setLowerValue(QString value);
+    virtual QString lowerValue() const;
+    virtual void setUpperValue(QString value);
+    virtual QString upperValue() const;
+    virtual void setLabel(QString label);
+    virtual QString label() const;
+
+    /**Set point symbol from name*/
+    virtual void setNamedPointSymbol(QString name);
+    /**Get point symbol*/
+    virtual QString pointSymbolName() const;
+    /**Set size*/
+    virtual void setPointSize(int s);
+    /**Get size*/
+    virtual int pointSize() const;
+    //! Destructor
+    virtual ~QgsSymbol();
+
+    //! Get a little icon for the legend
+    virtual QImage getLineSymbolAsImage();
+
+    //! Get a little icon for the legend
+    virtual QImage getPolygonSymbolAsImage();
+    
+    /** Get QImage representation of point symbol with current settings
+      */
+    virtual QImage getPointSymbolAsImage( double widthScale = 1., 
+	               bool selected = false, QColor selectionColor = Qt::yellow );
+
+    /**Writes the contents of the symbol to a configuration file
+     @ return true in case of success*/
+    virtual bool writeXML( QDomNode & item, QDomDocument & document ) const;
+    /**Reads the contents of the symbol from a configuration file
+     @ return true in case of success*/
+    virtual bool readXML( QDomNode & symbol );
+    /**Returns if this symbol is point/ line or polygon*/
+    QGis::VectorType type() const {return mType;}
+
+ protected:
+    /**Lower value for classification*/
+    QString mLowerValue;
+    /**Upper value for classification*/
+    QString mUpperValue;
+    QString mLabel;
+    /**Vector type (point, line, polygon)*/
+    QGis::VectorType mType;
+
+    QPen mPen;
+    QBrush mBrush;
+	QString mTextureFilePath;
+    /* Point symbol name */
+    QString mPointSymbolName;
+    /* Point size */
+    int mPointSize; 
+
+    /* TODO Because for printing we always need a symbol without oversampling but with line width scale, 
+     *      we keep also separate picture with line width scale */
+
+    //
+    //
+    // NOTE THE LOGIC OF THESE MEMBER VARS NEED TO BE REVISITED NOW THAT
+    // I HAVE REMOVED SVG OVERSAMPLING (NEEDED IN QT3 WITH POOR SVG SUPPORT)
+    // Tim Sutton 2006 XXX FIXME
+    //
+    //
+
+    
+    /* Point symbol cache  */
+    QImage mPointSymbolImage;
+
+    /* Point symbol cache  */
+    QImage mPointSymbolImageSelected;
+
+    /* Current line width scale used by mPointSymbolVectorImage */
+    double mWidthScale;
+    
+    /* Point symbol cache but with line width scale mWidthScale */
+    QImage mPointSymbolImage2;
+    QImage mPointSymbolImageSelected2;
+    
+    /* Create point symbol mPointSymbolImage/mPointSymbolImage cache */
+    void cache(  QColor selectionColor );
+
+    /* Create point symbol mPointSymbolImage2 cache */
+    void cache2( double widthScale, QColor selectionColor );
+
+    /* mPointSymbolImage/mPointSymbolImage cache updated */
+    bool mCacheUpToDate;
+
+    /* mPointSymbolImage2 cache updated */
+    bool mCacheUpToDate2;
+
+    /* Selection color used in cache */
+    QColor mSelectionColor;
+    QColor mSelectionColor2;
+};
+
+inline void QgsSymbol::setBrush(QBrush b)
+{
+    mBrush=b;
+}
+
+inline const QBrush& QgsSymbol::brush() const
+{
+    return mBrush;
+}
+
+inline void QgsSymbol::setPen(QPen p)
+{
+    mPen=p;
+}
+
+inline const QPen& QgsSymbol::pen() const
+{
+    return mPen;
+}
+
+inline void QgsSymbol::setLowerValue(QString value)
+{
+    mLowerValue=value;
+}
+
+inline QString QgsSymbol::lowerValue() const
+{
+    return mLowerValue;
+}
+
+inline void QgsSymbol::setUpperValue(QString value)
+{
+    mUpperValue=value;
+}
+
+inline QString QgsSymbol::upperValue() const
+{
+    return mUpperValue;
+}
+
+inline void QgsSymbol::setLabel(QString label)
+{
+    mLabel=label;
+}
+
+inline QString QgsSymbol::label() const
+{
+    return mLabel;
+}
+
+#endif // QGSSYMBOL_H
+
+

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1257 @@
+/***************************************************************************
+                         qgssymbologyutils.cpp  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssymbologyutils.cpp 7040 2007-06-19 11:16:35Z timlinux $ */
+#include "qgssymbologyutils.h"
+//Added by qt3to4:
+#include <QPixmap>
+
+static const char *solidLineData[] = {
+  "60 26 4 1",
+  "a c None",
+  "# c None",
+  ". c None",
+  "b c #0000c5",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
+};
+
+static const char *dashLineData[] = {
+  "60 26 4 1",
+  "a c None",
+  "# c None",
+  ". c None",
+  "b c #0000c5",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "bbbbbbbbbbbba.a.abbbbbbbbbbbb.a.a.bbbbbbbbbbbba.a.abbbbbbbbb",
+  "bbbbbbbbbbbb.#.#.bbbbbbbbbbbb#.#.#bbbbbbbbbbbb.#.#.bbbbbbbbb",
+  "bbbbbbbbbbbba.a.abbbbbbbbbbbb.a.a.bbbbbbbbbbbba.a.abbbbbbbbb",
+  "bbbbbbbbbbbb.#.#.bbbbbbbbbbbb#.#.#bbbbbbbbbbbb.#.#.bbbbbbbbb",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
+};
+
+static const char *dotLineData[] = {
+  "60 26 4 1",
+  "a c None",
+  "# c None",
+  ". c None",
+  "b c #0000c5",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbb",
+  "bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb",
+  "bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbba.a.bbbb",
+  "bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb.#.#bbbb",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
+};
+
+static const char *dashDotLineData[] = {
+  "60 26 4 1",
+  "a c None",
+  "# c None",
+  ". c None",
+  "b c #0000c5",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbb",
+  "bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb",
+  "bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbba.a.bbbba.a.bbbbbbbbbbbb",
+  "bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb.#.#bbbb.#.#bbbbbbbbbbbb",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
+};
+
+static const char *dashDotDotLineData[] = {
+  "60 26 5 1",
+  "a c None",
+  "# c None",
+  ". c None",
+  "c c #0000c5",
+  "b c None",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+  "cccccccccccca.a.cccca.a.cccca.a.cccccccccccca.a.cccca.a.cccc",
+  "cccccccccccc.#.#cccc.#.#cccc.#.#cccccccccccc.#.#cccc.#.#cccc",
+  "cccccccccccca.a.cccca.a.cccca.a.cccccccccccca.a.cccca.a.cccc",
+  "cccccccccccc.#.#cccc.#.#cccc.#.#cccccccccccc.#.#cccc.#.#cccc",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."
+};
+
+static const char *noPenLineData[] = {
+"60 26 3 1",
+"a c None",
+"# c None",
+". c None",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.",
+".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+"a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a."};
+
+static const char *solidData[] = {
+  "50 20 1 1",
+  ". c #3155c5",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  ".................................................."
+};
+
+static const char *fdiagData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".......#.......#.......#.......#.......#.......#..",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "..#.......#.......#.......#.......#.......#.......",
+  "...#.......#.......#.......#.......#.......#......",
+  "....#.......#.......#.......#.......#.......#.....",
+  ".....#.......#.......#.......#.......#.......#....",
+  "......#.......#.......#.......#.......#.......#...",
+  ".......#.......#.......#.......#.......#.......#..",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "..#.......#.......#.......#.......#.......#.......",
+  "...#.......#.......#.......#.......#.......#......",
+  "....#.......#.......#.......#.......#.......#.....",
+  ".....#.......#.......#.......#.......#.......#....",
+  "......#.......#.......#.......#.......#.......#...",
+  ".......#.......#.......#.......#.......#.......#..",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "..#.......#.......#.......#.......#.......#......."
+};
+
+static const char *dense4Data[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#."
+};
+
+static const char *horizontalData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  "..................................................",
+  "..................................................",
+  "##################################################",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "##################################################",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "##################################################",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  ".................................................."
+};
+
+static const char *dense5Data[] = {
+  "50 20 2 1",
+  ". c #3155c5",
+  "# c #ffffff",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###."
+};
+
+static const char *diagCrossData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  "...#.......#.......#.......#.......#.......#......",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
+  ".......#.......#.......#.......#.......#.......#..",
+  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  "...#.......#.......#.......#.......#.......#......",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
+  ".......#.......#.......#.......#.......#.......#..",
+  "#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  "...#.......#.......#.......#.......#.......#......",
+  "..#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#"
+};
+
+static const char *dense1Data[] = {
+  "50 20 2 1",
+  ". c #3155c5",
+  "# c #ffffff",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "..................................................",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  ".................................................."
+};
+
+static const char *dense6Data[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  "..................................................",
+  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#...",
+  "..................................................",
+  "#...#...#...#...#...#...#...#...#...#...#...#...#.",
+  "..................................................",
+  "..#...#...#...#...#...#...#...#...#...#...#...#..."
+};
+
+static const char *verticalData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#.."
+};
+
+static const char *dense7Data[] = {
+  "50 20 2 1",
+  ". c #3155c5",
+  "# c #ffffff",
+  "##################################################",
+  "##################################################",
+  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
+  "##################################################",
+  "##################################################",
+  "##################################################",
+  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
+  "##################################################",
+  "##################################################",
+  "##################################################",
+  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
+  "##################################################",
+  "##################################################",
+  "##################################################",
+  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
+  "##################################################",
+  "##################################################",
+  "##################################################",
+  ".###.###.###.###.###.###.###.###.###.###.###.###.#",
+  "##################################################"
+};
+
+static const char *crossData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  "##################################################",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  "##################################################",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  "##################################################",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#..",
+  ".....#.....#.....#.....#.....#.....#.....#.....#.."
+};
+
+static const char *dense2Data[] = {
+  "50 20 2 1",
+  ". c #3155c5",
+  "# c #ffffff",
+  "..................................................",
+  "...#...#...#...#...#...#...#...#...#...#...#...#..",
+  "..................................................",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..................................................",
+  "...#...#...#...#...#...#...#...#...#...#...#...#..",
+  "..................................................",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..................................................",
+  "...#...#...#...#...#...#...#...#...#...#...#...#..",
+  "..................................................",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..................................................",
+  "...#...#...#...#...#...#...#...#...#...#...#...#..",
+  "..................................................",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#",
+  "..................................................",
+  "...#...#...#...#...#...#...#...#...#...#...#...#..",
+  "..................................................",
+  ".#...#...#...#...#...#...#...#...#...#...#...#...#"
+};
+
+static const char *bdiagData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".......#.......#.......#.......#.......#.......#..",
+  "......#.......#.......#.......#.......#.......#...",
+  ".....#.......#.......#.......#.......#.......#....",
+  "....#.......#.......#.......#.......#.......#.....",
+  "...#.......#.......#.......#.......#.......#......",
+  "..#.......#.......#.......#.......#.......#.......",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".......#.......#.......#.......#.......#.......#..",
+  "......#.......#.......#.......#.......#.......#...",
+  ".....#.......#.......#.......#.......#.......#....",
+  "....#.......#.......#.......#.......#.......#.....",
+  "...#.......#.......#.......#.......#.......#......",
+  "..#.......#.......#.......#.......#.......#.......",
+  ".#.......#.......#.......#.......#.......#.......#",
+  "#.......#.......#.......#.......#.......#.......#.",
+  ".......#.......#.......#.......#.......#.......#..",
+  "......#.......#.......#.......#.......#.......#..."
+};
+
+static const char *dense3Data[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "#.###.###.###.###.###.###.###.###.###.###.###.###.",
+  ".#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#",
+  "###.###.###.###.###.###.###.###.###.###.###.###.##"
+};
+
+static const char *nobrush[] = {
+  "50 20 2 1",
+  "# c None",
+  ". c #3155c5",
+  ".................................................."
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".################################################.",
+  ".................................................."
+};
+
+static const char *texturePatternData[] = {
+  "50 20 2 1",
+  "# c #3155c5",
+  ". c #ffffff",
+  "..................................................",
+  "..................#########.......................",
+  "...............##############.....................",
+  "..............####........#####...................",
+  "...........................####...................",
+  "...........................####...................",
+  "...........................####...................",
+  "...........................####...................",
+  "..........................####....................",
+  "..........................####....................",
+  "........................####......................",
+  "......................####........................",
+  "....................####..........................",
+  "...................####...........................",
+  "...................####...........................",
+  "..................................................",
+  "...................####...........................",
+  "...................####...........................",
+  "...................####...........................",
+  ".................................................."
+};
+
+QString QgsSymbologyUtils::penStyle2QString(Qt::PenStyle penstyle)
+{
+  if (penstyle == Qt::NoPen)
+    {
+      return "NoPen";
+  } else if (penstyle == Qt::SolidLine)
+    {
+      return "SolidLine";
+  } else if (penstyle == Qt::DashLine)
+    {
+      return "DashLine";
+  } else if (penstyle == Qt::DotLine)
+    {
+      return "DotLine";
+  } else if (penstyle == Qt::DashDotLine)
+    {
+      return "DashDotLine";
+  } else if (penstyle == Qt::DashDotDotLine)
+    {
+      return "DashDotDotLine";
+  } else if (penstyle == Qt::MPenStyle)
+    {
+      return "MPenStyle";
+  } else                        //return a null string 
+    {
+      return QString();
+    }
+}
+
+Qt::PenStyle QgsSymbologyUtils::qString2PenStyle(QString penString)
+{
+  if (penString == "NoPen")
+    {
+      return Qt::NoPen;
+  } else if (penString == "SolidLine")
+    {
+      return Qt::SolidLine;
+  } else if (penString == "DashLine")
+    {
+      return Qt::DashLine;
+  } else if (penString == "DotLine")
+    {
+      return Qt::DotLine;
+  } else if (penString == "DashDotLine")
+    {
+      return Qt::DashDotLine;
+  } else if (penString == "DashDotDotLine")
+    {
+      return Qt::DashDotDotLine;
+  } else if (penString == "MPenStyle")
+    {
+      return Qt::MPenStyle;
+  } else
+    {
+      return Qt::NoPen;
+    }
+}
+
+QString QgsSymbologyUtils::brushStyle2QString(Qt::BrushStyle brushstyle)
+{
+  if (brushstyle == Qt::NoBrush)
+    {
+      return "NoBrush";
+  } else if (brushstyle == Qt::SolidPattern)
+    {
+      return "SolidPattern";
+  } else if (brushstyle == Qt::Dense1Pattern)
+    {
+      return "Dense1Pattern";
+  } else if (brushstyle == Qt::Dense2Pattern)
+    {
+      return "Dense2Pattern";
+  } else if (brushstyle == Qt::Dense3Pattern)
+    {
+      return "Dense3Pattern";
+  } else if (brushstyle == Qt::Dense4Pattern)
+    {
+      return "Dense4Pattern";
+  } else if (brushstyle == Qt::Dense5Pattern)
+    {
+      return "Dense5Pattern";
+  } else if (brushstyle == Qt::Dense6Pattern)
+    {
+      return "Dense6Pattern";
+  } else if (brushstyle == Qt::Dense7Pattern)
+    {
+      return "Dense7Pattern";
+  } else if (brushstyle == Qt::HorPattern)
+    {
+      return "HorPattern";
+  } else if (brushstyle == Qt::VerPattern)
+    {
+      return "VerPattern";
+  } else if (brushstyle == Qt::CrossPattern)
+    {
+      return "CrossPattern";
+  } else if (brushstyle == Qt::BDiagPattern)
+    {
+      return "BDiagPattern";
+  } else if (brushstyle == Qt::FDiagPattern)
+    {
+      return "FDiagPattern";
+  } else if (brushstyle == Qt::DiagCrossPattern)
+    {
+      return "DiagCrossPattern";
+  } else if (brushstyle == Qt::TexturePattern)
+    {
+      return "CustomPattern";
+  } else                        //return a null string
+    {
+      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::brushStyle2QString");
+      return " ";
+    }
+}
+
+Qt::BrushStyle QgsSymbologyUtils::qString2BrushStyle(QString brushString)
+{
+  if (brushString == "NoBrush")
+    {
+      return Qt::NoBrush;
+  } else if (brushString == "SolidPattern")
+    {
+      return Qt::SolidPattern;
+  } else if (brushString == "Dense1Pattern")
+    {
+      return Qt::Dense1Pattern;
+  } else if (brushString == "Dense2Pattern")
+    {
+      return Qt::Dense2Pattern;
+  } else if (brushString == "Dense3Pattern")
+    {
+      return Qt::Dense3Pattern;
+  } else if (brushString == "Dense4Pattern")
+    {
+      return Qt::Dense4Pattern;
+  } else if (brushString == "Dense5Pattern")
+    {
+      return Qt::Dense5Pattern;
+  } else if (brushString == "Dense6Pattern")
+    {
+      return Qt::Dense6Pattern;
+  } else if (brushString == "Dense7Pattern")
+    {
+      return Qt::Dense7Pattern;
+  } else if (brushString == "HorPattern")
+    {
+      return Qt::HorPattern;
+  } else if (brushString == "VerPattern")
+    {
+      return Qt::VerPattern;
+  } else if (brushString == "CrossPattern")
+    {
+      return Qt::CrossPattern;
+  } else if (brushString == "BDiagPattern")
+    {
+      return Qt::BDiagPattern;
+  } else if (brushString == "FDiagPattern")
+    {
+      return Qt::FDiagPattern;
+  } else if (brushString == "DiagCrossPattern")
+    {
+      return Qt::DiagCrossPattern;
+  } else if (brushString == "CustomPattern")
+    {
+      return Qt::TexturePattern;
+  } else                        //return a null string
+    {
+     qWarning("Brush style \"" + brushString + "\" not found in qString2BrushStyle");
+      return Qt::NoBrush;
+    }
+}
+
+QPixmap QgsSymbologyUtils::qString2LinePixmap(QString lineString)
+{
+  if (lineString == "SolidLine")
+    {
+      return QPixmap(solidLineData);
+    }
+
+  if (lineString == "DashLine")
+    {
+      return QPixmap(dashLineData);
+    }
+
+  if (lineString == "DotLine")
+    {
+      return QPixmap(dotLineData);
+    }
+
+  if (lineString == "DashDotLine")
+    {
+      return QPixmap(dashDotLineData);
+    }
+
+  if (lineString == "DashDotDotLine")
+    {
+      return QPixmap(dashDotDotLineData);
+    }
+  if(lineString =="NoPen")
+    {
+      return QPixmap(noPenLineData);
+    }
+
+  return QPixmap();             // XXX I hope returning a blank one is ok
+}
+
+QPixmap QgsSymbologyUtils::qString2PatternPixmap(QString patternString)
+{
+  if (patternString == "SolidPattern")
+    {
+      return QPixmap(solidData);
+  } else if (patternString == "Dense1Pattern")
+    {
+      return QPixmap(dense1Data);
+  } else if (patternString == "Dense2Pattern")
+    {
+      return QPixmap(dense2Data);
+  } else if (patternString == "Dense3Pattern")
+    {
+      return QPixmap(dense3Data);
+  } else if (patternString == "Dense4Pattern")
+    {
+      return QPixmap(dense4Data);
+  } else if (patternString == "Dense5Pattern")
+    {
+      return QPixmap(dense5Data);
+  } else if (patternString == "Dense6Pattern")
+    {
+      return QPixmap(dense6Data);
+  } else if (patternString == "Dense7Pattern")
+    {
+      return QPixmap(dense7Data);
+  } else if (patternString == "HorPattern")
+    {
+      return QPixmap(horizontalData);
+  } else if (patternString == "VerPattern")
+    {
+      return QPixmap(verticalData);
+  } else if (patternString == "CrossPattern")
+    {
+      return QPixmap(crossData);
+  } else if (patternString == "BDiagPattern")
+    {
+      return QPixmap(bdiagData);
+  } else if (patternString == "FDiagPattern")
+    {
+      return QPixmap(fdiagData);
+  } else if (patternString == "DiagCrossPattern")
+    {
+      return QPixmap(diagCrossData);
+  } else if (patternString == "TexturePattern")
+    {
+      return QPixmap(texturePatternData);
+  } else if (patternString == "NoBrush")
+    {
+      return QPixmap(nobrush);
+  } else                        //return a null patternString
+    {
+      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::qString2PatternPixmap");
+      return QPixmap();
+    }
+}
+
+const char * QgsSymbologyUtils::penStyle2Char(Qt::PenStyle penstyle)
+{
+  if (penstyle == Qt::NoPen)
+    {
+      return "NoPen";
+  } else if (penstyle == Qt::SolidLine)
+    {
+      return "SolidLine";
+  } else if (penstyle == Qt::DashLine)
+    {
+      return "DashLine";
+  } else if (penstyle == Qt::DotLine)
+    {
+      return "DotLine";
+  } else if (penstyle == Qt::DashDotLine)
+    {
+      return "DashDotLine";
+  } else if (penstyle == Qt::DashDotDotLine)
+    {
+      return "DashDotDotLine";
+  } else if (penstyle == Qt::MPenStyle)
+    {
+      return "MPenStyle";
+  } else                        //return an empty char* 
+    {
+      return " ";
+    }
+}
+
+const char *QgsSymbologyUtils::brushStyle2Char(Qt::BrushStyle brushstyle)
+{
+  if (brushstyle == Qt::NoBrush)
+    {
+      return "NoBrush";
+  } else if (brushstyle == Qt::SolidPattern)
+    {
+      return "SolidPattern";
+  } else if (brushstyle == Qt::Dense1Pattern)
+    {
+      return "Dense1Pattern";
+  } else if (brushstyle == Qt::Dense2Pattern)
+    {
+      return "Dense2Pattern";
+  } else if (brushstyle == Qt::Dense3Pattern)
+    {
+      return "Dense3Pattern";
+  } else if (brushstyle == Qt::Dense4Pattern)
+    {
+      return "Dense4Pattern";
+  } else if (brushstyle == Qt::Dense5Pattern)
+    {
+      return "Dense5Pattern";
+  } else if (brushstyle == Qt::Dense6Pattern)
+    {
+      return "Dense6Pattern";
+  } else if (brushstyle == Qt::Dense7Pattern)
+    {
+      return "Dense7Pattern";
+  } else if (brushstyle == Qt::HorPattern)
+    {
+      return "HorPattern";
+  } else if (brushstyle == Qt::VerPattern)
+    {
+      return "VerPattern";
+  } else if (brushstyle == Qt::CrossPattern)
+    {
+      return "CrossPattern";
+  } else if (brushstyle == Qt::BDiagPattern)
+    {
+      return "BDiagPattern";
+  } else if (brushstyle == Qt::FDiagPattern)
+    {
+      return "FDiagPattern";
+  } else if (brushstyle == Qt::DiagCrossPattern)
+    {
+      return "DiagCrossPattern";
+  } else if (brushstyle == Qt::TexturePattern)
+    {
+      return "CustomPattern";
+  } else                        //return an empty char*
+    {
+      return " ";
+    }
+}
+
+QPixmap QgsSymbologyUtils::char2LinePixmap(const char *c)
+{
+  if (strcmp(c, "SolidLine") == 0)
+    {
+      return QPixmap(solidLineData);
+    }
+
+  else if (strcmp(c, "DashLine") == 0)
+    {
+      return QPixmap(dashLineData);
+    }
+
+  else if (strcmp(c, "DotLine") == 0)
+    {
+      return QPixmap(dotLineData);
+    }
+
+  else if (strcmp(c, "DashDotLine") == 0)
+    {
+      return QPixmap(dashDotLineData);
+    }
+
+  else if (strcmp(c, "DashDotDotLine") == 0)
+    {
+      return QPixmap(dashDotDotLineData);
+    }
+
+  else if (strcmp(c, "NoPen") == 0)
+    {
+      return QPixmap(noPenLineData);
+    }
+
+  else
+    {
+      qWarning("Warning, no matching style found in QgsSymbologyUtils::char2LinePixmap");
+      return QPixmap();
+    }
+}
+
+QPixmap QgsSymbologyUtils::char2PatternPixmap(const char *c)
+{
+  if (strcmp(c, "SolidPattern") == 0)
+    {
+      return QPixmap(solidData);
+  } else if (strcmp(c, "Dense1Pattern") == 0)
+    {
+      return QPixmap(dense1Data);
+  } else if (strcmp(c, "Dense2Pattern") == 0)
+    {
+      return QPixmap(dense2Data);
+  } else if (strcmp(c, "Dense3Pattern") == 0)
+    {
+      return QPixmap(dense3Data);
+  } else if (strcmp(c, "Dense4Pattern") == 0)
+    {
+      return QPixmap(dense4Data);
+  } else if (strcmp(c, "Dense5Pattern") == 0)
+    {
+      return QPixmap(dense5Data);
+  } else if (strcmp(c, "Dense6Pattern") == 0)
+    {
+      return QPixmap(dense6Data);
+  } else if (strcmp(c, "Dense7Pattern") == 0)
+    {
+      return QPixmap(dense7Data);
+  } else if (strcmp(c, "HorPattern") == 0)
+    {
+      return QPixmap(horizontalData);
+  } else if (strcmp(c, "VerPattern") == 0)
+    {
+      return QPixmap(verticalData);
+  } else if (strcmp(c, "CrossPattern") == 0)
+    {
+      return QPixmap(crossData);
+  } else if (strcmp(c, "BDiagPattern") == 0)
+    {
+      return QPixmap(bdiagData);
+  } else if (strcmp(c, "FDiagPattern") == 0)
+    {
+      return QPixmap(fdiagData);
+  } else if (strcmp(c, "DiagCrossPattern") == 0)
+    {
+      return QPixmap(diagCrossData);
+  } else if (strcmp(c, "TexturePattern") == 0)
+    {
+      return QPixmap(texturePatternData);
+  }else if (strcmp(c, "NoBrush") == 0)
+    {
+      return QPixmap(nobrush);
+  } else
+    {
+      qWarning("Warning, no matching pattern found in QgsSymbologyUtils::char2PatternPixmap");
+      return QPixmap();
+    }
+
+}
+
+Qt::PenStyle QgsSymbologyUtils::char2PenStyle(const char *c)
+{
+  if (strcmp(c, "NoPen") == 0)
+    {
+      return Qt::NoPen;
+  } else if (strcmp(c, "SolidLine") == 0)
+    {
+      return Qt::SolidLine;
+  } else if (strcmp(c, "DashLine") == 0)
+    {
+      return Qt::DashLine;
+  } else if (strcmp(c, "DotLine") == 0)
+    {
+      return Qt::DotLine;
+  } else if (strcmp(c, "DashDotLine") == 0)
+    {
+      return Qt::DashDotLine;
+  } else if (strcmp(c, "DashDotDotLine") == 0)
+    {
+      return Qt::DashDotDotLine;
+  } else if (strcmp(c, "MPenStyle") == 0)
+    {
+      return Qt::MPenStyle;
+  } else
+    {
+      qWarning("Warning, no matching pen style found in QgsSymbologyUtils::char2PenStyle");
+      return Qt::NoPen;
+    }
+}
+
+Qt::BrushStyle QgsSymbologyUtils::char2BrushStyle(const char *c)
+{
+  if (strcmp(c, "SolidPattern") == 0)
+    {
+      return Qt::SolidPattern;
+  } else if (strcmp(c, "Dense1Pattern") == 0)
+    {
+      return Qt::Dense1Pattern;
+  } else if (strcmp(c, "Dense2Pattern") == 0)
+    {
+      return Qt::Dense2Pattern;
+  } else if (strcmp(c, "Dense3Pattern") == 0)
+    {
+      return Qt::Dense3Pattern;
+  } else if (strcmp(c, "Dense4Pattern") == 0)
+    {
+      return Qt::Dense4Pattern;
+  } else if (strcmp(c, "Dense5Pattern") == 0)
+    {
+      return Qt::Dense5Pattern;
+  } else if (strcmp(c, "Dense6Pattern") == 0)
+    {
+      return Qt::Dense6Pattern;
+  } else if (strcmp(c, "Dense7Pattern") == 0)
+    {
+      return Qt::Dense7Pattern;
+  } else if (strcmp(c, "HorPattern") == 0)
+    {
+      return Qt::HorPattern;
+  } else if (strcmp(c, "VerPattern") == 0)
+    {
+      return Qt::VerPattern;
+  } else if (strcmp(c, "CrossPattern") == 0)
+    {
+      return Qt::CrossPattern;
+  } else if (strcmp(c, "BDiagPattern") == 0)
+    {
+      return Qt::BDiagPattern;
+  } else if (strcmp(c, "FDiagPattern") == 0)
+    {
+      return Qt::FDiagPattern;
+  } else if (strcmp(c, "DiagCrossPattern") == 0)
+    {
+      return Qt::DiagCrossPattern;
+  } else if (strcmp(c, "CustomPattern") == 0)
+    {
+      return Qt::TexturePattern;
+  } else if (strcmp(c, "NoBrush") == 0)
+    {
+      return Qt::NoBrush;
+  }else                        //return a null string
+    {
+      qWarning("Warning, no matching brush style found in QgsSymbologyUtils::char2BrushStyle");
+      return Qt::NoBrush;
+    }
+}
+
+QPixmap QgsSymbologyUtils::penStyle2Pixmap(Qt::PenStyle penstyle)
+{
+  switch (penstyle)
+    {
+      case (Qt::SolidLine):
+        return QPixmap(solidLineData);
+        break;
+      case (Qt::DashLine):
+        return QPixmap(dashLineData);
+        break;
+      case (Qt::DotLine):
+        return QPixmap(dotLineData);
+        break;
+      case (Qt::DashDotLine):
+        return QPixmap(dashDotLineData);
+        break;
+      case (Qt::DashDotDotLine):
+        return QPixmap(dashDotDotLineData);
+        break;
+      case (Qt::NoPen):
+	return QPixmap(noPenLineData);
+	break;
+      default:
+        qWarning("Warning, no matching pen style found in QgsSymbologyUtils::penStyle2Pixmap");
+        return QPixmap();
+    }
+}
+
+QPixmap QgsSymbologyUtils::brushStyle2Pixmap(Qt::BrushStyle brushstyle)
+{
+  switch (brushstyle)
+    {
+      case (Qt::SolidPattern):
+        return QPixmap(solidData);
+        break;
+      case (Qt::Dense1Pattern):
+        return QPixmap(dense1Data);
+        break;
+      case (Qt::Dense2Pattern):
+        return QPixmap(dense2Data);
+        break;
+      case (Qt::Dense3Pattern):
+        return QPixmap(dense3Data);
+        break;
+      case (Qt::Dense4Pattern):
+        return QPixmap(dense4Data);
+        break;
+      case (Qt::Dense5Pattern):
+        return QPixmap(dense5Data);
+        break;
+      case (Qt::Dense6Pattern):
+        return QPixmap(dense6Data);
+        break;
+      case (Qt::Dense7Pattern):
+        return QPixmap(dense7Data);
+        break;
+      case (Qt::HorPattern):
+        return QPixmap(horizontalData);
+        break;
+      case (Qt::VerPattern):
+        return QPixmap(verticalData);
+        break;
+      case (Qt::CrossPattern):
+        return QPixmap(crossData);
+        break;
+      case (Qt::BDiagPattern):
+        return QPixmap(bdiagData);
+        break;
+      case (Qt::FDiagPattern):
+        return QPixmap(fdiagData);
+        break;
+      case (Qt::DiagCrossPattern):
+        return QPixmap(diagCrossData);
+        break;
+      case (Qt::TexturePattern) :
+		return QPixmap(texturePatternData);
+		break;
+      case (Qt::NoBrush):
+        return QPixmap(nobrush);
+      default:
+        qWarning("Warning, no matching pattern found in QgsSymbologyUtils::brushStyle2Pixmap");
+    }
+
+  return QPixmap();             // XXX I hope returning a blank one is ok
+}

Added: packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.h
===================================================================
--- packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/core/symbology/qgssymbologyutils.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,46 @@
+/***************************************************************************
+                         qgssymbologyutils.h  -  description
+                             -------------------
+    begin                : Oct 2003
+    copyright            : (C) 2003 by Marco Hugentobler
+    email                : mhugent at geo.unizh.ch
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgssymbologyutils.h 6415 2007-01-09 02:39:15Z wonder $ */
+
+#ifndef QGSSYMBOLOGYUTILS_H
+#define QGSSYMBOLOGYUTILS_H
+
+#include <Qt>
+
+class QPixmap;
+class QString;
+
+/**Namespace containing static methods which are useful for the symbology widgets*/
+namespace QgsSymbologyUtils
+{
+    QPixmap  CORE_EXPORT qString2LinePixmap(QString string);
+    QPixmap  CORE_EXPORT char2LinePixmap(const char* c);
+    QPixmap CORE_EXPORT qString2PatternPixmap(QString string);
+    QPixmap  CORE_EXPORT char2PatternPixmap(const char* c);
+    QString CORE_EXPORT penStyle2QString(Qt::PenStyle penstyle);
+    const char CORE_EXPORT * penStyle2Char(Qt::PenStyle penstyle);
+    QPixmap CORE_EXPORT penStyle2Pixmap(Qt::PenStyle penstyle);
+    Qt::PenStyle CORE_EXPORT qString2PenStyle(QString string);
+    Qt::PenStyle CORE_EXPORT char2PenStyle(const char* c);
+    QString CORE_EXPORT brushStyle2QString(Qt::BrushStyle brushstyle);
+    const char CORE_EXPORT * brushStyle2Char(Qt::BrushStyle brushstyle);
+    QPixmap CORE_EXPORT brushStyle2Pixmap(Qt::BrushStyle brushstyle);
+    Qt::BrushStyle CORE_EXPORT qString2BrushStyle(QString string);
+    Qt::BrushStyle CORE_EXPORT char2BrushStyle(const char* c);
+}
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/designer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/designer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/designer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,58 +0,0 @@
-# Copyright (C) 2005 Tim Sutton <tim at linfiniti.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4490 2006-01-07 01:09:27Z timlinux $
-
-##
-## ----------------------------------------------------------------------
-##      Define Targets
-## ----------------------------------------------------------------------
-##
-lib_LTLIBRARIES = libqgis_designerwidgets.la
-## TODO change this so it installs into ${QTDIR}/plugins/designer
-libqgis_designerwidgetsdir = ${pkglibdir}/designer
-
-##
-## ----------------------------------------------------------------------
-##        get Qt4 to run moc and rcc where required... 
-## ----------------------------------------------------------------------
-##
-
-#run moc on files
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-#qt resources
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-libqgis_designerwidgets_la_MOC = qgsprojectionselectorwidget.moc.cpp
-
-libqgis_designerwidgets_RES = qgisdesignerwidgets.qrc.cpp
-
-libqgis_designerwidgets_QRC = qgisdesignerwidgets.qrc
-
-
-libqgis_designerwidgets_la_SOURCES =  qgsprojectionselectorwidget.cpp \
-		$(libqgis_designerwidgets_la_MOC) \
-		$(libqgis_designerwidgets_QRC) \
-		$(libqgis_designerwidgets_RES)
-
-
-libqgis_designerwidgets_la_LIBADD =  $(QT_LDADD) ../widgets/projectionselector/libqgsprojectionselector.la
-libqgis_designerwidgets_la_LDFLAGS = -avoid-version -module
-libqgis_designerwidgets_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) -I../gui/ -I../legend -I../core -I../widgets/projectionselector/
-
-##
-## ----------------------------------------------------------------------
-##         additional files that need to be installed go here
-## ----------------------------------------------------------------------
-##
-# designer plugin header not needed by designer

Modified: packages/qgis/branches/upstream/current/src/gui/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,85 +1,110 @@
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
-     ../core
-     ../raster ../legend ../composer ../plugins
-     ../widgets/projectionselector
+
+SET(QGIS_GUI_SRCS
+qgisgui.cpp
+qgisinterface.cpp
+qgscolorbutton.cpp
+qgscursors.cpp
+qgsencodingfiledialog.cpp
+qgsfiledropedit.cpp
+qgslayerprojectionselector.cpp
+qgsmapcanvas.cpp
+qgsmapcanvasitem.cpp
+qgsmapcanvasmap.cpp
+qgsmapoverviewcanvas.cpp
+qgsmaptool.cpp
+qgsmaptoolemitpoint.cpp
+qgsmaptoolpan.cpp
+qgsmaptoolzoom.cpp
+qgsmessageviewer.cpp
+qgsprojectionselector.cpp
+qgsrubberband.cpp
+qgsvertexmarker.cpp
+)
+
+SET(QGIS_GUI_MOC_HDRS
+qgisinterface.h
+qgsencodingfiledialog.h
+qgslayerprojectionselector.h
+qgsmapcanvas.h
+qgsmapoverviewcanvas.h
+qgsmaptoolemitpoint.h
+qgsprojectionselector.h
+)
+
+QT4_WRAP_CPP(QGIS_GUI_MOC_SRCS ${QGIS_GUI_MOC_HDRS})
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ../core
+     ../core/raster ../core/renderer ../core/symbology
      ${SQLITE3_INCLUDE_DIR}
      ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_CURRENT_BINARY_DIR}/../ui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../tools/mapserver_export
-     ${GEOS_INCLUDE_DIR}
 )
 
-SET(QGIS_APP_SRCS main.cpp)
-
 IF (WIN32)
+  IF (MSVC)
+    ADD_DEFINITIONS("-DGUI_EXPORT=__declspec(dllexport)")
+  ELSE (MSVC)
+    ADD_DEFINITIONS("-UGUI_EXPORT \"-DGUI_EXPORT=__declspec(dllexport)\"")
+  ENDIF (MSVC)
+ENDIF (WIN32)
 
-  # Icon for windows
-  # Note: can't include .rc directly to source files
-  # as it's ignored when used MinGW
 
-  IF (NOT WINDRES)
-    FIND_PROGRAM(WINDRES windres)
-    IF (NOT WINDRES)
-      MESSAGE(FATAL_ERROR "windres not found - aborting")
-    ENDIF (NOT WINDRES)
-  ENDIF (NOT WINDRES)
+#############################################################
+# qgis_gui library
 
 
-  #############################################################
-  # application icon
-  IF( MINGW )
-    # resource compilation for MinGW
-    ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/icon.o
-      COMMAND ${WINDRES} -I${CMAKE_CURRENT_SOURCE_DIR} -i${CMAKE_CURRENT_SOURCE_DIR}/qgis_win32.rc 
-      -o ${CMAKE_CURRENT_BINARY_DIR}/icon.o )
-    SET(QGIS_APP_SRCS ${QGIS_APP_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/icon.o)
-  ELSE( MINGW )
-    SET(QGIS_APP_SRCS ${QGIS_APP_SRCS} icon.rc)
-  ENDIF( MINGW )
+ADD_LIBRARY(qgis_gui SHARED ${QGIS_GUI_SRCS} ${QGIS_GUI_MOC_SRCS})
 
-ENDIF (WIN32)
+# make sure that UI files will be processed first
+ADD_DEPENDENCIES(qgis_gui ui)
 
-# Remove console if on WIN32 and not Debug.
-IF (WIN32)
-   IF (CMAKE_BUILD_TYPE MATCHES Debug)
-      ADD_EXECUTABLE(qgis ${QGIS_APP_SRCS})
-   ELSE (CMAKE_BUILD_TYPE MATCHES Debug)
-      ADD_EXECUTABLE(qgis WIN32 ${QGIS_APP_SRCS})
-   ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
-ELSE (WIN32)
-   ADD_EXECUTABLE(qgis ${QGIS_APP_SRCS})
-ENDIF (WIN32)
-
-# This sets runpath to the installation directory
-SET_TARGET_PROPERTIES(qgis PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib
-  BUILD_WITH_INSTALL_RPATH true
+TARGET_LINK_LIBRARIES(qgis_gui
+  ${QT_QTGUI_LIBRARY} 
+  ${QT_QTXML_LIBRARY} 
+  ${QT_QTSVG_LIBRARY} 
+  ${QT_QTNETWORK_LIBRARY} 
+  ${QT_QTMAIN_LIBRARY} 
+  ${QT_QT3SUPPORT_LIBRARY} 
+  ${SQLITE3_LIBRARIES}
+  qgis_core
 )
 
-# Uncomment this to set runpath to the directory path specified at compile time
-#SET_TARGET_PROPERTIES(qgis PROPERTIES
-#  INSTALL_RPATH_USE_LINK_PATH true
-#)
+#work aroud for the fact that qt3 support on mac is linked ot qsql
+IF (APPLE)
+  TARGET_LINK_LIBRARIES(qgis_gui
+    ${QT_QTSQL_LIBRARY} 
+    )
+ENDIF (APPLE)
 
-# Uncomment this to set runpath relative to executable
-#SET_TARGET_PROPERTIES(qgis PROPERTIES
-#  LINK_FLAGS "-Wl,-rpath,'\$\$ORIGIN/../lib'"
-#)
 
-TARGET_LINK_LIBRARIES(qgis
-  ${QT_LIBRARIES}
-  qgis_core
-)
+INSTALL(TARGETS qgis_gui
+  RUNTIME DESTINATION ${QGIS_BIN_DIR}
+  LIBRARY DESTINATION lib)
 
-IF (POSTGRES_FOUND)
-  TARGET_LINK_LIBRARIES (qgis ${POSTGRES_LIBRARY})
-ENDIF (POSTGRES_FOUND)
+# for installing headers
 
+SET(QGIS_GUI_HDRS
+qgisgui.h
+qgisinterface.h
+qgscolorbutton.h
+qgscursors.h
+qgsencodingfiledialog.h
+qgsfiledropedit.h
+qgslayerprojectionselector.h
+qgsmapcanvas.h
+qgsmapcanvasitem.h
+qgsmapcanvasmap.h
+qgsmapoverviewcanvas.h
+qgsmaptool.h
+qgsmaptoolemitpoint.h
+qgsmaptoolpan.h
+qgsmaptoolzoom.h
+qgsmessageviewer.h
+qgsprojectionselector.h
+qgsrubberband.h
+qgsvertexmarker.h
+)
 
 
-IF (APPLE)
-  # For Mac OS X, the executable must be at the root of the bundle's executable folder
-  INSTALL(TARGETS qgis RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
-ELSE (APPLE)
-  INSTALL(TARGETS qgis RUNTIME DESTINATION ${QGIS_BIN_DIR})
-ENDIF (APPLE)
+INSTALL(CODE "MESSAGE(\"Installing GUI headers...\")")
+INSTALL(FILES ${QGIS_GUI_HDRS} ${QGIS_GUI_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})

Deleted: packages/qgis/branches/upstream/current/src/gui/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,330 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-##
-## ----------------------------------------------------------------------
-##        Initial setup 
-## ----------------------------------------------------------------------
-##
-
-if !HAVE_QTMAC
-PREFIX=-DPREFIX=\"$(prefix)\"
-PLUGINPATH=-DPLUGINPATH=\"$(pkglibdir)\"
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-##
-## ----------------------------------------------------------------------
-##      Define Targets
-## ----------------------------------------------------------------------
-##
-if HAVE_QTMAC
-## Qt/Mac binary must be in MacOS directory within bundle, not in bin subdirectory
-## (configure ensures that prefix ends in qgis.app/Contents/MacOS)
-macbindir = $(exec_prefix)
-macbin_PROGRAMS = qgis
-else
-bin_PROGRAMS = qgis
-endif
-
-lib_LTLIBRARIES = libqgis_gui.la
-
-
-##
-## ----------------------------------------------------------------------
-##         QGIS Desktop Application
-## ----------------------------------------------------------------------
-##
-
-qgis_SOURCES =	main.cpp
-
-qgis_LDADD = ../raster/libqgis_raster.la ../legend/libqgis_legend.la ../composer/libqgis_composer.la $(LDADD) $(QT_LDADD) $(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD) $(PYTHON_LIB) -lproj -lsqlite3 libqgis_gui.la ../core/libqgis_core.la 
-if HAVE_QTMAC
-qgis_LDFLAGS = -framework ApplicationServices
-else
-qgis_LDFLAGS = -rdynamic
-endif
-qgis_CXXFLAGS = $(PREFIX) $(PLUGINPATH) $(PKGDATAPATH) $(GDAL_CFLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS)  $(HAVE_PYTHON) $(GEOS_CFLAGS) $(PYTHON_INCLUDE_DIR) -I../ui/ -I../widgets/projectionselector/ -I../legend/ -I../raster/ -I../composer/ -I../core/ -I../plugins/
-
-
-##
-## ----------------------------------------------------------------------
-##         libqgis_gui-gui stuff starts here
-## ----------------------------------------------------------------------
-##
-
-libqgis_guiHEADERS =							\
-		qgisapp.h							\
-		qgisgui.h						\
-		qgisiface.h					\
-		qgisinterface.h \
-		qgsabout.h				\
-		qgsaddattrdialog.h				\
-		qgsattributeaction.h		\
-		qgsattributeactiondialog.h			\
-		qgsattributedialog.h				\
-		qgsattributetabledisplay.h			\
-		qgsattributetable.h				\
-		qgsbookmarks.h			\
-		qgsclipboard.h				\
-		qgscolorbutton.h				\
-		qgscontinuouscolordialog.h				\
-		qgscontinuouscolorrenderer.h			\
-		qgscoordinatetransform.h	\
-		qgscsexception.h				\
-		qgscustomprojectiondialog.h			\
-		qgscursors.h			\
-		qgsdelattrdialog.h				\
-		qgsencodingfiledialog.h				\
-		qgsfillstylewidget.h				\
-		qgsgeomtypedialog.h				\
-		qgsgraduatedsymbolrenderer.h			\
-		qgsgraduatedsymboldialog.h				\
-		qgshelpviewer.h					\
-		qgsidentifyresults.h				\
-		qgslabeldialog.h				\
-		qgslabel.h							\
-		qgslayerprojectionselector.h \
-		qgslinestyledialog.h				\
-		qgslinestylewidget.h   			\
-		qgsludialog.h					\
-		qgsmapcanvas.h						\
-		qgsmapcanvasitem.h			\
-		qgsmapcanvasmap.h			\
-		qgsmaplayer.h						\
-		qgsmaplayerinterface.h				\
-		qgsmaplayerregistry.h				\
-		qgsmaplayerset.h			\
-		qgsmapoverviewcanvas.h				\
-		qgsmapserverexport.h				\
-		qgsmaptool.h						\
-		qgsmaptoolcapture.h				\
-		qgsmaptoolidentify.h			\
-		qgsmaptoolpan.h					\
-		qgsmaptoolselect.h				\
-		qgsmaptoolvertexedit.h			\
-		qgsmaptoolzoom.h					\
-		qgsmaprender.h				\
-		qgsmarkerdialog.h				\
-		qgsmeasure.h					\
-		qgsmessageviewer.h					\
-		qgsnewhttpconnection.h				\
-		qgsoptions.h					\
-		qgspastetransformations.h			\
-		qgspatterndialog.h				\
-		qgspluginmanager.h				\
-		qgspluginmetadata.h				\
-		qgspointstylewidget.h				\
-		qgsproject.h					\
-		qgsprojectproperties.h			\
-		qgsrasterlayerproperties.h		\
-		qgsrubberband.h						\
-		qgsrunprocess.h						\
-		qgssearchquerybuilder.h			\
-		qgsserversourceselect.h				\
-		qgssinglesymboldialog.h				\
-		qgssinglesymbolrenderer.h			\
-		qgsspatialrefsys.h					\
-		qgsuniquevaluerenderer.h				\
-		qgsuniquevaluedialog.h					\
-		qgsvectorfilewriter.h				\
-		qgsvectorlayer.h						\
-		qgsvectorlayerproperties.h			\
-		qgsvertexmarker.h
-
-## files generated from MOC
-libqgis_gui_la_MOC =							\
-		qgisapp.moc.cpp						\
-		qgisinterface.moc.cpp	\
-		qgisiface.moc.cpp \
-		qgsabout.moc.cpp		\
-		qgsaddattrdialog.moc.cpp		\
-		qgsattributeactiondialog.moc.cpp	\
-		qgsattributedialog.moc.cpp		\
-		qgsattributetabledisplay.moc.cpp		\
-		qgsattributetable.moc.cpp		\
-		qgsbookmarks.moc.cpp		\
-		qgscontinuouscolordialog.moc.cpp		\
-		qgscoordinatetransform.moc.cpp		\
-		qgscustomprojectiondialog.moc.cpp 	\
-		qgsdelattrdialog.moc.cpp		\
-		qgsencodingfiledialog.moc.cpp		\
-		qgsfillstylewidget.moc.cpp			\
-		qgsgeomtypedialog.moc.cpp		\
-		qgsgraduatedsymboldialog.moc.cpp			\
-		qgshelpviewer.moc.cpp			\
-		qgsidentifyresults.moc.cpp		\
-		qgslabeldialog.moc.cpp			\
-		qgslayerprojectionselector.moc.cpp \
-		qgslinestyledialog.moc.cpp		\
-		qgslinestylewidget.moc.cpp			\
-		qgsludialog.moc.cpp			\
-		qgsmapcanvas.moc.cpp				\
-		qgsmapcanvasitem.moc.cpp			\
-		qgsmapcanvasmap.moc.cpp			\
-		qgsmaplayerinterface.moc.cpp		\
-		qgsmaplayer.moc.cpp					\
-		qgsmaplayerregistry.moc.cpp			\
-		qgsmapoverviewcanvas.moc.cpp		\
-		qgsmaprender.moc.cpp			\
-		qgsmapserverexport.moc.cpp		\
-		qgsmaptoolidentify.moc.cpp		\
-		qgsmarkerdialog.moc.cpp			\
-		qgsmeasure.moc.cpp			\
-		qgsnewhttpconnection.moc.cpp		\
-		qgsoptions.moc.cpp			\
-		qgspastetransformations.moc.cpp		\
-		qgspatterndialog.moc.cpp		\
-		qgspluginmanager.moc.cpp		\
-		qgspointstylewidget.moc.cpp			\
-		qgsprojectproperties.moc.cpp		\
-		qgsrasterlayerproperties.moc.cpp	\
-		qgsrunprocess.moc.cpp				\
-		qgssearchquerybuilder.moc.cpp	\
-		qgsserversourceselect.moc.cpp		\
-		qgssinglesymboldialog.moc.cpp			\
-		qgsuniquevaluedialog.moc.cpp			\
-		qgsvectorlayer.moc.cpp \
-		qgsvectorlayerproperties.moc.cpp	
-
-libqgis_gui_la_SOURCES =						\
-		qgisapp.cpp							\
-		qgisiface.cpp			\
-		qgisinterface.cpp	\
-		qgsabout.cpp		\
-		qgsaddattrdialog.cpp		\
-		qgsattributeaction.cpp				\
-		qgsattributeactiondialog.cpp	\
-		qgsattributedialog.cpp		\
-		qgsattributetable.cpp		\
-		qgsattributetabledisplay.cpp	\
-		qgsbookmarks.cpp	\
-		qgsclipboard.cpp		\
-		qgscolorbutton.cpp		\
-		qgscontinuouscolordialog.cpp		\
-		qgscoordinatetransform.cpp			\
-		qgscontinuouscolorrenderer.cpp		\
-		qgscursors.cpp		\
-		qgscustomprojectiondialog.cpp			\
-		qgsdelattrdialog.cpp		\
-		qgsencodingfiledialog.cpp	\
-		qgsfillstylewidget.cpp				\
-		qgsgeomtypedialog.cpp		\
-		qgsgraduatedsymbolrenderer.cpp			\
-		qgsgraduatedsymboldialog.cpp		\
-		qgshelpviewer.cpp		\
-		qgsidentifyresults.cpp		\
-		qgslabel.cpp						\
-		qgslabeldialog.cpp		\
-		qgslayerprojectionselector.cpp \
-		qgslinestyledialog.cpp		\
-		qgslinestylewidget.cpp				\
-		qgsludialog.cpp			\
-		qgsmapcanvas.cpp					\
-		qgsmapcanvasitem.cpp				\
-		qgsmapcanvasmap.cpp				\
-		qgsmaplayer.cpp						\
-		qgsmaplayerregistry.cpp				\
-		qgsmaplayerset.cpp			\
-		qgsmapoverviewcanvas.cpp			\
-		qgsmapserverexport.cpp		\
-		qgsmaptool.cpp			\
-		qgsmaptoolcapture.cpp			\
-		qgsmaptoolidentify.cpp		\
-		qgsmaptoolpan.cpp				\
-		qgsmaptoolselect.cpp			\
-		qgsmaptoolvertexedit.cpp		\
-		qgsmaptoolzoom.cpp			\
-		qgsmaprender.cpp			\
-		qgsmarkerdialog.cpp		\
-		qgsmeasure.cpp			\
-		qgsmessageviewer.cpp				\
-		qgsnewhttpconnection.cpp	\
-		qgsoptions.cpp			\
-		qgspastetransformations.cpp	\
-		qgspatterndialog.cpp		\
-		qgspluginmanager.cpp		\
-		qgspluginmetadata.cpp		\
-		qgspointstylewidget.cpp				\
-		qgsproject.cpp			\
-		qgsprojectproperties.cpp	\
-		qgsrasterlayerproperties.cpp	\
-		qgsrubberband.cpp					\
-		qgsrunprocess.cpp					\
-		qgssearchquerybuilder.cpp		\
-		qgsserversourceselect.cpp	\
-		qgssinglesymboldialog.cpp	\
-		qgssinglesymbolrenderer.cpp			\
-		qgsspatialrefsys.cpp				\
-		qgsuniquevaluerenderer.cpp			\
-		qgsuniquevaluedialog.cpp		\
-		qgsvectorfilewriter.cpp				\
-		qgsvectorlayer.cpp \
-		qgsvectorlayerproperties.cpp		\
-		qgsvertexmarker.cpp
-
-if HAVE_POSTGRESQL
-postgresHEADERS = qgsdbsourceselect.h		\
-		  qgsnewconnection.h		\
-		  qgspgquerybuilder.h
-
-postgresSOURCES = qgsdbsourceselect.cpp		\
-		  qgsnewconnection.cpp		\
-		  qgspgquerybuilder.cpp
-
-postgresMOC = qgsdbsourceselect.moc.cpp		\
-		  qgsnewconnection.moc.cpp		\
-		  qgspgquerybuilder.moc.cpp
-		  
-postgresLIBHEADERS = qgspgutil.h
-postgresLIBSOURCES = qgspgutil.cpp
-
-libqgis_gui_la_SOURCES += $(postgresSOURCES) $(postgresLIBSOURCES) $(postgresMOC)
-endif
-
-AM_YFLAGS       = -d
-
-nodist_libqgis_gui_la_SOURCES = $(libqgis_gui_la_MOC)
-
-BUILT_SOURCES = $(libqgis_gui_la_MOC) $(qgis_YACC)  $(postgresMOC)
-
-
-libqgis_gui_la_LIBADD = ../core/libqgis_core.la ../raster/libqgis_raster.la ../legend/libqgis_legend.la ../composer/libqgis_composer.la ../widgets/projectionselector/libqgsprojectionselector.la $(QT_LDADD) $(GEOS_LDADD) $(GDAL_LDADD) $(PYTHON_LIB) -lsqlite3
-libqgis_gui_la_LDFLAGS = -version-info $(INTERFACE_VERSION)
-
-libqgis_gui_la_CXXFLAGS = $(PREFIX) $(PLUGINPATH) $(PKGDATAPATH) $(GDAL_CFLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(PYTHON_INCLUDE_DIR) $(HAVE_PYTHON) -I../ui/ -I../widgets/projectionselector/ -I../legend/ -I../raster/ -I../composer/ -I../core/ -I../plugins/
-
-##
-## ----------------------------------------------------------------------
-##         additional files that need to be installed go here
-## ----------------------------------------------------------------------
-##
-pkginclude_HEADERS = $(libqgis_guiHEADERS) 
-
-pkginclude_dir = $(includedir)/qgis
-
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(libqgis_gui_la_MOC)
-
-if HAVE_POSTGRESQL
-
-EXTRA_DIST += $(postgresSOURCES) \
-		$(postgresLIBSOURCES) 
-
-pkginclude_HEADERS += $(postgresHEADERS) \
-		$(postgresLIBHEADERS) \
-		$(libqgisHEADERS) 
-endif
-

Deleted: packages/qgis/branches/upstream/current/src/gui/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,43 +0,0 @@
-QGTOP=../../
-
-#LDADD = $(QGIS_LIBS)
-LDADD = $(GUI_DLL) $(RASTER_DLL) $(LEGEND_DLL) $(COMPOSER_DLL) \
-	$(PROJSEL_DLL) \
-        $(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD) -lproj -lsqlite3 \
-        $(QT_LDADD) -lwsock32
-
-DLL=qgis_gui.dll
-
-OBJECTS = qgis-main.o
-
-all: libs $(DLL) objects qgis.exe
-
-objects:
-	$(MAKE) -f Makefile qgis-main.o
-
-libs:
-	$(MAKE) -f Makefile libqgis_gui.la
-
-$(DLL): .libs/libqgis_gui.a
-	$(CXX) -shared -o $(DLL) \
-		-Wl,--out-implib=lib$(DLL).a \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/libqgis_gui.a \
-		-Wl,--no-whole-archive \
-			$(CORE_A) $(COMPOSER_A) $(LEGEND_A) $(RASTER_A) \
-			$(GUI_A)  $(PROJSEL_A) \
-			-lsqlite3 -lgeos -lproj -lgdal $(PG_LIB) \
-			$(QT_LDADD) \
-			-lwsock32 -lmingw32
-	$(STRIP) $@
-	
-qgis.exe:
-	$(CXX) -o $@ $(OBJECTS) $(LDADD)
-	$(STRIP) $@
-
-install: all
-	$(INSTALL) -m 755 qgis.exe $(BINDIR)/qgis.exe
-	$(INSTALL) -m 755 $(DLL) $(DLLDIR)/$(DLL)
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/gui/gui.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/gui.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/gui.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,16 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-TEMPLATE=subdirs
-
-SUBDIRS=guilib.pro guiapp.pro
-

Deleted: packages/qgis/branches/upstream/current/src/gui/guiapp.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/guiapp.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/guiapp.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,52 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gui library - the app is built in a separate pro file
-#
-
-include(../../settings.pro)
-include(../ui/ui.pro)
-TEMPLATE=app
-TARGET=qgis
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-#LIBS += $${SQLITELIBADD}
-#LIBS += $${GEOSLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-#LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISBINDIR}
-QT += qt3support svg core gui xml network
-#
-# Copy developers list and pics to the share dir
-#
-win32:system(copy "c:\dev\cpp\qgis\AUTHORS" "c:\dev\cpp\qgis\qgis-release\share\qgis\doc\") 
-win32:system(copy "c:\dev\cpp\qgis\SPONSORS" "c:\dev\cpp\qgis\qgis-release\share\qgis\doc\") 
-win32:system(copy "c:\dev\cpp\qgis\images\developers\*.jpg" "c:\dev\cpp\qgis\qgis-release\share\qgis\images\developers\")
-win32:system(copy "c:\dev\cpp\qgis\doc\index.html" "c:\dev\cpp\qgis\qgis-release\share\qgis\doc\")
-win32:system(copy "c:\dev\cpp\qgis\doc\userguide.pdf" "c:\dev\cpp\qgis\qgis-release\share\qgis\doc\")
-win32:system(copy "c:\dev\cpp\qgis\resources\*.db" "c:\dev\cpp\qgis\qgis-release\share\qgis\resources\")
-win32:system(copy "c:\dev\cpp\qgis\resources\context_help\*" "c:\dev\cpp\qgis\qgis-release\share\qgis\resources\context_help\")
-#this way didnt work but would be nicer than above
-#win32:system(copy "c:\dev\cpp\qgis\AUTHORS" $${QGISDOCDIR}
-#win32:system(copy ../../SPONSORS $${QGISDOCDIR})
-#win32:system(copy ../../images/developers* $${QGISDEVELOPERSIMAGEDIR})
-message("Building libs into $${DESTDIR}")
-
-win32: RC_FILE = ../../win_build/qgis.rc
-
-SOURCES = main.cpp					\

Deleted: packages/qgis/branches/upstream/current/src/gui/guilib.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/guilib.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/guilib.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,236 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gui library - the app is built in a separate pro file
-#
-
-include(../../settings.pro)
-include(../ui/ui.pro)
-TEMPLATE=lib
-TARGET=qgis_gui
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-LIBS += $${POSTGRESLIBADD}
-#LIBS += $${GEOSLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-message("QGIS Core Lib: $${QGISCORELIBADD}")
-message("QGIS Projection Selector Lib: $${QGISPROJECTIONSELECTORLIBADD}")
-message("QGIS Composer Lib: $${QGISCOMPOSERLIBADD}")
-message("LIBS: $${LIBS}")
-DESTDIR=$${QGISLIBDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-
-HEADERS =							\
-                qgisapp.h                                       \
-		qgisiface.h					\
-		qgisinterface.h					\
-		qgsabout.h					\
-		qgsaddattrdialog.h				\
-		qgsattributeaction.h				\
-		qgsattributeactiondialog.h			\
-		qgsattributedialog.h				\
-		qgsattributetable.h				\
-		qgsattributetabledisplay.h			\
-		qgsbookmarks.h					\	
-		qgsclipboard.h					\
-		qgscolorbutton.h				\
-		qgscontinuouscolordialog.h			\
-		qgscontinuouscolorrenderer.h			\
-		qgscsexception.h				\
-		qgscursors.h					\
-		qgscustomprojectiondialog.h			\
-		qgsdelattrdialog.h				\
-		qgsencodingfiledialog.h				\
-		qgsgeomtypedialog.h				\
-		qgsgraduatedsymboldialog.h			\
-		qgsgraduatedsymbolrenderer.h			\
-		qgshelpviewer.h					\
-		qgsidentifyresults.h				\
-		qgslabel.h					\
-		qgslabeldialog.h				\
-		qgslayerprojectionselector.h 			\
-		qgslinestyledialog.h				\
-		qgsludialog.h					\
-		qgsmapcanvas.h					\
-		qgsmapcanvasitem.h				\
-		qgsmapcanvasmap.h				\
-		qgsmaplayer.h					\
-		qgsmaplayerinterface.h				\
-		qgsmaplayerregistry.h				\
-		qgsmaplayerset.h				\
-		qgsmapoverviewcanvas.h				\
-		qgsmaprender.h					\
-		qgsmaptool.h					\
-		qgsmaptoolcapture.h				\
-		qgsmaptoolidentify.h				\
-		qgsmaptoolpan.h					\
-		qgsmaptoolselect.h				\
-		qgsmaptoolvertexedit.h				\
-		qgsmaptoolzoom.h				\
-		qgsmarkerdialog.h				\
-		qgsmeasure.h					\
-		qgsmessageviewer.h				\
-		qgsnewhttpconnection.h				\
-		qgsoptions.h					\
-		qgspastetransformations.h			\
-		qgspatterndialog.h				\
-		qgspluginmanager.h				\
-		qgspluginregistry.h				\
-		qgspluginmetadata.h				\
-		qgsproject.h					\
-		qgsprojectproperties.h				\
-		qgsrasterlayerproperties.h			\
-		qgsrubberband.h					\
-		qgsrunprocess.h					\
-		qgssearchquerybuilder.h				\
-		qgsserversourceselect.h				\
-		qgssinglesymboldialog.h				\
-		qgssinglesymbolrenderer.h			\
-		qgsuniquevaluedialog.h				\
-		qgsuniquevaluerenderer.h			\
-		qgsvectorfilewriter.h				\
-		qgsvectorlayer.h			\
-		qgsvectorlayerproperties.h			\
-		qgsvertexmarker.h				\
-                ../raster/qgsrasterbandstats.h  		\
-	        ../raster/qgsrasterpyramid.h    	\
-	        ../raster/qgsrasterlayer.h      	\
-	        ../raster/qgsrasterviewport.h   	\
-		../legend/qgslegend.h			\
-		../legend/qgslegenditem.h 		\
-		../legend/qgslegendlayer.h 		\
-		../legend/qgslegendlayerfile.h 		\
-		../legend/qgslegendlayerfilegroup.h 	\
-		../legend/qgslegendpropertygroup.h 	\
-		../legend/qgslegendpropertyitem.h 	\
-		../legend/qgslegendsymbologygroup.h 	\
-		../legend/qgslegendsymbologyitem.h 	\
-		../legend/qgslegendvectorsymbologyitem.h \
-                ../composer/qgscomposer.h \
-		../composer/qgscomposeritem.h	\
-		../composer/qgscomposerlabel.h	\
-		../composer/qgscomposerpicture.h	\
-		../composer/qgscomposermap.h	\
-		../composer/qgscomposerscalebar.h	\
-		../composer/qgscomposervectorlegend.h \
-		../composer/qgscomposerview.h	\
-		../composer/qgscomposition.h \					
-                qgsdbsourceselect.h \	         
-                qgsnewconnection.h \		 
-                qgspgquerybuilder.h \           
-                qgspgutil.h #from pg lib
-
-SOURCES =					\
-                qgisapp.cpp                     \ # needed to ensure ui gets build for qgsiface
-	        qgsattributeaction.cpp		\
-		qgisiface.cpp			\
-		qgisinterface.cpp	        \
-		qgsabout.cpp		        \
-		qgsaddattrdialog.cpp		\
-		qgsattributeactiondialog.cpp	\
-		qgsattributedialog.cpp		\
-		qgsattributetable.cpp		\
-		qgsattributetabledisplay.cpp	\
-		qgsbookmarks.cpp	        \
-		qgsclipboard.cpp		\
-		qgscolorbutton.cpp		\
-		qgscontinuouscolordialog.cpp	\
-		qgscontinuouscolorrenderer.cpp	\
-		qgscursors.cpp		        \
-		qgscustomprojectiondialog.cpp	\
-		qgsdelattrdialog.cpp		\
-		qgsencodingfiledialog.cpp	\
-		qgsgeomtypedialog.cpp		\
-		qgsgraduatedsymboldialog.cpp	\
-		qgsgraduatedsymbolrenderer.cpp	\
-		qgshelpviewer.cpp		\
-		qgsidentifyresults.cpp		\
-		qgslabel.cpp			\
-		qgslabeldialog.cpp		\
-		qgslayerprojectionselector.cpp  \
-		qgslinestyledialog.cpp		\
-		qgsludialog.cpp			\
-		qgsmapcanvas.cpp		\
-		qgsmapcanvasitem.cpp		\
-		qgsmapcanvasmap.cpp		\
-		qgsmaplayer.cpp			\
-		qgsmaplayerregistry.cpp		\
-		qgsmaplayerset.cpp		\
-		qgsmapoverviewcanvas.cpp	\
-		qgsmaprender.cpp		\
-		qgsmaptool.cpp			\
-		qgsmaptoolcapture.cpp		\
-		qgsmaptoolidentify.cpp		\
-		qgsmaptoolpan.cpp		\
-		qgsmaptoolselect.cpp		\
-		qgsmaptoolvertexedit.cpp	\
-		qgsmaptoolzoom.cpp		\
-		qgsmarkerdialog.cpp		\
-		qgsmeasure.cpp			\
-		qgsmessageviewer.cpp	        \
-		qgsnewhttpconnection.cpp	\
-		qgsoptions.cpp			\
-		qgspastetransformations.cpp	\
-		qgspatterndialog.cpp		\
-		qgspluginregistry.cpp		\
-		qgspluginmanager.cpp		\
-		qgspluginmetadata.cpp		\
-		qgsproject.cpp			\
-		qgsprojectproperties.cpp	\
-		qgsrasterlayerproperties.cpp	\
-		qgsrubberband.cpp		\
-		qgsrunprocess.cpp		\
-		qgssearchquerybuilder.cpp       \
-		qgsserversourceselect.cpp	\
-		qgssinglesymboldialog.cpp	\
-		qgssinglesymbolrenderer.cpp	\
-		qgsuniquevaluedialog.cpp	\
-		qgsuniquevaluerenderer.cpp	\
-		qgsvectorfilewriter.cpp		\
-		qgsvectorlayer.cpp              \
-		qgsvectorlayerproperties.cpp	\
-		qgsvertexmarker.cpp 		\
-		../raster/qgsrasterlayer.cpp  	\
-		../legend/qgslegendgroup.cpp 	\
-		../legend/qgslegend.cpp 	\
-		../legend/qgslegenditem.cpp 	\
-		../legend/qgslegendlayer.cpp 	\
-		../legend/qgslegendlayerfile.cpp \
-		../legend/qgslegendlayerfilegroup.cpp \
-		../legend/qgslegendpropertygroup.cpp \
-		../legend/qgslegendpropertyitem.cpp \
-		../legend/qgslegendsymbologygroup.cpp \
-		../legend/qgslegendsymbologyitem.cpp \
-		../legend/qgslegendvectorsymbologyitem.cpp \
-                ../composer/qgscomposer.cpp \
-		../composer/qgscomposeritem.cpp	       \
-		../composer/qgscomposerlabel.cpp	       \
-		../composer/qgscomposerpicture.cpp	       \
-		../composer/qgscomposermap.cpp	       \
-		../composer/qgscomposerscalebar.cpp	       \
-		../composer/qgscomposervectorlegend.cpp    \
-		../composer/qgscomposerview.cpp	       \
-		../composer/qgscomposition.cpp \					
-                qgsdbsourceselect.cpp \		 
-                qgsnewconnection.cpp \	         
-                qgspgquerybuilder.cpp \         
-                qgspgutil.cpp # from pg lib
-
-

Deleted: packages/qgis/branches/upstream/current/src/gui/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,608 +0,0 @@
-/***************************************************************************
-                            main.cpp  -  description
-                              -------------------
-              begin                : Fri Jun 21 10:48:28 AKDT 2002
-              copyright            : (C) 2002 by Gary E.Sherman
-              email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: main.cpp 6683 2007-02-23 20:13:47Z timlinux $ */
-
-//qt includes
-#include <QBitmap>
-#include <QDir>
-#include <QFile>
-#include <QFileInfo>
-#include <QFont>
-#include <QMessageBox>
-#include <QPixmap>
-#include <QPixmap>
-#include <QSettings>
-#include <QSplashScreen>
-#include <QString>
-#include <QStringList> 
-#include <QStyle>
-#include <QPlastiqueStyle>
-#include <QTextCodec>
-#include <QTranslator>
-
-#include <iostream>
-#include <cstdio>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifdef WIN32
- // Open files in binary mode
- #include <fcntl.h> /*  _O_BINARY */
- #undef _fmode
- int _fmode = _O_BINARY;
-#else
- #include <getopt.h>
-#endif
-
-#ifdef Q_OS_MACX
-#include <ApplicationServices/ApplicationServices.h>
-#endif
-
-#include "qgisapp.h"
-#include "qgsapplication.h"
-#include <qgsconfig.h>
-#include <qgssvnversion.h>
-#include "qgsexception.h"
-#include "qgsproject.h"
-
-static const char * const ident_ = "$Id: main.cpp 6683 2007-02-23 20:13:47Z timlinux $";
-
-/** print usage text
- */
-void usage( std::string const & appName )
-{
-  std::cerr << "Quantum GIS - " << VERSION << " 'Simon' (" 
-            << QGSSVNVERSION << ")\n" 
-      << "Quantum GIS (QGIS) is a viewer for spatial data sets, including\n" 
-      << "raster and vector data.\n"  
-      << "Usage: " << appName <<  " [options] [FILES]\n"  
-      << "  options:\n"
-      << "\t[--snapshot filename]\temit snapshot of loaded datasets to given file\n"
-      << "\t[--lang language]\tuse language for interface text\n"
-      << "\t[--project projectfile]\tload the given QGIS project\n"
-      << "\t[--extent xmin,ymin,xmax,ymax]\tset initial map extent\n"
-      << "\t[--help]\t\tthis text\n\n"
-      << "  FILES:\n"  
-      << "    Files specified on the command line can include rasters,\n"  
-      << "    vectors, and QGIS project files (.qgs): \n"  
-      << "     1. Rasters - Supported formats include GeoTiff, DEM \n"  
-      << "        and others supported by GDAL\n"  
-      << "     2. Vectors - Supported formats include ESRI Shapefiles\n"  
-      << "        and others supported by OGR and PostgreSQL layers using\n"  
-            << "        the PostGIS extension\n"  ;
-
-} // usage()
-
-
-/////////////////////////////////////////////////////////////////
-// Command line options 'behaviour' flag setup
-////////////////////////////////////////////////////////////////
-
-// These two are global so that they can be set by the OpenDocuments
-// AppleEvent handler as well as by the main routine argv processing
-
-// This behaviour will cause QGIS to autoload a project
-static QString myProjectFileName="";
-
-// This is the 'leftover' arguments collection
-static QStringList myFileList;
-
-
-#ifdef Q_OS_MACX
-/* Mac OS OpenDocuments AppleEvent handler called when files are double-clicked.
- * May be called at startup before application is initialized as well as
- * at any time while the application is running.
- */
-short openDocumentsAEHandler(const AppleEvent *event, AppleEvent *reply, long refCon)
-{
-  AEDescList docs;
-  if (AEGetParamDesc(event, keyDirectObject, typeAEList, &docs) == noErr)
-  {
-    // Get count of files to open
-    long count = 0;
-    AECountItems(&docs, &count);
-
-    // Examine files and load first project file followed by all other non-project files
-    myProjectFileName.truncate(0);
-    myFileList.clear();
-    for (int i = 0; i < count; i++)
-    {
-      FSRef ref;
-      UInt8 strBuffer[256];
-      if (AEGetNthPtr(&docs, i + 1, typeFSRef, 0, 0, &ref, sizeof(ref), 0) == noErr &&
-          FSRefMakePath(&ref, strBuffer, 256) == noErr)
-      {
-        QString fileName(QString::fromUtf8(reinterpret_cast<char *>(strBuffer)));
-        if (fileName.endsWith(".qgs"))
-        {
-          // Load first project file and ignore all other project files
-          if (myProjectFileName.isEmpty())
-          {
-            myProjectFileName = fileName;
-          }
-        }
-        else
-        {
-           // Load all non-project files
-           myFileList.append(fileName);
-        }
-      }
-    }
-
-    // Open files now if application has been initialized
-    QgisApp *qgis = dynamic_cast<QgisApp *>(qApp->mainWidget());
-    if (qgis)
-    {
-      if (!myProjectFileName.isEmpty())
-      {
-        qgis->openProject(myProjectFileName);
-      }
-      for (QStringList::Iterator myIterator = myFileList.begin();
-           myIterator != myFileList.end(); ++myIterator ) 
-      {
-        QString fileName = *myIterator;
-        qgis->openLayer(fileName);
-      }
-    }
-  }
-  return noErr;
-}
-#endif
-
-
-/* Test to determine if this program was started on Mac OS X by double-clicking
- * the application bundle rather then from a command line. If clicked, argv[1]
- * contains a process serial number in the form -psn_0_1234567. Don't process
- * the command line arguments in this case because argv[1] confuses the processing.
- */
-bool bundleclicked(int argc, char *argv[])
-{
-  return ( argc > 1 && memcmp(argv[1], "-psn_", 5) == 0 );
-}
-
-
-/* 
- * Hook into the qWarning/qFatal mechanism so that we can channel messages
- * from libpng to the user.
- *
- * Some JPL WMS images tend to overload the libpng 1.2.2 implementation
- * somehow (especially when zoomed in)
- * and it would be useful for the user to know why their picture turned up blank
- *
- * Based on qInstallMsgHandler example code in the Qt documentation.
- *
- */
-void myMessageOutput( QtMsgType type, const char *msg )
-{
-  switch ( type ) {
-    case QtDebugMsg:
-      fprintf( stderr, "Debug: %s\n", msg );
-      break;
-    case QtWarningMsg:
-      fprintf( stderr, "Warning: %s\n", msg );
-      
-      // TODO: Verify this code in action.
-      if ( 0 == strncmp(msg, "libpng error:", 13) )
-      {
-        // Let the user know
-        QMessageBox::warning( 0, "libpng Error",
-          msg,
-          QMessageBox::Ok,
-          Qt::NoButton);
-      }
-      
-      break;
-    case QtFatalMsg:
-      fprintf( stderr, "Fatal: %s\n", msg );
-      abort();                    // deliberately core dump
-  }
-}
-
-
-int main(int argc, char *argv[])
-{
-
-  // Set up the custom qWarning/qDebug custom handler
-  qInstallMsgHandler( myMessageOutput );
-
-  /////////////////////////////////////////////////////////////////
-  // Command line options 'behaviour' flag setup
-  ////////////////////////////////////////////////////////////////
-
-  //
-  // Parse the command line arguments, looking to see if the user has asked for any 
-  // special behaviours. Any remaining non command arguments will be kept aside to
-  // be passed as a list of layers and / or a project that should be loaded.
-  //
-
-  // This behaviour is used to load the app, snapshot the map,
-  // save the image to disk and then exit
-  QString mySnapshotFileName="";
-
-  // This behaviour will set initial extent of map canvas, but only if
-  // there are no command line arguments. This gives a usable map
-  // extent when qgis starts with no layers loaded. When layers are
-  // loaded, we let the layers define the initial extent.
-  QString myInitialExtent="";
-  if (argc == 1)
-    myInitialExtent="-1,-1,1,1";
-
-  // This behaviour will allow you to force the use of a translation file
-  // which is useful for testing
-  QString myTranslationCode="";
-
-#ifndef WIN32
-  if ( !bundleclicked(argc, argv) )
-  {
-
-  //////////////////////////////////////////////////////////////// 
-  // USe the GNU Getopts utility to parse cli arguments
-  // Invokes ctor `GetOpt (int argc, char **argv,  char *optstring);'
-  ///////////////////////////////////////////////////////////////
-  int optionChar;
-  while (1)
-  {
-    static struct option long_options[] =
-    {
-    /* These options set a flag. */
-    {"help", no_argument, 0, 'h'},
-    /* These options don't set a flag.
-     *  We distinguish them by their indices. */
-    {"snapshot", required_argument, 0, 's'},
-    {"lang",     required_argument, 0, 'l'},
-    {"project",  required_argument, 0, 'p'},
-    {"extent",   required_argument, 0, 'e'},
-    {0, 0, 0, 0}
-    };
-
-    /* getopt_long stores the option index here. */
-    int option_index = 0;
-
-    optionChar = getopt_long (argc, argv, "slpe",
-        long_options, &option_index);
-
-    /* Detect the end of the options. */
-    if (optionChar == -1)
-    break;
-
-    switch (optionChar)
-    {
-    case 0:
-      /* If this option set a flag, do nothing else now. */
-      if (long_options[option_index].flag != 0)
-      break;
-      printf ("option %s", long_options[option_index].name);
-      if (optarg)
-      printf (" with arg %s", optarg);
-      printf ("\n");
-      break;
-
-    case 's':
-      mySnapshotFileName = QDir::convertSeparators(QFileInfo(QFile::decodeName(optarg)).absFilePath());
-      break;
-
-    case 'l':
-      myTranslationCode = optarg;
-      break;
-
-    case 'p':
-      myProjectFileName = QDir::convertSeparators(QFileInfo(QFile::decodeName(optarg)).absFilePath());
-      break;
-
-    case 'e':
-      myInitialExtent = optarg;
-      break;
-      
-    case 'h':
-    case '?':
-      usage( argv[0] );
-      return 2;   // XXX need standard exit codes
-      break;
-
-    default:
-      std::cerr << argv[0] << ": getopt returned character code " << optionChar << "\n";
-      return 1;   // XXX need standard exit codes
-    }
-  }
-
-  // Add any remaining args to the file list - we will attempt to load them 
-  // as layers in the map view further down....
-#ifdef QGISDEBUG
-  std::cout << "Files specified on command line: " << optind << std::endl;
-#endif
-  if (optind < argc)
-  {
-    while (optind < argc)
-    {
-#ifdef QGISDEBUG
-    int idx = optind;
-    std::cout << idx << ": " << argv[idx] << std::endl;
-#endif
-    myFileList.append(QDir::convertSeparators(QFileInfo(QFile::decodeName(argv[optind++])).absFilePath()));
-    }
-  }
-  }
-#endif //WIN32
-
-  /////////////////////////////////////////////////////////////////////
-  // Now we have the handlers for the different behaviours...
-  ////////////////////////////////////////////////////////////////////
-
-  /////////////////////////////////////////////////////////////////////
-  // Initialise the application and the translation stuff
-  /////////////////////////////////////////////////////////////////////
-
-#ifdef Q_WS_X11
-  bool myUseGuiFlag = getenv( "DISPLAY" ) != 0;
-#else
-  bool myUseGuiFlag = TRUE;
-#endif
-  if (!myUseGuiFlag) 
-  {
-    std::cerr << "QGIS starting in non-interactive mode not supported.\n You are seeing this message most likely because you have no DISPLAY environment variable set." << std::endl;
-    exit(1); //exit for now until a version of qgis is capabable of running non interactive
-  }
-  QgsApplication a(argc, argv, myUseGuiFlag );
-  //  
-  // Set up the QSettings environment must be done after qapp is created
-  QCoreApplication::setOrganizationName("QuantumGIS");
-  QCoreApplication::setOrganizationDomain("qgis.org");
-  QCoreApplication::setApplicationName("qgis");
-
-  //
-  // ensure that the plugins dir (qt plugins) is in qt search path
-  //
-  QApplication::addLibraryPath(QApplication::applicationDirPath()+QDir::separator()+"plugins");
-
-#ifdef Q_OS_MACX
-  // Install OpenDocuments AppleEvent handler after application object is initialized
-  // but before any other event handling (including dialogs or splash screens) occurs.
-  // If an OpenDocuments event has been created before the application was launched,
-  // it must be handled before some other event handler runs and dismisses it as unknown.
-  // If run at startup, the handler will set either or both of myProjectFileName and myFileList.
-  AEInstallEventHandler(kCoreEventClass, kAEOpenDocuments, openDocumentsAEHandler, 0, false);
-
-  // If the GDAL plugins are bundled with the application and GDAL_DRIVER_PATH
-  // is not already defined, use the GDAL plugins in the application bundle.
-  QString gdalPlugins(QCoreApplication::applicationDirPath().append("/lib/gdalplugins"));
-  if (QFile::exists(gdalPlugins) && !getenv("GDAL_DRIVER_PATH"))
-  {
-    setenv("GDAL_DRIVER_PATH", gdalPlugins, 1);
-  }
-#endif
-
-  // Check to see if qgis was started from the source directory. 
-  // This is done by looking for a particular file in the directory 
-  // where qgis was started from. If running from the src directory, 
-  // exit gracefully
-  QString appPath = qApp->applicationFilePath();
-  QString appDir = qApp->applicationDirPath();
-  QString testFile = "libqgis_gui.la";
-
-#ifdef Q_WS_WIN
-  //for windows lets use plastique syle!
-  QApplication::setStyle(new QPlastiqueStyle);
-#endif
-
-  if(appPath.contains("/src/"))
-  {
-    // check to see if configure is present in the directory
-    
-    QFileInfo fi(appDir + "/" + testFile);
-    if(fi.exists())
-    {
-      QMessageBox::critical(0,"QGIS Not Installed",
-          "You appear to be running QGIS from the source directory.\n"
-          "You must install QGIS using make install and run it from the "
-          "installed directory.");
-      exit(1);
-    }
-  }
-
-  
-  // a.setFont(QFont("helvetica", 11));
-
-  QString i18nPath = QgsApplication::i18nPath();
-  if (myTranslationCode.isEmpty())
-  {
-    myTranslationCode = QTextCodec::locale();
-  }
-#ifdef QGISDEBUG
-  std::cout << "Setting translation to "
-    << i18nPath.toLocal8Bit().data() << "/qgis_" << myTranslationCode.toLocal8Bit().data() << std::endl;
-#endif
-
-  /* Translation file for Qt.
-   * The strings from the QMenuBar context section are used by Qt/Mac to shift
-   * the About, Preferences and Quit items to the Mac Application menu.
-   * These items must be translated identically in both qt_ and qgis_ files.
-   */
-  QTranslator qttor(0);
-  if (qttor.load(QString("qt_") + myTranslationCode, i18nPath))
-  {
-    a.installTranslator(&qttor);
-  }
-
-  /* Translation file for QGIS.
-   */
-  QTranslator qgistor(0);
-  if (qgistor.load(QString("qgis_") + myTranslationCode, i18nPath))
-  {
-    a.installTranslator(&qgistor);
-  }
-
-  //set up splash screen 
-  QString mySplashPath(QgsApplication::splashPath());
-  QPixmap myPixmap(mySplashPath+QString("splash.png"));
-  QSplashScreen *mypSplash = new QSplashScreen(myPixmap);
-  QSettings mySettings;
-  if (mySettings.value("/qgis/hideSplash").toBool())
-  {
-    //splash screen hidden
-  }
-  else
-  {
-#ifdef Q_OS_MACX
-    //on mac automasking as done below does not work (as of qt 4.2.1)
-    //so we do it the old way see bug #387
-    qDebug("setting mask for mac");
-    QPixmap myMaskPixmap(mySplashPath+QString("splash_mask.png"), 0, Qt::ThresholdDither | Qt::ThresholdAlphaDither | Qt::AvoidDither ); 
-    mypSplash->setMask( myMaskPixmap.createHeuristicMask() ); 
-#else
-    //for win and linux we can just automask and png transparency areas will be used
-    mypSplash->setMask( myPixmap.mask() );
-#endif
-    mypSplash->show();
-  }
-
-
-
-
-  QgisApp *qgis = new QgisApp(mypSplash); // "QgisApp" used to find canonical instance
-  qgis->setName( "QgisApp" );
-  
-
-  /////////////////////////////////////////////////////////////////////
-  // If no --project was specified, parse the args to look for a     //
-  // .qgs file and set myProjectFileName to it. This allows loading  //
-  // of a project file by clicking on it in various desktop managers //
-  // where an appropriate mime-type has been set up.                 //
-  /////////////////////////////////////////////////////////////////////
-  if(myProjectFileName.isEmpty())
-  {
-    // check for a .qgs
-    for(int i = 0; i < argc; i++)
-    {
-      QString arg = QDir::convertSeparators(QFileInfo(QFile::decodeName(argv[i])).absFilePath());
-      if(arg.contains(".qgs"))
-      {
-        myProjectFileName = arg;
-        break;
-      }
-    }
-  }
-
-  /////////////////////////////////////////////////////////////////////
-  // Load a project file if one was specified
-  /////////////////////////////////////////////////////////////////////
-  if( ! myProjectFileName.isEmpty() )
-  {
-    qgis->openProject(myProjectFileName);
-  }
-
-
-  /////////////////////////////////////////////////////////////////////
-  // autoload any filenames that were passed in on the command line
-  /////////////////////////////////////////////////////////////////////
-#ifdef QGISDEBUG
-  std::cout << "Number of files in myFileList: " << myFileList.count() << std::endl;
-#endif
-  for ( QStringList::Iterator myIterator = myFileList.begin(); myIterator != myFileList.end(); ++myIterator ) 
-  {
-
-
-#ifdef QGISDEBUG
-    std::cout << "Trying to load file : " << (*myIterator).toLocal8Bit().data() << std::endl;
-#endif
-    QString myLayerName = *myIterator;
-    // don't load anything with a .qgs extension - these are project files
-    if(!myLayerName.contains(".qgs"))
-    {
-      qgis->openLayer(myLayerName);
-    }
-  }
-
-
-  /////////////////////////////////////////////////////////////////////
-  // Set initial extent if requested
-  /////////////////////////////////////////////////////////////////////
-  if ( ! myInitialExtent.isEmpty() )
-  {
-    double coords[4];
-    int pos, posOld = 0;
-    bool ok;
-
-    // XXX is it necessary to switch to "C" locale?
-    
-    // parse values from string
-    // extent is defined by string "xmin,ymin,xmax,ymax"
-    for (int i = 0; i < 3; i++)
-    {
-      // find comma and get coordinate
-      pos = myInitialExtent.find(',', posOld);
-      if (pos == -1) {
-        ok = false; break;
-      }
-
-      coords[i] = QString( myInitialExtent.mid(posOld, pos - posOld) ).toDouble(&ok);
-      if (!ok)
-        break;
-      
-      posOld = pos+1;
-    }
-  
-    // parse last coordinate
-    if (ok)
-      coords[3] = QString( myInitialExtent.mid(posOld) ).toDouble(&ok);
-    
-    if (!ok)
-       std::cout << "Error while parsing initial extent!" << std::endl;
-    else
-    {
-       // set extent from parsed values
-       QgsRect rect(coords[0],coords[1],coords[2],coords[3]);
-       qgis->setExtent(rect);
-    }
-  }
- 
-  /////////////////////////////////////////////////////////////////////
-  // Take a snapshot of the map view then exit if snapshot mode requested
-  /////////////////////////////////////////////////////////////////////
-  if(mySnapshotFileName!="")
-  {
-
-    /*You must have at least one paintEvent() delivered for the window to be
-      rendered properly.
-
-      It looks like you don't run the event loop in non-interactive mode, so the
-      event is never occuring.
-
-      To achieve this without runing the event loop: show the window, then call
-      qApp->processEvents(), grab the pixmap, save it, hide the window and exit.
-      */
-    //qgis->show();
-    a.processEvents();
-    QPixmap * myQPixmap = new QPixmap(800,600);
-    myQPixmap->fill();
-    qgis->saveMapAsImage(mySnapshotFileName,myQPixmap);
-    a.processEvents();
-    qgis->hide();
-    return 1;
-  }
-
-
-  /////////////////////////////////////////////////////////////////////
-  // Continue on to interactive gui...
-  /////////////////////////////////////////////////////////////////////
-  qgis->show();
-  a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
-
-  mypSplash->finish(qgis);
-  delete mypSplash;
-  return a.exec();
-
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgis.ico
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/src/gui/qgis_win32.rc
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgis_win32.rc	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgis_win32.rc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1 +0,0 @@
-IDI_ICON1               ICON    DISCARDABLE     "qgis.ico"

Deleted: packages/qgis/branches/upstream/current/src/gui/qgisapp.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisapp.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisapp.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5359 +0,0 @@
-/***************************************************************************
-  qgisapp.cpp  -  description
-  -------------------
-
-           begin                : Sat Jun 22 2002
-           copyright            : (C) 2002 by Gary E.Sherman
-           email                : sherman at mrcc.com
-           Romans 3:23=>Romans 6:23=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgisapp.cpp 7019 2007-06-11 03:55:32Z timlinux $ */
-
-//
-// QT4 includes make sure to use the new <CamelCase> style!
-//
-#include <Q3ListViewItem>
-#include <QAction>
-#include <QApplication>
-#include <QBitmap>
-#include <QCheckBox>
-#include <QClipboard>
-#include <QColor>
-#include <QCursor>
-#include <QDesktopWidget>
-#include <QDialog>
-#include <QDir>
-#include <QEvent>
-#include <QFile>
-#include <QFileInfo>
-#include <QInputDialog>
-#include <QKeyEvent>
-#include <QLabel>
-#include <QLibrary>
-#include <QMenu>
-#include <QMenuBar>
-#include <QMenuItem>
-#include <QMessageBox>
-#include <QPainter>
-#include <QPictureIO>
-#include <QPixmap>
-#include <QPoint>
-#include <QPrinter>
-#include <QProcess>
-#include <QProgressBar>
-#include <QSettings>
-#include <QSplashScreen>
-#include <QStatusBar>
-#include <QStringList>
-#include <QTcpSocket>
-#include <QTextStream>
-#include <QToolButton>
-#include <QToolTip>
-#include <QVBoxLayout>
-#include <QWhatsThis>
-#include <QtGlobal>
-
-//
-// Mac OS X Includes
-// Must include before GEOS 3 due to unqualified use of 'Point'
-//
-#ifdef Q_OS_MACX
-#include <ApplicationServices/ApplicationServices.h>
-#endif
-
-//
-// QGIS Specific Includes
-//
-#include "../../images/themes/default/qgis.xpm"
-#include "qgisapp.h"
-#include "qgis.h"
-#include "qgisplugin.h"
-#include "qgsabout.h"
-#include "qgsapplication.h"
-#include "qgsbookmarkitem.h"
-#include "qgsbookmarks.h"
-#include "qgscomposer.h"
-#include <qgscursors.h>
-#include "qgscustomprojectiondialog.h"
-#include "qgsencodingfiledialog.h"
-#include "qgsgeomtypedialog.h"
-#include "qgshelpviewer.h"
-#include "qgslegend.h"
-#include "qgslegendlayerfile.h"
-#include "qgslegendlayer.h"
-#include "qgslogger.h"
-#include "qgsmapcanvas.h"
-#include "qgsmaplayer.h"
-#include "qgsmaplayerinterface.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsmapoverviewcanvas.h"
-#include "qgsmaprender.h"
-#include "qgsmessageviewer.h"
-#include "qgsoptions.h"
-#include "qgspastetransformations.h"
-#include "qgspluginitem.h"
-#include "qgspluginmanager.h"
-#include "qgspluginregistry.h"
-#include "qgsproject.h"
-#include "qgsprojectproperties.h"
-#include "qgsproviderregistry.h"
-#include "qgsrasterlayer.h"
-#include "qgsrasterlayerproperties.h"
-#include "qgsrect.h"
-#include "qgsserversourceselect.h"
-#include "qgssinglesymbolrenderer.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorfilewriter.h"
-#include "qgsvectorlayer.h"
-
-//
-// Gdal/Ogr includes
-//
-#include <ogrsf_frmts.h>
-
-//
-// Other includes
-//
-#include <algorithm>
-#include <cmath>
-#include <functional>
-#include <iomanip>
-#include <iostream>
-#include <list>
-#include <memory>
-#include <vector>
-
-//
-// Map tools
-//
-#include "qgsmaptoolcapture.h"
-#include "qgsmaptoolidentify.h"
-#include "qgsmaptoolpan.h"
-#include "qgsmaptoolselect.h"
-#include "qgsmaptoolvertexedit.h"
-#include "qgsmaptoolzoom.h"
-#include "qgsmeasure.h"
-
-//
-// Conditional Includes
-//
-#ifdef HAVE_POSTGRESQL
-#include "qgsdbsourceselect.h"
-#endif
-
-#ifndef WIN32
-#include <dlfcn.h>
-#endif
-
-using namespace std;
-class QTreeWidgetItem;
-
-/* typedefs for plugins */
-typedef QgsMapLayerInterface *create_it();
-typedef QgisPlugin *create_ui(QgisApp * qgis, QgisIface * qI);
-typedef QString name_t();
-typedef QString description_t();
-typedef int type_t();
-
-// IDs for locating particular menu items
-const int BEFORE_RECENT_PATHS = 123;
-const int AFTER_RECENT_PATHS = 321;
-
-
-/// build the vector file filter string for a QFileDialog
-/*
-   called in ctor for initializing mVectorFileFilter
-   */
-static void buildSupportedVectorFileFilter_(QString & fileFilters);
-
-
-/** set the application title bar text
-
-  If the current project title is null
-  if the project file is null then
-  set title text to just application name and version
-  else
-  set set title text to the the project file name
-  else
-  set the title text to project title
-  */
-static void setTitleBarText_( QWidget & qgisApp )
-{
-  QString caption = QgisApp::tr("Quantum GIS - ");
-  caption += QString("%1 ('%2') ").arg(QGis::qgisVersion).arg(QGis::qgisReleaseName) + " ";
-
-  if ( QgsProject::instance()->title().isEmpty() )
-  {
-    if ( QgsProject::instance()->filename().isEmpty() )
-    {
-      // no project title nor file name, so just leave caption with
-      // application name and version
-    }
-    else
-    {
-      QFileInfo projectFileInfo( QgsProject::instance()->filename() );
-      caption += projectFileInfo.baseName();
-    }
-  }
-  else
-  {
-    caption += QgsProject::instance()->title();
-  }
-
-  qgisApp.setCaption( caption );
-} // setTitleBarText_( QWidget * qgisApp )
-
-
-
-
-// constructor starts here
-  QgisApp::QgisApp(QSplashScreen *splash, QWidget * parent, Qt::WFlags fl)
-: QMainWindow(parent,fl),
-  mSplash(splash)
-{
-  setupUi(this);
-
-  mSplash->showMessage(tr("Checking database"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  // Do this early on before anyone else opens it and prevents us copying it
-  createDB();    
-
-  mSplash->showMessage(tr("Reading settings"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  readSettings();
-  mSplash->showMessage(tr("Setting up the GUI"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  createActions();
-  createActionGroups();
-  createMenus();
-  createToolBars();
-  createStatusBar();
-  setTheme(mThemeName);
-  updateRecentProjectPaths();
-  createCanvas();
-  createOverview();
-  createLegend();
-
-  fileNew(); // prepare empty project
-  qApp->processEvents();
-
-  // register all GDAL and OGR plug-ins
-  // Should this be here? isnt it the job of the provider? Tim
-  OGRRegisterAll();
-
-  QPixmap icon;
-  icon = QPixmap(qgis_xpm);
-  setIcon(icon);
-  // store startup location
-  QDir *d = new QDir();
-  mStartupPath = d->absPath();
-  delete d;
-  QBitmap zoomincur;
-  //  zoomincur = QBitmap(cursorzoomin);
-  QBitmap zoomincurmask;
-  //  zoomincurmask = QBitmap(cursorzoomin_mask);
-  QString caption = tr("Quantum GIS - ");
-  caption += QString("%1 ('%2')").arg(QGis::qgisVersion).arg(QGis::qgisReleaseName);
-  setCaption(caption);
-  // create the interfce
-  mQgisInterface = new QgisIface(this);
-
-
-  //
-  // Create the plugin registry and load plugins
-  //
-  // Get pointer to the provider registry singleton
-  QString plib = QgsApplication::pluginPath();
-  // set the provider plugin path
-  mProviderRegistry = QgsProviderRegistry::instance(plib);
-#ifdef QGISDEBUG
-  std::cout << "Plugins and providers are installed in " << plib.toLocal8Bit().data() << std::endl;
-#endif
-  // load any plugins that were running in the last session
-  mSplash->showMessage(tr("Restoring loaded plugins"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  restoreSessionPlugins(plib);
-
-  /* Delete this I think - Tim - FIXME 
-  //
-  // Create the map layer registry. Any layers loaded will
-  // register themselves here. Deleting layers shouls ONLY
-  // be done by means of a removeMapLayer call to the regsitry.
-  // This allows a single layer instance to be shared
-  // between more than one canvas. The registry is a singleton
-  // and is constructed using the static instance call.
-
-  // syntactic sugar shortcut for instance handle
-  //QgsMapLayerRegistry * mapLayerRegistry = QgsMapLayerRegistry::instance();
-  */
-
-  // Map composer
-  mComposer = new QgsComposer(this);
-
-  mSplash->showMessage(tr("Initializing file filters"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  // now build vector file filter
-  buildSupportedVectorFileFilter_( mVectorFileFilter );
-
-  // now build raster file filter
-  QgsRasterLayer::buildSupportedRasterFileFilter( mRasterFileFilter );
-  
-  // Set the background colour for toolbox and overview as they default to 
-  // white instead of the window color
-  QPalette myPalette = toolBox->palette();
-  myPalette.setColor(QPalette::Button, myPalette.window().color());
-  toolBox->setPalette(myPalette);
-  //do the same for legend control
-  myPalette = toolBox->palette();
-  myPalette.setColor(QPalette::Button, myPalette.window().color());
-  mMapLegend->setPalette(myPalette);
-  //and for overview control this is done in createOverView method
-  
-  // Do this last in the ctor to ensure that all members are instantiated properly
-  setupConnections();
-  //
-  // Please make sure this is the last thing the ctor does so that we can ensure teh 
-  // widgets are all initialised before trying to restore their state.
-  //
-  mSplash->showMessage(tr("Restoring window state"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-  restoreWindowState();
-
-  mSplash->showMessage(tr("QGIS Ready!"), Qt::AlignHCenter | Qt::AlignBottom);
-  qApp->processEvents();
-} // QgisApp ctor
-
-
-
-QgisApp::~QgisApp()
-{
-  delete mMapTools.mZoomIn;
-  delete mMapTools.mZoomOut;
-  delete mMapTools.mPan;
-  delete mMapTools.mIdentify;
-  delete mMapTools.mMeasureDist;
-  delete mMapTools.mMeasureArea;
-  delete mMapTools.mCapturePoint;
-  delete mMapTools.mCaptureLine;
-  delete mMapTools.mCapturePolygon;
-  delete mMapTools.mSelect;
-  delete mMapTools.mVertexAdd;
-  delete mMapTools.mVertexMove;
-  delete mMapTools.mVertexDelete;
-}
-
-// restore any application settings stored in QSettings
-void QgisApp::readSettings()
-{
-  // get the application dir
-  mAppDir = QgsApplication::prefixPath();
-
-  QSettings settings;
-  // get the users theme preference from the settings
-  mThemeName = settings.readEntry("/Themes","default");
-
-
-  // Set the initial visibility flag for layers
-  // This user option allows the user to turn off inital drawing of
-  // layers when they are added to the map. This is useful when adding
-  // many layers and the user wants to adjusty symbology, etc prior to
-  // actually viewing the layer.
-  mAddedLayersVisible = settings.readBoolEntry("/qgis/new_layers_visible", 1);
-
-  // Add the recently accessed project file paths to the File menu
-  mRecentProjectPaths = settings.readListEntry("/UI/recentProjectsList");
-
-  // Set the behaviour when the map splitters are resized
-  bool splitterRedraw = settings.value("/qgis/splitterRedraw", true).toBool();
-  canvasLegendSplit->setOpaqueResize(splitterRedraw);
-  legendOverviewSplit->setOpaqueResize(splitterRedraw);
-}
-
-
-//////////////////////////////////////////////////////////////////////
-//            Set Up the gui toolbars, menus, statusbar etc 
-//////////////////////////////////////////////////////////////////////            
-
-void QgisApp::createActions()
-{
-  QString myIconPath = QgsApplication::themePath();
-  //
-  // File Menu Related Items
-  //
-  mActionFileNew= new QAction(QIcon(myIconPath+"/mActionFileNew.png"), tr("&New Project"), this);
-  mActionFileNew->setShortcut(tr("Ctrl+N","New Project"));
-  mActionFileNew->setStatusTip(tr("New Project"));
-  connect(mActionFileNew, SIGNAL(triggered()), this, SLOT(fileNew()));
-  //
-  mActionFileOpen= new QAction(QIcon(myIconPath+"/mActionFileOpen.png"), tr("&Open Project..."), this);
-  mActionFileOpen->setShortcut(tr("Ctrl+O","Open a Project"));
-  mActionFileOpen->setStatusTip(tr("Open a Project"));
-  connect(mActionFileOpen, SIGNAL(triggered()), this, SLOT(fileOpen()));
-  //
-  mActionFileSave= new QAction(QIcon(myIconPath+"/mActionFileSave.png"), tr("&Save Project"), this);
-  mActionFileSave->setShortcut(tr("Ctrl+S","Save Project"));
-  mActionFileSave->setStatusTip(tr("Save Project"));
-  connect(mActionFileSave, SIGNAL(triggered()), this, SLOT(fileSave()));
-  //
-  mActionFileSaveAs= new QAction(QIcon(myIconPath+"/mActionFileSaveAs.png"), tr("Save Project &As..."), this);
-  mActionFileSaveAs->setShortcut(tr("Ctrl+A","Save Project under a new name"));
-  mActionFileSaveAs->setStatusTip(tr("Save Project under a new name"));
-  connect(mActionFileSaveAs, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
-  //
-  mActionFilePrint= new QAction(QIcon(myIconPath+"/mActionFilePrint.png"), tr("&Print..."), this);
-  mActionFilePrint->setShortcut(tr("Ctrl+P","Print"));
-  mActionFilePrint->setStatusTip(tr("Print"));
-  connect(mActionFilePrint, SIGNAL(triggered()), this, SLOT(filePrint()));
-  //
-  mActionSaveMapAsImage= new QAction(QIcon(myIconPath+"/mActionSaveMapAsImage.png"), tr("Save as Image..."), this);
-  mActionSaveMapAsImage->setShortcut(tr("Ctrl+I","Save map as image"));
-  mActionSaveMapAsImage->setStatusTip(tr("Save map as image"));
-  connect(mActionSaveMapAsImage, SIGNAL(triggered()), this, SLOT(saveMapAsImage()));
-  //
-  mActionExportMapServer= new QAction(QIcon(myIconPath+"/mActionExportMapServer.png"), tr("Export to MapServer Map..."), this);
-  mActionExportMapServer->setShortcut(tr("M","Export as MapServer .map file"));
-  mActionExportMapServer->setStatusTip(tr("Export as MapServer .map file"));
-  connect(mActionExportMapServer, SIGNAL(triggered()), this, SLOT(exportMapServer()));
-  //
-  mActionFileExit= new QAction(QIcon(myIconPath+"/mActionFileExit.png"), tr("Exit"), this);
-  mActionFileExit->setShortcut(tr("Ctrl+Q","Exit QGIS"));
-  mActionFileExit->setStatusTip(tr("Exit QGIS"));
-  connect(mActionFileExit, SIGNAL(triggered()), this, SLOT(fileExit()));
-  //
-  // Layer Menu Related Items
-  //
-  mActionAddNonDbLayer= new QAction(QIcon(myIconPath+"/mActionAddNonDbLayer.png"), tr("Add a Vector Layer..."), this);
-  mActionAddNonDbLayer->setShortcut(tr("V","Add a Vector Layer"));
-  mActionAddNonDbLayer->setStatusTip(tr("Add a Vector Layer"));
-  connect(mActionAddNonDbLayer, SIGNAL(triggered()), this, SLOT(addLayer()));
-  //
-  mActionAddRasterLayer= new QAction(QIcon(myIconPath+"/mActionAddRasterLayer.png"), tr("Add a Raster Layer..."), this);
-  mActionAddRasterLayer->setShortcut(tr("R","Add a Raster Layer"));
-  mActionAddRasterLayer->setStatusTip(tr("Add a Raster Layer"));
-  connect(mActionAddRasterLayer, SIGNAL(triggered()), this, SLOT(addRasterLayer()));
-  //
-  mActionAddLayer= new QAction(QIcon(myIconPath+"/mActionAddLayer.png"), tr("Add a PostGIS Layer..."), this);
-  mActionAddLayer->setShortcut(tr("D","Add a PostGIS Layer"));
-  mActionAddLayer->setStatusTip(tr("Add a PostGIS Layer"));
-//#ifdef HAVE_POSTGRESQL
-//  std::cout << "HAVE_POSTGRESQL is defined" << std::endl; 
-//  assert(0);
-//#else
-//  std::cout << "HAVE_POSTGRESQL not defined" << std::endl; 
-//  assert(0);
-//#endif
-  connect(mActionAddLayer, SIGNAL(triggered()), this, SLOT(addDatabaseLayer()));
-  //
-  mActionNewVectorLayer= new QAction(QIcon(myIconPath+"/mActionNewVectorLayer.png"), tr("New Vector Layer..."), this);
-  mActionNewVectorLayer->setShortcut(tr("N","Create a New Vector Layer"));
-  mActionNewVectorLayer->setStatusTip(tr("Create a New Vector Layer"));
-  connect(mActionNewVectorLayer, SIGNAL(triggered()), this, SLOT(newVectorLayer()));
-  //
-  mActionRemoveLayer= new QAction(QIcon(myIconPath+"/mActionRemoveLayer.png"), tr("Remove Layer"), this);
-  mActionRemoveLayer->setShortcut(tr("Ctrl+D","Remove a Layer"));
-  mActionRemoveLayer->setStatusTip(tr("Remove a Layer"));
-  connect(mActionRemoveLayer, SIGNAL(triggered()), this, SLOT(removeLayer()));
-  //
-  mActionAddAllToOverview= new QAction(QIcon(myIconPath+"/mActionAddAllToOverview.png"), tr("Add All To Overview"), this);
-  mActionAddAllToOverview->setShortcut(tr("+","Show all layers in the overview map"));
-  mActionAddAllToOverview->setStatusTip(tr("Show all layers in the overview map"));
-  connect(mActionAddAllToOverview, SIGNAL(triggered()), this, SLOT(addAllToOverview()));
-  //
-  mActionRemoveAllFromOverview= new QAction(QIcon(myIconPath+"/mActionRemoveAllFromOverview.png"), tr("Remove All From Overview"), this);
-  mActionRemoveAllFromOverview->setShortcut(tr("-","Remove all layers from overview map"));
-  mActionRemoveAllFromOverview->setStatusTip(tr("Remove all layers from overview map"));
-  connect(mActionRemoveAllFromOverview, SIGNAL(triggered()), this, SLOT(removeAllFromOverview()));
-  //
-  mActionShowAllLayers= new QAction(QIcon(myIconPath+"/mActionShowAllLayers.png"), tr("Show All Layers"), this);
-  mActionShowAllLayers->setShortcut(tr("S","Show all layers"));
-  mActionShowAllLayers->setStatusTip(tr("Show all layers"));
-  connect(mActionShowAllLayers, SIGNAL(triggered()), this, SLOT(showAllLayers()));
-  //
-  mActionHideAllLayers= new QAction(QIcon(myIconPath+"/mActionHideAllLayers.png"), tr("Hide All Layers"), this);
-  mActionHideAllLayers->setShortcut(tr("H","Hide all layers"));
-  mActionHideAllLayers->setStatusTip(tr("Hide all layers"));
-  connect(mActionHideAllLayers, SIGNAL(triggered()), this, SLOT(hideAllLayers()));
-  //
-  // Settings Menu Related Items
-  //
-  mActionProjectProperties= new QAction(QIcon(myIconPath+"/mActionProjectProperties.png"), tr("Project Properties..."), this);
-  mActionProjectProperties->setShortcut(tr("P","Set project properties"));
-  mActionProjectProperties->setStatusTip(tr("Set project properties"));
-  connect(mActionProjectProperties, SIGNAL(triggered()), this, SLOT(projectProperties()));
-  //
-  mActionOptions= new QAction(QIcon(myIconPath+"/mActionOptions.png"), tr("Options..."), this);
-  // mActionOptions->setShortcut(tr("Alt+O","Change various QGIS options"));
-  mActionOptions->setStatusTip(tr("Change various QGIS options"));
-  connect(mActionOptions, SIGNAL(triggered()), this, SLOT(options()));
-  //
-  mActionCustomProjection= new QAction(QIcon(myIconPath+"/mActionCustomProjection.png"), tr("Custom Projection..."), this);
-  // mActionCustomProjection->setShortcut(tr("Alt+I","Manage custom projections"));
-  mActionCustomProjection->setStatusTip(tr("Manage custom projections"));
-  connect(mActionCustomProjection, SIGNAL(triggered()), this, SLOT(customProjection()));
-  //
-  // Help Menu Related items
-  //
-  mActionHelpContents= new QAction(QIcon(myIconPath+"/mActionHelpContents.png"), tr("Help Contents"), this);
-#ifdef Q_WS_MAC
-  mActionHelpContents->setShortcut(tr("Ctrl+?","Help Documentation (Mac)"));
-#else
-  mActionHelpContents->setShortcut(tr("F1","Help Documentation"));
-#endif
-  mActionHelpContents->setStatusTip(tr("Help Documentation"));
-  connect(mActionHelpContents, SIGNAL(triggered()), this, SLOT(helpContents()));
-  //
-  mActionQgisHomePage= new QAction(QIcon(myIconPath+"/mActionQgisHomePage.png"), tr("Qgis Home Page"), this);
-#ifndef Q_WS_MAC
-  mActionQgisHomePage->setShortcut(tr("Ctrl+H","QGIS Home Page"));
-#endif
-  mActionQgisHomePage->setStatusTip(tr("QGIS Home Page"));
-  connect(mActionQgisHomePage, SIGNAL(triggered()), this, SLOT(helpQgisHomePage()));
-  //
-  mActionHelpAbout= new QAction(QIcon(myIconPath+"/mActionHelpAbout.png"), tr("About"), this);
-  mActionHelpAbout->setStatusTip(tr("About QGIS"));
-  connect(mActionHelpAbout, SIGNAL(triggered()), this, SLOT(about()));
-  //
-  mActionCheckQgisVersion= new QAction(QIcon(myIconPath+"/mActionCheckQgisVersion.png"), tr("Check Qgis Version"), this);
-  mActionCheckQgisVersion->setStatusTip(tr("Check if your QGIS version is up to date (requires internet access)"));
-  connect(mActionCheckQgisVersion, SIGNAL(triggered()), this, SLOT(checkQgisVersion()));
-  // 
-  // View Menu Items
-  //
-  mActionDraw= new QAction(QIcon(myIconPath+"/mActionDraw.png"), tr("Refresh"), this);
-  mActionDraw->setShortcut(tr("Ctrl+R","Refresh Map"));
-  mActionDraw->setStatusTip(tr("Refresh Map"));
-  connect(mActionDraw, SIGNAL(triggered()), this, SLOT(refreshMapCanvas()));
-  //
-  mActionZoomIn= new QAction(QIcon(myIconPath+"/mActionZoomIn.png"), tr("Zoom In"), this);
-  mActionZoomIn->setShortcut(tr("Ctrl++","Zoom In"));
-  mActionZoomIn->setStatusTip(tr("Zoom In"));
-  connect(mActionZoomIn, SIGNAL(triggered()), this, SLOT(zoomIn()));
-  //
-  mActionZoomOut= new QAction(QIcon(myIconPath+"/mActionZoomOut.png"), tr("Zoom Out"), this);
-  mActionZoomOut->setShortcut(tr("Ctrl+-","Zoom Out"));
-  mActionZoomOut->setStatusTip(tr("Zoom Out"));
-  connect(mActionZoomOut, SIGNAL(triggered()), this, SLOT(zoomOut()));
-  //
-  mActionZoomFullExtent= new QAction(QIcon(myIconPath+"/mActionZoomFullExtent.png"), tr("Zoom Full"), this);
-  mActionZoomFullExtent->setShortcut(tr("F","Zoom to Full Extents"));
-  mActionZoomFullExtent->setStatusTip(tr("Zoom to Full Extents"));
-  connect(mActionZoomFullExtent, SIGNAL(triggered()), this, SLOT(zoomFull()));
-  //
-  mActionZoomToSelected= new QAction(QIcon(myIconPath+"/mActionZoomToSelected.png"), tr("Zoom To Selection"), this);
-  mActionZoomToSelected->setShortcut(tr("Ctrl+F","Zoom to selection"));
-  mActionZoomToSelected->setStatusTip(tr("Zoom to selection"));
-  connect(mActionZoomToSelected, SIGNAL(triggered()), this, SLOT(zoomToSelected()));
-  //
-  mActionPan= new QAction(QIcon(myIconPath+"/mActionPan.png"), tr("Pan Map"), this);
-  mActionPan->setStatusTip(tr("Pan the map"));
-  connect(mActionPan, SIGNAL(triggered()), this, SLOT(pan()));
-  //
-  mActionZoomLast= new QAction(QIcon(myIconPath+"/mActionZoomLast.png"), tr("Zoom Last"), this);
-  //mActionZoomLast->setShortcut(tr("Ctrl+O","Zoom to Last Extent"));
-  mActionZoomLast->setStatusTip(tr("Zoom to Last Extent"));
-  connect(mActionZoomLast, SIGNAL(triggered()), this, SLOT(zoomPrevious()));
-  //
-  mActionZoomToLayer= new QAction(QIcon(myIconPath+"/mActionZoomToLayer.png"), tr("Zoom To Layer"), this);
-  //mActionZoomToLayer->setShortcut(tr("Ctrl+O","Zoom to Layer"));
-  mActionZoomToLayer->setStatusTip(tr("Zoom to Layer"));
-  connect(mActionZoomToLayer, SIGNAL(triggered()), this, SLOT(zoomToLayerExtent()));
-  //
-  mActionIdentify= new QAction(QIcon(myIconPath+"/mActionIdentify.png"), tr("Identify Features"), this);
-  mActionIdentify->setShortcut(tr("I","Click on features to identify them"));
-  mActionIdentify->setStatusTip(tr("Click on features to identify them"));
-  connect(mActionIdentify, SIGNAL(triggered()), this, SLOT(identify()));
-  //
-  mActionSelect= new QAction(QIcon(myIconPath+"/mActionSelect.png"), tr("Select Features"), this);
-  mActionSelect->setStatusTip(tr("Select Features"));
-  connect(mActionSelect, SIGNAL(triggered()), this, SLOT(select()));
-  mActionSelect->setEnabled(false);
-  //
-  mActionOpenTable= new QAction(QIcon(myIconPath+"/mActionOpenTable.png"), tr("Open Table"), this);
-  //mActionOpenTable->setShortcut(tr("Ctrl+O","Open Table"));
-  mActionOpenTable->setStatusTip(tr("Open Table"));
-  connect(mActionOpenTable, SIGNAL(triggered()), this, SLOT(attributeTable()));
-  mActionOpenTable->setEnabled(false);
-  //
-  mActionMeasure= new QAction(QIcon(myIconPath+"/mActionMeasure.png"), tr("Measure Line "), this);
-  mActionMeasure->setShortcut(tr("Ctrl+M","Measure a Line"));
-  mActionMeasure->setStatusTip(tr("Measure a Line"));
-  connect(mActionMeasure, SIGNAL(triggered()), this, SLOT(measure()));
-  //
-  mActionMeasureArea= new QAction(QIcon(myIconPath+"/mActionMeasureArea.png"), tr("Measure Area"), this);
-  mActionMeasureArea->setShortcut(tr("Ctrl+J","Measure an Area"));
-  mActionMeasureArea->setStatusTip(tr("Measure an Area"));
-  connect(mActionMeasureArea, SIGNAL(triggered()), this, SLOT(measureArea()));
-  //
-  mActionShowBookmarks= new QAction(QIcon(myIconPath+"/mActionShowBookmarks.png"), tr("Show Bookmarks"), this);
-  mActionShowBookmarks->setShortcut(tr("B","Show Bookmarks"));
-  mActionShowBookmarks->setStatusTip(tr("Show Bookmarks"));
-  connect(mActionShowBookmarks, SIGNAL(triggered()), this, SLOT(showBookmarks()));
-  //
-  mActionShowAllToolbars = new QAction(tr("Show most toolbars"), this);
-  mActionShowAllToolbars->setShortcut(tr("T", "Show most toolbars"));
-  mActionShowAllToolbars->setStatusTip(tr("Show most toolbars"));
-  connect(mActionShowAllToolbars, SIGNAL(triggered()), this,
-          SLOT(showAllToolbars()));
-  //
-  mActionHideAllToolbars = new QAction(tr("Hide most toolbars"), this);
-  mActionHideAllToolbars->setShortcut(tr("Ctrl+T", "Hide most toolbars"));
-  mActionHideAllToolbars->setStatusTip(tr("Hide most toolbars"));
-  connect(mActionHideAllToolbars, SIGNAL(triggered()), this,
-          SLOT(hideAllToolbars()));
-  //
-  mActionNewBookmark= new QAction(QIcon(myIconPath+"/mActionNewBookmark.png"), tr("New Bookmark..."), this);
-  mActionNewBookmark->setShortcut(tr("Ctrl+B","New Bookmark"));
-  mActionNewBookmark->setStatusTip(tr("New Bookmark"));
-  connect(mActionNewBookmark, SIGNAL(triggered()), this, SLOT(newBookmark()));
-  //
-  mActionAddWmsLayer= new QAction(QIcon(myIconPath+"/mActionAddWmsLayer.png"), tr("Add WMS Layer..."), this);
-  mActionAddWmsLayer->setShortcut(tr("W","Add Web Mapping Server Layer"));
-  mActionAddWmsLayer->setStatusTip(tr("Add Web Mapping Server Layer"));
-  connect(mActionAddWmsLayer, SIGNAL(triggered()), this, SLOT(addWmsLayer()));
-  //
-  mActionInOverview= new QAction(QIcon(myIconPath+"/mActionInOverview.png"), tr("In Overview"), this);
-  mActionInOverview->setShortcut(tr("O","Add current layer to overview map"));
-  mActionInOverview->setStatusTip(tr("Add current layer to overview map"));
-  connect(mActionInOverview, SIGNAL(triggered()), this, SLOT(inOverview()));
-  //
-  // Plugin Menu Related Items
-  //
-  mActionShowPluginManager= new QAction(QIcon(myIconPath+"/mActionShowPluginManager.png"), tr("Plugin Manager..."), this);
-  // mActionShowPluginManager->setShortcut(tr("Ctrl+P","Open the plugin manager"));
-  mActionShowPluginManager->setStatusTip(tr("Open the plugin manager"));
-  connect(mActionShowPluginManager, SIGNAL(triggered()), this, SLOT(showPluginManager()));
-  //
-  // Add the whats this toolbar button
-  // QWhatsThis::whatsThisButton(mHelpToolBar);
-  // 
-  //
-  // Digitising Toolbar Items
-  //
-
-  mActionStartEditing = new QAction(QIcon(myIconPath+"/mActionStartEditing.png"), 
-                                    tr("Start editing the current layer"), this); 
-  mActionStartEditing->setStatusTip(tr("Start editing the current layer")); 
-  connect(mActionStartEditing, SIGNAL(triggered()), this, SLOT(startEditing()));
-  //
-  mActionStopEditing = new QAction(QIcon(myIconPath+"/mActionStopEditing.png"), 
-                                   tr("Stop editing the current layer"), this);
-  mActionStopEditing->setStatusTip(tr("Stop editing the current layer")); 
-  connect(mActionStopEditing, SIGNAL(triggered()), this, SLOT(stopEditing()));
-  //
-  mActionCapturePoint= new QAction(QIcon(myIconPath+"/mActionCapturePoint.png"), tr("Capture Point"), this);
-  mActionCapturePoint->setShortcut(tr(".","Capture Points"));
-  mActionCapturePoint->setStatusTip(tr("Capture Points"));
-  connect(mActionCapturePoint, SIGNAL(triggered()), this, SLOT(capturePoint()));
-  mActionCapturePoint->setEnabled(false);
-  //
-  mActionCaptureLine= new QAction(QIcon(myIconPath+"/mActionCaptureLine.png"), tr("Capture Line"), this);
-  mActionCaptureLine->setShortcut(tr("/","Capture Lines"));
-  mActionCaptureLine->setStatusTip(tr("Capture Lines"));
-  connect(mActionCaptureLine, SIGNAL(triggered()), this, SLOT(captureLine()));
-  mActionCaptureLine->setEnabled(false);
-  //
-  mActionCapturePolygon= new QAction(QIcon(myIconPath+"/mActionCapturePolygon.png"), tr("Capture Polygon"), this);
-  mActionCapturePolygon->setShortcut(tr("Ctrl+/","Capture Polygons"));
-  mActionCapturePolygon->setStatusTip(tr("Capture Polygons"));
-  connect(mActionCapturePolygon, SIGNAL(triggered()), this, SLOT(capturePolygon()));
-  mActionCapturePolygon->setEnabled(false);
-  //
-  mActionDeleteSelected = new QAction(QIcon(myIconPath+"/mActionDeleteSelected.png"), tr("Delete Selected"), this);
-  mActionDeleteSelected->setStatusTip(tr("Delete Selected"));
-  connect(mActionDeleteSelected, SIGNAL(triggered()), this, SLOT(deleteSelected()));
-  mActionDeleteSelected->setEnabled(false);
-  //
-  mActionAddVertex = new QAction(QIcon(myIconPath+"/mActionAddVertex.png"), tr("Add Vertex"), this);
-  mActionAddVertex->setStatusTip(tr("Add Vertex"));
-  connect(mActionAddVertex, SIGNAL(triggered()), this, SLOT(addVertex()));
-  mActionAddVertex->setEnabled(false);
-  //
-  mActionDeleteVertex = new QAction(QIcon(myIconPath+"/mActionDeleteVertex.png"), tr("Delete Vertex"), this);
-  mActionDeleteVertex->setStatusTip(tr("Delete Vertex"));
-  connect(mActionDeleteVertex, SIGNAL(triggered()), this, SLOT(deleteVertex()));
-  mActionDeleteVertex->setEnabled(false);
-  //
-  mActionMoveVertex = new QAction(QIcon(myIconPath+"/mActionMoveVertex.png"), tr("Move Vertex"), this);
-  mActionMoveVertex->setStatusTip(tr("Move Vertex"));
-  connect(mActionMoveVertex, SIGNAL(triggered()), this, SLOT(moveVertex()));
-  mActionMoveVertex->setEnabled(false);
-
-  mActionEditCut = new QAction(QIcon(myIconPath+"/mActionEditCut.png"), tr("Cut Features"), this);
-  mActionEditCut->setStatusTip(tr("Cut selected features"));
-  connect(mActionEditCut, SIGNAL(triggered()), this, SLOT(editCut()));
-  mActionEditCut->setEnabled(false);
-
-  mActionEditCopy = new QAction(QIcon(myIconPath+"/mActionEditCopy.png"), tr("Copy Features"), this);
-  mActionEditCopy->setStatusTip(tr("Copy selected features"));
-  connect(mActionEditCopy, SIGNAL(triggered()), this, SLOT(editCopy()));
-  mActionEditCopy->setEnabled(false);
-
-  mActionEditPaste = new QAction(QIcon(myIconPath+"/mActionEditPaste.png"), tr("Paste Features"), this);
-  mActionEditPaste->setStatusTip(tr("Paste selected features"));
-  connect(mActionEditPaste, SIGNAL(triggered()), this, SLOT(editPaste()));
-  mActionEditPaste->setEnabled(false);
-}
-
-void QgisApp::createActionGroups()
-{
-  //
-  // Map Tool Group
-  mMapToolGroup = new QActionGroup(this);
-  mActionPan->setCheckable(true);
-  mMapToolGroup->addAction(mActionPan);
-  mActionZoomIn->setCheckable(true);
-  mMapToolGroup->addAction(mActionZoomIn);
-  mActionZoomOut->setCheckable(true);
-  mMapToolGroup->addAction(mActionZoomOut);
-  mActionIdentify->setCheckable(true);
-  mMapToolGroup->addAction(mActionIdentify);
-  mActionSelect->setCheckable(true);
-  mMapToolGroup->addAction(mActionSelect);
-  mActionMeasure->setCheckable(true);
-  mMapToolGroup->addAction(mActionMeasure);
-  mActionMeasureArea->setCheckable(true);
-  mMapToolGroup->addAction(mActionMeasureArea);
-  mActionCaptureLine->setCheckable(true);
-  mMapToolGroup->addAction(mActionCaptureLine);
-  mActionCapturePoint->setCheckable(true);
-  mMapToolGroup->addAction(mActionCapturePoint);
-  mActionCapturePolygon->setCheckable(true);
-  mMapToolGroup->addAction(mActionCapturePolygon);
-  mMapToolGroup->addAction(mActionDeleteSelected);
-  mActionAddVertex->setCheckable(true);
-  mMapToolGroup->addAction(mActionAddVertex);
-  mActionDeleteVertex->setCheckable(true);
-  mMapToolGroup->addAction(mActionDeleteVertex);
-  mActionMoveVertex->setCheckable(true);
-  mMapToolGroup->addAction(mActionMoveVertex);
-}
-
-void QgisApp::createMenus()
-{
-  QString myIconPath = QgsApplication::themePath();
-  //
-  // File Menu
-  mFileMenu = menuBar()->addMenu(tr("&File"));
-  mFileMenu->addAction(mActionFileNew);
-  mFileMenu->addAction(mActionFileOpen);
-  mRecentProjectsMenu = mFileMenu->addMenu(tr("&Open Recent Projects"));
-  // Connect once for the entire submenu.
-  connect(mRecentProjectsMenu, SIGNAL(triggered(QAction *)),
-          this, SLOT(openProject(QAction *)));
-
-  mFileMenu->addSeparator();
-  mFileMenu->addAction(mActionFileSave);
-  mFileMenu->addAction(mActionFileSaveAs);
-  mFileMenu->addAction(mActionSaveMapAsImage);
-  mFileMenu->addSeparator();
-  mFileMenu->addAction(mActionExportMapServer);
-  mFileMenu->addAction(mActionFilePrint);
-  mFileMenu->addSeparator();
-  mFileMenu->addAction(mActionFileExit);
-
-  //
-  // View Menu
-  mViewMenu = menuBar()->addMenu(tr("&View"));
-  mViewMenu->addAction(mActionZoomFullExtent);
-  mViewMenu->addAction(mActionZoomToSelected);
-  mViewMenu->addAction(mActionZoomToLayer);
-  mViewMenu->addAction(mActionZoomLast);
-  mViewMenu->addAction(mActionDraw);
-  mViewMenu->addSeparator();
-  mViewMenu->addAction(mActionShowBookmarks);
-  mViewMenu->addAction(mActionNewBookmark);
-  mViewMenu->addSeparator();
-  mToolbarMenu = mViewMenu->addMenu(QIcon(myIconPath+"/mActionOptions.png"),
-                                    tr("&Toolbars..."));
-
-  //
-  // View:toolbars menu
-  mToolbarMenu->addAction(mActionShowAllToolbars);
-  mToolbarMenu->addAction(mActionHideAllToolbars);
-
-  //
-  // Layers Menu
-  mLayerMenu = menuBar()->addMenu(tr("&Layer"));
-  mLayerMenu->addAction(mActionAddNonDbLayer);
-  mLayerMenu->addAction(mActionAddRasterLayer);
-#ifdef HAVE_POSTGRESQL
-  mLayerMenu->addAction(mActionAddLayer);
-#endif
-  mLayerMenu->addAction(mActionAddWmsLayer);
-  mLayerMenu->addSeparator();
-  mLayerMenu->addAction(mActionRemoveLayer);
-  mLayerMenu->addAction(mActionNewVectorLayer);
-  mLayerMenu->addSeparator();
-  mLayerMenu->addAction(mActionInOverview);
-  mLayerMenu->addAction(mActionAddAllToOverview);
-  mLayerMenu->addAction(mActionRemoveAllFromOverview);
-  mLayerMenu->addSeparator();
-  mLayerMenu->addAction(mActionHideAllLayers);
-  mLayerMenu->addAction(mActionShowAllLayers);
-
-  //
-  // Settings Menu
-  mSettingsMenu = menuBar()->addMenu(tr("&Settings"));
-  mSettingsMenu->addAction(mActionProjectProperties);
-  mSettingsMenu->addAction(mActionCustomProjection);
-  mSettingsMenu->addAction(mActionOptions);
-  
-  //
-  // Plugins Menu
-  mPluginMenu = menuBar()->addMenu(tr("&Plugins"));
-  mPluginMenu->addAction(mActionShowPluginManager);
-  mPluginMenu->addSeparator();
-
-  // Add the plugin manager action to it
-  //actionPluginManager->addTo(mPluginMenu);
-  // Add separator. Plugins will add their menus to this
-  // menu when they are loaded by the plugin manager
-  //mPluginMenu->insertSeparator();
-  // Add to the menubar
-  //menuBar()->insertItem(tr("&Plugins"), mPluginMenu, -1, menuBar()->count() - 1);
-
-  menuBar()->addSeparator();
-  mHelpMenu = menuBar()->addMenu(tr("&Help"));
-  mHelpMenu->addAction(mActionHelpContents);
-  mHelpMenu->addSeparator();
-  mHelpMenu->addAction(mActionQgisHomePage);
-  mHelpMenu->addAction(mActionCheckQgisVersion);
-  mHelpMenu->addSeparator();
-  mHelpMenu->addAction(mActionHelpAbout);
-}
-
-void QgisApp::createToolBars()
-{
-  // Note: we need to set each object name to ensure that
-  // qmainwindow::saveState and qmainwindow::restoreState
-  // work properly
-  
-  //
-  // File Toolbar
-  mFileToolBar = addToolBar(tr("File"));
-  mFileToolBar->setIconSize(QSize(24,24));
-  mFileToolBar->setObjectName("FileToolBar");
-  mFileToolBar->addAction(mActionFileNew);
-  mFileToolBar->addAction(mActionFileNew);
-  mFileToolBar->addAction(mActionFileSave);
-  mFileToolBar->addAction(mActionFileSaveAs);
-  mFileToolBar->addAction(mActionFileOpen);
-  mFileToolBar->addAction(mActionFilePrint);
-  //
-  // Layer Toolbar
-  mLayerToolBar = addToolBar(tr("Manage Layers"));
-  mLayerToolBar->setIconSize(QSize(24,24));
-  mLayerToolBar->setObjectName("LayerToolBar");
-  mLayerToolBar->addAction(mActionAddNonDbLayer);
-  mLayerToolBar->addAction(mActionAddRasterLayer);
-#ifdef HAVE_POSTGRESQL
-  mLayerToolBar->addAction(mActionAddLayer);
-#endif
-  mLayerToolBar->addAction(mActionAddWmsLayer);
-  mLayerToolBar->addAction(mActionNewVectorLayer);
-  mLayerToolBar->addAction(mActionRemoveLayer);
-  mLayerToolBar->addAction(mActionInOverview);
-  mLayerToolBar->addAction(mActionAddAllToOverview);
-  mLayerToolBar->addAction(mActionRemoveAllFromOverview);
-  mLayerToolBar->addAction(mActionShowAllLayers);
-  mLayerToolBar->addAction(mActionHideAllLayers);
-  //
-  // Help Toolbar
-  mHelpToolBar = addToolBar(tr("Help"));
-  mHelpToolBar->setIconSize(QSize(24,24));
-  mHelpToolBar->setObjectName("Help");
-  mHelpToolBar->addAction(mActionHelpContents);
-  //
-  // Digitizing Toolbar
-  mDigitizeToolBar = addToolBar(tr("Digitizing"));
-  mDigitizeToolBar->setIconSize(QSize(24,24));
-  mDigitizeToolBar->setObjectName("Digitizing");
-  mDigitizeToolBar->addAction(mActionStartEditing);
-  mDigitizeToolBar->addAction(mActionStopEditing);
-  mDigitizeToolBar->addAction(mActionCapturePoint);
-  mDigitizeToolBar->addAction(mActionCaptureLine);
-  mDigitizeToolBar->addAction(mActionCapturePolygon);
-  mDigitizeToolBar->addAction(mActionDeleteSelected);
-  mDigitizeToolBar->addAction(mActionAddVertex);
-  mDigitizeToolBar->addAction(mActionDeleteVertex);
-  mDigitizeToolBar->addAction(mActionMoveVertex);
-  mDigitizeToolBar->addAction(mActionEditCut);
-  mDigitizeToolBar->addAction(mActionEditCopy);
-  mDigitizeToolBar->addAction(mActionEditPaste);
-  //
-  // Map Navigation Toolbar
-  mMapNavToolBar = addToolBar(tr("Map Navigation"));
-  mMapNavToolBar->setIconSize(QSize(24,24));
-  mMapNavToolBar->setObjectName("Map Navigation");
-  mMapNavToolBar->addAction(mActionPan);
-  mMapNavToolBar->addAction(mActionZoomIn);
-  mMapNavToolBar->addAction(mActionZoomOut);
-  mMapNavToolBar->addAction(mActionZoomFullExtent);
-  mMapNavToolBar->addAction(mActionZoomToSelected);
-  mMapNavToolBar->addAction(mActionZoomToLayer);
-  mMapNavToolBar->addAction(mActionZoomLast);
-  mMapNavToolBar->addAction(mActionDraw);
-  //
-  // Attributes Toolbar
-  mAttributesToolBar = addToolBar(tr("Attributes"));
-  mAttributesToolBar->setIconSize(QSize(24,24));
-  mAttributesToolBar->setObjectName("Attributes");
-  mAttributesToolBar->addAction(mActionIdentify);
-  mAttributesToolBar->addAction(mActionSelect);
-  mAttributesToolBar->addAction(mActionOpenTable);
-  mAttributesToolBar->addAction(mActionMeasure);
-  mAttributesToolBar->addAction(mActionMeasureArea);
-  mAttributesToolBar->addAction(mActionShowBookmarks);
-  mAttributesToolBar->addAction(mActionNewBookmark);
-  //
-  // Plugins Toolbar
-  mPluginToolBar = addToolBar(tr("Plugins"));
-  mPluginToolBar->setIconSize(QSize(24,24));
-  mPluginToolBar->setObjectName("Plugins");
-}
-
-void QgisApp::createStatusBar()
-{
-  //
-  // Add a panel to the status bar for the scale, coords and progress
-  // And also rendering suppression checkbox
-  //
-  mProgressBar = new QProgressBar(statusBar());
-  mProgressBar->setMaximumWidth(100);
-  mProgressBar->hide();
-  QWhatsThis::add(mProgressBar, tr("Progress bar that displays the status of rendering layers and other time-intensive operations"));
-  statusBar()->addWidget(mProgressBar, 1,true);
-  // Bumped the font up one point size since 8 was too 
-  // small on some platforms. A point size of 9 still provides
-  // plenty of display space on 1024x768 resolutions
-  QFont myFont( "Arial", 9 );
-  statusBar()->setFont(myFont);
-  mScaleLabel = new QLabel(QString(),statusBar());
-  mScaleLabel->setFont(myFont);
-  mScaleLabel->setMinimumWidth(10);
-  mScaleLabel->setMargin(3);
-  mScaleLabel->setAlignment(Qt::AlignCenter);
-  QWhatsThis::add(mScaleLabel, tr("Displays the current map scale"));
-  QToolTip::add (mScaleLabel, tr("Current map scale"));
-  statusBar()->addWidget(mScaleLabel, 0,true);
-  //coords status bar widget
-  mCoordsLabel = new QLabel(QString(), statusBar());
-  mCoordsLabel->setMinimumWidth(10);
-  mCoordsLabel->setFont(myFont);
-  mCoordsLabel->setMargin(3);
-  mCoordsLabel->setAlignment(Qt::AlignCenter);
-  QWhatsThis::add(mCoordsLabel, tr("Shows the map coordinates at the current cursor postion. The display is continuously updated as the mouse is moved."));
-  QToolTip::add (mCoordsLabel, tr("Map coordinates at mouse cursor position"));
-  statusBar()->addWidget(mCoordsLabel, 0, true);
-  // render suppression status bar widget
-  mRenderSuppressionCBox = new QCheckBox(tr("Render"),statusBar());
-  mRenderSuppressionCBox->setChecked(true);
-  mRenderSuppressionCBox->setFont(myFont);
-  QWhatsThis::add(mRenderSuppressionCBox, tr("When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering."));
-  QToolTip::add( mRenderSuppressionCBox, tr("Toggle map rendering") );
-  statusBar()->addWidget(mRenderSuppressionCBox,0,true);
-  // On the fly projection status bar icon
-  // Changed this to a tool button since a QPushButton is
-  // sculpted on OS X and the icon is never displayed [gsherman]
-  mOnTheFlyProjectionStatusButton = new QToolButton(statusBar());
-  mOnTheFlyProjectionStatusButton->setMaximumWidth(20);
-  // Maintain uniform widget height in status bar by setting button height same as labels
-  // For Qt/Mac 3.3, the default toolbutton height is 30 and labels were expanding to match
-  mOnTheFlyProjectionStatusButton->setMaximumHeight(mScaleLabel->height());
-  QPixmap myProjPixmap;
-  QString myIconPath = QgsApplication::themePath();
-  myProjPixmap.load(myIconPath+"/mIconProjectionDisabled.png");
-  mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
-  assert(!myProjPixmap.isNull());
-  QWhatsThis::add(mOnTheFlyProjectionStatusButton, tr("This icon shows whether on the fly projection is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour."));
-  QToolTip::add( mOnTheFlyProjectionStatusButton, tr("Projection status - Click to open projection dialog"));
-  connect(mOnTheFlyProjectionStatusButton, SIGNAL(clicked()),
-      this, SLOT(projectPropertiesProjections()));//bring up the project props dialog when clicked
-  statusBar()->addWidget(mOnTheFlyProjectionStatusButton,0,true);
-  statusBar()->showMessage(tr("Ready"));
-}
-
-QString QgisApp::themePath()
-{
-  return mAppDir +"/share/qgis/themes/" + mThemeName + "/";
-}
-
-
-void QgisApp::setTheme(QString theThemeName)
-{
-  /*****************************************************************
-  // Init the toolbar icons by setting the icon for each action.
-  // All toolbar/menu items must be a QAction in order for this
-  // to work.
-  //
-  // When new toolbar/menu QAction objects are added to the interface,
-  // add an entry below to set the icon
-  //
-  // PNG names must match those defined for the default theme. The
-  // default theme is installed in <prefix>/share/qgis/themes/default.
-  //
-  // New core themes can be added by creating a subdirectory under src/themes
-  // and modifying the appropriate Makefile.am files. User contributed themes
-  // will be installed directly into <prefix>/share/qgis/themes/<themedir>.
-  //
-  // Themes can be selected from the preferences dialog. The dialog parses
-  // the themes directory and builds a list of themes (ie subdirectories)
-  // for the user to choose from.
-  //
-  // TODO: Check as each icon is grabbed and if it doesn't exist, use the
-  // one from the default theme (which is installed with qgis and should
-  // always be good)
-  */
-  QgsApplication::selectTheme(theThemeName);
-  QString myIconPath = QgsApplication::themePath();
-  mActionFileNew->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileNew.png")));
-  mActionFileSave->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileSave.png")));
-  mActionFileSaveAs->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileSaveAs.png")));
-  mActionFileOpen->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileOpen.png")));
-  mActionFilePrint->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFilePrint.png")));
-  mActionSaveMapAsImage->setIconSet(QIcon(QPixmap(myIconPath + "/mActionSaveMapAsImage.png")));
-  mActionExportMapServer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionExportMapServer.png")));
-  mActionFileExit->setIconSet(QIcon(QPixmap(myIconPath + "/mActionFileExit.png")));
-  mActionAddNonDbLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddNonDbLayer.png")));
-  mActionAddRasterLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddRasterLayer.png")));
-  mActionAddLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddLayer.png")));
-  mActionRemoveLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionRemoveLayer.png")));
-  mActionNewVectorLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionNewVectorLayer.png")));
-  mActionAddAllToOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddAllToOverview.png")));
-  mActionHideAllLayers->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHideAllLayers.png")));
-  mActionShowAllLayers->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowAllLayers.png")));
-  mActionRemoveAllFromOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionRemoveAllFromOverview.png")));
-  mActionProjectProperties->setIconSet(QIcon(QPixmap(myIconPath + "/mActionProjectProperties.png")));
-  mActionShowPluginManager->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowPluginManager.png")));
-  mActionCheckQgisVersion->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCheckQgisVersion.png")));
-  mActionOptions->setIconSet(QIcon(QPixmap(myIconPath + "/mActionOptions.png")));
-  mActionHelpContents->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHelpContents.png")));
-  mActionQgisHomePage->setIconSet(QIcon(QPixmap(myIconPath + "/mActionQgisHomePage.png")));
-  mActionHelpAbout->setIconSet(QIcon(QPixmap(myIconPath + "/mActionHelpAbout.png")));
-  mActionDraw->setIconSet(QIcon(QPixmap(myIconPath + "/mActionDraw.png")));
-  mActionCapturePoint->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCapturePoint.png")));
-  mActionCaptureLine->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCaptureLine.png")));
-  mActionCapturePolygon->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCapturePolygon.png")));
-  mActionZoomIn->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomIn.png")));
-  mActionZoomOut->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomOut.png")));
-  mActionZoomFullExtent->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomFullExtent.png")));
-  mActionZoomToSelected->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomToSelected.png")));
-  mActionPan->setIconSet(QIcon(QPixmap(myIconPath + "/mActionPan.png")));
-  mActionZoomLast->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomLast.png")));
-  mActionZoomToLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionZoomToLayer.png")));
-  mActionIdentify->setIconSet(QIcon(QPixmap(myIconPath + "/mActionIdentify.png")));
-  mActionSelect->setIconSet(QIcon(QPixmap(myIconPath + "/mActionSelect.png")));
-  mActionOpenTable->setIconSet(QIcon(QPixmap(myIconPath + "/mActionOpenTable.png")));
-  mActionMeasure->setIconSet(QIcon(QPixmap(myIconPath + "/mActionMeasure.png")));
-  mActionMeasureArea->setIconSet(QIcon(QPixmap(myIconPath + "/mActionMeasureArea.png")));
-  mActionShowBookmarks->setIconSet(QIcon(QPixmap(myIconPath + "/mActionShowBookmarks.png")));
-  mActionNewBookmark->setIconSet(QIcon(QPixmap(myIconPath + "/mActionNewBookmark.png")));
-  mActionCustomProjection->setIconSet(QIcon(QPixmap(myIconPath + "/mActionCustomProjection.png")));
-  mActionAddWmsLayer->setIconSet(QIcon(QPixmap(myIconPath + "/mActionAddWmsLayer.png")));
-  mActionInOverview->setIconSet(QIcon(QPixmap(myIconPath + "/mActionInOverview.png")));
-}
-
-void QgisApp::setupConnections()
-{
-  // connect the "cleanup" slot
-  connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(saveWindowState()));
-  //connect the legend, mapcanvas and overview canvas to the registry
-  
-  // connect map layer registry signals to legend
-  connect(QgsMapLayerRegistry::instance(), SIGNAL(layerWillBeRemoved(QString)),
-          mMapLegend, SLOT(removeLayer(QString)));
-  connect(QgsMapLayerRegistry::instance(), SIGNAL(removedAll()),
-          mMapLegend, SLOT(removeAll()));
-  connect(QgsMapLayerRegistry::instance(), SIGNAL(layerWasAdded(QgsMapLayer*)),
-          mMapLegend, SLOT(addLayer(QgsMapLayer *)));
-  
-  //signal when mouse moved over window (coords display in status bar)
-  connect(mMapCanvas, SIGNAL(xyCoordinates(QgsPoint &)), this, SLOT(showMouseCoordinate(QgsPoint &)));
-  //signal when mouse in capturePoint mode and mouse clicked on canvas
-  connect(mMapCanvas->mapRender(), SIGNAL(drawingProgress(int,int)), this, SLOT(showProgress(int,int)));
-  connect(mMapCanvas, SIGNAL(extentsChanged(QgsRect )),this,SLOT(showExtents(QgsRect )));
-  connect(mMapCanvas, SIGNAL(scaleChanged(QString)), this, SLOT(showScale(QString)));
-  connect(mMapCanvas, SIGNAL(scaleChanged(QString)), this, SLOT(updateMouseCoordinatePrecision()));
-
-  connect(mRenderSuppressionCBox, SIGNAL(toggled(bool )), mMapCanvas, SLOT(setRenderFlag(bool)));
-}
-void QgisApp::createCanvas()
-{
-  // "theMapCanvas" used to find this canonical instance later
-  mMapCanvas = new QgsMapCanvas(NULL, "theMapCanvas" );
-  QWhatsThis::add(mMapCanvas, tr("Map canvas. This is where raster and vector layers are displayed when added to the map"));
-  
-  mMapCanvas->setMinimumWidth(10);
-  QVBoxLayout *myCanvasLayout = new QVBoxLayout;
-  myCanvasLayout->addWidget(mMapCanvas);
-  tabWidget->widget(0)->setLayout(myCanvasLayout);
-  // set the focus to the map canvas
-  mMapCanvas->setFocus();
-
-  // create tools
-  mMapTools.mZoomIn = new QgsMapToolZoom(mMapCanvas, FALSE /* zoomIn */);
-  mMapTools.mZoomIn->setAction(mActionZoomIn);
-  mMapTools.mZoomOut = new QgsMapToolZoom(mMapCanvas, TRUE /* zoomOut */);
-  mMapTools.mZoomOut->setAction(mActionZoomOut);
-  mMapTools.mPan = new QgsMapToolPan(mMapCanvas);
-  mMapTools.mPan->setAction(mActionPan);
-  mMapTools.mIdentify = new QgsMapToolIdentify(mMapCanvas);
-  mMapTools.mIdentify->setAction(mActionIdentify);
-  mMapTools.mMeasureDist = new QgsMeasure(FALSE /* area */, mMapCanvas);
-  mMapTools.mMeasureDist->setAction(mActionMeasure);
-  mMapTools.mMeasureArea = new QgsMeasure(TRUE /* area */, mMapCanvas);
-  mMapTools.mMeasureArea->setAction(mActionMeasureArea);
-  mMapTools.mCapturePoint = new QgsMapToolCapture(mMapCanvas, QgsMapToolCapture::CapturePoint);
-  mMapTools.mCapturePoint->setAction(mActionCapturePoint);
-  mMapTools.mCaptureLine = new QgsMapToolCapture(mMapCanvas, QgsMapToolCapture::CaptureLine);
-  mMapTools.mCaptureLine->setAction(mActionCaptureLine);
-  mMapTools.mCapturePolygon = new QgsMapToolCapture(mMapCanvas, QgsMapToolCapture::CapturePolygon);
-  mMapTools.mCapturePolygon->setAction(mActionCapturePolygon);
-  mMapTools.mSelect = new QgsMapToolSelect(mMapCanvas);
-  mMapTools.mSelect->setAction(mActionSelect);
-  mMapTools.mVertexAdd = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::AddVertex);
-  mMapTools.mVertexAdd->setAction(mActionAddVertex);
-  mMapTools.mVertexMove = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::MoveVertex);
-  mMapTools.mVertexMove->setAction(mActionMoveVertex);
-  mMapTools.mVertexDelete = new QgsMapToolVertexEdit(mMapCanvas, QgsMapToolVertexEdit::DeleteVertex);
-  mMapTools.mVertexDelete->setAction(mActionDeleteVertex);
-}
-
-void QgisApp::createOverview()
-{
-  // overview canvas
-  QgsMapOverviewCanvas* overviewCanvas = new QgsMapOverviewCanvas(NULL, mMapCanvas);
-  QWhatsThis::add(overviewCanvas, tr("Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas."));
-        
-  QBitmap overviewPanBmp(16, 16, pan_bits, true);
-  QBitmap overviewPanBmpMask(16, 16, pan_mask_bits, true);
-  mOverviewMapCursor = new QCursor(overviewPanBmp, overviewPanBmpMask, 5, 5);
-  overviewCanvas->setCursor(*mOverviewMapCursor);
-  QVBoxLayout *myOverviewLayout = new QVBoxLayout;
-  myOverviewLayout->addWidget(overviewCanvas);
-  overviewFrame->setLayout(myOverviewLayout);
-  
-  mMapCanvas->setOverview(overviewCanvas);
-  
-  // moved here to set anti aliasing to both map canvas and overview
-  QSettings mySettings;
-  mMapCanvas->enableAntiAliasing(mySettings.value("/qgis/enable_anti_aliasing",false).toBool());
-  mMapCanvas->useQImageToRender(mySettings.value("/qgis/use_qimage_to_render",false).toBool());
-
-  int action = mySettings.value("/qgis/wheel_action", 0).toInt();
-  double zoomFactor = mySettings.value("/qgis/zoom_factor", 2).toDouble();
-  mMapCanvas->setWheelAction((QgsMapCanvas::WheelAction) action, zoomFactor);
-}
-
-
-void QgisApp::createLegend()
-{
-  //legend
-  mMapLegend = new QgsLegend(this,NULL, "theMapLegend");
-  mMapLegend->setObjectName("theMapLegend");
-  mMapLegend->setMapCanvas(mMapCanvas);
-  QWhatsThis::add(mMapLegend, tr("Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties."));
-  QVBoxLayout *myLegendLayout = new QVBoxLayout;
-  myLegendLayout->addWidget(mMapLegend);
-  toolBox->widget(0)->setLayout(myLegendLayout);
-  return;
-}
-
-bool QgisApp::createDB()
-{
-  // Check qgis.db and make private copy if necessary
-  QFile qgisPrivateDbFile(QgsApplication::qgisUserDbFilePath());
-
-  // first we look for ~/.qgis/qgis.db
-  if (!qgisPrivateDbFile.exists())
-  {
-    // if it doesnt exist we copy it in from the global resources dir
-    QString qgisMasterDbFileName = QgsApplication::qgisMasterDbFilePath();
-    QFile masterFile(qgisMasterDbFileName);
-
-    // Must be sure there is destination directory ~/.qgis
-    QDir().mkpath(QgsApplication::qgisSettingsDirPath());
-
-    //now copy the master file into the users .qgis dir
-    bool isDbFileCopied = masterFile.copy(qgisPrivateDbFile.name());
-
-#ifdef QGISDEBUG
-    if (!isDbFileCopied)
-    {
-      std::cout << "[ERROR] Can not make qgis.db private copy" << std::endl;
-      return FALSE;
-    }
-#endif
-  }
-  return TRUE;
-}
-
-// Update file menu with the current list of recently accessed projects
-void QgisApp::updateRecentProjectPaths()
-{
-  // Remove existing paths from the recent projects menu
-  int i;
-
-  int menusize = mRecentProjectsMenu->actions().size();
-
-  for(i = menusize; i < mRecentProjectPaths.size(); i++)
-  {
-    mRecentProjectsMenu->addAction("Dummy text");
-  }
-
-  QList<QAction *> menulist = mRecentProjectsMenu->actions();
-
-  assert(menulist.size() == mRecentProjectPaths.size());
-
-  for (i = 0; i < mRecentProjectPaths.size(); i++)
-    {
-      menulist.at(i)->setText(mRecentProjectPaths.at(i));
-
-      // Disable this menu item if the file has been removed, if not enable it
-      menulist.at(i)->setEnabled(QFile::exists((mRecentProjectPaths.at(i))));
-
-    }
-} // QgisApp::updateRecentProjectPaths
-
-// add this file to the recently opened/saved projects list
-void QgisApp::saveRecentProjectPath(QString projectPath, QSettings & settings)
-{
-  // Get canonical absolute path
-  QFileInfo myFileInfo(projectPath);
-  projectPath = myFileInfo.absFilePath();
-
-  // If this file is already in the list, remove it
-  mRecentProjectPaths.removeAll(projectPath);
-
-  // Prepend this file to the list
-  mRecentProjectPaths.prepend(projectPath);
-
-  // Keep the list to 8 items by trimming excess off the bottom
-  while (mRecentProjectPaths.count() > 8)
-  {
-    mRecentProjectPaths.pop_back();
-  }
-
-  // Persist the list
-  settings.writeEntry("/UI/recentProjectsList", mRecentProjectPaths);
-
-  // Update menu list of paths
-  updateRecentProjectPaths();
-
-} // QgisApp::saveRecentProjectPath
-
-void QgisApp::saveWindowState()
-{
-  // store window and toolbar positions
-  QSettings settings;
-  // store the toolbar/dock widget settings using Qt4 settings API
-  settings.setValue("/Geometry/state", this->saveState());
-
-  // store window geometry
-  QPoint p = this->pos();
-  QSize s = this->size();
-  settings.writeEntry("/Geometry/maximized", this->isMaximized());
-  settings.writeEntry("/Geometry/x", p.x());
-  settings.writeEntry("/Geometry/y", p.y());
-  settings.writeEntry("/Geometry/w", s.width());
-  settings.writeEntry("/Geometry/h", s.height());
-  settings.setValue("/Geometry/canvasSplitterState", canvasLegendSplit->saveState());
-  settings.setValue("/Geometry/legendSplitterState", legendOverviewSplit->saveState());
-}
-
-void QgisApp::restoreWindowState()
-{
-  // restore the toolbar and dock widgets postions using Qt4 settings API
-  QSettings settings;
-  QVariant vstate = settings.value("/Geometry/state");
-  this->restoreState(vstate.toByteArray());
-
-  // restore window geometry
-  QDesktopWidget *d = QApplication::desktop();
-  int dw = d->width();          // returns desktop width
-  int dh = d->height();         // returns desktop height
-  int w = settings.readNumEntry("/Geometry/w", 600);
-  int h = settings.readNumEntry("/Geometry/h", 400);
-  int x = settings.readNumEntry("/Geometry/x", (dw - 600) / 2);
-  int y = settings.readNumEntry("/Geometry/y", (dh - 400) / 2);
-  resize(w, h);
-  move(x, y);
-
-  canvasLegendSplit->restoreState(settings.value("/Geometry/canvasSplitterState").toByteArray());
-  legendOverviewSplit->restoreState(settings.value("/Geometry/legendSplitterState").toByteArray());
-}
-///////////// END OF GUI SETUP ROUTINES ///////////////
-
-void QgisApp::about()
-{
-  static QgsAbout *abt = NULL;
-  if (!abt) {
-     QApplication::setOverrideCursor(Qt::WaitCursor);
-     abt = new QgsAbout();
-     QString versionString = tr("Version ");
-     versionString += QGis::qgisVersion;
-     versionString += " (";
-     versionString += QGis::qgisSvnVersion;
-     versionString += ")";
-#ifdef HAVE_POSTGRESQL
-
-versionString += tr(" with PostgreSQL support");
-#else
-
-versionString += tr(" (no PostgreSQL support)");
-#endif
- versionString += tr("\nCompiled against Qt ") + QT_VERSION_STR
-   + tr(", running against Qt ") + qVersion();
-
-#ifdef WIN32
-  // special version stuff for windows (if required)
-  //  versionString += "\nThis is a Windows preview release - not for production use";
-#endif
-
-abt->setVersion(versionString);
-QString urls = "<p align=\"center\">" +
-tr("Quantum GIS is licensed under the GNU General Public License") +
-"</p><p align=\"center\">" +
-tr("http://www.gnu.org/licenses") +
-"</p>";
-abt->setURLs(urls);
-QString watsNew = "<html><body>" + tr("Version") + " ";
-watsNew += QGis::qgisVersion;
-watsNew += "<h3>" + tr("New features") + "</h3>";
-watsNew += "<ul><li>"
-  + tr("Numerous bug fixes")
-+ "<li>"
-+ tr("Improvements in how segment lengths appear in the measure tool.  The current segment length is shown/updated in the list of segments")
-+ "<li>"
-+ tr("Improvement to zoom-in speed for rasters")
-+ "<li>"
-+ tr("Improve line/area measuring behaviour when the user has been informed that they are probably using the wrong projection for the map canvas")
-+ "<li>"
-+ tr("Added tooltips to the scale and coordinate position displays in the status bar")
-+ "<li>"
-+ tr("Removed ugly console on WIN32 when not debugging")
-+ "<li>"
-+ tr("Added icons to all GRASS tools. All GRASS tools are now on the toolbar")
-+ "<li>"
-+ tr("New GRASS modules added to the GRASS toolbox")
-+ "<li>"
-+ tr("The GRASS plugin is now fully internationalized")
-+ "<li>"
-+ tr("Launcher plugin added to core plugins ")
-+ "</ul></body></html>";
-
-
-abt->setWhatsNew(watsNew);
-
-  // add the available plugins to the list
-  QString providerInfo = "<b>" + tr("Available Data Provider Plugins") + "</b><br>";
-  abt->setPluginInfo(providerInfo + mProviderRegistry->pluginList(true));
-  QApplication::restoreOverrideCursor();
-  }
-  abt->show();
-  abt->raise();
-  abt->setActiveWindow();
-}
-
-/** Load up any plugins used in the last session
-*/
-
-void QgisApp::restoreSessionPlugins(QString thePluginDirString)
-{
-
-  QSettings mySettings;
-#ifdef QGISDEBUG
-
-  std::cerr << " -------------------- Restoring plugins from last session " << thePluginDirString.toLocal8Bit().data() << std::endl;
-#endif
-  // check all libs in the current plugin directory and get name and descriptions
-#ifdef WIN32
-
-  QDir myPluginDir(thePluginDirString, "*.dll", QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
-#else
-
-  QDir myPluginDir(thePluginDirString, "*.so*", QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
-#endif
-
-  if (myPluginDir.count() == 0)
-  {
-    //erk! do nothing
-    return;
-  }
-  else
-  {
-    for (unsigned i = 0; i < myPluginDir.count(); i++)
-    {
-      QString myFullPath = thePluginDirString + "/" + myPluginDir[i];
-#ifdef QGISDEBUG
-
-      std::cerr << "Examining " << myFullPath.toLocal8Bit().data() << std::endl;
-#endif
-
-      QLibrary *myLib = new QLibrary(myFullPath);
-      myLib->setLoadHints(QLibrary::ExportExternalSymbolsHint | QLibrary::ResolveAllSymbolsHint);
-      bool loaded = myLib->load();
-      if (loaded)
-      {
-#ifdef QGISDEBUG
-        //purposely leaving this one to stdout!
-        std::cout << "Loaded " << myLib->library().toLocal8Bit().data() << std::endl;
-#endif
-        name_t * myName =(name_t *) myLib->resolve("name");
-        description_t *  myDescription = (description_t *)  myLib->resolve("description");
-        version_t *  myVersion =  (version_t *) myLib->resolve("version");
-        if (myName && myDescription  && myVersion )
-        {
-          //check if the plugin was active on last session
-          QString myEntryName = myName();
-          // Windows stores a "true" value as a 1 in the registry so we
-          // have to use readBoolEntry in this function
-
-          if (mySettings.readBoolEntry("/Plugins/" + myEntryName))
-          {
-#ifdef QGISDEBUG
-            std::cerr << " -------------------- loading " << myEntryName.toLocal8Bit().data() << std::endl;
-#endif
-
-            loadPlugin(myName(), myDescription(), myFullPath);
-          }
-        }
-        else
-        {
-#ifdef QGISDEBUG
-          std::cerr << "Failed to get name, description, or type for " << myLib->library().toLocal8Bit().data() << std::endl;
-#endif
-
-        }
-      }
-      else
-      {
-        std::cerr << "Failed to load " << myLib->library().toLocal8Bit().data() << std::endl;
-        std::cerr << "Reason: " << myLib->errorString().toLocal8Bit().data() << std::endl;
-      }
-      delete myLib;
-    }
-  }
-
-}
-
-
-/**
-
-  Convenience function for readily creating file filters.
-
-  Given a long name for a file filter and a regular expression, return
-  a file filter string suitable for use in a QFileDialog::OpenFiles()
-  call.  The regular express, glob, will have both all lower and upper
-  case versions added.
-
-*/
-static QString createFileFilter_(QString const &longName, QString const &glob)
-{
-  return longName + " (" + glob.lower() + " " + glob.upper() + ");;";
-}                               // createFileFilter_
-
-
-
-/**
-  Builds the list of file filter strings to later be used by
-  QgisApp::addLayer()
-
-  We query OGR for a list of supported vector formats; we then build a list
-  of file filter strings from that list.  We return a string that contains
-  this list that is suitable for use in a a QFileDialog::getOpenFileNames()
-  call.
-
-  XXX Most of the file name filters need to be filled in; however we
-  XXX may want to wait until we've tested each format before committing
-  XXX them permanently instead of blindly relying on OGR to properly
-  XXX supply all needed spatial data.
-
-*/
-static void buildSupportedVectorFileFilter_(QString & fileFilters)
-{
-
-#ifdef DEPRECATED
-  static QString myFileFilters;
-
-  // if we've already built the supported vector string, just return what
-  // we've already built
-  if ( ! ( myFileFilters.isEmpty() || myFileFilters.isNull() ) )
-  {
-    fileFilters = myFileFilters;
-
-    return;
-  }
-
-  // first get the GDAL driver manager
-
-  OGRSFDriverRegistrar *driverRegistrar = OGRSFDriverRegistrar::GetRegistrar();
-
-  if (!driverRegistrar)
-  {
-    QMessageBox::warning(0,tr("OGR Driver Manager"),tr("unable to get OGRDriverManager"));
-    return;                 // XXX good place to throw exception if we
-  }                           // XXX decide to do exceptions
-
-  // then iterate through all of the supported drivers, adding the
-  // corresponding file filter
-
-  OGRSFDriver *driver;          // current driver
-
-  QString driverName;           // current driver name
-
-  // Grind through all the drivers and their respective metadata.
-  // We'll add a file filter for those drivers that have a file
-  // extension defined for them; the others, welll, even though
-  // theoreticaly we can open those files because there exists a
-  // driver for them, the user will have to use the "All Files" to
-  // open datasets with no explicitly defined file name extension.
-#ifdef QGISDEBUG
-
-  std::cerr << "Driver count: " << driverRegistrar->GetDriverCount() << std::endl;
-#endif
-
-  for (int i = 0; i < driverRegistrar->GetDriverCount(); ++i)
-  {
-    driver = driverRegistrar->GetDriver(i);
-
-    Q_CHECK_PTR(driver);
-
-    if (!driver)
-    {
-      qWarning("unable to get driver %d", i);
-      continue;
-    }
-
-    driverName = driver->GetName();
-
-
-
-    if (driverName.startsWith("ESRI"))
-    {
-      myFileFilters += createFileFilter_("ESRI Shapefiles", "*.shp");
-    }
-    else if (driverName.startsWith("UK"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("SDTS"))
-    {
-      myFileFilters += createFileFilter_( "Spatial Data Transfer Standard",
-          "*catd.ddf" );
-    }
-    else if (driverName.startsWith("TIGER"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("S57"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("MapInfo"))
-    {
-      myFileFilters += createFileFilter_("MapInfo", "*.mif *.tab");
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("DGN"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("VRT"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("AVCBin"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("REC"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("Memory"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("Jis"))
-    {
-      // XXX needs file filter extension
-    }
-    else if (driverName.startsWith("GML"))
-    {
-      // XXX not yet supported; post 0.1 release task
-      myFileFilters += createFileFilter_( "Geography Markup Language",
-          "*.gml" );
-    }
-    else
-    {
-      // NOP, we don't know anything about the current driver
-      // with regards to a proper file filter string
-      qDebug( "%s:%d unknown driver %s", __FILE__, __LINE__, (const char *)driverName.toLocal8Bit().data() );
-    }
-
-  }                           // each loaded GDAL driver
-
-  std::cout << myFileFilters.toLocal8Bit().data() << std::endl;
-
-  // can't forget the default case
-
-  myFileFilters += "All files (*.*)";
-  fileFilters = myFileFilters;
-
-#endif // DEPRECATED
-
-  fileFilters = QgsProviderRegistry::instance()->fileVectorFilters();
-
-}                               // buildSupportedVectorFileFilter_()
-
-
-
-
-/**
-  Open files, preferring to have the default file selector be the
-  last one used, if any; also, prefer to start in the last directory
-  associated with filterName.
-
-  @param filterName the name of the filter; used for persistent store
-  key
-  @param filters    the file filters used for QFileDialog
-
-  @param selectedFiles string list of selected files; will be empty
-  if none selected
-  @param enc        encoding?
-  @param title      the title for the dialog
-  @note
-
-  Stores persistent settings under /UI/.  The sub-keys will be
-  filterName and filterName + "Dir".
-
-  Opens dialog on last directory associated with the filter name, or
-  the current working directory if this is the first time invoked
-  with the current filter name.
-
-*/
-static void openFilesRememberingFilter_(QString const &filterName, 
-    QString const &filters, QStringList & selectedFiles, QString& enc, QString &title)
-{
-
-  bool haveLastUsedFilter = false; // by default, there is no last
-  // used filter
-
-  QSettings settings;         // where we keep last used filter in
-  // persistant state
-
-  QString lastUsedFilter = settings.readEntry("/UI/" + filterName,
-      QString::null,
-      &haveLastUsedFilter);
-
-  QString lastUsedDir = settings.readEntry("/UI/" + filterName + "Dir",".");
-
-  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
-
-#ifdef QGISDEBUG
-  std::cerr << "Opening file dialog with filters: " << filters.toLocal8Bit().data() << std::endl;
-#endif
-
-  QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(0,
-      title, lastUsedDir, filters, lastUsedEncoding);
-
-  // allow for selection of more than one file
-  openFileDialog->setMode(QFileDialog::ExistingFiles);
-
-  if (haveLastUsedFilter)       // set the filter to the last one used
-  {
-    openFileDialog->selectFilter(lastUsedFilter);
-  }
-
-  if (openFileDialog->exec() == QDialog::Accepted)
-  {
-    selectedFiles = openFileDialog->selectedFiles();
-    enc = openFileDialog->encoding();
-    // Fix by Tim - getting the dirPath from the dialog
-    // directly truncates the last node in the dir path.
-    // This is a workaround for that
-    QString myFirstFileName = selectedFiles.first();
-    QFileInfo myFI(myFirstFileName);
-    QString myPath = myFI.dirPath();
-#ifdef QGISDEBUG
-    qDebug("Writing last used dir: " + myPath);
-#endif
-
-    settings.writeEntry("/UI/" + filterName, openFileDialog->selectedFilter());
-    settings.writeEntry("/UI/" + filterName + "Dir", myPath);
-    settings.writeEntry("/UI/encoding", openFileDialog->encoding());
-  }
-
-  delete openFileDialog;
-}   // openFilesRememberingFilter_
-
-
-/**
-  This method prompts the user for a list of vector filenames with a dialog.
-
-  @todo XXX I'd really like to return false, but can't because this
-  XXX is for a slot that was defined void; need to fix.
-  */
-void QgisApp::addLayer()
-{
-  mMapCanvas->freeze();
-
-  QStringList selectedFiles;
-#ifdef QGISDEBUG
-  std::cerr << "Vector file filters: " << mVectorFileFilter.toLocal8Bit().data() << std::endl;
-#endif
-
-  QString enc;
-  QString title = tr("Open an OGR Supported Vector Layer");
-  openFilesRememberingFilter_("lastVectorFileFilter", mVectorFileFilter, selectedFiles, enc,
-      title);
-  if (selectedFiles.isEmpty())
-  {
-    // no files were selected, so just bail
-    mMapCanvas->freeze(false);
-
-    return;
-  }
-
-  addLayer(selectedFiles, enc);
-} // QgisApp::addLayer()
-
-
-
-
-bool QgisApp::addLayer(QFileInfo const & vectorFile)
-{
-  // let the user know we're going to possibly be taking a while
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  mMapCanvas->freeze();         // XXX why do we do this?
-
-  // create the layer
-  QgsDebugMsg("completeBaseName is: " + vectorFile.completeBaseName());
-
-  QgsVectorLayer *layer = new QgsVectorLayer(vectorFile.filePath(),
-      vectorFile.completeBaseName(),
-      "ogr");
-  Q_CHECK_PTR( layer );
-
-  if ( ! layer )
-  {
-    mMapCanvas->freeze(false);
-    QApplication::restoreOverrideCursor();
-
-    // XXX insert meaningful whine to the user here
-    return false;
-  }
-
-  if (layer->isValid())
-  {
-    // init the context menu so it can connect to slots
-    // in main app
-    // XXX move to legend::addLayer() layer->initContextMenu(this);
-
-    // XXX What about the rest of these?  Where should they be moved, if at
-    // XXX all?  Some of this functionality is taken care of in the
-    // XXX QgsProject::read() (If layers added via that.)
-
-    //add single symbol renderer as default
-    QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(layer->vectorType());
-
-    Q_CHECK_PTR( renderer );
-
-    if ( ! renderer )
-    {
-      mMapCanvas->freeze(false);
-// Let render() do its own cursor management
-//      QApplication::restoreOverrideCursor();
-
-      // XXX should we also delete the layer?
-
-      // XXX insert meaningful whine to the user here
-      return false;
-    }
-
-    layer->setRenderer(renderer);
-
-    // Register this layer with the layers registry
-    QgsMapLayerRegistry::instance()->addMapLayer(layer);
-    layer->refreshLegend();
-
-    // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-#ifdef QGISDEBUG
-    std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-#endif
-    QObject::connect(this,
-        SIGNAL(keyPressed(QKeyEvent *)),
-        layer,
-        SLOT(keyPressed(QKeyEvent* )));
-
-  }
-  else
-  {
-    QString msg = vectorFile.completeBaseName() + " ";
-    msg += tr("is not a valid or recognized data source");
-    QMessageBox::critical(this, tr("Invalid Data Source"), msg);
-
-    // since the layer is bad, stomp on it
-    delete layer;
-
-    mMapCanvas->freeze(false);
-
-// Let render() do its own cursor management
-//    QApplication::restoreOverrideCursor();
-
-    return false;
-  }
-
-  mMapCanvas->freeze(false);
-  // mMapLegend->update(); NOW UPDATED VIA SIGNAL/SLOT
-  qApp->processEvents();       // XXX why does this need to be called manually?
-  
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-  statusBar()->message(mMapCanvas->extent().stringRep(2));
-
-  return true;
-
-} // QgisApp::addLayer()
-
-
-
-
-
-/** \brief overloaded vesion of the above method that takes a list of
- * filenames instead of prompting user with a dialog.
-
- XXX yah know, this could be changed to just iteratively call the above
-
-*/
-bool QgisApp::addLayer(QStringList const &theLayerQStringList, const QString& enc)
-{
-  mMapCanvas->freeze();
-
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  for ( QStringList::ConstIterator it = theLayerQStringList.begin();
-      it != theLayerQStringList.end();
-      ++it )
-  {
-    QFileInfo fi(*it);
-    QString base = fi.completeBaseName();
-
-    QgsDebugMsg("completeBaseName: "+base);
-
-    // create the layer
-
-    QgsVectorLayer *layer = new QgsVectorLayer(*it, base, "ogr");
-    Q_CHECK_PTR( layer );
-    // set the visibility based on user preference for newly added
-    // layers
-    layer->setVisible(mAddedLayersVisible);
-
-    if ( ! layer )
-    {
-      mMapCanvas->freeze(false);
-
-// Let render() do its own cursor management
-//      QApplication::restoreOverrideCursor();
-
-      // XXX insert meaningful whine to the user here
-      return false;
-    }
-
-    if (layer->isValid())
-    {
-      layer->setProviderEncoding(enc);
-      // init the context menu so it can connect to slots
-      // in main app
-
-      // XXX now taken care of in legend layer->initContextMenu(this);
-
-      //add single symbol renderer as default
-      QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(layer->vectorType());
-
-      Q_CHECK_PTR( renderer );
-
-      if ( ! renderer )
-      {
-        mMapCanvas->freeze(false);
-
-// Let render() do its own cursor management
-//        QApplication::restoreOverrideCursor();
-
-        // XXX insert meaningful whine to the user here
-        return false;
-      }
-
-      layer->setRenderer(renderer);
-
-      // Register this layer with the layers registry
-      QgsMapLayerRegistry::instance()->addMapLayer(layer);
-
-      // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-#ifdef QGISDEBUG
-      std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-#endif
-      QObject::connect(this,
-          SIGNAL(keyPressed(QKeyEvent *)),
-          layer,
-          SLOT(keyPressed(QKeyEvent* )));
-    }
-    else
-    {
-      QString msg = *it + " ";
-      msg += tr("is not a valid or recognized data source");
-      QMessageBox::critical(this, tr("Invalid Data Source"), msg);
-
-      // since the layer is bad, stomp on it
-      delete layer;
-
-      // XXX should we return false here, or just grind through
-      // XXX the remaining arguments?
-    }
-
-  }
-
-  //qApp->processEvents();
-  // update legend
-  /*! \todo Need legend scrollview and legenditem classes */
-  // draw the map
-
-  // mMapLegend->update(); NOW UPDATED VIA SIGNAL/SLOTS
-  qApp->processEvents();    // XXX why does this need to be called manually?
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-  statusBar()->message(mMapCanvas->extent().stringRep(2));
-
-
-  return true;
-
-} // QgisApp::addLayer()
-
-
-
-/** This helper checks to see whether the filename appears to be a valid vector file name */
-bool QgisApp::isValidVectorFileName(QString theFileNameQString)
-{
-  return (theFileNameQString.lower().endsWith(".shp"));
-}
-
-/** Overloaded of the above function provided for convenience that takes a qstring pointer */
-bool QgisApp::isValidVectorFileName(QString * theFileNameQString)
-{
-  //dereference and delegate
-  return isValidVectorFileName(*theFileNameQString);
-}
-
-#ifndef HAVE_POSTGRESQL
-void QgisApp::addDatabaseLayer(){}
-#else
-void QgisApp::addDatabaseLayer()
-{
-  // only supports postgis layers at present
-
-  // show the postgis dialog
-
-  QgsDbSourceSelect *dbs = new QgsDbSourceSelect(this);
-
-  mMapCanvas->freeze();
-
-  if (dbs->exec())
-  {
-// Let render() do its own cursor management
-//    QApplication::setOverrideCursor(Qt::WaitCursor);
-
-
-    // repaint the canvas if it was covered by the dialog
-
-    // add files to the map canvas
-    QStringList tables = dbs->selectedTables();
-
-    QString connInfo = dbs->connInfo();
-    // for each selected table, connect to the database, parse the WKT geometry,
-    // and build a cavnasitem for it
-    // readWKB(connInfo,tables);
-    QStringList::Iterator it = tables.begin();
-    while (it != tables.end())
-    {
-
-      // create the layer
-      //qWarning("creating layer");
-      QgsVectorLayer *layer = new QgsVectorLayer(connInfo + " table=" + *it, *it, "postgres");
-      if (layer->isValid())
-      {
-        // set initial visibility based on user preference
-        layer->setVisible(mAddedLayersVisible);
-
-        // give it a random color
-        QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(layer->vectorType());  // add single symbol renderer as default
-        layer->setRenderer(renderer);
-
-        // register this layer with the central layers registry
-        QgsMapLayerRegistry::instance()->addMapLayer(layer);
-        layer->refreshLegend();
-
-        // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-  #ifdef QGISDEBUG
-        std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-  #endif
-        QObject::connect(this,
-            SIGNAL(keyPressed(QKeyEvent *)),
-            layer,
-            SLOT(keyPressed(QKeyEvent* )));
-      }
-      else
-      {
-        std::cerr << (*it).toLocal8Bit().data() << " is an invalid layer - not loaded" << std::endl;
-        QMessageBox::critical(this, tr("Invalid Layer"), tr("%1 is an invalid layer and cannot be loaded.").arg(*it));
-        delete layer;
-      }
-      //qWarning("incrementing iterator");
-      ++it;
-    }
-    statusBar()->message(mMapCanvas->extent().stringRep(2));
-  }
-
-  delete dbs;
-  qApp->processEvents();
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-} // QgisApp::addDatabaseLayer()
-#endif
-
-void QgisApp::addWmsLayer()
-{
-  // Fudge for now
-
-#ifdef QGISDEBUG
-  std::cout << "QgisApp::addWmsLayer: about to addRasterLayer" << std::endl;
-#endif
-
-
-  QgsServerSourceSelect *wmss = new QgsServerSourceSelect(this);
-
-  mMapCanvas->freeze();
-
-  if (wmss->exec())
-  {
-
-    addRasterLayer(wmss->connInfo(),
-        wmss->connName(),
-        "wms",
-        wmss->selectedLayers(),
-        wmss->selectedStylesForSelectedLayers(),
-        wmss->selectedImageEncoding(),
-        wmss->selectedCrs(),
-        wmss->connProxyHost(),
-        wmss->connProxyPort(),
-        wmss->connProxyUser(),
-        wmss->connProxyPass()
-        );
-  }
-}
-
-
-
-
-/// file data representation
-enum dataType { IS_VECTOR, IS_RASTER, IS_BOGUS };
-
-
-
-/** returns data type associated with the given QgsProject file DOM node
-
-  The DOM node should represent the state associated with a specific layer.
-  */
-static
-  dataType
-dataType_( QDomNode & layerNode )
-{
-  QString type = layerNode.toElement().attribute( "type" );
-
-  if ( QString::null == type )
-  {
-    qDebug( "%s:%d cannot find ``type'' attribute", __FILE__, __LINE__ );
-
-    return IS_BOGUS;
-  }
-
-  if ( "raster" == type )
-  {
-    qDebug( "%s:%d is a raster", __FILE__, __LINE__ );
-
-    return IS_RASTER;
-  }
-  else if ( "vector" == type )
-  {
-    qDebug( "%s:%d is a vector", __FILE__, __LINE__ );
-
-    return IS_VECTOR;
-  }
-
-  qDebug( "%s:%d is unknown type %s", __FILE__, __LINE__, (const char *)type.toLocal8Bit().data() );
-
-  return IS_BOGUS;
-} // dataType_( QDomNode & layerNode )
-
-
-/** return the data source for the given layer
-
-  The QDomNode is a QgsProject DOM node corresponding to a map layer state.
-
-  Essentially dumps <datasource> tag.
-
-*/
-static
-  QString
-dataSource_( QDomNode & layerNode )
-{
-  QDomNode dataSourceNode = layerNode.namedItem( "datasource" );
-
-  if ( dataSourceNode.isNull() )
-  {
-    qDebug( "%s:%d cannot find datasource node", __FILE__, __LINE__ );
-
-    return QString::null;
-  }
-
-  return dataSourceNode.toElement().text();
-
-} // dataSource_( QDomNode & layerNode )
-
-
-
-/// the three flavors for data
-typedef enum { IS_FILE, IS_DATABASE, IS_URL, IS_UNKNOWN } providerType;
-
-
-/** return the physical storage type associated with the given layer
-
-  The QDomNode is a QgsProject DOM node corresponding to a map layer state.
-
-  If the <provider> is "ogr", then it's a file type.
-
-  However, if the layer is a raster, then there won't be a <provider> tag.  It
-  will always have an associated file.
-
-  If the layer doesn't fall into either of the previous two categories, then
-  it's either a database or URL.  If the <datasource> tag has "url=", then
-  it's URL based.  If the <datasource> tag has "dbname=">, then the layer data
-  is in a database.
-
-*/
-static
-  providerType
-providerType_( QDomNode & layerNode )
-{
-  // XXX but what about rasters that can be URLs?  _Can_ they be URLs?
-
-  switch( dataType_( layerNode ) )
-  {
-    case IS_VECTOR:
-      {
-        QString dataSource = dataSource_( layerNode );
-
-#ifdef QGISDEBUG
-        qDebug( "%s:%d datasource is %s", __FILE__, __LINE__, (const char *)dataSource.toLocal8Bit().data() );
-#endif
-        if ( dataSource.contains("host=") )
-        {
-          return IS_URL;
-        }
-#ifdef HAVE_POSTGRESQL
-        else if ( dataSource.contains("dbname=") )
-        {
-          return IS_DATABASE;
-        }
-#endif
-        // be default, then, this should be a file based layer data source
-        // XXX is this a reasonable assumption?
-
-        return IS_FILE;
-      }
-
-    case IS_RASTER:         // rasters are currently only accessed as
-      // physical files
-      return IS_FILE;
-
-    default:
-      qDebug( "%s:%d unknown ``type'' attribute", __FILE__, __LINE__ );
-  }
-
-  return IS_UNKNOWN;
-
-} // providerType_
-
-
-
-/** set the <datasource> to the new value
-*/
-static
-  void
-setDataSource_( QDomNode & layerNode, QString const & dataSource )
-{
-  QDomNode dataSourceNode = layerNode.namedItem("datasource");
-  QDomElement dataSourceElement = dataSourceNode.toElement();
-  QDomText dataSourceText = dataSourceElement.firstChild().toText();
-
-
-#ifdef QGISDEBUG
-  QString originalDataSource = dataSourceText.data();
-
-  qDebug( "%s:%d datasource changed from %s", __FILE__, __LINE__, (const char *)originalDataSource.toLocal8Bit().data() );
-#endif
-
-  dataSourceText.setData( dataSource );
-
-#ifdef QGISDEBUG
-  QString newDataSource = dataSourceText.data();
-
-  qDebug( "%s:%d to %s", __FILE__, __LINE__, (const char *)newDataSource.toLocal8Bit().data() );
-#endif
-} // setDataSource_
-
-
-
-
-/** this is used to locate files that have moved or otherwise are missing
-
-*/
-static
-  void
-findMissingFile_( QString const & fileFilters, QDomNode & layerNode )
-{
-  // Prepend that file name to the valid file format filter list since it
-  // makes it easier for the user to not only find the original file, but to
-  // perhaps find a similar file.
-
-  QFileInfo originalDataSource( dataSource_(layerNode) );
-
-  QString memoryQualifier;    // to differentiate between last raster and
-  // vector directories
-
-  switch( dataType_( layerNode ) )
-  {
-    case IS_VECTOR:
-      {
-        memoryQualifier = "lastVectorFileFilter";
-
-        break;
-      }
-    case IS_RASTER:
-      {
-        memoryQualifier = "lastRasterFileFilter";
-
-        break;
-      }
-    default:
-      qDebug( "%s:%d unable to determine data type", __FILE__, __LINE__ );
-      return;
-  }
-
-  // Prepend the original data source base name to make it easier to pick it
-  // out from a list of other files; however the appropriate filter strings
-  // for the file type will also be added in case the file name itself has
-  // changed, too.
-
-  QString myFileFilters = originalDataSource.fileName() + ";;" + fileFilters;
-
-  QStringList selectedFiles;
-  QString     enc;
-  QString     title( QObject::trUtf8("Open an OGR Supported Layer") );
-
-  openFilesRememberingFilter_(memoryQualifier,
-      myFileFilters, 
-      selectedFiles, 
-      enc,
-      title);
-
-  if (selectedFiles.isEmpty())
-  {
-    return;
-  }
-  else
-  {
-    setDataSource_( layerNode, selectedFiles.first() );
-    if ( ! QgsProject::instance()->read( layerNode ) )
-    {
-      qDebug( "%s:%d unable to re-read layer", __FILE__, __LINE__ );
-    }
-  }
-
-} // findMissingFile_
-
-
-
-
-/** find relocated data source for the given layer
-
-  This QDom object represents a QgsProject node that maps to a specific layer.
-
-  @param layerNode QDom node containing layer project information
-
-  @todo
-
-  XXX Only implemented for file based layers.  It will need to be extended for
-  XXX other data source types such as databases.
-
-*/
-static
-  void
-findLayer_( QString const & fileFilters, QDomNode const & constLayerNode ) 
-{
-  // XXX actually we could possibly get away with a copy of the node
-  QDomNode & layerNode = const_cast<QDomNode&>(constLayerNode);
-
-  switch ( providerType_(layerNode) )
-  {
-    case IS_FILE:
-      qDebug( "%s:%d layer is file based", __FILE__, __LINE__ );
-      findMissingFile_( fileFilters, layerNode );
-      break;
-
-    case IS_DATABASE:
-      qDebug( "%s:%d layer is database based", __FILE__, __LINE__ );
-      break;
-
-    case IS_URL:
-      qDebug( "%s:%d layer is URL based", __FILE__, __LINE__ );
-      break;
-
-    case IS_UNKNOWN:
-      qDebug( "%s:%d layer has an unkown type", __FILE__, __LINE__ );
-      break;
-  }
-
-}; // findLayer_
-
-
-
-
-/** find relocated data sources for given layers
-
-  These QDom objects represent QgsProject nodes that map to specific layers.
-
-*/
-static
-  void
-findLayers_( QString const & fileFilters, list<QDomNode> const & layerNodes )
-{
-#ifdef QGISDEBUG
-  const char * fileFiltersC = fileFilters.ascii(); // debugger probe
-#endif
-
-  for( list<QDomNode>::const_iterator i = layerNodes.begin();
-      i != layerNodes.end();
-      ++i )
-  {
-    findLayer_( fileFilters, *i );
-  }
-
-} // findLayers_
-
-
-
-
-
-
-
-void QgisApp::fileExit()
-{
-  if (saveDirty() != QMessageBox::Cancel)
-  {
-    removeAllLayers();
-    qApp->exit(0);
-  }
-}
-
-
-
-void QgisApp::fileNew()
-{
-  fileNew(TRUE); // prompts whether to save project
-} // fileNew()
-
-
-//as file new but accepts flags to indicate whether we should prompt to save
-void QgisApp::fileNew(bool thePromptToSaveFlag)
-{ 
-  if (thePromptToSaveFlag)
-  {
-    int answer = saveDirty();
-
-    if (answer == QMessageBox::Cancel)
-    {
-      return;
-    }
-  }
-  
-#ifdef QGISDEBUG
-    std::cout << "erasing project" << std::endl;
-#endif
-  
-  mMapCanvas->freeze(true);
-  QgsMapLayerRegistry::instance()->removeAllMapLayers();
-  mMapCanvas->clear();
-
-  QgsProject* prj = QgsProject::instance();
-  prj->title( QString::null );
-  prj->filename( QString::null );
-  prj->clearProperties(); // why carry over properties from previous projects?
-  
-  QSettings settings;
-  
-  //set the colour for selections
-  //the default can be set in qgisoptions 
-  //use project properties to override the colour on a per project basis
-  int myRed = settings.value("/qgis/default_selection_color_red",255).toInt();
-  int myGreen = settings.value("/qgis/default_selection_color_green",255).toInt();
-  int myBlue = settings.value("/qgis/default_selection_color_blue",0).toInt();
-  prj->writeEntry("Gui","/SelectionColorRedPart",myRed);
-  prj->writeEntry("Gui","/SelectionColorGreenPart",myGreen);
-  prj->writeEntry("Gui","/SelectionColorBluePart",myBlue); 
-  QgsRenderer::mSelectionColor=QColor(myRed,myGreen,myBlue);
-
-  //set the canvas to the default background colour
-  //the default can be set in qgisoptions 
-  //use project properties to override the colour on a per project basis
-  myRed = settings.value("/qgis/default_canvas_color_red",255).toInt();
-  myGreen = settings.value("/qgis/default_canvas_color_green",255).toInt();
-  myBlue = settings.value("/qgis/default_canvas_color_blue",255).toInt();
-  prj->writeEntry("Gui","/CanvasColorRedPart",myRed);
-  prj->writeEntry("Gui","/CanvasColorGreenPart",myGreen);
-  prj->writeEntry("Gui","/CanvasColorBluePart",myBlue);  
-  mMapCanvas->setCanvasColor(QColor(myRed,myGreen,myBlue));
-    
-  prj->dirty(false);
-
-  setTitleBarText_( *this );
-    
-#ifdef QGISDEBUG
-  std::cout << "emiting new project signal" << std::endl ;
-#endif
-
-  //note by Tim: I did some casual egrepping and this signal doesnt actually
-  //seem to be connected to anything....why is it here? Just for future needs?
-  //note by Martin: actually QgsComposer does use it
-  emit newProject();
-
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-  
-  //set the projections enabled icon in the status bar
-  int myProjectionEnabledFlag = prj->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0);
-  projectionsEnabled(myProjectionEnabledFlag);  
-  
-  pan(); // set map tool - panning
-
-} // QgisApp::fileNew(bool thePromptToSaveFlag)
-
-
-void QgisApp::newVectorLayer()
-{
-
-  QGis::WKBTYPE geometrytype;
-  QString fileformat;
-
-  QgsGeomTypeDialog geomDialog(this);
-  if(geomDialog.exec()==QDialog::Rejected)
-  {
-    return;
-  }
-  geometrytype = geomDialog.selectedType();
-  fileformat = geomDialog.selectedFileFormat();
-
-  std::list<std::pair<QString, QString> > attributes;
-  geomDialog.attributes(attributes);
-
-  bool haveLastUsedFilter = false; // by default, there is no last
-  // used filter
-  QString enc;
-  QString filename;
-
-  QSettings settings;         // where we keep last used filter in
-  // persistant state
-
-  QString lastUsedFilter = settings.readEntry("/UI/lastVectorFileFilter",
-      QString::null,
-      &haveLastUsedFilter);
-
-  QString lastUsedDir = settings.readEntry("/UI/lastVectorFileFilterDir",
-      ".");
-
-  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
-
-#ifdef QGISDEBUG
-
-  std::cerr << "Saving vector file dialog without filters: " << std::endl;
-#endif
-
-  QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(this,
-      tr("Save As"), lastUsedDir, "", lastUsedEncoding);
-
-  // allow for selection of more than one file
-  openFileDialog->setMode(QFileDialog::AnyFile);
-  openFileDialog->setAcceptMode(QFileDialog::AcceptSave); 
-  openFileDialog->setConfirmOverwrite( true ); 
-
-  if (haveLastUsedFilter)       // set the filter to the last one used
-  {
-    openFileDialog->selectFilter(lastUsedFilter);
-  }
-
-  if (openFileDialog->exec() != QDialog::Accepted)
-  {
-    delete openFileDialog;
-    return;
-  }
-
-  filename = openFileDialog->selectedFile();
-  enc = openFileDialog->encoding();
-
-  // If the file exists, delete it otherwise we'll end up loading that
-  // file, which can cause problems (e.g., if the file contains
-  // linestrings, but we're wanting to create points, we'll end up
-  // with a linestring file).
-  QFile::remove(filename);
-
-  settings.writeEntry("/UI/lastVectorFileFilter", openFileDialog->selectedFilter());
-
-  settings.writeEntry("/UI/lastVectorFileFilterDir", openFileDialog->directory().absolutePath());
-  settings.writeEntry("/UI/encoding", openFileDialog->encoding());
-
-  delete openFileDialog;
-
-  //try to create the new layer with OGRProvider instead of QgsVectorFileWriter
-  QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
-  QString ogrlib = pReg->library("ogr");
-  // This var is not used...remove? TS FIXME
-  const char *cOgrLib = (const char *) ogrlib;
-  // load the data provider
-  QLibrary* myLib = new QLibrary((const char *) ogrlib);
-  bool loaded = myLib->load();
-  if (loaded)
-  {
-#ifdef QGISDEBUG
-    qWarning("ogr provider loaded");
-#endif
-    typedef bool (*createEmptyDataSourceProc)(const QString&, const QString&, const QString&, QGis::WKBTYPE, \
-        const std::list<std::pair<QString, QString> >&);
-    createEmptyDataSourceProc createEmptyDataSource=(createEmptyDataSourceProc)myLib->resolve("createEmptyDataSource");
-    if(createEmptyDataSource)
-    {
-      if(geometrytype == QGis::WKBPoint)
-      {
-        createEmptyDataSource(filename,fileformat, enc, QGis::WKBPoint, attributes);
-      }
-      else if (geometrytype == QGis::WKBLineString)
-      {
-        createEmptyDataSource(filename,fileformat, enc, QGis::WKBLineString, attributes);
-      }
-      else if(geometrytype == QGis::WKBPolygon)
-      {
-        createEmptyDataSource(filename,fileformat, enc, QGis::WKBPolygon, attributes);
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        qWarning("QgisApp.cpp: geometry type not recognised");
-#endif
-        return;
-      }
-    }
-    else
-    {
-#ifdef QGISDEBUG
-      qWarning("Resolving newEmptyDataSource(...) failed");;
-#endif
-    }
-  }
-
-  //then add the layer to the view
-  QStringList filelist;
-  filelist.append(filename);
-  addLayer(filelist, enc);
-  return;
-}
-
-void QgisApp::fileOpen()
-{
-  // possibly save any pending work before opening a new project
-  int answer = saveDirty();
-
-  if (answer != QMessageBox::Cancel)
-  {
-    // Retrieve last used project dir from persistent settings
-    QSettings settings;
-    QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
-
-    QFileDialog * openFileDialog = new QFileDialog(this,
-        tr("Choose a QGIS project file to open"),
-        lastUsedDir, QObject::tr("QGis files (*.qgs)"));
-    openFileDialog->setMode(QFileDialog::ExistingFile);
-
-
-    QString fullPath;
-    if (openFileDialog->exec() == QDialog::Accepted)
-    {
-      // Fix by Tim - getting the dirPath from the dialog
-      // directly truncates the last node in the dir path.
-      // This is a workaround for that
-      fullPath = openFileDialog->selectedFile();
-      QFileInfo myFI(fullPath);
-      QString myPath = myFI.dirPath();
-      // Persist last used project dir
-      settings.writeEntry("/UI/lastProjectDir", myPath);
-    }
-    else 
-    {
-      // if they didn't select anything, just return
-      delete openFileDialog;
-      return;
-    }
-
-    delete openFileDialog;
-
-    // clear out any stuff from previous project
-    removeAllLayers();
-
-    QgsProject::instance()->filename( fullPath );
-
-    try 
-    {
-      if ( QgsProject::instance()->read() )
-      {
-        setTitleBarText_( *this );
-        mMapCanvas->setMapUnits(QgsProject::instance()->mapUnits());
-        emit projectRead();     // let plug-ins know that we've read in a new
-        // project so that they can check any project
-        // specific plug-in state
-
-        // add this to the list of recently used project files
-        saveRecentProjectPath(fullPath, settings);
-      }
-    }
-    catch ( QgsProjectBadLayerException & e )
-    {
-      QMessageBox::critical(this, 
-          tr("QGIS Project Read Error"), 
-          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) );
-      qDebug( "%s:%d %d bad layers found", __FILE__, __LINE__, e.layers().size() );
-
-      // attempt to find the new locations for missing layers
-      // XXX vector file hard-coded -- but what if it's raster?
-      findLayers_( mVectorFileFilter, e.layers() );
-    }
-    catch ( std::exception & e )
-    {
-      QMessageBox::critical(this, 
-          tr("QGIS Project Read Error"), 
-          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) );
-      qDebug( "%s:%d BAD LAYERS FOUND", __FILE__, __LINE__ );
-    }
-  }
-  //loop through all layers in the layers registry and connect up 
-  // keybindings for the escape key
-  std::map<QString, QgsMapLayer *> myMapLayers 
-    = QgsMapLayerRegistry::instance()->mapLayers();
-  std::map<QString, QgsMapLayer *>::iterator myMapIterator;
-  for ( myMapIterator = myMapLayers.begin(); myMapIterator != myMapLayers.end(); ++myMapIterator )
-  {
-
-    QgsMapLayer * myMapLayer = myMapIterator->second;
-    QObject::connect(this,
-        SIGNAL(keyPressed(QKeyEvent *)),
-        myMapLayer,
-        SLOT(keyPressed(QKeyEvent* )));
-  }
-
-  //set the projections enabled icon in the status bar
-  int myProjectionEnabledFlag =
-    QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0);
-  projectionsEnabled(myProjectionEnabledFlag);
-} // QgisApp::fileOpen
-
-
-
-/**
-  adds a saved project to qgis, usually called on startup by specifying a
-  project file on the command line
-  */
-bool QgisApp::addProject(QString projectFile)
-{
-  mMapCanvas->freeze(true);
-
-  // clear the map canvas
-  removeAllLayers();
-
-  try
-  {
-    if ( QgsProject::instance()->read( projectFile ) )
-    {
-      setTitleBarText_( *this );
-      int  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
-      int  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
-      int  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
-      QColor myColor = QColor(myRedInt,myGreenInt,myBlueInt);
-      mMapCanvas->setCanvasColor(myColor); //this is fill colour before rendering starts
-      qDebug("Canvas background color restored...");
-
-      emit projectRead(); // let plug-ins know that we've read in a new
-      // project so that they can check any project
-      // specific plug-in state
-
-      // add this to the list of recently used project files
-      QSettings settings;
-      saveRecentProjectPath(projectFile, settings);
-    }
-    else
-    {
-      mMapCanvas->freeze(false);
-      mMapCanvas->refresh();
-      return false;
-    }
-  }
-  catch ( QgsProjectBadLayerException & e )
-  {
-    qDebug( "%s:%d %d bad layers found", __FILE__, __LINE__, e.layers().size() );
-
-    if ( QMessageBox::Yes == QMessageBox::critical( this, 
-          tr("QGIS Project Read Error"), 
-          tr("") + "\n" + QString::fromLocal8Bit( e.what() ) + "\n" +
-          tr("Try to find missing layers?"),
-          QMessageBox::Yes | QMessageBox::Default, 
-          QMessageBox::No  | QMessageBox::Escape ) )
-    {
-      qDebug( "%s:%d want to find missing layers is true", __FILE__, __LINE__ );
-
-      // attempt to find the new locations for missing layers
-      // XXX vector file hard-coded -- but what if it's raster?
-      findLayers_( mVectorFileFilter, e.layers() );
-    }
-
-  }
-  catch ( std::exception & e )
-  {
-    qDebug( "%s:%d BAD LAYERS FOUND", __FILE__, __LINE__ );
-
-    QMessageBox::critical( 0x0, 
-        tr("Unable to open project"), QString::fromLocal8Bit( e.what() ), QMessageBox::Ok, 
-        Qt::NoButton );
-
-    mMapCanvas->freeze(false);
-    mMapCanvas->refresh();
-    return false;
-  }
-
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-  return true;
-} // QgisApp::addProject(QString projectFile)
-
-
-
-bool QgisApp::fileSave()
-{
-  // if we don't have a filename, then obviously we need to get one; note
-  // that the project file name is reset to null in fileNew()
-  QFileInfo fullPath;
-
-  // we need to remember if this is a new project so that we know to later
-  // update the "last project dir" settings; we know it's a new project if
-  // the current project file name is empty
-  bool isNewProject = false;
-
-  if ( QgsProject::instance()->filename().isNull() )
-  {
-    isNewProject = true;
-
-    // Retrieve last used project dir from persistent settings
-    QSettings settings;
-    QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
-
-    std::auto_ptr<QFileDialog> saveFileDialog( new QFileDialog(this,
-        tr("Choose a QGIS project file"),
-        lastUsedDir, QObject::tr("QGis files (*.qgs)")) );
-
-    saveFileDialog->setMode(QFileDialog::AnyFile);
-    saveFileDialog->setAcceptMode(QFileDialog::AcceptSave); 
-    saveFileDialog->setConfirmOverwrite( true ); 
-
-    if (saveFileDialog->exec() == QDialog::Accepted)
-    {
-      fullPath.setFile( saveFileDialog->selectedFile() );
-    }
-    else 
-    {
-      // if they didn't select anything, just return
-      // delete saveFileDialog; auto_ptr auto destroys
-      return false;
-    }
-
-    // make sure we have the .qgs extension in the file name
-    if( "qgs" != fullPath.extension( false ) )
-    {
-      QString newFilePath = fullPath.filePath() + ".qgs";
-#ifdef QGISDEBUG
-      const char* filePathStr = newFilePath.ascii(); // debugger probe
-#endif
-      fullPath.setFile( newFilePath );
-    }
-
-
-#ifdef QGISDEBUG
-    const char* filePathStr = fullPath.filePath().ascii(); // debugger probe
-#endif
-    QgsProject::instance()->filename( fullPath.filePath() );
-  }
-
-  try
-  {
-    if ( QgsProject::instance()->write() )
-    {
-      setTitleBarText_(*this); // update title bar
-      statusBar()->message(tr("Saved project to:") + " " + QgsProject::instance()->filename() );
-
-      if (isNewProject)
-      {
-        // add this to the list of recently used project files
-        QSettings settings;
-        saveRecentProjectPath(fullPath.filePath(), settings);
-      }
-    }
-    else
-    {
-      QMessageBox::critical(this,
-          tr("Unable to save project"),
-          tr("Unable to save project to ") + QgsProject::instance()->filename() );
-    }
-  }
-  catch ( std::exception & e )
-  {
-    QMessageBox::critical( 0x0,
-        tr("Unable to save project ") + QgsProject::instance()->filename(),
-        QString::fromLocal8Bit( e.what() ),
-        QMessageBox::Ok,
-        Qt::NoButton );
-
-  }
-  return true;
-} // QgisApp::fileSave
-
-
-
-void QgisApp::fileSaveAs()
-{
-  // Retrieve last used project dir from persistent settings
-  QSettings settings;
-  QString lastUsedDir = settings.readEntry("/UI/lastProjectDir", ".");
-
-  auto_ptr<QFileDialog> saveFileDialog( new QFileDialog(this,
-      tr("Choose a filename to save the QGIS project file as"),
-      lastUsedDir, QObject::tr("QGis files (*.qgs)")) );
-
-  saveFileDialog->setMode(QFileDialog::AnyFile);
-
-  saveFileDialog->setAcceptMode(QFileDialog::AcceptSave);
-
-  saveFileDialog->setConfirmOverwrite( true );
-
-  // if we don't have a filename, then obviously we need to get one; note
-  // that the project file name is reset to null in fileNew()
-  QFileInfo fullPath;
-
-  if (saveFileDialog->exec() == QDialog::Accepted)
-  {
-    // Fix by Tim - getting the dirPath from the dialog
-    // directly truncates the last node in the dir path.
-    // This is a workaround for that
-    fullPath.setFile(saveFileDialog->selectedFile());
-    QString myPath = fullPath.dirPath();
-    // Persist last used project dir
-    settings.writeEntry("/UI/lastProjectDir", myPath);
-  } 
-  else
-  {
-    // if they didn't select anything, just return
-    // delete saveFileDialog; auto_ptr auto deletes
-    return;
-  }
-
-  // make sure the .qgs extension is included in the path name. if not, add it...
-  if( "qgs" != fullPath.extension( false ) )
-  {
-    QString newFilePath = fullPath.filePath() + ".qgs";
-#ifdef QGISDEBUG
-    const char* filePathStr = newFilePath.ascii(); // debugger probe
-#endif
-    fullPath.setFile( newFilePath );
-  }
-
-  try
-  {
-    QgsProject::instance()->filename( fullPath.filePath() );
-
-    if ( QgsProject::instance()->write() )
-    {
-      setTitleBarText_(*this); // update title bar
-      statusBar()->message(tr("Saved project to:") + " " + QgsProject::instance()->filename() );
-      // add this to the list of recently used project files
-      saveRecentProjectPath(fullPath.filePath(), settings);
-    }
-    else
-    {
-      QMessageBox::critical(this,
-          tr("Unable to save project"),
-          tr("Unable to save project to ") + QgsProject::instance()->filename() );
-    }
-  }
-  catch ( std::exception & e )
-  {
-    QMessageBox::critical( 0x0,
-        tr("Unable to save project ") + QgsProject::instance()->filename(),
-        QString::fromLocal8Bit( e.what() ),
-        QMessageBox::Ok,
-        Qt::NoButton );
-  }
-} // QgisApp::fileSaveAs
-
-
-
-
-
-
-// Open the project file corresponding to the
-// path at the given index in mRecentProjectPaths
-void QgisApp::openProject(QAction *action)
-{
-
-  // possibly save any pending work before opening a different project
-  QString debugme;
-  assert(action != NULL);
-
-  debugme = action->text();
-
-  int answer = saveDirty();
-  if (answer != QMessageBox::Cancel)
-  {
-    addProject(debugme);
-
-  }
-  //set the projections enabled icon in the status bar
-  int myProjectionEnabledFlag =
-    QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0);
-  projectionsEnabled(myProjectionEnabledFlag);
-
-} // QgisApp::openProject
-
-/**
-  Open the specified project file; prompt to save previous project if necessary.
-  Used to process a commandline argument or OpenDocument AppleEvent.
-  */
-void QgisApp::openProject(const QString & fileName)
-{
-  // possibly save any pending work before opening a different project
-  int answer = saveDirty();
-
-  if (answer != QMessageBox::Cancel)
-  {
-    try
-    {
-      if ( ! addProject(fileName) )
-      {
-#ifdef QGISDEBUG
-        std::cerr << "unable to load project " << fileName.toLocal8Bit().data() << "\n";
-#endif
-      }
-      else
-      {
-      }
-    }
-    catch ( QgsIOException & io_exception )
-    {
-      QMessageBox::critical( 0x0, 
-          tr("QGIS: Unable to load project"), 
-          tr("Unable to load project ") + fileName );
-    }
-  }
-  return ;
-}
-
-
-/**
-  Open a raster or vector file; ignore other files.
-  Used to process a commandline argument or OpenDocument AppleEvent.
-  @returns true if the file is successfully opened
-  */
-bool QgisApp::openLayer(const QString & fileName)
-{
-  QFileInfo fileInfo(fileName);
-  // try to load it as raster
-  bool ok = false;
-  CPLPushErrorHandler(CPLQuietErrorHandler); 
-  if (QgsRasterLayer::isValidRasterFileName(fileName))
-    ok = addRasterLayer(fileInfo, false);
-  else // nope - try to load it as a shape/ogr
-    ok = addLayer(fileInfo);
-  CPLPopErrorHandler();
-
-  if (!ok)
-  {
-    // we have no idea what this file is...
-    std::cout << "Unable to load " << fileName.toLocal8Bit().data() << std::endl;
-  }
-
-  return ok;
-}
-
-
-/*
-   void QgisApp::filePrint()
-   {
-//
-//  Warn the user first that priting is experimental still
-//
-QString myHeading = "QGIS Printing Support is Experimental";
-QString myMessage = "Please note that printing only works on A4 landscape at the moment.\n";
-myMessage += "For other page sizes your mileage may vary.\n";
-QMessageBox::information( this, tr(myHeading),tr(myMessage) );
-
-QPrinter myQPrinter;
-if(myQPrinter.setup(this))
-{
-#ifdef QGISDEBUG
-std::cout << ".............................." << std::endl;
-std::cout << "...........Printing..........." << std::endl;
-std::cout << ".............................." << std::endl;
-#endif
-// Ithought we could just do this:
-//mMapCanvas->render(&myQPrinter);
-//but it doesnt work so now we try this....
-QPaintDeviceMetrics myMetrics( &myQPrinter ); // need width/height of printer surface
-std::cout << "Print device width: " << myMetrics.width() << std::endl;
-std::cout << "Print device height: " << myMetrics.height() << std::endl;
-QPainter myQPainter;
-myQPainter.begin( &myQPrinter );
-QPixmap myQPixmap(myMetrics.width(),myMetrics.height());
-myQPixmap.fill();
-mMapCanvas->freeze(false);
-mMapCanvas->setDirty(true);
-mMapCanvas->render(&myQPixmap);
-myQPainter.drawPixmap(0,0, myQPixmap);
-myQPainter.end();
-}
-}
-*/
-
-void QgisApp::filePrint()
-{
-  mComposer->open();
-  mComposer->zoomFull();
-}
-
-void QgisApp::saveMapAsImage()
-{
-  //create a map to hold the QImageIO names and the filter names
-  //the QImageIO name must be passed to the mapcanvas saveas image function
-  typedef QMap<QString, QString> FilterMap;
-  FilterMap myFilterMap;
-
-  //find out the last used filter
-  QSettings myQSettings;  // where we keep last used filter in persistant state
-  QString myLastUsedFilter = myQSettings.readEntry("/UI/saveAsImageFilter");
-  QString myLastUsedDir = myQSettings.readEntry("/UI/lastSaveAsImageDir",".");
-
-
-  // get a list of supported output image types
-  int myCounterInt=0;
-  QString myFilters;
-  QList<QByteArray> formats = QPictureIO::outputFormats();
-  // Workaround for a problem with Qt4 - calls to outputFormats tend
-  // to return nothing :(
-  if (formats.count() == 0)
-  {
-    formats.append("png");
-    formats.append("jpg");
-  }
-
-  for ( ; myCounterInt < formats.count(); myCounterInt++ )
-  {
-    QString myFormat=QString(formats.at( myCounterInt ));
-    QString myFilter = createFileFilter_(myFormat + " format", "*."+myFormat);
-    myFilters += myFilter;
-    myFilterMap[myFilter] = myFormat;
-  }
-#ifdef QGISDEBUG
-  std::cout << "Available Filters Map: " << std::endl;
-  FilterMap::Iterator myIterator;
-  for ( myIterator = myFilterMap.begin(); myIterator != myFilterMap.end(); ++myIterator )
-  {
-    std::cout << myIterator.key().toLocal8Bit().data() << "  :  " << myIterator.data().toLocal8Bit().data() << std::endl;
-  }
-
-#endif
-
-  //create a file dialog using the the filter list generated above
-  std::auto_ptr < QFileDialog > myQFileDialog( new QFileDialog(this,
-      tr("Choose a filename to save the map image as"),
-      myLastUsedDir, myFilters) );
-
-  // allow for selection of more than one file
-  myQFileDialog->setMode(QFileDialog::AnyFile);
-
-  myQFileDialog->setAcceptMode(QFileDialog::AcceptSave);
-
-  myQFileDialog->setConfirmOverwrite( true );
-
-
-  if (!myLastUsedFilter.isEmpty())       // set the filter to the last one used
-  {
-    myQFileDialog->selectFilter(myLastUsedFilter);
-  }
-
-
-  //prompt the user for a filename
-  QString myOutputFileNameQString; // = myQFileDialog->getSaveFileName(); //delete this
-  if (myQFileDialog->exec() == QDialog::Accepted)
-  {
-    myOutputFileNameQString = myQFileDialog->selectedFile();
-  }
-
-  QString myFilterString = myQFileDialog->selectedFilter()+";;";
-#ifdef QGISDEBUG
-
-  std::cout << "Selected filter: " << myFilterString.toLocal8Bit().data() << std::endl;
-  std::cout << "Image type to be passed to mapcanvas: " << (myFilterMap[myFilterString]).toLocal8Bit().data() << std::endl;
-#endif
-
-  // Add the file type suffix to the filename if required
-  if (!myOutputFileNameQString.endsWith(myFilterMap[myFilterString]))
-  {
-    myOutputFileNameQString += "." + myFilterMap[myFilterString];
-  }
-
-  myQSettings.writeEntry("/UI/lastSaveAsImageFilter" , myFilterString);
-  myQSettings.writeEntry("/UI/lastSaveAsImageDir", myQFileDialog->directory().absolutePath());
-
-  if ( myOutputFileNameQString !="")
-  {
-
-    //save the mapview to the selected file
-    mMapCanvas->saveAsImage(myOutputFileNameQString,NULL,myFilterMap[myFilterString]);
-    statusBar()->message(tr("Saved map image to") + " " + myOutputFileNameQString);
-  }
-
-} // saveMapAsImage
-
-
-
-//overloaded version of the above function
-void QgisApp::saveMapAsImage(QString theImageFileNameQString, QPixmap * theQPixmap)
-{
-  if ( theImageFileNameQString=="")
-  {
-    //no filename chosen
-    return;
-  }
-  else
-  {
-    //force the size of the canvase
-    mMapCanvas->resize(theQPixmap->width(), theQPixmap->height());
-    //save the mapview to the selected file
-    mMapCanvas->saveAsImage(theImageFileNameQString,theQPixmap);
-  }
-} // saveMapAsImage
-
-
-//reimplements method from base (gui) class
-void QgisApp::addAllToOverview()
-{
-  std::map<QString, QgsMapLayer *> myMapLayers = QgsMapLayerRegistry::instance()->mapLayers();
-  std::map<QString, QgsMapLayer *>::iterator myMapIterator;
-  for ( myMapIterator = myMapLayers.begin(); myMapIterator != myMapLayers.end(); ++myMapIterator )
-  {
-    QgsMapLayer * myMapLayer = myMapIterator->second;
-    myMapLayer->inOverview(true); // won't do anything if already in overview
-  }
-  mMapCanvas->updateOverview();
-  
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-//reimplements method from base (gui) class
-void QgisApp::removeAllFromOverview()
-{
-  std::map<QString, QgsMapLayer *> myMapLayers = QgsMapLayerRegistry::instance()->mapLayers();
-  std::map<QString, QgsMapLayer *>::iterator myMapIterator;
-  for ( myMapIterator = myMapLayers.begin(); myMapIterator != myMapLayers.end(); ++myMapIterator )
-  {
-    QgsMapLayer * myMapLayer = myMapIterator->second;
-    myMapLayer->inOverview(false);
-  }
-  mMapCanvas->updateOverview();
-  
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-} // QgisApp::removeAllFromOverview()
-
-
-//reimplements method from base (gui) class
-void QgisApp::hideAllLayers()
-{
-#ifdef QGISDEBUG
-  std::cout << "hiding all layers!" << std::endl;
-#endif
-
-  legend()->selectAll(false);
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-
-// reimplements method from base (gui) class
-void QgisApp::showAllLayers()
-{
-#ifdef QGISDEBUG
-  std::cout << "Showing all layers!" << std::endl;
-#endif
-
-  legend()->selectAll(true);
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-void QgisApp::exportMapServer()
-{
-  // check to see if there are any layers to export
-  // Possibly we may reinstate this in the future if we provide 'active project' export again
-  //if (mMapCanvas->layerCount() > 0)
-  //{
-    QString myMSExportPath = QgsApplication::msexportAppPath(); 
-    QProcess *process = new QProcess;
-#ifdef WIN32
-    // quote the application path on windows
-    myMSExportPath = QString("\"") + myMSExportPath + QString("\"");
-#endif
-    process->start(myMSExportPath);
-
-    // Delete this object if the process terminates
-    connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), 
-        SLOT(processExited()));
-
-    // Delete the process if the application quits
-    connect(qApp, SIGNAL(aboutToQuit()), process, SLOT(terminate()));
-
-  //}
-  //else
-  //{
-  //  QMessageBox::warning(this, tr("No Map Layers"),
-  //      tr("No layers to export. You must add at least one layer to the map in order to export the view."));
-  //}
-}
-
-
-
-void QgisApp::zoomIn()
-{
-  QgsDebugMsg ("Setting map tool to zoomIn");
-  
-  mMapCanvas->setMapTool(mMapTools.mZoomIn);
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-
-void QgisApp::zoomOut()
-{
-  mMapCanvas->setMapTool(mMapTools.mZoomOut);
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-void QgisApp::zoomToSelected()
-{
-  mMapCanvas->zoomToSelected();
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-void QgisApp::pan()
-{
-  mMapCanvas->setMapTool(mMapTools.mPan);
-}
-
-void QgisApp::zoomFull()
-{
-  mMapCanvas->zoomFullExtent();
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-
-}
-
-void QgisApp::zoomPrevious()
-{
-  mMapCanvas->zoomPreviousExtent();
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-
-}
-
-void QgisApp::identify()
-{
-  mMapCanvas->setMapTool(mMapTools.mIdentify);
-}
-
-void QgisApp::measure()
-{
-  mMapCanvas->setMapTool(mMapTools.mMeasureDist);
-}
-
-void QgisApp::measureArea()
-{
-  mMapCanvas->setMapTool(mMapTools.mMeasureArea);
-}
-
-
-
-void QgisApp::attributeTable()
-{
-  QgsMapLayer *layer = mMapLegend->currentLayer();
-  if (layer)
-  {
-    layer->table(this);
-  }
-  else
-  {
-    QMessageBox::information(this, tr("No Layer Selected"),
-        tr("To open an attribute table, you must select a layer in the legend"));
-  }
-}
-
-void QgisApp::deleteSelected()
-{
-  QgsMapLayer *layer = mMapLegend->currentLayer();
-  if(layer)
-  {
-    QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(layer);
-    if(vlayer)
-    {
-      if(!vlayer->deleteSelectedFeatures())
-      {
-        QMessageBox::information(this, tr("Problem deleting features"),
-            tr("A problem occured during deletion of features"));
-      }
-    }
-    else
-    {
-      QMessageBox::information(this, tr("No Vector Layer Selected"),
-          tr("Deleting features only works on vector layers"));
-    }
-  }
-  else
-  {
-    QMessageBox::information(this, tr("No Layer Selected"),
-        tr("To delete features, you must select a vector layer in the legend"));
-  }
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-void QgisApp::capturePoint()
-{
-  // set current map tool to select
-  mMapCanvas->setMapTool(mMapTools.mCapturePoint);
-  
-  // FIXME: is this still actual or something old that's not used anymore?
-  //connect(t, SIGNAL(xyClickCoordinates(QgsPoint &)), this, SLOT(showCapturePointCoordinate(QgsPoint &)));
-}
-
-void QgisApp::captureLine()
-{
-  mMapCanvas->setMapTool(mMapTools.mCaptureLine);
-}
-
-void QgisApp::capturePolygon()
-{
-  mMapCanvas->setMapTool(mMapTools.mCapturePolygon);
-}
-
-void QgisApp::select()
-{
-  mMapCanvas->setMapTool(mMapTools.mSelect);
-}
-
-
-void QgisApp::addVertex()
-{
-  mMapCanvas->setMapTool(mMapTools.mVertexAdd);
-  
-}
-
-void QgisApp::moveVertex()
-{
-  mMapCanvas->setMapTool(mMapTools.mVertexMove);
-}
-
-
-void QgisApp::deleteVertex()
-{
-  mMapCanvas->setMapTool(mMapTools.mVertexDelete);
-}
-
-
-void QgisApp::editCut(QgsMapLayer * layerContainingSelection)
-{
-  QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ?
-                                 (layerContainingSelection) :
-                                 (activeLayer());
-
-  if (selectionLayer)
-  {
-    // Test for feature support in this layer
-    QgsVectorLayer* selectionVectorLayer = dynamic_cast<QgsVectorLayer*>(selectionLayer);
-
-    if (selectionVectorLayer != 0)
-    {
-      clipboard()->replaceWithCopyOf( *(selectionVectorLayer->selectedFeatures()) );
-      selectionVectorLayer->deleteSelectedFeatures();
-    }
-  }
-}
-
-
-void QgisApp::editCopy(QgsMapLayer * layerContainingSelection)
-{
-  QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ?
-                                 (layerContainingSelection) :
-                                 (activeLayer());
-
-  if (selectionLayer)
-  {
-    // Test for feature support in this layer
-    QgsVectorLayer* selectionVectorLayer = dynamic_cast<QgsVectorLayer*>(selectionLayer);
-
-    if (selectionVectorLayer != 0)
-    {
-      clipboard()->replaceWithCopyOf( *(selectionVectorLayer->selectedFeatures()) );
-    }
-  }
-}
-
-
-void QgisApp::editPaste(QgsMapLayer * destinationLayer)
-{
-  QgsMapLayer * pasteLayer = (destinationLayer != 0) ?
-                             (destinationLayer) :
-                             (activeLayer());
-
-  if (pasteLayer)
-  {
-    // Test for feature support in this layer
-    QgsVectorLayer* pasteVectorLayer = dynamic_cast<QgsVectorLayer*>(pasteLayer);
-
-    if (pasteVectorLayer != 0)
-    {
-      pasteVectorLayer->addFeatures( clipboard()->copyOf() );
-      mMapCanvas->refresh();
-    }
-  }
-}
-
-
-void QgisApp::pasteTransformations()
-{
-  QgsPasteTransformations *pt = new QgsPasteTransformations();
-
-  mMapCanvas->freeze();
-
-  pt->exec();
-}
-
-
-void QgisApp::refreshMapCanvas()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgisApp:refreshMapCanvas" << std::endl;
-#endif
-
-  mMapCanvas->refresh();
-}
-
-void QgisApp::startEditing()
-{
-  QgsMapLayer* theLayer = mMapLegend->currentLayer();
-  if(!theLayer)
-    {
-      return;
-    }
-  //only vectorlayers can be edited
-  QgsVectorLayer* theVectorLayer = dynamic_cast<QgsVectorLayer*>(theLayer);
-  if(!theVectorLayer)
-    {
-      return;
-    }
-  theVectorLayer->startEditing();
-}
-  
-void QgisApp::stopEditing()
-{
-  QgsMapLayer* theLayer = mMapLegend->currentLayer();
-  if(!theLayer)
-    {
-      return;
-    }
-  //only vectorlayers can be edited
-  QgsVectorLayer* theVectorLayer = dynamic_cast<QgsVectorLayer*>(theLayer);
-  if(!theVectorLayer)
-    {
-      return;
-    }
-  theVectorLayer->stopEditing();
-}
-
-void QgisApp::showMouseCoordinate(QgsPoint & p)
-{
-  mCoordsLabel->setText(p.stringRep(mMousePrecisionDecimalPlaces));
-  // Set minimum necessary width
-  if ( mCoordsLabel->width() > mCoordsLabel->minimumWidth() )
-  {
-    mCoordsLabel->setMinimumWidth(mCoordsLabel->width());
-  }
-}
-
-void QgisApp::showScale(QString theScale)
-{
-  mScaleLabel->setText(theScale);
-  // Set minimum necessary width
-  if ( mScaleLabel->width() > mScaleLabel->minimumWidth() )
-  {
-    mScaleLabel->setMinimumWidth(mScaleLabel->width());
-  }
-}
-
-void QgisApp::testButton()
-{
-  /* QgsShapeFileLayer *sfl = new QgsShapeFileLayer("foo");
-     mMapCanvas->addLayer(sfl); */
-  //      delete sfl;
-
-}
-
-void QgisApp::menubar_highlighted( int i )
-{
-  // used to save us from re-enabling layer menu items every single time the
-  // user tweaks the layers drop down menu
-  static bool enabled;
-
-  if ( 6 == i )               // XXX I hate magic numbers; where is '6' defined
-    // XXX for Layers menu?
-  {
-    // first, if there are NO layers, disable everything that assumes we
-    // have at least one layer loaded
-    if ( QgsMapLayerRegistry::instance()->mapLayers().empty() )
-    {
-      mActionRemoveLayer->setEnabled(false);
-      mActionRemoveAllFromOverview->setEnabled(false);
-      mActionInOverview->setEnabled(false);
-      mActionShowAllLayers->setEnabled(false);
-      mActionHideAllLayers->setEnabled(false);
-      mActionOpenTable->setEnabled(false);
-      mActionLayerProperties->setEnabled(false);
-
-      enabled = false;
-    }
-    else
-    {
-      if ( ! enabled )
-      {
-        mActionRemoveLayer->setEnabled(true);
-        mActionRemoveAllFromOverview->setEnabled(true);
-        mActionInOverview->setEnabled(true);
-        mActionShowAllLayers->setEnabled(true);
-        mActionHideAllLayers->setEnabled(true);
-        mActionOpenTable->setEnabled(true);
-        mActionLayerProperties->setEnabled(true);
-      }
-    }
-  }
-} // QgisApp::menubar_highlighted( int i )
-
-
-
-
-// toggle overview status
-void QgisApp::inOverview()
-{
-#ifdef QGISDEBUG
-  std::cout << "QGisApp::inOverview" << std::endl;
-#endif
-
-  QgsMapLayer* layer = mMapLegend->currentLayer();
-  if(layer)
-  {
-    layer->inOverview( ! layer->showInOverviewStatus() );
-    mMapCanvas->updateOverview();
-  }
-} // QgisApp::inOverview(bool)
-
-
-
-void QgisApp::removeLayer()
-{
-  mMapLegend->legendLayerRemove();
-}
-
-
-void QgisApp::removeAllLayers()
-{
-  QgsMapLayerRegistry::instance()->removeAllMapLayers();
-  mMapCanvas->refresh();
-} //remove all layers
-
-
-void QgisApp::zoomToLayerExtent()
-{
-  // zoom only if one or more layers loaded
-  if(QgsMapLayerRegistry::instance()->count() > 0)
-  {
-    QgsMapLayer *layer = mMapLegend->currentLayer();
-    if(layer)
-    {
-      // Check if the layer extent has to be transformed to the map canvas
-      // coordinate system
-#ifdef QGISDEBUG
-      std::cout << "Layer extent is : " << layer->extent() << std::endl;
-#endif
-      if (QgsProject::instance()->readNumEntry("SpatialRefSys",
-                                               "/ProjectionsEnabled",0)!=0)
-      {
-        QgsCoordinateTransform *ct = layer->coordinateTransform();
-        try 
-        {
-          QgsRect transformedExtent = ct->transform(layer->extent());
-          mMapCanvas->setExtent(transformedExtent);
-#ifdef QGISDEBUG
-          std::cout << "Canvas extent is : " << transformedExtent 
-                    << std::endl;
-#endif
-        }
-        catch(QgsCsException &cse)
-        {
-#ifdef QGISDEBUG
-          std::cout << "Caught transform error in zoomToLayerExtent(). "
-                    << "Setting untransformed extents." << std::endl;
-#endif	
-          mMapCanvas->setExtent(layer->extent());
-        }
-      }
-      else
-      {
-        mMapCanvas->setExtent(layer->extent());
-      }
-      mMapCanvas->refresh();
-
-      // notify the project we've made a change
-      QgsProject::instance()->dirty(true);
-    }
-  }
-} // QgisApp::zoomToLayerExtent()
-
-
-QgisIface *QgisApp::getInterface()
-{
-  return mQgisInterface;
-}
-
-void QgisApp::showPluginManager()
-{
-  QgsPluginManager *pm = new QgsPluginManager(this);
-  if (pm->exec())
-  {
-    // load selected plugins
-    std::vector < QgsPluginItem > pi = pm->getSelectedPlugins();
-    std::vector < QgsPluginItem >::iterator it = pi.begin();
-    while (it != pi.end())
-    {
-      QgsPluginItem plugin = *it;
-      loadPlugin(plugin.name(), plugin.description(), plugin.fullPath());
-      it++;
-    }
-  }
-}
-
-void QgisApp::loadPlugin(QString name, QString description, QString theFullPathName)
-{
-  QSettings settings;
-  // first check to see if its already loaded
-  QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
-  QString lib = pRegistry->library(name);
-  if (lib.length() > 0)
-  {
-    // plugin is loaded
-    // QMessageBox::warning(this, "Already Loaded", description + " is already loaded");
-  }
-  else
-  {
-    QLibrary *myLib = new QLibrary(theFullPathName);
-#ifdef QGISDEBUG
-
-    std::cerr << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
-#endif
-
-    bool loaded = myLib->load();
-    if (loaded)
-    {
-#ifdef QGISDEBUG
-      std::cerr << "Loaded test plugin library" << std::endl;
-      std::cerr << "Attempting to resolve the classFactory function" << std::endl;
-#endif
-
-      type_t *pType = (type_t *) myLib->resolve("type");
-
-
-      switch (pType())
-      {
-        case QgisPlugin::RENDERER:
-        case QgisPlugin::UI:
-          {
-            // UI only -- doesn't use mapcanvas
-            create_ui *cf = (create_ui *) myLib->resolve("classFactory");
-            if (cf)
-            {
-              QgisPlugin *pl = cf(this, mQgisInterface);
-              if (pl)
-              {
-                pl->initGui();
-                // add it to the plugin registry
-                pRegistry->addPlugin(myLib->library(), name, pl);
-                //add it to the qsettings file [ts]
-                settings.writeEntry("/Plugins/" + name, true);
-              }
-              else
-              {
-                // something went wrong
-                QMessageBox::warning(this, tr("Error Loading Plugin"), tr("There was an error loading %1."));
-                //disable it to the qsettings file [ts]
-                settings.writeEntry("/Plugins/" + name, false);
-              }
-            }
-            else
-            {
-              //#ifdef QGISDEBUG
-              std::cerr << "Unable to find the class factory for " << theFullPathName.toLocal8Bit().data() << std::endl;
-              //#endif
-            }
-
-          }
-          break;
-        case QgisPlugin::MAPLAYER:
-          {
-            // Map layer - requires interaction with the canvas
-            create_it *cf = (create_it *) myLib->resolve("classFactory");
-            if (cf)
-            {
-              QgsMapLayerInterface *pl = cf();
-              if (pl)
-              {
-                // set the main window pointer for the plugin
-                pl->setQgisMainWindow(this);
-                pl->initGui();
-                //add it to the qsettings file [ts]
-                settings.writeEntry("/Plugins/" + name, true);
-
-              }
-              else
-              {
-                // something went wrong
-                QMessageBox::warning(this, tr("Error Loading Plugin"), tr("There was an error loading %1."));
-                //add it to the qsettings file [ts]
-                settings.writeEntry("/Plugins/" + name, false);
-              }
-            }
-            else
-            {
-              //#ifdef QGISDEBUG
-              std::cerr << "Unable to find the class factory for " << theFullPathName.toLocal8Bit().data() << std::endl;
-              //#endif
-            }
-          }
-          break;
-        default:
-          // type is unknown
-          //#ifdef QGISDEBUG
-          std::cerr << "Plugin " << theFullPathName.toLocal8Bit().data() << " did not return a valid type and cannot be loaded" << std::endl;
-          //#endif
-          break;
-      }
-
-      /*  }else{
-          std::cout << "Unable to find the class factory for " << mFullPathName << std::endl;
-          } */
-
-  }
-  else
-  {
-    //#ifdef QGISDEBUG
-    std::cerr << "Failed to load " << theFullPathName.toLocal8Bit().data() << "\n";
-    //#endif
-  }
-  delete myLib;
-}
-}
-void QgisApp::testMapLayerPlugins()
-{
-#ifndef WIN32
-  // map layer plugins live in their own directory (somewhere to be determined)
-  QDir mlpDir("../plugins/maplayer", "*.so.1.0.0", QDir::Name | QDir::IgnoreCase, QDir::Files);
-  if (mlpDir.count() == 0)
-  {
-    QMessageBox::information(this, tr("No MapLayer Plugins"), tr("No MapLayer plugins in ../plugins/maplayer"));
-  }
-  else
-  {
-    for (unsigned i = 0; i < mlpDir.count(); i++)
-    {
-#ifdef QGISDEBUG
-      std::cout << "Getting information for plugin: " << mlpDir[i].toLocal8Bit().data() << std::endl;
-      std::cout << "Attempting to load the plugin using dlopen\n";
-#endif
-      //          void *handle = dlopen("../plugins/maplayer/" + mlpDir[i], RTLD_LAZY);
-      void *handle = dlopen(("../plugins/maplayer/" + mlpDir[i]).toLocal8Bit().data(), RTLD_LAZY | RTLD_GLOBAL );
-      if (!handle)
-      {
-#ifdef QGISDEBUG
-        std::cout << "Error in dlopen: " << dlerror() << std::endl;
-#endif
-
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "dlopen suceeded" << std::endl;
-#endif
-
-        dlclose(handle);
-      }
-
-      QLibrary *myLib = new QLibrary("../plugins/maplayer/" + mlpDir[i]);
-#ifdef QGISDEBUG
-
-      std::cout << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
-#endif
-
-      bool loaded = myLib->load();
-      if (loaded)
-      {
-#ifdef QGISDEBUG
-        std::cout << "Loaded test plugin library" << std::endl;
-        std::cout << "Attempting to resolve the classFactory function" << std::endl;
-#endif
-
-        create_it *cf = (create_it *) myLib->resolve("classFactory");
-
-        if (cf)
-        {
-#ifdef QGISDEBUG
-          std::cout << "Getting pointer to a MapLayerInterface object from the library\n";
-#endif
-
-          QgsMapLayerInterface *pl = cf();
-          if (pl)
-          {
-#ifdef QGISDEBUG
-            std::cout << "Instantiated the maplayer test plugin\n";
-#endif
-            // set the main window pointer for the plugin
-            pl->setQgisMainWindow(this);
-#ifdef QGISDEBUG
-            //the call to getInt is deprecated and this line should be removed
-            //std::cout << "getInt returned " << pl->getInt() << " from map layer plugin\n";
-#endif
-            // set up the gui
-            pl->initGui();
-          }
-          else
-          {
-#ifdef QGISDEBUG
-            std::cout << "Unable to instantiate the maplayer test plugin\n";
-#endif
-
-          }
-        }
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "Failed to load " << mlpDir[i].toLocal8Bit().data() << "\n";
-#endif
-
-      }
-    }
-  }
-#endif //#ifndef WIN32
-}
-void QgisApp::testPluginFunctions()
-{
-  // test maplayer plugins first
-  testMapLayerPlugins();
-  if (false)
-  {
-    // try to load plugins from the plugin directory and test each one
-
-    QDir pluginDir("../plugins", "*.so*", QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
-    //pluginDir.setFilter(QDir::Files || QDir::NoSymLinks);
-    //pluginDir.setNameFilter("*.so*");
-    if (pluginDir.count() == 0)
-    {
-      QMessageBox::information(this, tr("No Plugins"),
-          tr("No plugins found in ../plugins. To test plugins, start qgis from the src directory"));
-    }
-    else
-    {
-
-      for (unsigned i = 0; i < pluginDir.count(); i++)
-      {
-#ifdef QGISDEBUG
-        std::cout << "Getting information for plugin: " << pluginDir[i].toLocal8Bit().data() << std::endl;
-#endif
-
-        QLibrary *myLib = new QLibrary("../plugins/" + pluginDir[i]); //"/home/gsherman/development/qgis/plugins/" + pluginDir[i]);
-#ifdef QGISDEBUG
-
-        std::cout << "Library name is " << myLib->library().toLocal8Bit().data() << std::endl;
-#endif
-        //QLibrary myLib("../plugins/" + pluginDir[i]);
-#ifdef QGISDEBUG
-
-        std::cout << "Attempting to load ../plugins/" << pluginDir[i].toLocal8Bit().data() << std::endl;
-#endif
-        /*  void *handle = dlopen("/home/gsherman/development/qgis/plugins/" + pluginDir[i], RTLD_LAZY);
-            if (!handle) {
-            std::cout << "Error in dlopen: " <<  dlerror() << std::endl;
-
-            }else{
-            std::cout << "dlopen suceeded" << std::endl;
-            dlclose(handle);
-            }
-
-*/
-        bool loaded = myLib->load();
-        if (loaded)
-        {
-#ifdef QGISDEBUG
-          std::cout << "Loaded test plugin library" << std::endl;
-          std::cout << "Getting the name of the plugin" << std::endl;
-#endif
-
-          name_t *pName = (name_t *) myLib->resolve("name");
-          if (pName)
-          {
-            QMessageBox::information(this, tr("Name"), tr("Plugin %1 is named %2").arg(pluginDir[i]).arg(pName()));
-          }
-#ifdef QGISDEBUG
-          std::cout << "Attempting to resolve the classFactory function" << std::endl;
-#endif
-
-          create_t *cf = (create_t *) myLib->resolve("classFactory");
-
-          if (cf)
-          {
-#ifdef QGISDEBUG
-            std::cout << "Getting pointer to a QgisPlugin object from the library\n";
-#endif
-
-            QgisPlugin *pl = cf(this, mQgisInterface);
-#ifdef QGISDEBUG
-
-            std::cout << "Displaying name, version, and description\n";
-            std::cout << "Plugin name: " << pl->name().toLocal8Bit().data() << std::endl;
-            std::cout << "Plugin version: " << pl->version().toLocal8Bit().data() << std::endl;
-            std::cout << "Plugin description: " << pl->description().toLocal8Bit().data() << std::endl;
-#endif
-
-            QMessageBox::information(this, tr("Plugin Information"), tr("QGis loaded the following plugin:") +
-                tr("Name: %1").arg(pl->name()) + "\n" + tr("Version: %1").arg(pl->version()) + "\n" +
-                tr("Description: %1").arg(pl->description()));
-            // unload the plugin (delete it)
-#ifdef QGISDEBUG
-
-            std::cout << "Attempting to resolve the unload function" << std::endl;
-#endif
-            /*
-               unload_t *ul = (unload_t *) myLib.resolve("unload");
-               if (ul) {
-               ul(pl);
-               std::cout << "Unloaded the plugin\n";
-               } else {
-               std::cout << "Unable to resolve unload function. Plugin was not unloaded\n";
-               }
-               */
-          }
-        }
-        else
-        {
-          QMessageBox::warning(this, tr("Unable to Load Plugin"),
-              tr("QGIS was unable to load the plugin from: %1").arg(pluginDir[i]));
-#ifdef QGISDEBUG
-
-          std::cout << "Unable to load library" << std::endl;
-#endif
-
-        }
-      }
-    }
-  }
-}
-
-
-void QgisApp::checkQgisVersion()
-{
-  QApplication::setOverrideCursor(Qt::WaitCursor);
-  /* QUrlOperator op = new QUrlOperator( "http://mrcc.com/qgis/version.txt" );
-     connect(op, SIGNAL(data()), SLOT(urlData()));
-     connect(op, SIGNAL(finished(QNetworkOperation)), SLOT(urlFinished(QNetworkOperation)));
-
-     op.get(); */
-  mSocket = new QTcpSocket(this);
-  connect(mSocket, SIGNAL(connected()), SLOT(socketConnected()));
-  connect(mSocket, SIGNAL(connectionClosed()), SLOT(socketConnectionClosed()));
-  connect(mSocket, SIGNAL(readyRead()), SLOT(socketReadyRead()));
-  connect(mSocket, SIGNAL(error(QAbstractSocket::SocketError)), 
-                   SLOT(socketError(QAbstractSocket::SocketError)));
-  mSocket->connectToHost("mrcc.com", 80);
-}
-
-void QgisApp::socketConnected()
-{
-  QTextStream os(mSocket);
-  mVersionMessage = "";
-  // send the qgis version string
-  // os << qgisVersion << "\r\n";
-  os << "GET /qgis/version.txt HTTP/1.0\n\n";
-
-
-}
-
-void QgisApp::socketConnectionClosed()
-{
-  QApplication::restoreOverrideCursor();
-  // strip the header
-  QString contentFlag = "#QGIS Version";
-  int pos = mVersionMessage.find(contentFlag);
-  if (pos > -1)
-  {
-    pos += contentFlag.length();
-    /* std::cout << mVersionMessage << "\n ";
-       std::cout << "Pos is " << pos <<"\n"; */
-    mVersionMessage = mVersionMessage.mid(pos);
-    QStringList parts = QStringList::split("|", mVersionMessage);
-    // check the version from the  server against our version
-    QString versionInfo;
-    int currentVersion = parts[0].toInt();
-    if (currentVersion > QGis::qgisVersionInt)
-    {
-      // show version message from server
-      versionInfo = tr("There is a new version of QGIS available") + "\n";
-    }
-    else
-    {
-      if (QGis::qgisVersionInt > currentVersion)
-      {
-        versionInfo = tr("You are running a development version of QGIS") + "\n";
-      }
-      else
-      {
-        versionInfo = tr("You are running the current version of QGIS") + "\n";
-      }
-    }
-    if (parts.count() > 1)
-    {
-      versionInfo += parts[1] + "\n\n" + tr("Would you like more information?");
-      ;
-      int result = QMessageBox::information(this, tr("QGIS Version Information"), versionInfo, tr("Yes"), tr("No"));
-      if (result == 0)
-      {
-        // show more info
-        QgsMessageViewer *mv = new QgsMessageViewer(this);
-        mv->setCaption(tr("QGIS - Changes in SVN Since Last Release"));
-        mv->setMessageAsHtml(parts[2]);
-        mv->exec();
-      }
-    }
-    else
-    {
-      QMessageBox::information(this, tr("QGIS Version Information"), versionInfo);
-    }
-  }
-  else
-  {
-    QMessageBox::warning(this, tr("QGIS Version Information"), tr("Unable to get current version information from server"));
-  }
-}
-void QgisApp::socketError(QAbstractSocket::SocketError e)
-{
-  if (e == QAbstractSocket::RemoteHostClosedError)
-    return;
-
-  QApplication::restoreOverrideCursor();
-  // get error type
-  QString detail;
-  switch (e)
-  {
-    case QAbstractSocket::ConnectionRefusedError:
-      detail = tr("Connection refused - server may be down");
-      break;
-    case QAbstractSocket::HostNotFoundError:
-      detail = tr("QGIS server was not found");
-      break;
-    case QAbstractSocket::NetworkError:
-      detail = tr("Network error while communicating with server");
-      break;
-    default:
-      detail = tr("Unknown network socket error");
-      break;
-  }
-
-  // show version message from server
-  QMessageBox::critical(this, tr("QGIS Version Information"), tr("Unable to communicate with QGIS Version server") + "\n" + detail);
-}
-
-void QgisApp::socketReadyRead()
-{
-  while (mSocket->bytesAvailable() > 0)
-  {
-    char *data = new char[mSocket->bytesAvailable() + 1];
-    memset(data, '\0', mSocket->bytesAvailable() + 1);
-    mSocket->readBlock(data, mSocket->bytesAvailable());
-    mVersionMessage += data;
-    delete[]data;
-  }
-
-}
-void QgisApp::options()
-{
-  QgsOptions *optionsDialog = new QgsOptions(this);
-  if(optionsDialog->exec())
-  {
-    // set the theme if it changed
-    setTheme(optionsDialog->theme());
-    // set the visible flag for new layers
-    mAddedLayersVisible = optionsDialog->newVisible();
-    QSettings mySettings;
-    mMapCanvas->enableAntiAliasing(mySettings.value("/qgis/enable_anti_aliasing").toBool());
-    mMapCanvas->useQImageToRender(mySettings.value("/qgis/use_qimage_to_render").toBool());
-  
-    int action = mySettings.value("/qgis/wheel_action", 0).toInt();
-    double zoomFactor = mySettings.value("/qgis/zoom_factor", 2).toDouble();
-    mMapCanvas->setWheelAction((QgsMapCanvas::WheelAction) action, zoomFactor);
-
-    bool splitterRedraw = mySettings.value("/qgis/splitterRedraw", true).toBool();
-    canvasLegendSplit->setOpaqueResize(splitterRedraw);
-    legendOverviewSplit->setOpaqueResize(splitterRedraw);
-  }
-}
-
-void QgisApp::helpContents()
-{
-  openURL("index.html");
-}
-
-void QgisApp::helpQgisHomePage()
-{
-  openURL("http://qgis.org", false);
-}
-
-void QgisApp::openURL(QString url, bool useQgisDocDirectory)
-{
-  // open help in user browser
-  if (useQgisDocDirectory)
-  {
-    url = "file://" +QgsApplication::pkgDataPath() + "/doc/" + url;
-  }
-#ifdef Q_OS_MACX
-  /* Use Mac OS X Launch Services which uses the user's default browser
-   * and will just open a new window if that browser is already running.
-   * QProcess creates a new browser process for each invocation and expects a
-   * commandline application rather than a bundled application.
-   */
-  CFURLRef urlRef = CFURLCreateWithBytes(kCFAllocatorDefault,
-      reinterpret_cast<const UInt8*>(url.utf8().data()), url.length(),
-      kCFStringEncodingUTF8, NULL);
-  OSStatus status = LSOpenCFURLRef(urlRef, NULL);
-  CFRelease(urlRef);
-#else
-  // find a browser
-  QSettings settings;
-  QString browser = settings.readEntry("/qgis/browser");
-  if (browser.length() == 0)
-  {
-    // ask user for browser and use it
-    bool ok;
-    QString myHeading = tr("QGIS Browser Selection");
-    QString myMessage = tr("Enter the name of a web browser to use (eg. konqueror).\n");
-    myMessage += tr("Enter the full path if the browser is not in your PATH.\n");
-    myMessage += tr("You can change this option later by selecting Options from the Settings menu (Help Browser tab).");
-    QString text = QInputDialog::getText(myHeading,
-        myMessage,
-        QLineEdit::Normal,
-        QString::null, &ok, this);
-    if (ok && !text.isEmpty())
-    {
-      // user entered something and pressed OK
-      browser = text;
-      // save the setting
-      settings.writeEntry("/qgis/browser", browser);
-    }
-    else
-    {
-      browser = "";
-    }
-
-  }
-  if (browser.length() > 0)
-  {
-    // find the installed location of the help files
-    // open index.html using browser
-    //XXX for debug on win32      QMessageBox::information(this,"Help opening...", browser + " - " + url);
-    QProcess *helpProcess = new QProcess(this);
-    QStringList myArgs;
-    myArgs << url;
-    helpProcess->start(browser,myArgs);
-  }
-  /*  mHelpViewer = new QgsHelpViewer(this,"helpviewer",false);
-      mHelpViewer->showContent(mAppDir +"/share/doc","index.html");
-      mHelpViewer->show(); */
-#endif
-}
-
-/** Get a pointer to the currently selected map layer */
-QgsMapLayer *QgisApp::activeLayer()
-{
-  return (mMapLegend->currentLayer());
-}
-
-QString QgisApp::activeLayerSource()
-{
-  QString source;
-  QgsMapLayer* layer = mMapLegend->currentLayer();
-  if(layer)
-    {
-      return (layer->source());
-    }
-  return "";
-}
-
-/** Add a vector layer directly without prompting user for location
-  The caller must provide information compatible with the provider plugin
-  using the vectorLayerPath and baseName. The provider can use these
-  parameters in any way necessary to initialize the layer. The baseName
-  parameter is used in the Map Legend so it should be formed in a meaningful
-  way.
-  */
-void QgisApp::addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)
-{
-  mMapCanvas->freeze();
-
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  // create the layer
-  QgsVectorLayer *layer;
-  /* Eliminate the need to instantiate the layer based on provider type.
-     The caller is responsible for cobbling together the needed information to
-     open the layer
-     */
-#ifdef QGISDEBUG
-
-  std::cout << "Creating new vector layer using " <<
-    vectorLayerPath.toLocal8Bit().data() << " with baseName of " << baseName.toLocal8Bit().data() <<
-    " and providerKey of " << providerKey.toLocal8Bit().data() << std::endl;
-#endif
-
-  layer = new QgsVectorLayer(vectorLayerPath, baseName, providerKey);
-
-  if( layer && layer->isValid() )
-  {
-    // Register this layer with the layers registry
-    QgsMapLayerRegistry::instance()->addMapLayer(layer);
-    // init the context menu so it can connect to slots in main app
-    // now taken care of in legend layer->initContextMenu(this);
-
-    // give it a random color
-    QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(layer->vectorType());  //add single symbol renderer as default
-    layer->setRenderer(renderer);
-    layer->refreshLegend();
-    // add it to the mapcanvas collection
-    // mMapCanvas->addLayer(layer); No longer necessary since adding to registry will add to canvas
-
-    // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-#ifdef QGISDEBUG
-    std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-#endif
-    QObject::connect(this,
-        SIGNAL(keyPressed(QKeyEvent * )),
-        layer,
-        SLOT(keyPressed(QKeyEvent* )));
-
-    QgsProject::instance()->dirty(false); // XXX this might be redundant
-
-    statusBar()->message(mMapCanvas->extent().stringRep(2));
-
-  }
-  else
-  {
-    QMessageBox::critical(this,tr("Layer is not valid"),
-        tr("The layer is not a valid layer and can not be added to the map"));
-  }
-  qApp->processEvents();
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-} // QgisApp::addVectorLayer
-
-
-
-void QgisApp::addMapLayer(QgsMapLayer *theMapLayer)
-{
-  mMapCanvas->freeze();
-
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  if(theMapLayer->isValid())
-  {
-    // Register this layer with the layers registry
-    QgsMapLayerRegistry::instance()->addMapLayer(theMapLayer);
-    // init the context menu so it can connect to slots in main app
-    // XXX now taken care of in legend theMapLayer->initContextMenu(this);
-    // add it to the mapcanvas collection
-    // not necessary since adding to registry adds to canvas mMapCanvas->addLayer(theMapLayer);
-
-    statusBar()->message(mMapCanvas->extent().stringRep(2));
-
-  }
-  else
-  {
-    QMessageBox::critical(this,tr("Layer is not valid"),
-        tr("The layer is not a valid layer and can not be added to the map"));
-  }
-  qApp->processEvents();
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-}
-
-void QgisApp::setExtent(QgsRect theRect)
-{
-  mMapCanvas->setExtent(theRect);
-}
-
-
-
-
-int QgisApp::saveDirty()
-{
-  int answer = 0;
-  mMapCanvas->freeze(true);
-
-#ifdef QGISDEBUG
-
-  std::cout << "Layer count is " << mMapCanvas->layerCount() << std::endl;
-  std::cout << "Project is ";
-  if ( QgsProject::instance()->dirty() )
-  {
-    std::cout << "dirty" << std::endl;
-  }
-  else
-  {
-    std::cout << "not dirty" << std::endl;
-  }
-
-  std::cout << "Map canvas is ";
-  if (mMapCanvas->isDirty())
-  {
-    std::cout << "dirty" << std::endl;
-  }
-  else
-  {
-    std::cout << "not dirty" << std::endl;
-  }
-#endif
-
-  if ((QgsProject::instance()->dirty() || (mMapCanvas->isDirty()) && mMapCanvas->layerCount() > 0))
-  {
-    // flag project as dirty since dirty state of canvas is reset if "dirty"
-    // is based on a zoom or pan
-    QgsProject::instance()->dirty( true );
-    // old code: mProjectIsDirtyFlag = true;
-
-    // prompt user to save
-    answer = QMessageBox::information(this, tr("Save?"),
-        tr("<p>Do you want to save the current project?</p>"),
-        QMessageBox::Yes | QMessageBox::Default,
-        QMessageBox::No,
-        QMessageBox::Cancel | QMessageBox::Escape);
-    if (QMessageBox::Yes == answer )
-    {
-      if (!fileSave())
-	answer = QMessageBox::Cancel;
-    }
-  }
-
-  mMapCanvas->freeze(false);
-
-  return answer;
-
-} // QgisApp::saveDirty()
-
-
-void QgisApp::closeEvent(QCloseEvent* event)
-{
-  // We'll close in our own good time, thank you very much
-  event->ignore();
-  // Do the usual checks and ask if they want to save, etc
-  fileExit();
-}
-
-
-void QgisApp::whatsThis()
-{
-  QWhatsThis::enterWhatsThisMode();
-} // QgisApp::whatsThis()
-
-
-std::map<QString, int> QgisApp::menuMapByName()
-{
-  // Must populate the maps with each call since menus might have been
-  // added or deleted
-  populateMenuMaps();
-  // Return the menu items mapped by name (key is name, value is menu id)
-  return mMenuMapByName;
-}
-std::map<int, QString> QgisApp::menuMapById()
-{
-  // Must populate the maps with each call since menus might have been
-  // added or deleted
-  populateMenuMaps();
-  // Return the menu items mapped by menu id (key is menu id, value is name)
-  return mMenuMapById;
-}
-void QgisApp::populateMenuMaps()
-{
-  // Populate the two menu maps by iterating through the menu bar
-  mMenuMapByName.clear();
-  mMenuMapById.clear();
-  int idx = 0;
-  int menuId;
-  // Loop until we get an id of -1, which indicates there are no more
-  // items.
-  do
-  {
-    menuId = menuBar()->idAt(idx++);
-    std::cout << "Menu id " << menuId << " is " << menuBar()->text(menuId).toLocal8Bit().data() << std::endl;
-    mMenuMapByName[menuBar()->text(menuId)] = menuId;
-    mMenuMapById[menuId] = menuBar()->text(menuId);
-  }
-  while(menuId != -1);
-}
-
-QMenu* QgisApp::getPluginMenu(QString menuName)
-{
-  // This is going to record the menu item that the potentially new
-  // menu item is going to be inserted before. A value of 0 will a new
-  // menu item to be appended.
-  QAction* before = 0;
-
-  QList<QAction*> actions = mPluginMenu->actions();
-  // Avoid 1 because the first item (number 0) is 'Plugin Manager',
-  // which we  want to stay first. Search in reverse order as that
-  // makes it easier to find out where which item a new menu item
-  // should go before (since the insertMenu() function requires a
-  // 'before' argument).
-  for (unsigned int i = actions.count()-1; i > 0; --i)
-  {
-    if (actions.at(i)->text() == menuName)
-    {
-      return actions.at(i)->menu();
-    }
-    // Find out where to put the menu item, assuming that it is a new one
-    //
-    // This bit of code assumes that the menu items are already in
-    // alphabetical order, which they will be if the menus are all
-    // created using this function.
-    if (menuName.localeAwareCompare(actions.at(i)->text()) <= 0)
-      before = actions.at(i);
-  }
-
-  // It doesn't exist, so create 
-  QMenu* menu = new QMenu(menuName, this);
-  // Where to put it? - we worked that out above...
-  mPluginMenu->insertMenu(before, menu);
-
-  return menu;
-}
-
-void QgisApp::addPluginMenu(QString name, QAction* action)
-{
-  QMenu* menu = getPluginMenu(name);
-  menu->addAction(action);
-}
-
-void QgisApp::removePluginMenu(QString name, QAction* action)
-{
-  QMenu* menu = getPluginMenu(name);
-  menu->removeAction(action);
-  if (menu->actions().count() == 0)
-    {
-      mPluginMenu->removeAction(menu->menuAction());
-    }
-}
-
-int QgisApp::addPluginToolBarIcon (QAction * qAction)
-{
-  qAction->addTo(mPluginToolBar);
-  return 0;
-}
-void QgisApp::removePluginToolBarIcon(QAction *qAction)
-{
-  qAction->removeFrom(mPluginToolBar);
-}
-
-void QgisApp::projectionsEnabled(bool theFlag)
-{
-  QString myIconPath = QgsApplication::themePath();
-  if (theFlag)
-  {
-    QPixmap myProjPixmap;
-    myProjPixmap.load(myIconPath+"/mIconProjectionEnabled.png");
-    //assert(!myProjPixmap.isNull());
-    mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
-  }
-  else
-  {
-    QPixmap myProjPixmap;
-    myProjPixmap.load(myIconPath+"/mIconProjectionDisabled.png");
-    //assert(!myProjPixmap.isNull());
-    mOnTheFlyProjectionStatusButton->setPixmap(myProjPixmap);
-  }
-}
-// slot to update the progress bar in the status bar
-void QgisApp::showProgress(int theProgress, int theTotalSteps)
-{
-#ifdef QGISDEBUG
-  std::cout << "showProgress called with " << theProgress << "/" << theTotalSteps << std::endl;
-#endif
-
-  if (theProgress==theTotalSteps)
-  {
-    mProgressBar->reset();
-    mProgressBar->hide();
-   }
-  else
-  {
-    //only call show if not already hidden to reduce flicker
-    if (!mProgressBar->isVisible())
-    {
-      mProgressBar->show();
-    }
-    mProgressBar->setMaximum(theTotalSteps);
-    mProgressBar->setValue(theProgress);
-  }
-
-
-}
-
-void QgisApp::showExtents(QgsRect theExtents)
-{
-  // update the statusbar with the current extents.
-  statusBar()->message(QString(tr("Extents: ")) + theExtents.stringRep(true));
-
-} // QgisApp::showExtents
-
-
-void QgisApp::updateMouseCoordinatePrecision()
-{
-  // Work out what mouse display precision to use. This only needs to
-  // be when the settings change or the zoom level changes. This
-  // function needs to be called every time one of the above happens.
-
-  // Get the display precision from the project settings
-  bool automatic = QgsProject::instance()->readBoolEntry("PositionPrecision","/Automatic");
-  int dp = 0;
-
-  if (automatic)
-  {
-    // Work out a suitable number of decimal places for the mouse
-    // coordinates with the aim of always having enough decimal places
-    // to show the difference in position between adjacent pixels.
-    // Also avoid taking the log of 0.
-    if (getMapCanvas()->mupp() != 0.0)
-      dp = static_cast<int> (ceil(-1.0*log10(getMapCanvas()->mupp())));
-  }
-  else
-    dp = QgsProject::instance()->readNumEntry("PositionPrecision","/DecimalPlaces");
-
-  // Keep dp sensible
-  if (dp < 0) dp = 0;
-
-  mMousePrecisionDecimalPlaces = dp;
-}
-
-void QgisApp::showStatusMessage(QString theMessage)
-{
-#ifdef QGISDEBUG
-  //  std::cout << "QgisApp::showStatusMessage: entered with '" << theMessage << "'." << std::endl;
-#endif
-
-  statusBar()->message(theMessage);
-}
-
-void QgisApp::projectPropertiesProjections()
-{
-  // Driver to display the project props dialog and switch to the
-  // projections tab
-  mShowProjectionTab = true;
-  projectProperties();
-}
-
-void QgisApp::projectProperties()
-{
-  /* Display the property sheet for the Project */
-  // set wait cursor since construction of the project properties
-  // dialog results in the construction of the spatial reference
-  // system QMap
-  QApplication::setOverrideCursor(Qt::WaitCursor);
-  QgsProjectProperties *pp = new QgsProjectProperties(this);
-  // if called from the status bar, show the projection tab
-  if(mShowProjectionTab)
-  {
-    pp->showProjectionsTab();
-    mShowProjectionTab = false;
-  }
-  qApp->processEvents();
-  // Be told if the mouse display precision may have changed by the user
-  // changing things in the project properties dialog box
-  connect(pp, SIGNAL(displayPrecisionChanged()), this, 
-      SLOT(updateMouseCoordinatePrecision()));
-  //listen to changes in on the fly projection state
-  connect(pp, SIGNAL(projectionEnabled(bool)), this, 
-      SLOT(projectionsEnabled(bool)));
-  QApplication::restoreOverrideCursor();
-  //pass any refresg signals off to canvases
-  //connect (pp,SIGNAL(refresh()), mMapCanvas, SLOT(refresh()));
-  connect (pp,SIGNAL(mapUnitsChanged()), mMapCanvas, SLOT(mapUnitsChanged()));  
-
-  bool wasProjected = pp->isProjected();
-  long oldSRSID =  QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-
-  // Display the modal dialog box.
-  pp->exec();
-  
-  long newSRSID =  QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-  
-  // projections have been turned on/off or dest SRS has changed while projections are on
-  if (wasProjected != pp->isProjected() || (pp->isProjected() && oldSRSID != newSRSID))
-  {
-    mMapCanvas->updateFullExtent();
-  }
-  
-  int  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
-  int  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
-  int  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
-  QColor myColor = QColor(myRedInt,myGreenInt,myBlueInt);
-  mMapCanvas->setCanvasColor(myColor); // this is fill colour before rendering onto canvas
-  
-  // Set the window title.
-  setTitleBarText_( *this );
-  
-  // delete the property sheet object
-  delete pp;
-} // QgisApp::projectProperties
-
-
-QgsMapLayerRegistry * QgisApp::getLayerRegistry()
-{
-  return QgsMapLayerRegistry::instance();
-}
-
-
-
-
-QgsClipboard * QgisApp::clipboard()
-{
-  return &mInternalClipboard;
-}
-
-void QgisApp::activateDeactivateLayerRelatedActions(const QgsMapLayer* layer)
-{
-  if(!layer)
-    {
-      return;
-    }
-
-  /***********Vector layers****************/
-  if(layer->type() == QgsMapLayer::VECTOR || layer->type() == QgsMapLayer::DATABASE)
-    {
-      mActionSelect->setEnabled(true);
-      mActionOpenTable->setEnabled(true);
-      mActionIdentify->setEnabled(true);
-      mActionEditCopy->setEnabled(true);
-
-      const QgsVectorLayer* vlayer = dynamic_cast<const QgsVectorLayer*>(layer);
-      const QgsVectorDataProvider* dprovider = vlayer->getDataProvider();
-
-      if (dprovider)
-	{
-	  //start editing/stop editing
-	  if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
-	    {
-	      mActionStartEditing->setEnabled(true);
-	      mActionStopEditing->setEnabled(true);
-	      mActionEditPaste->setEnabled(true);
-	    }
-	  else
-	    {
-	      mActionStartEditing->setEnabled(false);
-	      mActionStopEditing->setEnabled(false);
-	      mActionEditPaste->setEnabled(false);
-	    }
-
-	  //does provider allow deleting of features?
-	  if(dprovider->capabilities() & QgsVectorDataProvider::DeleteFeatures)
-	    {
-	      mActionDeleteSelected->setEnabled(true);
-	      mActionEditCut->setEnabled(true);
-	    }
-	  else
-	    {
-	      mActionDeleteSelected->setEnabled(false);
-	      mActionEditCut->setEnabled(false);
-	    }
-
-
-	  if(vlayer->vectorType() == QGis::Point)
-	    {
-	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
-		{
-		  mActionCapturePoint->setEnabled(true);
-		}
-	      else
-		{
-		  mActionCapturePoint->setEnabled(false);
-		}
-	      mActionCaptureLine->setEnabled(false);
-	      mActionCapturePolygon->setEnabled(false);
-	      mActionAddVertex->setEnabled(false);
-	      mActionDeleteVertex->setEnabled(false);
-	      if(dprovider->capabilities() & QgsVectorDataProvider::ChangeGeometries)
-		{
-		  mActionMoveVertex->setEnabled(true);
-		}
-	      return;
-	    }
-	  else if(vlayer->vectorType() == QGis::Line)
-	    {
-	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
-		{
-		  mActionCaptureLine->setEnabled(true);
-		}
-	      else
-		{
-		  mActionCaptureLine->setEnabled(false);
-		}
-	      mActionCapturePoint->setEnabled(false);
-	      mActionCapturePolygon->setEnabled(false);
-	    }
-	  else if(vlayer->vectorType() == QGis::Polygon)
-	    {
-	      if(dprovider->capabilities() & QgsVectorDataProvider::AddFeatures)
-		{
-		  mActionCapturePolygon->setEnabled(true);
-		}
-	      else
-		{
-		  mActionCapturePolygon->setEnabled(false);
-		}
-	      mActionCapturePoint->setEnabled(false);
-	      mActionCaptureLine->setEnabled(false);
-	    }
-
-	  //are add/delete/move vertex supported?
-	  if(dprovider->capabilities() & QgsVectorDataProvider::ChangeGeometries)
-	    {
-	      mActionAddVertex->setEnabled(true);
-	      mActionMoveVertex->setEnabled(true);
-	      mActionDeleteVertex->setEnabled(true);
-	    }
-	  else
-	    {
-	      mActionAddVertex->setEnabled(false);
-	      mActionMoveVertex->setEnabled(false);
-	      mActionDeleteVertex->setEnabled(false);
-	    }
-	  return;
-	}
-    }
-  /*************Raster layers*************/
-  else if(layer->type() == QgsMapLayer::RASTER)
-    {
-      mActionSelect->setEnabled(false);
-      mActionOpenTable->setEnabled(false);
-      mActionStartEditing->setEnabled(false);
-      mActionStopEditing->setEnabled(false);
-      mActionCapturePoint->setEnabled(false);
-      mActionCaptureLine->setEnabled(false);
-      mActionCapturePolygon->setEnabled(false);
-      mActionDeleteSelected->setEnabled(false);
-      mActionAddVertex->setEnabled(false);
-      mActionDeleteVertex->setEnabled(false);
-      mActionMoveVertex->setEnabled(false);
-      mActionEditCopy->setEnabled(false);
-      mActionEditCut->setEnabled(false);
-      mActionEditPaste->setEnabled(false);
-
-      const QgsRasterLayer* vlayer = dynamic_cast<const QgsRasterLayer*> (layer);
-      const QgsRasterDataProvider* dprovider = vlayer->getDataProvider();
-      if (dprovider)
-      {
-        // does provider allow the identify map tool?
-        if (dprovider->capabilities() & QgsRasterDataProvider::Identify)
-        {
-          mActionIdentify->setEnabled(TRUE);
-        }
-        else
-        {
-          mActionIdentify->setEnabled(FALSE);
-        }
-      }
-    }
-}
-
-
-//copy the click coord to clipboard and let the user know its there
-void QgisApp::showCapturePointCoordinate(QgsPoint & theQgsPoint)
-{
-#ifdef QGISDEBUG
-  std::cout << "Capture point (clicked on map) at position " << theQgsPoint.stringRep(2).toLocal8Bit().data() << std::endl;
-#endif
-
-  QClipboard *myClipboard = QApplication::clipboard();
-  //if we are on x11 system put text into selection ready for middle button pasting
-  if (myClipboard->supportsSelection())
-  {
-    myClipboard->setText(theQgsPoint.stringRep(2),QClipboard::Selection);
-    QString myMessage = tr("Clipboard contents set to: ");
-    statusBar()->message(myMessage + myClipboard->text(QClipboard::Selection));
-  }
-  else
-  {
-    //user has an inferior operating system....
-    myClipboard->setText(theQgsPoint.stringRep(2),QClipboard::Clipboard );
-    QString myMessage = tr("Clipboard contents set to: ");
-    statusBar()->message(myMessage + myClipboard->text(QClipboard::Clipboard));
-  }
-#ifdef QGISDEBUG
-  /* Well use this in ver 0.5 when we do digitising! */
-  /*
-     QgsVectorFileWriter myFileWriter("/tmp/test.shp", wkbPoint);
-     if (myFileWriter.initialise())
-     {
-     myFileWriter.createField("TestInt",OFTInteger,8,0);
-     myFileWriter.createField("TestRead",OFTReal,8,3);
-     myFileWriter.createField("TestStr",OFTString,255,0);
-     myFileWriter.writePoint(&theQgsPoint);
-     }
-     */
-#endif
-}
-
-
-
-/////////////////////////////////////////////////////////////////
-//
-//
-// Only functions relating to raster layer management in this
-// section (look for a similar comment block to this to find
-// the end of this section).
-//
-// Tim Sutton
-//
-//
-/////////////////////////////////////////////////////////////////
-
-
-/** @todo XXX I'd *really* like to return, ya know, _false_.
-*/
-//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
-void QgisApp::addRasterLayer()
-{
-  //mMapCanvas->freeze(true);
-
-  QString fileFilters;
-
-
-  QStringList selectedFiles;
-  QString e;//only for parameter correctness
-  QString title = tr("Open a GDAL Supported Raster Data Source");
-  openFilesRememberingFilter_("lastRasterFileFilter", mRasterFileFilter, selectedFiles,e,
-      title);
-
-  if (selectedFiles.isEmpty())
-  {
-    // no files were selected, so just bail
-    return;
-  }
-
-  addRasterLayer(selectedFiles);
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-}// QgisApp::addRasterLayer()
-
-//
-// This is the method that does the actual work of adding a raster layer - the others
-// here simply create a raster layer object and delegate here. It is the responsibility
-// of the calling method to manage things such as the frozen state of the mapcanvas and
-// using waitcursors etc. - this method wont and SHOULDNT do it
-//
-bool QgisApp::addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRedrawFlag)
-{
-
-  Q_CHECK_PTR( theRasterLayer );
-
-  if ( ! theRasterLayer )
-  {
-    // XXX insert meaningful whine to the user here; although be
-    // XXX mindful that a null layer may mean exhausted memory resources
-    return false;
-  }
-
-  if (theRasterLayer->isValid())
-  {
-    // register this layer with the central layers registry
-    QgsMapLayerRegistry::instance()->addMapLayer(theRasterLayer);
-    theRasterLayer->refreshLegend();
-    // XXX doesn't the mMapCanvas->addLayer() do this?
-    // XXX now it does
-    //     QObject::connect(theRasterLayer,
-    //             SIGNAL(repaintRequested()),
-    //             mMapCanvas,
-    //             SLOT(refresh()));
-
-    // connect up any request the raster may make to update the app progress
-    QObject::connect(theRasterLayer,
-        SIGNAL(drawingProgress(int,int)),
-        this,
-        SLOT(showProgress(int,int)));
-    // connect up any request the raster may make to update the statusbar message
-    QObject::connect(theRasterLayer,
-        SIGNAL(setStatus(QString)),
-        this,
-        SLOT(showStatusMessage(QString)));
-    // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-#ifdef QGISDEBUG
-    std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-#endif
-    QObject::connect(this ,
-        SIGNAL(keyPressed(QKeyEvent * )),
-        theRasterLayer,
-        SLOT(keyPressed(QKeyEvent* )));
-
-    // init the context menu so it can connect to slots in main app
-    // XXX now taken care of in legend theRasterLayer->initContextMenu(this);
-
-    // add it to the mapcanvas collection
-    // no longer necessary since adding to registry automatically adds to canvas
-    // mMapCanvas->addLayer(theRasterLayer);
-
-  }
-  else
-  {
-    delete theRasterLayer;
-    return false;
-  }
-
-  if (theForceRedrawFlag)
-  {
-    qApp->processEvents();
-    mMapCanvas->freeze(false);
-    mMapCanvas->refresh();
-  }
-  return true;
-
-}
-
-
-//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
-
-bool QgisApp::addRasterLayer(QFileInfo const & rasterFile, bool guiWarning)
-{
-  // let the user know we're going to possibly be taking a while
-  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  mMapCanvas->freeze(true);
-
-  // XXX ya know QgsRasterLayer can snip out the basename on its own;
-  // XXX why do we have to pass it in for it?
-  QgsRasterLayer *layer =
-    new QgsRasterLayer(rasterFile.filePath(), rasterFile.completeBaseName());
-
-  if (!addRasterLayer(layer))
-  {
-    mMapCanvas->freeze(false);
-    QApplication::restoreOverrideCursor();
-
-// Let render() do its own cursor management
-//    QApplication::restoreOverrideCursor();
-
-    if(guiWarning)
-    {
-      // don't show the gui warning (probably because we are loading from command line)
-      QString msg(rasterFile.completeBaseName()
-          + tr(" is not a valid or recognized raster data source"));
-      QMessageBox::critical(this, tr("Invalid Data Source"), msg);
-    }
-    delete layer;
-    return false;
-  }
-  else
-  {
-    statusBar()->message(mMapCanvas->extent().stringRep(2));
-    layer->refreshLegend();
-    mMapCanvas->freeze(false);
-    QApplication::restoreOverrideCursor();
-
-// Let render() do its own cursor management
-//    QApplication::restoreOverrideCursor();
-
-    return true;
-  }
-
-} // QgisApp::addRasterLayer
-
-
-
-/** Add a raster layer directly without prompting user for location
-  The caller must provide information compatible with the provider plugin
-  using the rasterLayerPath and baseName. The provider can use these
-  parameters in any way necessary to initialize the layer. The baseName
-  parameter is used in the Map Legend so it should be formed in a meaningful
-  way.
-
-  \note   Copied from the equivalent addVectorLayer function in this file
-  TODO    Make it work for rasters specifically.
-  */
-void QgisApp::addRasterLayer(QString const & rasterLayerPath,
-    QString const & baseName,
-    QString const & providerKey,
-    QStringList const & layers,
-    QStringList const & styles,
-    QString const & format,
-    QString const & crs,
-    QString const & proxyHost, 
-    int proxyPort, 
-    QString const & proxyUser,
-    QString const & proxyPassword)
-{
-
-#ifdef QGISDEBUG
-  std::cout << "QgisApp::addRasterLayer: about to get library for " << providerKey.toLocal8Bit().data() << std::endl;
-#endif
-
-  mMapCanvas->freeze();
-
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  // create the layer
-  QgsRasterLayer *layer;
-  /* Eliminate the need to instantiate the layer based on provider type.
-     The caller is responsible for cobbling together the needed information to
-     open the layer
-     */
-#ifdef QGISDEBUG
-
-  std::cout << "QgisApp::addRasterLayer: Creating new raster layer using " <<
-    rasterLayerPath.toLocal8Bit().data() << " with baseName of " << baseName.toLocal8Bit().data() <<
-    " and layer list of " << layers.join(", ").toLocal8Bit().data() <<
-    " and style list of " << styles.join(", ").toLocal8Bit().data() <<
-    " and format of " << format.toLocal8Bit().data() <<
-    " and providerKey of " << providerKey.toLocal8Bit().data() <<
-    " and CRS of " << crs.toLocal8Bit().data() << std::endl;
-#endif
-
-  // TODO: Remove the 0 when the raster layer becomes a full provider gateway.
-  layer = new QgsRasterLayer(0, rasterLayerPath, baseName, providerKey, layers, styles, format, crs,
-			     proxyHost, proxyPort, proxyUser, proxyPassword);
-
-#ifdef QGISDEBUG
-  std::cout << "QgisApp::addRasterLayer: Constructed new layer." << std::endl;
-#endif
-
-  if( layer && layer->isValid() )
-  {
-    // Register this layer with the layers registry
-    QgsMapLayerRegistry::instance()->addMapLayer(layer);
-    // init the context menu so it can connect to slots in main app
-    // now taken care of in legend layer->initContextMenu(this);
-
-    // connect up any request the raster may make to update the app progress
-    QObject::connect(layer,
-        SIGNAL(drawingProgress(int,int)),
-        this,
-        SLOT(showProgress(int,int)));
-    // connect up any request the raster may make to update the statusbar message
-    QObject::connect(layer,
-        SIGNAL(setStatus(QString)),
-        this,
-        SLOT(showStatusMessage(QString)));
-
-    // connect up any keypresses to be passed tot he layer (e.g. so esc can stop rendering)
-#ifdef QGISDEBUG
-    std::cout << " Connecting up maplayers keyPressed event to the QgisApp keyPress signal" << std::endl;
-#endif
-    QObject::connect(this,
-        SIGNAL(keyPressed(QKeyEvent * )),
-        layer,
-        SLOT(keyPressed(QKeyEvent* )));
-
-    QgsProject::instance()->dirty(false); // XXX this might be redundant
-
-    statusBar()->message(mMapCanvas->extent().stringRep(2));
-
-  }
-  else
-  {
-    QMessageBox::critical(this,tr("Layer is not valid"),
-        tr("The layer is not a valid layer and can not be added to the map"));
-  }
-
-  qApp->processEvents();
-  mMapCanvas->freeze(false);
-  mMapCanvas->refresh();
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-} // QgisApp::addRasterLayer
-
-
-
-//create a raster layer object and delegate to addRasterLayer(QgsRasterLayer *)
-bool QgisApp::addRasterLayer(QStringList const &theFileNameQStringList, bool guiWarning)
-{
-  if (theFileNameQStringList.empty())
-  {
-    // no files selected so bail out, but
-    // allow mMapCanvas to handle events
-    // first
-    mMapCanvas->freeze(false);
-    return false;
-  }
-
-  mMapCanvas->freeze(true);
-
-// Let render() do its own cursor management
-//  QApplication::setOverrideCursor(Qt::WaitCursor);
-
-  // this is messy since some files in the list may be rasters and others may
-  // be ogr layers. We'll set returnValue to false if one or more layers fail
-  // to load.
-  bool returnValue = true;
-  for (QStringList::ConstIterator myIterator = theFileNameQStringList.begin();
-      myIterator != theFileNameQStringList.end();
-      ++myIterator)
-  {
-    if (QgsRasterLayer::isValidRasterFileName(*myIterator))
-    {
-      QFileInfo myFileInfo(*myIterator);
-      // get the directory the .adf file was in
-      QString myDirNameQString = myFileInfo.dirPath();
-      QString myBaseNameQString = myFileInfo.completeBaseName();
-      //only allow one copy of a ai grid file to be loaded at a
-      //time to prevent the user selecting all adfs in 1 dir which
-      //actually represent 1 coverage,
-
-      // create the layer
-      QgsRasterLayer *layer = new QgsRasterLayer(*myIterator, myBaseNameQString);
-
-      // set initial visibility based on user preference
-      layer->setVisible(mAddedLayersVisible);
-
-      addRasterLayer(layer);
-
-      //only allow one copy of a ai grid file to be loaded at a
-      //time to prevent the user selecting all adfs in 1 dir which
-      //actually represent 1 coverate,
-
-      if (myBaseNameQString.lower().endsWith(".adf"))
-      {
-        break;
-      }
-    }
-    else
-    {
-      // Issue message box warning unless we are loading from cmd line since
-      // non-rasters are passed to this function first and then sucessfully
-      // loaded afterwards (see main.cpp)
-
-      if(guiWarning)
-      {
-        QString msg(*myIterator + tr(" is not a supported raster data source"));
-        QMessageBox::critical(this, tr("Unsupported Data Source"), msg);
-      }
-      returnValue = false;
-    }
-  }
-
-  statusBar()->message(mMapCanvas->extent().stringRep(2));
-  mMapCanvas->freeze(false);
-
-// Let render() do its own cursor management
-//  QApplication::restoreOverrideCursor();
-
-  return returnValue;
-
-}// QgisApp::addRasterLayer()
-
-
-
-
-///////////////////////////////////////////////////////////////////
-//
-//
-//
-//
-//    RASTER ONLY RELATED FUNCTIONS BLOCK ENDS....
-//
-//
-//
-//
-///////////////////////////////////////////////////////////////////
-
-
-void QgisApp::keyPressEvent ( QKeyEvent * e )
-{
-  // The following statment causes a crash on WIN32 and should be 
-  // enclosed in an #ifdef QGISDEBUG if its really necessary. Its
-  // commented out for now. [gsherman]
-  //    std::cout << e->text().toLocal8Bit().data() << " (keypress recevied)" << std::endl;
-  emit keyPressed (e);
-  e->ignore();
-
-}
-// Debug hook - used to output diagnostic messages when evoked (usually from the menu)
-/* Temporarily disabled...
-   void QgisApp::debugHook()
-   {
-   std::cout << "Hello from debug hook" << std::endl; 
-// show the map canvas extent
-std::cout << mMapCanvas->extent() << std::endl; 
-}
-*/
-void QgisApp::customProjection()
-{
-  // Create an instance of the Custom Projection Designer modeless dialog.
-  // Autodelete the dialog when closing since a pointer is not retained.
-  QgsCustomProjectionDialog * myDialog = new QgsCustomProjectionDialog(this,
-      Qt::WDestructiveClose);
-  myDialog->show();
-}
-void QgisApp::showBookmarks()
-{
-  // Create or show the single instance of the Bookmarks modeless dialog.
-  // Closing a QWidget only hides it so it can be shown again later.
-  static QgsBookmarks *bookmarks = NULL;
-  if (bookmarks == NULL)
-  {
-    bookmarks = new QgsBookmarks(this, Qt::WindowMinMaxButtonsHint);
-  }
-  bookmarks->show();
-  bookmarks->raise();
-  bookmarks->setActiveWindow();
-}
-
-void QgisApp::newBookmark()
-{
-  // Get the name for the bookmark. Everything else we fetch from
-  // the mapcanvas
-
-  bool ok;
-  QString bookmarkName = QInputDialog::getText(tr("New Bookmark"), 
-      tr("Enter a name for the new bookmark:"), QLineEdit::Normal,
-      QString::null, &ok, this);
-  if( ok && !bookmarkName.isEmpty())
-  {
-    if (createDB())
-    {
-      // create the bookmark
-      QgsBookmarkItem *bmi = new QgsBookmarkItem(bookmarkName, 
-          QgsProject::instance()->title(), mMapCanvas->extent(), -1,
-          QgsApplication::qgisUserDbFilePath());
-      bmi->store();
-      delete bmi;
-      // emit a signal to indicate that the bookmark was added
-      emit bookmarkAdded();
-    }
-    else
-    {
-      QMessageBox::warning(this,tr("Error"), tr("Unable to create the bookmark. Your user database may be missing or corrupted"));
-    }
-  }
-}      
-
-void QgisApp::showAllToolbars()
-{
-  setToolbarVisibility(true);
-}
-
-void QgisApp::hideAllToolbars()
-{
-  setToolbarVisibility(false);
-}
-
-void QgisApp::setToolbarVisibility(bool visibility)
-{
-  mFileToolBar->setVisible(visibility);
-  mLayerToolBar->setVisible(visibility);
-  mMapNavToolBar->setVisible(visibility);
-  mDigitizeToolBar->setVisible(visibility);
-  mAttributesToolBar->setVisible(visibility);
-  mPluginToolBar->setVisible(visibility);
-  mHelpToolBar->setVisible(visibility);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgisapp.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisapp.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisapp.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,627 +0,0 @@
-/***************************************************************************
-                          qgisapp.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/*  $Id: qgisapp.h 6302 2006-12-22 08:09:03Z g_j_m $ */
-
-#ifndef QGISAPP_H
-#define QGISAPP_H
-
-class QRect;
-class QStringList;
-class QCursor;
-class QLabel;
-class QProgressBar;
-class QFileInfo;
-class QSettings;
-class QTcpSocket;
-class QCheckBox;
-class QToolButton;
-class QKeyEvent;
-class QMenu;
-class QPixmap;
-class QSplashScreen;
-
-class QgsPoint;
-class QgsLegend;
-class QgsMapLayer;
-class QgsMapTool;
-class QgsProviderRegistry;
-class QgsHelpViewer;
-class QgsMapCanvas;
-class QgsMapLayerRegistry;
-class QgsRasterLayer;
-class QgsComposer;
-
-#include "qgisiface.h"
-//#include "qgsconfig.h"
-
-#include "qgsclipboard.h"
-
-#include <map>
-
-#include <ui_qgisappbase.h>
-#include <QMainWindow>
-#include <QAbstractSocket>
-
-/*! \class QgisApp
- * \brief Main window for the Qgis application
- */
-class QgisApp : public QMainWindow, public Ui::QgisAppBase
-{
-  Q_OBJECT;
-  public:
-  //! Constructor
-  QgisApp(QSplashScreen *splash, QWidget * parent = 0, Qt::WFlags fl = Qt::WType_TopLevel);
-  //! Destructor
-  ~QgisApp();
-  /*
-   * Get the plugin interface from the application
-   */
-  QgisIface *getInterface();
-  /*
-   * Add a vector layer to the canvas
-   */
-  void addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey);
-  /** \brief overloaded vesion of the privat addLayer method that takes a list of
-   * filenames instead of prompting user with a dialog.
-   @param enc encoding type for the layer 
-   @returns true if successfully added layer
-   @note
-   This should be deprecated because it's possible to have a
-   heterogeneous set of files; i.e., a mix of raster and vector.
-   It's much better to try to just open one file at a time.
-   */
-  bool addLayer(QStringList const & theLayerQStringList, const QString& enc);
-
-  /** open a vector layer for the given file
-    @returns false if unable to open a raster layer for rasterFile
-    @note
-    This is essentially a simplified version of the above
-    */
-  bool addLayer(QFileInfo const & vectorFile);
-  /** overloaded vesion of the private addRasterLayer()
-    Method that takes a list of filenames instead of prompting
-    user with a dialog.
-    @returns true if successfully added layer(s)
-    @note
-    This should be deprecated because it's possible to have a
-    heterogeneous set of files; i.e., a mix of raster and vector.
-    It's much better to try to just open one file at a time.
-    */
-  bool addRasterLayer(QStringList const & theLayerQStringList, bool guiWarning=true);
-
-  /** Open a raster layer using the Raster Data Provider.
-   *  Note this is included to support WMS layers only at this stage,
-   *  GDAL layer support via a Provider is not yet implemented.
-   */
-  void addRasterLayer(QString const & rasterLayerPath,
-      QString const & baseName,
-      QString const & providerKey,
-      QStringList const & layers,
-      QStringList const & styles,
-      QString const & format,
-      QString const & crs,
-      QString const & proxyHost = QString(),
-      int proxyPort = 80,
-      QString const & proxyUser = QString(), 
-      QString const & proxyPassword = QString());
-
-  /** open a raster layer for the given file
-    @returns false if unable to open a raster layer for rasterFile
-    @note
-    This is essentially a simplified version of the above
-    */
-  bool addRasterLayer(QFileInfo const & rasterFile, bool guiWarning=true);
-  /** Add a 'pre-made' map layer to the project */
-  void addMapLayer(QgsMapLayer *theMapLayer);
-  /** Set the extents of the map canvas */
-  void setExtent(QgsRect theRect);
-  //! Remove all layers from the map and legend - reimplements same method from qgisappbase
-  void removeAllLayers();
-  /** Open a raster or vector file; ignore other files.
-    Used to process a commandline argument or OpenDocument AppleEvent.
-    @returns true if the file is successfully opened
-    */
-  bool openLayer(const QString & fileName);
-  /** Open the specified project file; prompt to save previous project if necessary.
-    Used to process a commandline argument or OpenDocument AppleEvent.
-    */
-  void openProject(const QString & fileName);
-  /** opens a qgis project file
-    @returns false if unable to open the project
-    */
-  bool addProject(QString projectFile);
-  //!Overloaded version of the private function with same name that takes the imagename as a parameter
-  void saveMapAsImage(QString, QPixmap *);
-  /** Get the mapcanvas object from the app */
-  QgsMapCanvas * getMapCanvas() { return mMapCanvas; };
-  /** return the layer registry
-    @note
-    Returns QgsMapLayerRegistry::instance(); i.e., it's a Singleton
-    */
-  QgsMapLayerRegistry * getLayerRegistry();
-  //! Set theme (icons)
-  void setTheme(QString themeName="default");
-  //! Setup the toolbar popup menus for a given theme
-  void setupToolbarPopups(QString themeName);
-  //! Returns a pointer to the internal clipboard
-  QgsClipboard * clipboard();
-  /** Activates or deactivates actions depending on the current maplayer type.
-   Is called from the legend when the current legend item has changed*/
-  void activateDeactivateLayerRelatedActions(const QgsMapLayer* layer);
-
-//private slots:
-public slots:
-  //! About QGis
-  void about();
-  //! Add a raster layer to the map (will prompt user for filename using dlg )
-  void addRasterLayer();
-  //! Get the path to the active theme dir
-  QString themePath();
-  //#ifdef HAVE_POSTGRESQL
-  //! Add a databaselayer to the map
-  void addDatabaseLayer();
-  //#endif
-  //! reimplements widget keyPress event so we can check if cancel was pressed
-  void keyPressEvent ( QKeyEvent * e );
-  /** for when a menu bar item is activated
-    Used to dynamically update pop-up menu items
-    */
-  /* virtual */ void menubar_highlighted( int i );
-  /** toggles whether the current selected layer is in overview or not */
-  void inOverview();
-  //! Slot to show the map coordinate position of the mouse cursor
-  void showMouseCoordinate(QgsPoint &);
-  //copy the click coord to clipboard and let the user know its there
-  void showCapturePointCoordinate(QgsPoint &);
-  //! Slot to show current map scale;
-  void showScale(QString theScale);
-  //! Remove a layer from the map and legend
-  void removeLayer();
-  //! zoom to extent of layer
-  void zoomToLayerExtent();
-  //! load any plugins used in the last qgis session
-  void restoreSessionPlugins(QString thePluginDirString);
-  //! test plugin functionality
-  void testPluginFunctions();
-  //! test maplayer plugins
-  void testMapLayerPlugins();
-  //! plugin manager
-  void showPluginManager();
-  //! plugin loader
-  void loadPlugin(QString name, QString description, QString mFullPath);
-  //! Find the QMenu with the given name (ie the user visible text on the menu item)
-  QMenu* getPluginMenu(QString menuName);
-  //! Add the action to the submenu with the given name under the plugin menu
-  void addPluginMenu(QString name, QAction* action);
-  //! Remove the action to the submenu with the given name under the plugin menu
-  void removePluginMenu(QString name, QAction* action);
-  //! Add an icon to the plugin toolbar
-  int addPluginToolBarIcon (QAction * qAction);
-  //! Remove an icon from the plugin toolbar
-  void removePluginToolBarIcon(QAction *qAction);
-  //! Save window state
-  void saveWindowState();
-  //! Restore the window and toolbar state
-  void restoreWindowState();
-  //! Save project. Returns true if the user selected a file to save to, false if not.
-  bool fileSave();
-  //! Save project as
-  void fileSaveAs();
-  //! Open the project file corresponding to the
-  //! text)= of the given action.
-  void openProject(QAction *action);
-  //! Save the map view as an image - user is prompted for image name using a dialog
-  void saveMapAsImage();
-  //! Open a project
-  void fileOpen();
-  //! Create a new project
-  void fileNew();
-  //! As above but allows forcing without prompt
-  void fileNew(bool thePromptToSaveFlag);
-  //! Create a new empty vector layer
-  void newVectorLayer();
-  //! Print the current map view frame
-  void filePrint();
-  //! Add all loaded layers into the overview - overides qgisappbase method
-  void addAllToOverview();
-  //! Remove all loaded layers from the overview - overides qgisappbase method
-  void removeAllFromOverview();
-  //reimplements method from base (gui) class
-  void hideAllLayers();
-  //reimplements method from base (gui) class
-  void showAllLayers();
-  //! Export current view as a mapserver map file
-  void exportMapServer();
-  //! Return pointer to the active layer
-  QgsMapLayer *activeLayer();
-  //! Return data source of the active layer
-  QString activeLayerSource();
-  //! Open the help contents in a browser
-  void helpContents();
-  //! Open the QGIS homepage in users browser
-  void helpQgisHomePage();
-  //! Open a url in the users configured browser
-  void openURL(QString url, bool useQgisDocDirectory=true);
-  //! Check qgis version against the qgis version server
-  void checkQgisVersion();
-  //!Invoke the custom projection dialog
-  void customProjection(); 
-  //! options dialog slot
-  void options();
-  //! Whats-this help slot
-  void whatsThis();
-  //! Get the Menu map (key is name, value is menu id)
-  std::map<QString, int> menuMapByName();
-  //! Get the Menu map (key is menu id, value is name)
-  std::map<int, QString> menuMapById();
-  //! Populate the menu maps
-  void populateMenuMaps();
-  void socketConnected();
-  void socketConnectionClosed();
-  void socketReadyRead();
-  void socketError(QAbstractSocket::SocketError e);
-  //! Set project properties, including map untis
-  void projectProperties();
-  //! Open project properties dialog and show the projections tab
-  void projectPropertiesProjections();
-  /*  void urlData(); */
-  //! Show the spatial bookmarks dialog
-  void showBookmarks();
-  //! Create a new spatial bookmark
-  void newBookmark();
-  //! Lets the user show all of the toolbars
-  void showAllToolbars();
-  //! Lets the user hide all of the toolbars
-  void hideAllToolbars();
-  //! Sets the visibility of the toolbars
-  void setToolbarVisibility(bool visibility);
-  //! activates the capture point tool
-  void capturePoint();
-  //! activates the capture line tool
-  void captureLine();
-  //! activates the capture polygon tool
-  void capturePolygon();
-  /**Deletes the selected attributes for the currently selected vector layer*/
-  void deleteSelected();
-  //! activates the add vertex tool
-  void addVertex();
-  //! activates the move vertex tool
-  void moveVertex();
-  //! activates the delete vertex tool
-  void deleteVertex();
-
-  //! activates the selection tool
-  void select();
-  //! refresh map canvas
-  void refreshMapCanvas();
-  //! returns pointer to map legend
-  QgsLegend *legend() { return mMapLegend; }
-  //! enables the editing mode of the current layer
-  void startEditing();
-  //! disables the editing mode of the current layer
-  void stopEditing();
-  
-
-public slots:
-  void showProgress(int theProgress, int theTotalSteps);
-  void showExtents(QgsRect theExtents);
-  void showStatusMessage(QString theMessage);
-  void updateMouseCoordinatePrecision();
-  void projectionsEnabled(bool theFlag);
-  //    void debugHook();
-  //! Add a vector layer to the map
-  void addLayer();
-  //! Exit Qgis
-  void fileExit();
-  //! Add a WMS layer to the map
-  void addWmsLayer();
-  //! Set map tool to Zoom out
-  void zoomOut();
-  //! Set map tool to Zoom in
-  void zoomIn();
-  //! Zoom to full extent
-  void zoomFull();
-  //! Zoom to the previous extent
-  void zoomPrevious();
-  //! Zoom to selected features
-  void zoomToSelected();
-  //! Set map tool to pan
-  void pan();
-  //! Identify feature(s) on the currently selected layer
-  void identify();
-  //! Measure distance
-  void measure();
-  //! Measure area
-  void measureArea();
-  //! show the attribute table for the currently selected layer
-  void attributeTable();
-
-  //! cuts selected features on the active layer to the clipboard
-  /**
-     \param layerContainingSelection  The layer that the selection will be taken from
-                                      (defaults to the active layer on the legend)
-   */
-  void editCut(QgsMapLayer * layerContainingSelection = 0);
-  //! copies selected features on the active layer to the clipboard
-  /**
-     \param layerContainingSelection  The layer that the selection will be taken from
-                                      (defaults to the active layer on the legend)
-   */
-  void editCopy(QgsMapLayer * layerContainingSelection = 0);
-  //! copies features on the clipboard to the active layer
-  /**
-     \param destinationLayer  The layer that the clipboard will be pasted to
-                              (defaults to the active layer on the legend)
-   */
-  void editPaste(QgsMapLayer * destinationLayer = 0);
-
-
-signals:
-  /** emitted when a key is pressed and we want non widget sublasses to be able
-    to pick up on this (e.g. maplayer) */
-  void keyPressed (QKeyEvent *e);
-
-  /** emitted when a project file is successfully read
-    @note
-    This is useful for plug-ins that store properties with project files.  A
-    plug-in can connect to this signal.  When it is emitted, the plug-in
-    knows to then check the project properties for any relevant state.
-    */
-  void projectRead();
-  /** emitted when starting an entirely new project
-    @note
-    This is similar to projectRead(); plug-ins might want to be notified
-    that they're in a new project.  Yes, projectRead() could have been
-    overloaded to be used in the case of new projects instead.  However,
-    it's probably more semantically correct to have an entirely separate
-    signal for when this happens.
-    */
-  void newProject();
-
-  //! emitted when a new bookmark is added 
-  void bookmarkAdded();
-
-private:
-  /** Add a raster layer to the map (passed in as a ptr). 
-   * It won't force a refresh unless you explicitly
-   * use the force redraw flag.
-   */
-  bool addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRedrawFlag=false);
-  //@todo We should move these next two into vector layer class
-  /** This helper checks to see whether the filename appears to be a valid vector file name */
-  bool isValidVectorFileName (QString theFileNameQString);
-  /** Overloaded version of the above function provided for convenience that takes a qstring pointer */
-  bool isValidVectorFileName (QString * theFileNameQString);
-  /** add this file to the recently opened/saved projects list
-   *  pass settings by reference since creating more than one
-   * instance simultaneously results in data loss.
-   */
-  void saveRecentProjectPath(QString projectPath, QSettings & settings);
-  //! Update file menu with the current list of recently accessed projects
-  void updateRecentProjectPaths();
-  //! Read Well Known Binary stream from PostGIS
-  //void readWKB(const char *, QStringList tables);
-  //! test function
-  void testButton();
-  //! shows the paste-transformations dialog
-  void pasteTransformations();
-  //! check to see if file is dirty and if so, prompt the user th save it
-  int saveDirty();
-  //! Have some control over closing of the application
-  virtual void closeEvent(QCloseEvent* event);
-
-  /// QgisApp aren't copyable
-  QgisApp( QgisApp const & );
-  /// QgisApp aren't copyable
-  QgisApp & operator=( QgisApp const & );
-
-  void readSettings();
-  void writeSettings();
-  void createActions();
-  void createActionGroups();
-  void createMenus();
-  void createToolBars();
-  void createStatusBar();
-  void setupConnections();
-  void createLegend();
-  void createOverview();
-  void createCanvas();
-  bool createDB();
-  //toolbars ----------------------------------------
-  QToolBar *mFileToolBar;
-  QToolBar *mLayerToolBar;
-  QToolBar *mMapNavToolBar;
-  QToolBar *mDigitizeToolBar;
-  QToolBar *mAttributesToolBar;
-  QToolBar *mPluginToolBar;
-  QToolBar *mHelpToolBar;
-  //
-  //toolbar buttons ---------------------------------
-  QAction *mActionFileNew;
-  QAction *mActionFileSave;
-  QAction *mActionFileSaveAs;
-  QAction *mActionFileOpen;
-  QAction *mActionFilePrint;
-  QAction *mActionSaveMapAsImage;
-  QAction *mActionExportMapServer;
-  QAction *mActionFileExit;
-  QAction *mActionAddNonDbLayer;
-  QAction *mActionAddRasterLayer;
-  QAction *mActionAddLayer;
-  QAction *mActionRemoveLayer;
-  QAction *mActionNewVectorLayer;
-  QAction *mActionAddAllToOverview;
-  QAction *mActionHideAllLayers;
-  QAction *mActionShowAllLayers;
-  QAction *mActionRemoveAllFromOverview;
-  QAction *mActionLayerProperties;
-  QAction *mActionProjectProperties;
-  QAction *mActionShowPluginManager;
-  QAction *mActionCheckQgisVersion;
-  QAction *mActionOptions;
-  QAction *mActionHelpContents;
-  QAction *mActionQgisHomePage;
-  QAction *mActionHelpAbout;
-  QAction *mArawAction;
-  QAction *mActionStartEditing;
-  QAction *mActionStopEditing;
-  QAction *mActionCapturePoint;
-  QAction *mActionCaptureLine;
-  QAction *mActionCapturePolygon;
-  QAction *mActionDeleteSelected;
-  QAction *mActionAddVertex;
-  QAction *mActionDeleteVertex;
-  QAction *mActionMoveVertex;
-  QAction *mActionEditCut;
-  QAction *mActionEditCopy;
-  QAction *mActionEditPaste;
-  QAction *mActionZoomIn;
-  QAction *mActionZoomOut;
-  QAction *mActionZoomFullExtent;
-  QAction *mActionZoomToSelected;
-  QAction *mActionPan;
-  QAction *mActionZoomLast;
-  QAction *mActionZoomToLayer;
-  QAction *mActionIdentify;
-  QAction *mActionSelect;
-  QAction *mActionOpenTable;
-  QAction *mActionMeasure;
-  QAction *mActionMeasureArea;
-  QAction *mActionShowBookmarks;
-  QAction *mActionNewBookmark;
-  QAction *mActionCustomProjection;
-  QAction *mActionAddWmsLayer;
-  QAction *mActionInOverview;
-  QAction *mActionDraw;
-  QAction *mActionShowAllToolbars;
-  QAction *mActionHideAllToolbars;
-  //
-  //tool groups -------------------------------------
-  QActionGroup *mMapToolGroup;
-  //
-  //menus   -----------------------------------------
-  QMenu *mFileMenu;
-  QMenu *mRecentProjectsMenu;
-  QMenu *mViewMenu;
-  QMenu *mToolbarMenu;
-  QMenu *mLayerMenu;
-  QMenu *mSettingsMenu;
-  QMenu *mHelpMenu;
-
-  class Tools
-  {
-    public:
-      QgsMapTool* mZoomIn;
-      QgsMapTool* mZoomOut;
-      QgsMapTool* mPan;
-      QgsMapTool* mIdentify;
-      QgsMapTool* mMeasureDist;
-      QgsMapTool* mMeasureArea;
-      QgsMapTool* mCapturePoint;
-      QgsMapTool* mCaptureLine;
-      QgsMapTool* mCapturePolygon;
-      QgsMapTool* mSelect;
-      QgsMapTool* mVertexAdd;
-      QgsMapTool* mVertexMove;
-      QgsMapTool* mVertexDelete;
-  } mMapTools;
-  
-  //!The name of the active theme
-  QString mThemeName;
-
-  //! A central registry that keeps track of all loaded layers.
-  // prefer QgsMapLayerRegistry::instance() to emphasize Singleton
-  ///QgsMapLayerRegistry * mMapLayerRegistry;
-  //! Widget that will live on the statusbar to display scale
-  QLabel * mScaleLabel;
-  //! Widget that will live in the statusbar to display coords
-  QLabel * mCoordsLabel;
-  //! Widget that will live in the statusbar to show progress of operations
-  QProgressBar * mProgressBar;
-  //! Widget used to suppress rendering
-  QCheckBox * mRenderSuppressionCBox;
-  //! Widget in status bar used to show status of on the fly projection
-  QToolButton * mOnTheFlyProjectionStatusButton;
-  //! Popup menu
-  QMenu * mPopupMenu;
-  //! Top level plugin menu
-  QMenu *mPluginMenu;
-  //! Popup menu for the map overview tools
-  QMenu *toolPopupOverviews;
-  //! Popup menu for the display tools
-  QMenu *toolPopupDisplay;
-  //! Popup menu for the capture tools
-  QMenu *toolPopupCapture;
-  //! Map canvas
-  QgsMapCanvas *mMapCanvas;
-  //! Map layer registry
-  // use instance() now QgsMapLayerRegistry *mLayerRegistry;
-  //! Table of contents (legend) for the map
-  QgsLegend *mMapLegend;
-  //! Cursor for the overview map
-  QCursor *mOverviewMapCursor;
-  //! scale factor
-  double mScaleFactor;
-  //! Current map window extent in real-world coordinates
-  QRect *mMapWindow;
-  //! The previously selected non zoom map tool.
-  int mPreviousNonZoomMapTool;
-  //QCursor *mCursorZoomIn; //doesnt seem to be used anymore (TS)
-  QString mStartupPath;
-  //! full path name of the current map file (if it has been saved or loaded)
-  QString mFullPathName;
-  QgisIface *mQgisInterface;
-  QTcpSocket *mSocket;
-  QString mVersionMessage;
-  QSplashScreen *mSplash;
-  friend class QgisIface;
-  QgsProviderRegistry *mProviderRegistry;
-  //! application directory
-  QString mAppDir;
-  //! help viewer
-  QgsHelpViewer *mHelpViewer;
-  //! Flag to indicate that newly added layers are not shown on
-  //  the map
-  bool mAddedLayersVisible;
-  //! menu map (key is name, value is menu id)
-  std::map<QString, int>mMenuMapByName;
-  //! menu map (key is menu id, value is name)
-  std::map<int, QString>mMenuMapById;
-  //! list of recently opened/saved project files
-  QStringList mRecentProjectPaths;
-  //! Map composer
-  QgsComposer *mComposer;
-  //! How to determine the number of decimal places used to
-  //! display the mouse position
-  bool mMousePrecisionAutomatic;
-  //! The number of decimal places to use if not automatic
-  unsigned int mMousePrecisionDecimalPlaces;
-  /** QGIS-internal vector feature clipboard */
-  QgsClipboard mInternalClipboard;
-  //! Flag to indicate how the project properties dialog was summoned
-  bool mShowProjectionTab;
-  /** String containing supporting vector file formats 
-    Suitable for a QFileDialog file filter.  Build in ctor.
-    */
-  QString mVectorFileFilter;
-  /** String containing supporting raster file formats 
-    Suitable for a QFileDialog file filter.  Build in ctor.
-    */
-  QString mRasterFileFilter;
-};
-
-#endif

Added: packages/qgis/branches/upstream/current/src/gui/qgisgui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisgui.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgisgui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,16 @@
+/***************************************************************************
+    qgisgui.cpp - Constants used throughout the QGIS GUI.
+     --------------------------------------
+    Date                 : 11-Jan-2006
+    Copyright            : (C) 2006 by Tom Elwertowski
+    Email                : telwertowski at users dot sourceforge dot net
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgisgui.h"
+

Deleted: packages/qgis/branches/upstream/current/src/gui/qgisiface.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisiface.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisiface.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,146 +0,0 @@
-/***************************************************************************
-                          qgsiface.cpp
-                          Interface class for accessing exposed functions
-                          in QgisApp
-                             -------------------
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgisiface.cpp 5450 2006-05-14 04:54:03Z g_j_m $ */
-#include <iostream>
-#include <QString>
-#include <QMenu>
-
-#include "qgisinterface.h"
-#include "qgisapp.h"
-#include "qgsmaplayer.h"
-#include "qgsmapcanvas.h"
-#include "qgslegend.h"
-
-QgisIface::QgisIface(QgisApp * _qgis, const char *name):qgis(_qgis)
-{
-    connect ( qgis->legend(), SIGNAL(currentLayerChanged(QgsMapLayer *)),
-              this, SLOT(emitCurrentLayerChanged(QgsMapLayer *)) );
-
-}
-
-QgisIface::~QgisIface()
-{
-}
-
-void QgisIface::zoomFull()
-{
-  qgis->zoomFull();
-}
-
-void QgisIface::zoomPrevious()
-{
-  qgis->zoomPrevious();
-}
-
-void QgisIface::zoomActiveLayer()
-{
-  qgis->zoomToLayerExtent();
-}
-
-bool QgisIface::addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)
-{
-  qgis->addVectorLayer(vectorLayerPath, baseName, providerKey);
-  //TODO fix this so it returns something meaningfull
-  return true;
-}
-
-bool QgisIface::addRasterLayer(QString rasterLayerPath)
-{
-  return qgis->addRasterLayer( QStringList(rasterLayerPath) );
-}
-
-bool QgisIface::addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRenderFlag)
-{
-  return qgis->addRasterLayer(theRasterLayer, theForceRenderFlag);
-}
-
-bool QgisIface::addProject(QString theProjectName)
-{
-  return qgis->addProject(theProjectName);
-}
-
-void QgisIface::newProject(bool thePromptToSaveFlag)
-{
-  qgis->fileNew(thePromptToSaveFlag);
-}
-
-QgsMapLayer *QgisIface::activeLayer()
-{
-  return qgis->activeLayer();
-}
-
-QString QgisIface::activeLayerSource()
-{
-  return qgis->activeLayerSource();
-}
-
-void QgisIface::addPluginMenu(QString name, QAction* action)
-{
-  qgis->addPluginMenu(name, action);
-}
-
-void QgisIface::removePluginMenu(QString name, QAction* action)
-{
-  qgis->removePluginMenu(name, action);
-}
-
-int QgisIface::addToolBarIcon(QAction * qAction)
-{
-  // add the menu to the master Plugins menu
-  return qgis->addPluginToolBarIcon(qAction);
-}
-void QgisIface::removeToolBarIcon(QAction *qAction)
-{
-  qgis->removePluginToolBarIcon(qAction);
-}
-void QgisIface::openURL(QString url, bool useQgisDocDirectory)
-{
-  qgis->openURL(url, useQgisDocDirectory);
-}
-
-std::map<QString, int> QgisIface::menuMapByName()
-{
-  return qgis->menuMapByName();
-}
-
-std::map<int, QString> QgisIface::menuMapById()
-{
-  return qgis->menuMapById();
-}
-  
-QgsMapCanvas * QgisIface::getMapCanvas()
-{
-  return qgis->getMapCanvas();
-}
-
-QgsMapLayerRegistry * QgisIface::getLayerRegistry() 
-{
-  return qgis->getLayerRegistry();
-}
-
-
-QgisApp * 
-QgisIface::app()
-{
-    return qgis;
-} // QgisIface::app()
-
-void QgisIface::emitCurrentLayerChanged ( QgsMapLayer * layer )
-{
-    emit currentLayerChanged ( layer );
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgisiface.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisiface.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisiface.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,133 +0,0 @@
-/***************************************************************************
-                          qgisiface.h 
- Interface class for exposing functions in QgisApp for use by plugins
-                             -------------------
-  begin                : 2004-02-11
-  copyright            : (C) 2004 by Gary E.Sherman
-  email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgisiface.h 5450 2006-05-14 04:54:03Z g_j_m $ */
-#ifndef QGISIFACE_H
-#define QGISIFACE_H
-#include "qgisinterface.h"
-
-class QMenu;
-class QgsMapCanvas;
-class QgsMapLayer;
-/** \class QgisIface
- * \brief Interface class to provide access to private methods in QgisApp
- * for use by plugins.
- * 
- * Only those functions "exposed" by QgisIface can be called from within a
- * plugin.
- */
-class QgisIface : public QgisInterface
-{
-    Q_OBJECT;
-
-    public:
-        /**
-         * Constructor.
-         * @param qgis Pointer to the QgisApp object
-         */
-        QgisIface(QgisApp *qgis=0, const char *name=0);
-        ~QgisIface();
-        /* Exposed functions */
-        //! Zoom map to full extent
-        void zoomFull();
-        //! Zoom map to previous extent
-        void zoomPrevious();
-        //! Zoom to active layer
-        void zoomActiveLayer();
-        //! Add a vector layer
-        bool addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey);
-        //! Add a raster layer given its file name
-        bool addRasterLayer(QString rasterLayerPath);
-        //! Add a raster layer given a raster layer obj
-        bool addRasterLayer(QgsRasterLayer * theRasterLayer,bool theForceRenderFlag=false);
-        //! Add a project
-        bool addProject(QString theProjectName);
-        //! Start a new blank project
-        void newProject(bool thePromptToSaveFlag=false);
-        //! Get pointer to the active layer (layer selected in the legend)
-        QgsMapLayer *activeLayer();
-        //! Get source of the active layer
-        QString activeLayerSource();
-
-	void addPluginMenu(QString name, QAction* action);
-	void removePluginMenu(QString name, QAction* action);
-
-	void removePluginMenuItem(QString name, int menuId);
-
-        //! Add an icon to the plugins toolbar
-        int addToolBarIcon(QAction *qAction);
-        //! Remove an icon (action) from the plugin toolbar
-        void removeToolBarIcon(QAction *qAction);
-        /** Open a url in the users browser. By default the QGIS doc directory is used
-         * as the base for the URL. To open a URL that is not relative to the installed
-         * QGIS documentation, set useQgisDocDirectory to false.
-         * @param url URL to open
-         * @param useQgisDocDirectory If true, the URL will be formed by concatenating 
-         * url to the QGIS documentation directory path (<prefix>/share/doc)
-         */
-        void openURL(QString url, bool useQgisDocDirectory=true);
-
-        /** 
-         * Get the menu info mapped by menu name (key is name, value is menu id)
-         */
-        std::map<QString,int> menuMapByName();
-        /** 
-         * Get the menu info mapped by menu id (key is menu id, value is name)
-         */
-        std::map<int,QString> menuMapById();
-        /** Return a pointer to the map canvas used by qgisapp */
-        QgsMapCanvas * getMapCanvas();	
-        /** Return a pointer to the map layer registry */
-        QgsMapLayerRegistry * getLayerRegistry();	
-
-
-        /** Gives access to main QgisApp object
-
-          Even though this class is supposed to act as a Facade for the
-          QgisApp, the plug-ins need direct access to the application object
-          for their connect() calls.
-
-          @todo XXX this may call into question the current need for this
-          interface?  Maybe these connect() calls can be done in some other
-          less intrusive way?
-
-        */
-        QgisApp * app();
-
-    public slots:
-         void emitCurrentLayerChanged ( QgsMapLayer * layer );
-         
-
-    signals:
-         //! Emited whenever current (selected) layer changes
-         //  the pointer to layer can be null if no layer is selected
-         void currentLayerChanged ( QgsMapLayer * layer );
-
-    private:
-
-        /// QgisIface aren't copied
-        QgisIface( QgisIface const & );
-        
-        /// QgisIface aren't copied
-        QgisIface & operator=( QgisIface const & );
-
-        //! Pointer to the QgisApp object
-        QgisApp *qgis;
-};
-
-
-#endif //#define QGISIFACE_H

Modified: packages/qgis/branches/upstream/current/src/gui/qgisinterface.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisinterface.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisinterface.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,12 +15,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ****************************************************************************/
- /* $Id: qgisinterface.cpp 4992 2006-03-10 03:11:06Z g_j_m $ */
+ /* $Id: qgisinterface.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include "qgisinterface.h"
-#include "qgisapp.h"
 
-QgisInterface::QgisInterface(QgisApp * _qgis, const char *name):QWidget(_qgis, name)
+QgisInterface::QgisInterface()
 {
 
 

Modified: packages/qgis/branches/upstream/current/src/gui/qgisinterface.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgisinterface.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgisinterface.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,12 +15,16 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgisinterface.h 4992 2006-03-10 03:11:06Z g_j_m $ */
+/* $Id: qgisinterface.h 7114 2007-07-30 07:58:57Z mhugent $ */
 #ifndef QGISINTERFACE_H
 #define QGISINTERFACE_H
 
-#include <QAction> 
-#include <QWidget>
+class QAction;
+class QMenu;
+class QToolBar;
+class QToolBox;
+class QWidget;
+#include <QObject>
 
 #include <map>
 
@@ -28,41 +32,48 @@
 class QgsMapLayer;
 class QgsMapCanvas;
 class QgsRasterLayer;
-class QgsMapLayerRegistry;
 
 /** 
  * \class QgisInterface
  * \brief Abstract base class defining interfaces exposed by QgisApp and
  * made available to plugins.
  *
+ * Only functionality exposed by QgisInterface can be used in plugins.
+ * This interface has to be implemented with application specific details.
+ *
+ * QGIS implements it in QgisAppInterface class, 3rd party applications
+ * could provide their own implementation to be able to use plugins.
  */
 
-class QgisInterface : public QWidget{
-  Q_OBJECT
+class GUI_EXPORT QgisInterface : public QObject
+{
+  Q_OBJECT;
+
   public:
-    /**
-     * Constructor
-     * @param qgis Pointer to the qgis application instance
-     * @param name 
-     */
-    QgisInterface(QgisApp *qgis=0, const char *name=0) ;
-    /**
-     * Destructor
-     */
-    virtual ~QgisInterface() ;
-    public slots:
-      //! Zoom to full extent of map layers
-      virtual void zoomFull()=0;
+
+    /** Constructor */
+    QgisInterface();
+
+    /** Virtual destructor */
+    virtual ~QgisInterface();
+    
+
+  public slots: // TODO: do these functions really need to be slots?
+
+    //! Zoom to full extent of map layers
+    virtual void zoomFull()=0;
     //! Zoom to previous view extent
     virtual void zoomPrevious()=0;
     //! Zoome to extent of the active layer
     virtual void zoomActiveLayer()=0;
+
     //! Add a vector layer
     virtual bool addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)=0;
     //! Add a raster layer given a raster layer file name
     virtual bool addRasterLayer(QString rasterLayerPath)=0;
     //! Add a raster layer given a QgsRasterLayer object
     virtual bool addRasterLayer(QgsRasterLayer * theRasterLayer, bool theForceRenderFlag=false)=0;
+
     //! Add a project
     virtual bool addProject(QString theProject)=0; 
     //! Start a blank project
@@ -70,10 +81,15 @@
 
     //! Get pointer to the active layer (layer selected in the legend)
     virtual QgsMapLayer *activeLayer()=0;
+
     //! Add an icon to the plugins toolbar
     virtual int addToolBarIcon(QAction *qAction) =0;
     //! Remove an action (icon) from the plugin toolbar
     virtual void removeToolBarIcon(QAction *qAction) = 0;
+    //! Add toolbar with specified name
+    virtual QToolBar* addToolBar(QString name)=0;
+
+    // TODO: is this deprecated in favour of QgsContextHelp?
     /** Open a url in the users browser. By default the QGIS doc directory is used
      * as the base for the URL. To open a URL that is not relative to the installed
      * QGIS documentation, set useQgisDocDirectory to false.
@@ -82,22 +98,27 @@
      * url to the QGIS documentation directory path (<prefix>/share/doc)
      */
     virtual void openURL(QString url, bool useQgisDocDirectory=true)=0;
-    /** 
-     * Get the menu info mapped by menu name (key is name, value is menu id)
-     */
-    virtual std::map<QString,int> menuMapByName()=0;
-    /** 
-     * Get the menu info mapped by menu id (key is menu id, value is name)
-     */
-    virtual std::map<int,QString> menuMapById()=0;
-    /** Return a pointer to the map canvas used by qgisapp */
+
+    /** Return a pointer to the map canvas */
     virtual QgsMapCanvas * getMapCanvas()=0;
-    /** Return a pointer to the map layer registry */
-    virtual QgsMapLayerRegistry * getLayerRegistry()=0;	
 
-  private:
-    //QgisApp *qgis;
+    /** Return a pointer to the main window (instance of QgisApp in case of QGIS) */
+    virtual QWidget * getMainWindow()=0;
+
+    /** Add action to the plugins menu */
+    virtual void addPluginMenu(QString name, QAction* action)=0;
+    /** Remove action from the plugins menu */
+    virtual void removePluginMenu(QString name, QAction* action)=0;
+
+    /** Return a pointer to the toolbox (where additional pages can be inserted) */
+    virtual QToolBox* getToolBox()=0;
+
+  signals:
+    /** Emited whenever current (selected) layer changes.
+     *  The pointer to layer can be null if no layer is selected
+     */
+    void currentLayerChanged ( QgsMapLayer * layer );
+
 };
 
 #endif //#ifndef QGISINTERFACE_H
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsabout.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsabout.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsabout.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,267 +0,0 @@
-/***************************************************************************
-                          qgsabout.cpp  -  description
-                             -------------------
-    begin                : Sat Aug 10 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsabout.cpp 6035 2006-10-30 01:34:48Z gsherman $ */
-
-#include "qgsabout.h"
-#include "qgsapplication.h"
-#ifdef Q_OS_MACX
-#include <ApplicationServices/ApplicationServices.h>
-#else
-#include <QInputDialog>
-#include <QProcess>
-#include <QSettings>
-#endif
-#include <QFile>
-#include <QTextStream>
-#include <iostream>
-
-/* Uncomment this block to use preloaded images
-#include <map>
-std::map<QString, QPixmap> mugs;
-*/
-
-QgsAbout::QgsAbout()
-: QDialog(NULL, Qt::WindowSystemMenuHint)  // Modeless dialog with close button only
-{
-  setupUi(this);
-  init();
-}
-
-QgsAbout::~QgsAbout()
-{
-}
-
-void QgsAbout::init()
-{
-  // set the 60x60 icon pixmap
-  QPixmap icon(QgsApplication::iconsPath() + "qgis-icon-60x60.png");
-  qgisIcon->setPixmap(icon);
-  //read the authors file to populate the contributors list
-  QStringList lines;
-
-  QFile file(QgsApplication::authorsFilePath());
-#ifdef QGISDEBUG
-  printf (("Reading authors file " + file.name() +
-      ".............................................\n").toLocal8Bit().data());
-#endif
-  if ( file.open( QIODevice::ReadOnly ) ) {
-    QTextStream stream( &file );
-    QString line;
-    int i = 1;
-    while ( !stream.atEnd() ) 
-    {
-      line = stream.readLine(); // line of text excluding '\n'
-      //ignore the line if it starts with a hash....
-      if (line.left(1)=="#") continue;
-#ifdef QGISDEBUG 
-      printf( "Contributor: %3d: %s\n", i++, (const char *)line.toLocal8Bit().data() );
-#endif 
-      QStringList myTokens = QStringList::split("\t",line);
-      //printf ("Added contributor name to listbox: %s ",myTokens[0]);
-      lines += myTokens[0];
-
-      // add the image to the map
-      /* Uncomment this block to preload the images (takes time at initial startup)
-      QString authorName = myTokens[0].replace(" ","_");
-
-      QString myString =QString(appPath + "/images/developers/") + authorName + QString(".jpg");
-      printf ("Loading mug: %s\n", myString.toLocal8Bit().data()); 
-      QPixmap *pixmap = new QPixmap(myString);
-      mugs[myTokens[0]] = *pixmap;
-      */
-    }
-    file.close();
-    listBox1->clear();
-    listBox1->insertItems(0, lines);
-
-    // Load in the image for the first author
-    if (listBox1->count() > 0)
-      listBox1->setCurrentRow(0);
-  }
-
-  // read the SPONSORS file and populate the text widget
-    QFile sponsorFile(QgsApplication::sponsorsFilePath());
-  #ifdef QGISDEBUG
-    printf (("Reading sponsors file " + sponsorFile.name() +
-        ".............................................\n").toLocal8Bit().data());
-  #endif
-    if ( sponsorFile.open( QIODevice::ReadOnly ) ) {
-      QString sponsorHTML = "<html><body><h2>"
-        + tr("QGIS Sponsors") + "</h2><center>"
-
-        + tr("The following have sponsored QGIS by contributing money to fund development and other project costs")
-        + "</center><hr>"
-        + "<table border='1' cellpadding='1' width='100%'>"
-        + "<tr><th>" + tr("Name") + "</th><th>" + tr("Website") + "</th>"
-        + "<th></th>"
-        + "</th><th>" + tr("Name") + "</th><th>" + tr("Website") + "</th></tr>";
-      QString website;
-      QTextStream sponsorStream( &sponsorFile );
-      QString sline;
-      int count = 0;
-      while ( !sponsorStream.atEnd() ) 
-      {
-        sline = sponsorStream.readLine(); // line of text excluding '\n'
-        //ignore the line if it starts with a hash....
-        if (sline.left(1)=="#") continue;
-        count++;
-        QStringList myTokens = QStringList::split("|",sline);
-        if(myTokens.size() > 1)
-        {
-          website = myTokens[1];
-        }
-        else
-        { 
-          website = "&nbsp;";
-        }
-        if(count == 1){
-          sponsorHTML += "<tr>";
-        }
-        if(count == 2)
-        {
-          // a spacer between donator columns
-          sponsorHTML += "<td></td>";
-        }
-        sponsorHTML += "<td>" + myTokens[0] + "</td><td>" + website + "</td>";
-        if(count == 2){
-          // close the row 
-          sponsorHTML += "</tr>";
-          count = 0;
-        }
-        
-      }
-      sponsorHTML += "</table></body></html>";
-
-      txtSponsors->setAcceptRichText(true);
-      txtSponsors->setHtml(sponsorHTML);
-      #ifdef QGISDEBUG
-       std::cout << "sponsorHTML:" << sponsorHTML.ascii() << std::endl;
-       std::cout << "txtSponsors:" << txtSponsors->toHtml().ascii() << std::endl;
-      #endif
-    }
-}
-
-void QgsAbout::setVersion(QString v)
-{
-  lblVersion->setText(v);
-}
-
-void QgsAbout::setURLs(QString urls)
-{
-  lblUrls->setText(urls);
-}
-
-void QgsAbout::setWhatsNew(QString txt)
-{
-  txtWhatsNew->setText(txt);
-}
-
-void QgsAbout::setPluginInfo(QString txt)
-{
-  txtBrowserPlugins->setText(txt);
-}
-
-void QgsAbout::on_buttonCancel_clicked()
-{
-  reject();
-}
-
-void QgsAbout::on_listBox1_currentItemChanged(QListWidgetItem *theItem)
-{
-  //replace spaces in author name
-#ifdef QGISDEBUG 
-  printf ("Loading mug: "); 
-#endif 
-  QString myString = listBox1->currentItem()->text();
-  myString = myString.replace(" ","_");
-#ifdef QGISDEBUG 
-  printf ("Loading mug: %s", (const char *)myString.toLocal8Bit().data()); 
-#endif 
-  myString = QgsApplication::developerPath() + myString + QString(".jpg");
-#ifdef QGISDEBUG 
-  printf ("Loading mug: %s\n", (const char *)myString.toLocal8Bit().data()); 
-#endif 
-  QPixmap *pixmap = new QPixmap(myString);
-  pixAuthorMug->setPixmap(*pixmap);
-  /* Uncomment this block to use preloaded images
-  pixAuthorMug->setPixmap(mugs[myString]);
-  */
-}
-
-void QgsAbout::on_btnQgisUser_clicked()
-{
-  // find a browser
-  QString url = "http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-user";
-  openUrl(url);
-}
-
-void QgsAbout::on_btnQgisHome_clicked()
-{
-  openUrl("http://qgis.org");
-}
-
-void QgsAbout::openUrl(QString url)
-{
-#ifdef Q_OS_MACX
-  /* Use Mac OS X Launch Services which uses the user's default browser
-   * and will just open a new window if that browser is already running.
-   * QProcess creates a new browser process for each invocation and expects a
-   * commandline application rather than a bundled application.
-   */
-  CFURLRef urlRef = CFURLCreateWithBytes(kCFAllocatorDefault,
-      reinterpret_cast<const UInt8*>(url.utf8().data()), url.length(),
-      kCFStringEncodingUTF8, NULL);
-  OSStatus status = LSOpenCFURLRef(urlRef, NULL);
-  CFRelease(urlRef);
-#else
-  QSettings settings;
-  QString browser = settings.readEntry("/qgis/browser");
-  if (browser.length() == 0)
-  {
-    // ask user for browser and use it
-    bool ok;
-    QString text = QInputDialog::getText(tr("QGIS Browser Selection"),
-	 tr("Enter the name of a web browser to use (eg. konqueror).\n"
-	    "Enter the full path if the browser is not in your PATH.\n"
-            "You can change this option later by selection Options from"
-	    " the Settings menu (Help Browser tab)."),
-        QLineEdit::Normal,
-        QString::null, &ok, this);
-    if (ok && !text.isEmpty())
-    {
-      // user entered something and pressed OK
-      browser = text;
-      // save the setting
-      settings.writeEntry("/qgis/browser", browser);
-    } else
-    {
-      browser = "";
-    }
-  }
-  if (browser.length() > 0)
-  {
-    // find the installed location of the help files
-    // open index.html using browser
-    //XXX for debug on win32    QMessageBox::information(this, "Help opening...", browser + " - " + url);
-    QProcess *helpProcess = new QProcess(this);
-    helpProcess->start(browser, QStringList() << url);
-  }
-#endif
-  /*  mHelpViewer = new QgsHelpViewer(this,"helpviewer",false);
-      mHelpViewer->showContent(mAppDir +"/share/doc","index.html");
-      mHelpViewer->show(); */
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsabout.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsabout.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsabout.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,45 +0,0 @@
-/***************************************************************************
-                          qgsabout.h  -  description
-                             -------------------
-    begin                : Sat Aug 10 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id:$ */
-#ifndef QGSABOUT_H
-#define QGSABOUT_H
-
-#include "ui_qgsabout.h"
-
-class QgsAbout : public QDialog, private Ui::QgsAbout
-{
-  Q_OBJECT
-  public:
-    QgsAbout();
-    ~QgsAbout();
-    void setVersion(QString v);
-    void setURLs(QString urls);
-    void setWhatsNew(QString txt);
-    void setPluginInfo(QString txt);
-
-  private:
-    void init();
-    void openUrl(QString url);
-
-  private slots:
-    void on_buttonCancel_clicked();
-    void on_listBox1_currentItemChanged(QListWidgetItem *theItem);
-    void on_btnQgisUser_clicked();
-    void on_btnQgisHome_clicked();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,63 +0,0 @@
-/***************************************************************************
-                         qgsaddattrdialog.h  -  description
-                             -------------------
-    begin                : January 2005
-    copyright            : (C) 2005 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgsaddattrdialog.h"
-#include "qgsvectordataprovider.h"
-
-QgsAddAttrDialog::QgsAddAttrDialog(QgsVectorDataProvider* provider, QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl), mDataProvider(provider)
-{
-    setupUi(this);
-    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
-    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
-
-    //fill data types into the combo box
-    const std::list<QString>& numlist=mDataProvider->numericalTypes();
-    const std::list<QString>& anumlist=mDataProvider->nonNumericalTypes();
-
-    for(std::list<QString>::const_iterator iter=numlist.begin();iter!=numlist.end();++iter)
-    {
-	mTypeBox->insertItem(*iter);
-    }
-    for(std::list<QString>::const_iterator iter=anumlist.begin();iter!=anumlist.end();++iter)
-    {
-	mTypeBox->insertItem(*iter);
-    }
-}
-
-QgsAddAttrDialog::QgsAddAttrDialog(const std::list<QString>& typelist, QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl), mDataProvider(0)
-{
-    setupUi(this);
-    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
-    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
-
-    for(std::list<QString>::const_iterator iter=typelist.begin();iter!=typelist.end();++iter)
-    {
-	mTypeBox->insertItem(*iter);
-    }
-}
-
-QString QgsAddAttrDialog::name() const
-{
-    return mNameEdit->text();
-}
-
-QString QgsAddAttrDialog::type() const
-{
-    return mTypeBox->currentText();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsaddattrdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-/***************************************************************************
-                         qgsaddattrdialog.h  -  description
-                             -------------------
-    begin                : January 2005
-    copyright            : (C) 2005 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#ifndef QGSADDATTRDIALOG_H
-#define QGSADDATTRDIALOG_H
-
-#include "ui_qgsaddattrdialogbase.h"
-#include "qgisgui.h"
-
-class QgsVectorDataProvider;
-
-class QgsAddAttrDialog: public QDialog, private Ui::QgsAddAttrDialogBase
-{
-    Q_OBJECT
- public:
-    QgsAddAttrDialog(QgsVectorDataProvider* provider,
-                     QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    QgsAddAttrDialog(const std::list<QString>& typelist,
-                     QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    QString name() const;
-    QString type() const;
- protected:
-    QgsVectorDataProvider* mDataProvider;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,190 +0,0 @@
-/***************************************************************************
-                               qgsattributeaction.cpp 
-
- A class that stores and controls the managment and execution of actions 
- associated. Actions are defined to be external programs that are run
- with user-specified inputs that can depend on the value of layer
- attributes. 
-
-                             -------------------
-    begin                : Oct 24 2004
-    copyright            : (C) 2004 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
-
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/*  $Id: qgsattributeaction.cpp 5684 2006-08-10 11:31:15Z g_j_m $ */
-
-#include <iostream>
-#include <vector>
-
-#include <QStringList>
-#include <QDomElement>
-
-#include "qgsattributeaction.h"
-#include "qgsrunprocess.h"
-
-static const char * const ident_ = "$Id: qgsattributeaction.cpp 5684 2006-08-10 11:31:15Z g_j_m $";
-
-void QgsAttributeAction::addAction(QString name, QString action,
-				   bool capture)
-{
-  mActions.push_back(QgsAction(name, action, capture));
-}
-
-void QgsAttributeAction::doAction(unsigned int index, const std::vector<std::pair<QString, QString> >& values,
-				  int defaultValueIndex) 
-{
-  aIter action = retrieveAction(index);
-
-  // A couple of extra options for running the action may be
-  // useful. For example,
-  // - run the action inside a terminal (on unix)
-  // - capture the stdout from the process and display in a dialog
-  //   box
-  //
-  // The capture stdout one is partially implemented. It just needs
-  // the UI and the code in this function to select on the
-  // action.capture() return value.
-
-  if (action != end())
-  {
-    // The action will be divided into separate arguments that are
-    // passed to a QProcess instance. Spaces are used to delimit
-    // arguments, except for spaces inside pairs of ". A \" will be
-    // replaced by a ". The replacement of the %field_name is done
-    // after the parsing into arguments.
-    bool in_quote = false;
-    QStringList args;
-    QString current_arg;
-    QString cmd = action->action();
-    for (int i = 0; i < cmd.length(); ++i)
-    {
-      // Deal with \"
-      if (i < cmd.length()-1 && cmd[i] == '\\' && cmd[i+1] == '\"')
-      {
-	current_arg += '\"';
-	++i;
-      }
-      // Found a delimiter, create a new argument
-      else if (cmd[i].isSpace() && !in_quote && current_arg.length() > 0)
-      {
-	QString strippedCmd = current_arg.stripWhiteSpace();
-	if (strippedCmd.length() > 0)
-	  args << expandAction(strippedCmd, values, defaultValueIndex);
-	current_arg = "";
-      }
-      // Starting a new quote
-      else if (cmd[i] == '\"' && !in_quote)
-	in_quote = true;
-      // Ending a quote
-      else if (cmd[i] == '\"' && in_quote)
-	in_quote = false;
-      else
-	current_arg += cmd[i];
-    }
-
-    // Pick up the last argument if it has something of interest
-    if (!current_arg.stripWhiteSpace().isEmpty())
-      args << expandAction(current_arg.stripWhiteSpace(), values, defaultValueIndex);
-
-    // The QgsRunProcess instance created by this static function
-    // deletes itself when no longer needed.
-    QgsRunProcess::create(args, action->capture());
-  }
-}
-
-QgsAttributeAction::aIter QgsAttributeAction::retrieveAction(unsigned int index) const
-{
-  // This function returns an iterator so that it's easy to deal with
-  // an invalid index being given.
-  aIter a_iter = end();
-
-  if (index >= 0 && index < mActions.size())
-  {
-    a_iter = mActions.begin();
-    for (unsigned int i = 0; i < index; ++i, ++a_iter)
-      {}
-  }
-  return a_iter;
-}
-
-QString QgsAttributeAction::expandAction(QString action, const std::vector<std::pair<QString, QString> >& values, 
-					 int clickedOnValue)
-{
-  // This function currently replaces all %% characters in the action
-  // with the value from values[clickedOnValue].second, and then
-  // searches for all strings that go %attribite_name, where
-  // attribute_name is found in values[x].first, and replaces any that
-  // it finds by values[s].second.
-
-  // Additional substitutions could include symbols for $CWD, $HOME,
-  // etc (and their OSX and Windows equivalents)
-
-  // This function will potentially fall apart if any of the
-  // substitutions produce text that could match another
-  // substitution. May be better to adopt a two pass approach - identify
-  // all matches and their substitutions and then do a second pass 
-  // for the actual substitutions.
-
-  QString expanded_action;
-  if (clickedOnValue >= 0 && clickedOnValue < static_cast<unsigned int>(values.size()))
-    expanded_action = action.replace("%%", values[clickedOnValue].second);
-  else
-    expanded_action = action;
-
-  for (unsigned int i = 0; i < values.size(); ++i)
-    {
-      QString to_replace = "%" + values[i].first;
-      expanded_action = expanded_action.replace(to_replace, values[i].second);
-    }
-
-  return expanded_action;
-}
-
-bool QgsAttributeAction::writeXML(QDomNode& layer_node, QDomDocument& doc) const
-{
-  QDomElement aActions = doc.createElement("attributeactions");
-
-  aIter a_iter = begin();
-
-  for (; a_iter != end(); ++a_iter)
-  {
-    QDomElement actionSetting = doc.createElement("actionsetting");
-    actionSetting.setAttribute("name", a_iter->name());
-    actionSetting.setAttribute("action", a_iter->action());
-    actionSetting.setAttribute("capture", a_iter->capture());
-    aActions.appendChild(actionSetting);
-  }
-  layer_node.appendChild(aActions);
-
-  return true;
-}
-
-bool QgsAttributeAction::readXML(QDomNode& layer_node)
-{
-  QDomNode aaNode = layer_node.namedItem("attributeactions");
-
-  if (!aaNode.isNull())
-  {
-    QDomNodeList actionsettings = aaNode.childNodes();
-    for (int i = 0; i < actionsettings.length(); ++i)
-    {
-      QDomElement setting = actionsettings.item(i).toElement();
-      int capture = setting.attributeNode("capture").value().toInt();
-      addAction(setting.attributeNode("name").value(),
-		setting.attributeNode("action").value(),
-		capture == 0 ? false : true);
-    }
-  }
-  return true;
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributeaction.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,133 +0,0 @@
-/***************************************************************************
-                          qgsattributeaction.h 
-
- These classes store and control the managment and execution of actions 
- associated with particulay Qgis layers. Actions are defined to be
- external programs that are run with user-specified inputs that can 
- depend on the contents of layer attributes.
-
-                             -------------------
-    begin                : Oct 24 2004
-    copyright            : (C) 2004 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributeaction.h 4992 2006-03-10 03:11:06Z g_j_m $ */
-
-#ifndef QGSATTRIBUTEACTION_H
-#define QGSATTRIBUTEACTION_H
-
-#include <QString>
-#include <QObject>
-
-#include <list>
-#include <vector>
-#include <utility>
-
-class QDomNode;
-class QDomDocument;
-class QgsMessageViewer;
-
-
-/*! \class QgsAction
- * \brief Utility class that encapsulates an action and associated information
- */
-class QgsAction
-{
- public:
-  QgsAction(QString name, QString action, bool capture) :
-    mName(name), mAction(action), mCaptureOutput(capture) {}
-
-  //! The name of the action
-  QString name() const { return mName; }
-
-  //! The action
-  QString action() const { return mAction; }
-
-  //! Whether to capture output for display when this action is run
-  bool capture() const { return mCaptureOutput; }
-
- private:
-  QString mName;
-  QString mAction;
-  bool mCaptureOutput;
-};
-
-/*! \class QgsAttributeAction
- * \brief Storage and management of actions associated with Qgis layer
- * attributes.
- */
-
-class QgsAttributeAction
-{
- public:
-
-  typedef std::list<QgsAction> AttributeActions;
-  typedef AttributeActions::const_iterator aIter;
-  
-  //! Constructor
-  QgsAttributeAction() {};
-  
-  //! Destructor
-  virtual ~QgsAttributeAction() {};
-
-  //! Add an action with the given name and action details.
-  // Will happily have duplicate names and actions. If
-  // capture is true, when running the action using doAction(),
-  // any stdout from the process will be captured and displayed in a
-  // dialog box.
-  void addAction(QString name, QString action, bool capture = false);
-
-  //! Does the action using the given values. defaultValueIndex is an
-  // index into values which indicates which value in the values vector
-  // is to be used if the action has a default placeholder. 
-  void doAction(unsigned int index, const std::vector<std::pair<QString, QString> >& values,
-		int defaultValueIndex = 0);
-
-  //! Returns a const_iterator that points to the QgsAction at the
-  // given position in the data collection. The insertion order is
-  // preserved. The index starts at 0 and goes to one less than the
-  // number of actions. An index outside that range will return an
-  // a const_iterator equal to that returned by end().
-  aIter retrieveAction(unsigned int index) const; 
-
-  //! Removes all actions
-  void clearActions() { mActions.clear(); }
-
-  //! A const iterator to the start of the action pairs
-  const AttributeActions::const_iterator begin() const
-    { return mActions.begin(); }
-
-  //! A const iterator to the one past the end of the action pairs
-  const AttributeActions::const_iterator end() const
-    { return mActions.end(); }
-
-  //! Returns the number of stored actions
-  int size() const { return mActions.size(); }
-
-  //! Expands the given action, replacing all %'s with the value as
-  // given.  
-  static QString expandAction(QString action, const std::vector<std::pair<QString, QString> >& values,
-			      int defaultValueIndex);
-
-  //! Writes the actions out in XML format
-  bool writeXML(QDomNode& layer_node, QDomDocument& doc) const;
-
-  //! Reads the actions in in XML format
-  bool readXML(QDomNode& layer_node);
-
- private:
-
-  // Stores the name/action pairs.
-  AttributeActions mActions;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,308 +0,0 @@
-/***************************************************************************
-                qgsattributeactiondialog.cpp  -  attribute action dialog
-                             -------------------
-
-This class creates and manages the Action tab of the Vector Layer
-Properties dialog box. Changes made in the dialog box are propagated
-back to QgsVectorLayer.
-
-    begin                : October 2004
-    copyright            : (C) 2004 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
- ***************************************************************************/
- 
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributeactiondialog.cpp 6617 2007-02-17 17:03:45Z homann $ */
-
-#include "qgsattributeactiondialog.h"
-#include "qgsattributeaction.h"
-
-#include <QFileDialog>
-
-
-QgsAttributeActionDialog::QgsAttributeActionDialog(QgsAttributeAction* actions,
-						   const std::vector<QgsField>& fields,
-						   QWidget* parent):
-  QWidget(parent), mActions(actions)
-{
-  setupUi(this);
-  connect(attributeActionTable, SIGNAL(clicked(int,int,int,const QPoint&)),
-    this, SLOT(rowSelected(int,int,int,const QPoint&)));
-  connect(moveUpButton, SIGNAL(clicked()), this, SLOT(moveUp()));
-  connect(moveDownButton, SIGNAL(clicked()), this, SLOT(moveDown()));
-  connect(removeButton, SIGNAL(clicked()), this, SLOT(remove()));
-  connect(browseButton, SIGNAL(clicked()), this, SLOT(browse()));
-  connect(insertButton, SIGNAL(clicked()), this, SLOT(insert()));
-  connect(updateButton, SIGNAL(clicked()), this, SLOT(update()));
-  connect(insertFieldButton, SIGNAL(clicked()), this, SLOT(insertField()));
-
-  init();
-  // Populate the combo box with the field names. Will the field names
-  // change? If so, they need to be passed into the init() call, or
-  // some access to them retained in this class.
-  for (int i = 0; i < fields.size(); ++i)
-    fieldComboBox->insertItem(fields[i].name());
-}
-
-void QgsAttributeActionDialog::init()
-{
-  Q3Header* header = attributeActionTable->horizontalHeader();
-  header->setLabel(0, tr("Name") );
-  header->setLabel(1, tr("Action") );
-  header->setLabel(2, tr("Capture") );
-
-  attributeActionTable->setColumnStretchable(0, true);
-  attributeActionTable->setColumnStretchable(1, true);
-  attributeActionTable->setColumnStretchable(2, true);
-
-  // Start from a fresh slate.
-  for (int i = attributeActionTable->numRows()-1; i >= 0; --i)
-    attributeActionTable->removeRow(i);
-
-  // Populate with our actions.
-  QgsAttributeAction::AttributeActions::const_iterator 
-    iter = mActions->begin();
-  int i = 0;
-  for (; iter != mActions->end(); ++iter, ++i)
-  {
-    attributeActionTable->insertRows(i);
-    attributeActionTable->setText(i, 0, iter->name());
-    attributeActionTable->setText(i, 1, iter->action());
-    Q3CheckTableItem* cp = new Q3CheckTableItem(attributeActionTable, "");
-    cp->setEnabled(false);
-    if (iter->capture())
-      cp->setChecked(true);
-    else
-      cp->setChecked(false);
-
-    attributeActionTable->setItem(i, 2, cp);
-  }
-}
-
-void QgsAttributeActionDialog::moveUp()
-{
-  // Swap the selected row with the one above
-
-  int row1 = -1, row2 = -1;
-  for (int i = 0; i < attributeActionTable->numRows(); ++i)
-    if (attributeActionTable->isRowSelected(i))
-      row1 = i;
-
-  if (row1 > 0)
-    row2 = row1 - 1;
-  
-  if (row1 != -1 && row2 != -1)
-  {
-    for (int i = 0; i < attributeActionTable->numSelections(); ++i)
-      attributeActionTable->removeSelection(i);
-
-    attributeActionTable->swapRows(row1, row2);
-    attributeActionTable->updateContents();
-    // Move the selection to follow
-    attributeActionTable->selectRow(row2);
-  }
-}
-
-void QgsAttributeActionDialog::moveDown()
-{
-  // Swap the selected row with the one below
-  int row1 = -1, row2 = -1;
-  for (int i = 0; i < attributeActionTable->numRows(); ++i)
-    if (attributeActionTable->isRowSelected(i))
-      row1 = i;
-
-  if (row1 < attributeActionTable->numRows()-1)
-    row2 = row1 + 1;
-  
-  if (row1 != -1 && row2 != -1)
-  {
-    for (int i = 0; i < attributeActionTable->numSelections(); ++i)
-      attributeActionTable->removeSelection(i);
-
-    attributeActionTable->swapRows(row1, row2);
-    attributeActionTable->updateContents();
-    // Move the selection to follow
-    attributeActionTable->selectRow(row2);
-  }
-}
-
-void QgsAttributeActionDialog::browse()
-{
-  // Popup a file browser and place the results into the actionName
-  // widget 
-
-  QString action = QFileDialog::getOpenFileName(
-    this, tr("Select an action","File dialog window title") );
-
-  if (!action.isNull())
-    actionAction->insert(action);    
-}
-
-void QgsAttributeActionDialog::remove()
-{
-  // Remove the selected row. Remember which row was selected.
-  int row = -1;
-  for (int i = 0; i < attributeActionTable->numRows(); ++i)
-    if (attributeActionTable->isRowSelected(i))
-    {
-      row = i;
-      break;
-    }
-
-  if (row != -1)
-  {
-    attributeActionTable->removeRow(row);
-    attributeActionTable->clearSelection();
-
-    // And select the row below the one that was selected or the last
-    // one, or none.
-    // Note something is not quite right here. The highlight in the
-    // QTable isn't turning on when a row is selected. Don't
-    // understand why. Needs a bit more investigation.
-    if (row < attributeActionTable->numRows())
-      attributeActionTable->selectRow(row);
-    else if (attributeActionTable->numRows() > 0)
-      attributeActionTable->selectRow(attributeActionTable->numRows()-1);
-  }
-}
-
-void QgsAttributeActionDialog::insert()
-{
-  // Add the action details as a new row in the table. 
-
-  int pos = attributeActionTable->numRows();
-  insert(pos);
-}
-
-void QgsAttributeActionDialog::insert(int pos)
-{
-  // Get the action details and insert into the table at the given
-  // position. Name needs to be unique, so make it so if required. 
-
-  // If the new action name is the same as the action name in the
-  // given pos, don't make the new name unique (because we're
-  // replacing it).
-
-  QString name;
-  if (actionName->text() == attributeActionTable->text(pos, 0))
-    name = actionName->text();
-  else
-    name = uniqueName(actionName->text());
-
-  // Expand the table to have a row with index pos
-  int numRows = attributeActionTable->numRows();
-  if (pos >= numRows)
-    attributeActionTable->insertRows(numRows, pos-numRows+1);
-
-  attributeActionTable->setText(pos, 0, name);
-  attributeActionTable->setText(pos, 1, actionAction->text());
-  Q3CheckTableItem* cp = new Q3CheckTableItem(attributeActionTable, "");
-  cp->setEnabled(false);
-  if (captureCB->isChecked())
-    cp->setChecked(true);
-  else
-    cp->setChecked(false);
-
-  attributeActionTable->setItem(pos, 2, cp);
-}
-
-void QgsAttributeActionDialog::update()
-{
-  // Updates the action that is selected with the
-  // action details.
-  for (int i = 0; i < attributeActionTable->numRows(); ++i)
-    if (attributeActionTable->isRowSelected(i))
-    {
-      insert(i);
-      break;
-    }
-}
-
-void QgsAttributeActionDialog::insertField()
-{
-  // Take the selected field, preprend a % and insert into the action
-  // field at the cursor position
-
-  if (!fieldComboBox->currentText().isNull())
-  {
-    QString field("%");
-    field += fieldComboBox->currentText();
-    actionAction->insert(field);
-  }
-}
-
-void QgsAttributeActionDialog::apply()
-{
-  // Update the contents of mActions from the UI.
-
-  mActions->clearActions();
-  for (int i = 0; i < attributeActionTable->numRows(); ++i)
-  {
-    if (!attributeActionTable->text(i, 0).isEmpty() &&
-	!attributeActionTable->text(i, 1).isEmpty())
-    {
-      Q3CheckTableItem* cp = (Q3CheckTableItem*) (attributeActionTable->item(i, 2));
-      mActions->addAction(attributeActionTable->text(i, 0),
-			  attributeActionTable->text(i, 1),
-			  cp->isChecked());
-    }
-  }
-}
-
-void QgsAttributeActionDialog::rowSelected(int row, int col, int button, 
-					   const QPoint& pos)
-{
-  // The user has selected a row. We take the contents of that row and
-  // populate the edit section of the dialog so that they can change
-  // the row if desired.
-
-  Q3CheckTableItem* cp = (Q3CheckTableItem*) (attributeActionTable->item(row, 2));
-  if ( cp )
-  {
-    // Only if a populated row was selected
-    actionName->setText(attributeActionTable->text(row, 0));
-    actionAction->setText(attributeActionTable->text(row, 1));
-    captureCB->setChecked(cp->isChecked());
-  }
-}
-
-QString QgsAttributeActionDialog::uniqueName(QString name)
-{
-  // Make sure that the given name is unique, adding a numerical
-  // suffix if necessary.
-
-  int pos = attributeActionTable->numRows();
-  bool unique = true;
-
-  for (int i = 0; i < pos; ++i)
-  {
-    if (attributeActionTable->text(i, 0) == name)
-      unique = false;
-  }
-
-  if (!unique)
-  {
-    int suffix_num = 1;
-    QString new_name;
-    while (!unique)
-    {
-      QString suffix = QString::number(suffix_num);
-      new_name = name + "_" + suffix;
-      unique = true;
-      for (int i = 0; i < pos; ++i)
-	if (attributeActionTable->text(i, 0) == new_name)
-	  unique = false;
-      ++suffix_num;
-    }
-    name = new_name;
-  }
-  return name;
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributeactiondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,68 +0,0 @@
-/***************************************************************************
-                qgsattributeactiondialog.h  -  attribute action dialog
-                             -------------------
-
-This class creates and manages the Action tab of the Vector Layer
-Properties dialog box. Changes made in the dialog box are propagated
-back to QgsVectorLayer.
-
-    begin                : October 2004
-    copyright            : (C) 2004 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
- ***************************************************************************/
- 
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributeactiondialog.h 4619 2006-01-08 23:18:32Z timlinux $ */
-
-#ifndef QGSATTRIBUTEACTIONDIALOG_H
-#define QGSATTRIBUTEACTIONDIALOG_H
-
-#include "ui_qgsattributeactiondialogbase.h"
-#include "qgsfield.h"
-#include <vector>
-
-class QgsAttributeAction;
-
-
-class QgsAttributeActionDialog: public QWidget, private Ui::QgsAttributeActionDialogBase
-{
-  Q_OBJECT;
-  
- public:
-  QgsAttributeActionDialog(QgsAttributeAction* actions, 
-			   const std::vector<QgsField>& fields,
-			   QWidget* parent = 0);
-
-  ~QgsAttributeActionDialog() {};
-
-  void init();
-
- public slots:
-  void moveUp();
-  void moveDown();
-  void browse();
-  void remove();
-  void insert();
-  void insertField();
-  void apply();
-  void update();
-  void rowSelected(int, int, int, const QPoint&);
-
- private:
- 
-  void insert(int pos);
-
-  QString uniqueName(QString name);
-
-  // Pointer to the QgsAttributeAction in the class that created us.
-  QgsAttributeAction* mActions;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,142 +0,0 @@
-/***************************************************************************
-                         qgsattributedialog.cpp  -  description
-                             -------------------
-    begin                : October 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributedialog.cpp 6975 2007-06-02 02:50:38Z gsherman $ */
-#include "qgsattributedialog.h"
-#include "qgsfeature.h"
-#include <QTableWidgetItem>
-#include <QSettings>
-
-QgsAttributeDialog::QgsAttributeDialog(const std::vector<QgsFeatureAttribute>* attributes)
-  : QDialog(),
-    _settingsPath("/Windows/AttributeDialog/"),
-    mRowIsDirty(attributes->size(), FALSE)
-{
-    restorePositionAndColumnWidth();
-
-    setupUi(this);
-    mTable->setRowCount(attributes->size());
-
-    int index=0;
-    for ( std::vector<QgsFeatureAttribute>::const_iterator
-            it  = attributes->begin();
-            it != attributes->end();
-          ++it)
-    {
-      // set attribute name
-
-      QTableWidgetItem * myFieldItem = new QTableWidgetItem((*it).fieldName());
-      myFieldItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-      mTable->setItem(index, 0, myFieldItem);
-
-      // set attribute value
-
-      QTableWidgetItem * myValueItem = new QTableWidgetItem((*it).fieldValue());
-      mTable->setItem(index, 1, myValueItem);
-
-      ++index;
-    }
-
-    // setup the mechanism to track edited attribute values
-    // if we do it this way, only edited attributes will
-    // be attempted to be saved when the editing session stops.
-    connect(mTable, SIGNAL(cellChanged(int, int)),
-            this,   SLOT  (setAttributeValueChanged(int, int)));
-
-    mTable->resizeColumnsToContents();
-}
-
-QgsAttributeDialog::~QgsAttributeDialog()
-{
-
-}
-
-QString QgsAttributeDialog::value(int row)
-{
-  return mTable->item(row,1)->text();
-}
-
-bool QgsAttributeDialog::isDirty(int row)
-{
-  return mRowIsDirty.at(row);
-}
-
-bool QgsAttributeDialog::queryAttributes(QgsFeature& f)
-{
-  const std::vector<QgsFeatureAttribute> featureAttributes = f.attributeMap();
-  QgsAttributeDialog attdialog(&featureAttributes);
-
-  if (attdialog.exec() == QDialog::Accepted)
-  {
-    for (int i = 0; i < featureAttributes.size(); ++i)
-    {
-      f.changeAttributeValue(featureAttributes[i].fieldName(), attdialog.value(i));
-    }
-    return true;
-  }
-  else
-  {
-    return false;
-  }
-}
-
-void QgsAttributeDialog::savePositionAndColumnWidth()
-{
-  QSettings settings;
-  QPoint p = this->pos();
-  QSize s = this->size();
-  settings.writeEntry(_settingsPath+"x", p.x());
-  settings.writeEntry(_settingsPath+"y", p.y());
-  settings.writeEntry(_settingsPath+"w", s.width());
-  settings.writeEntry(_settingsPath+"h", s.height());
-
-}
-
-void QgsAttributeDialog::resizeEvent(QResizeEvent *event)
- {
-   savePositionAndColumnWidth();
-   QWidget::resizeEvent(event);
- }
-
-void QgsAttributeDialog::moveEvent(QMoveEvent *event)
- {
-    savePositionAndColumnWidth();
-    QWidget::moveEvent(event);
- }
-
-void QgsAttributeDialog::restorePositionAndColumnWidth()
-{
-  QSettings settings;
-  int ww = settings.readNumEntry(_settingsPath+"w", 281);
-  int wh = settings.readNumEntry(_settingsPath+"h", 316);
-  int wx = settings.readNumEntry(_settingsPath+"x", 100);
-  int wy = settings.readNumEntry(_settingsPath+"y", 100);
-
-  resize(ww,wh);
-  move(wx,wy);
-}
-
-void QgsAttributeDialog::setAttributeValueChanged(int row, int column)
-{
-#ifdef QGISDEBUG
-        std::cout << "QgsAttributeDialog::setAttributeValueChanged: Entered with "
-          << "row " << row
-          << "column " << column
-          << "." << std::endl;
-#endif
-
-  mRowIsDirty.at(row) = TRUE;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,70 +0,0 @@
-/***************************************************************************
-                         qgsattributedialog.h  -  description
-                             -------------------
-    begin                : October 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributedialog.h 6975 2007-06-02 02:50:38Z gsherman $ */
-#ifndef QGSATTRIBUTEDIALOG_H
-#define QGSATTRIBUTEDIALOG_H
-
-#include "ui_qgsattributedialogbase.h"
-
-#include "qgsfeatureattribute.h"
-#include <vector>
-
-class QDialog;
-class QgsFeature;
-
-class QgsAttributeDialog: public QDialog, private Ui::QgsAttributeDialogBase
-{
-    Q_OBJECT
-
-  public:
-    QgsAttributeDialog(const std::vector<QgsFeatureAttribute>* attributes);
-
-    ~QgsAttributeDialog();
-
-    /** Returns the field value of a row */
-    QString value(int row);
-
-    /** Returns if the field value of a row was edited since this dialog opened */
-    bool isDirty(int row);
-
-    /** Opens an attribute dialog and queries the attributes for a given feature. The
-     attribute values are set to the feature if the dialog is accepted.
-     \retval true if accepted
-     \retval false if canceled */
-    static bool queryAttributes(QgsFeature& f);
-
-    // Saves and restores the size and position from the last time
-    // this dialog box was used.
-    void savePositionAndColumnWidth();
-
-    void restorePositionAndColumnWidth();
-
-    void resizeEvent(QResizeEvent *event);
-
-    void moveEvent(QMoveEvent *event);
-
-  public slots:
-    //! Slot to be called when an attribute value is edited in the table.
-    void setAttributeValueChanged(int row, int column);
-
-  private:
-    QString _settingsPath;
-
-    std::vector<bool> mRowIsDirty;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributetable.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributetable.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributetable.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,703 +0,0 @@
-/***************************************************************************
-                          qgsattributetable.cpp  -  description
-                             -------------------
-    begin                : Sat Nov 23 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributetable.cpp 5720 2006-08-21 14:12:55Z mhugent $ */
-#include <QApplication>
-#include <QMouseEvent>
-#include <QKeyEvent>
-#include <QLabel>
-#include <QFont>
-#include <QClipboard>
-#include <QAction>
-#include <QMenu>
-
-#include "qgsattributetable.h"
-#include "qgsfeature.h"
-#include "qgsfield.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-
-#include <iostream>
-#include <stdlib.h>
-
-QgsAttributeTable::QgsAttributeTable(QWidget * parent, const char *name):
-        Q3Table(parent, name),
-        lockKeyPressed(false),
-        sort_ascending(true),
-        mEditable(false),
-        mEdited(false),
-        mActionPopup(0)
-{
-  QFont f(font());
-  f.setFamily("Helvetica");
-  f.setPointSize(11);
-  setFont(f);
-  setSelectionMode(Q3Table::MultiRow);
-  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
-  connect(this, SIGNAL(contextMenuRequested(int, int, const QPoint&)), this, SLOT(popupMenu(int, int, const QPoint&)));
-  connect(this, SIGNAL(valueChanged(int, int)), this, SLOT(storeChangedValue(int,int)));
-  connect(verticalHeader(), SIGNAL(released(int)), this, SLOT(rowClicked(int))); 
-  setReadOnly(true);
-  setFocus();
-}
-
-QgsAttributeTable::~QgsAttributeTable()
-{
-
-}
-void QgsAttributeTable::columnClicked(int col)
-{
-  QApplication::setOverrideCursor(Qt::waitCursor);
-
-  //store the ids of the selected rows in a list
-  QList < int >idsOfSelected;
-  for (int i = 0; i < numSelections(); i++)
-    {
-      for (int j = selection(i).topRow(); j <= selection(i).bottomRow(); j++)
-        {
-          idsOfSelected.append(text(j, 0).toInt());
-        }
-    }
-
-  sortColumn(col, sort_ascending, true);
-
-  //clear and rebuild rowIdMap. Overwrite sortColumn later and sort rowIdMap there
-  rowIdMap.clear();
-  int id;
-  for (int i = 0; i < numRows(); i++)
-    {
-      id = text(i, 0).toInt();
-      rowIdMap.insert(id, i);
-    }
-
-  QObject::disconnect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
-  clearSelection(true);
-
-  //select the rows again after sorting
-
-  QList < int >::iterator it;
-  for (it = idsOfSelected.begin(); it != idsOfSelected.end(); ++it)
-    {
-      selectRowWithId((*it));
-    }
-  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
-
-  //change the sorting order after each sort
-  (sort_ascending == true) ? sort_ascending = false : sort_ascending = true;
-
-  QApplication::restoreOverrideCursor();
-}
-
-void QgsAttributeTable::keyPressEvent(QKeyEvent * ev)
-{
-  if (ev->key() == Qt::Key_Control || ev->key() == Qt::Key_Shift)
-    {
-      lockKeyPressed = true;
-    }
-}
-
-void QgsAttributeTable::keyReleaseEvent(QKeyEvent * ev)
-{
-  if (ev->key() == Qt::Key_Control || ev->key() == Qt::Key_Shift)
-    {
-      lockKeyPressed = false;
-    }
-}
-
-void QgsAttributeTable::handleChangedSelections()
-{
-  Q3TableSelection cselection;
-  if (lockKeyPressed == false)
-    {
-      //clear the list and evaluate the last selection
-      emit selectionRemoved();
-    }
-  //if there is no current selection, there is nothing to do
-  if (currentSelection() == -1)
-    {
-      return;
-    }
-
-  cselection = selection(currentSelection());
-
-  for (int index = cselection.topRow(); index <= cselection.bottomRow(); index++)
-    {
-      emit selected(text(index, 0).toInt());
-    }
-
-  //don't send the signal repaintRequested() from here
-  //but in contentsMouseReleaseEvent() and rowClicked(int)
-  //todo: don't repaint in case of double clicks
-}
-
-void QgsAttributeTable::insertFeatureId(int id, int row)
-{
-  rowIdMap.insert(id, row);
-}
-
-void QgsAttributeTable::selectRowWithId(int id)
-{
-  QMap < int, int >::iterator it = rowIdMap.find(id);
-  selectRow(it.data());
-}
-
-void QgsAttributeTable::sortColumn(int col, bool ascending, bool wholeRows)
-{
-  //if the first entry contains a letter, sort alphanumerically, otherwise numerically
-  QString firstentry = text(0, col);
-  bool containsletter = false;
-  for (uint i = 0; i < firstentry.length(); i++)
-    {
-      if (firstentry.ref(i).isLetter())
-        {
-          containsletter = true;
-        }
-    }
-
-  if (containsletter)
-    {
-      qsort(0, numRows() - 1, col, ascending, true);
-  } else
-    {
-      qsort(0, numRows() - 1, col, ascending, false);
-    }
-
-  repaintContents();
-}
-
-
-/**
-  XXX Doesn't QString have something ilke this already?
-*/
-int QgsAttributeTable::compareItems(QString s1, QString s2, bool ascending, bool alphanumeric)
-{
-  if (alphanumeric)
-    {
-      if (s1 > s2)
-        {
-          if (ascending)
-            {
-              return 1;
-          } else
-            {
-              return -1;
-            }
-      } else if (s1 < s2)
-        {
-          if (ascending)
-            {
-              return -1;
-          } else
-            {
-              return 1;
-            }
-      } else if (s1 == s2)
-        {
-          return 0;
-        }
-  } else                        //numeric
-    {
-      double d1 = s1.toDouble();
-      double d2 = s2.toDouble();
-      if (d1 > d2)
-        {
-          if (ascending)
-            {
-              return 1;
-          } else
-            {
-              return -1;
-            }
-      } else if (d1 < d2)
-        {
-          if (ascending)
-            {
-              return -1;
-          } else
-            {
-              return 1;
-            }
-      } else if (d1 == d2)
-        {
-          return 0;
-        }
-    }
-
-  return 0;                     // XXX has to return something; is this reasonable?
-
-}
-
-void QgsAttributeTable::qsort(int lower, int upper, int col, bool ascending, bool alphanumeric)
-{
-  int i, j;
-  QString v;
-  if (upper > lower)
-    {
-      //chose a random element (this avoids n^2 worst case)
-      int element = int ( (double)rand() / (double)RAND_MAX * (upper - lower) + lower);
-      swapRows(element, upper);
-      v = text(upper, col);
-      i = lower - 1;
-      j = upper;
-      for (;;)
-      {
-	  while (compareItems(text(++i, col), v, ascending, alphanumeric) == -1);
-	  while (compareItems(text(--j, col), v, ascending, alphanumeric) == 1 && j > 0); //make sure that j does not get negative
-          if (i >= j)
-            {
-              break;
-            }
-          swapRows(i, j);
-        }
-      swapRows(i, upper);
-      qsort(lower, i - 1, col, ascending, alphanumeric);
-      qsort(i + 1, upper, col, ascending, alphanumeric);
-    }
-}
-
-void QgsAttributeTable::popupMenu(int row, int col, const QPoint& pos)
-{
-  // Duplication of code in qgsidentufyresults.cpp. Consider placing
-  // in a seperate class
-  if (mActionPopup == 0)
-  {
-    mActionPopup = new QMenu();
-    QAction *a = mActionPopup->addAction( tr("Run action") );
-    mActionPopup->addSeparator();
-
-    QgsAttributeAction::aIter	iter = mActions.begin();
-    for (int j = 0; iter != mActions.end(); ++iter, ++j)
-    {
-      QAction* a = mActionPopup->addAction(iter->name());
-      // The menu action stores an integer that is used later on to
-      // associate an menu action with an actual qgis action.
-      a->setData(QVariant::fromValue(j));
-    }
-    connect(mActionPopup, SIGNAL(triggered(QAction*)),
-            this, SLOT(popupItemSelected(QAction*)));
-  }
-
-  // Get and store the attribute values and their column names are
-  // these are needed for substituting into the actions if the user
-  // chooses one.
-  mActionValues.clear();
-  Q3Header* header = horizontalHeader();
-
-#ifdef QGISDEBUG
-  if (header->count() != numCols())
-    std::cerr << "Something wrong with the table (file " 
-	      << __FILE__<< ", line " << __LINE__ 
-	      << ")." << std::endl;
-#endif
-
-  for (int i = 0; i < numCols(); ++i)
-    mActionValues.push_back(std::make_pair(header->label(i), text(row, i)));
-
-  // The item that was clicked on, stored as an index into the
-  // mActionValues vector.
-  mClickedOnValue = col;
-
-  if (mActions.size() > 0)
-    mActionPopup->popup(pos);  
-}
-
-void QgsAttributeTable::popupItemSelected(QAction* menuAction)
-{
-  int id = menuAction->data().toInt();
-  mActions.doAction(id, mActionValues, mClickedOnValue);
-}
-
-bool QgsAttributeTable::addAttribute(const QString& name, const QString& type)
-{
-    //first test if an attribute with the same name is already in the table
-    for(int i=0;i<horizontalHeader()->count();++i)
-    {
-	if(horizontalHeader()->label(i)==name)
-	{
-	    //name conflict
-	    return false;
-	}
-    }
-    mAddedAttributes.insert(std::make_pair(name,type));
-#ifdef QGISDEBUG
-    qWarning(("inserting attribute "+name+" of type "+type).toLocal8Bit().data());
-    //add a new column at the end of the table
-    qWarning(("numCols: "+QString::number(numCols())).toLocal8Bit().data());
-#endif
-    insertColumns(numCols());
-    horizontalHeader()->setLabel(numCols()-1,name);
-    mEdited=true;
-    return true;
-}
-
-void QgsAttributeTable::deleteAttribute(const QString& name)
-{
-    //check, if there is already an attribute with this name in mAddedAttributes
-    std::map<QString,QString>::iterator iter=mAddedAttributes.find(name);
-    if(iter!=mAddedAttributes.end())
-    {
-	mAddedAttributes.erase(iter);
-	removeAttrColumn(name);
-    }
-    else
-    {
-#ifdef QGISDEBUG
-	qWarning(("QgsAttributeTable: deleteAttribute "+name).toLocal8Bit().data());
-#endif
-	mDeletedAttributes.insert(name);
-	removeAttrColumn(name);
-    }
-    mEdited=true;
-}
-
-
-/* Deprecated: See QgisApp::editCopy() instead */
-void QgsAttributeTable::copySelectedRows()
-{
-  // Copy selected rows to the clipboard
-
-  QString toClipboard;
-  const char fieldSep = '\t';
-
-  // Pick up the headers first
-  Q3Header* header = horizontalHeader();
-  for (int i = 0; i < header->count(); ++i)
-    toClipboard += header->label(i) + fieldSep;
-  toClipboard += '\n';
-
-  // Then populate with the cell contents
-  for (int i = 0; i < numSelections(); ++i)
-  {
-    Q3TableSelection sel = selection(i);
-    for (int row = sel.topRow(); row < sel.topRow()+sel.numRows(); ++row)
-    {
-      for (int column = 0; column < numCols(); ++column)
-	toClipboard += text(row, column) + fieldSep;
-      toClipboard += '\n';
-    }
-  }
-#ifdef QGISDEBUG
-  std::cerr << "Selected data in table is:\n" << toClipboard.data();
-#endif
-  // And then copy to the clipboard
-  QClipboard* clipboard = QApplication::clipboard();
-
-  // With qgis running under Linux, but with a Windows based X
-  // server (Xwin32), ::Selection was necessary to get the data into
-  // the Windows clipboard (which seems contrary to the Qt
-  // docs). With a Linux X server, ::Clipboard was required.
-  // The simple solution was to put the text into both clipboards.
-
-  // The ::Selection setText() below one may need placing inside so
-  // #ifdef so that it doesn't get compiled under Windows.
-  clipboard->setText(toClipboard, QClipboard::Selection);
-  clipboard->setText(toClipboard, QClipboard::Clipboard);
-}
-
-bool QgsAttributeTable::commitChanges(QgsVectorLayer* layer)
-{
-  bool isSuccessful = FALSE;
-
-  if(layer)
-  {
-    isSuccessful = layer->commitAttributeChanges(
-                            mDeletedAttributes,
-                            mAddedAttributes,
-                            mChangedValues);
-  }
-
-  if (isSuccessful)
-  {
-    mEdited=false;
-    clearEditingStructures();
-  }
-
-  return isSuccessful;
-}
-
-bool QgsAttributeTable::rollBack(QgsVectorLayer* layer)
-{
-  if(layer)
-  {
-    fillTable(layer);
-  }
-  mEdited=false;
-  clearEditingStructures();
-  return true;
-}
-
-
-void QgsAttributeTable::fillTable(QgsVectorLayer* layer)
-{
-  QgsVectorDataProvider* provider=layer->getDataProvider();
-  if(provider)
-  {
-    QgsFeature *fet;
-    int row = 0;
-  
-    std::vector<QgsFeature*>& addedFeatures = layer->addedFeatures();
-    std::set<int>& deletedFeatures = layer->deletedFeatureIds();
-
-    // set up the column headers
-    Q3Header *colHeader = horizontalHeader();
-    std::vector < QgsField > fields = provider->fields();
-    int fieldcount=provider->fieldCount();
-#ifdef QGISDEBUG
-    for (int l = 0; l < fields.size(); l++)
-      std::cout << "field: " << fields[l].name().toLocal8Bit().data() << " | " << fields[l].isNumeric() << " | " << fields[l].type().toLocal8Bit().data() << std::endl;
-#endif
-  
-    setNumRows(provider->featureCount() + addedFeatures.size() - deletedFeatures.size());
-    setNumCols(fieldcount+1);
-    colHeader->setLabel(0, "id"); //label for the id-column
-
-    for (int h = 1; h <= fieldcount; h++)
-    {
-        colHeader->setLabel(h, fields[h - 1].name());
-#ifdef QGISDEBUG
-        qWarning("Setting column label "+fields[h - 1].name());
-#endif
-    }
-
-    //go through the features and fill the values into the table
-    provider->reset();
-    while ((fet = provider->getNextFeature(true)))
-    {
-      if(deletedFeatures.find(fet->featureId()) == deletedFeatures.end())
-      {
-        putFeatureInTable(row, fet);
-        row++;
-      }
-      delete fet;
-    }
-
-    //also consider the not commited features
-    for(std::vector<QgsFeature*>::iterator it = addedFeatures.begin(); it != addedFeatures.end(); it++)
-    {
-      putFeatureInTable(row, *it);
-      row++;
-    }
-
-    provider->reset();
-  }
-}
-
-void QgsAttributeTable::putFeatureInTable(int row, QgsFeature* fet)
-{
-  if(row >= numRows())//prevent a crash if a provider doesn't update the feature count properly
-    {
-      setNumRows(row+1);
-    }
-  
-  //id-field
-  int id = fet->featureId();
-  setText(row, 0, QString::number(id));
-  insertFeatureId(id, row);  //insert the id into the search tree of qgsattributetable
-  const std::vector < QgsFeatureAttribute >& attr = fet->attributeMap();
-  for (int i = 0; i < attr.size(); i++)
-  {
-    // get the field values
-    setText(row, i + 1, attr[i].fieldValue());
-  }
-}
-
-void QgsAttributeTable::storeChangedValue(int row, int column)
-{
-    //id column is not editable
-    if(column>0)
-    {
-	//find feature id
-	int id=text(row,0).toInt();
-	QString attribute=horizontalHeader()->label(column);
-#ifdef QGISDEBUG
-	qWarning(("feature id: "+QString::number(id)).toLocal8Bit().data());
-	qWarning(("attribute: "+attribute).toLocal8Bit().data());
-#endif
-	std::map<int,std::map<QString,QString> >::iterator iter=mChangedValues.find(id);
-	if(iter==mChangedValues.end())
-	{
-	    std::map<QString,QString> themap;
-	    mChangedValues.insert(std::make_pair(id,themap));
-	    iter=mChangedValues.find(id);
-	}
-	iter->second.erase(attribute);
-	iter->second.insert(std::make_pair(attribute,text(row,column)));
-#ifdef QGISDEBUG
-	qWarning(("value: "+text(row,column)).toLocal8Bit().data());
-#endif	
-	mEdited=true;
-    }
-}
-
-void QgsAttributeTable::clearEditingStructures()
-{
-    mDeletedAttributes.clear();
-    mAddedAttributes.clear();
-    for(std::map<int,std::map<QString,QString> >::iterator iter=mChangedValues.begin();iter!=mChangedValues.end();++iter)
-    {
-	iter->second.clear();
-    }
-    mChangedValues.clear();
-}
-
-void QgsAttributeTable::removeAttrColumn(const QString& name)
-{
-    Q3Header* header=horizontalHeader();
-    for(int i=0;i<header->count();++i)
-    {
-	if(header->label(i)==name)
-	{
-	    removeColumn(i);
-	    break;
-	}
-    }
-}
-
-void QgsAttributeTable::bringSelectedToTop()
-{
-    blockSignals(true);
-    int swaptorow=0;
-    std::list<Q3TableSelection> selections;
-    bool removeselection;
-
-    for(int i=0;i<numSelections();++i)
-    {
-	selections.push_back(selection(i));
-    }
-
-    Q3TableSelection sel;  
-
-    for(std::list<Q3TableSelection>::iterator iter=selections.begin();iter!=selections.end();++iter)
-    {
-	removeselection=true;
-	while(isRowSelected(swaptorow, true))//selections are not necessary stored in ascending order
-	    {
-		++swaptorow;
-	    }
-	
-	for(int j=iter->topRow();j<=iter->bottomRow();++j)
-	{   
-	    if(j>swaptorow)//selections are not necessary stored in ascending order
-	    {
-		swapRows(j,swaptorow);
-		selectRow(swaptorow);
-		++swaptorow;	
-		
-	    }
-	    else
-	    {
-		removeselection=false;//keep selection
-	    }
-	}
-	if(removeselection)
-	{	    
-	    removeSelection(*iter);
-	}
-    }
-
-    //clear and rebuild rowIdMap.
-    rowIdMap.clear();
-    int id;
-    for (int i = 0; i < numRows(); i++)
-    {
-      id = text(i, 0).toInt();
-      rowIdMap.insert(id, i);
-    }
-
-    blockSignals(false);
-
-}
-
-void QgsAttributeTable::selectRowsWithId(const std::vector<int>& ids)
-{
-  // to select more rows at once effectively, we stop sending signals to handleChangedSelections()
-  // otherwise it will repaint map everytime row is selected
-  
-  QObject::disconnect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
-    
-  clearSelection(false);
-  for (int i = 0; i < ids.size(); i++)
-  {
-    selectRowWithId(ids[i]);
-    emit selected(ids[i]);
-  }
-  
-  QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(handleChangedSelections()));
-
-  emit repaintRequested();
-}
-
-void QgsAttributeTable::showRowsWithId(const std::vector<int>& ids)
-{
-  setUpdatesEnabled(false);
-  
-  // hide all rows first
-  for (int i = 0; i < numRows(); i++)
-    hideRow(i);
-  
-  // show only matching rows
-  for (int i = 0; i < ids.size(); i++)
-    showRow(rowIdMap[ids[i]]);
-  
-  clearSelection(); // deselect all
-  setUpdatesEnabled(true);
-  repaintContents();
-}
-
-void QgsAttributeTable::showAllRows()
-{
-  for (int i = 0; i < numRows(); i++)
-    showRow(i);
-}
-
-void QgsAttributeTable::rowClicked(int row)
-{
-  if(checkSelectionChanges())//only repaint the canvas if the selection has changed
-    {
-      emit repaintRequested();
-    }
-}
-
-void QgsAttributeTable::contentsMouseReleaseEvent(QMouseEvent* e)
-{
-  Q3Table::contentsMouseReleaseEvent(e);
-  if(checkSelectionChanges())//only repaint the canvas if the selection has changed
-    {
-      emit repaintRequested();
-    }
-}
-
-bool QgsAttributeTable::checkSelectionChanges()
-{
-  std::set<int> theCurrentSelection;
-  Q3TableSelection cselection;
-  cselection = selection(currentSelection());
-  for (int index = cselection.topRow(); index <= cselection.bottomRow(); index++)
-    {
-      theCurrentSelection.insert(index);
-    }
-
-  if(theCurrentSelection == mLastSelectedRows)
-    {
-      return false;
-    }
-  else
-    {
-      mLastSelectedRows = theCurrentSelection;
-      return true;
-    }
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributetable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributetable.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributetable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,173 +0,0 @@
-/***************************************************************************
-                          qgsattributetable.h  -  description
-                             -------------------
-    begin                : Sat Nov 23 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributetable.h 5706 2006-08-18 05:32:55Z mhugent $ */
-#ifndef QGSATTRIBUTETABLE_H
-#define QGSATTRIBUTETABLE_H
-
-#include <Q3Table>
-#include <QMap>
-
-#include <map>
-#include <set>
-
-class QgsVectorLayer;
-class QgsFeature;
-class QMouseEvent;
-class QKeyEvent;
-class QAction;
-class QMenu;
-
-#include "qgsattributeaction.h"
-
-#include <vector>
-#include <utility>
-/**
- *@author Gary E.Sherman
- */
-
-class QgsAttributeTable:public Q3Table
-{
-  Q_OBJECT 
-
-  public:
-    QgsAttributeTable(QWidget * parent = 0, const char *name = 0);
-    ~QgsAttributeTable();
-
-    /**Inserts the feature with the specified id into rowIdMap. This function has to be called (e.g. from QgsShapeFileLayer) when a row is inserted into the table*/
-    void insertFeatureId(int id, int row);
-    /**Selects the row which belongs to the feature with the specified id*/
-    void selectRowWithId(int id);
-    /**Sorts a column. This method replaces the one from QTable to allow numeric sorting*/
-    virtual void sortColumn(int col, bool ascending=true, bool wholeRows=false);
-    /* Use this to give this class the current attribute actions,
-       which are used when the user requests a popup menu */
-    void setAttributeActions(const QgsAttributeAction& actions)
-    { mActions = actions; }
-    /**Returns if the table contains uncommited changes*/
-    bool edited() const {return mEdited;}
-    /**Switches editing mode on and off*/
-    void setEditable(bool enabled){mEditable=enabled;}
-    /**Adds an attribute to the table (but does not commit it yet)
-      @param name attribute name
-      @param type attribute type
-      @return false in case of a name conflict, true in case of success*/
-    bool addAttribute(const QString& name, const QString& type);
-    /**Deletes an attribute (but does not commit it)
-      @param name attribute name*/
-    void deleteAttribute(const QString& name);
-
-    /** Copies the selected rows to the clipboard 
-        Deprecated: See QgisApp::editCopy() instead */
-    void copySelectedRows();
-
-    /**
-      Attempts to commit any changes to disk.  Returns the result of the attempt.
-      If a commit fails, the in-memory changes are left alone.
-
-      This allows editing to continue if the commit failed on e.g. a
-      disallowed value in a Postgres database - the user can re-edit and try
-      again.
-
-      Delegates to QgsVectorLayer to decide, which changes
-      belong to not commited features or to commited ones.
-
-     */
-    bool commitChanges(QgsVectorLayer* layer);
-
-    /**Discard all changes and restore
-      the state before editing was started*/
-    bool rollBack(QgsVectorLayer* layer);
-    /**Fills the contents of a provider into this table*/
-    void fillTable(QgsVectorLayer* layer);
-    /**Swaps the selected rows such that the selected ones are on the top of the table*/
-    void bringSelectedToTop();
-    /** Selects rows with chosen feature IDs */
-    void selectRowsWithId(const std::vector<int>& ids);
-    /** Shows only rows with chosen feature IDs, others get hidden */
-    void showRowsWithId(const std::vector<int>& ids);
-    /** Shows all rows */
-    void showAllRows();
-
-    public slots:
-      void columnClicked(int col);
-      void rowClicked(int row);
-    // Called when the user requests a popup menu
-    void popupMenu(int row, int col, const QPoint& pos);
-    // Called when the user chooses an item on the popup menu
-    void popupItemSelected(QAction * menuAction);
-    protected slots:
-      void handleChangedSelections();
-    /**Writes changed values to 'mChangedValues'*/
-    void storeChangedValue(int row, int column);
-
-  protected:
-    /**Flag telling if the ctrl-button or the shift-button is pressed*/
-    bool lockKeyPressed;
-    /**Search tree to find a row corresponding to a feature id*/
-    QMap<int,int> rowIdMap;
-    /**Flag indicating, which sorting order should be used*/
-    bool sort_ascending;
-    bool mEditable;
-    /**True if table has been edited and contains uncommited changes*/
-    bool mEdited;
-    /**Map containing the added attributes. The key is the attribute name
-      and the value the attribute type*/
-    std::map<QString,QString> mAddedAttributes;
-    /**Set containing the attribute names of deleted attributes*/
-    std::set<QString> mDeletedAttributes;
-    /**Nested map containing the changed attribute values. The int is the feature id, 
-      the first QString the attribute name and the second QString the new value*/
-    std::map<int,std::map<QString,QString> > mChangedValues;
-    /**Stors the numbers of the last selected rows. This is used to check for selection changes before emit repaintRequested()*/
-    std::set<int> mLastSelectedRows;
-
-    /**Compares the content of two cells either alphanumeric or numeric. If 'ascending' is true, -1 means s1 is less, 0 equal, 1 greater. If 'ascending' is false, -1 means s1 is more, 0 equal, 1 greater. This method is used mainly to sort a column*/
-    int compareItems(QString s1, QString s2, bool ascending, bool alphanumeric);
-    void keyPressEvent(QKeyEvent* ev);
-    void keyReleaseEvent(QKeyEvent* ev);
-    /**Method used by sortColumn (implementation of a quicksort)*/
-    void qsort(int lower, int upper, int col, bool ascending, bool alphanumeric);
-    /**Clears mAddedAttributes, mDeletedAttributes and mChangedValues*/
-    void clearEditingStructures();
-    /**Removes the column belonging to an attribute from the table
-      @name attribut name*/
-    void removeAttrColumn(const QString& name);
-    /** puts attributes of feature to the chosen table row */
-    void putFeatureInTable(int row, QgsFeature* fet);
-    void contentsMouseReleaseEvent(QMouseEvent* e);
-    /**This function compares the current selection and the selection of the last repaint. Returns true if there are differences in the selection.
-     Also, mLastSelectedRows is updated*/
-    bool checkSelectionChanges();
-signals:
-
-    /**Is emitted when a row was selected*/
-    void selected(int);
-    /**Is emitted when all rows have been deselected*/
-    void selectionRemoved();
-    /**Is emmited when a set of related selection and deselection signals have been emitted*/
-    void repaintRequested();
-
-  private:
-    // Data to do with providing a popup menu of actions that
-    std::vector<std::pair<QString, QString> > mActionValues;
-    int mClickedOnValue;
-    QMenu* mActionPopup;
-    QgsAttributeAction mActions;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,375 +0,0 @@
-/***************************************************************************
-                          QgsAttributeTableDisplay.cpp  -  description
-                             -------------------
-    begin                : Sat Nov 23 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-       Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributetabledisplay.cpp 6816 2007-03-18 11:43:41Z homann $ */
-
-#include "qgsattributetabledisplay.h"
-
-#include "qgisapp.h"
-#include "qgsapplication.h"
-#include "qgsaddattrdialog.h"
-#include "qgsdelattrdialog.h"
-#include "qgsfeature.h"
-#include "qgssearchquerybuilder.h"
-#include "qgssearchtreenode.h"
-#include "qgsvectorlayer.h"
-#include "qgsvectordataprovider.h"
-#include "qgscontexthelp.h"
-
-#include <QMessageBox>
-#include <QIcon>
-#include <QPixmap>
-#include <QToolButton>
-
-QgsAttributeTableDisplay::QgsAttributeTableDisplay(QgsVectorLayer* layer, QgisApp * qgisApp)
-: QDialog(0, Qt::Window),
-  mLayer(layer),
-  mQgisApp(qgisApp)
-{
-  setupUi(this);
-  setTheme();
-  connect(mRemoveSelectionButton, SIGNAL(clicked()), this, SLOT(removeSelection()));
-  connect(mSelectedToTopButton, SIGNAL(clicked()), this, SLOT(selectedToTop()));
-  connect(mInvertSelectionButton, SIGNAL(clicked()), this, SLOT(invertSelection()));
-  connect(mCopySelectedRowsButton, SIGNAL(clicked()), this, SLOT(copySelectedRowsToClipboard()));
-  connect(mAddAttributeButton, SIGNAL(clicked()), this, SLOT(addAttribute()));
-  connect(mDeleteAttributeButton, SIGNAL(clicked()), this, SLOT(deleteAttributes()));
-  connect(btnStartEditing, SIGNAL(clicked()), this, SLOT(startEditing()));
-  connect(btnStopEditing, SIGNAL(clicked()), this, SLOT(stopEditing()));
-  connect(mSearchButton, SIGNAL(clicked()), this, SLOT(search()));
-  connect(mSearchShowResults, SIGNAL(activated(int)), this, SLOT(searchShowResultsChanged(int)));
-  connect(btnAdvancedSearch, SIGNAL(clicked()), this, SLOT(advancedSearch()));
-  connect(btnClose, SIGNAL(clicked()), this, SLOT(close()));
-
-  mAddAttributeButton->setEnabled(false);
-  mDeleteAttributeButton->setEnabled(false);
-
-  btnStopEditing->setEnabled(false);
-  int cap=layer->getDataProvider()->capabilities();
-  if((cap&QgsVectorDataProvider::ChangeAttributeValues)
-      ||(cap&QgsVectorDataProvider::AddAttributes)
-      ||(cap&QgsVectorDataProvider::DeleteAttributes))
-  {
-    btnStartEditing->setEnabled(true);
-  }
-  else
-  {
-    btnStartEditing->setEnabled(false);
-  }
-
-  // fill in mSearchColumns with available columns
-  QgsVectorDataProvider* provider = mLayer->getDataProvider();
-  if (provider)
-  {
-    std::vector < QgsField > fields = provider->fields();
-    int fieldcount = provider->fieldCount();
-    for (int h = 1; h <= fieldcount; h++)
-    {
-      mSearchColumns->insertItem(fields[h - 1].name());
-    }
-  }
-  
-  // TODO: create better labels
-  mSearchShowResults->insertItem(tr("select"));
-  mSearchShowResults->insertItem(tr("select and bring to top"));
-  mSearchShowResults->insertItem(tr("show only matching"));
-}
-
-QgsAttributeTableDisplay::~QgsAttributeTableDisplay()
-{
-}
-QgsAttributeTable *QgsAttributeTableDisplay::table()
-{
-  return tblAttributes;
-}
-void QgsAttributeTableDisplay::setTheme()
-{
-  QString myIconPath = QgsApplication::themePath();
-  mAddAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionNewAttribute.png"));
-  mRemoveSelectionButton->setPixmap(QPixmap(myIconPath+"/mActionUnselectAttributes.png"));
-  mSelectedToTopButton->setPixmap(QPixmap(myIconPath+"/mActionSelectedToTop.png"));
-  mInvertSelectionButton->setPixmap(QPixmap(myIconPath+"/mActionInvertSelection.png"));
-  mCopySelectedRowsButton->setPixmap(QPixmap(myIconPath+"/mActionCopySelected.png"));
-  mAddAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionNewAttribute.png"));
-  mDeleteAttributeButton->setPixmap(QPixmap(myIconPath+"/mActionDeleteAttribute.png"));
-}
-
-void QgsAttributeTableDisplay::setTitle(QString title)
-{
-  setCaption(title);
-}
-
-void QgsAttributeTableDisplay::deleteAttributes()
-{
-  QgsDelAttrDialog dialog(table()->horizontalHeader());
-  if(dialog.exec()==QDialog::Accepted)
-  {
-    const std::list<QString>* attlist=dialog.selectedAttributes();
-    for(std::list<QString>::const_iterator iter=attlist->begin();iter!=attlist->end();++iter)
-    {
-      table()->deleteAttribute(*iter);
-    }
-  }
-}
-
-void QgsAttributeTableDisplay::addAttribute()
-{
-  QgsAddAttrDialog dialog(mLayer->getDataProvider(), this);
-  if(dialog.exec()==QDialog::Accepted)
-  {
-    if(!table()->addAttribute(dialog.name(),dialog.type()))
-    {
-      QMessageBox::information(0,tr("Name conflict"),tr("The attribute could not be inserted. The name already exists in the table"),QMessageBox::Ok);
-    }
-  }
-}
-
-void QgsAttributeTableDisplay::startEditing()
-{
-  QgsVectorDataProvider* provider=mLayer->getDataProvider();
-  bool editing=false; 
-
-  if(provider)
-  {
-    if(provider->capabilities()&QgsVectorDataProvider::AddAttributes)
-    {
-      mAddAttributeButton->setEnabled(true);
-      editing=true;
-    }
-    if(provider->capabilities()&QgsVectorDataProvider::DeleteAttributes)
-    {
-      
-      mDeleteAttributeButton->setEnabled(true);
-      editing=true;
-    }
-    if(provider->capabilities()&QgsVectorDataProvider::ChangeAttributeValues)
-    {
-      table()->setReadOnly(false);
-      table()->setColumnReadOnly(0,true);//id column is not editable
-      editing=true;
-    }
-    if(editing)
-    {
-      btnStartEditing->setEnabled(false);
-      btnStopEditing->setEnabled(true);
-      btnClose->setEnabled(false);
-      //make the dialog modal when in editable
-      //otherwise map editing and table editing
-      //may disturb each other
-      hide();
-      setModal(true);
-      show();
-    }
-  }
-}
-
-void QgsAttributeTableDisplay::stopEditing()
-{
-  if(table()->edited())
-  {
-    //commit or roll back?
-    int commit=QMessageBox::information(0,tr("Stop editing"),tr("Do you want to save the changes?"),QMessageBox::Yes,QMessageBox::No);
-    if(commit==QMessageBox::Yes)
-    {
-      if(!table()->commitChanges(mLayer))
-      {
-        QMessageBox::information(0,tr("Error"),tr("Could not commit changes"),QMessageBox::Ok);
-      }
-    }
-    else
-    {
-      table()->rollBack(mLayer);
-    }
-  }
-  btnStartEditing->setEnabled(true);
-  btnStopEditing->setEnabled(false);
-  btnClose->setEnabled(true);
-  mAddAttributeButton->setEnabled(false);
-  mDeleteAttributeButton->setEnabled(false);
-  table()->setReadOnly(true);
-  //make this dialog modeless again
-  hide();
-  setModal(false);
-  show();
-}
-
-void QgsAttributeTableDisplay::selectedToTop()
-{
-  table()->bringSelectedToTop();
-}
-
-void QgsAttributeTableDisplay::invertSelection()
-{
-  if(mLayer)
-  {
-    mLayer->invertSelection();
-  }
-}
-
-void QgsAttributeTableDisplay::removeSelection()
-{
-    mLayer->removeSelection();
-    table()->clearSelection();
-    mLayer->triggerRepaint();
-}
-
-void QgsAttributeTableDisplay::copySelectedRowsToClipboard()
-{
-  // Deprecated
-  // table()->copySelectedRows();
-
-  // Use the Application's copy method instead
-  mQgisApp->editCopy(mLayer);
-}
-
-void QgsAttributeTableDisplay::search()
-{
-  // if selected field is numeric, numeric comparison will be used
-  // else attributes containing entered text will be matched
-
-  QgsVectorDataProvider* provider = mLayer->getDataProvider();
-  int item = mSearchColumns->currentItem();
-  bool numeric = provider->fields()[item].isNumeric();
-  
-  QString str;
-  str = mSearchColumns->currentText();
-  if (numeric)
-    str += " = '";
-  else
-    str += " ~ '";
-  str += mSearchText->text();
-  str += "'";
-
-  doSearch(str);
-}
-
-
-void QgsAttributeTableDisplay::advancedSearch()
-{
-  QgsSearchQueryBuilder dlg(mLayer, this);
-  dlg.setSearchString(mSearchString);
-  if (dlg.exec())
-  {
-    doSearch(dlg.searchString());
-  }
-}
-
-
-void QgsAttributeTableDisplay::searchShowResultsChanged(int item)
-{
-  QApplication::setOverrideCursor(Qt::waitCursor);
-
-  if (item == 2) // show only matching
-  {
-    table()->showRowsWithId(mSearchIds);
-  }
-  else
-  {    
-    // make sure that all rows are shown
-    table()->showAllRows();
-    
-    // select matching
-    table()->selectRowsWithId(mSearchIds);
-  
-    if (item == 1) // select matching and bring to top
-      table()->bringSelectedToTop();
-  }
-
-  QApplication::restoreOverrideCursor();
-}
-
-
-void QgsAttributeTableDisplay::doSearch(const QString& searchString)
-{
-  mSearchString = searchString;
-
-  // parse search string (and build parsed tree)
-  QgsSearchString search;
-  if (!search.setString(searchString))
-  {
-    QMessageBox::critical(this, tr("Search string parsing error"), search.parserErrorMsg());
-    return;
-  }
-  QgsSearchTreeNode* searchTree = search.tree();
-  if (searchTree == NULL)
-  {
-    QMessageBox::information(this, tr("Search results"), tr("You've supplied an empty search string."));
-    return;
-  }
-
-#ifdef QGISDEBUG
-  std::cout << "Search by attribute: " << searchString.toLocal8Bit().data() << std::endl
-            << " parsed as: " << search.tree()->makeSearchString().toLocal8Bit().data() << std::endl;
-#endif
-
-  QApplication::setOverrideCursor(Qt::waitCursor);
-
-  // TODO: need optimized getNextFeature which won't extract geometry
-  // or search by traversing table ... which one is quicker?
-  QgsFeature* fet;
-  QgsVectorDataProvider* provider = mLayer->getDataProvider();
-  provider->reset();
-  mSearchIds.clear();
-  while ((fet = provider->getNextFeature(true)))
-  {
-    if (searchTree->checkAgainst(fet->attributeMap()))
-    {
-      mSearchIds.push_back(fet->featureId());
-    }
-    delete fet;
-    
-    // check if there were errors during evaulating
-    if (searchTree->hasError())
-      break;
-  }
-  provider->reset();
-
-  QApplication::restoreOverrideCursor();
-
-  if (searchTree->hasError())
-  {
-    QMessageBox::critical(this, tr("Error during search"), searchTree->errorMsg());
-    return;
-  }
-
-  // update table
-  searchShowResultsChanged(mSearchShowResults->currentItem());
-   
-  QString str;
-  if (mSearchIds.size())
-    str.sprintf(tr("Found %d matching features.","", mSearchIds.size()), mSearchIds.size());
-  else
-    str = tr("No matching features found.");
-  QMessageBox::information(this, tr("Search results"), str);
-
-}
-
-void QgsAttributeTableDisplay::closeEvent(QCloseEvent* ev)
-{
-  ev->ignore();
-  emit deleted();
-  delete this;
-}
-
-void QgsAttributeTableDisplay::on_btnHelp_clicked()
-{
-  showHelp();
-}
-void QgsAttributeTableDisplay::showHelp()
-{
-  QgsContextHelp::run(context_id);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsattributetabledisplay.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,86 +0,0 @@
-/***************************************************************************
-                          qgsattributetabledisplay.h  -  description
-                             -------------------
-    begin                : Sat Nov 23 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc dot com
-        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsattributetabledisplay.h 6092 2006-11-16 05:34:45Z gsherman $ */
-
-#ifndef QGSATTRIBUTETABLEDISPLAY_H
-#define QGSATTRIBUTETABLEDISPLAY_H
-
-#include "ui_qgsattributetablebase.h"
-#include <vector>
-
-class QgsAttributeTable;
-class QgsVectorLayer;
-class QgisApp;
-
-/**
-  *@author Gary E.Sherman
-  */
-
-class QgsAttributeTableDisplay:public QDialog, private Ui::QgsAttributeTableBase
-{
-  Q_OBJECT
-  public:
-    /**
-     \param qgisApp   This should be the QgisApp that spawned this table.
-                      Otherwise the Copy button on this QgsAttributeTableDisplay
-                      will not work.
-     */
-    QgsAttributeTableDisplay(QgsVectorLayer* layer, QgisApp * qgisApp);
-    ~QgsAttributeTableDisplay();
-
-    QgsAttributeTable *table();
-    void setTitle(QString title);
-  protected:
-    QgsVectorLayer* mLayer;
-
-    QgisApp * mQgisApp;
-
-    void doSearch(const QString& searchString);
-
-    virtual void closeEvent(QCloseEvent* ev);
-    void showHelp();
-
-    /** array of feature IDs that match last searched condition */
-    std::vector<int> mSearchIds;
-
-  protected slots:
-    void deleteAttributes();
-    void addAttribute();
-    void startEditing();
-    void stopEditing();
-    void selectedToTop();
-    void invertSelection();
-    void removeSelection();
-    void copySelectedRowsToClipboard();
-    void search();
-    void advancedSearch();
-    void searchShowResultsChanged(int item);
-    void on_btnHelp_clicked();
-
-  signals:
-    void deleted();
-  private:
-    /** Set the icon theme for this dialog */
-    void setTheme();
-    
-    QString mSearchString;
-
-    static const int context_id = 831088384;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,235 +0,0 @@
-/***************************************************************************
-               QgsBookmarks.cpp  - Spatial Bookmarks
-                             -------------------
-    begin                : 2005-04-23
-    copyright            : (C) 2005 Gary Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsbookmarks.cpp 6827 2007-03-23 19:02:37Z homann $ */
-#include "qgsbookmarks.h"
-#include "qgisapp.h"
-#include "qgsapplication.h"
-#include "qgscontexthelp.h"
-#include "qgsmapcanvas.h"
-#include "qgslogger.h"
- 
-#include <QDir>
-#include <QFileInfo>
-#include <QMessageBox>
-
-//standard includes
-#include <iostream>
-#include <cassert>
-#include <sqlite3.h>
-#include <fstream>
-
-QgsBookmarks::QgsBookmarks(QWidget *parent, Qt::WFlags fl)
-  : QDialog(parent, fl),
-  mParent(parent)
-{
-  setupUi(this);
-  connect(btnClose, SIGNAL(clicked()), this, SLOT(reject()));
-
-  // user database is created at QGIS startup in QgisApp::createDB
-  // we just check whether there is our database [MD]
-  QFileInfo myFileInfo;
-  myFileInfo.setFile(QgsApplication::qgisSettingsDirPath());
-  if ( !myFileInfo.exists( ) )
-  {
-#ifdef QGISDEBUG 
-    std::cout << "The qgis.db does not exist" << std::endl; 
-#endif 
-  }
-  
-  // Note proper queens english on next line
-  initialise();
-
-  // connect the slot up to catch when a new bookmark is added
-  connect(mParent, SIGNAL(bookmarkAdded()), this, SLOT(refreshBookmarks()));
-}
-
-// Destructor
-QgsBookmarks::~QgsBookmarks()
-{
-}
-
-void QgsBookmarks::refreshBookmarks()
-{
-  lstBookmarks->clear();
-  initialise();
-}
-// Initialise the bookmark tree from the database
-void QgsBookmarks::initialise()
-{
-  int rc = connectDb();
-  if(rc == SQLITE_OK)
-  {
-    // prepare the sql statement
-    const char *pzTail;
-    sqlite3_stmt *ppStmt;
-    QString sql = "select * from tbl_bookmarks";
-
-    rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
-    // XXX Need to free memory from the error msg if one is set
-    if(rc == SQLITE_OK)
-    {
-      // get the first row of the result set
-      while(sqlite3_step(ppStmt) == SQLITE_ROW)
-      {
-        QString name = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 1));
-        //        sqlite3_bind_parameter_index(ppStmt, "name"));
-        //QgsDebugMsg("Bookmark name: " + name.toLocal8Bit().data()); 
-        Q3ListViewItem *lvi = new Q3ListViewItem(lstBookmarks, name);
-        // set the project name
-        lvi->setText(1, QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 2))); 
-        // get the extents
-        QString xMin = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 3));
-        QString yMin = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 4));
-        QString xMax = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 5));
-        QString yMax = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 6));
-        // set the extents
-        lvi->setText(2, xMin + ", " + yMin + ", " + xMax + ", " + yMax); 
-        // set the id
-        lvi->setText(3, QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 0)));
-      }
-    }
-    else
-    {
-      // XXX query failed -- warn the user some how
-      std::cout << "Failed to get bookmarks: " << sqlite3_errmsg(db) << std::endl; 
-    }
-    // close the statement
-    sqlite3_finalize(ppStmt);
-    // close the database
-    sqlite3_close(db);
-    // return the srs wkt
-
-  }
-}
-
-
-void QgsBookmarks::on_btnDelete_clicked()
-{
-  // get the current item
-  Q3ListViewItem *lvi = lstBookmarks->currentItem();
-  if(lvi)
-  {
-    // make sure the user really wants to delete this bookmark
-    if(0 == QMessageBox::information(this,tr("Really Delete?"),
-          tr("Are you sure you want to delete the ") + lvi->text(0) +
-          tr(" bookmark?"), tr("&Yes"), tr("&No"), QString::null, 0, 1))  
-    {
-      // remove it from the listview
-      lstBookmarks->takeItem(lvi);
-      // delete it from the database
-      int rc = connectDb();
-      if(rc == SQLITE_OK)
-      {
-        char *errmsg;
-        // build the sql statement
-        QString sql = "delete from tbl_bookmarks where bookmark_id = " + lvi->text(3);
-        rc = sqlite3_exec(db, sql.utf8(), NULL, NULL, &errmsg);
-        if(rc != SQLITE_OK)
-        {
-          // XXX Provide popup message on failure?
-          QMessageBox::warning(this, tr("Error deleting bookmark"),
-                               tr("Failed to delete the ") + 
-                               lvi->text(0) +
-                               tr(" bookmark from the database. The "
-                                  "database said:\n") + QString(errmsg),
-                               QMessageBox::Ok, QMessageBox::NoButton);
-          sqlite3_free(errmsg);
-        }
-        // close the database
-        sqlite3_close(db);
-      }
-    }
-  }
-}
-
-void QgsBookmarks::on_btnZoomTo_clicked()
-{
-  zoomToBookmark();
-}
-
-void QgsBookmarks::on_lstBookmarks_doubleClicked(Q3ListViewItem *lvi)
-{
-  zoomToBookmark();
-}
-
-void QgsBookmarks::zoomToBookmark()
-{
-	// Need to fetch the extent for the selected bookmark and then redraw
-	// the map
-  // get the current item
-  Q3ListViewItem *lvi = lstBookmarks->currentItem();
-  if(!lvi)
-  {
-      return;
-  }
-  // get the extent from the database
-  int rc = connectDb();
-  if(rc == SQLITE_OK)
-  {
-    sqlite3_stmt *ppStmt;
-    const char *pzTail;
-    // build the sql statement
-    QString sql = "select xmin, ymin, xmax, ymax from tbl_bookmarks where bookmark_id = " + lvi->text(3);
-    rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
-    if(rc == SQLITE_OK)
-    {
-      if(sqlite3_step(ppStmt) == SQLITE_ROW){
-        // get the extents from the resultset
-        QString xmin  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 0));
-        QString ymin  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 1));
-        QString xmax  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 2));
-        QString ymax  = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 3));
-        // set the extent to the bookmark
-        dynamic_cast<QgisApp*>(mParent)->setExtent(QgsRect(xmin.toDouble(),
-              ymin.toDouble(),
-              xmax.toDouble(),
-              ymax.toDouble()));
-        // redraw the map
-        dynamic_cast<QgisApp*>(mParent)->getInterface()->getMapCanvas()->refresh();
-
-
-      }
-    }
-
-    // close the statement
-    sqlite3_finalize(ppStmt);
-    // close the database
-    sqlite3_close(db);
-  }
-  
-}
-
-int QgsBookmarks::connectDb()
-{
-
-  int rc;
-  rc = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &db);
-  if(rc)
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
-
-    // XXX This will likely never happen since on open, sqlite creates the
-    //     database if it does not exist.
-    assert(rc == 0);
-  }
-  return rc;
-}
-
-void QgsBookmarks::on_btnHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsbookmarks.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,50 +0,0 @@
-/***************************************************************************
-               QgsBookmarks.h  - Spatial Bookmarks
-                             -------------------
-    begin                : 2005-04-23
-    copyright            : (C) 2005 Gary Sherman
-    email                : sherman at mrcc dot com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsbookmarks.h 5619 2006-07-21 05:22:38Z gsherman $ */
-#ifndef QGSBOOKMARKS_H
-#define QGSBOOKMARKS_H
-#include "ui_qgsbookmarksbase.h"
-#include <QDialog>
-
-class QString;
-class QWidget;
-class Q3ListViewItem;
-class sqlite3;
-class QgsBookmarks : public QDialog, private Ui::QgsBookmarksBase
-{
-  Q_OBJECT
-public:
- QgsBookmarks(QWidget *parent = 0, Qt::WFlags fl = 0);
- ~QgsBookmarks();
-public slots:
- void on_btnDelete_clicked();
- void on_btnZoomTo_clicked();
- void on_lstBookmarks_doubleClicked(Q3ListViewItem *);
- void on_btnHelp_clicked();
- void refreshBookmarks();
-
-private:
- QWidget *mParent;
- void initialise();
- int connectDb();
- void zoomToBookmark();
- sqlite3 *db;
- static const int context_id = 151694916;
-
-};
-#endif // QGSBOOKMARKS_H
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsclipboard.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsclipboard.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsclipboard.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,179 +0,0 @@
-/***************************************************************************
-     qgsclipboard.cpp  -  QGIS internal clipboard for storage of features 
-     --------------------------------------------------------------------
-    begin                : 20 May, 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-/* $Id: qgsclipboard.cpp 6166 2006-12-01 22:15:52Z g_j_m $ */
-
-#include <fstream>
-#include <iostream>
-
-#include <QApplication>
-#include <QString>
-#include <QStringList>
-#include <QClipboard>
-
-#include "qgsclipboard.h"
-
-
-QgsClipboard::QgsClipboard()
-  : mFeatureClipboard(0)
-{
-}
-
-QgsClipboard::~QgsClipboard()
-{
-}
-
-void QgsClipboard::replaceWithCopyOf( std::vector<QgsFeature> features )
-{
-
-  // Replace the QGis clipboard.
-  mFeatureClipboard = features;
-#ifdef QGISDEBUG
-        std::cerr << "QgsClipboard::replaceWith: replaced QGis clipboard."
-                  << std::endl;
-#endif
-
-  // Replace the system clipboard.
-
-  QStringList textLines;
-  QStringList textFields;
-  bool firstFeature = TRUE;
-
-  // then the field contents
-  for (std::vector<QgsFeature>::iterator it  = features.begin();
-                                         it != features.end();
-                                       ++it)
-  {
-    std::vector<QgsFeatureAttribute> attributes = it->attributeMap();
-
-    // first do the field names
-    if (firstFeature)
-    {
-      textFields += "wkt_geom";
-
-      for (std::vector<QgsFeatureAttribute>::iterator it2  = attributes.begin();
-                                                      it2 != attributes.end();
-                                                    ++it2)
-      {
-        textFields += it2->fieldName();
-      }
-
-      textLines += textFields.join(",");
-      textFields.clear();
-    }
-
-
-    // TODO: Set up Paste Transformations to specify the order in which fields are added.
-
-    if (it->geometry())
-      textFields += it->geometry()->wkt();
-    else
-      textFields += "NULL";
-
-#ifdef QGISDEBUG
-//       std::cout << "QgsClipboard::replaceWithCopyOf: about to traverse fields." << std::endl;
-#endif
-    for (std::vector<QgsFeatureAttribute>::iterator it2  = attributes.begin();
-                                                    it2 != attributes.end();
-                                                  ++it2)
-    {
-#ifdef QGISDEBUG
-//       std::cout << "QgsClipboard::replaceWithCopyOf: inspecting field '"
-//                 << (it2->fieldName()).toLocal8Bit().data()
-//                 << "'." << std::endl;
-#endif
-      textFields += it2->fieldValue();
-    }
-
-    textLines += textFields.join(",");
-    textFields.clear();
-
-    firstFeature = FALSE;
-  }
-  
-  QString textCopy = textLines.join("\n");
-
-  QClipboard *cb = QApplication::clipboard();
-
-  // Copy text into the clipboard
-
-  // With qgis running under Linux, but with a Windows based X
-  // server (Xwin32), ::Selection was necessary to get the data into
-  // the Windows clipboard (which seems contrary to the Qt
-  // docs). With a Linux X server, ::Clipboard was required.
-  // The simple solution was to put the text into both clipboards.
-
-  // The ::Selection setText() below one may need placing inside so
-  // #ifdef so that it doesn't get compiled under Windows.
-  cb->setText(textCopy, QClipboard::Selection);
-  cb->setText(textCopy, QClipboard::Clipboard);
-  
-#ifdef QGISDEBUG
-        std::cerr << "QgsClipboard::replaceWith: replaced system clipboard with: "
-                  << textCopy.toLocal8Bit().data()
-                  << "."
-                  << std::endl;
-#endif
-
-}
-
-std::vector<QgsFeature*>* QgsClipboard::copyOf()
-{
-
-#ifdef QGISDEBUG
-        std::cerr << "QgsClipboard::copyOf: returning clipboard."
-                  << std::endl;
-#endif
-  
-  std::vector<QgsFeature*>* featuresCopy = new std::vector<QgsFeature*>;
-
-  //TODO: Slurp from the system clipboard as well.
-
-  for (std::vector<QgsFeature>::iterator it  = mFeatureClipboard.begin();
-                                         it != mFeatureClipboard.end();
-                                       ++it)
-  {
-    featuresCopy->push_back( new QgsFeature(*it) );
-  }
-  
-  return featuresCopy;
-    
-//  return mFeatureClipboard;
-  
-}
-
-void QgsClipboard::clear()
-{
-  
-  mFeatureClipboard.clear();
-
-#ifdef QGISDEBUG
-        std::cerr << "QgsClipboard::clear: cleared clipboard."
-                  << std::endl;
-#endif
-}
-  
-void QgsClipboard::insert( QgsFeature& feature )
-{
-  mFeatureClipboard.push_back(feature);
-#ifdef QGISDEBUG
-        std::cerr << "QgsClipboard::insert: inserted " << feature.geometry()->wkt().toLocal8Bit().data()
-                  << std::endl;
-#endif
-
-}
- 

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsclipboard.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsclipboard.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsclipboard.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,94 +0,0 @@
-/***************************************************************************
-      qgsclipboard.h  -  QGIS internal clipboard for storage of features 
-      ------------------------------------------------------------------
-    begin                : 20 May, 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- 
-/* $Id: qgsclipboard.h 4619 2006-01-08 23:18:32Z timlinux $ */
-
-#ifndef QGSCLIPBOARD_H
-#define QGSCLIPBOARD_H
-
-#include <vector>
-
-#include "qgsfeature.h"
-
-/**
-
-  \brief QGIS internal clipboard for features.
- 
-  An internal clipboard is required so that features can be retained in
-  their original fidelity.
-  
-  The internal clipboard makes a copy of features that are presented to it,
-  therefore the original objects can safely be destructed independent of
-  the lifetime of the internal clipboard.
-  
-  As this class matures it should also be able to accept CSV repesentations
-  of features in and out of the system clipboard (QClipboard).
-  
-  TODO: Make it work
-  
-*/
-
-class QgsClipboard
-{
-  
-
-public:
-  
- 
-  /**
-  * Constructor for the clipboard. 
-  */
-  QgsClipboard();
-
-  //! Destructor
-  virtual ~QgsClipboard();
-  
-  /*
-   *  Place a copy of features on the internal clipboard, 
-   *  destroying the previous contents.
-   */
-  void replaceWithCopyOf( std::vector<QgsFeature> features );
-
-  /*
-   *  Returns a copy of features on the internal clipboard, 
-   *  the caller assumes responsibility fot destroying the contents
-   *  when it's done with it.
-   */
-  std::vector<QgsFeature*>* copyOf();
-  
-  /*
-   *  Clears the internal clipboard.
-   */
-  void clear();
-  
-  /*
-   *  Inserts a copy of the feature on the internal clipboard.
-   */
-  void insert( QgsFeature& feature );
- 
-    
-private:
-
-    /** QGIS-internal vector feature clipboard.
-        Stored as values not pointers as each clipboard operation
-        involves a deep copy anyway.
-     */
-    std::vector<QgsFeature> mFeatureClipboard;
-
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,7 +12,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgscolorbutton.cpp 6308 2006-12-22 22:51:11Z telwertowski $ */
+/* $Id: qgscolorbutton.cpp 6251 2006-12-13 23:23:50Z telwertowski $ */
 
 #include "qgscolorbutton.h"
 #include <QPainter>

Modified: packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscolorbutton.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,13 +12,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgscolorbutton.h 6254 2006-12-15 07:54:15Z mhugent $ */
+/* $Id: qgscolorbutton.h 6251 2006-12-13 23:23:50Z telwertowski $ */
 #ifndef QGSCOLORBUTTON_H
 #define QGSCOLORBUTTON_H
 
 #include <QToolButton>
 
-class QgsColorButton: public QToolButton
+class GUI_EXPORT QgsColorButton: public QToolButton
 {
   public:
     QgsColorButton(QWidget *parent = 0);

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,234 +0,0 @@
-/***************************************************************************
-                          qgscontinuouscolordialog.cpp 
- Continuous color renderer dialog
-                             -------------------
-    begin                : 2004-02-11
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgscontinuouscolordialog.cpp 6251 2006-12-13 23:23:50Z telwertowski $ */
-
-#include "qgscontinuouscolordialog.h"
-#include "qgscontinuouscolorrenderer.h"
-#include "qgsfield.h"
-#include "qgssymbol.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-
-#include <QColorDialog>
-
-
-QgsContinuousColorDialog::QgsContinuousColorDialog(QgsVectorLayer * layer)
-    : QDialog(), mVectorLayer(layer)
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    qWarning("constructor QgsContinuousColorDialog");
-#endif
-
-    QObject::connect(btnMinValue, SIGNAL(clicked()), this, SLOT(selectMinimumColor()));
-    QObject::connect(btnMaxValue, SIGNAL(clicked()), this, SLOT(selectMaximumColor()));
-
-    //find out the numerical fields of mVectorLayer
-    QgsVectorDataProvider *provider;
-    if (provider = dynamic_cast<QgsVectorDataProvider*>(mVectorLayer->getDataProvider()))
-    {
-	std::vector < QgsField > const & fields = provider->fields();
-	int fieldnumber(0), combonumber(0);
-	QString str;
-
-	for (std::vector < QgsField >::const_iterator it = fields.begin(); it != fields.end(); ++it)
-        {
-	    QString type = (*it).type();
-	    if (type != "String" && type != "varchar" && type != "geometry")
-            {
-		str = (*it).name();
-		classificationComboBox->insertItem(str);
-		mFieldMap.insert(std::make_pair(combonumber, fieldnumber));
-		combonumber++;
-            }
-	    fieldnumber++;
-        }
-    } 
-    else
-    {
-	qWarning("Warning, data provider is null in QgsContinuousColorDialog::QgsContinuousColorDialog(...)");
-	return;
-    }
-
-    //restore the correct colors for minimum and maximum values
-
-    const QgsContinuousColorRenderer* renderer = dynamic_cast < const QgsContinuousColorRenderer * >(layer->renderer());;
-
-    if (renderer)
-    {
-	// Awkard - here we want to search through mFieldMap for a
-	// particular value, while elsewhere in this code we need to search
-	// for a particular key, so one or the other loses out, which is here.
-
-	std::map<int,int>::const_iterator iter = mFieldMap.begin();
-	while (iter != mFieldMap.end())
-	{
-	    if (iter->second == renderer->classificationField())
-		break;
-	    iter++;
-	}
-	if (iter != mFieldMap.end())
-	    classificationComboBox->setCurrentItem(iter->first);
-	else
-	    classificationComboBox->setCurrentItem(-1);
-
-	const QgsSymbol* minsymbol = renderer->minimumSymbol();
-	const QgsSymbol* maxsymbol = renderer->maximumSymbol();
-
-	if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
-    {
-        btnMinValue->setColor( minsymbol->pen().color() );
-        btnMaxValue->setColor( maxsymbol->pen().color() );
-	}
-	else
-    {
-        btnMinValue->setColor( minsymbol->brush().color() );
-        btnMaxValue->setColor( maxsymbol->brush().color() );
-    }
-
-	outlinewidthspinbox->setMinValue(0);
-	outlinewidthspinbox->setValue(minsymbol->pen().width());
-
-	if (renderer->drawPolygonOutline()) 
-	  cb_polygonOutline->setCheckState(Qt::Checked);
-	else
-	  cb_polygonOutline->setCheckState(Qt::Unchecked);
-	if (mVectorLayer->vectorType() != QGis::Polygon)
-	  cb_polygonOutline->setVisible(false);
-    }
-    else
-    {
-      cb_polygonOutline->setCheckState(Qt::Checked);
-      outlinewidthspinbox->setValue(1);
-      if (mVectorLayer->vectorType() != QGis::Polygon)
-        cb_polygonOutline->setVisible(false);
-
-      btnMinValue->setColor(Qt::black);
-      btnMaxValue->setColor(Qt::white);
-
-    }
-    // Ensure that the state of other widgets is appropriate for the
-    // state of the polygonoutline checkbox.
-    on_cb_polygonOutline_clicked();
-}
-
-QgsContinuousColorDialog::QgsContinuousColorDialog()
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    qWarning("constructor QgsContinuousColorDialog");
-#endif
-}
-
-QgsContinuousColorDialog::~QgsContinuousColorDialog()
-{
-#ifdef QGISDEBUG
-    qWarning("destructor QgsContinuousColorDialog");
-#endif
-}
-
-void QgsContinuousColorDialog::apply()
-{
-    int comboIndex = classificationComboBox->currentIndex();
-    if (comboIndex == -1)    //don't do anything, if there is no classification field
-    {
-	return;
-    }
-    std::map < int, int >::iterator iter = mFieldMap.find(comboIndex);
-    // Should never happen...
-    assert(iter != mFieldMap.end());
-
-    int classfield = iter->second;
-
-    //find the minimum and maximum for the classification variable
-    double minimum, maximum;
-    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider*>(mVectorLayer->getDataProvider());
-    if (provider)
-    {
-	minimum = provider->minValue(classfield).toDouble();
-	maximum = provider->maxValue(classfield).toDouble();
-    } 
-    else
-    {
-	qWarning("Warning, provider is null in QgsGraSyExtensionWidget::QgsGraSyExtensionWidget(...)");
-	return;
-    }
-
-
-    //create the render items for minimum and maximum value
-    QgsSymbol* minsymbol = new QgsSymbol(mVectorLayer->vectorType(), QString::number(minimum, 'f'), "", "");
-    if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
-    {
-	minsymbol->setPen(QPen(btnMinValue->color(), outlinewidthspinbox->value()));
-    } 
-    else
-    {
-	minsymbol->setBrush(QBrush(btnMinValue->color()));
-        minsymbol->setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value()));
-    }
-    
-    QgsSymbol* maxsymbol = new QgsSymbol(mVectorLayer->vectorType(), QString::number(maximum, 'f'), "", "");
-    if (mVectorLayer->vectorType() == QGis::Line || mVectorLayer->vectorType() == QGis::Point)
-    {
-	maxsymbol->setPen(QPen(btnMaxValue->color(), outlinewidthspinbox->value()));
-    } 
-    else
-    {
-	maxsymbol->setBrush(QBrush(btnMaxValue->color()));
-	maxsymbol->setPen(QPen(QColor(0, 0, 0), outlinewidthspinbox->value()));
-    }
-  
-    QgsContinuousColorRenderer* renderer = new QgsContinuousColorRenderer(mVectorLayer->vectorType());
-    mVectorLayer->setRenderer(renderer);
-    
-    renderer->setMinimumSymbol(minsymbol);
-    renderer->setMaximumSymbol(maxsymbol);
-    renderer->setClassificationField(classfield);
-    bool drawOutline = (cb_polygonOutline->checkState() == Qt::Checked) ? true:false; 
-    renderer->setDrawPolygonOutline(drawOutline);
-
-    mVectorLayer->refreshLegend();
-}
-
-void QgsContinuousColorDialog::selectMinimumColor()
-{
-    QColor mincolor = QColorDialog::getColor(btnMinValue->color(), this);
-    if(mincolor.isValid())
-    {
-      btnMinValue->setColor(mincolor);
-    }
-    setActiveWindow();
-}
-
-void QgsContinuousColorDialog::selectMaximumColor()
-{
-    QColor maxcolor = QColorDialog::getColor(btnMaxValue->color(), this);
-    if(maxcolor.isValid())
-    {
-      btnMaxValue->setColor(maxcolor);
-    }
-    setActiveWindow();
-}
-
-void QgsContinuousColorDialog::on_cb_polygonOutline_clicked()
-{
-  if (cb_polygonOutline->checkState() == Qt::Checked)
-    outlinewidthspinbox->setEnabled(true);
-  else
-    outlinewidthspinbox->setEnabled(false);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolordialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,57 +0,0 @@
-/***************************************************************************
-                          qgscontinuouscolordialog.h 
-                        Continuous color renderer dialog
-                             -------------------
-    begin                : 2004-02-12
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgscontinuouscolordialog.h 6251 2006-12-13 23:23:50Z telwertowski $ */
-
-#ifndef QGSCONTINUOUSCOLORDIALOG_H
-#define QGSCONTINUOUSCOLORDIALOG_H
-
-#include "ui_qgscontinuouscolordialogbase.h"
-#include <map>
-
-class QgsVectorLayer;
-
-
-class QgsContinuousColorDialog: public QDialog, private Ui::QgsContinuousColorDialogBase
-{
-    Q_OBJECT
-
- public:
-    QgsContinuousColorDialog(QgsVectorLayer* layer);
-    ~QgsContinuousColorDialog();
-
- public slots:
-    void apply();
-
- protected slots:
-    void selectMinimumColor();
-    void selectMaximumColor();
-    void on_cb_polygonOutline_clicked();
-
- protected:
-    QgsVectorLayer* mVectorLayer;
-    /**Stores the relationship between provider field indices and field selection 
-       combobox indices. First is the combobox index, second is the provider field index */
-     std::map<int,int> mFieldMap;
-
- private:
-    /** Default constructor is private, do not use this */
-    QgsContinuousColorDialog();
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,273 +0,0 @@
-/***************************************************************************
-                         qgscontinuouscolorrenderer.cpp  -  description
-                             -------------------
-    begin                : Nov 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscontinuouscolorrenderer.cpp 5834 2006-09-18 09:31:12Z mhugent $ */
-#include "qgscontinuouscolorrenderer.h"
-#include "qgis.h"
-#include "qgsvectorlayer.h"
-#include <cfloat>
-#include "qgslegenditem.h"
-#include "qgssymbologyutils.h"
-#include "qgsmarkercatalogue.h"
-#include "qgssymbol.h"
-
-#include <QDomElement>
-#include <QPainter>
-#include <QPixmap>
-
-QgsContinuousColorRenderer::QgsContinuousColorRenderer(QGis::VectorType type): mMinimumSymbol(0), mMaximumSymbol(0)
-{
-    mVectorType = type;
-    //call superclass method to set up selection colour
-    initialiseSelectionColor();
-}
-
-QgsContinuousColorRenderer::QgsContinuousColorRenderer(const QgsContinuousColorRenderer& other)
-{
-    mVectorType = other.mVectorType;
-    mClassificationField = other.mClassificationField;
-    mMinimumSymbol = new QgsSymbol(*other.mMinimumSymbol);
-    mMaximumSymbol = new QgsSymbol(*other.mMaximumSymbol);
-}
-
-QgsContinuousColorRenderer& QgsContinuousColorRenderer::operator=(const QgsContinuousColorRenderer& other)
-{
-    if(this != &other)
-    {
-	mVectorType = other.mVectorType;
-	mClassificationField = other.mClassificationField;
-	delete mMinimumSymbol;
-	delete mMaximumSymbol;
-	mMinimumSymbol = new QgsSymbol(*other.mMinimumSymbol);
-	mMaximumSymbol = new QgsSymbol(*other.mMaximumSymbol);
-    }
-    return *this;
-}
-
-QgsContinuousColorRenderer::~QgsContinuousColorRenderer()
-{
-  delete mMinimumSymbol;
-  delete mMaximumSymbol;
-}
-
-void QgsContinuousColorRenderer::setMinimumSymbol(QgsSymbol* sy)
-{
-  delete mMinimumSymbol;
-  mMinimumSymbol = sy;
-}
-
-void QgsContinuousColorRenderer::setMaximumSymbol(QgsSymbol* sy)
-{
-  delete mMaximumSymbol;
-  mMaximumSymbol = sy;
-}
-
-void QgsContinuousColorRenderer::renderFeature(QPainter * p, QgsFeature * f, QPixmap* pic, 
-	double* scalefactor, bool selected, double widthScale)
-{
-  if ((mMinimumSymbol && mMaximumSymbol))
-  {
-    //first find out the value for the classification attribute
-    std::vector < QgsFeatureAttribute > vec = f->attributeMap();
-    double fvalue = vec[0].fieldValue().toDouble();
-
-    //double fvalue = vec[mClassificationField].fieldValue().toDouble();
-    double minvalue = mMinimumSymbol->lowerValue().toDouble();
-    double maxvalue = mMaximumSymbol->lowerValue().toDouble();
-
-    QColor mincolor, maxcolor;
-
-    if ( mVectorType == QGis::Line || mVectorType == QGis::Point )
-    {
-      mincolor = mMinimumSymbol->pen().color();
-      maxcolor = mMaximumSymbol->pen().color();
-    } 
-    else                    //if polygon
-    {
-      p->setPen(mMinimumSymbol->pen());
-      mincolor = mMinimumSymbol->fillColor();
-      maxcolor = mMaximumSymbol->fillColor();
-    }
-
-    int red,green,blue;
-
-    if((maxvalue - minvalue)!=0)
-    {
-      red = int (maxcolor.red() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.red() * (maxvalue - fvalue) / (maxvalue - minvalue));
-      green = int (maxcolor.green() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.green() * (maxvalue - fvalue) / (maxvalue - minvalue));
-      blue =  int (maxcolor.blue() * (fvalue - minvalue) / (maxvalue - minvalue) + mincolor.blue() * (maxvalue - fvalue) / (maxvalue - minvalue));
-    }
-    else
-    {
-      red = int (mincolor.red());
-      green = int (mincolor.green());
-      blue = int (mincolor.blue());
-    }
-
-    if ( mVectorType == QGis::Point && pic) {
-      // TODO we must get always new marker -> slow, but continuous color for points 
-      // probably is not used frequently
-
-
-      // Use color for both pen and brush (user can add another layer with outpine)
-      // later add support for both pen and brush to dialog
-      QPen pen = mMinimumSymbol->pen();
-      pen.setColor ( QColor(red, green, blue) );
-      pen.setWidthF ( widthScale * pen.width() );
-
-      QBrush brush = mMinimumSymbol->brush();
-
-      if ( selected ) {
-        pen.setColor ( mSelectionColor );
-        brush.setColor ( mSelectionColor );
-      } else {
-        brush.setColor ( QColor(red, green, blue) );
-      }
-      brush.setStyle ( Qt::SolidPattern );
-
-      *pic = QgsMarkerCatalogue::instance()->pixmapMarker ( mMinimumSymbol->pointSymbolName(), mMinimumSymbol->pointSize(),
-          pen, brush);
-
-      if ( scalefactor ) *scalefactor = 1;
-    } 
-    else if ( mVectorType == QGis::Line )
-    {
-      p->setPen( QPen(QColor(red, green, blue),
-            (int)(widthScale*mMinimumSymbol->pen().width()) ));//make sure the correct line width is used
-    } 
-    else
-    {
-      p->setBrush(QColor(red, green, blue));
-      if (mDrawPolygonOutline)
-      {
-        QPen pen;
-        pen.setColor(QColor(0,0,0));
-        pen.setWidthF(widthScale*mMinimumSymbol->pen().width());
-        p->setPen(pen);
-      }
-      else
-        p->setPen(Qt::NoPen);
-    }
-    if(selected)
-    {
-      QPen pen=mMinimumSymbol->pen();
-      pen.setColor(mSelectionColor);
-      QBrush brush=mMinimumSymbol->brush();
-      brush.setColor(mSelectionColor);
-      p->setPen(pen);
-      p->setBrush(brush);
-    }
-  }
-}
-
-void QgsContinuousColorRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
-{
-    mVectorType = vl.vectorType();
-    QDomNode classnode = rnode.namedItem("classificationfield");
-    int classificationfield = classnode.toElement().text().toInt();
-    this->setClassificationField(classificationfield);
-    
-    //polygon outline
-    QDomNode polyoutlinenode = rnode.namedItem("polygonoutline");
-    QString polyoutline = polyoutlinenode.toElement().text();
-    if(polyoutline == "0")
-    {
-	    mDrawPolygonOutline = false;
-    }
-    else if(polyoutline == "1")
-    {
-	    mDrawPolygonOutline = true;
-    }
-
-    //read the settings for the renderitem of the minimum value
-    QDomNode lowernode = rnode.namedItem("lowestsymbol");
-    QDomNode lsymbolnode = lowernode.namedItem("symbol");
-    if( ! lsymbolnode.isNull() )
-    {
-	QgsSymbol* lsy = new QgsSymbol(mVectorType);
-	lsy->readXML ( lsymbolnode );
-	this->setMinimumSymbol(lsy);
-    }
-    QDomNode uppernode = rnode.namedItem("highestsymbol");
-    QDomNode usymbolnode = uppernode.namedItem("symbol");
-    if( ! usymbolnode.isNull() )
-    {
-	QgsSymbol* usy = new QgsSymbol(mVectorType);
-	usy->readXML ( usymbolnode );
-	this->setMaximumSymbol(usy);
-    }
-    vl.setRenderer(this);
-}
-
-std::list<int> QgsContinuousColorRenderer::classificationAttributes() const
-{
-    std::list<int> list;
-    list.push_back(mClassificationField);
-    return list;
-}
-
-QString QgsContinuousColorRenderer::name() const
-{
-    return "Continuous Color";
-}
-
-bool QgsContinuousColorRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
-{
-    bool returnval=true;
-#ifndef WIN32
-    QDomElement continuoussymbol=document.createElement("continuoussymbol");
-    layer_node.appendChild(continuoussymbol);
-    QDomElement classificationfield=document.createElement("classificationfield");
-    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
-    classificationfield.appendChild(classificationfieldtxt);
-    continuoussymbol.appendChild(classificationfield);
-    
-    //polygon outlines
-    QDomElement drawPolygonOutlines = document.createElement("polygonoutline");
-    int drawPolyInt = mDrawPolygonOutline ? 1 : 0;
-    QDomText drawPolygonText = document.createTextNode(QString::number(drawPolyInt));
-    drawPolygonOutlines.appendChild(drawPolygonText);
-    continuoussymbol.appendChild(drawPolygonOutlines);
-    
-    QDomElement lowestsymbol=document.createElement("lowestsymbol");
-    continuoussymbol.appendChild(lowestsymbol);
-    if(mMinimumSymbol)
-    {
-	mMinimumSymbol->writeXML(lowestsymbol,document);
-    }
-    QDomElement highestsymbol=document.createElement("highestsymbol");
-    continuoussymbol.appendChild(highestsymbol);
-    if(mMaximumSymbol)
-    {
-	mMaximumSymbol->writeXML(highestsymbol,document);
-    }
-#endif
-    return returnval;
-}
-
-const std::list<QgsSymbol*> QgsContinuousColorRenderer::symbols() const
-{
-    std::list<QgsSymbol*> list;
-    list.push_back(mMinimumSymbol);
-    list.push_back(mMaximumSymbol);
-    return list;
-}
-
-QgsRenderer* QgsContinuousColorRenderer::clone() const
-{
-    QgsContinuousColorRenderer* r = new QgsContinuousColorRenderer(*this);
-    return r;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscontinuouscolorrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,109 +0,0 @@
-/***************************************************************************
-                         qgscontinuouscolorrenderer.h  -  description
-                             -------------------
-    begin                : Nov 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscontinuouscolorrenderer.h 5823 2006-09-13 04:46:36Z g_j_m $ */
-#ifndef QGSCONTINUOUSCOLORRENDERER_H
-#define QGSCONTINUOUSCOLORRENDERER_H
-
-#include "qgsrenderer.h"
-#include "qgsmaptopixel.h"
-#include "qgspoint.h"
-#include "qgsfeature.h"
-
-class QgsSymbol;
-class QPainter;
-class QPixmap;
-
-/**Renderer class which interpolates rgb values linear between the minimum and maximum value of the classification field*/
-class QgsContinuousColorRenderer: public QgsRenderer
-{
- public:
-    QgsContinuousColorRenderer(QGis::VectorType type);
-    QgsContinuousColorRenderer(const QgsContinuousColorRenderer& other);
-    QgsContinuousColorRenderer& operator=(const QgsContinuousColorRenderer& other);
-    virtual ~QgsContinuousColorRenderer();
-    /**Renders the feature using the minimum and maximum value of the classification field*/
-    void renderFeature(QPainter* p, QgsFeature* f, QPixmap* pic, double* scalefactor, bool selected,  double widthScale = 1.);
-    /**Returns the number of the classification field*/
-    int classificationField() const;
-    /**Sets the id of the classification field*/
-    void setClassificationField(int id);
-    /**Sets the symbol for the minimum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
-    void setMinimumSymbol(QgsSymbol* sy);
-    /**Sets the symbol for the maximum value. The symbol has to be created using the new operator and is automatically deleted when inserting a new symbol or when the instance is destroyed*/
-    void setMaximumSymbol(QgsSymbol* sy);
-    /** Sets whether to draw the polygon outline*/
-    void setDrawPolygonOutline(bool draw) { mDrawPolygonOutline = draw;}
-    /**Returns the symbol for the minimum value*/
-    const QgsSymbol* minimumSymbol() const;
-    /**Returns the symbol for the maximum value*/
-    const QgsSymbol* maximumSymbol() const;
-    /** whether to draw a polygon outline*/
-    bool drawPolygonOutline() const { return mDrawPolygonOutline; }
-    /**Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-     @param vl the vector layer which will be associated with the renderer*/
-    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
-    /**Writes the contents of the renderer to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
-    /** Returns true*/
-    bool needsAttributes() const;
-    /**Returns a list with the index of the classification attribute*/
-    std::list<int> classificationAttributes() const;
-    /**Returns the renderers name*/
-    QString name() const;
-    /**Return symbology items*/
-    const std::list<QgsSymbol*> symbols() const;
-    QgsRenderer* clone() const;
- protected:
-    /**Number of the classification field (it must be a numerical field)*/
-    int mClassificationField;
-    /**Item for the minimum value*/
-    QgsSymbol* mMinimumSymbol;
-    /**Item for the maximum value*/
-    QgsSymbol* mMaximumSymbol;
-    /** Whether to draw the polygon outline or not */
-    bool mDrawPolygonOutline;
-};
-
-inline int QgsContinuousColorRenderer::classificationField() const
-{
-    return mClassificationField;
-}
-
-inline void QgsContinuousColorRenderer::setClassificationField(int id)
-{
-    mClassificationField=id;
-}
-
-inline const QgsSymbol* QgsContinuousColorRenderer::minimumSymbol() const
-{
-    return mMinimumSymbol;
-}
-
-inline const QgsSymbol* QgsContinuousColorRenderer::maximumSymbol() const
-{
-    return mMaximumSymbol;
-}
-
-inline bool QgsContinuousColorRenderer::needsAttributes() const
-{
-  return true;
-}
-
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,558 +0,0 @@
-/***************************************************************************
-               QgsCoordinateTransform.cpp  - Coordinate Transforms
-                             -------------------
-    begin                : Dec 2004
-    copyright            : (C) 2004 Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscoordinatetransform.cpp 6363 2007-01-01 13:47:57Z homann $ */
-#include <cassert>
-#include "qgscoordinatetransform.h"
-#include "qgslogger.h"
-
-//qt includes
-#include <QDomNode>
-#include <QDomElement>
-#include <QTextOStream>
-#include <QApplication>
-
-QgsCoordinateTransform::QgsCoordinateTransform( ) : QObject(), mSourceSRS(), mDestSRS()
-
-{
-    setFinder();
-}
-
-QgsCoordinateTransform::QgsCoordinateTransform(const QgsSpatialRefSys& source, 
-                                               const QgsSpatialRefSys& dest)
-{
-    setFinder();
-  mSourceSRS = source;
-  mDestSRS = dest;
-  initialise();
-}
-
-
-QgsCoordinateTransform::QgsCoordinateTransform( QString theSourceSRS, QString theDestSRS ) : QObject()
-
-{
-    setFinder();
-  mSourceSRS.createFromWkt(theSourceSRS);
-  mDestSRS.createFromWkt(theDestSRS);
-  // initialize the coordinate system data structures
-  //XXX Who spells initialize initialise?
-  //XXX A: Its the queen's english....
-  //XXX  : Long live the queen! Lets get on with the initialisation...
-  initialise();
-}
-
-QgsCoordinateTransform::QgsCoordinateTransform(long theSourceSrid,
-    QString theDestWKT,
-    QgsSpatialRefSys::SRS_TYPE theSourceSRSType): QObject()
-{
-    setFinder();
-
-  mSourceSRS.createFromId(theSourceSrid, theSourceSRSType);
-  mDestSRS.createFromWkt(theDestWKT);
-  // initialize the coordinate system data structures
-  //XXX Who spells initialize initialise?
-  //XXX A: Its the queen's english....
-  //XXX  : Long live the queen! Lets get on with the initialisation...
-  initialise();
-}
-
-QgsCoordinateTransform::~QgsCoordinateTransform()
-{
-  // free the proj objects
-  if (mSourceProjection!=0) 
-  {
-    pj_free(mSourceProjection);
-  }
-  if (mDestinationProjection!=0)
-  {
-    pj_free(mDestinationProjection);
-  }
-}
-
-void QgsCoordinateTransform::setSourceSRS(const QgsSpatialRefSys& theSRS)
-{
-  mSourceSRS = theSRS;
-  initialise();
-}
-void QgsCoordinateTransform::setDestSRS(const QgsSpatialRefSys& theSRS)
-{
-  QgsDebugMsg("QgsCoordinateTransform::setDestSRS called");
-  mDestSRS = theSRS;
-  initialise();
-}
-
-
-void QgsCoordinateTransform::setDestSRSID (long theSRSID)
-{
-  //!todo Add some logic here to determine if the srsid is a system or user one
-  QgsDebugMsg("QgsCoordinateTransform::setDestSRSID slot called");
-  mDestSRS.createFromSrsId(theSRSID);
-  initialise();
-}
-
-// XXX This whole function is full of multiple return statements!!!
-// And probably shouldn't be a void
-void QgsCoordinateTransform::initialise()
-{
-
-  mInitialisedFlag=false; //guilty until proven innocent...
-  mSourceProjection = NULL;
-  mDestinationProjection = NULL;
-
-  // XXX Warning - multiple return paths in this block!!
-  if (!mSourceSRS.isValid())
-  {
-    //mSourceSRS = defaultWkt;
-    // Pass through with no projection since we have no idea what the layer
-    // coordinates are and projecting them may not be appropriate
-    mShortCircuit = true;
-    QgsDebugMsg("SourceSRS deemed invalid!");
-    return;
-  }
-
-  if (!mDestSRS.isValid())
-  {
-    //No destination projection is set so we set the default output projection to
-    //be the same as input proj. This only happens on the first layer loaded
-    //whatever that may be...
-    mDestSRS.createFromProj4(mSourceSRS.proj4String());
-  }
-
-  // init the projections (destination and source)
-  mDestinationProjection = pj_init_plus(mDestSRS.proj4String());
-  mSourceProjection = pj_init_plus(mSourceSRS.proj4String());
-
-  mInitialisedFlag = true;
-  if ( mDestinationProjection == NULL )
-  {
-    mInitialisedFlag = false;
-  }
-  if ( mSourceProjection == NULL )
-  {
-    mInitialisedFlag = false;
-  }
-#ifdef QGISDEBUG
-  if (mInitialisedFlag)
-  {
-    QgsDebugMsg("------------------------------------------------------------");
-    QgsDebugMsg("QgsCoordinateTransform::initialise()");
-    QgsDebugMsg("The OGR Coordinate transformation for this layer was set to");
-    QgsLogger::debug<QgsSpatialRefSys>("Input", mSourceSRS, __FILE__, __FUNCTION__, __LINE__);
-    QgsLogger::debug<QgsSpatialRefSys>("Output", mDestSRS, __FILE__, __FUNCTION__, __LINE__);
-    QgsDebugMsg("------------------------------------------------------------");
-  }
-  else
-  {
-    QgsDebugMsg("------------------------------------------------------------");
-    QgsDebugMsg("The OGR Coordinate transformation FAILED TO INITIALISE!");
-    QgsDebugMsg("------------------------------------------------------------");
-  }
-#endif
-
-  //XXX todo overload == operator for QgsSpatialRefSys
-  //at the moment srs.parameters contains the whole proj def...soon it wont...
-  //if (mSourceSRS->proj4String() == mDestSRS->proj4String())
-  if (mSourceSRS == mDestSRS)
-  {
-    // If the source and destination projection are the same, set the short
-    // circuit flag (no transform takes place)
-    mShortCircuit=true;
-    QgsDebugMsg("Source/Dest SRS equal, shortcircuit is set.");
-  }
-  else
-  {
-    // Transform must take place
-    mShortCircuit=false;
-  }
-
-}
-
-//
-//
-// TRANSFORMERS BELOW THIS POINT .........
-//
-//
-//
-
-
-QgsPoint QgsCoordinateTransform::transform(const QgsPoint thePoint,TransformDirection direction)
-{
-  if (mShortCircuit || !mInitialisedFlag) return thePoint;
-  // transform x
-  double x = thePoint.x();
-  double y = thePoint.y();
-  double z = 0.0;
-  try
-  { 
-    transformCoords(1, &x, &y, &z, direction );
-  }
-  catch(QgsCsException &cse)
-  {
-    // rethrow the exception
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-
-#ifdef QGISDEBUG
-  //std::cout << "Point projection...X : " << thePoint.x() << "-->" << x << ", Y: " << thePoint.y() << " -->" << y << std::endl;
-#endif
-  return QgsPoint(x, y);
-}
-
-
-QgsPoint QgsCoordinateTransform::transform(const double theX, const double theY=0,TransformDirection direction)
-{
-  try
-  {
-    return transform(QgsPoint(theX, theY), direction);
-  }
-  catch(QgsCsException &cse)
-  {
-    // rethrow the exception
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-}
-
-QgsRect QgsCoordinateTransform::transform(const QgsRect theRect,TransformDirection direction)
-{
-  if (mShortCircuit || !mInitialisedFlag) return theRect;
-  // transform x
-  double x1 = theRect.xMin();
-  double y1 = theRect.yMin();
-  double x2 = theRect.xMax();
-  double y2 = theRect.yMax();
-
-  // Number of points to reproject------+
-  //                                    |
-  //                                    V
-  try
-  {
-    double z = 0.0;
-    transformCoords(1, &x1, &y1, &z, direction);
-    transformCoords(1, &x2, &y2, &z, direction);
-  }
-  catch(QgsCsException &cse)
-  {
-    // rethrow the exception
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-
-#ifdef QGISDEBUG
-  QgsDebugMsg("Rect projection...");
-  QgsLogger::debug("Xmin : ", theRect.xMin(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("-->", x1, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Ymin : ", theRect.yMin(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("-->", y1, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Xmax : ", theRect.xMax(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("-->", x2, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Ymax : ", theRect.yMax(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("-->", y2, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-  return QgsRect(x1, y1, x2 , y2);
-}
-
-void QgsCoordinateTransform::transformInPlace(double& x, double& y, double& z,
-    TransformDirection direction)
-{
-  if (mShortCircuit || !mInitialisedFlag)
-    return;
-#ifdef QGISDEBUG
-  //std::cout << "Using transform in place " << __FILE__ << " " << __LINE__ << std::endl;
-#endif
-  // transform x
-  try
-  {
-    transformCoords(1, &x, &y, &z, direction );
-  }
-  catch(QgsCsException &cse)
-  {
-    // rethrow the exception 
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-}
-
-void QgsCoordinateTransform::transformInPlace(std::vector<double>& x,
-    std::vector<double>& y, std::vector<double>& z,
-    TransformDirection direction)
-{
-  if (mShortCircuit || !mInitialisedFlag)
-    return;
-
-  assert(x.size() == y.size());
-
-  // Apparently, if one has a std::vector, it is valid to use the
-  // address of the first element in the vector as a pointer to an
-  // array of the vectors data, and hence easily interface with code
-  // that wants C-style arrays.
-
-  try
-  {
-    transformCoords(x.size(), &x[0], &y[0], &z[0], direction);
-  }
-  catch(QgsCsException &cse)
-  {
-    // rethrow the exception
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-}
-
-
-QgsRect QgsCoordinateTransform::transformBoundingBox(const QgsRect rect, TransformDirection direction)
-{
-  // Calculate the bounding box of a QgsRect in the source SRS
-  // when projected to the destination SRS (or the inverse).
-  // This is done by looking at a number of points spread evenly
-  // across the rectangle
-
-  if (mShortCircuit || !mInitialisedFlag)
-    return rect;
-
-  static const int numP = 8;
-
-  QgsRect bb_rect;
-  bb_rect.setMinimal();
-
-  // We're interfacing with C-style vectors in the
-  // end, so let's do C-style vectors here too.
-  
-  double x[numP * numP];
-  double y[numP * numP];
-  double z[numP * numP];
-  QgsDebugMsg("Entering transformBoundingBox...");
-  // Populate the vectors
-
-  double dx = rect.width()  / (double)(numP - 1);
-  double dy = rect.height() / (double)(numP - 1);
-
-  double pointY = rect.yMin();
-
-  for (int i = 0; i < numP ; i++)
-  {
-
-    // Start at right edge
-    double pointX = rect.xMin();
-
-    for (int j = 0; j < numP; j++)
-    {
-      x[(i*numP) + j] = pointX;
-      y[(i*numP) + j] = pointY;
-      // and the height...
-      z[(i*numP) + j] = 0.0;
-//      std::cout << "BBox coord: (" << x[(i*numP) + j] << ", " << y[(i*numP) + j]
-//                << ")" << std::endl;
-      pointX += dx; 
-    }
-    pointY += dy;
-  }
-
-  // Do transformation. Any exception generated must
-  // be handled in above layers.
-  try
-  {
-    transformCoords(numP * numP, x, y, z, direction);
-  }
-  catch(QgsCsException &cse)
-  {
-  // rethrow the exception
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw cse;
-  }
-
-  // Calculate the bounding box and use that for the extent
-        
-  for (int i = 0; i < numP * numP; i++)
-  {
-    bb_rect.combineExtentWith(x[i], y[i]);
-  }
-#ifdef QGISDEBUG 
-  QgsDebugMsg("Projected extent: " + QString((bb_rect.stringRep()).toLocal8Bit().data()));
-#endif 
-  
-  return bb_rect;
-}
-
-void QgsCoordinateTransform::transformCoords( const int& numPoints, double *x, double *y, double *z,TransformDirection direction)
-{
-  // Refuse to transform the points if the srs's are invalid
-  if (!mSourceSRS.isValid())
-  {
-    QgsLogger::critical( tr("The source spatial reference system (SRS) is not valid. ") +
-			 tr("The coordinates can not be reprojected. The SRS is: ") +
-			    mSourceSRS.proj4String() );
-    return;
-  }
-  if (!mDestSRS.isValid())
-  {
-    QgsLogger::critical( tr("The destination spatial reference system (SRS) is not valid. ") +
-			 tr("The coordinates can not be reprojected. The SRS is: ") +
-			    mDestSRS.proj4String() );
-    return;
-  }
-
-#ifdef QGISDEBUG
-  //double xorg = x;
-  //double yorg = y;
-  //std::cout << "[[[[[[Number of points to transform: " << numPoints << "]]]]]]" << std::endl;
-#endif
-  // use proj4 to do the transform
-  QString dir;
-  // if the source/destination projection is lat/long, convert the points to radians
-  // prior to transforming
-  if((pj_is_latlong(mDestinationProjection) && (direction == INVERSE))
-      || (pj_is_latlong(mSourceProjection) && (direction == FORWARD)))
-  {
-    for (int i = 0; i < numPoints; ++i)
-    {
-      x[i] *= DEG_TO_RAD;
-      y[i] *= DEG_TO_RAD;
-      z[i] *= DEG_TO_RAD;
-    }
-
-  }
-  int projResult;
-  if(direction == INVERSE)
-  {
-    /*
-    std::cout << "!!!! INVERSE PROJ4 TRANSFORM !!!!" << std::endl; 
-    std::cout << "     numPoint: " << numPoints << std::endl; 
-    std::cout << "     x       : " << x << std::endl; 
-    std::cout << "     y       : " << y << std::endl; 
-    */
-    projResult = pj_transform(mDestinationProjection, mSourceProjection , numPoints, 0, x, y, z);
-    dir = "inverse";
-  }
-  else
-  {
-    /*
-    std::cout << "!!!! FORWARD PROJ4 TRANSFORM !!!!" << std::endl; 
-    std::cout << "     numPoint: " << numPoints << std::endl; 
-    std::cout << "     x       : " << x << std::endl; 
-    std::cout << "     y       : " << y << std::endl; 
-    std::cout << "     z       : " << z << std::endl; 
-    */
-    assert(mSourceProjection != 0);
-    assert(mDestinationProjection !=0);
-    projResult = pj_transform(mSourceProjection, mDestinationProjection, numPoints, 0, x, y, z);
-    dir = "forward";
-  }
-
-  if (projResult != 0)
-  {
-    //something bad happened....
-    QString msg;
-    QTextOStream pjErr(&msg);
-
-    pjErr << tr("Failed") << " " << dir << " " << tr("transform of") << '\n';
-    for (int i = 0; i < numPoints; ++i)
-    {
-      if(direction == FORWARD)
-      {
-        pjErr << "(" << x[i] << ", " << y[i] << ")\n";
-      }
-      else
-      {
-        pjErr << "(" << x[i] * RAD_TO_DEG << ", " << y[i] * RAD_TO_DEG << ")\n";
-      }
-    }
-
-    pjErr << tr("with error: ") << pj_strerrno(projResult) << '\n';
-#ifdef QGISDEBUG
-  QgsDebugMsg("Projection failed emitting invalid transform signal: " + QString(msg.toLocal8Bit().data()));
-#endif
-  emit invalidTransformInput();
-    QgsLogger::warning("Throwing exception " + QString(__FILE__) + QString::number(__LINE__));
-    throw  QgsCsException(msg);
-  }
-  // if the result is lat/long, convert the results from radians back
-  // to degrees
-  if((pj_is_latlong(mDestinationProjection) && (direction == FORWARD))
-      || (pj_is_latlong(mSourceProjection) && (direction == INVERSE)))
-  {
-    for (int i = 0; i < numPoints; ++i)
-    {
-      x[i] *= RAD_TO_DEG;
-      y[i] *= RAD_TO_DEG;
-      z[i] *= RAD_TO_DEG;
-    }
-  }
-#ifdef QGISDEBUG
-  // std::cout << "[[[[[[ Projected " << xorg << ", " << yorg << " to "  << x << ", " << y << " ]]]]]]"<< std::endl;
-#endif
-}
-
-bool QgsCoordinateTransform::readXML( QDomNode & theNode )
-{
-  QgsDebugMsg("Reading Coordinate Transform from xml ------------------------!");
-  QDomNode mySrcNodeParent = theNode.namedItem("sourcesrs");
-  QDomNode mySrcNode = mySrcNodeParent.namedItem("spatialrefsys");
-  mSourceSRS.readXML(mySrcNode);
-  QDomNode myDestNodeParent = theNode.namedItem("destinationsrs");
-  QDomNode myDestNode = myDestNodeParent.namedItem("spatialrefsys");
-  mDestSRS.readXML(myDestNode);
-  initialise();
-
-  return true;
-}
-
-bool QgsCoordinateTransform::writeXML( QDomNode & theNode, QDomDocument & theDoc )
-{
-  
-  QDomElement myNodeElement = theNode.toElement();
-  QDomElement myTransformElement  = theDoc.createElement( "coordinatetransform" );
-  
-  QDomElement mySourceElement  = theDoc.createElement( "sourcesrs" );
-  mSourceSRS.writeXML(mySourceElement, theDoc);
-  myTransformElement.appendChild(mySourceElement);
-  
-  QDomElement myDestElement  = theDoc.createElement( "destinationsrs" );
-  mDestSRS.writeXML(myDestElement, theDoc);
-  myTransformElement.appendChild(myDestElement);
-  
-  myNodeElement.appendChild(myTransformElement);
-
-  return true;
-}
-
-const char *finder( const char *name )
-{
-    QString proj;
-#ifdef WIN32
-    proj = QApplication::applicationDirPath() 
-           + "/share/proj/" + QString(name);
-#endif
-    return proj.ascii(); 
-}
-
-void QgsCoordinateTransform::setFinder()
-{
-#ifdef WIN32
-    // Attention! It should be possible to set PROJ_LIB
-    // but it can happen that it was previously set by installer
-    // (version 0.7) and the old installation was deleted
-
-    // Another problem: PROJ checks if pj_finder was set before 
-    // PROJ_LIB enviroment variable. pj_finder is probably set in 
-    // GRASS gproj library when plugin is loaded, consequently 
-    // PROJ_LIB is ignored 
-
-    pj_set_finder( finder );
-#endif
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscoordinatetransform.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,309 +0,0 @@
-/***************************************************************************
-               QgsCoordinateTransform.h  - Coordinate Transforms
-                             -------------------
-    begin                : Dec 2004
-    copyright            : (C) 2004 Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgscoordinatetransform.h 5429 2006-05-08 15:55:34Z rblazek $ */
-#ifndef QGSCOORDINATETRANSFORM_H
-#define QGSCOORDINATETRANSFORM_H
-
-//qt includes
-#include <QObject>
-
-//qgis includes
-#include "qgspoint.h"
-#include "qgsrect.h"
-#include "qgscsexception.h"
-#include "qgsspatialrefsys.h"
-class QDomNode;
-class QDomDocument;
-
-//non qt includes
-#include <iostream>
-#include <vector>
-
-extern "C"{
-#include <proj_api.h>
-}
-class QString;
-
-/*! \class QgsCoordinateTransform
-* \brief Class for doing transforms between two map coordinate systems.
-*
-* This class can convert map coordinates to a different spatial reference system.
-* It is normally associated with a map layer and is used to transform between the
-* layer's coordinate system and the coordinate system of the map canvas, although
-* it can be used in a more general sense to transform coordinates.
-*
-* All references to source and destination coordinate systems refer to 
-* layer and map canvas respectively. All operations are from the perspective 
-* of the layer. For example, a forward transformation transforms coordinates from the
-* layers coordinate system to the map canvas.
-*/
-class QgsCoordinateTransform: public QObject
-{
-  Q_OBJECT
- public:
-    /*! Default constructor. Make sure you use initialised() manually if you use this one! */
-    QgsCoordinateTransform() ;
-
-  /** Constructs a QgsCoordinateTransform using QgsSpatialRefSys objects.
-   * @param theSource SRS, typically of the layer's coordinate system
-   * @param theDest SRS, typically of the map canvas coordinate system
-   */
-  QgsCoordinateTransform(const QgsSpatialRefSys& theSource, 
-                         const QgsSpatialRefSys& theDest);
-
-    /*!
-     * Constructs a QgsCoordinateTransform using the Well Known Text representation
-     * of the layer and map canvas coordinate systems
-     * @param theSourceWKT WKT, typically of the layer's coordinate system
-     * @param theDestWKT WKT, typically of the map canvas coordinate system
-     */
-    QgsCoordinateTransform(QString theSourceWKT, QString theDestWKT  );
-
-    /*!
-     * Constructs a QgsCoordinateTransform using a Spatial Reference Id
-     * of the layer and map canvas coordinate system as Wkt
-     * @param theSourceSrid Spatial Ref Id of the layer's coordinate system
-     * @param theSourceWKT WKT of the map canvas coordinate system
-     * @param theSourceSRSType On of the enum members defined in QgsSpatialRefSys::SRS_TYPE
-     */
-    QgsCoordinateTransform(long theSourceSrid,  
-                           QString theDestWKT,
-                           QgsSpatialRefSys::SRS_TYPE theSourceSRSType = QgsSpatialRefSys::POSTGIS_SRID  );
-
-     //! destructor
-    ~QgsCoordinateTransform();
-
-    //! Enum used to indicate the direction (forward or inverse) of the transform
-    enum TransformDirection{
-      FORWARD,     /*!< Transform from source to destination SRS. */
-      INVERSE      /*!< Transform from destination to source SRS. */
-    };
-    
-    /*! 
-     * Set the source (layer) QgsSpatialRefSys
-     * @param theSRS QgsSpatialRefSys representation of the layer's coordinate system
-     */
-    void setSourceSRS(const QgsSpatialRefSys& theSRS);
-
-    /*! 
-     * Mutator for dest QgsSpatialRefSys 
-     * @param theSRS of the destination coordinate system
-     */
-    void setDestSRS(const QgsSpatialRefSys& theSRS);
-
-    /*!
-     * Get the QgsSpatialRefSys representation of the layer's coordinate system
-     * @return QgsSpatialRefSys of the layer's coordinate system
-     */
-    QgsSpatialRefSys& sourceSRS() { return mSourceSRS; }
-
-    /*! 
-     * Get the QgsSpatialRefSys representation of the map canvas coordinate system
-     * @return QgsSpatialRefSys of the map canvas coordinate system
-     */
-    QgsSpatialRefSys& destSRS() { return mDestSRS; }
-
-    /*! Transform the point from Source Coordinate System to Destination Coordinate System
-    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
-    * otherwise points are transformed from map canvas CS to layerCS.
-    * @param p Point to transform
-    * @param direction TransformDirection (defaults to FORWARD)
-    * @return QgsPoint in Destination Coordinate System
-     */    
-   QgsPoint transform(const QgsPoint p,TransformDirection direction=FORWARD);
-
-    /*! Transform the point specified by x,y from Source Coordinate System to Destination Coordinate System
-    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
-    * otherwise points are transformed from map canvas CS to layerCS.
-    * @param x x cordinate of point to transform
-    * @param y y coordinate of point to transform
-    * @param direction TransformDirection (defaults to FORWARD)
-    * @return QgsPoint in Destination Coordinate System
-     */
-   QgsPoint transform(const double x, const double y,TransformDirection direction=FORWARD);
-
-    /*! Transform a QgsRect to the dest Coordinate system 
-    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
-    * otherwise points are transformed from map canvas CS to layerCS.
-    * It assumes that rect is a bounding box, and creates a bounding box
-    * in the proejcted CS, so that all points in source rectangle is within
-    * returned rectangle.
-    * @param QgsRect rect to transform
-    * @param direction TransformDirection (defaults to FORWARD)
-    * @return QgsRect in Destination Coordinate System
-     */        
-   QgsRect transformBoundingBox(const QgsRect theRect,TransformDirection direction=FORWARD);
-
-   // Same as for the other transform() functions, but alters the x
-   // and y variables in place. The second one works with good old-fashioned
-   // C style arrays.
-   void transformInPlace(double& x, double& y, double &z, TransformDirection direction = FORWARD);
-
-   void transformInPlace(std::vector<double>& x, std::vector<double>& y, std::vector<double>& z, 
-       TransformDirection direction = FORWARD);
-
-    /*! Transform a QgsRect to the dest Coordinate system 
-    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
-    * otherwise points are transformed from map canvas CS to layerCS.
-    * @param QgsRect rect to transform
-    * @param direction TransformDirection (defaults to FORWARD)
-    * @return QgsRect in Destination Coordinate System
-     */        
-   QgsRect transform(const QgsRect theRect,TransformDirection direction=FORWARD);
-    
-    /*! Transform an array of coordinates to a different Coordinate System
-    * If the direction is FORWARD then coordinates are transformed from layer CS --> map canvas CS,
-    * otherwise points are transformed from map canvas CS to layerCS.
-    * @param x x cordinate of point to transform
-    * @param y y coordinate of point to transform     
-    * @param direction TransformDirection (defaults to FORWARD)
-    * @return QgsRect in Destination Coordinate System
-     */        
-   void transformCoords( const int &numPoint, double *x, double *y, double *z,TransformDirection direction=FORWARD);
-
-  /*! 
-   * Flag to indicate whether the coordinate systems have been initialised
-   * @return true if initialised, otherwise false
-   */
-   bool isInitialised() {return mInitialisedFlag;};
-
-   /*! See if the transform short circuits because src and dest are equivalent
-    * @return bool True if it short circuits
-    */
-    bool isShortCircuited() {return mShortCircuit;};
-
- public slots:
-    /*! Change the destination coordinate system by passing it a qgis srsid
-    * A QGIS srsid is a unique key value to an entry on the tbl_srs in the
-    * srs.db sqlite database.
-    * @note This slot will usually be called if the
-    * project properties change and a different coordinate system is 
-    * selected. 
-    * @note This coord transform will be reinitialised when this slot is called
-    * to check if short circuiting is needed or not etc.
-    * @param theSRSID -  A long representing the srsid of the srs to be used */
-    void setDestSRSID (long theSRSID);
-
-    //!initialise is used to actually create the Transformer instance
-    void initialise();
-
-    /*! Restores state from the given DOM node.
-    * @param theNode The node from which state will be restored
-    * @return bool True on success, False on failure
-    */
-    bool readXML( QDomNode & theNode );
-
-    /*! Stores state to the given DOM node in the given document
-    * @param theNode The node in which state will be restored
-    * @param theDom The document in which state will be stored
-    * @return bool True on success, False on failure
-    */
-    bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
-
- signals:
-    /** Signal when an invalid pj_transform() has occured */
-    void  invalidTransformInput();
-
- private:
-
-    /*! 
-     * Flag to indicate that the source and destination coordinate systems are
-     * equal and not transformation needs to be done
-     */
-    bool mShortCircuit;
-
-    /*!
-     * flag to show whether the transform is properly initialised or not
-     */
-    bool mInitialisedFlag;
-
-    /*! 
-     * QgsSpatialRefSys of the source (layer) coordinate system 
-     */
-    QgsSpatialRefSys mSourceSRS;
-
-    /*! 
-     * QgsSpatialRefSys of the destination (map canvas) coordinate system 
-     */
-    QgsSpatialRefSys mDestSRS;
-
-    /*!
-     * Proj4 data structure of the source projection (layer coordinate system)
-     */
-    projPJ mSourceProjection;
-
-    /*!
-     * Proj4 data structure of the destination projection (map canvas coordinate system)
-     */
-    projPJ mDestinationProjection;
-
-    /*!
-     * Finder for PROJ grid files.
-     */
-    void setFinder();
-};
-
-//! Output stream operator
-inline std::ostream& operator << (std::ostream& os, const QgsCoordinateTransform &r)
-{
-  QString mySummary ("\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:");
-  mySummary += "\n\tInitialised? : ";
-/*
-  if (r.isInitialised()) 
-  {
-    mySummary += "Yes";
-  }
-  else
-  {
-    mySummary += "No" ;
-  }
-  mySummary += "\n\tShort Circuit?  : " ;
-  if (r.isShortCircuited()) 
-  {
-    mySummary += "Yes";
-  }
-  else
-  {
-    mySummary += "No" ;
-  }
-
-  mySummary += "\n\tSource Spatial Ref Sys  : "; 
-  if (r.sourceSRS()) 
-  {
-    mySummary << r.sourceSRS();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-
-  mySummary += "\n\tDest Spatial Ref Sys  : " ;
-  if (r.destSRS()) 
-  {
-    mySummary << r.destSRS();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-*/
-  mySummary+=("\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n");
-  return os << mySummary.toLocal8Bit().data() << std::endl;
-}
-
-
-#endif // QGSCOORDINATETRANSFORM_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscsexception.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscsexception.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscsexception.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,29 +0,0 @@
-/***************************************************************************
-                qgscsexception.h - Coordinate System Exception
-                             -------------------
-  begin                : 2004-12-29
-  copyright            : (C) 2004 by Gary Sherman
-  email                : sherman at mrcc dot com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgscsexception.h 4619 2006-01-08 23:18:32Z timlinux $ */
-#ifndef QGSCSEXCEPTION_H
-#define QGSCSEXCEPTION_H
-
-#include "qgsexception.h"
-class QgsCsException : public QgsException
-{
-  public:
-    QgsCsException(std::string const &what) : QgsException(what){};
-    QgsCsException(QString const &what) : QgsException(what){};
-    
-};
-#endif //QGCSEXCEPTION_H

Modified: packages/qgis/branches/upstream/current/src/gui/qgscursors.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscursors.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscursors.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,20 @@
+/***************************************************************************
+                             qgscursors.cpp 
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
 
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include "qgscursors.h"
 
 // cursors

Modified: packages/qgis/branches/upstream/current/src/gui/qgscursors.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscursors.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscursors.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,16 +1,32 @@
+/***************************************************************************
+                             qgscursors.h 
+                       
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
 
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef QGSCURSORS_H
 #define QGSCURSORS_H
 
-extern const char *zoom_in[];
-extern const char *zoom_out[];
+extern GUI_EXPORT const char *zoom_in[];
+extern GUI_EXPORT const char *zoom_out[];
 
-extern const unsigned char pan_bits[];
-extern const unsigned char pan_mask_bits[];
+extern GUI_EXPORT const unsigned char pan_bits[];
+extern GUI_EXPORT const unsigned char pan_mask_bits[];
 
-extern const char *capture_point_cursor[];
-extern const char *select_cursor[];
-extern const char *identify_cursor[];
+extern GUI_EXPORT const char *capture_point_cursor[];
+extern GUI_EXPORT const char *select_cursor[];
+extern GUI_EXPORT const char *identify_cursor[];
 
 #endif
 

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1066 +0,0 @@
-//
-// C++ Implementation: qgscustomprojectiondialog
-//
-// Description: 
-//
-//
-// Author: Tim Sutton tim at linfiniti.com, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#include "qgscustomprojectiondialog.h"
-
-//qgis includes
-#include "qgis.h" //<--magick numbers
-#include "qgsapplication.h"
-#include "qgslogger.h"
-
-//qt includes
-#include <QFileInfo>
-#include <QMessageBox>
-
-//stdc++ includes
-#include <cassert>
-#include <fstream>
-#include <iostream>
-#include <sqlite3.h>
-
-//proj4 includes
-extern "C"{
-#include <proj_api.h>
-}
-
-
-QgsCustomProjectionDialog::QgsCustomProjectionDialog(QWidget *parent, Qt::WFlags fl)
-  : QDialog(parent, fl)
-{
-  setupUi(this);
-
-  // user database is created at QGIS startup in QgisApp::createDB
-  // we just check whether there is our database [MD]
-  QFileInfo myFileInfo;
-  myFileInfo.setFile(QgsApplication::qgisSettingsDirPath());
-  if ( !myFileInfo.exists( ) )
-  {
-#ifdef QGISDEBUG 
-    std::cout << "The qgis.db does not exist" << std::endl; 
-#endif 
-  }
-
-  //
-  // Setup member vars
-  //
-  mCurrentRecordId="";
-
-  //
-  // Set up databound controls
-  //
-
-  // deprecated methods
-  //getProjList();
-  //getEllipsoidList();
-  mRecordCountLong=getRecordCount();
-  if (mRecordCountLong > 0)
-    on_pbnFirst_clicked();
-  else
-    on_pbnNew_clicked();
-  //automatically go to insert mode if there are not recs yet
-  if (mRecordCountLong<1)
-  {
-    on_pbnNew_clicked();
-  }
-}
-
-QgsCustomProjectionDialog::~QgsCustomProjectionDialog()
-{
-  
-}
-/*
- * These two methods will be deprecated
- * 
-void QgsCustomProjectionDialog::getProjList ()
-{
-  // 
-  // Populate the projection combo
-  // 
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  // Set up the query to retreive the projection information needed to populate the PROJECTION list
-  QString mySql = "select * from tbl_projection order by name";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      cboProjectionFamily->insertItem(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-    }
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-}
-
-void QgsCustomProjectionDialog::getEllipsoidList()
-{
-
-  // 
-  // Populate the ellipsoid combo
-  // 
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select * from tbl_ellipsoid order by name";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      cboEllipsoid->insertItem(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-    }
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-}
-*/
-
-void QgsCustomProjectionDialog::on_pbnDelete_clicked()
-{
-
-  if (QMessageBox::Yes!=QMessageBox::warning(
-        this,
-        tr("Delete Projection Definition?"),
-        tr("Deleting a projection definition is not reversable. Do you want to delete it?") ,
-        QMessageBox::Yes, QMessageBox::No, Qt::NoButton ) )
-  {
-    return ;
-  }
-
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "delete from tbl_srs where srs_id='" + mCurrentRecordId + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-#ifdef QGISDEBUG
-    std::cout << "Query to delete current:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  if(myResult == SQLITE_OK)
-  {
-    sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  //move to an appropriate rec now this one is gone
-  --mRecordCountLong;
-  if (mRecordCountLong < 1)
-  {
-    on_pbnNew_clicked();
-  }
-  else if (mCurrentRecordLong==1)
-  {
-    on_pbnFirst_clicked();
-  }
-  else if (mCurrentRecordLong>mRecordCountLong)
-  {
-    on_pbnLast_clicked();
-  }
-  else
-  {
-    mCurrentRecordLong=mCurrentRecordLong-2;
-    on_pbnNext_clicked();
-  }
-  return ;
-}
-
-void QgsCustomProjectionDialog::on_pbnClose_clicked()
-{
- close(); 
-}
-
-
-
-
-long QgsCustomProjectionDialog::getRecordCount()
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  long          myRecordCount=0;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select count(*) from tbl_srs";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      QString myRecordCountString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      myRecordCount=myRecordCountString.toLong();
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myRecordCount;
-
-}
-
-QString QgsCustomProjectionDialog::getProjectionFamilyName(QString theProjectionFamilyAcronym)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select name from tbl_projection where acronym='" + theProjectionFamilyAcronym + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}
-QString QgsCustomProjectionDialog::getEllipsoidName(QString theEllipsoidAcronym)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select name from tbl_ellipsoid where acronym='" + theEllipsoidAcronym + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}
-QString QgsCustomProjectionDialog::getProjectionFamilyAcronym(QString theProjectionFamilyName)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select acronym from tbl_projection where name='" + theProjectionFamilyName + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}
-QString QgsCustomProjectionDialog::getEllipsoidAcronym(QString theEllipsoidName)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select acronym from tbl_ellipsoid where name='" + theEllipsoidName + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      myName = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}
-
-void QgsCustomProjectionDialog::on_pbnFirst_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnFirst_clicked()" << std::endl;
-#endif
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  QString mySql = "select * from tbl_srs order by srs_id limit 1";
-#ifdef QGISDEBUG
-    std::cout << "Query to move first:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-      //QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-      //cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
-      //QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-      //cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
-      leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
-      mCurrentRecordLong=1; 
-      lblRecordNo->setText(QString::number(mCurrentRecordLong) + tr(" of ") + QString::number(mRecordCountLong));
-  }
-  else
-  {
-#ifdef QGISDEBUG
-  std::cout << "pbnFirst query failed: " << mySql.toLocal8Bit().data() << std::endl;
-#endif
-    
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  
-  //enable nav buttons as appropriate
-  pbnFirst->setEnabled(false);
-  pbnPrevious->setEnabled(false);
-  //automatically go to insert mode if there are not recs yet
-  if (mRecordCountLong < 1)
-  {
-    on_pbnNew_clicked();
-    pbnDelete->setEnabled(false);
-  }
-  else if (mCurrentRecordLong==mRecordCountLong)
-  {
-    pbnNext->setEnabled(false);
-    pbnLast->setEnabled(false);
-    pbnDelete->setEnabled(false);
-  }
-  else
-  {
-    pbnNext->setEnabled(true);
-    pbnLast->setEnabled(true);
-    pbnDelete->setEnabled(false);
-  }
-}
-
-
-void QgsCustomProjectionDialog::on_pbnPrevious_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnPrevious_clicked()" << std::endl;
-#endif
-  if (mCurrentRecordLong <= 1) 
-  {
-    return;
-  }
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  QString mySql = "select * from tbl_srs where srs_id < " + mCurrentRecordId + " order by srs_id desc limit 1";
-#ifdef QGISDEBUG
-    std::cout << "Query to move previous:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-      //QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-      //cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
-      //QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-      //cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
-      leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4))),
-      --mCurrentRecordLong;
-      lblRecordNo->setText(QString::number(mCurrentRecordLong) + tr(" of ") + QString::number(mRecordCountLong));
-  }
-  else
-  {
-#ifdef QGISDEBUG
-  std::cout << "pbnPrevious query failed: " << mySql.toLocal8Bit().data() << std::endl;
-#endif
-    
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-
-  //enable nav buttons as appropriate
-  if (mCurrentRecordLong<= 1)
-  {
-    pbnFirst->setEnabled(false);
-    pbnPrevious->setEnabled(false);
-  }
-  else
-  {
-    pbnFirst->setEnabled(true);
-    pbnPrevious->setEnabled(true);
-  }
-  if (mCurrentRecordLong==mRecordCountLong)
-  {
-    pbnNext->setEnabled(false);
-    pbnLast->setEnabled(false);
-  }
-  else
-  {
-    pbnNext->setEnabled(true);
-    pbnLast->setEnabled(true);
-  }
-
-}
-
-
-void QgsCustomProjectionDialog::on_pbnNext_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnNext_clicked()" << std::endl;
-#endif
-  if (mCurrentRecordLong >= mRecordCountLong)
-  {
-    return;
-  }
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-
-  QString mySql = "select * from tbl_srs where srs_id > " + mCurrentRecordId + " order by srs_id asc limit 1";
-#ifdef QGISDEBUG
-    std::cout << "Query to move next:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-      //QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-      //cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
-      //QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-      //cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
-      leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
-      ++mCurrentRecordLong;
-      lblRecordNo->setText(QString::number(mCurrentRecordLong) + tr(" of ") + QString::number(mRecordCountLong));
-  }
-  else
-  {
-#ifdef QGISDEBUG
-  std::cout << "pbnNext query failed: " << mySql.toLocal8Bit().data() << std::endl;
-#endif
-    
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-
-  //enable nav buttons as appropriate
-  if (mCurrentRecordLong==mRecordCountLong)
-  {
-    pbnNext->setEnabled(false);
-    pbnLast->setEnabled(false);
-  }
-  else
-  {
-    pbnNext->setEnabled(true);
-    pbnLast->setEnabled(true);
-  }
-  if (mRecordCountLong <= 1)
-  {
-    pbnFirst->setEnabled(false);
-    pbnPrevious->setEnabled(false);
-  }
-  else
-  {
-    pbnFirst->setEnabled(true);
-    pbnPrevious->setEnabled(true);
-  }
-
-}
-
-
-void QgsCustomProjectionDialog::on_pbnLast_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnLast_clicked()" << std::endl;
-#endif
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  QString mySql = "select * from tbl_srs order by srs_id desc limit 1";
-#ifdef QGISDEBUG
-    std::cout << "Query to move last:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-      sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-      mCurrentRecordId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      leName->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1)));
-      //QString myProjectionFamilyId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-      //cboProjectionFamily->setCurrentText(getProjectionFamilyName(myProjectionFamilyId));
-      //QString myEllipsoidId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-      //cboEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
-      leParameters->setText(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4)));
-      mCurrentRecordLong =mRecordCountLong;
-      lblRecordNo->setText(QString::number(mCurrentRecordLong) + tr(" of ") + QString::number(mRecordCountLong));
-  }
-  else
-  {
-#ifdef QGISDEBUG
-  std::cout << "pbnLast query failed: " << mySql.toLocal8Bit().data() << std::endl;
-#endif
-    
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  
-  //enable nav buttons as appropriate
-  pbnNext->setEnabled(false);
-  pbnLast->setEnabled(false);
-  if (mRecordCountLong <= 1)
-  {
-    pbnFirst->setEnabled(false);
-    pbnPrevious->setEnabled(false);
-  }
-  else
-  {
-    pbnFirst->setEnabled(true);
-    pbnPrevious->setEnabled(true);
-  }
-}
-
-
-void QgsCustomProjectionDialog::on_pbnNew_clicked()
-{
-#ifdef QGISDEBUG
-  if (pbnNew->text()==tr("Abort")) 
-  {
-    std::cout << "QgsCustomProjectionDialog::on_pbnNew_clicked() - abort requested" << std::endl;
-  }
-  else
-  {
-   std::cout << "QgsCustomProjectionDialog::on_pbnNew_clicked() - new requested" << std::endl;
-  }
-#endif
-  if (pbnNew->text()==tr("Abort")) 
-  {
-    //if we get here, user has aborted add record
-    pbnNew->setText(tr("New"));
-    //get back to the last used record before insert was pressed
-   if (mCurrentRecordId.isEmpty())
-   {
-      on_pbnFirst_clicked();
-    }
-    else
-    {
-      mCurrentRecordLong=mLastRecordLong;
-      on_pbnNext_clicked();
-    }
-  }
-  else
-  {
-    //if we get here user has elected to add new record
-    pbnFirst->setEnabled(false);
-    pbnPrevious->setEnabled(false);
-    pbnNext->setEnabled(false);
-    pbnLast->setEnabled(false);
-    pbnDelete->setEnabled(false);
-    pbnNew->setText(tr("Abort"));
-    //clear the controls
-    leName->setText("");
-    leParameters->setText("");
-    //cboProjectionFamily->setCurrentItem(0);
-    //cboEllipsoid->setCurrentItem(0);
-    lblRecordNo->setText( tr("* of ") + QString::number(mRecordCountLong));
-    //remember the rec we are on in case the user aborts
-    mLastRecordLong=mCurrentRecordLong;
-    mCurrentRecordId="";
-  }
-
-}
-
-
-void QgsCustomProjectionDialog::on_pbnSave_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnSave_clicked()" << std::endl;
-#endif
- 
-  QString myName = leName->text();
-  QString myParameters = leParameters->text();
-  if (myName.isEmpty())
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 projection definition is not valid. Please give the projection a name before pressing save.") );
-    return;
-  }
-  if (myParameters.isEmpty())
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 projection definition is not valid. Please add the parameters before pressing save.") );
-    return;
-  }
-
-  
-  //
-  // Now make sure parameters have proj and ellipse 
-  //
-  
-  QString myProjectionAcronym  =  getProjFromParameters();
-  QString myEllipsoidAcronym   =  getEllipseFromParameters();
-  
-  if ( myProjectionAcronym.isNull() ) 
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 projection definition is not valid. Please add a proj= clause before pressing save.") );
-    return;
-  }
-  
-  if ( myEllipsoidAcronym.isNull() ) 
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 ellipsoid definition is not valid. Please add a ellips= clause before pressing save.") );
-    return;
-  }
-  
-  
-  //
-  // We must check the prj def is valid!
-  // NOTE :  the test below may be bogus as the processes abpve emsired there
-  // is always at least a projection and ellpsoid - which proj will parse as acceptible
-  //
-
-  projPJ myProj = pj_init_plus( leParameters->text().toLocal8Bit().data() );
-
-  if ( myProj == NULL ) 
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 projection definition is not valid. Please correct before pressing save.") );
-    pj_free(myProj);
-    return;
-    
-  }
-  pj_free(myProj);
-
-
-  /** TODO Check the projection is not a duplicate ! */
-
-  
-  //CREATE TABLE tbl_srs (
-  //srs_id integer primary key,
-  //description varchar(255) NOT NULL,
-  //projection_acronym varchar(20) NOT NULL default '',
-  //ellipsoid_acronym varchar(20) NOT NULL default '',
-  //parameters varchar(80) NOT NULL default ''
-  //);
-
-  QString mySql;
-  //insert a record if mode is enabled
-  if (pbnNew->text()==tr("Abort")) 
-  {
-    //if this is the first record we need to ensure that its srs_id is 10000. For 
-    //any rec after that sqlite3 will take care of the autonumering
-    //this was done to support sqlite 3.0 as it does not yet support
-    //the autoinc related system tables.
-    if (getRecordCount() == 0)
-    {
-      mySql=QString("insert into tbl_srs (srs_id,description,projection_acronym,ellipsoid_acronym,parameters,is_geo) ") 
-        + " values ("+ QString::number(USER_PROJECTION_START_ID) + ",'" 
-        + stringSQLSafe(myName) + "','" + myProjectionAcronym  
-        + "','" + myEllipsoidAcronym  + "','" + stringSQLSafe(myParameters)
-        + "',0)"; // <-- is_geo shamelessly hard coded for now
-    }
-    else
-    {
-      mySql="insert into tbl_srs (description,projection_acronym,ellipsoid_acronym,parameters,is_geo) values ('" 
-        + stringSQLSafe(myName) + "','" + myProjectionAcronym  
-        + "','" + myEllipsoidAcronym  + "','" + stringSQLSafe(myParameters )
-        + "',0)"; // <-- is_geo shamelessly hard coded for now
-    }
-  }
-  else //user is updating an existing record
-  {
-    mySql="update tbl_srs set description='" + stringSQLSafe(myName)  
-        + "',projection_acronym='" + myProjectionAcronym 
-        + "',ellipsoid_acronym='" + myEllipsoidAcronym 
-        + "',parameters='" + stringSQLSafe(myParameters) + "' "
-        + ",is_geo=0" // <--shamelessly hard coded for now
-        + " where srs_id='" + mCurrentRecordId + "'"
-        ;
-  }
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult!=SQLITE_OK) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << 
-        " /n please notify  QGIS developers of this error \n " << 
-        QgsApplication::qgisUserDbFilePath().toLocal8Bit().data() << " (file name) "
-        << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-#ifdef QGISDEBUG
-  std::cout << "Update or insert sql \n" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  sqlite3_step(myPreparedStatement);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult != SQLITE_OK)
-  {
-#ifdef QGISDEBUG
-    std::cout << "Update or insert failed in custom projection dialog " << std::endl;
-#endif
-  }
-  //reinstate button if we were doing an insert
-  else if (pbnNew->text()==tr("Abort")) 
-  {
-    pbnNew->setText(tr("New"));
-    //get to the newly inserted record 
-    ++mRecordCountLong;
-    mCurrentRecordLong=mRecordCountLong-1;
-    on_pbnLast_clicked();
-  }
-
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-}
-
-void QgsCustomProjectionDialog::on_pbnCalculate_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsCustomProjectionDialog::on_pbnCalculate_clicked()" << std::endl;
-#endif
-
-
-  //
-  // We must check the prj def is valid!
-  //
-
-  projPJ myProj = pj_init_plus( leTestParameters->text().toLocal8Bit().data() );
-
-  std::cout << "My proj: " << leTestParameters->text().toLocal8Bit().data() << std::endl;
-
-  if ( myProj == NULL ) 
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("This proj4 projection definition is not valid.") );
-    projectedX->setText("");
-    projectedY->setText("");
-    pj_free(myProj);
-    return;
-    
-  }
-  // Get the WGS84 coordinates
-  bool okN, okE;
-  double northing = northWGS84->text().toDouble(&okN) * DEG_TO_RAD;  
-  double easthing = eastWGS84->text().toDouble(&okE)  * DEG_TO_RAD;  
-
-  if ( !okN || !okE )
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("Northing and Easthing must be in decimal form.") );
-    projectedX->setText("");
-    projectedY->setText("");
-    pj_free(myProj);
-    return;    
-  }  
-
-  projPJ wgs84Proj = pj_init_plus( GEOPROJ4.toLocal8Bit().data() ); //defined in qgis.h
-
-  if ( wgs84Proj == NULL ) 
-  {
-    QMessageBox::information( this, tr("QGIS Custom Projection"),
-            tr("Internal Error (source projection invalid?)") );
-    projectedX->setText("");
-    projectedY->setText("");
-    pj_free(myProj);
-    return;
-  }
-
-  double z = 0.0;
-
-  int projResult = pj_transform(wgs84Proj, myProj, 1, 0, &easthing, &northing, &z);
-  if ( projResult != 0 )
-  {
-    projectedX->setText("Error");
-    projectedY->setText("Error");
-    std::cout << pj_strerrno(projResult) << std::endl;
-  }
-  else 
-  {
-    QString tmp;
-
-    tmp = tmp.setNum(northing, 'f', 4);
-    projectedX->setText(tmp);
-    tmp = tmp.setNum(easthing, 'f', 4);
-    projectedY->setText(tmp);
-  }
-
-  //
-  pj_free(myProj);
-  pj_free(wgs84Proj);
-
-}
-
-
-/* This is deprecated - to be deleted
-void QgsCustomProjectionDialog::cboProjectionFamily_highlighted( const QString & theText)
-{
-#ifdef QGISDEBUG
-    std::cout << "Projection selected from combo" << std::endl;
-#endif
-  //search the sqlite user projections db for the projection entry 
-  //and display its parameters
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult!=SQLITE_OK) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  // Set up the query to retreive the projection information needed to populate the PROJECTION list
-  QString mySql = "select parameters from tbl_projection name where name='"+theText+"'";
-#ifdef QGISDEBUG
-    std::cout << "Query to get proj params:" << mySql.toLocal8Bit().data() << std::endl;
-#endif
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-    QString myParametersString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-#ifdef QGISDEBUG
-    std::cout << "Setting parameters text box to: " << myParametersString.toLocal8Bit().data() << std::endl;
-#endif
-    txtExpectedParameters->setReadOnly(false);
-    txtExpectedParameters->setText(myParametersString);
-    txtExpectedParameters->setReadOnly(true);
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-}
-*/
-
-
-QString QgsCustomProjectionDialog::getProjFromParameters()
-{
-  QgsLogger::debug("QgsCustomProjectionDialog::getProjFromParameters()");
-  QString myProj4String = leParameters->text();
-  QRegExp myProjRegExp( "\\+proj=[a-zA-Z]*" );    
-  int myStart= 0;
-  myStart = myProjRegExp.search(myProj4String, myStart);
-  if (myStart==-1)
-  {
-    qDebug ("proj string supplied has no +proj argument!");
-    return NULL;
-  }
-  else
-  {
-    int myLength = myProjRegExp.matchedLength();
-    QString myProjectionAcronym = myProj4String.mid(myStart+(PROJ_PREFIX_LEN),myLength-(PROJ_PREFIX_LEN));//+1 for space
-    return myProjectionAcronym;
-  }
-}
-
-QString QgsCustomProjectionDialog::getEllipseFromParameters()
-{
-  QgsLogger::debug("QgsCustomProjectionDialog::getEllipseFromParameters()");
-  QString myProj4String = leParameters->text();
-  QRegExp myEllipseRegExp( "\\+ellps=[a-zA-Z0-9\\-_]*" );    
-  int myStart= 0;
-  myStart = myEllipseRegExp.search(myProj4String, myStart);
-  if (myStart==-1)
-  {
-    std::cout << "proj string supplied has no +ellps!" << std::endl;
-    return NULL;
-  }
-  else //match was found
-  {
-    int myLength = myEllipseRegExp.matchedLength();
-    QString myEllipsoidAcronym = myProj4String.mid(myStart+(ELLPS_PREFIX_LEN),myLength-(ELLPS_PREFIX_LEN));
-    return myEllipsoidAcronym;
-  }
-}
-
-  /*!
- * \brief Make the string safe for use in SQL statements.
- *  This involves escaping single quotes, double quotes, backslashes,
- *  and optionally, percentage symbols.  Percentage symbols are used
- *  as wildcards sometimes and so when using the string as part of the
- *  LIKE phrase of a select statement, should be escaped.
- * \arg const QString in The input string to make safe.
- * \return The string made safe for SQL statements.
- */
-const QString QgsCustomProjectionDialog::stringSQLSafe(const QString theSQL)
-{
-
-    QString myRetval;
-    QChar *it = (QChar *)theSQL.unicode();
-    for (int i = 0; i < theSQL.length(); i++) {
-        if (*it == '\"') {
-            myRetval += "\\\"";
-        } else if (*it == '\'') {
-            myRetval += "\\'";
-        } else if (*it == '\\') {
-            myRetval += "\\\\";
-        } else if (*it == '%')  {
-            myRetval += "\\%";
-        } else {
-            myRetval += *it;
-        }
-        it++;
-    }
-    return myRetval;
-}
-  

Deleted: packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgscustomprojectiondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,71 +0,0 @@
-//
-// C++ Interface: qgscustomprojectiondialog
-//
-// Description: 
-//
-//
-// Author: Tim Sutton tim at linfiniti.com, (C) 2005
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
-#ifndef QGSCUSTOMPROJECTIONDIALOG_H
-#define QGSCUSTOMPROJECTIONDIALOG_H
-
-#include "ui_qgscustomprojectiondialogbase.h"
-class QDir;
-
-/**
-The custom projection widget is used to define the projection family, ellipsoid and paremters needed by proj4 to assemble a customised projection definition. The resulting projection will be store in an sqlite backend.
-
- at author Tim Sutton
-*/
-class QgsCustomProjectionDialog : public QDialog, private Ui::QgsCustomProjectionDialogBase
-{
-Q_OBJECT
-public:
-    QgsCustomProjectionDialog(QWidget *parent = 0, Qt::WFlags fl = 0);
-    ~QgsCustomProjectionDialog();
-    //a recursive function to make a directory and its ancestors
-public slots:    
-    void on_pbnCalculate_clicked();
-    void on_pbnClose_clicked();
-    void on_pbnDelete_clicked();
-    //
-    // Database navigation controles
-    //
-    long getRecordCount();
-    void on_pbnFirst_clicked();
-    void on_pbnPrevious_clicked();
-    void on_pbnNext_clicked();
-    void on_pbnLast_clicked();
-    void on_pbnNew_clicked();
-    void on_pbnSave_clicked();
-
-    //
-    // Contol population
-    //
-    /* These two methods will be deprecated
-    void getProjList();
-    void getEllipsoidList();
-    */
-    QString getProjectionFamilyName(QString theProjectionFamilyAcronym);
-    QString getEllipsoidName(QString theEllipsoidAcronym);
-    QString getProjectionFamilyAcronym(QString theProjectionFamilyName);
-    QString getEllipsoidAcronym(QString theEllipsoidName);
-private: 
-    QString getProjFromParameters();
-    QString getEllipseFromParameters();
-    
-        
-    QString mCurrentRecordId;
-    long mCurrentRecordLong;
-    //the record previous to starting an insert operation
-    //so that we can return to it if the record insert is aborted
-    long mLastRecordLong;
-    long mRecordCountLong;
-    const QString stringSQLSafe(const QString theSQL);
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,749 +0,0 @@
-/***************************************************************************
-                             qgsdbsourceselect.cpp  
-       Dialog to select PostgreSQL layer(s) and add it to the map canvas
-                              -------------------
-begin                : Sat Jun 22 2002
-copyright            : (C) 2002 by Gary E.Sherman
-email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsdbsourceselect.cpp 6152 2006-11-30 21:26:30Z g_j_m $ */
-
-#include "qgsdbsourceselect.h"
-
-#include "qgisapp.h"
-#include "qgsapplication.h"
-#include "qgscontexthelp.h"
-#include "qgsnewconnection.h"
-#include "qgspgquerybuilder.h"
-
-#include <QInputDialog>
-#include <QMessageBox>
-#include <QSettings>
-#include <QTextOStream>
-#include <QTableWidgetItem>
-#include <QHeaderView>
-#include <QStringList>
-
-#include <cassert>
-#include <iostream>
-
-QgsDbSourceSelect::QgsDbSourceSelect(QgisApp *app, Qt::WFlags fl)
-  : QDialog(app, fl), qgisApp(app), mColumnTypeThread(NULL), pd(0)
-{
-  setupUi(this);
-  btnAdd->setEnabled(false);
-  populateConnectionList();
-  // connect the double-click signal to the addSingleLayer slot in the parent
-
-  //disable the 'where clause' box for 0.4 release
-  //  groupBox3->hide();
-  //insert the encoding types available in qt
-  mEncodingComboBox->insertItem("BIG5"); 
-  mEncodingComboBox->insertItem("BIG5-HKSCS"); 
-  mEncodingComboBox->insertItem("EUCJP"); 
-  mEncodingComboBox->insertItem("EUCKR"); 
-  mEncodingComboBox->insertItem("GB2312"); 
-  mEncodingComboBox->insertItem("GBK"); 
-  mEncodingComboBox->insertItem("GB18030"); 
-  mEncodingComboBox->insertItem("JIS7"); 
-  mEncodingComboBox->insertItem("SHIFT-JIS"); 
-  mEncodingComboBox->insertItem("TSCII"); 
-  mEncodingComboBox->insertItem("UTF-8"); 
-  mEncodingComboBox->insertItem("UTF-16"); 
-  mEncodingComboBox->insertItem("KOI8-R"); 
-  mEncodingComboBox->insertItem("KOI8-U"); 
-  mEncodingComboBox->insertItem("ISO8859-1"); 
-  mEncodingComboBox->insertItem("ISO8859-2");
-  mEncodingComboBox->insertItem("ISO8859-3"); 
-  mEncodingComboBox->insertItem("ISO8859-4"); 
-  mEncodingComboBox->insertItem("ISO8859-5"); 
-  mEncodingComboBox->insertItem("ISO8859-6");
-  mEncodingComboBox->insertItem("ISO8859-7"); 
-  mEncodingComboBox->insertItem("ISO8859-8"); 
-  mEncodingComboBox->insertItem("ISO8859-8-I"); 
-  mEncodingComboBox->insertItem("ISO8859-9"); 
-  mEncodingComboBox->insertItem("ISO8859-10"); 
-  mEncodingComboBox->insertItem("ISO8859-13"); 
-  mEncodingComboBox->insertItem("ISO8859-14"); 
-  mEncodingComboBox->insertItem("ISO8859-15"); 
-  mEncodingComboBox->insertItem("IBM 850"); 
-  mEncodingComboBox->insertItem("IBM 866"); 
-  mEncodingComboBox->insertItem("CP874"); 
-  mEncodingComboBox->insertItem("CP1250"); 
-  mEncodingComboBox->insertItem("CP1251"); 
-  mEncodingComboBox->insertItem("CP1252"); 
-  mEncodingComboBox->insertItem("CP1253"); 
-  mEncodingComboBox->insertItem("CP1254"); 
-  mEncodingComboBox->insertItem("CP1255"); 
-  mEncodingComboBox->insertItem("CP1256"); 
-  mEncodingComboBox->insertItem("CP1257"); 
-  mEncodingComboBox->insertItem("CP1258"); 
-  mEncodingComboBox->insertItem("Apple Roman"); 
-  mEncodingComboBox->insertItem("TIS-620"); 
-
-  //read the last encoding from the settings
-  //or use local as default
-  QSettings settings; 
-  QString lastUsedEncoding = settings.readEntry("/UI/encoding");
-  if(lastUsedEncoding.isNull()||lastUsedEncoding.isEmpty()||lastUsedEncoding=="\0")
-    {
-      mEncodingComboBox->setCurrentText(QString(QTextCodec::codecForLocale()->name()));
-    }
-  else
-    {
-      mEncodingComboBox->setCurrentText(lastUsedEncoding);
-    }
-
-  // Do some things that couldn't be done in designer
-  lstTables->horizontalHeader()->setStretchLastSection(true);
-  // Set the column count to 3 for the type, name, and sql
-  lstTables->setColumnCount(3);
-  mColumnLabels += tr("Type"); 
-  mColumnLabels += tr("Name"); 
-  mColumnLabels += tr("Sql");
-  lstTables->setHorizontalHeaderLabels(mColumnLabels);
-  lstTables->verticalHeader()->hide();
-}
-/** Autoconnected SLOTS **/
-// Slot for adding a new connection
-void QgsDbSourceSelect::on_btnNew_clicked()
-{
-  addNewConnection();
-}
-// Slot for deleting an existing connection
-void QgsDbSourceSelect::on_btnDelete_clicked()
-{
-  deleteConnection();
-}
-// Slot for performing action when the Add button is clicked
-void QgsDbSourceSelect::on_btnAdd_clicked()
-{
-  addTables();
-}
-
-// Slot for opening the query builder when a layer is double clicked
-void QgsDbSourceSelect::on_lstTables_itemDoubleClicked(QTableWidgetItem *item)
-{
-  setSql(item);
-}
-
-// Slot for editing a connection
-void QgsDbSourceSelect::on_btnEdit_clicked()
-{
-  editConnection();
-}
-
-// Slot for showing help
-void QgsDbSourceSelect::on_btnHelp_clicked()
-{
-  showHelp();
-}
-/** End Autoconnected SLOTS **/
-
-// Remember which database is selected
-void QgsDbSourceSelect::on_cmbConnections_activated(int)
-{
-  dbChanged();
-}
-
-void QgsDbSourceSelect::setLayerType(QString schema, 
-                                     QString table, QString column,
-                                     QString type)
-{
-#ifdef QGISDEBUG
-  std::cerr << "Received layer type of " << type.toLocal8Bit().data()
-            << " for " 
-            << (schema+'.'+table+'.'+column).toLocal8Bit().data() 
-            << '\n';
-#endif
-
-  // Find the right row in the table by searching for the text that
-  // was put into the Name column.
-  QString full_desc = fullDescription(schema, table, column);
-
-  QList<QTableWidgetItem*> ii = lstTables->findItems(full_desc,
-                                                     Qt::MatchExactly);
-
-  if (ii.count() > 0)
-  {
-    int row = lstTables->row(ii.at(0)); // just use the first one
-    QTableWidgetItem* iconItem = lstTables->item(row, 0);
-
-    // Get the icon and tooltip text 
-    const QIcon* p;
-    QString toolTipText;
-    if (mLayerIcons.contains(type))
-    {
-      p = &(mLayerIcons.value(type).second);
-      toolTipText = mLayerIcons.value(type).first;
-    }
-    else
-    {
-      qDebug(("Unknown geometry type of '" + type + "'.").toLocal8Bit().data());
-      p = &(mLayerIcons.value("UNKNOWN").second);
-      toolTipText = mLayerIcons.value("UNKNOWN").first;
-    }
-
-    iconItem->setIcon(*p);
-    iconItem->setToolTip(toolTipText);
-  }
-}
-
-QString QgsDbSourceSelect::makeGeomQuery(QString schema, 
-                                                QString table, QString column)
-{
-  QString query = "select GeometryType(\"" + column + "\") from ";
-  if (schema.length() > 0)
-    query += "\"" + schema + "\".";
-  query += "\"" + table + "\" where \"" + column + "\" is not null limit 1";
-  return query;
-}
-
-QgsDbSourceSelect::~QgsDbSourceSelect()
-{
-    PQfinish(pd);
-}
-void QgsDbSourceSelect::populateConnectionList()
-{
-  QSettings settings;
-  QStringList keys = settings.subkeyList("/PostgreSQL/connections");
-  QStringList::Iterator it = keys.begin();
-  cmbConnections->clear();
-  while (it != keys.end())
-  {
-    cmbConnections->insertItem(*it);
-    ++it;
-  }
-  setConnectionListPosition();
-}
-void QgsDbSourceSelect::addNewConnection()
-{
-
-  QgsNewConnection *nc = new QgsNewConnection(this);
-
-  if (nc->exec())
-  {
-    populateConnectionList();
-  }
-}
-void QgsDbSourceSelect::editConnection()
-{
-
-  QgsNewConnection *nc = new QgsNewConnection(this, cmbConnections->currentText());
-
-  if (nc->exec())
-  {
-    nc->saveConnection();
-  }
-}
-
-void QgsDbSourceSelect::deleteConnection()
-{
-  QSettings settings;
-  QString key = "/Postgresql/connections/" + cmbConnections->currentText();
-  QString msg =
-    tr("Are you sure you want to remove the ") + cmbConnections->currentText() + tr(" connection and all associated settings?");
-  int result = QMessageBox::information(this, tr("Confirm Delete"), msg, tr("Yes"), tr("No"));
-  if (result == 0)
-  {
-    settings.removeEntry(key + "/host");
-    settings.removeEntry(key + "/database");
-    settings.removeEntry(key + "/username");
-    settings.removeEntry(key + "/password");
-    settings.removeEntry(key + "/port");
-    settings.removeEntry(key + "/save");
-    settings.removeEntry(key);
-    //if(!success){
-    //  QMessageBox::information(this,"Unable to Remove","Unable to remove the connection " + cmbConnections->currentText());
-    //}
-    cmbConnections->removeItem(cmbConnections->currentItem());  // populateConnectionList();
-    setConnectionListPosition();
-  }
-}
-void QgsDbSourceSelect::addTables()
-{
-  //store the table info
-
-  for (int i = 0; i < lstTables->rowCount(); ++i)
-  {
-    if (lstTables->isItemSelected(lstTables->item(i, 0)))
-    {
-      QString table = lstTables->item(i,1)->text() + " sql=";
-      QTableWidgetItem* sqlItem = lstTables->item(i,2);
-      if (sqlItem)
-        table += sqlItem->text();
-      m_selectedTables += table;
-    }
-  }
-
-  // BEGIN CHANGES ECOS
-  if (m_selectedTables.empty() == true)
-    QMessageBox::information(this, tr("Select Table"), tr("You must select a table in order to add a Layer."));
-  else
-    accept();
-  // END CHANGES ECOS
-}
-
-void QgsDbSourceSelect::on_btnConnect_clicked()
-{
-  // populate the table list
-  QSettings settings;
-
-  QString key = "/PostgreSQL/connections/" + cmbConnections->currentText();
-  QString connString = "host=";
-  QString host = settings.readEntry(key + "/host");
-  connString += host;
-  connString += " dbname=";
-  QString database = settings.readEntry(key + "/database");
-  connString += database + " port=";
-  QString port = settings.readEntry(key + "/port");
-  if(port.length() == 0){
-    port = "5432";
-  }
-  connString += port + " user=";
-  QString username = settings.readEntry(key + "/username");
-  connString += username;
-  QString password = settings.readEntry(key + "/password");
-  bool searchPublicOnly = settings.readBoolEntry(key + "/publicOnly");
-  bool searchGeometryColumnsOnly = settings.readBoolEntry(key + "/geometryColumnsOnly");
-  bool makeConnection = true;
-  if (password == QString::null)
-  {
-    // get password from user 
-    makeConnection = false;
-    QString password = QInputDialog::getText(tr("Password for ") + database + "@" + host,
-        tr("Please enter your password:"),
-        QLineEdit::Password, QString::null, &makeConnection, this);
-    // allow null password entry in case its valid for the database
-  }
-
-  // Need to escape the password to allow for single quotes and backslashes
-  password.replace('\\', "\\\\");
-  password.replace('\'', "\\'");
-  connString += " password='" + password + "'";
-#ifdef QGISDEBUG
-  std::cout << "Connection info: " << connString.toLocal8Bit().data() << std::endl;
-#endif
-  if (makeConnection)
-  {
-    m_connInfo = connString;  //host + " " + database + " " + username + " " + password;
-    //qDebug(m_connInfo);
-    // Tidy up an existing connection if one exists.
-    if (pd != 0)
-      PQfinish(pd);
-
-    pd = PQconnectdb(m_connInfo.toLocal8Bit().data());
-    //  std::cout << pd->ErrorMessage();
-    if (PQstatus(pd) == CONNECTION_OK)
-    {
-      // create the pixmaps for the layer types if we haven't already
-      // done so.
-      if (mLayerIcons.count() == 0)
-      {
-        QString myThemePath = QgsApplication::themePath();
-        mLayerIcons.insert("POINT",
-                           qMakePair(tr("Point layer"), 
-                            QIcon(myThemePath+"/mIconPointLayer.png")));
-        mLayerIcons.insert("MULTIPOINT", 
-                           qMakePair(tr("Multi-point layer"), 
-                            mLayerIcons.value("POINT").second));
-
-        mLayerIcons.insert("LINESTRING",
-                           qMakePair(tr("Linestring layer"), 
-                            QIcon(myThemePath+"/mIconLineLayer.png")));
-        mLayerIcons.insert("MULTILINESTRING",
-                           qMakePair(tr("Multi-linestring layer"), 
-                            mLayerIcons.value("LINESTRING").second));
-
-        mLayerIcons.insert("POLYGON",
-                           qMakePair(tr("Polygon layer"), 
-                            QIcon(myThemePath+"/mIconPolygonLayer.png")));
-        mLayerIcons.insert("MULTIPOLYGON",
-                           qMakePair(tr("Multi-polygon layer"),
-                            mLayerIcons.value("POLYGON").second));
-
-        mLayerIcons.insert("GEOMETRY",
-                           qMakePair(tr("Mixed geometry layer"), 
-                            QIcon(myThemePath+"/mIconGeometryLayer.png")));
-        mLayerIcons.insert("GEOMETRYCOLLECTION",
-                           qMakePair(tr("Geometry collection layer"), 
-                            mLayerIcons.value("GEOMETRY").second));
-
-        mLayerIcons.insert("WAITING",
-                           qMakePair(tr("Waiting for layer type"), 
-                            QIcon(myThemePath+"/mIconWaitingForLayerType.png")));
-        mLayerIcons.insert("UNKNOWN",
-                           qMakePair(tr("Unknown layer type"), 
-                            QIcon(myThemePath+"/mIconUnknownLayerType.png")));
-      }
-      //qDebug("Connection succeeded");
-      // tell the DB that we want text encoded in UTF8
-      PQsetClientEncoding(pd, "UNICODE");
-
-      // Here's an annoying thing... calling clear() removes the
-      // header items too, so we need to reinstate them after calling
-      // clear(). 
-      lstTables->clear();
-      lstTables->setRowCount(0);
-      lstTables->setHorizontalHeaderLabels(mColumnLabels);
-
-      // get the list of suitable tables and columns and populate the UI
-      geomCol details;
-      if (getGeometryColumnInfo(pd, details, searchGeometryColumnsOnly,
-                                searchPublicOnly))
-      {
-        details.sort();
-        geomCol::const_iterator iter = details.begin();
-        for (; iter != details.end(); ++iter)
-        {
-          QString toolTipText;
-          const QIcon* p;
-
-          if (mLayerIcons.contains(iter->second))
-          {
-            p = &(mLayerIcons.value(iter->second).second);
-            toolTipText = mLayerIcons.value(iter->second).first;
-          }
-          else
-          {
-	    qDebug(("Unknown geometry type of '" + iter->second + "'.").toLocal8Bit().data());
-            p = &(mLayerIcons.value("UNKNOWN").second);
-            toolTipText = mLayerIcons.value("UNKNOWN").first;
-          }
-
-          if (p != 0)
-          {
-            QTableWidgetItem *iconItem = new QTableWidgetItem();
-            iconItem->setIcon(*p);
-            iconItem->setToolTip(toolTipText);
-            QTableWidgetItem *textItem = new QTableWidgetItem(iter->first);
-            int row = lstTables->rowCount();
-            lstTables->setRowCount(row+1);
-            lstTables->setItem(row, 0, iconItem);
-            lstTables->setItem(row, 1, textItem);
-          }
-        }
-
-        // And tidy up the columns & rows
-        lstTables->resizeColumnsToContents();
-        lstTables->resizeRowsToContents();
-
-        // Start the thread that gets the geometry type for relations that
-        // may take a long time to return
-        if (mColumnTypeThread != NULL)
-        {
-            connect(mColumnTypeThread, 
-                    SIGNAL(setLayerType(QString,QString,QString,QString)),
-                    this, 
-                    SLOT(setLayerType(QString,QString,QString,QString)));
-            // Do it in a thread. Does not yet cope correctly with the
-            // layer selection dialog box closing before the thread
-            // completes, nor the qgis process ending before the
-            // thread completes, nor does the thread know to stop working
-            // when the user chooses a layer.
-            //mColumnTypeThread->start();
-
-            // do it in this process for the moment. 
-            mColumnTypeThread->getLayerTypes();
-        }
-      }
-      else
-      {
-        qDebug("Unable to get list of spatially enabled tables from the database");
-        qDebug(PQerrorMessage(pd));
-      }
-      // BEGIN CHANGES ECOS
-      if (cmbConnections->count() > 0)
-        btnAdd->setEnabled(true);
-      // END CHANGES ECOS
-    } else
-    {
-      QMessageBox::warning(this, tr("Connection failed"),
-          tr
-          ("Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.%3Check your username and password and try again.%4The database said:%5%6").
-          arg(settings.readEntry(key + "/database")).arg(settings.readEntry(key + "/host")).arg("\n\n").arg("\n\n").arg("\n").arg(PQerrorMessage(pd)));
-    }
-  }
-}
-
-QStringList QgsDbSourceSelect::selectedTables()
-{
-  return m_selectedTables;
-}
-
-QString QgsDbSourceSelect::connInfo()
-{
-  return m_connInfo;
-}
-void QgsDbSourceSelect::setSql(QTableWidgetItem *item)
-{
-  int row = lstTables->row(item);
-  QString tableText = lstTables->item(row, 1)->text();
-
-  QTableWidgetItem* sqlItem = lstTables->item(row, 2);
-  QString sqlText;
-  if (sqlItem)
-    sqlText = sqlItem->text();
-  // Parse out the table name
-  QString table = tableText.left(tableText.find("("));
-  assert(pd != 0);
-  // create a query builder object
-  QgsPgQueryBuilder * pgb = new QgsPgQueryBuilder(table, pd, this);
-  // set the current sql in the query builder sql box
-  pgb->setSql(sqlText);
-  // set the PG connection object so it can be used to fetch the
-  // fields for the table, get sample values, and test the query
-  pgb->setConnection(pd);
-  // show the dialog
-  if(pgb->exec())
-  {
-    // if user accepts, store the sql for the layer so it can be used
-    // if and when the layer is added to the map
-    if (!sqlItem)
-    {
-      sqlItem = new QTableWidgetItem();
-      lstTables->setItem(row, 2, sqlItem);
-    }
-    sqlItem->setText(pgb->sql());
-    // Ensure that the current row remains selected
-    lstTables->setItemSelected(lstTables->item(row,0), true);
-    lstTables->setItemSelected(lstTables->item(row,1), true);
-    lstTables->setItemSelected(lstTables->item(row,2), true);
-  }
-  // delete the query builder object
-  delete pgb;
-}
-
-bool QgsDbSourceSelect::getGeometryColumnInfo(PGconn *pg, 
-                geomCol& details, bool searchGeometryColumnsOnly,
-                                              bool searchPublicOnly)
-{
-  bool ok = false;
-
-  QString sql = "select * from geometry_columns";
-  // where f_table_schema ='" + settings.readEntry(key + "/database") + "'";
-  sql += " order by f_table_schema,f_table_name";
-  //qDebug("Fetching tables using: " + sql);
-  PGresult *result = PQexec(pg, sql.toLocal8Bit().data());
-  if (result)
-  {
-    QString msg;
-    QTextOStream(&msg) << "Fetched " << PQntuples(result) << " tables from database";
-    //qDebug(msg);
-    for (int idx = 0; idx < PQntuples(result); idx++)
-    {
-      // Be a bit paranoid and check that the table actually
-      // exists. This is not done as a subquery in the query above
-      // because I can't get it to work correctly when there are tables
-      // with capital letters in the name.
-
-      // Take care to deal with tables with the same name but in different schema.
-      QString tableName = PQgetvalue(result, idx, PQfnumber(result, "f_table_name"));
-      QString schemaName = PQgetvalue(result, idx, PQfnumber(result, "f_table_schema"));
-      sql = "select oid from pg_class where relname = '" + tableName + "'";
-      if (schemaName.length() > 0)
-	sql +=" and relnamespace = (select oid from pg_namespace where nspname = '" +
-	  schemaName + "')";
-
-      PGresult* exists = PQexec(pg, sql.toLocal8Bit().data());
-      if (PQntuples(exists) == 1)
-      {
-        QString v = "";
-
-        if (schemaName.length() > 0)
-        {
-          v += '"';
-          v += schemaName;
-          v += "\".";
-        }
-
-        v += '"';
-        v += tableName;
-        v += "\" (";
-        v += PQgetvalue(result, idx, PQfnumber(result, "f_geometry_column"));
-        v += ")";
-
-        QString type = PQgetvalue(result, idx, PQfnumber(result, "type"));
-        details.push_back(geomPair(v, type));
-      }
-      PQclear(exists);
-    }
-    ok = true;
-  }
-  PQclear(result);
-
-  if (searchGeometryColumnsOnly)
-    return ok;
-
-  // Now have a look for geometry columns that aren't in the
-  // geometry_columns table. This code is specific to postgresql,
-  // but an equivalent query should be possible in other
-  // databases.
-  sql = "select pg_class.relname, pg_namespace.nspname, pg_attribute.attname, "
-    "pg_class.relkind from "
-    "pg_attribute, pg_class, pg_type, pg_namespace where pg_type.typname = 'geometry' and "
-    "pg_attribute.atttypid = pg_type.oid and pg_attribute.attrelid = pg_class.oid ";
-
-  if (searchPublicOnly)
-    sql += "and pg_namespace.nspname = 'public' ";
-
-  sql += "and cast(pg_class.relname as character varying) not in "
-    "(select f_table_name from geometry_columns) "
-    "and pg_namespace.oid = pg_class.relnamespace "
-    "and pg_class.relkind in ('v', 'r')"; // only from views and relations (tables)
-  
-  result = PQexec(pg, sql.toLocal8Bit().data());
-
-  for (int i = 0; i < PQntuples(result); i++)
-  {
-    // Have the column name, schema name and the table name. The concept of a
-    // catalog doesn't exist in postgresql so we ignore that, but we
-    // do need to get the geometry type.
-
-    // Make the assumption that the geometry type for the first
-    // row is the same as for all other rows. 
-
-    QString table  = PQgetvalue(result, i, 0); // relname
-    QString schema = PQgetvalue(result, i, 1); // nspname
-    QString column = PQgetvalue(result, i, 2); // attname
-    QString relkind = PQgetvalue(result, i, 3); // relation kind
-
-    QString full_desc = fullDescription(schema, table, column);
-
-    QString type = "UNKNOWN";
-    if (relkind == "r")
-    {
-      QString query = makeGeomQuery(schema, table, column);
-      PGresult* gresult = PQexec(pg, query.toLocal8Bit().data());
-      if (PQresultStatus(gresult) != PGRES_TUPLES_OK)
-        {
-          QString myError = (tr("Access to relation ") + table + tr(" using sql;\n") + query +
-                             tr("\nhas failed. The database said:\n"));
-          qDebug(myError + QString(PQresultErrorMessage(gresult)));
-        }
-      else if (PQntuples(gresult) > 0)
-        type = PQgetvalue(gresult, 0, 0); // GeometryType
-      PQclear(gresult);
-    }
-    else // view
-    {
-      // store the column details and do the query in a thread
-      if (mColumnTypeThread == NULL)
-      {
-        mColumnTypeThread = new QgsGeomColumnTypeThread();
-        mColumnTypeThread->setConnInfo(m_connInfo);
-      }
-      mColumnTypeThread->setGeometryColumn(schema, table, column);
-      type = "WAITING";
-    }
-
-    details.push_back(geomPair(full_desc, type));
-  }
-  ok = true;
-
-  PQclear(result);
-
-  return ok;
-}
-QString QgsDbSourceSelect::encoding()
-{
-  return mEncodingComboBox->currentText();
-}
-void QgsDbSourceSelect::showHelp()
-{
-  QgsContextHelp::run(context_id);
-}
-QString QgsDbSourceSelect::fullDescription(QString schema, QString table, 
-                                           QString column)
-{
-  QString full_desc = "";
-  if (schema.length() > 0)
-    full_desc = '"' + schema + "\".\"";
-  full_desc += table + "\" (" + column + ")";
-  return full_desc;
-}
-void QgsDbSourceSelect::dbChanged()
-{
-  // Remember which database was selected.
-  QSettings settings;
-  settings.writeEntry("/PostgreSQL/connections/selected", 
-		      cmbConnections->currentText());
-}
-
-void QgsDbSourceSelect::setConnectionListPosition()
-{
-  QSettings settings;
-  // If possible, set the item currently displayed database
-  QString toSelect = settings.readEntry("/PostgreSQL/connections/selected");
-  // Does toSelect exist in cmbConnections?
-  bool set = false;
-  for (int i = 0; i < cmbConnections->count(); ++i)
-    if (cmbConnections->text(i) == toSelect)
-    {
-      cmbConnections->setCurrentItem(i);
-      set = true;
-      break;
-    }
-  // If we couldn't find the stored item, but there are some, 
-  // default to the last item (this makes some sense when deleting
-  // items as it allows the user to repeatidly click on delete to
-  // remove a whole lot of items).
-  if (!set && cmbConnections->count() > 0)
-  {
-    // If toSelect is null, then the selected connection wasn't found
-    // by QSettings, which probably means that this is the first time
-    // the user has used qgis with database connections, so default to
-    // the first in the list of connetions. Otherwise default to the last.
-    if (toSelect.isNull())
-      cmbConnections->setCurrentItem(0);
-    else
-      cmbConnections->setCurrentItem(cmbConnections->count()-1);
-  }
-}
-
-void QgsGeomColumnTypeThread::setConnInfo(QString s)
-{
-  mConnInfo = s;
-}
-
-void QgsGeomColumnTypeThread::setGeometryColumn(QString schema, QString table, QString column)
-{
-  schemas.push_back(schema);
-  tables.push_back(table);
-  columns.push_back(column);
-}
-
-void QgsGeomColumnTypeThread::getLayerTypes()
-{
-  PGconn *pd = PQconnectdb(mConnInfo.toLocal8Bit().data());
-  if (PQstatus(pd) == CONNECTION_OK)
-  {
-    PQsetClientEncoding(pd, "UNICODE");
-
-    for (int i = 0; i < schemas.size(); ++i)
-    {
-      QString query = QgsDbSourceSelect::makeGeomQuery(schemas[i],
-                                                       tables[i],
-                                                       columns[i]);
-      PGresult* gresult = PQexec(pd, query.toLocal8Bit().data());
-      QString type;
-      if (PQresultStatus(gresult) == PGRES_TUPLES_OK)
-        type = PQgetvalue(gresult, 0, 0);
-      PQclear(gresult);
-
-      // Now tell the layer list dialog box...
-      emit setLayerType(schemas[i], tables[i], columns[i], type);
-    }
-  }
-
-  PQfinish(pd);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsdbsourceselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,157 +0,0 @@
-/***************************************************************************
-                          qgdbsourceselect.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsdbsourceselect.h 5718 2006-08-21 11:17:49Z g_j_m $ */
-#ifndef QGSDBSOURCESELECT_H
-#define QGSDBSOURCESELECT_H
-#include "ui_qgsdbsourceselectbase.h"
-#include "qgisgui.h"
-extern "C"
-{
-#include <libpq-fe.h>
-}
-
-#include <QThread>
-
-#include <vector>
-#include <list>
-#include <utility>
-
-#include <QMap>
-#include <QPair>
-#include <QIcon>
-
-class QStringList;
-class QTableWidgetItem;
-class QgsGeomColumnTypeThread;
-class QgisApp;
-/*! \class QgsDbSourceSelect
- * \brief Dialog to create connections and add tables from PostgresQL.
- *
- * This dialog allows the user to define and save connection information
- * for PostGIS enabled PostgresQL databases. The user can then connect and add 
- * tables from the database to the map canvas.
- */
-class QgsDbSourceSelect : public QDialog, private Ui::QgsDbSourceSelectBase 
-{
-  Q_OBJECT
- public:
-
-    //! Constructor
-    QgsDbSourceSelect(QgisApp *app, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsDbSourceSelect();
-    //! Opens the create connection dialog to build a new connection
-    void addNewConnection();
-    //! Opens a dialog to edit an existing connection
-    void editConnection();
-    //! Deletes the selected connection
-    void deleteConnection();
-    //! Populate the connection list combo box
-    void populateConnectionList();
-    //! Determines the tables the user selected and closes the dialog
-    void addTables();
-    //! String list containing the selected tables
-    QStringList selectedTables();
-    //! Connection info (database, host, user, password)
-    QString connInfo();
-    //! Return the name of the selected encoding (e.g. UTf-8, ISO-8559-1, etc/)
-    QString encoding();
-    // Store the selected database
-    void dbChanged();
-    // Utility function to construct the query for finding out the
-    // geometry type of a column
-    static QString makeGeomQuery(QString schema, QString table, QString column);
-
-    public slots:
-    /*! Connects to the database using the stored connection parameters. 
-    * Once connected, available layers are displayed.
-    */
-      void on_btnConnect_clicked();
-      void on_btnAdd_clicked();
-      void on_btnNew_clicked();
-      void on_btnEdit_clicked();
-      void on_btnDelete_clicked();
-      void on_lstTables_itemDoubleClicked(QTableWidgetItem *);
-      void setSql(QTableWidgetItem *);
-      void on_btnHelp_clicked();
-      void on_cmbConnections_activated(int);
-      void setLayerType(QString schema, QString table, QString column,
-                        QString type);
- private:
-
-    typedef std::pair<QString, QString> geomPair;
-    typedef std::list<geomPair > geomCol;
-
-    bool getGeometryColumnInfo(PGconn *pd, 
-			       geomCol& details, 
-                               bool searchGeometryColumnsOnly,
-                               bool searchPublicOnly);
-    // Set the position of the database connection list to the last
-    // used one. 
-    void setConnectionListPosition();
-    // Show the context help for the dialog
-    void showHelp();
-    // Combine the schema, table and column data into a single string
-    // useful for display to the user
-    QString fullDescription(QString schema, QString table, QString column);
-    // The column labels
-    QStringList mColumnLabels;
-    // Our thread for doing long running queries
-    QgsGeomColumnTypeThread* mColumnTypeThread;
-    QString m_connInfo;
-    QStringList m_selectedTables;
-    // Storage for the range of layer type icons
-    QMap<QString, QPair<QString, QIcon> > mLayerIcons;
-    //! Pointer to the qgis application mainwindow
-    QgisApp *qgisApp;
-    PGconn *pd;
-    static const int context_id = 939347163;
-};
-
-
-// Perhaps this class should be in its own file??
-//
-// A class that determines the geometry type of a given database 
-// schema.table.column, with the option of doing so in a separate
-// thread.
-
-class QgsGeomColumnTypeThread : public QThread
-{
-  Q_OBJECT
- public:
-
-  void setConnInfo(QString s);
-  void setGeometryColumn(QString schema, QString table, QString column);
-
-  // These functions get the layer types and pass that information out
-  // by emitting the setLayerType() signal. The getLayerTypes()
-  // function does the actual work, but use the run() function if you
-  // want the work to be done as a separate thread from the calling
-  // process. 
-  virtual void run() { getLayerTypes(); }
-  void getLayerTypes();
-
-  signals:
-  void setLayerType(QString schema, QString table, QString column,
-                    QString type);
-
- private:
-  QString mConnInfo;
-  std::vector<QString> schemas, tables, columns;
-};
-
-#endif // QGSDBSOURCESELECT_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,50 +0,0 @@
-/***************************************************************************
-                         qgsdelattrdialog.cpp  -  description
-                             -------------------
-    begin                : January 2005
-    copyright            : (C) 2005 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgsdelattrdialog.h"
-#include "qgsfield.h"
-#include <Q3Header>
-
-QgsDelAttrDialog::QgsDelAttrDialog(Q3Header* header): QDialog()
-{
-  setupUi(this);
-  QObject::connect(mOkButton, SIGNAL(clicked(bool)), this, SLOT(accept()));
-  QObject::connect(mCancelButton, SIGNAL(clicked(bool)), this, SLOT(reject()));
-
-  //insert attribute names into the QListView
-  if(header)
-    {
-      listBox2->clear();
-      for(int i=1;i<header->count();++i)
-	{
-	  listBox2->insertItem(header->label(i));
-	}
-    }
-}
-
-const std::list<QString>* QgsDelAttrDialog::selectedAttributes()
-{
-    mSelectedItems.clear();
-    for(int i=0;i<listBox2->numRows();++i)
-    {
-	if(listBox2->isSelected(i))
-	{
-	    mSelectedItems.push_back(listBox2->text(i));
-	}
-    }
-    return &mSelectedItems;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsdelattrdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,37 +0,0 @@
-/***************************************************************************
-                         qgsdelattrdialog.h  -  description
-                             -------------------
-    begin                : January 2005
-    copyright            : (C) 2005 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#ifndef QGSDELATTRDIALOG_H
-#define QGSDELATTRDIALOG_H
-
-#include "ui_qgsdelattrdialogbase.h"
-#include <QDialog>
-#include <list>
-
-class Q3Header;
-
-class QgsDelAttrDialog: public QDialog, private Ui::QgsDelAttrDialogBase
-{
-    Q_OBJECT
- public:
-    QgsDelAttrDialog(Q3Header* header);
-    const std::list<QString>* selectedAttributes();
- protected:
-    std::list<QString> mSelectedItems;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsencodingfiledialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsencodingfiledialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsencodingfiledialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -20,7 +20,7 @@
 class QComboBox;
 
 /**A file dialog which lets the user select the prefered encoding type for a data provider*/
-class QgsEncodingFileDialog: public QFileDialog
+class GUI_EXPORT QgsEncodingFileDialog: public QFileDialog
 {
     Q_OBJECT
  public:

Added: packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,159 @@
+/***************************************************************************
+    qgsfiledropedit.cpp - File Dropable LineEdit
+     --------------------------------------
+    Date                 : 31-Jan-2007
+    Copyright            : (C) 2007 by Tom Elwertowski
+    Email                : telwertowski at users dot sourceforge dot net
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsfiledropedit.cpp 6513 2007-02-04 09:13:34Z telwertowski $ */
+
+#include "qgsfiledropedit.h"
+#include <QDropEvent>
+#include <QFileInfo>
+#include <QPainter>
+#include <QUrl>
+
+/*!
+  \class QgsFileDropEdit
+
+  \brief The QgsDropNameEdit class provides a line edit widget which
+  accepts file drops.
+
+  Dropping can be limited to files only, files with a specific extension
+  or directories only. By default, dropping is limited to files only.
+*/
+
+QgsFileDropEdit::QgsFileDropEdit(QWidget *parent)
+: QLineEdit(parent)
+{
+  mDirOnly = false;
+  mFileOnly = true;
+  mDragActive = false;
+  setAcceptDrops(true);
+}
+
+QgsFileDropEdit::~QgsFileDropEdit()
+{}
+
+/*!
+  Limit drops to directories.
+*/
+void QgsFileDropEdit::setDirOnly(bool dirOnly)
+{
+  mDirOnly = dirOnly;
+  if (mDirOnly)
+  {
+    mFileOnly = false;
+  }
+}
+
+/*!
+  Limit drops to files.
+*/
+void QgsFileDropEdit::setFileOnly(bool fileOnly)
+{
+  mFileOnly = fileOnly;
+  if (mFileOnly)
+  {
+    mDirOnly = false;
+  }
+}
+
+/*!
+  Limit drops to files with specified extension.
+*/
+void QgsFileDropEdit::setSuffixFilter(const QString& suffix)
+{
+  mSuffix = suffix;
+}
+
+/*!
+  Return file name if object meets drop criteria.
+*/
+QString QgsFileDropEdit::acceptableFilePath(QDropEvent *event) const
+{
+  QString path;
+  if (event->mimeData()->hasUrls())
+  {
+    QFileInfo file(event->mimeData()->urls().first().toLocalFile());
+    if ( !( mFileOnly && !file.isFile() ||
+        mDirOnly && !file.isDir() ||
+        !mSuffix.isEmpty() && mSuffix.compare(file.suffix(), Qt::CaseInsensitive) ) )
+      path = file.filePath();
+  }
+  return path;
+}
+
+/*!
+  Check if dragged object is acceptible. Called when a drag is in progress
+  and the mouse enters this widget.
+*/
+void QgsFileDropEdit::dragEnterEvent(QDragEnterEvent *event)
+{
+  QString filePath = acceptableFilePath(event);
+  if (!filePath.isEmpty())
+  {
+    event->acceptProposedAction();
+    mDragActive = true;
+    update();
+  }
+  else
+  {
+    QLineEdit::dragEnterEvent(event);
+  }
+}
+
+/*!
+  Called when a drag is in progress and the mouse leaves this widget.
+*/
+void QgsFileDropEdit::dragLeaveEvent(QDragLeaveEvent *event)
+{
+  QLineEdit::dragLeaveEvent(event);
+  event->accept();
+  mDragActive = false;
+  update();
+}
+
+/*!
+  Receive the dragged object. Called when the drag is dropped on this widget.
+*/
+void QgsFileDropEdit::dropEvent(QDropEvent *event)
+{
+  QString filePath = acceptableFilePath(event);
+  if (!filePath.isEmpty())
+  {
+    setText(filePath);
+    selectAll();
+    setFocus(Qt::MouseFocusReason);
+    event->acceptProposedAction();
+    mDragActive = false;
+    update();
+  }
+  else
+  {
+    QLineEdit::dropEvent(event);
+  }
+}
+
+/*!
+  Paints line edit with drag highlight in response to a paint event.
+*/
+void QgsFileDropEdit::paintEvent(QPaintEvent *e)
+{
+  QLineEdit::paintEvent(e);
+  if (mDragActive)
+  {
+    QPainter p(this);
+    int width = 2;  // width of highlight rectangle inside frame
+    p.setPen(QPen(palette().highlight(), width));
+    QRect r = rect().adjusted(width, width, -width, -width);
+    p.drawRect(r);
+  }
+}

Added: packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsfiledropedit.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,52 @@
+/***************************************************************************
+    qgsfiledropedit.h - File Dropable LineEdit
+     --------------------------------------
+    Date                 : 31-Jan-2007
+    Copyright            : (C) 2007 by Tom Elwertowski
+    Email                : telwertowski at users dot sourceforge dot net
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgsfiledropedit.h 6513 2007-02-04 09:13:34Z telwertowski $ */
+#ifndef QGSFILEDROPEDIT_H
+#define QGSFILEDROPEDIT_H
+
+#include <QLineEdit>
+
+class GUI_EXPORT QgsFileDropEdit: public QLineEdit
+{
+  public:
+    QgsFileDropEdit(QWidget *parent = 0);
+    virtual ~QgsFileDropEdit();
+
+    bool dirOnly() const { return mDirOnly; }
+    void setDirOnly(bool dirOnly);
+
+    bool fileOnly() const { return mFileOnly; }
+    void setFileOnly(bool fileOnly);
+
+	const QString& suffixFilter() const { return mSuffix; }
+    void setSuffixFilter( const QString& suffix);
+
+  protected:
+
+    virtual void dragEnterEvent(QDragEnterEvent *event);
+    virtual void dragLeaveEvent(QDragLeaveEvent *event);
+    virtual void dropEvent(QDropEvent *event);
+    virtual void paintEvent(QPaintEvent *e);
+
+  private:
+    QString acceptableFilePath(QDropEvent *event) const;
+
+    QString mSuffix;
+    bool mDirOnly;
+    bool mFileOnly;
+    bool mDragActive;
+};
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-
-/***************************************************************************
-                                 qgsfillstyle.h
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgsfillstylewidget.h"
-
-QgsFillStyleWidget::QgsFillStyleWidget(  QWidget *parent, const char * name, Qt::WFlags f)
-           :QgsFillStyleWidgetBase( )
-{
-}
-
-QgsFillStyleWidget::~QgsFillStyleWidget()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsfillstylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,39 +0,0 @@
-/***************************************************************************
-                                qgsfillstyle.h 
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSFILLSTYLEWIDGET_H
-#define QGSFILLSTYLEWIDGET_H
-
-#include "ui_qgsfillstylewidgetbase.h"
-#include <QDialog>
-
-class QgsFillStyleWidget:public QDialog, Ui::QgsFillStyleWidgetBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor
-  QgsFillStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
-
-  ~QgsFillStyleWidget();
-
-
-public slots:
-  
-private:
-    
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,110 +0,0 @@
-/***************************************************************************
-                         qgsgeomtypedialog.cpp  -  description
-                             -------------------
-    begin                : October 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgeomtypedialog.cpp 6438 2007-01-16 20:22:43Z telwertowski $ */
-
-#include "qgsgeomtypedialog.h"
-#include "qgsaddattrdialog.h"
-
-QgsGeomTypeDialog::QgsGeomTypeDialog(QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-    setupUi(this);
-    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
-    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
-
-    mPointRadioButton->setChecked(true);
-    mAttributeView->removeColumn(0);
-    mAttributeView->addColumn(tr("Name"));
-    mAttributeView->addColumn(tr("Type"));
-    mFileFormatComboBox->insertItem("ESRI Shapefile");
-    /*mFileFormatComboBox->insertItem("Comma Separated Value");
-    mFileFormatComboBox->insertItem("GML");
-    mFileFormatComboBox->insertItem("Mapinfo File");*/
-}
-
-QgsGeomTypeDialog::~QgsGeomTypeDialog()
-{
-
-}
-
-QGis::WKBTYPE QgsGeomTypeDialog::selectedType() const
-{
-    if(mPointRadioButton->isChecked())
-    {
-	return QGis::WKBPoint;
-    }
-    else if(mLineRadioButton->isChecked())
-    {
-	return QGis::WKBLineString;
-    }
-    else if(mPolygonRadioButton->isChecked())
-    {
-	return QGis::WKBPolygon;
-    }
-
-    return QGis::WKBUnknown;
-}
-
-void QgsGeomTypeDialog::on_mAddAttributeButton_clicked()
-{
-    std::list<QString> types;
-    types.push_back("Real");
-    types.push_back("Integer");
-    types.push_back("String");
-    QgsAddAttrDialog d(types, this);
-    if(d.exec()==QDialog::Accepted)
-    {
-	Q3ListViewItem* attritem=new Q3ListViewItem(mAttributeView, d.name(), d.type());
-    }
-    if(mAttributeView->childCount()>0)
-    {
-	mOkButton->setEnabled(true);
-    }
-}
-
-void QgsGeomTypeDialog::on_mRemoveAttributeButton_clicked()
-{
-    delete(mAttributeView->currentItem());
-    if(mAttributeView->childCount()==0)
-    {
-	mOkButton->setEnabled(false);	
-    }
-    
-}
-
-void QgsGeomTypeDialog::on_btnHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}
-void QgsGeomTypeDialog::attributes(std::list<std::pair<QString, QString> >& at) const
-{
-    Q3ListViewItemIterator it(mAttributeView);
-    while ( it.current() ) 
-    {
-	Q3ListViewItem *item = it.current();
-	at.push_back(std::make_pair(item->text(0), item->text(1)));
-#ifdef QGISDEBUG
-	qWarning(("appending "+item->text(0)+"//"+item->text(1)).toLocal8Bit().data());
-#endif	
-	++it;
-    }
-}
-
-QString QgsGeomTypeDialog::selectedFileFormat() const
-{
-    return mFileFormatComboBox->currentText();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgeomtypedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,49 +0,0 @@
-/***************************************************************************
-                         qgsgeomtypedialog.h  -  description
-                             -------------------
-    begin                : October 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgeomtypedialog.h 6438 2007-01-16 20:22:43Z telwertowski $ */
-#ifndef QGSGEOMTYPEDIALOG_H
-#define QGSGEOMTYPEDIALOG_H
-
-#include "ui_qgsgeomtypedialogbase.h"
-#include "qgisgui.h"
-#include "qgscontexthelp.h"
-
-#include "qgis.h"
-
-class QgsGeomTypeDialog: public QDialog, private Ui::QgsGeomTypeDialogBase
-{
-  Q_OBJECT
-  public:
-  QgsGeomTypeDialog(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-  ~QgsGeomTypeDialog();
-  /**Returns the selected geometry type*/
-  QGis::WKBTYPE selectedType() const;
-  /**Appends the chosen attribute names and types to at*/
-  void attributes(std::list<std::pair<QString, QString> >& at) const;
-  /**Returns the file format for storage*/
-  QString selectedFileFormat() const;
-  
-  protected slots:
-  void on_mAddAttributeButton_clicked();
-  void on_mRemoveAttributeButton_clicked();
-  void on_btnHelp_clicked();
-  private:
-  static const int context_id = 165149618;
-  
-};
-
-#endif //QGSGEOMTYPEDIALOG_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,402 +0,0 @@
-/***************************************************************************
-                         qgsgraduatedsymboldialog.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgraduatedsymboldialog.cpp 6816 2007-03-18 11:43:41Z homann $ */
-
-#include "qgsgraduatedsymboldialog.h"
-#include "qgsfield.h"
-#include "qgsgraduatedsymbolrenderer.h"
-#include "qgsludialog.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-
-
-QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(QgsVectorLayer * layer): QDialog(), mVectorLayer(layer), sydialog(layer)
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    qWarning("constructor QgsGraduatedSymbolDialog");
-#endif
-
-    setOrientation(Qt::Vertical);
-    setSizeGripEnabled(true);
-
-    //find out the numerical fields of mVectorLayer
-    QgsVectorDataProvider *provider;
-    if (provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider()))
-    {
-	std::vector < QgsField > const & fields = provider->fields();
-	int fieldnumber = 0;
-	QString str;
-	
-	for (std::vector < QgsField >::const_iterator it = fields.begin(); 
-             it != fields.end(); 
-             ++it)
-        {
-	    QString type = (*it).type();
-	    if (type != "String" && type != "varchar" && type != "geometry")
-            {
-		str = (*it).name();
-		classificationComboBox->insertItem(str);
-		mFieldMap.insert(std::make_pair(str, fieldnumber));
-            }
-	    fieldnumber++;
-        }
-    } 
-    else
-    {
-	qWarning("Warning, data provider is null in QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(...)");
-	return;
-    }
-
-    modeComboBox->insertItem( tr("Empty") );
-    modeComboBox->insertItem( tr("Equal Interval") );
-    
-    //restore the correct settings
-    const QgsGraduatedSymbolRenderer* renderer = dynamic_cast < const QgsGraduatedSymbolRenderer * >(layer->renderer());
-    
-    if (renderer)
-    {
-	std::list < QgsSymbol * >list = renderer->symbols();
-	
-	//display the classification field
-	QString classfield="";
-	for(std::map<QString,int>::iterator it=mFieldMap.begin();it!=mFieldMap.end();++it)
-	{
-	    if(it->second==renderer->classificationField())
-	    {
-		classfield=it->first;
-		break;
-	    }
-	}
-	classificationComboBox->setCurrentText(classfield);
-
-	QGis::VectorType m_type = mVectorLayer->vectorType();
-	numberofclassesspinbox->setValue(list.size());
-	//fill the items of the renderer into mValues
-	for(std::list<QgsSymbol*>::iterator it=list.begin();it!=list.end();++it)
-	{
-	    //todo: make an assignment operator and a copy constructor for QgsSymbol
-		QString classbreak=(*it)->lowerValue()+" - "+(*it)->upperValue();
-		QgsSymbol* sym=new QgsSymbol(mVectorLayer->vectorType(), (*it)->lowerValue(), (*it)->upperValue(), (*it)->label());
-		sym->setPen((*it)->pen());
-		sym->setBrush((*it)->brush());
-		sym->setNamedPointSymbol((*it)->pointSymbolName());
-		sym->setPointSize((*it)->pointSize());
-		mEntries.insert(std::make_pair(classbreak,sym));
-		mClassBreakBox->insertItem(classbreak);
-	}
-	
-    }
-    
-    //do the necessary signal/slot connections
-    QObject::connect(numberofclassesspinbox, SIGNAL(valueChanged(int)), this, SLOT(adjustClassification()));
-    QObject::connect(classificationComboBox, SIGNAL(activated(int)), this, SLOT(adjustClassification()));
-    QObject::connect(modeComboBox, SIGNAL(activated(int)), this, SLOT(adjustClassification()));
-    QObject::connect(mClassBreakBox, SIGNAL(selectionChanged()), this, SLOT(changeCurrentValue()));
-    QObject::connect(&sydialog, SIGNAL(settingsChanged()), this, SLOT(applySymbologyChanges()));
-    QObject::connect(mClassBreakBox, SIGNAL(doubleClicked(Q3ListBoxItem*)), this, SLOT(changeClass(Q3ListBoxItem*)));
-
-    mSymbolWidgetStack->addWidget(&sydialog);
-    mSymbolWidgetStack->raiseWidget(&sydialog); 
-
-    mClassBreakBox->setCurrentItem(0);
-}
-
-QgsGraduatedSymbolDialog::QgsGraduatedSymbolDialog(): QDialog(), mVectorLayer(0), sydialog(0)
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    qWarning("constructor QgsGraduatedSymbolDialog");
-#endif
-}
-
-QgsGraduatedSymbolDialog::~QgsGraduatedSymbolDialog()
-{
-#ifdef QGISDEBUG
-    qWarning("destructor QgsGraduatedSymbolDialog");
-#endif
-}
-
-void QgsGraduatedSymbolDialog::adjustNumberOfClasses()
-{
-    //find out the number of the classification field
-    QString fieldstring = classificationComboBox->currentText();
-    
-    if (fieldstring.isEmpty())    //don't do anything, it there is no classification field
-    {
-	show();
-	return;
-    }
-    
-    std::map < QString, int >::iterator iter = mFieldMap.find(fieldstring);
-    int field = iter->second;
-}
-
-void QgsGraduatedSymbolDialog::apply()
-{
-	if (classificationComboBox->currentText().isEmpty())  //don't do anything, it there is no classification field
-        {
-	    return;
-        }
-	
-	QgsGraduatedSymbolRenderer* renderer = new QgsGraduatedSymbolRenderer(mVectorLayer->vectorType());
-
-	for (int item=0;item<mClassBreakBox->count();++item)
-        {
-	    QString classbreak=mClassBreakBox->text(item);
-	    std::map<QString,QgsSymbol*>::iterator it=mEntries.find(classbreak);
-	    if(it==mEntries.end())
-	    {
-		continue;
-	    }
-	
-	    QString lower_bound=it->second->lowerValue();
-	    QString upper_bound=it->second->upperValue();
-	    QString label=it->second->label();
-
-	    QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType(), lower_bound, upper_bound, label);
-	    
-	    sy->setColor(it->second->pen().color());
-	    sy->setLineStyle(it->second->pen().style());
-	    sy->setLineWidth(it->second->pen().width());
-	    
-	    if (mVectorLayer->vectorType() == QGis::Point)
-	    {
-		sy->setNamedPointSymbol(it->second->pointSymbolName());
-		sy->setPointSize(it->second->pointSize());
-	     
-	    }
-	    
-	    if (mVectorLayer->vectorType() != QGis::Line)
-            {
-		sy->setFillColor(it->second->brush().color());
-		sy->setFillStyle(it->second->brush().style());
-            }
-	    
-	    //test, if lower_bound is numeric or not (making a subclass of QString would be the proper solution)
-	    bool lbcontainsletter = false;
-	    for (uint j = 0; j < lower_bound.length(); j++)
-            {
-		if (lower_bound.ref(j).isLetter())
-                {
-		    lbcontainsletter = true;
-                }
-            }
-	    
-	    //test, if upper_bound is numeric or not (making a subclass of QString would be the proper solution)
-	    bool ubcontainsletter = false;
-	    for (uint j = 0; j < upper_bound.length(); j++)
-            {
-		if (upper_bound.ref(j).isLetter())
-                {
-		    ubcontainsletter = true;
-                }
-            }
-	    if (lbcontainsletter == false && ubcontainsletter == false && lower_bound.length() > 0 && upper_bound.length() > 0) //only add the item if the value bounds do not contain letters and are not null strings
-            {
-		renderer->addSymbol(sy);
-	    }
-	    else
-	    {
-		delete sy;
-	    }
-        }
-	
-	std::map<QString,int>::iterator iter=mFieldMap.find(classificationComboBox->currentText());
-	if(iter!=mFieldMap.end())
-	{
-	   renderer->setClassificationField(iter->second);
-	}
-	mVectorLayer->setRenderer(renderer);
-	mVectorLayer->refreshLegend();
-}
-
-void QgsGraduatedSymbolDialog::adjustClassification()
-{
-    mClassBreakBox->clear();
-    QGis::VectorType m_type = mVectorLayer->vectorType();
-    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider());
-    double minimum, maximum;
-    
-    //delete all previous entries
-    for(std::map<QString, QgsSymbol*>::iterator it=mEntries.begin();it!=mEntries.end();++it)
-    {
-	delete it->second;
-    }
-    mEntries.clear();
-
-    //find out the number of the classification field
-    QString fieldstring = classificationComboBox->currentText();
-
-    if (fieldstring.isEmpty())    //don't do anything, it there is no classification field
-    {
-	show();
-	return;
-    }
-    
-    std::map < QString, int >::iterator iter = mFieldMap.find(fieldstring);
-    int field = iter->second;
-
-    if (provider)
-    {
-	if (modeComboBox->currentText() == tr("Equal Interval") )
-	{
-	    minimum = provider->minValue(field).toDouble();
-	    maximum = provider->maxValue(field).toDouble();
-	} 
-	else                    //don't waste performance if mMode is QgsGraduatedSymbolDialog::EMPTY
-	{
-	    minimum = 0;
-	    maximum = 0;
-	}
-    }
- 
-    
-    QString listboxtext;
-    for(int i=0;i<numberofclassesspinbox->value();++i)
-    {
-	QgsSymbol* symbol = new QgsSymbol(m_type);
-	symbol->setLabel("");
-	QPen pen;
-	QBrush brush;
-
-	if (modeComboBox->currentText() == tr("Empty") )
-	{
-	    listboxtext= tr("Empty") + QString::number(i+1);
-	    mClassBreakBox->insertItem(listboxtext);
-	}
-	else if(modeComboBox->currentText() == tr("Equal Interval") )
-	{
-	    double lower=minimum + (maximum - minimum) / numberofclassesspinbox->value() * i;
-	    double upper=minimum + (maximum - minimum) / numberofclassesspinbox->value() * (i+1);
-	    if(i==0)//make sure all feature attributes are between minimum and maximum value (round off problem)
-	      {
-		lower-=0.001;
-	      }
-	    if(i==numberofclassesspinbox->value()-1)
-	      {
-		upper+=0.001;
-	      }
-	    symbol->setLowerValue(QString::number(lower,'f',3));
-	    symbol->setUpperValue(QString::number(upper,'f',3));
-	    listboxtext=QString::number(lower,'f',3)+" - " +QString::number(upper,'f',3);
-	    mClassBreakBox->insertItem(listboxtext);
-	}
-	    //set default symbology
-
-	    //apply a nice color range from red to green as default
-	    if (i == 0)
-	    {
-		if (m_type == QGis::Line)
-		{
-		    pen.setColor(QColor(255, 0, 0));
-		} 
-		else                //point or polygon
-		{
-		    brush.setColor(QColor(255, 0, 0));
-		    pen.setColor(Qt::black);
-		}
-	    } 
-	    else
-	    {
-		if (m_type == QGis::Line)
-		{
-		  pen.setColor(QColor(255 - (255 / numberofclassesspinbox->value() * (i+1)), 255 / numberofclassesspinbox->value() * (i+1), 0));
-		} 
-		else                //point or polygon
-		{
-		  brush.setColor(QColor(255 - (255 / numberofclassesspinbox->value() * (i+1)), 255 / numberofclassesspinbox->value() * (i+1), 0));  
-		  pen.setColor(Qt::black);
-		}
-	    }
-	    pen.setWidth(1);
-	    brush.setStyle(Qt::SolidPattern);
-	    symbol->setPen(pen);
-	    symbol->setBrush(brush);
-       
-	mEntries.insert(std::make_pair(listboxtext,symbol));
-    }
-    mClassBreakBox->setCurrentItem(0);
-}
-
-void QgsGraduatedSymbolDialog::changeCurrentValue()
-{
-    sydialog.blockSignals(true);//block signals to prevent sydialog from changing the current QgsRenderItem
-    Q3ListBoxItem* item=mClassBreakBox->selectedItem();
-    if(item)
-    {
-	QString value=item->text();
-	std::map<QString,QgsSymbol*>::iterator it=mEntries.find(value);
-	if(it!=mEntries.end())
-	{
-	    sydialog.set((*it).second);
-	    sydialog.setLabel((*it).second->label());
-	}
-    }
-    sydialog.blockSignals(false);
-}
-
-void QgsGraduatedSymbolDialog::applySymbologyChanges()
-{
-    Q3ListBoxItem* item=mClassBreakBox->selectedItem();
-    if(item)
-    {
-	QString value=item->text();
-	std::map<QString,QgsSymbol*>::iterator it=mEntries.find(value);
-	if(it!=mEntries.end())
-	{
-	    sydialog.apply((*it).second);
-	    it->second->setLabel((*it).second->label());
-	}
-    }
-}
-
-void QgsGraduatedSymbolDialog::changeClass(Q3ListBoxItem* item)
-{
-    QString currenttext=item->text();
-    QgsSymbol* symbol=0;
-    std::map<QString,QgsSymbol*>::iterator iter=mEntries.find(currenttext);
-    if(iter!=mEntries.end())
-    {
-	symbol=iter->second;
-    }
-    QgsLUDialog dialog(this);
-    
-    if(symbol)
-    {
-	dialog.setLowerValue(symbol->lowerValue());
-	dialog.setUpperValue(symbol->upperValue());
-    }
-
-    if(dialog.exec()==QDialog::Accepted)
-    {
-	if(symbol)
-	{
-	    mEntries.erase(currenttext);
-	    symbol->setLowerValue(dialog.lowerValue());
-	    symbol->setUpperValue(dialog.upperValue());
-	    QString newclass=dialog.lowerValue()+"-"+dialog.upperValue();
-	    mEntries.insert(std::make_pair(newclass,symbol));
-	    int index=mClassBreakBox->index(item);
-	    QObject::disconnect(mClassBreakBox, SIGNAL(selectionChanged()), this, SLOT(changeCurrentValue()));
-	    mClassBreakBox->removeItem(index);
-	    mClassBreakBox->insertItem(newclass,index);
-	    mClassBreakBox->setSelected(index,true);
-	    QObject::connect(mClassBreakBox, SIGNAL(selectionChanged()), this, SLOT(changeCurrentValue()));
-	}	
-    }
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymboldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,65 +0,0 @@
-/***************************************************************************
-                         qgsgraduatedsymboldialog.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgraduatedsymboldialog.h 4873 2006-02-18 14:10:41Z mhugent $ */
-
-#ifndef QGSGRADUATEDSYMBOLDIALOG_H
-#define QGSGRADUATEDSYMBOLDIALOG_H
-
-#include "ui_qgsgraduatedsymboldialogbase.h"
-#include "qgssinglesymboldialog.h"
-#include <map>
-
-class QgsVectorLayer;
-
-
-class QgsGraduatedSymbolDialog: public QDialog, private Ui::QgsGraduatedSymbolDialogBase
-{
-    Q_OBJECT
- public:
-    /**Enumeration describing the automatic settings of values*/
-    enum mode{EMPTY, EQUAL_INTERVAL, QUANTILES};
-    QgsGraduatedSymbolDialog(QgsVectorLayer* layer);
-    ~QgsGraduatedSymbolDialog();
- public slots:
-     void apply();
- protected slots:
-     /**Changes only the number of classes*/
-     void adjustNumberOfClasses();
-     /**Sets a new classification field and a new classification mode*/
-     void adjustClassification();
-     /**Changes the display of the single symbol dialog*/
-     void changeCurrentValue();
-     /**Writes changes in the single symbol dialog to the corresponding QgsRangeRenderItem*/
-     void applySymbologyChanges();
-     /**Shows a dialog to modify lower and upper values*/
-     void changeClass(Q3ListBoxItem* item);
- protected:
-     /**Pointer to the associated vector layer*/
-     QgsVectorLayer* mVectorLayer;
-     /**Stores the names and numbers of the fields with numeric values*/
-     std::map<QString,int> mFieldMap;
-     /**Stores the classes*/
-     std::map<QString,QgsSymbol*> mEntries;
-     /**Dialog which shows the settings of the activated class*/
-     QgsSingleSymbolDialog sydialog;
-     int mClassificationField;
- private:
-     /**Default constructor is privat to not use is*/
-     QgsGraduatedSymbolDialog();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,217 +0,0 @@
-/***************************************************************************
-                         qgssinglesymbolrenderer.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgraduatedsymbolrenderer.cpp 6502 2007-02-03 11:10:48Z mhugent $ */
-#include <cfloat>
-#include "qgis.h"
-#include "qgsfeature.h"
-#include "qgsgraduatedsymbolrenderer.h"
-#include "qgslegendsymbologyitem.h"
-#include "qgssymbologyutils.h"
-#include <QDomNode>
-#include <QDomElement>
-#include <QPixmap>
-
-
-QgsGraduatedSymbolRenderer::QgsGraduatedSymbolRenderer(QGis::VectorType type)
-{
-    mVectorType=type;
-    //call superclass method to set up selection colour
-    initialiseSelectionColor();
-}
-
-QgsGraduatedSymbolRenderer::QgsGraduatedSymbolRenderer(const QgsGraduatedSymbolRenderer& other)
-{
-    mVectorType = other.mVectorType;
-    mClassificationField = other.mClassificationField;
-    const std::list<QgsSymbol*> s = other.symbols();
-    for(std::list<QgsSymbol*>::const_iterator it=s.begin(); it!=s.end(); ++it)
-    {
-	addSymbol(new QgsSymbol(**it));
-    }
-}
-
-QgsGraduatedSymbolRenderer& QgsGraduatedSymbolRenderer::operator=(const QgsGraduatedSymbolRenderer& other)
-{
-    if(this != &other)
-    {
-        mVectorType = other.mVectorType; 
-        mClassificationField = other.mClassificationField;
-        removeSymbols();
-        const std::list<QgsSymbol*> s = other.symbols();
-        for(std::list<QgsSymbol*>::const_iterator it=s.begin(); it!=s.end(); ++it)
-        {
-            addSymbol(new QgsSymbol(**it));
-        }
-    }
-
-    return *this;
-}
-
-QgsGraduatedSymbolRenderer::~QgsGraduatedSymbolRenderer()
-{
- 
-}
-
-const std::list<QgsSymbol*> QgsGraduatedSymbolRenderer::symbols() const
-{
-    return mSymbols;
-}
-
-void QgsGraduatedSymbolRenderer::removeSymbols()
-{
-    //free the memory first
-    for (std::list < QgsSymbol * >::iterator it = mSymbols.begin(); it != mSymbols.end(); ++it)
-    {
-	delete *it;
-    }
-
-    //and remove the pointers then
-    mSymbols.clear();
-}
-
-bool QgsGraduatedSymbolRenderer::willRenderFeature(QgsFeature *f)
-{
-  std::list < QgsSymbol* >::iterator it = firstSymbolForFeature(f);
-  if (it == mSymbols.end())      //only draw features which are covered by a render item 
-    {
-      return false;
-    }
-  return true;
-}
-
-void QgsGraduatedSymbolRenderer::renderFeature(QPainter * p, QgsFeature * f, QPixmap* pic, 
-	double* scalefactor, bool selected, double widthScale)
-{
-  std::list < QgsSymbol* >::iterator it = firstSymbolForFeature(f);
-
-  if (it == mSymbols.end())      //only draw features which are covered by a render item
-  {
-    p->setPen(QPen(Qt::NoPen));
-    p->setBrush(QBrush(Qt::NoBrush));
-    return;
-  } 
-  else
-  {
-    //set the qpen and qpainter to the right values
-    // Point 
-    if ( pic && mVectorType == QGis::Point ) 
-    {
-      *pic = (*it)->getPointSymbolAsPixmap(  widthScale,
-          selected, mSelectionColor );
-
-      if ( scalefactor ) *scalefactor = 1;
-    } 
-
-    // Line, polygon
-    if ( mVectorType != QGis::Point )
-    {
-      if( !selected ) 
-      {
-        QPen pen=(*it)->pen();
-        pen.setWidthF ( widthScale * pen.width() );
-        p->setPen(pen);
-        p->setBrush((*it)->brush());
-      }
-      else
-      {
-        QPen pen=(*it)->pen();
-        pen.setColor(mSelectionColor);
-        pen.setWidthF ( widthScale * pen.width() );
-        QBrush brush=(*it)->brush();
-        brush.setColor(mSelectionColor);
-        p->setPen(pen);
-        p->setBrush(brush);
-      }
-    }
-  }
-}
-
-std::list < QgsSymbol* >::iterator QgsGraduatedSymbolRenderer::firstSymbolForFeature(QgsFeature *f) 
-{
-  //first find out the value for the classification attribute
-  std::vector < QgsFeatureAttribute > vec = f->attributeMap();
-  double value = vec[0].fieldValue().toDouble();
-  
-  std::list < QgsSymbol* >::iterator it;
-  //find the first render item which contains the feature
-  for (it = mSymbols.begin(); it != mSymbols.end(); ++it)
-  {
-    if (value >= (*it)->lowerValue().toDouble() && value <= (*it)->upperValue().toDouble())
-    {
-      break;
-    }
-  }
-  return it;
-}
-
-void QgsGraduatedSymbolRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
-{
-    mVectorType = vl.vectorType();
-    QDomNode classnode = rnode.namedItem("classificationfield");
-    int classificationfield = classnode.toElement().text().toInt();
-   
-    this->setClassificationField(classificationfield);
-
-    QDomNode symbolnode = rnode.namedItem("symbol");
-    while (!symbolnode.isNull())
-    {
-	QgsSymbol* sy = new QgsSymbol(mVectorType);
-	sy->readXML ( symbolnode );
-	this->addSymbol(sy);
-
-	symbolnode = symbolnode.nextSibling();
-    }
-
-    vl.setRenderer(this);
-}
-
-std::list<int> QgsGraduatedSymbolRenderer::classificationAttributes() const
-{
-    std::list<int> list;
-    list.push_back(mClassificationField);
-    return list;
-}
-
-QString QgsGraduatedSymbolRenderer::name() const
-{
-    return "Graduated Symbol";
-}
-
-bool QgsGraduatedSymbolRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
-{
-    bool returnval=true;
-    QDomElement graduatedsymbol=document.createElement("graduatedsymbol");
-    layer_node.appendChild(graduatedsymbol);
-    QDomElement classificationfield=document.createElement("classificationfield");
-    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
-    classificationfield.appendChild(classificationfieldtxt);
-    graduatedsymbol.appendChild(classificationfield);
-    for(std::list<QgsSymbol*>::const_iterator it=mSymbols.begin();it!=mSymbols.end();++it)
-    {
-	if(!(*it)->writeXML(graduatedsymbol,document))
-	{
-	    returnval=false;
-	}
-    }
-    return returnval;
-}
-
-QgsRenderer* QgsGraduatedSymbolRenderer::clone() const
-{
-    QgsGraduatedSymbolRenderer* r = new QgsGraduatedSymbolRenderer(*this);
-    return r;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsgraduatedsymbolrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,109 +0,0 @@
-/***************************************************************************
-                         qgsgraduatedsymbolrenderer.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsgraduatedsymbolrenderer.h 6502 2007-02-03 11:10:48Z mhugent $ */
-
-#ifndef QGSGRADUATEDSYMBOLRENDERER_H
-#define QGSGRADUATEDSYMBOLRENDERER_H
-
-#include <QPixmap>
-#include "qgsrenderer.h"
-#include "qgsrangerenderitem.h"
-#include <list>
-#include <iostream>
-#include "qgspoint.h"
-#include "qpainter.h"
-#include "qgsmaptopixel.h"
-#include "qgsfeature.h"
-#include "qgsvectorlayer.h"
-
-/**This class contains the information for graduate symbol rendering*/
-class QgsGraduatedSymbolRenderer: public QgsRenderer
-{
- public:
-    QgsGraduatedSymbolRenderer(QGis::VectorType type);
-    QgsGraduatedSymbolRenderer(const QgsGraduatedSymbolRenderer& other);
-    QgsGraduatedSymbolRenderer& operator=(const QgsGraduatedSymbolRenderer& other);
-    virtual ~QgsGraduatedSymbolRenderer();
-    /**Adds a new item
-    \param sy a pointer to the QgsSymbol to be inserted. It has to be created using the new operator and is automatically destroyed when 'removeItems' is called or when this object is destroyed*/
-    void addSymbol(QgsSymbol* sy);
-    /**Returns the number of the classification field*/
-    int classificationField() const;
-    /**Removes all symbols*/
-    void removeSymbols();
-    /**Determines if an OGRFeature is in range of any symbol's upper and lower bounds 
-     @param f a pointer to the feature to check*/ 
-    bool willRenderFeature(QgsFeature *f); 
-    /**Renders an OGRFeature
-     \param p a painter (usually the one from the current map canvas)
-     \param f a pointer to a feature to render
-     \param t the transform object containing the information how to transform the map coordinates to screen coordinates*/
-    void renderFeature(QPainter* p, QgsFeature* f, QPixmap* pic, double* scalefactor, bool selected, double widthScale = 1.);
-    /**Sets the number of the classicifation field
-    \param field the number of the field to classify*/
-    void setClassificationField(int field);
-    /**Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-     @param vl the vector layer which will be associated with the renderer*/
-    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
-    /**Writes the contents of the renderer to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
-    /** Returns true*/
-    bool needsAttributes() const;
-    /**Returns a list with the index to the classification field*/
-    std::list<int> classificationAttributes() const;
-    /**Returns the renderers name*/
-    QString name() const;
-    /**Returns the symbols of the items*/
-    const std::list<QgsSymbol*> symbols() const;
-    /**Returns a copy of the renderer (a deep copy on the heap)*/
-    QgsRenderer* clone() const;
- protected:
-    /**Index of the classification field (it must be a numerical field)*/
-    int mClassificationField;
-    /**List holding the symbols for the individual classes*/
-    std::list<QgsSymbol*> mSymbols;
-
- private:
-    /**Helper function for finding symbol having feature value in range*/ 
-    std::list < QgsSymbol* >::iterator firstSymbolForFeature(QgsFeature *f); 
-    
-};
-
-inline void QgsGraduatedSymbolRenderer::addSymbol(QgsSymbol* sy)
-{
-    mSymbols.push_back(sy);
-}
-
-inline int QgsGraduatedSymbolRenderer::classificationField() const
-{
-    return mClassificationField;
-}
-
-inline void QgsGraduatedSymbolRenderer::setClassificationField(int field)
-{
-    mClassificationField=field;
-}
-
-inline bool QgsGraduatedSymbolRenderer::needsAttributes() const
-{
-    return true;
-}
-
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,41 +0,0 @@
-/***************************************************************************
-                          qgshelpviewer.cpp 
- Simple help browser
-                             -------------------
-    begin                : 2004-01-28
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgshelpviewer.cpp 4774 2006-01-29 01:37:36Z g_j_m $ */
-
-#include "qgshelpviewer.h"
-
-#include <QString>
-
-QgsHelpViewer::QgsHelpViewer(QWidget * parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-  setupUi(this);
-}
-
-/*
- *  Destroys the object and frees any allocated resources
- */
-QgsHelpViewer::~QgsHelpViewer()
-{
-  // no need to delete child widgets, Qt does it all for us
-}
-void QgsHelpViewer::showContent(QString path, QString doc)
-{
-  //textBrowser->mimeSourceFactory()->addFilePath(path);
-  //textBrowser->setSource(doc);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgshelpviewer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,39 +0,0 @@
-/***************************************************************************
-                                qgshelpviewer.h 
-                              Simple help browser
-                             -------------------
-    begin                : 2004-01-28
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgshelpviewer.h 4774 2006-01-29 01:37:36Z g_j_m $ */
-
-#ifndef QGSHELPVIEWER_H
-#define QGSHELPVIEWER_H
-
-#include "ui_qgshelpviewerbase.h"
-
-class QString;
-
-class QgsHelpViewer : public QDialog, private Ui::QgsHelpViewerBase
-{
-    Q_OBJECT
-
-public:
-    QgsHelpViewer( QWidget* parent = 0, Qt::WFlags fl = 0 );
-    ~QgsHelpViewer();
-    void showContent(QString path, QString doc);
-
-
-};
-
-#endif // QGSHELPVIEWER_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,309 +0,0 @@
-/***************************************************************************
-                     qgsidentifyresults.cpp  -  description
-                              -------------------
-      begin                : Fri Oct 25 2002
-      copyright            : (C) 2002 by Gary E.Sherman
-      email                : sherman at mrcc dot com
-      Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsidentifyresults.cpp 6255 2006-12-15 09:21:43Z g_j_m $ */
-
-#include "qgsidentifyresults.h"
-#include "qgscontexthelp.h"
-#include "qgsapplication.h"
-
-#include <QCloseEvent>
-#include <QLabel>
-#include <QAction>
-#include <QTreeWidgetItem>
-#include <QPixmap>
-#include <QSettings>
-#include <QMenu>
-
-#include <iostream>
-
-QgsIdentifyResults::QgsIdentifyResults(const QgsAttributeAction& actions,
-    QWidget *parent, Qt::WFlags f)
-: QDialog(parent, f),
-  mActions(actions),
-  mClickedOnValue(0),
-  mActionPopup(0)
-{
-  setupUi(this);
-  lstResults->setColumnCount(2);
-  setColumnText(0, tr("Feature"));
-  setColumnText(1, tr("Value"));
-
-  connect( buttonCancel, SIGNAL(clicked()),
-      this, SLOT(close()) );
-  connect( lstResults, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
-      this, SLOT(clicked(QTreeWidgetItem *)) );
-  connect( lstResults, SIGNAL(itemExpanded(QTreeWidgetItem*)),
-           this, SLOT(itemExpanded(QTreeWidgetItem*)));
-}
-
-QgsIdentifyResults::~QgsIdentifyResults()
-{
-  delete mActionPopup;
-}
-
-// Call to show the dialog box.
-void QgsIdentifyResults::show()
-{
-  // Enfore a few things before showing the dialog box
-  lstResults->sortItems(0, Qt::Ascending);
-  expandColumnsToFit();
-
-  QDialog::show();
-}
-// Slot called when user clicks the Close button
-// (saves the current window size/position)
-void QgsIdentifyResults::close()
-{
-  saveWindowLocation();
-  done(0);
-}
-// Save the current window size/position before closing 
-// from window menu or X in titlebar
-void QgsIdentifyResults::closeEvent(QCloseEvent *e)
-{
-  // We'll close in our own good time thanks...
-  e->ignore();
-  close();
-}
-
-// Popup (create if necessary) a context menu that contains a list of
-// actions that can be applied to the data in the identify results
-// dialog box.
-
-void QgsIdentifyResults::contextMenuEvent(QContextMenuEvent* event)
-{
-  QTreeWidgetItem* item = lstResults->itemAt(lstResults->viewport()->mapFrom(this, event->pos()));
-  // if the user clicked below the end of the attribute list, just return
-  if (item == NULL)
-    return;
-  
-  // The assumption is made that an instance of QgsIdentifyResults is
-  // created for each new Identify Results dialog box, and that the
-  // contents of the popup menu doesn't change during the time that
-  // such a dialog box is around.
-  if (mActionPopup == 0)
-  {
-    mActionPopup = new QMenu();
-    QAction* a = mActionPopup->addAction( tr("Run action") );
-    a->setEnabled(false);
-    mActionPopup->addSeparator();
-
-    QgsAttributeAction::aIter iter = mActions.begin();
-    for (int j = 0; iter != mActions.end(); ++iter, ++j)
-    {
-      QAction* a = mActionPopup->addAction(iter->name());
-      // The menu action stores an integer that is used later on to
-      // associate an menu action with an actual qgis action.
-      a->setData(QVariant::fromValue(j));
-    }
-    connect(mActionPopup, SIGNAL(triggered(QAction*)),
-            this, SLOT(popupItemSelected(QAction*)));
-  }
-  // Save the attribute values as these are needed for substituting into
-  // the action. 
-  // A little bit complicated because the user could of right-clicked
-  // on a parent or a child in the dialog box. We also want to keep
-  // track of which row in the identify results table was actually
-  // clicked on. This is stored as an index into the mValues vector.
-
-  QTreeWidgetItem* parent = item->parent();
-  if (parent == 0)
-    parent = item;
-
-  mValues.clear();
-  for (int j = 0; j < parent->childCount(); ++j)
-  {
-    if ( parent->child(j)->text(0) != "action" ) {
-      mValues.push_back(std::make_pair(parent->child(j)->text(0), 
-                                       parent->child(j)->text(1)));
-      // Need to do the comparison on the text strings rather than the
-      // pointers because if the user clicked on the parent, we need
-      // to pick up which child that actually is (the parent in the
-      // identify results dialog box is just one of the children
-      // that has been chosen by some method).
-      if (parent->child(j)->text(0) == item->text(0))
-        mClickedOnValue = j;
-    }
-  }
-
-  if (mActions.size() > 0)
-    mActionPopup->popup(event->globalPos());
-}
-
-// Restore last window position/size and show the window
-void QgsIdentifyResults::restorePosition()
-{
-
-  QSettings settings;
-  QPoint pos = settings.value("/Windows/Identify/pos", 
-                              QPoint(100,100)).toPoint();
-QSize size = settings.value("/Windows/Identify/size", 
-                            QSize(281,316)).toSize();
-  //std::cerr << "Setting geometry: " << wx << ", " << wy << ", " << ww << ", " << wh << std::endl;
-  resize(size);
-  move(pos);
-  show();
-  //std::cerr << "Current geometry: " << x() << ", " << y() << ", " << width() << ", " << height() << std::endl; 
-}
-// Save the current window location (store in ~/.qt/qgisrc)
-void QgsIdentifyResults::saveWindowLocation()
-{
-  QSettings settings;
-  settings.setValue("/Windows/Identify/pos", this->pos());
-  settings.setValue("/Windows/Identify/size", this->size());
-} 
-
-/** add an attribute and its value to the list */
-void QgsIdentifyResults::addAttribute(QTreeWidgetItem * fnode, QString field, QString value)
-{
-  QStringList labels;
-  labels << field << value;
-  new QTreeWidgetItem(fnode, labels);
-}
-
-void QgsIdentifyResults::addAttribute(QString field, QString value)
-{
-  QStringList labels;
-  labels << field << value;
-  new QTreeWidgetItem(lstResults, labels);
-}
-
-void QgsIdentifyResults::addDerivedAttribute(QTreeWidgetItem * fnode, QString field, QString value)
-{
-  QTreeWidgetItem * daRootNode;
-
-  // Determine if this is the first derived attribute for this
-  // feature or not
-  if (mDerivedAttributeRootNodes.find(fnode) != mDerivedAttributeRootNodes.end())
-  {
-    // Reuse existing derived-attribute root node
-    daRootNode = mDerivedAttributeRootNodes[fnode];
-  }
-  else
-  {
-    // Create new derived-attribute root node
-    daRootNode = new QTreeWidgetItem(fnode, QStringList(tr("(Derived)")));
-    QFont font = daRootNode->font(0);
-    font.setItalic(true);
-    daRootNode->setFont(0, font);
-  }
-
-  QStringList labels;
-  labels << field << value;
-  new QTreeWidgetItem(daRootNode, labels);
-}
-
-void QgsIdentifyResults::addAction(QTreeWidgetItem * fnode, int id, QString field, QString value)
-{
-  QStringList labels;
-  labels << field << value << "action" << QString::number(id);
-  QTreeWidgetItem *item = new QTreeWidgetItem(fnode, labels );
-
-  QPixmap pm ( QgsApplication::themePath() + "/mAction.png" );
-  item->setIcon ( 0, QIcon(pm) ); 
-}
-
-/** Add a feature node to the list */
-QTreeWidgetItem *QgsIdentifyResults::addNode(QString label)
-{
-  return (new QTreeWidgetItem(lstResults, QStringList(label)));
-}
-
-void QgsIdentifyResults::setTitle(QString title)
-{
-  setWindowTitle(tr("Identify Results - ") + title);
-}
-
-void QgsIdentifyResults::setColumnText ( int column, const QString & label )
-{
-  QTreeWidgetItem* header = lstResults->headerItem();
-  header->setText ( column, label );
-}
-
-// Run the action that was selected in the popup menu
-void QgsIdentifyResults::popupItemSelected(QAction* menuAction)
-{
-  int id = menuAction->data().toInt();
-  mActions.doAction(id, mValues, mClickedOnValue);
-}
-
-/** Expand all the identified features (show their attributes). */
-void QgsIdentifyResults::showAllAttributes() 
-{
-  // Easy now with Qt 4.2...
-  lstResults->expandAll();
-}
-
-void QgsIdentifyResults::expandColumnsToFit()
-{
-  lstResults->resizeColumnToContents(0);
-  lstResults->resizeColumnToContents(1);
-}
-
-void QgsIdentifyResults::clear()
-{
-  lstResults->clear();
-}
-
-void QgsIdentifyResults::setMessage( QString shortMsg, QString longMsg )
-{
-  QStringList labels;
-  labels << shortMsg << longMsg;
-  new QTreeWidgetItem(lstResults, labels );
-}
-
-void QgsIdentifyResults::setActions( const QgsAttributeAction& actions  )
-{
-  mActions = actions;
-}
-
-void QgsIdentifyResults::clicked ( QTreeWidgetItem *item )
-{
-  if ( !item ) return;
-
-  if ( item->text(2) != "action" ) return;
-
-  int id = item->text(3).toInt();
-
-  QTreeWidgetItem* parent = item->parent();
-  if (parent == 0)
-    parent = item;
-
-  mValues.clear();
-
-  for (int j = 0; j < parent->childCount(); ++j)
-  {
-    if ( parent->child(j)->text(0) != "action" ) {
-      mValues.push_back(std::make_pair(parent->child(j)->text(0), 
-                                       parent->child(j)->text(1)));
-      if (parent->child(j)->text(0) == item->text(0))
-        mClickedOnValue = j;
-    }
-  }
-
-  mActions.doAction(id, mValues, mClickedOnValue);
-}
-void QgsIdentifyResults::on_buttonHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}
-
-void QgsIdentifyResults::itemExpanded(QTreeWidgetItem* item)
-{
-  expandColumnsToFit();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsidentifyresults.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,122 +0,0 @@
-/***************************************************************************
-                      qgsidentifyresults.h  -  description
-                               ------------------
-        begin                : Fri Oct 25 2002
-        copyright            : (C) 2002 by Gary E.Sherman
-        email                : sherman at mrcc dot com
-        Romans 3:23=>Romans 6:23=>Romans 5:8=>Romans 10:9,10=>Romans 12
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsidentifyresults.h 6090 2006-11-16 02:27:32Z gsherman $ */
-#ifndef QGSIDENTIFYRESULTS_H
-#define QGSIDENTIFYRESULTS_H
-
-#include "ui_qgsidentifyresultsbase.h"
-#include "qgsattributeaction.h"
-#include <QWidget>
-#include <vector>
-#include <map>
-
-class QCloseEvent;
-class QTreeWidgetItem;
-class QAction;
-class QMenu;
-
-/**
- *@author Gary E.Sherman
- */
-
-class QgsIdentifyResults: public QDialog, private Ui::QgsIdentifyResultsBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor - takes it own copy of the QgsAttributeAction so
-  // that it is independent of whoever created it.
-  QgsIdentifyResults(const QgsAttributeAction& actions, QWidget *parent = 0, Qt::WFlags f = 0);
-
-  ~QgsIdentifyResults();
-
-  /** Add an attribute to the feature display node */
-  void addAttribute(QTreeWidgetItem *parent, QString field, QString value);
-
-  /** Add an attribute */
-  void addAttribute(QString field, QString value);
-
-  /** Add a derived attribute (e.g. Length, Area) to the feature display node */
-  void addDerivedAttribute(QTreeWidgetItem *parent, QString field, QString value);
-
-  /** Add an action to the feature display node */
-  void addAction(QTreeWidgetItem *parent, int id, QString field, QString value);
-
-  /** Add a feature node to the feature display */
-  QTreeWidgetItem * addNode(QString label);
-  /** Set the title for the identify results dialog */
-  void setTitle(QString title);
-  /** Set header column */
-  void setColumnText ( int column, const QString & label );
-  void saveWindowLocation();
-  void restorePosition();  
-  void closeEvent(QCloseEvent *e);
-  void showAllAttributes();
-
-  /** Resize all of the columns to fit the data in them */
-  void expandColumnsToFit();
-
-  /** Remove results */
-  void clear();
-  
-  /** Set "No features ... " */
-  void setMessage( QString shortMsg, QString longMsg );
-
-  /** Set actions */
-  void setActions ( const QgsAttributeAction& actions );
-  
-  //void accept();
-  //void reject();
-
-  public slots:
-
-    void show();
-
-    void close();
-    void contextMenuEvent(QContextMenuEvent*);
-    void popupItemSelected(QAction* menuAction);
-
-    /* Item in tree was clicked */
-    void clicked ( QTreeWidgetItem *lvi );
-
-    //! Context help
-    void on_buttonHelp_clicked();
-
-    /* Called when an item is expanded so that we can ensure that the
-       column width if expanded to show it */
-    void itemExpanded(QTreeWidgetItem*);
-
- private:
-  
-  QgsAttributeAction mActions;
-  int mClickedOnValue;
-  QMenu* mActionPopup;
-  std::vector<std::pair<QString, QString> > mValues;
-  static const int context_id = 689216579;
-
-  /**
-   Keeps track of what derived-attribute (e.g. Length, Area)
-   root nodes have been generated for each feature in this widget.
-
-   First item:  Feature root node
-   Second item: Derived-attribute root node for that feature
-   */
-  std::map<QTreeWidgetItem *, QTreeWidgetItem *> mDerivedAttributeRootNodes;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslabel.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslabel.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslabel.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1056 +0,0 @@
-/***************************************************************************
-                         qgslabel.cpp - render vector labels
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#include <iostream>
-#include <fstream>
-#include <math.h> //needed for win32 build (ts)
-
-#include <QString>
-#include <QFont>
-#include <QFontMetrics>
-
-#include <QPainter>
-#include <QDomNode>
-#include <QDomElement>
-
-#include "qgis.h"
-#include "qgsfeature.h"
-#include "qgsfield.h"
-#include "qgsrect.h"
-#include "qgsmaptopixel.h"
-#include "qgscoordinatetransform.h"
-
-#include "qgslabelattributes.h"
-#include "qgslabeldialog.h"
-#include "qgslabel.h"
-
-// use M_PI define PI 3.141592654
-#ifdef WIN32
-#undef M_PI
-#define M_PI 4*atan(1.0)
-#endif
-
-static const char * const ident_ =
-    "$Id: qgslabel.cpp 5686 2006-08-10 16:19:19Z rblazek $";
-
-
-QgsLabel::QgsLabel( std::vector<QgsField> const & fields )
-{
-
-    mField = fields;
-    mLabelField.resize ( LabelFieldCount );
-    mLabelFieldIdx.resize ( LabelFieldCount );
-    for ( int i = 0; i < LabelFieldCount; i++ )
-    {
-        mLabelField[i] = "";
-        mLabelFieldIdx[i] = -1;
-    }
-    mLabelAttributes = new QgsLabelAttributes ( true );
-}
-
-QgsLabel::~QgsLabel()
-{}
-
-QString QgsLabel::fieldValue ( int attr, QgsFeature *feature )
-{
-    if ( mLabelField[attr].isEmpty() )
-      {
-        return QString();
-      }
-
-    std::vector<QgsFeatureAttribute> fields =  feature->attributeMap();
-
-    for ( unsigned int i = 0; i < fields.size(); i++ )
-    {
-      if ( fields[i].fieldName().compare(mLabelField[attr]) == 0 )
-        {
-            return fields[i].fieldValue();
-        }
-    }
-    return QString();
-}
-
-void QgsLabel::renderLabel( QPainter * painter, QgsRect *viewExtent,
-                            const QgsCoordinateTransform& coordTransform,
-                            bool doCoordTransform, QgsMapToPixel *transform,
-                            QgsFeature *feature, bool selected, QgsLabelAttributes *classAttributes,
-       			    double sizeScale )
-{
-#if QGISDEBUG > 3
-    std::cerr << "QgsLabel::renderLabel()" << std::endl;
-#endif
-
-    QPen pen;
-    QFont font;
-    QString value;
-    QString text;
-
-    /* Calc scale (not nice) */
-    QgsPoint point;
-    point = transform->transform ( 0, 0 );
-    double x1 = point.x();
-    point = transform->transform ( 1000, 0 );
-    double x2 = point.x();
-    double scale = (x2-x1)*0.001;
-
-    /* Text */
-    value = fieldValue ( Text, feature );
-    if ( value.isEmpty() )
-    {
-        text = mLabelAttributes->text();
-    }
-    else
-    {
-        text = value;
-    }
-
-    /* Font */
-    value = fieldValue ( Family, feature );
-    if ( value.isEmpty() )
-    {
-        font.setFamily ( mLabelAttributes->family() );
-    }
-    else
-    {
-        font.setFamily ( value );
-    }
-
-    double size;
-    value = fieldValue ( Size, feature );
-    if ( value.isEmpty() )
-    {
-        size =  mLabelAttributes->size();
-    }
-    else
-    {
-        size =  value.toDouble();
-    }
-    if (  mLabelAttributes->sizeType() == QgsLabelAttributes::MapUnits )
-    {
-        size *= scale;
-    } else {
-	size *= sizeScale;
-    }
-    font.setPointSizeFloat ( size );
-
-    value = fieldValue ( Color, feature );
-    if ( value.isEmpty() )
-    {
-        pen.setColor ( mLabelAttributes->color() );
-    }
-    else
-    {
-        pen.setColor ( QColor(value) );
-    }
-
-    value = fieldValue ( Bold, feature );
-    if ( value.isEmpty() )
-    {
-        font.setBold ( mLabelAttributes->bold() );
-    }
-    else
-    {
-        font.setBold ( (bool) value.toInt() );
-    }
-
-    value = fieldValue ( Italic, feature );
-    if ( value.isEmpty() )
-    {
-        font.setItalic ( mLabelAttributes->italic() );
-    }
-    else
-    {
-        font.setItalic ( (bool) value.toInt() );
-    }
-
-    value = fieldValue ( Underline, feature );
-    if ( value.isEmpty() )
-    {
-        font.setUnderline ( mLabelAttributes->underline() );
-    }
-    else
-    {
-        font.setUnderline ( (bool) value.toInt() );
-    }
-
-    // 
-    QgsPoint overridePoint;
-    bool useOverridePoint = false;
-    value = fieldValue ( XCoordinate, feature );
-    if ( !value.isEmpty() )
-    {
-        overridePoint.setX ( value.toDouble() );
-        useOverridePoint = true;
-    }
-    value = fieldValue ( YCoordinate, feature );
-    if ( !value.isEmpty() )
-    {
-        overridePoint.setY ( value.toDouble() );
-        useOverridePoint = true;
-    }
-
-    /* Alignment */
-    int alignment;
-    QFontMetrics fm ( font );
-    int width = fm.width ( text );
-    int height = fm.height();
-    int dx, dy;
-
-    value = fieldValue ( Alignment, feature );
-    if ( value.isEmpty() )
-    {
-        alignment = mLabelAttributes->alignment();
-    }
-    else
-    {
-        value = value.lower();
-        alignment = Qt::AlignCenter;
-        if ( value.compare("left") == 0 )
-        {
-            alignment = Qt::AlignLeft | Qt::AlignVCenter;
-        }
-        else if ( value.compare("right") == 0 )
-        {
-            alignment = Qt::AlignRight | Qt::AlignVCenter;
-        }
-        else if ( value.compare("bottom") == 0 )
-        {
-            alignment = Qt::AlignBottom | Qt::AlignHCenter;
-        }
-        else if ( value.compare("top") == 0 )
-        {
-            alignment = Qt::AlignTop | Qt::AlignHCenter;
-        }
-    }
-
-    if ( alignment & Qt::AlignLeft )
-    {
-        dx = 0;
-    }
-    else if ( alignment & Qt::AlignHCenter )
-    {
-        dx = -width/2;
-    }
-    else if ( alignment & Qt::AlignRight )
-    {
-        dx = -width;
-    }
-
-    if ( alignment & Qt::AlignBottom )
-    {
-        dy = 0;
-    }
-    else if ( alignment & Qt::AlignVCenter )
-    {
-        dy = height/2;
-    }
-    else if ( alignment & Qt::AlignTop )
-    {
-        dy = height;
-    }
-
-    // Offset 
-    double xoffset, yoffset;
-    value = fieldValue ( XOffset, feature );
-    if ( value.isEmpty() )
-    {
-        xoffset = mLabelAttributes->xOffset();
-    }
-    else
-    {
-        xoffset = value.toDouble();
-    }
-    value = fieldValue ( YOffset, feature );
-    if ( value.isEmpty() )
-    {
-        yoffset = mLabelAttributes->yOffset();
-    }
-    else
-    {
-        yoffset = value.toDouble();
-    }
-
-    // recalc offset to points
-    if (  mLabelAttributes->offsetType() == QgsLabelAttributes::MapUnits )
-    {
-        xoffset *= scale;
-        yoffset *= scale;
-    }
-
-    // Angle 
-    double ang;
-    value = fieldValue ( Angle, feature );
-    if ( value.isEmpty() )
-    {
-        ang = mLabelAttributes->angle();
-    }
-    else
-    {
-        ang = value.toDouble();
-    }
-
-
-    // Work out a suitable position to put the label for the
-    // feature. For multi-geometries, put the same label on each
-    // part.
-    if (useOverridePoint)
-    {
-      renderLabel(painter, overridePoint, doCoordTransform, coordTransform, 
-                  transform, text, font, pen, dx, dy,
-                  xoffset, yoffset, ang);
-    }
-    else
-    {
-      std::vector<QgsPoint> points;
-      labelPoint ( points, feature );
-      for (int i = 0; i < points.size(); ++i)
-      {
-        renderLabel(painter, points[i], doCoordTransform, coordTransform, 
-                    transform, text, font, pen, dx, dy,
-                    xoffset, yoffset, ang);
-      }
-    }
-}
-
-void QgsLabel::renderLabel(QPainter* painter, QgsPoint point, 
-                           bool doCoordTransform,
-                           const QgsCoordinateTransform& coordTransform,
-                           QgsMapToPixel* transform,
-                           QString text, QFont font, QPen pen,
-                           int dx, int dy, 
-                           double xoffset, double yoffset, 
-                           double ang)
-{
-    // Convert point to projected units
-    if (doCoordTransform)
-    {
-      try
-      {
-	point = (const_cast<QgsCoordinateTransform&>(coordTransform)).transform(point);
-      }
-      catch(QgsCsException &cse)
-      {
-#ifdef QGISDEBUG
-	std::cout << "Caught transform error in QgsLabel::renderLabel(). "
-		  << "Skipping rendering this label" << std::endl;
-#endif	
-	return;
-      }
-    }
-
-    // and then to canvas units
-    transform->transform(&point);
-    double x = point.x();
-    double y = point.y();
-
-    static const double rad = ang * M_PI/180;
-
-    x = x + xoffset * cos(rad) - yoffset * sin(rad);
-    y = y - xoffset * sin(rad) - yoffset * cos(rad);
-
-    painter->save();
-    painter->setFont ( font );
-    painter->translate ( x, y );
-    painter->rotate ( -ang );
-    //
-    // Draw a buffer behind the text if one is desired
-    //
-    if (mLabelAttributes->bufferSizeIsSet() && mLabelAttributes->bufferEnabled())
-    {
-        int myBufferSize = static_cast<int>(mLabelAttributes->bufferSize());
-        if (mLabelAttributes->bufferColorIsSet())
-        {
-            painter->setPen( mLabelAttributes->bufferColor());
-        }
-        else //default to a white buffer
-        {
-            painter->setPen( Qt::white);
-        }
-        for (int i = dx-myBufferSize; i <= dx+myBufferSize; i++)
-        {
-            for (int j = dy-myBufferSize; j <= dy+myBufferSize; j++)
-            {
-                painter->drawText( i ,j, text);
-            }
-        }
-    }
-
-    painter->setPen ( pen );
-    painter->drawText ( dx, dy, text );
-    painter->restore();
-}
-
-void QgsLabel::addRequiredFields ( std::list<int> *fields )
-{
-    for ( int i = 0; i < LabelFieldCount; i++ )
-    {
-        if ( mLabelFieldIdx[i] == -1 )
-            continue;
-        bool found = false;
-        for (std::list<int>::iterator it = fields->
-                                           begin();
-                it != fields->end();
-                ++it)
-        {
-            if ( *it == mLabelFieldIdx[i] )
-            {
-                found = true;
-                break;
-            }
-        }
-        if (!found)
-        {
-            fields->push_back(mLabelFieldIdx[i])
-            ;
-        }
-    }
-}
-
-void QgsLabel::setFields( std::vector<QgsField> const & fields  )
-{
-    mField = fields;
-}
-
-std::vector<QgsField> & QgsLabel::fields ( void )
-{
-    return mField;
-}
-
-void QgsLabel::setLabelField ( int attr, const QString str )
-{
-    if ( attr >= LabelFieldCount )
-        return;
-
-
-    mLabelField[attr] = str;
-
-    mLabelFieldIdx[attr] = -1;
-    for ( int i = 0; i < mField.size(); i++ )
-    {
-        if ( mField[i].name().compare(str) == 0 )
-        {
-            mLabelFieldIdx[attr] = i;
-        }
-    }
-}
-
-QString QgsLabel::labelField ( int attr )
-{
-    if ( attr > LabelFieldCount )
-        return QString();
-
-    return mLabelField[attr];
-}
-
-QgsLabelAttributes *QgsLabel::layerAttributes ( void )
-{
-    return mLabelAttributes;
-}
-
-void QgsLabel::labelPoint ( std::vector<QgsPoint>& points, QgsFeature *feature )
-{
-  unsigned char *geom = feature->getGeometry();
-  int wkbType;
-  memcpy(&wkbType, (geom+1), sizeof(wkbType));
-
-  QgsPoint point;
-
-  switch (wkbType)
-  {
-  case QGis::WKBPoint:
-  case QGis::WKBLineString:
-  case QGis::WKBPolygon:
-    {
-      labelPoint(point, geom);
-      points.push_back(point);
-    }
-    break;
-  case QGis::WKBMultiPoint:
-  case QGis::WKBMultiLineString:
-  case QGis::WKBMultiPolygon:
-    // Return a position for each individual in the multi-feature
-    {
-      int numFeatures = (int)(*(geom + 5));
-      geom += 9; // now points to start of array of WKB's
-      for (int i = 0; i < numFeatures; ++i)
-      {
-        geom = labelPoint(point, geom);
-        points.push_back(point);
-      }
-    }
-    break;
-  default:
-    std::cerr << "Unknown geometry type of " << wkbType << '\n';
-  }
-}
-
-unsigned char* QgsLabel::labelPoint ( QgsPoint& point, unsigned char* geom)
-{
-    // Number of bytes that ints and doubles take in the WKB format.
-    static const unsigned int sizeOfInt = 4;
-    static const unsigned int sizeOfDouble = 8;
-
-    int wkbType;
-    double *x, *y;
-    unsigned char *ptr;
-    int *nPoints;
-    // Upon return from this function, this variable will contain a
-    // pointer to the first byte beyond the current feature.
-    unsigned char *nextFeature = geom;
-
-    memcpy(&wkbType, (geom+1), sizeof(wkbType));
-
-    switch (wkbType)
-    {
-    case QGis::WKBPoint:
-      {
-        x = (double *) (geom + 5);
-        y = (double *) (geom + 5 + sizeof(double));
-        point.set(*x, *y);
-        nextFeature += 1 + sizeOfInt + sizeOfDouble*2;
-      }
-      break;
-
-    case QGis::WKBLineString: // Line center
-      {
-        double dx, dy, tl, l;
-        ptr = geom + 5;
-        nPoints = (int *)ptr;
-        nextFeature += 1 + sizeOfInt*2 + (*nPoints)*sizeOfDouble*2;
-        ptr = geom + 1 + 2 * sizeof(int);
-
-        tl = 0;
-        for (int i = 1; i < *nPoints; i++)
-        {
-            dx = ((double *)ptr)[2*i] - ((double *)ptr)[2*i-2];
-            dy = ((double *)ptr)[2*i+1] - ((double *)ptr)[2*i-1];
-            tl += sqrt(dx*dx + dy*dy);
-        }
-        tl /= 2;
-
-        l = 0;
-        for (int i = 1; i < *nPoints; i++)
-        {
-            double dl;
-
-            dx = ((double *)ptr)[2*i] - ((double *)ptr)[2*i-2];
-            dy = ((double *)ptr)[2*i+1] - ((double *)ptr)[2*i-1];
-            dl = sqrt(dx*dx + dy*dy);
-
-            if ( l+dl > tl )
-            {
-                l = tl - l;
-                double k = l/dl;
-
-                point.setX ( ((double *)ptr)[2*i-2] +  k * dx  );
-                point.setY ( ((double *)ptr)[2*i-1] + k * dy );
-                break;
-            }
-            l += dl;
-        }
-      }
-      break;
-
-    case QGis::WKBPolygon:
-      {
-        double sx, sy;
-        ptr = geom + 1 + 2 * sizeof(int); // set pointer to the first ring
-        nPoints = (int *) ptr;
-        ptr += 4;
-        sx = sy = 0;
-        for (int i = 0; i < *nPoints-1; i++)
-        {
-            sx += ((double *)ptr)[2*i];
-            sy += ((double *)ptr)[2*i+1];
-        }
-        point.setX ( sx/(*nPoints-1) );
-        point.setY ( sy/(*nPoints-1) );
-        // Work out a pointer to the next feature after this one.
-        int numRings = (int)(*(geom+1+sizeOfInt));
-        unsigned char* nextRing = nextFeature + 1 + 2*sizeOfInt; 
-        for (int i = 0; i < numRings; ++i)
-        {
-          int numPoints = (int)(*nextRing);
-          // get the start of the next ring
-          nextRing += sizeOfInt + numPoints*sizeOfDouble*2;
-        }
-        nextFeature = nextRing;
-      }
-      break;
-
-    default:
-      // To get here is a bug because our caller should be filtering
-      // on wkb type.
-      break;
-    }
-    return nextFeature;
-}
-
-void QgsLabel::readXML( const QDomNode& node )
-{
-#if QGISDEBUG
-    std::cout << "QgsLabel::readXML() called for layer label properties \n" << std::endl;
-#endif
-
-    qDebug( "%s:%d QgsLabel::readXML() got node %s", __FILE__, __LINE__, (const char *)node.nodeName().toLocal8Bit().data() );
-
-    QDomNode scratchNode;       // DOM node re-used to get current QgsLabel attribute
-    QDomElement el;
-    
-    int red, green, blue;
-    int type;
-
-    /* Text */
-    scratchNode = node.namedItem("label");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``label'' attribute", __FILE__, __LINE__ );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setText ( el.attribute("text","") );
-        setLabelField ( Text, el.attribute("field","") );
-    }
-
-    /* Family */
-    scratchNode = node.namedItem("family");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``family'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setFamily ( el.attribute("name","") );
-        setLabelField ( Family, el.attribute("field","") );
-    }
-
-    /* Size */
-    scratchNode = node.namedItem("size");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``size'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
-        mLabelAttributes->setSize ( el.attribute("value", "0.0").toDouble(), type );
-        setLabelField ( Size, el.attribute("field","") );
-    }
-
-    /* Bold */
-    scratchNode = node.namedItem("bold");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``bold'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setBold ( (bool)el.attribute("on","0").toInt() );
-        setLabelField ( Bold, el.attribute("field","") );
-    }
-
-    /* Italic */
-    scratchNode = node.namedItem("italic");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``italic'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setItalic ( (bool)el.attribute("on","0").toInt() );
-        setLabelField ( Italic, el.attribute("field","") );
-    }
-
-    /* Underline */
-    scratchNode = node.namedItem("underline");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``underline'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setUnderline ( (bool)el.attribute("on","0").toInt() );
-        setLabelField ( Underline, el.attribute("field","") );
-    }
-
-    /* Color */
-    scratchNode = node.namedItem("color");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``color'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-
-        red = el.attribute("red","0").toInt();
-        green = el.attribute("green","0").toInt();
-        blue = el.attribute("blue","0").toInt();
-
-        mLabelAttributes->setColor( QColor(red, green, blue) );
-
-        setLabelField ( Color, el.attribute("field","") );
-    }
-
-    /* X */
-    scratchNode = node.namedItem("x");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``x'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        setLabelField ( XCoordinate, el.attribute("field","") );
-    }
-
-    /* Y */
-    scratchNode = node.namedItem("y");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``y'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        setLabelField ( YCoordinate, el.attribute("field","") );
-    }
-
-
-    /* X,Y offset */
-    scratchNode = node.namedItem("offset");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``offset'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        double xoffset, yoffset;
-
-        el = scratchNode.toElement();
-
-        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
-        xoffset = el.attribute("x","0.0").toDouble();
-        yoffset = el.attribute("y","0.0").toDouble();
-
-        mLabelAttributes->setOffset ( xoffset, yoffset, type );
-        setLabelField ( XOffset, el.attribute("xfield","0") );
-        setLabelField ( YOffset, el.attribute("yfield","0") );
-    }
-
-    /* Angle */
-    scratchNode = node.namedItem("angle");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``angle'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setAngle ( el.attribute("value","0.0").toDouble() );
-        setLabelField ( Angle, el.attribute("field","0.0") );
-    }
-
-    /* Alignment */
-    scratchNode = node.namedItem("alignment");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``alignment'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-        mLabelAttributes->setAlignment ( QgsLabelAttributes::alignmentCode(el.attribute("value","")) );
-        setLabelField ( Alignment, el.attribute("field","") );
-    }
-
-
-    // Buffer
-    scratchNode = node.namedItem("buffercolor");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``buffercolor'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-
-        red = el.attribute("red","0").toInt();
-        green = el.attribute("green","0").toInt();
-        blue = el.attribute("blue","0").toInt();
-
-        mLabelAttributes->setBufferColor( QColor(red, green, blue) );
-        setLabelField ( BufferColor, el.attribute("field","") );
-    }
-
-    scratchNode = node.namedItem("buffersize");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``buffersize'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-
-        type = QgsLabelAttributes::unitsCode( el.attribute("units","") );
-        mLabelAttributes->setBufferSize ( el.attribute("value","0.0").toDouble(), type );
-        setLabelField ( BufferSize, el.attribute("field","") );
-    }
-
-    scratchNode = node.namedItem("bufferenabled");
-
-    if ( scratchNode.isNull() )
-    {
-        qDebug( "%s:%d couldn't find QgsLabel ``bufferenabled'' attribute", __FILE__, __LINE__  );
-    }
-    else
-    {
-        el = scratchNode.toElement();
-
-        mLabelAttributes->setBufferEnabled ( (bool)el.attribute("on","0").toInt() );
-        setLabelField ( BufferEnabled, el.attribute("field","") );
-    }
-
-} // QgsLabel::readXML()
-
-
-
-void QgsLabel::writeXML(std::ostream& xml)
-{
-
-    xml << "\t\t<labelattributes>\n";
-
-    // else
-    if ( mLabelAttributes->textIsSet() && !mLabelField[Text].isEmpty() )
-    {
-        xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8()) << "\" field=\"" << (const char*)(mLabelField[Text].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->textIsSet() )
-    {
-        xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8()) << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<label text=\"" << (const char*)(mLabelAttributes->text().utf8()) << "\" field=\"" << (const char*)(mLabelField[Text].utf8()) << "\" />\n";
-    }
-
-    if ( mLabelAttributes->familyIsSet() && ! mLabelAttributes->family().isNull() && mLabelField[Family].isNull())
-    {
-        xml << "\t\t\t<family name=\"" << mLabelAttributes->family().utf8().data() << "\" field=\"" << (const char*)(mLabelField[Family].utf8().data()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->familyIsSet() && ! mLabelAttributes->family().isNull() )
-    {
-        xml << "\t\t\t<family name=\"" << mLabelAttributes->family().utf8().data() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<family name=\"Arial\" field=\"\" />\n";
-    }
-
-    //size and units
-    if ( mLabelAttributes->sizeIsSet() && !mLabelField[Size].isEmpty())
-    {
-        xml << "\t\t\t<size value=\"" << mLabelAttributes->size() << "\" units=\""
-            << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->sizeType()).utf8() << "\" field=\"" << (const char*)(mLabelField[Size].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->sizeIsSet() )
-    {
-        xml << "\t\t\t<size value=\"" << mLabelAttributes->size() << "\" units=\""
-            << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->sizeType()).utf8() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<size value=\"12\" units=\"Points\" field=\"\" />\n";
-    }
-
-
-
-    //bold
-    if ( mLabelAttributes->boldIsSet() && !mLabelField[Bold].isEmpty() )
-    {
-        xml << "\t\t\t<bold on=\"" << mLabelAttributes->bold() << "\" field=\"" << (const char*)(mLabelField[Bold].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->boldIsSet() )
-    {
-        xml << "\t\t\t<bold on=\"" << mLabelAttributes->bold() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<bold on=\"0\" field=\"0\" />\n";
-    }
-
-    //italics
-    if ( mLabelAttributes->italicIsSet() && ! mLabelField[Italic].isEmpty())
-    {
-        xml << "\t\t\t<italic on=\"" << mLabelAttributes->italic() << "\" field=\"" << (const char*)(mLabelField[Italic].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->italicIsSet() )
-    {
-        xml << "\t\t\t<italic on=\"" << mLabelAttributes->italic() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<italic on=\"0\" field=\"\" />\n";
-    }
-    //underline
-    if ( mLabelAttributes->underlineIsSet() && !mLabelField[Underline].isEmpty())
-    {
-        xml << "\t\t\t<underline on=\"" << mLabelAttributes->underline() << "\" field=\"" << (const char*)(mLabelField[Underline].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->underlineIsSet() )
-    {
-        xml << "\t\t\t<underline on=\"" << mLabelAttributes->underline() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<underline on=\"0\" field=\"\" />\n";
-    }
-
-    if ( mLabelAttributes->colorIsSet() && ! mLabelField[Color].isNull() )
-    {
-        xml << "\t\t\t<color red=\"" << mLabelAttributes->color().red() << "\" green=\"" << mLabelAttributes->color().green()
-            << "\" blue=\"" << mLabelAttributes->color().blue() << "\" field=\"" << (const char*)(mLabelField[Color].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->colorIsSet() )
-    {
-        xml << "\t\t\t<color red=\"" << mLabelAttributes->color().red() << "\" green=\"" << mLabelAttributes->color().green()
-            << "\" blue=\"" << mLabelAttributes->color().blue() << "\" field=\"\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<color red=\"0\" green=\"0\" blue=\"0\" field=\"\" />\n";
-    }
-
-
-    /* X */
-    if (! mLabelField[XCoordinate].isEmpty() )
-    {
-      xml << "\t\t\t<x field=\"" << (const char*)(mLabelField[XCoordinate].utf8()) << "\" />\n";
-    }
-    else
-    {
-     xml << "\t\t\t<x field=\"" << "\" />\n";
-    }
-
-    /* Y */
-    if (! mLabelField[YCoordinate].isEmpty() )
-    {
-      xml << "\t\t\t<y field=\"" << (const char*)(mLabelField[YCoordinate].utf8()) << "\" />\n";
-    }
-    else
-    {
-     xml << "\t\t\t<y field=\"" << "\" />\n";
-    }
-
-    // offset
-    if ( mLabelAttributes->offsetIsSet() )
-    {
-            xml << "\t\t\t<offset  units=\"" << QgsLabelAttributes::unitsName(mLabelAttributes->offsetType()).utf8().data()
-            << "\" x=\"" << mLabelAttributes->xOffset() << "\" xfield=\"" << (const char*)(mLabelField[XOffset].utf8().data())
-            << "\" y=\"" << mLabelAttributes->yOffset() << "\" yfield=\"" << (const char*)(mLabelField[YOffset].utf8().data())
-            << "\" />\n";
-    }
-
-    // Angle
-    if ( mLabelAttributes->angleIsSet() )
-    {
-        xml << "\t\t\t<angle value=\"" << mLabelAttributes->angle() << "\" field=\"" << (const char*)(mLabelField[Angle].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->angleIsSet() )
-    {
-        xml << "\t\t\t<angle value=\"" << mLabelAttributes->angle() << "\" field=\"" << "\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<angle value=\"" << "\" field=\"" << "\" />\n";
-    }
-
-    // alignment
-    if ( mLabelAttributes->alignmentIsSet() )
-    {
-      xml << "\t\t\t<alignment value=\"" << QgsLabelAttributes::alignmentName(mLabelAttributes->alignment()).utf8().data()
-            << "\" field=\"" << (const char*)(mLabelField[Alignment].utf8().data()) << "\" />\n";
-    }
-
-
-    if ( mLabelAttributes->bufferColorIsSet() && ! mLabelField[BufferColor].isNull() )
-    {
-        xml << "\t\t\t<buffercolor red=\"" << mLabelAttributes->bufferColor().red() << "\" green=\"" << mLabelAttributes->bufferColor().green()
-            << "\" blue=\"" << mLabelAttributes->bufferColor().blue() << "\" field=\"" << (const char*)(mLabelField[BufferColor].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->bufferColorIsSet() )
-    {
-        xml << "\t\t\t<buffercolor red=\"" << mLabelAttributes->bufferColor().red() << "\" green=\"" << mLabelAttributes->bufferColor().green()
-            << "\" blue=\"" << mLabelAttributes->bufferColor().blue() << "\" field=\"" <<  "\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<buffercolor red=\""  << "\" green=\""
-            << "\" blue=\""  << "\" field=\"" <<  "\" />\n";
-    }
-
-
-    if ( mLabelAttributes->bufferSizeIsSet() && ! mLabelField[BufferSize].isNull() )
-    {
-        xml << "\t\t\t<buffersize value=\"" << mLabelAttributes->bufferSize() << "\" units=\""
-            << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->bufferSizeType()).utf8() << "\" field=\"" << (const char*)(mLabelField[BufferSize].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->bufferSizeIsSet() )
-    {
-        xml << "\t\t\t<buffersize value=\"" << mLabelAttributes->bufferSize() << "\" units=\""
-            << (const char *)QgsLabelAttributes::unitsName(mLabelAttributes->bufferSizeType()).utf8() << "\" field=\"" << "\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<buffersize value=\"" << "\" units=\""
-            <<  "\" field=\"" <<  "\" />\n";
-    }
-
-
-    if ( mLabelAttributes->bufferEnabled() && ! mLabelField[BufferEnabled].isNull() )
-    {
-        xml << "\t\t\t<bufferenabled on=\"" << mLabelAttributes->bufferEnabled() << "\" field=\"" << (const char*)(mLabelField[BufferEnabled].utf8()) << "\" />\n";
-    }
-    else if ( mLabelAttributes->bufferEnabled())
-    {
-        xml << "\t\t\t<bufferenabled on=\"" << mLabelAttributes->bufferEnabled() << "\" field=\"" << "\" />\n";
-    }
-    else
-    {
-        xml << "\t\t\t<bufferenabled on=\"" << "\" field=\"" << "\" />\n";
-    }
-    xml << "\t\t</labelattributes>\n";
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslabel.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslabel.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslabel.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,149 +0,0 @@
-/***************************************************************************
-                         qgslabel.h - render vector labels
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgslabel.h 5686 2006-08-10 16:19:19Z rblazek $ */
-#ifndef QGSLABEL_H
-#define QGSLABEL_H
-
-#include <vector>
-#include <list>
-#include <qdom.h>
-
-class QString;
-class QWidget;
-class QPainter;
-class QPaintDevice;
-
-class QgsPoint;
-class QgsFeature;
-class QgsField;
-class QgsMapCanvas;
-class QgsLabelAttributes;
-class QgsRect;
-class QgsMapToPixel;
-class QgsCoordinateTransform;
-
-/** Render class to display labels */
-class QgsLabel
-{
-public:
-    QgsLabel ( std::vector<QgsField> const & fields  );
-
-    ~QgsLabel();
-
-    /* Fields */
-    enum LabelField {
-	Text = 0,
-	Family,
-	Size,
-	Bold,
-	Italic,
-	Underline,
-	Color,
-	XCoordinate,
-	YCoordinate,
-	XOffset,
-	YOffset,
-	Angle,
-	Alignment,
-        BufferEnabled,
-	BufferSize,
-	BufferColor,
-	BufferBrush,
-	BorderWidth,
-	BorderColor,
-	BorderStyle,
-	LabelFieldCount
-    };
-
-    void dialog( QWidget * parent = 0 );
-
-    /** \brief render label
-     *  \param sizeScale global scale factor for size in pixels, labels in map units are not scaled
-     */
-    void renderLabel ( QPainter* painter, QgsRect* viewExtent, 
-                       const QgsCoordinateTransform& coordTransform,
-                       bool doCoordTransform, QgsMapToPixel *transform,
-		       QgsFeature *feature, bool selected, QgsLabelAttributes *classAttributes=0, double sizeScale = 1.);
-
-    /** Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-    */
-    void readXML(const QDomNode& node);
-
-    /** Writes the contents of the renderer to a configuration file */
-    void writeXML(std::ostream& xml);
-
-    //! add vector of required fields to existing list of fields
-    void addRequiredFields ( std::list<int> *fields );
-
-    //! Set available fields
-    void setFields( std::vector<QgsField> const & fields  );
-
-    //! Available vector fields
-    std::vector<QgsField> & fields ( void );
-
-    //! Pointer to default attributes
-    QgsLabelAttributes *layerAttributes ( void );
-
-    //! Set label field
-    void setLabelField ( int attr, const QString str );
-
-    //! label field
-    QString labelField ( int attr );
-
-    /** Get field value if : 1) field name is not empty
-     *                       2) field exists
-     *                       3) value is defined
-     *  otherwise returns empty string
-    */
-    QString fieldValue ( int attr, QgsFeature *feature );
-
-private:
-    /** Does the actual rendering of a label at the given point
-     * 
-     */
-    void renderLabel(QPainter* painter, QgsPoint point, 
-                     bool doCoordTransform,
-                     const QgsCoordinateTransform& coordTransform,
-                     QgsMapToPixel* transform,
-                     QString text, QFont font, QPen pen,
-                     int dx, int dy,
-                     double xoffset, double yoffset,
-                     double ang);
-
-    /** Get label point for simple feature in map units */
-    void labelPoint ( std::vector<QgsPoint>&, QgsFeature *feature );
-
-    /** Get label point for the given feature in wkb format. */
-    unsigned char* labelPoint( QgsPoint& point, unsigned char* wkb);
-
-    /** Color to draw selected features */
-    QColor mSelectionColor;
-    
-    //! Default layer attributes
-    QgsLabelAttributes *mLabelAttributes;
-    
-    //! Available layer fields
-    std::vector<QgsField> mField;
-
-    //! Label fields
-    std::vector<QString> mLabelField;
-
-    //! Label field indexes
-    std::vector<int> mLabelFieldIdx;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,405 +0,0 @@
-/***************************************************************************
-                         qgslabeldialog.cpp  -  render vector labels
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek & Tim Sutton
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgslabeldialog.cpp 6136 2006-11-27 19:03:48Z telwertowski $ */
-#include <iostream>
-#include "qgslabeldialog.h"
-#include "qgsfield.h"
-#include "qgslabel.h"
-#include "qgslabelattributes.h"
-
-#include <QColorDialog>
-#include <QFontDialog>
-#include <QTabWidget>
-
-
-const int PIXMAP_WIDTH = 200;
-const int PIXMAP_HEIGHT = 20;
-
-QgsLabelDialog::QgsLabelDialog ( QgsLabel *label,  QWidget *parent ) 
-    : QWidget(parent),
-      mLabel(label),
-      mFontColor(Qt::black),
-      mBufferColor(Qt::black),
-      mFont("Helvetica")
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    std::cerr << __FILE__ << ":" << __LINE__
-              << "QgsLabelDialog::QgsLabelDialog()\n";
-#endif
-
-    Q_ASSERT( label );
-
-    init();
-
-    connect( sliderFontTransparency, SIGNAL(sliderMoved(int)),
-        spinFontTransparency, SLOT(setValue(int)) );
-    connect( spinFontTransparency, SIGNAL(valueChanged(int)),
-        sliderFontTransparency, SLOT(setValue(int)) );
-    connect( sliderAngle, SIGNAL(valueChanged(int)),
-        spinAngle, SLOT(setValue(int)) );
-    connect( spinAngle, SIGNAL(valueChanged(int)),
-        sliderAngle, SLOT(setValue(int)) );
-    connect( sliderBufferTransparency, SIGNAL(sliderMoved(int)),
-        spinBufferTransparency, SLOT(setValue(int)) );
-    connect( spinBufferTransparency, SIGNAL(valueChanged(int)),
-        sliderBufferTransparency, SLOT(setValue(int)) );
-    connect( btnDefaultFont, SIGNAL(clicked()),
-        this, SLOT(changeFont()) );
-    connect( pbnDefaultBufferColor_2, SIGNAL(clicked()),
-        this, SLOT(changeBufferColor()) );
-    connect( pbnDefaultFontColor, SIGNAL(clicked()),
-        this, SLOT(changeFontColor()) );
-    //added by Tim to force scrolling of tab bar on Mac
-    tabWidget2->setElideMode(Qt::ElideNone);
-    tabWidget2->setUsesScrollButtons(true);
-}
-
-
-void QgsLabelDialog::init ( )
-{
-#ifdef QGISDEBUG
-    std::cerr << __FILE__ << ":" << __LINE__ 
-              << "QgsLabelDialog::init()\n";
-#endif
-  QgsLabelAttributes * myLabelAttributes = mLabel->layerAttributes();
-  //populate a string list with all the field names which will be used to set up the 
-  //data bound combos
-  std::vector<QgsField> myFieldsVector = mLabel->fields();
-  QStringList myFieldStringList;
-  myFieldStringList.append ( "" );
-  for (unsigned int i = 0; i < myFieldsVector.size(); i++ ) 
-  {
-    myFieldStringList.append ( myFieldsVector[i].name() );
-  }
-  //
-  //now set all the combos that need field lists using the string list
-  //
-  cboLabelField->clear();
-  cboLabelField->insertStringList(myFieldStringList);
-  cboLabelField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Text),myFieldStringList));
-
-
-  cboFontField->clear();
-  cboFontField->insertStringList(myFieldStringList); 
-  cboFontField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Family),myFieldStringList));
-
-  cboBoldField->clear();
-  cboBoldField->insertStringList(myFieldStringList); 
-  cboBoldField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Bold),myFieldStringList));
-
-
-  cboItalicField->clear();
-  cboItalicField->insertStringList(myFieldStringList); 
-  cboItalicField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Italic),myFieldStringList));
-
-  cboUnderlineField->clear();
-  cboUnderlineField->insertStringList(myFieldStringList); 
-  cboUnderlineField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Underline),myFieldStringList));
-
-  cboFontSizeField->clear();
-  cboFontSizeField->insertStringList(myFieldStringList); 
-  cboFontSizeField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Size),myFieldStringList));
-
-  cboFontTransparencyField->clear();
-  cboFontTransparencyField->insertStringList(myFieldStringList); 
-  //cboFontTransparencyField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::FontTransparency),myFieldStringList));
-
-  cboBufferSizeField->clear();
-  cboBufferSizeField->insertStringList(myFieldStringList); 
-  cboBufferSizeField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::BufferSize),myFieldStringList));
-
-  cboBufferTransparencyField->clear();
-  cboBufferTransparencyField->insertStringList(myFieldStringList); 
-  //cboBufferTransparencyField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::BufferTransparency),myFieldStringList));
-
-  cboXCoordinateField->clear();
-  cboXCoordinateField->insertStringList(myFieldStringList); 
-  cboXCoordinateField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::XCoordinate),myFieldStringList));
-
-  cboYCoordinateField->clear();
-  cboYCoordinateField->insertStringList(myFieldStringList); 
-  cboYCoordinateField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::YCoordinate),myFieldStringList));
-
-  cboXOffsetField->clear();
-  cboXOffsetField->insertStringList(myFieldStringList); 
-  cboXOffsetField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::XOffset),myFieldStringList));
-
-  cboYOffsetField->clear();
-  cboYOffsetField->insertStringList(myFieldStringList); 
-  cboYOffsetField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::YOffset),myFieldStringList));
-
-  cboAlignmentField->clear();
-  cboAlignmentField->insertStringList(myFieldStringList); 
-  cboAlignmentField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Alignment),myFieldStringList));
-
-  cboAngleField->clear();
-  cboAngleField->insertStringList(myFieldStringList); 
-  cboAngleField->setCurrentItem(itemNoForField(mLabel->labelField(QgsLabel::Angle),myFieldStringList));
-
-
-  //
-  //set the non-databound fields up now
-  //
-  leDefaultLabel->setText(myLabelAttributes->text());
-  mFont.setFamily(myLabelAttributes->family());
-  if (myLabelAttributes->sizeIsSet())
-  {
-    mFont.setPointSize(static_cast<int>(myLabelAttributes->size()));
-
-    int myTypeInt = myLabelAttributes->sizeType();
-    if (myTypeInt == QgsLabelAttributes::PointUnits)
-    {
-      radioFontSizeUnitsPoints->setChecked(true);
-    }
-    else //assume map units is checked
-    { 
-      radioFontSizeUnitsMap->setChecked(true);
-    }
-  }
-  else //defaults for when no size has been set
-  {
-    mFont.setPointSize(static_cast<int>(myLabelAttributes->size()));
-    radioFontSizeUnitsPoints->setChecked(true);
-  }
-
-  if (myLabelAttributes->boldIsSet())
-  {
-     mFont.setBold(myLabelAttributes->bold());
-  }
-  else
-  {
-     mFont.setBold(false);
-  }
-  if (myLabelAttributes->italicIsSet())
-  {
-     mFont.setItalic(myLabelAttributes->italic());
-  }
-  else
-  {
-     mFont.setItalic(false);
-  }
-  mFont.setUnderline(myLabelAttributes->underline());
-  mFontColor= myLabelAttributes->color(); 
-  
-  if (myLabelAttributes->offsetIsSet())
-  {
-    int myTypeInt = myLabelAttributes->offsetType();
-    if ( myTypeInt == QgsLabelAttributes::PointUnits )
-    {
-      radioOffsetUnitsPoints->setChecked(true);
-    } 
-    else 
-    { 
-      radioOffsetUnitsMap->setChecked(true);
-    }
-    spinXOffset->setValue(static_cast<int>(myLabelAttributes->xOffset()));
-    spinYOffset->setValue(static_cast<int>(myLabelAttributes->yOffset()));
-  }
-  else //defaults for when no offset is defined
-  {
-    spinXOffset->setValue(0);
-    spinYOffset->setValue(0);
-  }
-  spinAngle->setValue(static_cast<int>(myLabelAttributes->angle())); 
-
-  //the values here may seem a bit counterintuitive - basically everything 
-  //is the reverse of the way you think it should be...
-  //TODO investigate in QgsLabel why this needs to be the case
-  //TODO add support for corners (e.g. bottom right) to xml serialiser
-  
-  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignBottom  )) radioAboveLeft->setChecked(true)   ;
-  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignTop     )) radioBelowLeft->setChecked(true)   ; 
-  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignBottom  )) radioAboveRight->setChecked(true)  ;
-  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignTop     )) radioBelowRight->setChecked(true)  ;
-  if ( myLabelAttributes->alignment() == (Qt::AlignRight | Qt::AlignVCenter )) radioLeft->setChecked(true)        ;
-  if ( myLabelAttributes->alignment() == (Qt::AlignLeft  | Qt::AlignVCenter )) radioRight->setChecked(true)       ;
-  if ( myLabelAttributes->alignment() == (Qt::AlignBottom| Qt::AlignHCenter )) radioAbove->setChecked(true)       ; 
-  if ( myLabelAttributes->alignment() == (Qt::AlignTop   | Qt::AlignHCenter )) radioBelow->setChecked(true)       ; 
-  if ( myLabelAttributes->alignment() == Qt::AlignCenter                   ) radioOver->setChecked(true)        ;  
-
-  mBufferColor = myLabelAttributes->bufferColor(); 
-  //note that it could be that buffer properties are set, but the bufer is disabled
-  if (myLabelAttributes->bufferSizeIsSet() )
-  {
-    int myTypeInt = myLabelAttributes->bufferSizeType();
-    if ( myTypeInt == QgsLabelAttributes::PointUnits )
-    {
-      radioBufferUnitsPoints->setChecked(true);
-    } 
-    else 
-    { 
-      radioBufferUnitsMap->setChecked(true);
-    }
-    spinBufferSize->setValue(static_cast<int>(myLabelAttributes->bufferSize()));
-  }
-  else //defaults for when no offset is defined
-  {
-    spinBufferSize->setValue(1);
-  }
-  //set the state of the buffer enabled checkbox
-  chkUseBuffer->setChecked(myLabelAttributes->bufferEnabled());   
-  
-  //NOTE: do we need this line too? TS
-  spinBufferSize->setValue(static_cast<int>(myLabelAttributes->bufferSize()));
-  //TODO - transparency attributes for buffers
-
-}
-
-
-
-void QgsLabelDialog::changeFont ( void )
-{
-#ifdef QGISDEBUG
-    std::cerr << "QgsLabelDialog::changeFont()" << std::endl;
-#endif
-    bool resultFlag;
-    mFont = QFontDialog::getFont(&resultFlag, mFont, this );
-    if ( resultFlag ) 
-    {
-        // font is set to the font the user selected
-    } else 
-    {
-        // the user cancelled the dialog; font is set to the initial
-        // value, in this case Helvetica [Cronyx], 10
-    }
-    lblSample->setFont(mFont);
-}
-
-void QgsLabelDialog::changeFontColor(void)
-{
-#ifdef QGISDEBUG
-    std::cerr << "QgsLabelDialog::changeFontColor()" << std::endl;
-#endif
-    mFontColor = QColorDialog::getColor ( mFontColor );
-    QPalette palette = lblSample->palette();
-    palette.setColor(lblSample->foregroundRole(), mFontColor);
-    lblSample->setPalette(palette);
-}
-
-void QgsLabelDialog::changeBufferColor(void)
-{
-#ifdef QGISDEBUG
-    std::cerr << "QgsLabelDialog::changeBufferColor()" << std::endl;
-#endif
-    mBufferColor = QColorDialog::getColor ( mBufferColor );
-    QPalette palette = lblSample->palette();
-    palette.setColor(lblSample->backgroundRole(), mBufferColor);
-    lblSample->setPalette(palette);
-}
-
-
-int QgsLabelDialog::itemNoForField(QString theFieldName, QStringList theFieldList)
-{
-    int myItemInt=0;
-    for ( QStringList::Iterator it = theFieldList.begin(); it != theFieldList.end(); ++it ) 
-    {
-        if (theFieldName == *it) return myItemInt;
-        ++myItemInt;
-    }
-    //if no matches assume first item in list is blank and return that
-    return 0;
-}
-
-QgsLabelDialog::~QgsLabelDialog()
-{
-#ifdef QGISDEBUG
-    std::cerr << "QgsLabelDialog::~QgsLabelDialog()" << std::endl;
-#endif
-}
-
-void QgsLabelDialog::apply()
-{
-#ifdef QGISDEBUG
-    std::cerr << "QgsLabelDialog::apply()" << std::endl;
-#endif
-
-    //set the label props that are NOT bound to a field in the attributes tbl
-    //All of these are set in the layerAttributes member of the layer
-    QgsLabelAttributes * myLabelAttributes = mLabel->layerAttributes();
-    myLabelAttributes->setText(leDefaultLabel->text()); 
-    myLabelAttributes->setFamily(mFont.family());
-    int myTypeInt = 0;
-    if ( radioFontSizeUnitsPoints->isChecked())
-    {
-       myTypeInt = QgsLabelAttributes::PointUnits; 
-    } 
-    else //assume map units is checked
-    { 
-       myTypeInt = QgsLabelAttributes::MapUnits;
-    }
-    myLabelAttributes->setSize(mFont.pointSize() , myTypeInt);
-    myLabelAttributes->setBold(mFont.bold());
-    myLabelAttributes->setItalic(mFont.italic());
-    myLabelAttributes->setUnderline(mFont.underline());
-    myLabelAttributes->setColor(mFontColor); 
-    myTypeInt = 0;
-    if ( radioOffsetUnitsPoints->isChecked() )
-    {
-       myTypeInt = QgsLabelAttributes::PointUnits; 
-    } 
-    else 
-    { 
-       myTypeInt = QgsLabelAttributes::MapUnits;
-    }
-    myLabelAttributes->setOffset(spinXOffset->value() ,spinYOffset->value(), myTypeInt);
-    myLabelAttributes->setAngle(spinAngle->value()); 
-
-    //the values here may seem a bit counterintuitive - basically everything 
-    //is the reverse of the way you think it should be...
-    //TODO investigate in QgsLabel why this needs to be the case
-    if (radioAboveLeft->isChecked())   myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignBottom);
-    if (radioBelowLeft->isChecked())   myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignTop);
-    if (radioAboveRight->isChecked())  myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignBottom);
-    if (radioBelowRight->isChecked())  myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignTop);
-    if (radioLeft->isChecked())        myLabelAttributes->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
-    if (radioRight->isChecked())       myLabelAttributes->setAlignment(Qt::AlignLeft  | Qt::AlignVCenter);
-    if (radioAbove->isChecked())       myLabelAttributes->setAlignment(Qt::AlignBottom| Qt::AlignHCenter); 
-    if (radioBelow->isChecked())       myLabelAttributes->setAlignment(Qt::AlignTop   | Qt::AlignHCenter); 
-    if (radioOver->isChecked())        myLabelAttributes->setAlignment(Qt::AlignCenter);
-      
-    myLabelAttributes->setBufferEnabled(chkUseBuffer->isChecked());
-    myLabelAttributes->setBufferColor(mBufferColor); 
-    myTypeInt = 0;
-    if ( radioBufferUnitsPoints->isChecked() )
-    {
-       myTypeInt = QgsLabelAttributes::PointUnits; 
-    } 
-    else 
-    { 
-       myTypeInt = QgsLabelAttributes::MapUnits;
-    }
-    myLabelAttributes->setBufferSize(spinBufferSize->value(), myTypeInt);
-    //TODO - transparency attributes for buffers
-    
-    //set the label props that are data bound to a field in the attributes tbl
-    mLabel->setLabelField( QgsLabel::Text,  cboLabelField->currentText() );
-    mLabel->setLabelField( QgsLabel::Family, cboFontField->currentText() );
-    mLabel->setLabelField( QgsLabel::Bold,  cboBoldField->currentText() );
-    mLabel->setLabelField( QgsLabel::Italic,  cboItalicField->currentText() );
-    mLabel->setLabelField( QgsLabel::Underline,  cboUnderlineField->currentText() );
-    mLabel->setLabelField( QgsLabel::Size,  cboFontSizeField->currentText() );
-    mLabel->setLabelField( QgsLabel::BufferSize,  cboBufferSizeField->currentText() );
-    //mLabel->setLabelField( QgsLabel::BufferTransparency,  cboBufferTransparencyField->currentText() );
-    mLabel->setLabelField( QgsLabel::XCoordinate,  cboXCoordinateField->currentText() );
-    mLabel->setLabelField( QgsLabel::YCoordinate,  cboYCoordinateField->currentText() );
-    mLabel->setLabelField( QgsLabel::XOffset,  cboXOffsetField->currentText() );
-    mLabel->setLabelField( QgsLabel::YOffset,  cboYOffsetField->currentText() );
-    mLabel->setLabelField( QgsLabel::Alignment,  cboAlignmentField->currentText() );
-    mLabel->setLabelField( QgsLabel::Angle,  cboAngleField->currentText() );
-
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslabeldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,90 +0,0 @@
-/***************************************************************************
-                         qgslabeldialog.h  -  render vector labels
-                             -------------------
-    begin                : August 2004
-    copyright            : (C) 2004 by Radim Blazek
-    email                : blazek at itc.it
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgslabeldialog.h 5875 2006-09-26 10:08:53Z g_j_m $ */
-
-#ifndef QGSLABELDIALOG_H
-#define QGSLABELDIALOG_H
-
-#include "ui_qgslabeldialogbase.h"
-
-class QgsLabel;
-
-
-/** QgsLabelDialog is the dialog for label. */
-class QgsLabelDialog: public QWidget, private Ui::QgsLabelDialogBase
-{
-    Q_OBJECT;
-
-public:
-    QgsLabelDialog( QgsLabel *label,  QWidget * parent = 0 );
-    ~QgsLabelDialog();
-    int itemNoForField(QString theFieldName, QStringList theFieldList);
-    
-    /* Attributes in order used in the table */
-    enum Attribute {
-	Text = 0,
-	Family,
-	Size,
-	Bold,
-	Italic,
-	Underline,
-	Color,
-	XCoordinate,
-	YCoordinate,
-	XOffset,
-	YOffset,
-	Angle,
-	Alignment,
-	BufferSize,
-	BufferColor,
-	BufferBrush,
-	BorderWidth,
-	BorderColor,
-	BorderStyle,
-	AttributeCount
-    };
-
-public slots:
-    /** applies the changes to the label class */
-    void apply ( void );
-
-    /** Change font - reimplements method from base class*/
-    void changeFont ( );
-
-    /** Change color - reimplements method from base class */
-    void changeBufferColor ( );
-    void changeFontColor ( );
-
-    /** Initialise dialog to vector layer values */
-    void init ( void );
-
-    void on_cboLabelField_activated(int) {emit labelSourceSet(); }
-
- signals:
-    /* emitted when anitem in label source list is chosen */
-    void labelSourceSet();
-
-protected slots:
-
-
-private:
-    QgsLabel *mLabel;
-    QColor    mFontColor;
-    QColor    mBufferColor;
-    QFont     mFont;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgslayerprojectionselector.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslayerprojectionselector.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslayerprojectionselector.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgslayerprojectionselector.h 4937 2006-03-02 13:40:04Z morb_au $ */
+/* $Id: qgslayerprojectionselector.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSLAYERPROJECTIONSELECTOR_H
 #define QGSLAYERPROJECTIONSELECTOR_H
 #include "ui_qgslayerprojectionselectorbase.h"
@@ -28,7 +28,7 @@
  * \brief Set Projection system for a layer
  */
 
-class QgsLayerProjectionSelector : public QDialog, private Ui::QgsLayerProjectionSelectorBase
+class GUI_EXPORT QgsLayerProjectionSelector : public QDialog, private Ui::QgsLayerProjectionSelectorBase
 {
   Q_OBJECT;
   public:

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,74 +0,0 @@
-/***************************************************************************
-                          qgslinestyledialog.cpp 
- Dialog for selecting vector line styles
-                             -------------------
-    begin                : 2004-02-12
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgslinestyledialog.cpp 4688 2006-01-15 12:08:18Z telwertowski $ */
-#include "qgslinestyledialog.h"
-#include "qpushbutton.h"
-#include <iostream>
-#include "qgssymbologyutils.h"
-
-QgsLineStyleDialog::QgsLineStyleDialog(QWidget * parent, Qt::WFlags fl):
-  QDialog(parent, fl)
-{
-  setupUi(this);
-
-  //load the icons stored in QgsSymbologyUtils.cpp (to avoid redundancy)
-  solid->setPixmap(QgsSymbologyUtils::char2LinePixmap("SolidLine"));
-  dash->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashLine"));
-  dot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DotLine"));
-  dashdot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotLine"));
-  dashdotdot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotDotLine"));
-  nopen->setPixmap(QgsSymbologyUtils::char2LinePixmap("NoPen"));
-
-  QObject::connect(okbutton, SIGNAL(clicked()), this, SLOT(queryStyle()));
-  QObject::connect(cancelbutton, SIGNAL(clicked()), this, SLOT(reject()));
-  solid->toggle();              //solid style is the default
-}
-
-Qt::PenStyle QgsLineStyleDialog::style()
-{
-  return m_style;
-}
-
-void QgsLineStyleDialog::queryStyle()
-{
-  if (solid->isOn())
-    {
-      m_style = Qt::SolidLine;
-    } 
-  else if (dash->isOn())
-    {
-      m_style = Qt::DashLine;
-    } 
-  else if (dot->isOn())
-    {
-      m_style = Qt::DotLine;
-    } 
-  else if (dashdot->isOn())
-    {
-      m_style = Qt::DashDotLine;
-    } 
-  else if (dashdotdot->isOn())
-    {
-      m_style = Qt::DashDotDotLine;
-    }
-  else if (nopen->isOn())
-    {
-      m_style = Qt::NoPen;
-    }
-  accept();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslinestyledialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,45 +0,0 @@
-/***************************************************************************
-                          qgslinestyledialog.h 
-               Dialog for selecting line style for vector layers
-                             -------------------
-    begin                : 2004-02-12
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgslinestyledialog.h 4688 2006-01-15 12:08:18Z telwertowski $ */
-#ifndef QGSLINESTYLEDIALOG_H
-#define QGSLINESTYLEDIALOG_H
-
-class qnamespace;
-#include "ui_qgslinestyledialogbase.h"
-#include "qgisgui.h"
-/**Dialog class to query line styles*/
-class QgsLineStyleDialog: public QDialog, private Ui::QgsLineStyleDialogBase
-{
-  Q_OBJECT
- public:
-    QgsLineStyleDialog(QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    ~QgsLineStyleDialog();
-    Qt::PenStyle style();
- protected:
-    Qt::PenStyle m_style;
- protected slots:
-     /**Queries the selected style if the ok button is pressed and stores it in m_style*/
-     void queryStyle();
-};
-
-inline QgsLineStyleDialog::~QgsLineStyleDialog()
-{
-
-}
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-
-/***************************************************************************
-                                 qgslinestyle.h
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgslinestylewidget.h"
-
-QgsLineStyleWidget::QgsLineStyleWidget( QWidget *parent, const char * name, Qt::WFlags f)
-           :QgsLineStyleWidgetBase( )
-{
-}
-
-QgsLineStyleWidget::~QgsLineStyleWidget()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgslinestylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,39 +0,0 @@
-/***************************************************************************
-                                qgslinestyle.h 
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSLINESTYLE_H
-#define QGSLINESTYLE_H
-
-#include "ui_qgslinestylewidgetbase.h"
-#include <QDialog>
-
-class QgsLineStyleWidget: public QDialog, private Ui::QgsLineStyleWidgetBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor
-  QgsLineStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
-
-  ~QgsLineStyleWidget();
-
-
-public slots:
-  
-private:
-    
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsludialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsludialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsludialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,53 +0,0 @@
-/***************************************************************************
-                         qgsludialog.cpp  -  description
-                             -------------------
-    begin                : September 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsludialog.cpp 4688 2006-01-15 12:08:18Z telwertowski $ */
-
-#include "qgsludialog.h"
-
-
-QgsLUDialog::QgsLUDialog(QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-    setupUi(this);
-    connect(mOkButton, SIGNAL(clicked()), this, SLOT(accept()));
-    connect(mCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
-}
-
-QgsLUDialog::~QgsLUDialog()
-{
-
-}
-
-QString QgsLUDialog::lowerValue() const
-{
-    return mLowerEdit->text();
-}
-
-QString QgsLUDialog::upperValue() const
-{
-    return mUpperEdit->text();
-}
-
-void QgsLUDialog::setLowerValue(QString val)
-{
-    mLowerEdit->setText(val);
-}
-
-void QgsLUDialog::setUpperValue(QString val)
-{
-    mUpperEdit->setText(val);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsludialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsludialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsludialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,38 +0,0 @@
-/***************************************************************************
-                         qgsludialog.h  -  description
-                             -------------------
-    begin                : September 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsludialog.h 4688 2006-01-15 12:08:18Z telwertowski $ */
-
-#ifndef QGSLUDIALOG_H
-#define QGSLUDIALOG_H
-
-#include "ui_qgsludialogbase.h"
-#include "qgisgui.h"
-
-
-class QgsLUDialog: public QDialog, private Ui::QgsLUDialogBase
-{
-    Q_OBJECT
- public:
-    QgsLUDialog(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    ~QgsLUDialog();
-    QString lowerValue() const;
-    void setLowerValue(QString val);
-    QString upperValue() const;
-    void setUpperValue(QString val);
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,45 +14,43 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsmapcanvas.cpp 6327 2006-12-28 21:38:54Z wonder $ */
+/* $Id: qgsmapcanvas.cpp 5400 2006-04-30 20:14:08Z wonder $ */
 
 
 #include <QtGlobal>
-#include <Q3Canvas>
-#include <Q3CanvasRectangle>
 #include <QApplication>
 #include <QCursor>
+#include <QGraphicsItem>
+#include <QGraphicsScene>
+#include <QGraphicsView>
 #include <QKeyEvent>
-//#include <QMessageBox>
 #include <QMouseEvent>
-#include <QPaintDevice>
 #include <QPainter>
 #include <QPaintEvent>
 #include <QPixmap>
 #include <QRect>
 #include <QResizeEvent>
-#include <QSettings>
 #include <QString>
 #include <QStringList>
 #include <QWheelEvent>
 
 #include "qgis.h"
+#include "qgslogger.h"
 #include "qgsmapcanvas.h"
 #include "qgsmapcanvasmap.h"
 #include "qgsmaplayer.h"
 #include "qgsmaplayerregistry.h"
-#include "qgsmaptool.h"
+#include "qgsmaptoolpan.h"
+#include "qgsmaptoolzoom.h"
 #include "qgsmaptopixel.h"
 #include "qgsmapoverviewcanvas.h"
 #include "qgsmaprender.h"
+#include "qgsmessageviewer.h"
 #include "qgsproject.h"
 #include "qgsrubberband.h"
+#include "qgsvectorlayer.h"
+#include <math.h>
 
-#include "qgsmessageviewer.h"
-
-#include "qgsmaptoolzoom.h"
-#include "qgsmaptoolpan.h"
-
 /**  @DEPRECATED: to be deleted, stuff from here should be moved elsewhere */
 class QgsMapCanvas::CanvasProperties
 {
@@ -76,18 +74,14 @@
 
 
 
-/** note this is private and so shouldn't be accessible */
-QgsMapCanvas::QgsMapCanvas()
-{}
-
   QgsMapCanvas::QgsMapCanvas(QWidget * parent, const char *name)
-: Q3CanvasView(parent, name),
+: QGraphicsView(parent),
   mCanvasProperties(new CanvasProperties)
 {
-  mCanvas = new Q3Canvas();
-  setCanvas(mCanvas);
-  setHScrollBarMode(Q3ScrollView::AlwaysOff);
-  setVScrollBarMode(Q3ScrollView::AlwaysOff);
+  mScene = new QGraphicsScene();
+  setScene(mScene);
+  setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+  setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
   
   mCurrentLayer = NULL;
   mMapOverview = NULL;
@@ -103,20 +97,27 @@
   // by default, the canvas is rendered
   mRenderFlag = true;
   
-  viewport()->setMouseTracking(true);
+  setMouseTracking(true);
   setFocusPolicy(Qt::StrongFocus);
   
   mMapRender = new QgsMapRender;
 
   // create map canvas item which will show the map
-  mMap = new QgsMapCanvasMap(mCanvas, mMapRender);
-  mMap->show();
+  mMap = new QgsMapCanvasMap(this);
+  mScene->addItem(mMap);
+  mScene->update(); // porting??
   
   moveCanvasContents(TRUE);
   
   connect(mMapRender, SIGNAL(updateMap()), this, SLOT(updateMap()));
   connect(mMapRender, SIGNAL(drawError(QgsMapLayer*)), this, SLOT(showError(QgsMapLayer*)));
   
+  // project handling
+  connect(QgsProject::instance(), SIGNAL(readProject(const QDomDocument &)),
+          this, SLOT(readProject(const QDomDocument &)));
+  connect(QgsProject::instance(), SIGNAL(writeProject(QDomDocument &)),
+          this, SLOT(writeProject(QDomDocument &)));
+  
 } // QgsMapCanvas ctor
 
 
@@ -132,16 +133,16 @@
   // delete canvas items prior to deleteing the canvas
   // because they might try to update canvas when it's
   // already being destructed, ends with segfault
-  Q3CanvasItemList list = mCanvas->allItems();
-  Q3CanvasItemList::iterator it = list.begin();
+  QList<QGraphicsItem*> list = mScene->items();
+  QList<QGraphicsItem*>::iterator it = list.begin();
   while (it != list.end())
   {
-    Q3CanvasItem* item = *it;
+    QGraphicsItem* item = *it;
     delete item;
     it++;
   }
   
-  delete mCanvas;
+  delete mScene;
 
   delete mMapRender;
   // mCanvasProperties auto-deleted via std::auto_ptr
@@ -171,10 +172,14 @@
   return mMapRender;
 }
 
+
 QgsMapLayer* QgsMapCanvas::getZpos(int index)
 {
-  QString layer = mMapRender->layers().layerSet()[index];
-  return QgsMapLayerRegistry::instance()->mapLayer(layer);
+  QStringList& layers = mMapRender->layerSet();
+  if (index >= 0 && index < (int) layers.size())
+    return QgsMapLayerRegistry::instance()->mapLayer(layers[index]);
+  else
+    return NULL;
 }
 
 
@@ -213,38 +218,97 @@
   return mMapRender->coordXForm();
 }
 
-void QgsMapCanvas::setLayerSet(std::deque<QString>& layerSet)
+void QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>& layers)
 {
-  QgsMapLayerSet& layers = mMapRender->layers();
-  
   int i;
-  for (i = 0; i < layerCount(); i++)
+  
+  // create layer set
+  QStringList layerSet, layerSetOverview;
+  
+  for (i = 0; i < layers.size(); i++)
   {
-    QObject::disconnect(getZpos(i), SIGNAL(repaintRequested()), this, SLOT(refresh()));
+    QgsMapCanvasLayer& lyr = layers[i];
+    if (lyr.visible())
+    {
+      layerSet.push_back(lyr.layer()->getLayerID());
+    }
+    if (lyr.inOverview())
+    {
+      layerSetOverview.push_back(lyr.layer()->getLayerID());
+    }
   }
   
-  layers.setLayerSet(layerSet);
+  QStringList& layerSetOld = mMapRender->layerSet();
   
-  for (i = 0; i < layerCount(); i++)
+  bool layerSetChanged = (layerSetOld != layerSet);
+  
+  // update only if needed
+  if (layerSetChanged)
   {
-    QObject::connect(getZpos(i), SIGNAL(repaintRequested()), this, SLOT(refresh()));
+    for (i = 0; i < layerCount(); i++)
+    {
+      disconnect(getZpos(i), SIGNAL(repaintRequested()), this, SLOT(refresh()));
+      disconnect(getZpos(i), SIGNAL(selectionChanged()), this, SLOT(refresh()));
+    }
+    
+    mMapRender->setLayerSet(layerSet);
+  
+    for (i = 0; i < layerCount(); i++)
+    {
+      connect(getZpos(i), SIGNAL(repaintRequested()), this, SLOT(refresh()));
+      connect(getZpos(i), SIGNAL(selectionChanged()), this, SLOT(refresh()));
+    }
   }
+  
 
   if (mMapOverview)
   {
-    mMapOverview->setLayerSet(layerSet);
+    mMapOverview->updateFullExtent(fullExtent());
+    
+    QStringList& layerSetOvOld = mMapOverview->layerSet();
+    if (layerSetOvOld != layerSetOverview)
+    {
+      mMapOverview->setLayerSet(layerSetOverview);
+    }
+    
+    // refresh overview maplayers even if layer set is the same
+    // because full extent might have changed
     updateOverview();
   }
   
-  emit layersChanged();
+  if (layerSetChanged)
+  {
+    QgsDebugMsg("Layers have changed, refreshing");
+    emit layersChanged();
   
-  refresh();
+    refresh();
+  }
 
 } // addLayer
 
 void QgsMapCanvas::setOverview(QgsMapOverviewCanvas* overview)
 {
-  mMapOverview = overview;
+  if (mMapOverview)
+  {
+    // disconnect old map overview if exists
+    disconnect(mMapRender, SIGNAL(projectionsEnabled(bool)),
+               mMapOverview, SLOT(projectionsEnabled(bool)));
+    disconnect(mMapRender, SIGNAL(destinationSrsChanged()),
+               mMapOverview, SLOT(destinationSrsChanged()));
+
+    // map overview is not owned by map canvas so don't delete it...
+  }
+  
+  if (overview)
+  {
+    mMapOverview = overview;
+  
+    // connect to the map render to copy its projection settings
+    connect(mMapRender, SIGNAL(projectionsEnabled(bool)),
+            overview,     SLOT(projectionsEnabled(bool)));
+    connect(mMapRender, SIGNAL(destinationSrsChanged()),
+            overview,     SLOT(destinationSrsChanged()));
+  }
 }
 
 
@@ -266,38 +330,19 @@
 
 void QgsMapCanvas::refresh()
 {
-  if (mRenderFlag)
+  if (mRenderFlag && !mFrozen)
   {
     clear();
-    updateContents();
+    
+    // schedule update of map
+    mMap->update();
   }
 } // refresh
 
-void QgsMapCanvas::drawContents(QPainter * p, int cx, int cy, int cw, int ch)
-{
-#ifdef QGISDEBUG
-//  std::cout << "QgsMapCanvas::drawContents" << std::endl;
-#endif
-  
-  if (mDirty && mRenderFlag && !mFrozen)
-  {
-    render();
-    
-    // XXX painting pixmap immediately after it's been rendered
-    // doesn't work, ending with warnings that painter isn't active
-    updateContents();
-    return;
-  }
-  
-  Q3CanvasView::drawContents(p, cx, cy, cw, ch);
-}
-  
+
 void QgsMapCanvas::render()
 {
-  
-#ifdef QGISDEBUG
-  std::cout << "QgsMapCanvas::render" << std::endl;
-#endif
+  QgsDebugMsg("Starting rendering");
 
   // Tell the user we're going to be a while
   QApplication::setOverrideCursor(Qt::WaitCursor);
@@ -352,22 +397,19 @@
 
 QgsRect QgsMapCanvas::fullExtent() const
 {
-  return mMapRender->layers().fullExtent();
+  return mMapRender->fullExtent();
 } // extent
 
 void QgsMapCanvas::updateFullExtent()
 {
   // projection settings have changed
   
-#ifdef QGISDEBUG
-  std::cout << "QgsMapCanvas::updateFullExtent" << std::endl;
-#endif
+  QgsDebugMsg("updating full extent");
 
-  mMapRender->layers().updateFullExtent();
+  mMapRender->updateFullExtent();
   if (mMapOverview)
   {
-    mMapOverview->updateFullExtent();
-    mMapOverview->reflectChangedExtent();
+    mMapOverview->updateFullExtent(fullExtent());
     updateOverview();
   }
   refresh();
@@ -376,9 +418,14 @@
 
 void QgsMapCanvas::setExtent(QgsRect const & r)
 {
+  if (r.isEmpty())
+  {
+    QgsDebugMsg("Setting empty extent!");
+  }
+  
   QgsRect current = extent();
   mMapRender->setExtent(r);
-  emit extentsChanged(mMapRender->extent());
+  emit extentsChanged();
   updateScale();
   if (mMapOverview)
     mMapOverview->reflectChangedExtent();
@@ -393,15 +440,8 @@
 void QgsMapCanvas::updateScale()
 {
   double scale = mMapRender->scale();
-  QString myScaleString = tr("Scale ");
-  int thePrecision = 0;
-  if (scale == 0)
-    myScaleString = "";
-  else if (scale >= 1)
-    myScaleString += QString("1: ") + QString::number(scale,'f',thePrecision);
-  else
-    myScaleString += QString::number(1.0/scale, 'f', thePrecision) + QString(": 1");
-  emit scaleChanged(myScaleString);
+
+  emit scaleChanged(scale);
 }
 
 
@@ -437,25 +477,17 @@
 
 bool QgsMapCanvas::projectionsEnabled()
 {
-  if (QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0)!=0)
-  {
-    return true;
-  }
-  else
-  {
-    return false;
-  }
+  return mMapRender->projectionsEnabled();
 }
 
 void QgsMapCanvas::mapUnitsChanged()
 {
   // We assume that if the map units have changed, the changed value
-  // will be accessible from QgsProject.
-  setMapUnits(QgsProject::instance()->mapUnits());
-  // Since the map units have changed, force a recalculation of the scale.
-  mMapRender->updateScale();
+  // will be accessible from QgsMapRender
+
   // And then force a redraw of the scale number in the status bar
   updateScale();
+
   // And then redraw the map to force the scale bar to update
   // itself. This is less than ideal as the entire map gets redrawn
   // just to get the scale bar to redraw itself. If we ask the scale
@@ -463,7 +495,7 @@
   // scale bar is not removed, and we end up with two scale bars in
   // the same location. This can perhaps be fixed when/if the scale
   // bar is done as a transparent layer on top of the map canvas.
-  render();
+  refresh();
 }
 
 void QgsMapCanvas::zoomToSelected()
@@ -472,33 +504,8 @@
 
   if (lyr)
   {
+    QgsRect rect = mMapRender->layerExtentToOutputExtent(lyr, lyr->boundingBoxOfSelected());
 
-
-    QgsRect rect ;
-    if (projectionsEnabled())
-    {
-      try
-      {      
-        if ( ! lyr->coordinateTransform() )
-        {
-#ifdef QGISDEBUG 
-          std::cout << "Throwing exception "<< __FILE__ << __LINE__ << std::endl; 
-#endif
-          throw QgsCsException( std::string("NO COORDINATE TRANSFORM FOUND FOR LAYER") );
-        }
-
-        rect = lyr->coordinateTransform()->transformBoundingBox(lyr->bBoxOfSelected());
-      }
-      catch (QgsCsException &cse)
-      {
-        qDebug( "Transform error caught in %s line %d:\n%s", __FILE__, __LINE__, cse.what());
-      }
-    }
-    else
-    {
-      rect = lyr->bBoxOfSelected();
-    }
-
     // no selected features, only one selected point feature 
     //or two point features with the same x- or y-coordinates
     if(rect.isEmpty())
@@ -520,11 +527,8 @@
 
 void QgsMapCanvas::keyPressEvent(QKeyEvent * e)
 {
+  QgsDebugMsg("keyPress event");
 
-#ifdef QGISDEBUG
-  qDebug("keyPress event at line %d in %s",  __LINE__, __FILE__);
-#endif
-
   emit keyPressed(e);
 
   if (mCanvasProperties->mouseButtonDown || mCanvasProperties->panSelectorDown)
@@ -545,9 +549,7 @@
     switch ( e->key() ) 
     {
       case Qt::Key_Left:
-#ifdef QGISDEBUG
-        std::cout << "Pan left" << std::endl;
-#endif
+        QgsDebugMsg("Pan left");
 
         currentExtent.setXmin(currentExtent.xMin() - dx);
         currentExtent.setXmax(currentExtent.xMax() - dx);
@@ -556,9 +558,7 @@
         break;
 
       case Qt::Key_Right:
-#ifdef QGISDEBUG
-        std::cout << "Pan right" << std::endl;
-#endif
+        QgsDebugMsg("Pan right");
 
         currentExtent.setXmin(currentExtent.xMin() + dx);
         currentExtent.setXmax(currentExtent.xMax() + dx);
@@ -567,9 +567,7 @@
         break;
 
       case Qt::Key_Up:
-#ifdef QGISDEBUG
-        std::cout << "Pan up" << std::endl;
-#endif
+        QgsDebugMsg("Pan up");
 
         currentExtent.setYmax(currentExtent.yMax() + dy);
         currentExtent.setYmin(currentExtent.yMin() + dy);
@@ -578,9 +576,8 @@
         break;
 
       case Qt::Key_Down:
-#ifdef QGISDEBUG
-        std::cout << "Pan down" << std::endl;
-#endif
+        QgsDebugMsg("Pan down");
+        
         currentExtent.setYmax(currentExtent.yMax() - dy);
         currentExtent.setYmin(currentExtent.yMin() - dy);
         setExtent(currentExtent);
@@ -588,9 +585,8 @@
         break;
 
       case Qt::Key_Space:
-#ifdef QGISDEBUG
-        std::cout << "Pressing pan selector" << std::endl;
-#endif
+        QgsDebugMsg("Pressing pan selector");
+
         //mCanvasProperties->dragging = true;
         if ( ! e->isAutoRepeat() )
         {
@@ -602,30 +598,24 @@
       default:
         // Pass it on
         e->ignore();
-#ifdef QGISDEBUG
-        qDebug("Ignoring key (%d)", e->key());
-#endif
+        
+        QgsDebugMsg("Ignoring key: " + QString::number(e->key()));
 
-
     }
   }
 } //keyPressEvent()
 
 void QgsMapCanvas::keyReleaseEvent(QKeyEvent * e)
 {
+  QgsDebugMsg("keyRelease event");
 
-#ifdef QGISDEBUG
-  qDebug("keyRelease event at line %d in %s",  __LINE__, __FILE__);
-#endif
-
   switch( e->key() )
   {
     case Qt::Key_Space:
       if ( !e->isAutoRepeat() && mCanvasProperties->panSelectorDown)
       {
-#ifdef QGISDEBUG
-        std::cout << "Releaseing pan selector" << std::endl;
-#endif
+        QgsDebugMsg("Releaseing pan selector");
+        
         mCanvasProperties->panSelectorDown = false;
         panActionEnd(mCanvasProperties->mouseLastXY);
       }
@@ -634,9 +624,8 @@
     default:
       // Pass it on
       e->ignore();
-#ifdef QGISDEBUG
-      qDebug("Ignoring key release (%d)", e->key());
-#endif
+      
+      QgsDebugMsg("Ignoring key release: " + QString::number(e->key()));
   }
 
   emit keyReleased(e);
@@ -644,7 +633,7 @@
 } //keyReleaseEvent()
 
 
-void QgsMapCanvas::contentsMousePressEvent(QMouseEvent * e)
+void QgsMapCanvas::mousePressEvent(QMouseEvent * e)
 {
   // call handler of current map tool
   if (mMapTool)
@@ -659,7 +648,7 @@
 } // mousePressEvent
 
 
-void QgsMapCanvas::contentsMouseReleaseEvent(QMouseEvent * e)
+void QgsMapCanvas::mouseReleaseEvent(QMouseEvent * e)
 {
   // call handler of current map tool
   if (mMapTool)
@@ -667,9 +656,8 @@
     // right button was pressed in zoom tool? return to previous non zoom tool
     if (e->button() == Qt::RightButton && mMapTool->isZoomTool())
     {
-#ifdef QGISDEBUG
-      std::cout << "Right click in map tool zoom or pan, last tool is " << (mLastNonZoomMapTool ? "not null." : "null.") <<  std::endl;
-#endif
+      QgsDebugMsg("Right click in map tool zoom or pan, last tool is " +
+            QString(mLastNonZoomMapTool ? "not null." : "null.") );
 
       // change to older non-zoom tool
       if (mLastNonZoomMapTool)
@@ -695,18 +683,10 @@
 {
   int width = e->size().width(), height = e->size().height();
 //  int width = visibleWidth(), height = visibleHeight();
-  mCanvas->resize(width, height);
+  mScene->setSceneRect(QRectF(0,0,width, height));
 
-  // Adjust the size (in pixels) of that we draw by the margins in
-  // the widget that the drawing eventually gets placed in. In my testing
-  // the margin was 2 pixels on each border.
-  int top, bottom, right, left;
-  getContentsMargins(&left, &top, &right, &bottom);
-  width = width - (left + right);
-  height = height - (top + bottom);
+  mMap->resize(QSize(width,height));
 
-  mMap->resize(/*e->size()*/ QSize(width,height));
-
   // notify canvas items of change
   updateCanvasItemsPositions();
   
@@ -717,8 +697,8 @@
 
 void QgsMapCanvas::updateCanvasItemsPositions()
 {
-  Q3CanvasItemList list = mCanvas->allItems();
-  Q3CanvasItemList::iterator it = list.begin();
+  QList<QGraphicsItem*> list = mScene->items();
+  QList<QGraphicsItem*>::iterator it = list.begin();
   while (it != list.end())
   {
     QgsMapCanvasItem* item = dynamic_cast<QgsMapCanvasItem*>(*it);
@@ -737,9 +717,8 @@
 {
   // Zoom the map canvas in response to a mouse wheel event. Moving the
   // wheel forward (away) from the user zooms in
-#ifdef QGISDEBUG
-  std::cout << "Wheel event delta " << e->delta() << std::endl;
-#endif
+  
+  QgsDebugMsg("Wheel event delta " + QString::number(e->delta()));
 
   switch (mWheelAction)
   {
@@ -788,7 +767,7 @@
 }
 
 
-void QgsMapCanvas::contentsMouseMoveEvent(QMouseEvent * e)
+void QgsMapCanvas::mouseMoveEvent(QMouseEvent * e)
 {
   mCanvasProperties->mouseLastXY = e->pos();
 
@@ -857,19 +836,21 @@
   // background of map's pixmap
   mMap->setBgColor(theColor);
   
-  // background of the Q3CavnasView
-  QPalette palette;
+  // background of the QGraphicsView
+  QBrush bgBrush(theColor);
+  setBackgroundBrush(bgBrush);
+  /*QPalette palette;
   palette.setColor(backgroundRole(), theColor);
-  setPalette(palette);
+  setPalette(palette);*/
   
-  // background of Q3Canvas
-  mCanvas->setBackgroundColor(theColor);
+  // background of QGraphicsScene
+  mScene->setBackgroundBrush(bgBrush);
 } // setbgColor
 
 
 int QgsMapCanvas::layerCount() const
 {
-  return mMapRender->layers().layerCount();
+  return mMapRender->layerSet().size();
 } // layerCount
 
 
@@ -895,9 +876,9 @@
 } // freeze
 
 
-QPixmap * QgsMapCanvas::canvasPixmap()
+QPixmap& QgsMapCanvas::canvasPixmap()
 {
-  return &mMap->pixmap();
+  return mMap->pixmap();
 } // canvasPixmap
 
 
@@ -910,9 +891,7 @@
 
 void QgsMapCanvas::setMapUnits(QGis::units u)
 {
-#ifdef QGISDEBUG
-  std::cerr << "Setting map units to " << static_cast<int>(u) << std::endl;
-#endif
+  QgsDebugMsg("Setting map units to " + QString::number(static_cast<int>(u)) );
 
   mMapRender->setMapUnits(u);
 }
@@ -936,64 +915,11 @@
 
 void QgsMapCanvas::connectNotify( const char * signal )
 {
-#ifdef QGISDEBUG
-  std::cerr << "QgsMapCanvas connected to " << signal << "\n";
-#endif
+  QgsDebugMsg("QgsMapCanvas connected to " + QString(signal));
 } //  QgsMapCanvas::connectNotify( const char * signal )
 
 
-bool QgsMapCanvas::writeXML(QDomNode & layerNode, QDomDocument & doc)
-{
-  // Write current view extents
-  QDomElement extentNode = doc.createElement("extent");
-  layerNode.appendChild(extentNode);
 
-  QDomElement xMin = doc.createElement("xmin");
-  QDomElement yMin = doc.createElement("ymin");
-  QDomElement xMax = doc.createElement("xmax");
-  QDomElement yMax = doc.createElement("ymax");
-
-  QgsRect r = mMapRender->extent();
-  QDomText xMinText = doc.createTextNode(QString::number(r.xMin(), 'f'));
-  QDomText yMinText = doc.createTextNode(QString::number(r.yMin(), 'f'));
-  QDomText xMaxText = doc.createTextNode(QString::number(r.xMax(), 'f'));
-  QDomText yMaxText = doc.createTextNode(QString::number(r.yMax(), 'f'));
-
-  xMin.appendChild(xMinText);
-  yMin.appendChild(yMinText);
-  xMax.appendChild(xMaxText);
-  yMax.appendChild(yMaxText);
-
-  extentNode.appendChild(xMin);
-  extentNode.appendChild(yMin);
-  extentNode.appendChild(xMax);
-  extentNode.appendChild(yMax);
-  
-  std::deque<QString>& layers = mMapRender->layers().layerSet();
-
-  // Iterate over layers in zOrder
-  // Call writeXML() on each
-  QDomElement projectLayersNode = doc.createElement("projectlayers");
-  projectLayersNode.setAttribute("layercount", qulonglong( layers.size() ));
-
-  std::deque<QString>::iterator li = layers.begin();
-  while (li != layers.end())
-  {
-    QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
-
-    if (ml)
-    {
-      ml->writeXML(projectLayersNode, doc);
-    }
-    li++;
-  }
-
-  layerNode.appendChild(projectLayersNode);
-
-  return true;
-}
-
-
 QgsMapTool* QgsMapCanvas::mapTool()
 {
   return mMapTool;
@@ -1044,15 +970,13 @@
 
 void QgsMapCanvas::panAction(QMouseEvent * e)
 {
-#ifdef QGISDEBUG
-  std::cout << "QgsMapCanvas::panAction: entering." << std::endl;
-#endif
+  QgsDebugMsg("panAction: entering.");
 
   // move all map canvas items
   moveCanvasContents();
   
   // update canvas
-  updateContents();
+  //updateContents(); // TODO: need to update?
 }
 
 void QgsMapCanvas::moveCanvasContents(bool reset)
@@ -1060,17 +984,16 @@
   QPoint pnt(0,0);
   if (!reset)
     pnt += mCanvasProperties->mouseLastXY - mCanvasProperties->rubberStartPoint;
-#ifdef QGISDEWBUG
-  std::cout << "moveCanvasContents: pnt " << pnt.x() << "," << pnt.y() << std::endl;
-#endif
   
+  QgsDebugMsg("moveCanvasContents: pnt " + QString::number(pnt.x()) + "," + QString::number(pnt.y()) );
+  
   mMap->setPanningOffset(pnt);
   
-  Q3CanvasItemList list = mCanvas->allItems();
-  Q3CanvasItemList::iterator it = list.begin();
+  QList<QGraphicsItem*> list = mScene->items();
+  QList<QGraphicsItem*>::iterator it = list.begin();
   while (it != list.end())
   {
-    Q3CanvasItem* item = *it;
+    QGraphicsItem* item = *it;
     
     if (item != mMap)
     {
@@ -1121,3 +1044,47 @@
 {
   return mCanvasProperties->mouseLastXY;
 }
+
+void QgsMapCanvas::readProject(const QDomDocument & doc)
+{
+  QDomNodeList nodes = doc.elementsByTagName("mapcanvas");
+  if (nodes.count())
+  {
+    QDomNode node = nodes.item(0);
+    mMapRender->readXML(node);
+  }
+  else
+  {
+    QgsDebugMsg("Couldn't read mapcanvas information from project");
+  }
+
+}
+
+void QgsMapCanvas::writeProject(QDomDocument & doc)
+{
+  // create node "mapcanvas" and call mMapRender->writeXML()
+
+  QDomNodeList nl = doc.elementsByTagName("qgis");
+  if (!nl.count())
+  {
+    QgsDebugMsg("Unable to find qgis element in project file");
+    return;
+  }
+  QDomNode qgisNode = nl.item(0);  // there should only be one, so zeroth element ok
+  
+  QDomElement mapcanvasNode = doc.createElement("mapcanvas");
+  qgisNode.appendChild(mapcanvasNode);
+  mMapRender->writeXML(mapcanvasNode, doc);
+
+  
+}
+
+void QgsMapCanvas::zoom(double scaleFactor)
+{
+  
+  QgsRect r = mMapRender->extent();
+  r.scale(scaleFactor);
+  setExtent(r);
+  refresh();
+}
+

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvas.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsmapcanvas.h 6177 2006-12-03 21:29:01Z wonder $ */
+/* $Id: qgsmapcanvas.h 5341 2006-04-22 12:11:36Z wonder $ */
 
 #ifndef QGSMAPCANVAS_H
 #define QGSMAPCANVAS_H
@@ -28,7 +28,7 @@
 #include "qgis.h"
 
 #include <QDomDocument>
-#include <Q3CanvasView>
+#include <QGraphicsView>
 
 class QWheelEvent;
 class QPixmap;
@@ -37,30 +37,59 @@
 class QResizeEvent;
 
 class QColor;
+class QDomDocument;
 class QPaintDevice;
 class QMouseEvent;
 class QRubberBand;
-class Q3Canvas;
+class QGraphicsScene;
 
 class QgsMapToPixel;
 class QgsMapLayer;
 class QgsMapLayerInterface;
 class QgsLegend;
 class QgsLegendView;
-class QgsMeasure;
 class QgsRubberBand;
 
 class QgsMapRender;
 class QgsMapCanvasMap;
 class QgsMapOverviewCanvas;
-class QgsMapCanvasMapImage;
 class QgsMapTool;
 
+/** \class QgsMapCanvasLayer
+  \brief class that stores additional layer's flags together with pointer to the layer
+*/
+class GUI_EXPORT QgsMapCanvasLayer
+{
+public:
+  QgsMapCanvasLayer(QgsMapLayer* layer, bool visible = TRUE, bool inOverview = FALSE)
+  : mLayer(layer), mVisible(visible), mInOverview(inOverview) {}
+  
+  void setVisible(bool visible) { mVisible = visible; }
+  void setInOverview(bool inOverview) { mInOverview = inOverview; }
+  
+  bool visible() const { return mVisible; }
+  bool inOverview() const { return mInOverview; }
+  
+  QgsMapLayer* layer() { return mLayer; }
+  const QgsMapLayer* layer() const { return mLayer; }
+  
+private:
+  
+  QgsMapLayer* mLayer;
+    
+  /** Flag whether layer is visible */
+  bool mVisible;
+    
+  /** Flag whether layer is shown in overview */
+  bool mInOverview;
+};
+
+
 /*! \class QgsMapCanvas
  * \brief Map canvas class for displaying all GIS data types.
  */
 
-class QgsMapCanvas : public Q3CanvasView
+class GUI_EXPORT QgsMapCanvas : public QGraphicsView
 {
     Q_OBJECT;
 
@@ -74,7 +103,7 @@
     //! Destructor
     ~QgsMapCanvas();
 
-    void setLayerSet(std::deque<QString>& layerSet);
+    void setLayerSet(QList<QgsMapCanvasLayer>& layers);
     
     void setCurrentLayer(QgsMapLayer* layer);
     
@@ -87,7 +116,7 @@
     QgsMapRender* mapRender();
     
     //! Accessor for the canvas pixmap
-    QPixmap * canvasPixmap();
+    QPixmap& canvasPixmap();
 
     //! Get the last reported scale of the canvas
     double getScale();
@@ -128,7 +157,7 @@
 
     /**Returns the currently active tool*/
     QgsMapTool* mapTool();
-
+    
     /** Write property of QColor bgColor. */
     virtual void setCanvasColor(const QColor & _newVal);
 
@@ -141,9 +170,6 @@
     //! return the map layer at postion index in the layer stack
     QgsMapLayer *getZpos(int index);
     
-    //! return the layer by name
-    QgsMapLayer *layerByName(QString n);
-
     //! return number of layers on the map
     int layerCount() const;
 
@@ -172,18 +198,6 @@
     //! Get the current coordinate transform
     QgsMapToPixel * getCoordinateTransform();
 
-    /** stores state in DOM node
-        layerNode is DOM node corresponding to ``qgis'' tag
-
-        The DOM node corresponds to a DOM document project file XML element to be
-        written by QgsProject.
-
-        Invoked by QgsProject::write().
-
-        returns true if successful
-    */
-    bool writeXML( QDomNode & layerNode, QDomDocument & doc );
-
     //! true if canvas currently drawing
     bool isDrawing();
     
@@ -215,6 +229,10 @@
     //! returns last position of mouse cursor
     QPoint mouseLastXY();
   
+    //! zooms with the factor supplied. Factor > 1 zooms in
+    void zoom(double scaleFactor);
+
+
   public slots:
 
     /**Sets dirty=true and calls render()*/
@@ -245,7 +263,12 @@
     //! show whatever error is exposed by the QgsMapLayer.
     void showError(QgsMapLayer * mapLayer);
     
+    //! called to read map canvas settings from project
+    void readProject(const QDomDocument &);
     
+    //! called to write map canvas settings to project
+    void writeProject(QDomDocument &);
+    
 signals:
     /** Let the owner know how far we are with render operations */
     void setProgress(int,int);
@@ -253,10 +276,10 @@
     void xyCoordinates(QgsPoint & p);
 
     //! Emitted when the scale of the map changes
-    void scaleChanged(QString);
+    void scaleChanged(double);
 
     //! Emitted when the extents of the map change
-    void extentsChanged(QgsRect);
+    void extentsChanged();
 
     /** Emitted when the canvas has rendered.
 
@@ -278,6 +301,33 @@
     void keyReleased(QKeyEvent * e);
     
 protected:
+    //! Overridden key press event
+    void keyPressEvent(QKeyEvent * e);
+
+    //! Overridden key release event
+    void keyReleaseEvent(QKeyEvent * e);
+
+    //! Overridden mouse move event
+    void mouseMoveEvent(QMouseEvent * e);
+
+    //! Overridden mouse press event
+    void mousePressEvent(QMouseEvent * e);
+
+    //! Overridden mouse release event
+    void mouseReleaseEvent(QMouseEvent * e);
+
+    //! Overridden mouse wheel event
+    void wheelEvent(QWheelEvent * e);
+
+    //! Overridden resize event
+    void resizeEvent(QResizeEvent * e);
+
+    //! called when panning is in action, reset indicates end of panning
+    void moveCanvasContents(bool reset = FALSE);
+    
+    //! called on resize or changed extent to notify canvas items to change their rectangle
+    void updateCanvasItemsPositions();
+
     /// implementation struct
     class CanvasProperties;
 
@@ -294,11 +344,6 @@
      */
     QgsMapCanvas( QgsMapCanvas const & );
 
-    /**
-       private to force use of ctor with arguments
-     */
-    QgsMapCanvas();
-
     //! all map rendering is done in this class
     QgsMapRender* mMapRender;
     
@@ -325,36 +370,6 @@
      */
     bool mDirty;
     
-    //! Overridden key press event
-    void keyPressEvent(QKeyEvent * e);
-
-    //! Overridden key release event
-    void keyReleaseEvent(QKeyEvent * e);
-
-    //! Overridden mouse move event
-    void contentsMouseMoveEvent(QMouseEvent * e);
-
-    //! Overridden mouse press event
-    void contentsMousePressEvent(QMouseEvent * e);
-
-    //! Overridden mouse release event
-    void contentsMouseReleaseEvent(QMouseEvent * e);
-
-    //! Overridden mouse wheel event
-    void wheelEvent(QWheelEvent * e);
-
-    //! Overridden resize event
-    void resizeEvent(QResizeEvent * e);
-
-    //! Overridden draw contents from canvas view
-    void drawContents(QPainter * p, int cx, int cy, int cw, int ch);
-        
-    //! called when panning is in action, reset indicates end of panning
-    void moveCanvasContents(bool reset = FALSE);
-    
-    //! called on resize or changed extent to notify canvas items to change their rectangle
-    void updateCanvasItemsPositions();
-
     //! determines whether user has requested to suppress rendering
     bool mRenderFlag;
     
@@ -366,7 +381,8 @@
     //! current layer in legend
     QgsMapLayer* mCurrentLayer;
 
-    Q3Canvas* mCanvas;
+    //! graphics scene manages canvas items
+    QGraphicsScene* mScene;
     
     //! pointer to current map tool
     QgsMapTool* mMapTool;

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,78 +18,98 @@
 #include "qgsmapcanvasitem.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaptopixel.h"
+#include <QGraphicsScene>
 #include <QRect>
 #include <QPen>
 #include <QBrush>
 #include <QPainter>
 
 QgsMapCanvasItem::QgsMapCanvasItem(QgsMapCanvas* mapCanvas)
-  : Q3CanvasRectangle(mapCanvas->canvas()), mMapCanvas(mapCanvas),
-    mPanningOffset(0,0)
+  : QGraphicsItem(0, mapCanvas->scene()), mMapCanvas(mapCanvas),
+    mPanningOffset(0,0), mItemSize(0,0)
 {
-  //setCanvas(mapCanvas->canvas());
 }
 
 QgsMapCanvasItem::~QgsMapCanvasItem()
 {
-  updateCanvas();
+  update(); // shedule redraw of canvas
 }
 
+void QgsMapCanvasItem::paint(QPainter * painter,
+                             const QStyleOptionGraphicsItem * option,
+                             QWidget * widget)
+{
+  paint(painter); // call the derived item's drawing routines
+}
+
 QgsPoint QgsMapCanvasItem::toMapCoords(const QPoint& point)
 {
   return mMapCanvas->getCoordinateTransform()->toMapCoordinates(point - mPanningOffset);
 }
     
 
-QPoint QgsMapCanvasItem::toCanvasCoords(const QgsPoint& point)
+QPointF QgsMapCanvasItem::toCanvasCoords(const QgsPoint& point)
 {
   double x = point.x(), y = point.y();
   mMapCanvas->getCoordinateTransform()->transformInPlace(x,y);
-  return QPoint((int)(x+0.5), (int)(y+0.5)) + mPanningOffset; // round the values
+  return QPointF(x, y) + mPanningOffset;
 }
-    
-    
-QgsRect QgsMapCanvasItem::rect()
+
+
+QgsRect QgsMapCanvasItem::rect() const
 {
   return mRect;
 }
-    
-    
-void QgsMapCanvasItem::setRect(const QgsRect& r)
-{
-  mRect = r;
-  updatePosition();
-  updateCanvas();
-}
 
 
-void QgsMapCanvasItem::updatePosition()
+void QgsMapCanvasItem::setRect(const QgsRect& rect)
 {
-  QRect r; // empty rect by default
+  mRect = rect;
+  //updatePosition();
+  
+  QRectF r; // empty rect by default
   if (!mRect.isEmpty())
   {
-    r = QRect(toCanvasCoords(QgsPoint(mRect.xMin(), mRect.yMin())),
-        toCanvasCoords(QgsPoint(mRect.xMax(), mRect.yMax())));
+    r.setTopLeft(toCanvasCoords(QgsPoint(mRect.xMin(), mRect.yMin())));
+    r.setBottomRight(toCanvasCoords(QgsPoint(mRect.xMax(), mRect.yMax())));
     r = r.normalized();
   }
-  move(r.left(), r.top());
-  setSize(r.width(), r.height());
-
+  
+  // update the point prior to changing its position
+  update();
+  
+  // set position in canvas where the item will have coordinate (0,0)
+  setPos(r.topLeft());
+  mItemSize = QSizeF(r.width()+2,r.height()+2);
+  
 #ifdef QGISDEBUG
-//  std::cout << "QgsMapCanvasItem::updatePosition: "  << " [" << (int) x() 
-//    << "," << (int) y() << "]-[" << width() << "x" << height() << "]" << std::endl;
+//  std::cout << "QgsMapCanvasItem::setRect: "  << " [" << (int) r.left() << ","
+//     << (int) r.top() << "]-[" << (int) r.width() << "x" << (int) r.height() << "]" << std::endl;
 #endif
+  
+  update();
 }
 
+QRectF QgsMapCanvasItem::boundingRect() const
+{
+  return QRectF(QPointF(-1,-1),mItemSize);
+}
 
 
 void QgsMapCanvasItem::updateCanvas()
 {
   update();
-  mMapCanvas->canvas()->update(); //Contents();
+  // porting: update below should not be needed anymore
+  //mMapCanvas->scene()->update(); //Contents();
 }
 
+void QgsMapCanvasItem::updatePosition()
+{
+  // default implementation: recalculate position of the item
+  setRect(mRect);
+}
 
+
 void QgsMapCanvasItem::setPanningOffset(const QPoint& point)
 {
   mPanningOffset = point;

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasitem.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,37 +17,46 @@
 #ifndef QGSMAPCANVASITEM_H
 #define QGSMAPCANVASITEM_H
 
-#include <Q3CanvasItem>
+#include <QGraphicsItem>
 #include "qgsrect.h"
 
 class QgsMapCanvas;
 class QPainter;
 
-class QgsMapCanvasItem : public QObject, public Q3CanvasRectangle
+class GUI_EXPORT QgsMapCanvasItem : public QGraphicsItem
 {
-  Q_OBJECT;
-  
   protected:
     
     //! protected constructor: cannot be constructed directly
     QgsMapCanvasItem(QgsMapCanvas* mapCanvas);
-    
+
     virtual ~QgsMapCanvasItem();
-    
+
     //! function to be implemented by derived classes
-    virtual void drawShape(QPainter & p)=0;
+    virtual void paint(QPainter * painter) = 0;
     
+    //! paint function called by map canvas
+    virtual void paint(QPainter * painter,
+                       const QStyleOptionGraphicsItem * option,
+                       QWidget * widget = 0);
+    
     //! schedules map canvas for repaint
     void updateCanvas();
     
-  
+
   public:
-    
+
+    //! called on changed extent or resize event to update position of the item
+    virtual void updatePosition();
+
+    //! default implementation for canvas items
+    virtual QRectF boundingRect() const;
+
     //! sets current offset, to be called from QgsMapCanvas
     void setPanningOffset(const QPoint& point);
-    
+
     //! returns canvas item rectangle
-    QgsRect rect();
+    QgsRect rect() const;
     
     //! sets canvas item rectangle
     void setRect(const QgsRect& r);
@@ -56,13 +65,8 @@
     QgsPoint toMapCoords(const QPoint& point);
     
     //! transformation from map coordinates to screen coordinates
-    QPoint toCanvasCoords(const QgsPoint& point);
+    QPointF toCanvasCoords(const QgsPoint& point);
 
-    /** called on changed extents or changed item rectangle
-     * Override this in your subclass if you wish to have custom
-     * behaviour for when the canvas area of interest is changed */
-    virtual void updatePosition();
-
   protected:
     
     //! pointer to map canvas
@@ -74,6 +78,9 @@
     //! offset from normal position due current panning operation,
     //! used when converting map coordinates to move map canvas items
     QPoint mPanningOffset;
+    
+    //! cached size of the item (to return in boundingRect())
+    QSizeF mItemSize;
 };
 
 

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,33 +14,49 @@
  ***************************************************************************/
 /* $Id$ */
 
+#include "qgslogger.h"
+#include "qgsmapcanvas.h"
 #include "qgsmapcanvasmap.h"
 #include "qgsmaprender.h"
 
 #include <QPainter>
 
-QgsMapCanvasMap::QgsMapCanvasMap(Q3Canvas *canvas, QgsMapRender* render)
-  : Q3CanvasRectangle(canvas), mRender(render)
+QgsMapCanvasMap::QgsMapCanvasMap(QgsMapCanvas* canvas)
+  : mCanvas(canvas)
 {
-  setZ(-10);
-  move(0,0);
+  setZValue(-10);
+  setPos(0,0);
   resize(QSize(1,1));
   mUseQImageToRender = false;
 }
 
+void QgsMapCanvasMap::paint(QPainter* p, const QStyleOptionGraphicsItem*, QWidget*)
+{
+  if (mCanvas->isDirty())
+  {
+    mCanvas->render();
+  }
+  p->drawPixmap(0,0, mPixmap);
+}
 
-void QgsMapCanvasMap::drawShape(QPainter & p)
+QRectF QgsMapCanvasMap::boundingRect() const
 {
-  p.drawPixmap(mOffset.x(), mOffset.y(), mPixmap);
+  return QRectF(0,0,mPixmap.width(),mPixmap.height());
 }
 
+
 void QgsMapCanvasMap::resize(QSize size)
 {
-  setSize(size.width(), size.height());
   mPixmap = QPixmap(size);
-  mRender->setOutputSize(size, mPixmap.logicalDpiX());
+  mCanvas->mapRender()->setOutputSize(size, mPixmap.logicalDpiX());
 }
 
+void QgsMapCanvasMap::setPanningOffset(const QPoint& point)
+{
+  mOffset = point;
+  setPos(mOffset);
+}
+
 void QgsMapCanvasMap::render()
 {
   // Rendering to a QImage gives incorrectly filled polygons in some
@@ -51,7 +67,7 @@
   if (mUseQImageToRender)
   {
     // use temporary image for rendering
-    QImage image(size(), QImage::Format_RGB32);
+    QImage image(boundingRect().size().toSize(), QImage::Format_RGB32);
   
     image.fill(mBgColor.rgb());
 
@@ -64,7 +80,7 @@
     if (mAntiAliasing)
       paint.setRenderHint(QPainter::Antialiasing);
   
-    mRender->render(&paint);
+    mCanvas->mapRender()->render(&paint);
 
     paint.end();
   
@@ -78,7 +94,7 @@
     paint.begin(&mPixmap);
     // Clip our drawing to the QPixmap
     paint.setClipRect(mPixmap.rect());
-    mRender->render(&paint);
+    mCanvas->mapRender()->render(&paint);
     paint.end();
   }
 }

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapcanvasmap.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,56 +17,53 @@
 #ifndef QGSMAPCANVASMAP_H
 #define QGSMAPCANVASMAP_H
 
-#include <Q3CanvasRectangle>
+#include <QGraphicsRectItem>
 #include <QPixmap>
 
-#define RTTI_Map 11111
 
 class QgsMapRender;
+class QgsMapCanvas;
 
-class QgsMapCanvasMap : public Q3CanvasRectangle
+class GUI_EXPORT QgsMapCanvasMap : public QGraphicsRectItem
 {
   public:
     
     //! constructor
-    QgsMapCanvasMap(Q3Canvas *canvas, QgsMapRender* render);
+    QgsMapCanvasMap(QgsMapCanvas* canvas);
     
     //! resize canvas item and pixmap
     void resize(QSize size);
     
-    //! unique identification for this canvas item
-    int rtti () const { return RTTI_Map; }
-
     void enableAntiAliasing(bool flag) { mAntiAliasing = flag; }
     
     void useQImageToRender(bool flag) { mUseQImageToRender = flag; }
 
-    QPixmap& pixmap() { return mPixmap; }
-    
     //! renders map using QgsMapRender to mPixmap
     void render();
     
     void setBgColor(const QColor& color) { mBgColor = color; }
     
-    void setPanningOffset(const QPoint& point) { mOffset = point; }
+    void setPanningOffset(const QPoint& point);
     
-  protected:
+    QPixmap& pixmap() { return mPixmap; }
     
-    //! called by map canvas to draw map
-    void drawShape(QPainter & p);
+    void paint(QPainter* p, const QStyleOptionGraphicsItem*, QWidget*);
 
+    QRectF boundingRect() const;
+  
+  
   private:
 
-    //! pixmap that holds rendered map
-    QPixmap mPixmap;
-
     //! indicates whether antialiasing will be used for rendering
     bool mAntiAliasing;
     
     //! Whether to use a QPixmap or a QImage for the rendering
     bool mUseQImageToRender;
+    
+    QPixmap mPixmap;
 
-    QgsMapRender* mRender;
+    //QgsMapRender* mRender;
+    QgsMapCanvas* mCanvas;
     
     QColor mBgColor;
     

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,714 +0,0 @@
-/***************************************************************************
-                          qgsmaplayer.cpp  -  description
-                             -------------------
-    begin                : Fri Jun 28 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmaplayer.cpp 6823 2007-03-20 18:30:27Z homann $ */
-
-#include <cfloat>
-#include <iostream>
-#include <limits>
-#include <cmath>
-
-#include <qgsapplication.h>
-#include <QDateTime>
-#include <QDomNode>
-#include <QFileInfo>
-#include <QPainter>
-#include <QAction>
-#include <QKeyEvent>
-#include <QMenu>
-#include <QRegExp>
-#include <QSettings>
-
-#include "qgisapp.h"
-#include "qgslogger.h"
-#include "qgsmaptopixel.h"
-#include "qgsrect.h"
-#include "qgsproject.h"
-#include "qgssymbol.h"
-#include "qgsmaplayer.h"
-#include "qgslegend.h"
-#include "qgslegendlayerfile.h"
-
-
-
-QgsMapLayer::QgsMapLayer(int type,
-                         QString lyrname,
-                         QString source) :
-        transparencyLevelInt(255), // 0 is completely transparent
-        valid(true), // assume the layer is valid (data source exists and 
-                     // can be used) until we learn otherwise
-        dataSource(source),
-        internalName(lyrname),
-        popMenu(0),
-        mShowInOverviewAction(0),
-        mShowInOverview(false),
-        mCoordinateTransform(0),
-        mLegend(0),
-        mLegendLayerFile(0),
-        ID(""),
-        layerType(type),
-        m_visible(true)
-
-{
-  QgsDebugMsg("QgsMapLayer::QgsMapLayer - lyrname is '" + lyrname);
-
-    // Set the display name = internal name
-    layerName = capitaliseLayerName(internalName);
-
-    QgsDebugMsg("QgsMapLayer::QgsMapLayer - layerName is '" + layerName);
-
-    // Generate the unique ID of this layer
-    QDateTime dt = QDateTime::currentDateTime();
-    ID = lyrname + dt.toString("yyyyMMddhhmmsszzz");
-    // Tidy the ID up to avoid characters that may cause problems
-    // elsewhere (e.g in some parts of XML). Replaces every non-word
-    // character (word characters are the alphabet, numbers and
-    // underscore) with an underscore. 
-    // Note that the first backslashe in the regular expression is
-    // there for the compiler, so the pattern is actually \W
-    ID.replace(QRegExp("[\\W]"), "_");
-
-    QString myThemePath = QgsApplication::themePath();
-    mInOverviewPixmap.load(myThemePath + "/mActionInOverview.png");
-    mEditablePixmap.load(myThemePath + "/mIconEditable.png");
-    mProjectionErrorPixmap.load(myThemePath + "/mIconProjectionProblem.png");
-    //mActionInOverview = new QAction( "in Overview", "Ctrl+O", this );
-
-    //set some generous  defaults for scale based visibility
-    mMinScale = 0;
-    mMaxScale = 100000000;
-    mScaleBasedVisibility = false;
-}
-
-
-
-QgsMapLayer::~QgsMapLayer()
-{
-    //delete mCoordinateTransform; //crash when removing layers. Why?
-}
-
-int QgsMapLayer::type() const
-{
-    return layerType;
-}
-
-/** Get this layer's unique ID */
-QString const & QgsMapLayer::getLayerID() const
-{
-    return ID;
-}
-
-/** Write property of QString layerName. */
-void QgsMapLayer::setLayerName(const QString & _newVal, bool updateLegend)
-{
-  QgsDebugMsg("QgsMapLayer::setLayerName: new name is '" + _newVal);
-  layerName = capitaliseLayerName(_newVal);
-  // And update the legend if one exists
-  if (mLegend && updateLegend)
-    mLegend->setName(mLegendLayerFile, layerName);
-}
-
-/** Read property of QString layerName. */
-QString const & QgsMapLayer::name() const
-{
-  QgsDebugMsg("QgsMapLayer::name: returning name '" + layerName);
-  return layerName;
-}
-
-QString const & QgsMapLayer::source() const
-{
-    return dataSource;
-}
-
-QString QgsMapLayer::publicSource() const
-{
-  // Redo this every time we're asked for it, as we don't know if
-  // dataSource has changed.
-  static QRegExp regexp(" password=.* ");
-  regexp.setMinimal(true);
-  QString safeName(dataSource);
-  return safeName.replace(regexp, " ");
-}
-
-QString const & QgsMapLayer::sourceName() const
-{
-    return internalName;
-}
-
-const QgsRect QgsMapLayer::extent()
-{
-    return layerExtent;
-}
-
-QgsRect QgsMapLayer::calculateExtent()
-{
-    //just to prevent any crashes
-    QgsRect rect;
-    
-    rect.setMinimal();
-    return rect;
-}
-
-void QgsMapLayer::draw(QPainter *, QgsRect * viewExtent, int yTransform)
-{
-    //  std::cout << "In QgsMapLayer::draw" << std::endl;
-}
-
-bool QgsMapLayer::draw(QPainter *, QgsRect *, QgsMapToPixel *, bool)
-{
-    //  std::cout << "In QgsMapLayer::draw" << std::endl;
-    return false;
-}
-
-void QgsMapLayer::drawLabels(QPainter *, QgsRect *, QgsMapToPixel *)
-{
-    //  std::cout << "In QgsMapLayer::draw" << std::endl;
-}
-
-/** Read property of QString labelField. */
-const QString & QgsMapLayer::labelField()
-{
-    return m_labelField;
-}
-
-
-bool QgsMapLayer::readXML( QDomNode & layer_node )
-{
-    QDomElement element = layer_node.toElement();
-
-    // XXX not needed? QString type = element.attribute("type");
-
-    QString visible = element.attribute("visible");
-
-    if ( "1" == visible )
-    {
-        setVisible( true );
-    }
-    else
-    {
-        setVisible( false );
-    }
-
-    QString showInOverview = element.attribute("showInOverviewFlag");
-
-    if ( "1" == showInOverview )
-    {
-        mShowInOverview = true;
-    }
-    else
-    {
-        mShowInOverview = false;
-    }
-
-    // use scale dependent visibility flag
-    QString scaleBasedVisibility = element.attribute("scaleBasedVisibilityFlag");
-    if ( "1" == scaleBasedVisibility )
-    {
-        setScaleBasedVisibility(true);
-    }
-    else
-    {
-        setScaleBasedVisibility(false);
-    }
-    setMinScale(element.attribute("minScale").toFloat());
-    setMaxScale(element.attribute("maxScale").toFloat());
-
-    // set data source
-    QDomNode mnl = layer_node.namedItem("datasource");
-    QDomElement mne = mnl.toElement();
-    dataSource = mne.text();
-
-    // the internal name is just the data source basename
-    QFileInfo dataSourceFileInfo( dataSource );
-    internalName = dataSourceFileInfo.baseName();
-
-    // set ID
-    mnl = layer_node.namedItem("id");
-    if ( ! mnl.isNull() ) 
-    {
-        mne = mnl.toElement();
-        if ( ! mne.isNull() && mne.text().length() > 10 ) { // should be at least 17 (yyyyMMddhhmmsszzz)
-	    ID = mne.text();
-	}
-    }
-
-    // set name
-    mnl = layer_node.namedItem("layername");
-    mne = mnl.toElement();
-    setLayerName( mne.text() );
-
-
-
-    //read srs
-    QDomNode srsNode = layer_node.namedItem("coordinatetransform");
-
-    mCoordinateTransform=new QgsCoordinateTransform();
-    if( ! srsNode.isNull()  )
-    {
-      qDebug("Reading coordinatetransform from project file");
-       mCoordinateTransform->readXML(srsNode);
-    }
-    
-    //read transparency level
-    QDomNode transparencyNode = layer_node.namedItem("transparencyLevelInt");
-    if ( ! transparencyNode.isNull() )
-    {
-      // set transparency level only if it's in project 
-      // (otherwise it sets the layer transparent)
-      QDomElement myElement = transparencyNode.toElement();
-      setTransparency(myElement.text().toInt());
-    }
-
-
-    // now let the children grab what they need from the DOM node.
-    return readXML_( layer_node );
-
-} // void QgsMapLayer::readXML
-
-
-bool QgsMapLayer::readXML_( QDomNode & layer_node )
-{
-    // NOP by default; children will over-ride with behavior specific to them
-
-    return true;
-} // void QgsMapLayer::readXML_
-
-
-
-bool QgsMapLayer::writeXML( QDomNode & layer_node, QDomDocument & document )
-{
-    // general layer metadata
-    QDomElement maplayer = document.createElement( "maplayer" );
-
-    // visible flag
-    if ( visible() )
-    {
-        maplayer.setAttribute( "visible", 1 );
-    }
-    else
-    {
-        maplayer.setAttribute( "visible", 0 );
-    }
-
-
-    // show in overview flag
-    if ( showInOverviewStatus() )
-    {
-        maplayer.setAttribute( "showInOverviewFlag", 1 );
-    }
-    else
-    {
-        maplayer.setAttribute( "showInOverviewFlag", 0 );
-    }
-
-    // use scale dependent visibility flag
-    if ( scaleBasedVisibility() )
-    {
-        maplayer.setAttribute( "scaleBasedVisibilityFlag", 1 );
-    }
-    else
-    {
-        maplayer.setAttribute( "scaleBasedVisibilityFlag", 0 );
-    }
-    maplayer.setAttribute( "minScale", minScale() );
-    maplayer.setAttribute( "maxScale", maxScale() );
-
-    // ID 
-    QDomElement id = document.createElement( "id" );
-    QDomText idText = document.createTextNode( getLayerID() );
-    id.appendChild( idText );
-
-    maplayer.appendChild( id );
-
-    // data source
-    QDomElement dataSource = document.createElement( "datasource" );
-    QDomText dataSourceText = document.createTextNode( source() );
-    dataSource.appendChild( dataSourceText );
-
-    maplayer.appendChild( dataSource );
-
-
-    // layer name
-    QDomElement layerName = document.createElement( "layername" );
-    QDomText layerNameText = document.createTextNode( name() );
-    layerName.appendChild( layerNameText );
-
-    maplayer.appendChild( layerName );
-
-    // zorder
-    // This is no longer stored in the project file. It is superflous since the layers
-    // are written and read in the proper order.
-
-    //write the projection 
-    mCoordinateTransform->writeXML(maplayer,document);
-
-    // <transparencyLevelInt>
-    QDomElement transparencyLevelIntElement = document.createElement( "transparencyLevelInt" );
-    QDomText    transparencyLevelIntText    = document.createTextNode( QString::number(getTransparency()) );
-    transparencyLevelIntElement.appendChild( transparencyLevelIntText );
-    maplayer.appendChild( transparencyLevelIntElement );
-    // now append layer node to map layer node
-
-    layer_node.appendChild( maplayer );
-
-    return writeXML_( maplayer, document );
-
-} // bool QgsMapLayer::writeXML
-
-
-
-bool QgsMapLayer::writeXML_( QDomNode & layer_node, QDomDocument & document )
-{
-    // NOP by default; children will over-ride with behavior specific to them
-
-    return true;
-} // void QgsMapLayer::writeXML_
-
-
-
-
-/** Write property of QString labelField. */
-void QgsMapLayer::setLabelField(const QString & _newVal)
-{
-    m_labelField = _newVal;
-}
-
-bool QgsMapLayer::isValid()
-{
-    return valid;
-}
-
-bool QgsMapLayer::visible()
-{
-    return m_visible;
-}
-
-void QgsMapLayer::setVisible(bool vis)
-{
-  if (m_visible != vis)
-  {
-      m_visible = vis;
-      if(mLegendLayerFile)
-      {
-	  mLegendLayerFile->toggleCheckBox(vis);
-      }
-      emit visibilityChanged();
-  }
-}
-
-
-
-void QgsMapLayer::inOverview( bool b )
-{
-    // will we have to propogate changes?
-    bool updateNecessary = mShowInOverview != b;
-
-    mShowInOverview = b;
-
-    if ( updateNecessary ) // update the show in overview popup menu item
-    {	
-        updateOverviewPopupItem();
-        updateItemPixmap();
-
-        emit showInOverview(this,mShowInOverview);
-    }
-} // QgsMapLayer::inOverview
-
-
-
-// void QgsMapLayer::toggleShowInOverview()
-// {
-//   if (mShowInOverview==false)
-//   {
-// #ifdef QGISDEBUG
-//     std::cout << "Map layer " << ID << " requested to be added to the overview " << std::endl;
-// #endif
-//     mShowInOverview=true;
-//   }
-//   else
-//   {
-// #ifdef QGISDEBUG
-//     std::cout << "Map layer " << ID << " requested to be removed from the overview " << std::endl;
-// #endif
-//     mShowInOverview=false;
-//   }
-//   //update the show in overview popup menu item
-//   updateOverviewPopupItem();
-//   updateItemPixmap();
-//   emit showInOverview(ID,mShowInOverview);
-// }
-
-
-void QgsMapLayer::updateItemPixmap()
-{
-  if (mLegendLayerFile)
-  {
-    mLegendLayerFile->setIconAppearance(mShowInOverview,
-                                        isEditable());
-  }
-}
-
-void QgsMapLayer::invalidTransformInput()
-{
-  QgsLogger::warning("QgsMapLayer::invalidTransformInput() called");
-    if (mLegendLayerFile)             // XXX should we know about our legend?
-    {
-        QPixmap pix=mLegendLayerFile->getOriginalPixmap();
-        if(mShowInOverview)
-        {
-            //add project error icon to the pixmap
-            QPainter p(&pix);
-            p.drawPixmap(60,0,mProjectionErrorPixmap);
-        }
-        mLegendLayerFile->setLegendPixmap(pix);
-    }
-}
-
-void QgsMapLayer::updateOverviewPopupItem()
-{
-  if (mShowInOverviewAction)
-    {
-      mShowInOverviewAction->setChecked(mShowInOverview);
-    }
-}
-
-const int &QgsMapLayer::featureType()
-{
-    return geometryType;
-}
-
-/** Write property of int featureType. */
-void QgsMapLayer::setFeatureType(const int &_newVal)
-{
-    geometryType = _newVal;
-}
-
-std::vector<QgsField> const & QgsMapLayer::fields() const
-{
-    static std::vector<QgsField> bogus; // bogus empty container
-
-    return bogus;
-} // QgsMapLayer::fields()
-
-QString QgsMapLayer::errorCaptionString()
-{
-  return QString();
-}
-
-QString QgsMapLayer::errorString()
-{
-  return QString();
-}
-
-void QgsMapLayer::connectNotify( const char * signal )
-{
-    QgsDebugMsg("QgsMapLayer connected to " + QString(signal));
-} //  QgsMapLayer::connectNotify
-
-
-void QgsMapLayer::initContextMenu(QgisApp * app)
-{
-    popMenu = new QMenu();
-
-    // Initialise and insert Qt4 QAction
-    popMenu->addAction(tr("&Zoom to extent of selected layer"), app, SLOT(zoomToLayerExtent()));
-    mShowInOverviewAction = popMenu->addAction(tr("Toggle in Overview"), app, SLOT(inOverview()));
-    mShowInOverviewAction->setCheckable(true);
-    popMenu->addSeparator();
-    popMenu->addSeparator();
-    popMenu->addAction(tr("&Remove"), app, SLOT(removeLayer()));
-
-    // now give the sub-classes a chance to tailor the context menu
-    initContextMenu_( app );
-    //properties goes on bottom of menu for consistency with normal ui standards
-    //e.g. kde stuff
-    popMenu->addAction(tr("&Properties"), this, SLOT(showLayerProperties()));
-} // QgsMapLayer::initContextMenu(QgisApp * app)
-
-
-
-
-void QgsMapLayer::keyPressed ( QKeyEvent * e )
-{
-  if (e->key()==Qt::Key_Escape) mDrawingCancelled = true;
-// The following statment causes a crash on WIN32 and should be 
-// enclosed in an #ifdef QGISDEBUG if its really necessary. Its
-// commented out for now. [gsherman]
-//  std::cout << e->text().toLocal8Bit().data() << " pressed in maplayer !" << std::endl;
-  e->ignore();
-}
-
-
-    /** Accessor for the coordinate transformation object */
-QgsCoordinateTransform * QgsMapLayer::coordinateTransform() 
-{
-#ifdef QGISDEBUG
- QgsDebugMsg("Maplayer asked for coordinateTransform which is....");
- if (!mCoordinateTransform)
- {
-   QgsDebugMsg("*NOT* valid");
- }
- else
- {
-   QgsDebugMsg("valid");
- }
- 
-#endif
-  
- return mCoordinateTransform;
-}
-
-bool QgsMapLayer::projectionsEnabled() const
-{
-  if (QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0)!=0)
-  {
-    return true;
-  }
-  else
-  {
-    return false;
-  }
-}
-
-bool QgsMapLayer::projectExtent(QgsRect& extent, QgsRect& r2)
-{
-  bool split = false;
-
-  if (projectionsEnabled())
-  {
-    try
-    {
-#ifdef QGISDEBUG
-      QgsLogger::debug<QgsRect>("Getting extent of canvas in layers CS. Canvas is ", extent, __FILE__,\
-				__FUNCTION__, __LINE__);
-#endif
-      // Split the extent into two if the source SRS is
-      // geographic and the extent crosses the split in
-      // geographic coordinates (usually +/- 180 degrees,
-      // and is assumed to be so here), and draw each
-      // extent separately.
-      static const double splitCoord = 180.0;
-
-      if (mCoordinateTransform->sourceSRS().geographicFlag())
-      {
-        // Note: ll = lower left point
-        //   and ur = upper right point
-        QgsPoint ll = mCoordinateTransform->transform(
-                          extent.xMin(), extent.yMin(), 
-                          QgsCoordinateTransform::INVERSE);
-
-        QgsPoint ur = mCoordinateTransform->transform(
-                          extent.xMax(), extent.yMax(), 
-                          QgsCoordinateTransform::INVERSE);
-
-        if (ll.x() > ur.x())
-        {
-          extent.set(ll, QgsPoint(splitCoord, ur.y()));
-          r2.set(QgsPoint(-splitCoord, ll.y()), ur);
-          split = true;
-        }
-        else // no need to split
-          extent = mCoordinateTransform->transformBoundingBox(extent, QgsCoordinateTransform::INVERSE);
-      }
-      else // can't cross 180
-        extent = mCoordinateTransform->transformBoundingBox(extent, QgsCoordinateTransform::INVERSE);
-    }
-    catch (QgsCsException &cse)
-      {
-	QgsLogger::warning("Transform error caught in " + QString(__FILE__) + ", line " + QString::number(__LINE__));
-        extent = QgsRect(-DBL_MAX, -DBL_MAX, DBL_MAX, DBL_MAX);
-        r2     = QgsRect(-DBL_MAX, -DBL_MAX, DBL_MAX, DBL_MAX);
-      }
-  }
-  return split;
-}
-
-QgsRect QgsMapLayer::calcProjectedBoundingBox(QgsRect& extent)
-{
-  // Calculate the bounding box of the canvas extent when
-  // inverse projected to the source SRS. This is done by
-  // looking at 10 points on each edge of the rectangular canvas
-  // extent. This seems to be a sufficient number to get a good
-  // approximation to the bounding box.
-  static const double numPoints = 10.0;
-
-  std::vector<QgsPoint> left, right, top, bottom;
-  QgsPoint pt;
-  // Populate the vectors
-
-  for (int i = 0; i < numPoints; ++i)
-  {
-    // the left and right boundary
-    pt.setX(extent.xMin());
-    pt.setY(extent.yMin() + extent.height()
-            / numPoints * static_cast<double>(i));
-    left.push_back(mCoordinateTransform->transform(pt, 
-                   QgsCoordinateTransform::INVERSE));
-    pt.setX(extent.xMax());
-    right.push_back(mCoordinateTransform->transform(pt, 
-                    QgsCoordinateTransform::INVERSE));
-
-    // the top and bottom boundary
-    pt.setY(extent.yMin());
-    pt.setX(extent.xMin() + extent.width() 
-            / numPoints * static_cast<double>(i));
-    bottom.push_back(mCoordinateTransform->transform(pt,
-                     QgsCoordinateTransform::INVERSE));
-    pt.setY(extent.yMax());
-    top.push_back(mCoordinateTransform->transform(pt,
-                  QgsCoordinateTransform::INVERSE));
-  }
-
-  // Calculate the bounding box and use that for the extent
-        
-  double xmin = std::numeric_limits<double>::max();
-  double xmax = std::numeric_limits<double>::min();
-  double ymin = std::numeric_limits<double>::max();
-  double ymax = std::numeric_limits<double>::min();
-  for (unsigned int i = 0; i < top.size(); ++i)
-  {
-    xmin = std::min(xmin, left[i].x());
-    xmax = std::max(xmax, right[i].x());
-    ymin = std::min(ymin, bottom[i].y());
-    ymax = std::max(ymax, top[i].y());
-  }
-
-  QgsRect bb_extent;
-  bb_extent.set(xmin, ymin, xmax, ymax);
-
-  return bb_extent;
-}
-
-QMenu* QgsMapLayer::contextMenu()
-{
-  return popMenu;
-}
-
-QString QgsMapLayer::capitaliseLayerName(const QString name)
-{
-  // Capitalise the first letter of the layer name if requested
-  QSettings settings;
-  bool capitaliseLayerName = 
-    settings.value("qgis/capitaliseLayerName",
-                   QVariant(false)).toBool();
-
-  QString layerName(name);
-
-  if (capitaliseLayerName)
-    layerName = layerName.left(1).upper() + layerName.mid(1);
-
-  return layerName;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,517 +0,0 @@
-/***************************************************************************
-                          qgsmaplayer.h  -  description
-                             -------------------
-    begin                : Fri Jun 28 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmaplayer.h 6265 2006-12-15 23:22:01Z g_j_m $ */
-
-#ifndef QGSMAPLAYER_H
-#define QGSMAPLAYER_H
-
-#include <vector>
-#include <map>
-
-#include <QObject>
-#include <QPixmap>
-#include <QMenu> // not forward declared because other .h files
-                 // inherit from us and we're being nice to them.
-
-#include "qgis.h"
-#include "qgsrect.h"
-#include "qgsfield.h"
-#include "qgscoordinatetransform.h"
-
-class QAction;
-class QgisApp;
-class QgsMapToPixel;
-class QgsFeature;
-class QgsLegend;
-class QgsLegendLayerFile;
-
-class QDomNode;
-class QDomDocument;
-class QKeyEvent;
-
-/** \class QgsMapLayer
- * \brief Base class for all map layer types.
- * This class is the base class for all map layer types (shapefile,
- * raster, database).
- */
-class QgsMapLayer : public QObject
-{
-    Q_OBJECT;
-
-public:
-
-    /*! Constructor
-     * @param type Type of layer as defined in LAYERS enum
-     * @param lyrname Display Name of the layer
-     */
-    QgsMapLayer(int type = 0, QString lyrname = QString::null, QString source = QString::null);
-
-    //! Destructor
-    virtual ~ QgsMapLayer();
-
-    /*! Get the type of the layer
-     * @return Integer matching a value in the LAYERS enum
-     */
-    int type() const;
-
-    /*! Get this layer's unique ID */
-    QString const & getLayerID() const;
-
-    /*! Set the display name of the layer
-       # @param name New name for the layer
-       # @param updateLegend false if legend should not be updated
-       (to avoid infinite recursion when this function is called from the legend itself)
-     */
-    void setLayerName(const QString & name, bool updateLegend=true);
-
-    /*! Get the display name of the layer
-     * @return the layer name
-     */
-    QString const & name() const;
-
-    /*! Get the internal name of the layer. This is the name used to created the
-     * layer from the data source
-     * @return internal datasource name of the layer
-     */
-    QString const & sourceName() const;
-
-    /*! Virtual function to calculate the extent of the current layer.
-     * This function must be overridden in all child classes and implemented
-     * based on the layer type
-     */
-    virtual QgsRect calculateExtent();
-
-    /*! Accesor for mShowInOverviewFlag */
-    bool showInOverviewStatus()
-    {
-        return mShowInOverview;
-    }
-
-
-    virtual void draw(QPainter *, QgsRect *, int);
-
-    //! Returns FALSE if an error occurred during drawing
-    virtual bool draw(QPainter *, QgsRect *, QgsMapToPixel *, bool);
-    virtual void drawLabels(QPainter *, QgsRect *, QgsMapToPixel *);
-
-    /*!Select features on the map canvas by dragging a rectangle */
-    virtual void select(QgsRect *, bool )
-    {}
-    ;
-
-    //! Display the attribute table for the layer
-    /**
-       \param qgisApp   This should be the QgisApp that spawned this table.
-     */
-    virtual void table(QgisApp * qgisApp)
-    {};
-
-    /*! Return the extent of the layer as a QRect
-     */
-    const QgsRect extent();
-
-    /*! Returns the status of the layer. An invalid layer is one which has a bad datasource
-     * or other problem. Child classes set this flag when intialized
-     *@return True if the layer is valid and can be accessed
-     */
-    bool isValid();
-
-    /** Write property of QString labelField. */
-    virtual void setLabelField(const QString & _newVal);
-
-    /** Read property of QString labelField. */
-    virtual const QString & labelField();
-
-    //! Visibility of the layer
-    bool visible();
-
-    /*! Gets a version of the internal layer definition that has sensitive
-     *  bits removed (for example, the password). This function should
-     * be used when displaying the source name for general viewing.
-    */
-    QString publicSource() const;
-
-    //! Returns the source for the layer
-    QString const & source() const;
-
-    /** Write property of int featureType. */
-    virtual void setFeatureType(const int &_newVal);
-
-    /** Read property of int featureType. */
-    virtual const int &featureType();
-
-    /** Return the context menu for the layer */
-    virtual QMenu* contextMenu();
-
-    /**
-     * Returns the sublayers of this layer
-     *
-     * (Useful for providers that manage their own layers, such as WMS)
-     *
-     */
-    virtual QStringList subLayers()
-    {
-      return QStringList();  // Empty
-    }
-    
-    /**
-     * Reorders the *previously selected* sublayers of this layer from bottom to top
-     *
-     * (Useful for providers that manage their own layers, such as WMS)
-     *
-     */
-    virtual void setLayerOrder(QStringList layers)
-    {
-      // NOOP
-    }
-    
-    /**
-     * Set the visibility of the given sublayer name
-     */
-    virtual void setSubLayerVisibility(QString name, bool vis)
-    {
-      // NOOP
-    }
-
-    //! Layers enum defining the types of layers that can be added to a map
-    enum LAYERS
-    {
-        VECTOR,
-        RASTER,
-        DATABASE
-    };
-
-    /**Shows the properties dialog for the map layer*/
-    virtual void showLayerProperties() = 0;
-
-    /**
-        All inherited layers must be able to display a conext menu if requested
-
-        @note Calls initContextMenu_()
-    */
-    void initContextMenu(QgisApp * app);
-
-    /**
-        Allows children to tailor context menu
-
-        @note Calls initContextMenu_()
-    */
-    virtual void initContextMenu_(QgisApp * app)
-    {
-        // NOP; children can optionally over-ride
-    }
-
-    void setLegendLayerFile(QgsLegendLayerFile* llf) {mLegendLayerFile = llf;}
-
-    /**True if the layer can be edited*/
-    virtual bool isEditable() const =0;
-
-    /** sets state from DOM document
-
-       @param layer_node is DOM node corresponding to ``maplayer'' tag
-
-       @note
-
-       The DOM node corresponds to a DOM document project file XML element read
-       by QgsProject.
-
-       This, in turn, calls readXML_(), which is over-rideable by sub-classes so
-       that they can read their own specific state from the given DOM node.
-
-       Invoked by QgsProject::read().
-
-       @returns true if successful
-
-     */
-    bool readXML( QDomNode & layer_node );
-
-
-    /** stores state in DOM node
-
-       @param layer_node is DOM node corresponding to ``projectlayers'' tag
-
-       @note
-
-       The DOM node corresponds to a DOM document project file XML element to be
-       written by QgsProject.
-
-       This, in turn, calls writeXML_(), which is over-rideable by sub-classes so
-       that they can write their own specific state to the given DOM node.
-
-       Invoked by QgsProject::write().
-
-       @returns true if successful
-
-    */
-    bool writeXML( QDomNode & layer_node, QDomDocument & document );
-
-    /** Accessor for the coordinate transformation object */
-    QgsCoordinateTransform * coordinateTransform();
-
-    /** A simple helper method to find out if on the fly projections 
-        are enabled or not */
-    bool projectionsEnabled() const;
-    
-    // Convenience function to project an extent into the layer source
-    // SRS, but also split it into two extents if it crosses
-    // the +/- 180 degree line. Modifies the given extent to be in the
-    // source SRS coordinates, and if it was split, returns true, and
-    // also sets the contents of the r2 parameter
-    bool projectExtent(QgsRect& extent, QgsRect& r2);
-
-    /**Returns the path to an icon which characterises the type of layer*/
-    virtual QString layerTypeIconPath() = 0;
-
-    void setLegend(QgsLegend* legend) {mLegend = legend;}
-    const QgsLegend* legend() {return mLegend;}
-
-    /**Refresh the symbology part of the legend. Specific implementations have to be provided by subclasses*/
-    virtual void refreshLegend() = 0;
-
-    /**Copies the symbology settings from another layer. Returns true in case of success*/
-    virtual bool copySymbologySettings(const QgsMapLayer& other) = 0;
-
-    /**Returns true if this layer can be in the same symbology group with another layer*/
-    virtual bool isSymbologyCompatible(const QgsMapLayer& other) const = 0;
-
-    virtual std::vector < QgsField > const &fields() const;
-
-    /** \brief accessor for transparency level.  */
-    virtual unsigned int getTransparency()=0;
-
-
-    /**
-     * If an operation returns 0 (e.g. draw()), this function
-     * returns the text of the error associated with the failure.
-     * Interactive users of this provider can then, for example,
-     * call a QMessageBox to display the contents.
-     */
-    virtual QString errorCaptionString();
-  
-    /**
-     * If an operation returns 0 (e.g. draw()), this function
-     * returns the text of the error associated with the failure.
-     * Interactive users of this provider can then, for example,
-     * call a QMessageBox to display the contents.
-     */
-    virtual QString errorString();
-
-public  slots:
-    /** \brief Mutator for transparency level. Should be between 0 and 255 */
-    virtual void setTransparency(unsigned int)=0;
-   //! event handler for when a coordinate transofrm fails due to bad vertex error
-   virtual void invalidTransformInput();
-
-
-    //! keyPress event so we can check if cancel was pressed
-    void keyPressed ( QKeyEvent * e );
-
-    //! set visibility
-    void setVisible(bool vis);
-
-    /*! Slot connected to popup menus of derived classes. Used to indicate whether this layer
-     * should be shown or hidden in the map overview. */
-    //virtual void toggleShowInOverview();
-
-    /**Copies the legend pixmap of this layer to the legenditem and adds an overview glasses if necessary*/
-    void updateItemPixmap();
-
-    /**Ensures that the overview item in the popup menu is checked/ unchecked correctly*/
-    void updateOverviewPopupItem();
-
-    /** set whether this layer is in the overview or not
-
-    @note this will hopefully eventually supercede toggleOverviewStatus() since
-    this makes explicit the state change
-
-    */
-    virtual void inOverview( bool );
-
-    /** Accessor and mutator for the minimum scale member */
-    void setMinScale(float theMinScale)
-    {
-        mMinScale=theMinScale;
-    };
-    float minScale()
-    {
-        return mMinScale;
-    };
-
-    /** Accessor and mutator for the maximum scale member */
-    void setMaxScale(float theMaxScale)
-    {
-        mMaxScale=theMaxScale;
-    };
-    float maxScale()
-    {
-        return mMaxScale;
-    };
-
-    /** Accessor and mutator for the scale based visilibility flag */
-    void setScaleBasedVisibility( bool theVisibilityFlag)
-    {
-        mScaleBasedVisibility=theVisibilityFlag;
-    };
-    bool scaleBasedVisibility()
-    {
-        return mScaleBasedVisibility;
-    };
-
-    /** Used to ask the layer for its projection as a WKT string. Must be reimplemented by each provider. */
-    virtual QString getProjectionWKT()  = 0 ;
-signals:
-
-    void visibilityChanged(void);
-
-    /** \brief emit a signal to notify of a progress event */
-    void drawingProgress(int theProgress, int theTotalSteps);
-
-    /** \brief emit a signal to be caught by gisapp and display a msg on status bar */
-    void setStatus(QString theStatusQString);
-
-    /** This signal should be connected with the slot QgsMapCanvas::refresh() */
-    void repaintRequested();
-
-    /** This is used to notify the application whether this layer should be shown in overview or not. */
-    //@{
-    //void showInOverview(QString theLayerId, bool);
-    void showInOverview(QgsMapLayer * maplayer, bool);
-    //@}
-
-    /** This is used to send a request that any mapcanvas using this layer update its extents */
-    void recalculateExtents();
-
-protected:
-
-    /** \brief Transparency level for this layer should be 0-255 (255 being opaque)  */
-    unsigned int transparencyLevelInt;
-  
-    /** called by readXML(), used by children to read state specific to them from
-        project files.
-    */
-    virtual bool readXML_( QDomNode & layer_node );
-
-    /** called by writeXML(), used by children to write state specific to them to
-        project files.
-    */
-    virtual bool writeXML_( QDomNode & layer_node, QDomDocument & document );
-
-
-    //! Extent of the layer
-    QgsRect layerExtent;
-
-    //! Indicates if the layer is valid and can be drawn
-    bool valid;
-
-    //! data source description string, varies by layer type
-    QString dataSource;
-
-    //! Geometry type as defined in enum WKBTYPE (qgis.h)
-    int geometryType;
-
-    /** Pixmap to show a bogus vertex was encoutnered in this layer (applies to vector layers only) */
-    QPixmap mProjectionErrorPixmap;
-
-    //! A little pixmap to show if this layer is represented in overview or now
-    QPixmap mInOverviewPixmap;
-
-    QPixmap mEditablePixmap;
-
-    /** Internal name of the layer. Derived from the datasource */
-    QString internalName;
-
-    //! context menu
-    QMenu* popMenu;
-
-    //! the action in popmenu that sets overview status
-    QAction* mShowInOverviewAction;
-
-    /** Whether this layer is to be shown in the overview map or not */
-    bool mShowInOverview;
-
-    //   /** action item for pop-up menu
-
-    //       @note obviously should be in synch with mShowInOverview
-
-    //       Is set in context menu.
-
-    //       @todo this is a GUI element and should not be here
-    //   */
-    //   QAction* mActionInOverview;
-    /** A flag to let the draw() render loop know if the user has requested drawing be cancelled */
-    bool mDrawingCancelled;
-
-    //! A QgsCoordinateTransform is used for on the fly reprojection of map layers
-    QgsCoordinateTransform * mCoordinateTransform; 
-
-    /**Pointer to the legend layer item of the legend*/
-    QgsLegend* mLegend;
-
-    /**Pointer to the legend layer file of the legend. It is used to modify the pixmap with overview
-     glasses, editing or pyramid symbols*/
-    QgsLegendLayerFile* mLegendLayerFile;
-
-private:                       // Private attributes
-
-    /// QgsMapLayer not copyable
-    QgsMapLayer( QgsMapLayer const & );
-
-    /// QgsMapLayer not copyable
-    QgsMapLayer & operator=( QgsMapLayer const & );
-
-    /// A convenience function to capitalise the layer name
-    static QString capitaliseLayerName(const QString name);
-
-    /** Unique ID of this layer - used to refer to this layer  in QGIS code */
-    QString ID;
-
-    /** Type of the layer (eg. vector, raster, database  */
-    int layerType;
-
-    //! Tag for embedding additional information
-    QString tag;
-
-    /** Name of the layer - used for display  */
-    QString layerName;
-    
-    /**  true if visible ? */
-    bool m_visible;
-
-    /** debugging member
-        invoked when a connect() is made to this object
-    */
-    void connectNotify( const char * signal );
-
-    // Calculates the bounding box of the given extent in the inverse
-    // projected spatial reference system.
-    QgsRect calcProjectedBoundingBox(QgsRect& extent);
-
-    /** Minimum scale at which this layer should be displayed */
-    float mMinScale;
-    /** Maximum scale at which this layer should be displayed */
-    float mMaxScale;
-    /** A flag that tells us whether to use the above vars to restrict layer visibility */
-    bool mScaleBasedVisibility;
-
-public:                        // Public attributes
-
-    /** map label ? */
-    QString m_labelField;
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayerinterface.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayerinterface.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayerinterface.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,39 +0,0 @@
-/***************************************************************************
-    begin                : Jul 10 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsmaplayerinterface.h 4992 2006-03-10 03:11:06Z g_j_m $ */
-#ifndef QGSMAPLAYERINTERFACE_H
-#define QGSMAPLAYERINTERFACE_H
-/** 
-* Interface class for map layer plugins
-*/
-#include <QObject>
-#include "qgisapp.h"
-class Q3MainWindow;
-
-class QgsMapLayerInterface: public QObject{
-	Q_OBJECT
-public:
-virtual void setQgisMainWindow(QgisApp *qgis) = 0;
-// a test function to return an int
-virtual int getInt()=0;
-// setup the plugin's GUI
-virtual void initGui()=0;
-// unload the plugin
-virtual void unload()=0;
-// draw function
-virtual void draw() = 0;
-
-};
-#endif // QGSMAPLAYERINTERFACE_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,171 +0,0 @@
-/***************************************************************************
- *  QgsMapLayerRegistry.cpp  -  Singleton class for tracking mMapLayers.
- *                         -------------------
- * begin                : Sun June 02 2004
- * copyright            : (C) 2004 by Tim Sutton
- * email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmaplayerregistry.cpp 5177 2006-04-05 13:01:52Z mhugent $ */
-
-#include <iostream>
-
-#include "qgsmaplayerregistry.h"
-#include "qgslogger.h"
-#include "qgsproject.h"
-
-
-//
-// Static calls to enforce singleton behaviour
-//
-QgsMapLayerRegistry *QgsMapLayerRegistry::mInstance = 0;
-QgsMapLayerRegistry *QgsMapLayerRegistry::instance()
-{
-  if (mInstance == 0)
-  {
-    mInstance = new QgsMapLayerRegistry();
-  }
-  return mInstance;
-}
-
-//
-// Main class begins now...
-//
-
-QgsMapLayerRegistry::QgsMapLayerRegistry(QObject *parent, const char *name) : QObject(parent,name) 
-{
-  QgsDebugMsg("QgsMapLayerRegistry created!");
-  // constructor does nothing
-}
-// get the layer count (number of registered layers)
-const int QgsMapLayerRegistry::count()
-{
-  return mMapLayers.size();
-}
- //! Get a vector layer from the registry - the the requested key does not exist or
- //does not correspond to a vector layer, null returned!
- QgsVectorLayer * QgsMapLayerRegistry::getVectorLayer(QString theLayerId)
-{
-  QgsVectorLayer * myVectorLayer = (QgsVectorLayer*) mMapLayers[theLayerId];
-  if (myVectorLayer)
-  {
-    if (myVectorLayer->type() == QgsMapLayer::VECTOR)
-    {
-      return myVectorLayer;
-    }
-    else
-    {
-      return 0;
-    }
-  }
-  else
-  {
-    return 0;
-  }
-}
-
-  
-
-QgsMapLayer * QgsMapLayerRegistry::mapLayer(QString theLayerId)  
-{
-  QgsMapLayer * myMapLayer = mMapLayers[theLayerId];
-  if (myMapLayer)
-  {
-    return myMapLayer;
-  }
-  else
-  {
-    return 0;
-  }
-}
-
-
-
-QgsMapLayer *
-  QgsMapLayerRegistry::addMapLayer( QgsMapLayer * theMapLayer, bool theEmitSignal )
-{
-  QgsDebugMsg("QgsMapLayerRegistry::addMaplayer - '" + theMapLayer->name());
-  //check the layer is not already registered!
-  std::map<QString,QgsMapLayer*>::iterator myIterator = mMapLayers.find(theMapLayer->getLayerID());
-  //if myIterator returns mMapLayers.end() then it does not exist in registry and its safe to add it
-  if (myIterator == mMapLayers.end())
-  {
-    mMapLayers[theMapLayer->getLayerID()] = theMapLayer;
-    
-    if (theEmitSignal)
-      emit layerWasAdded(theMapLayer);
-
-    // notify the project we've made a change
-    QgsProject::instance()->dirty(true);
-
-    return mMapLayers[theMapLayer->getLayerID()];
-  }
-  else
-  {
-    QgsDebugMsg("addMaplayer - " + theMapLayer->name() + " already registered");
-    return 0x0;
-  }
-} //  QgsMapLayerRegistry::addMapLayer
-
-
-
-void QgsMapLayerRegistry::removeMapLayer(QString theLayerId, bool theEmitSignal)
-{
-  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - emitting signal to notify all users of this layer to release it.");
-  if (theEmitSignal)
-    emit layerWillBeRemoved(theLayerId); 
-  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - deleting map layer.");
-  delete mMapLayers[theLayerId]; 
-  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - unregistering map layer.");
-  mMapLayers.erase(theLayerId);
-  QgsDebugMsg("QgsMapLayerRegistry::removemaplayer - operation complete.");
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-}
-
-void QgsMapLayerRegistry::removeAllMapLayers()
-{
-  QgsDebugMsg("QgsMapLayerRegistry::removeAllMapLayers");
-  
-  // moved before physically removing the layers
-  emit removedAll();            // now let all canvas Observers know to clear
-                                // themselves, and then consequently any of
-                                // their map legends
-  
-  std::map<QString, QgsMapLayer *>::iterator myMapIterator = mMapLayers.begin();
-  while ( myMapIterator != mMapLayers.end() )
-  {
-      delete myMapIterator->second; // delete the map layer
-
-      mMapLayers.erase( myMapIterator );
-
-      myMapIterator = mMapLayers.begin(); // since iterator invalidated due to
-                                        // erase(), reset to new first element
-  }
-
-  // notify the project we've made a change
-  QgsProject::instance()->dirty(true);
-
-} // QgsMapLayerRegistry::removeAllMapLayers()
-
-
-std::map<QString,QgsMapLayer*> & QgsMapLayerRegistry::mapLayers()
-{
-  QgsDebugMsg("QgsMapLayerRegistry::mapLayers");
-  return mMapLayers;
-}
-
-
-
-void QgsMapLayerRegistry::connectNotify( const char * signal )
-{
-    QgsDebugMsg("QgsMapLayerRegistry connected to " + QString(signal));
-} //  QgsMapLayerRegistry::connectNotify

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayerregistry.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,137 +0,0 @@
-/***************************************************************************
-                          qgsmaplayerregistry.h    
-           Singleton class for keeping track of loaded layers
-                             -------------------
-    begin                : Sun June 04 2004
-    copyright            : (C) 2004 by Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsmaplayerregistry.h 4949 2006-03-03 01:47:39Z wonder $ */
- 
-#ifndef QGSMAPLAYERREGISTRY_H
-#define QGSMAPLAYERREGISTRY_H
-#include <map>
-#include <qobject.h>
-#include "qgsmaplayer.h"
-#include "qgsvectorlayer.h"
-
-class QString;
-class QStringList;
-
-/**
-* \class QgsMapLayerRegistry
-* \brief This class tracks map layers that are currently loaded an provides
-* a means to fetch a pointer to a map layer and delete it
-*/
-class QgsMapLayerRegistry : public QObject
-{
-   Q_OBJECT;
-
-public:
-
- //! Returns the instance pointer, creating the object on the first call
- static QgsMapLayerRegistry * instance();
-/*! Return the number of registered layers.
- *
- * */
- const int count();
- 
- //! Retrieve a pointer to a loaded plugin by id
- QgsMapLayer * mapLayer(QString theLayerId);
-
- //! Retrieve the mapLayers collection (mainly intended for use by projectio)
- std::map<QString,QgsMapLayer*> & mapLayers();
-
- /** Add a layer to the map of loaded layers 
-    @returns NULL if unable to add layer, otherwise pointer to newly added layer
-    @note
-
-    As a side-effect QgsProject is made dirty.
- 
-    Emits signal that layer has been added only if theEmitSignal is true (by default).
-    Not emitting signal is useful when you want to use registry also for layers
-    which won't be used in main map canvas but will be used in a special one
- */
- QgsMapLayer *  addMapLayer(QgsMapLayer * theMapLayer, bool theEmitSignal = TRUE);
-
- /** Remove a layer from qgis
-
-    @note
-
-    As a side-effect QgsProject is made dirty.
-
-    Any canvases using that layer will need to remove it
- 
-    theEmitSignal - see addMapLayer()
- */
- void removeMapLayer(QString theLayerId, bool theEmitSignal = TRUE);
-
- /** Remove all registered layers 
-
-    @note raises removedAll()
-
-    As a side-effect QgsProject is made dirty.
-
- */
- void removeAllMapLayers();
-
- //! Get a vector layer from the registry - the the requested key does not exist or
- //does not correspond to a vector layer, null returned!
- QgsVectorLayer * getVectorLayer(QString theLayerId);
-
-signals:
-
-    /** emitted when a layer is removed from the registry
-
-       connected to main map canvas and overview map canvas remove()
-    */
- void layerWillBeRemoved(QString theLayerId);
-
-    /** emitted when a layer is added to the registry
-
-       connected to main map canvas and overview map canvas addLayer()
-    */
- void layerWasAdded(QgsMapLayer * theMapLayer);
-
- /** emitted when ALL layers are removed at once
-
-    This could have been implemented by iteratively signalling
-    layerWillBeRemoved() for each layer as it is removed.  However, this
-    generally causes a cascade of effects that are unnecessary if we're
-    ultimately removing all layers.  E.g., removing the legend item
-    corresponding to the layer.  Why bother doing that when you're just going
-    to clear everything anyway?
-
-  */
- void removedAll();
-
-protected:
-
- //! protected constructor
- QgsMapLayerRegistry( QObject * parent = 0, const char * name = 0 );
-
-private:
-
- static QgsMapLayerRegistry* mInstance;
-
- std::map<QString,QgsMapLayer*> mMapLayers;
-
-  /** debugging member
-      invoked when a connect() is made to this object 
-  */
-  void connectNotify( const char * signal );
-
-
-}; // class QgsMapLayerRegistry
-
-#endif //QgsMapLayerRegistry_H
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,106 +0,0 @@
-/***************************************************************************
-    qgsmaplayerset.cpp  -  holds a set of layers
-    ----------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmaplayerset.cpp 6800 2007-03-13 07:42:48Z g_j_m $ */
-
-#include "qgslogger.h"
-#include "qgsmaplayerset.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsproject.h"
-#include <string>
-
-void QgsMapLayerSet::setLayerSet(const std::deque<QString>& layers)
-{
-  mLayerSet = layers;
-  updateFullExtent();
-}
-
-
-void QgsMapLayerSet::updateFullExtent()
-{
-  QgsDebugMsg("QgsMapLayerSet::updateFullExtent() called !");
-  QgsMapLayerRegistry* registry = QgsMapLayerRegistry::instance();
-  bool projectionsEnabled = (QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0)!=0);
-  
-  // reset the map canvas extent since the extent may now be smaller
-  // We can't use a constructor since QgsRect normalizes the rectangle upon construction
-  mFullExtent.setMinimal();
-  
-  // iterate through the map layers and test each layers extent
-  // against the current min and max values
-  std::deque<QString>::iterator it = mLayerSet.begin();
-  while(it != mLayerSet.end())
-  {
-    QgsMapLayer * lyr = registry->mapLayer(*it);
-    if (lyr == NULL)
-    {
-      QgsLogger::warning("WARNING: layer '" + (*it) + "' not found in map layer registry!");
-    }
-    else
-    {
-      QgsDebugMsg("Updating extent using " + lyr->name());
-      QgsDebugMsg("Input extent: " + lyr->extent().stringRep());
-
-      // Layer extents are stored in the coordinate system (CS) of the
-      // layer. The extent must be projected to the canvas CS prior to passing
-      // on to the updateFullExtent function
-      if (projectionsEnabled)
-      {
-        try
-        {
-          if ( ! lyr->coordinateTransform() )
-            throw QgsCsException( std::string("NO COORDINATE TRANSFORM FOUND FOR LAYER") );
-              
-          mFullExtent.unionRect(lyr->coordinateTransform()->transformBoundingBox(lyr->extent()));
-        }
-        catch (QgsCsException &cse)
-        {
-	  QgsLogger::warning("Transform error caught in " + QString(__FILE__) + " line " +\
-			     QString::number(__LINE__) + QString(cse.what()));
-        }
-      }
-      else
-      {
-        mFullExtent.unionRect(lyr->extent());
-      }
-      
-    }
-    it++;
-  } 
-
-  if (mFullExtent.width() == 0.0 || mFullExtent.height() == 0.0)
-  {
-    // If all of the features are at the one point, buffer the
-    // rectangle a bit. If they are all at zero, do something a bit
-    // more crude.
-
-    if (mFullExtent.xMin() == 0.0 && mFullExtent.xMax() == 0.0 &&
-        mFullExtent.yMin() == 0.0 && mFullExtent.yMax() == 0.0)
-    {
-      mFullExtent.set(-1.0, -1.0, 1.0, 1.0);
-    }
-    else
-    {
-      const double padFactor = 1e-8;
-      double widthPad = mFullExtent.xMin() * padFactor;
-      double heightPad = mFullExtent.yMin() * padFactor;
-      double xmin = mFullExtent.xMin() - widthPad;
-      double xmax = mFullExtent.xMax() + widthPad;
-      double ymin = mFullExtent.yMin() - heightPad;
-      double ymax = mFullExtent.yMax() + heightPad;
-      mFullExtent.set(xmin, ymin, xmax, ymax);
-    }
-  }
-
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaplayerset.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,53 +0,0 @@
-/***************************************************************************
-    qgsmaplayerset.h  -  holds a set of layers
-    ----------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmaplayerset.h 5679 2006-08-10 09:59:53Z g_j_m $ */
-
-
-#ifndef QGSMAPLAYERSET_H
-#define QGSMAPLAYERSET_H
-
-#include "qgsrect.h"
-#include <deque>
-#include <QString>
-
-
-class QgsMapLayerSet
-{
-  public:
-    //! returns current layer set
-    std::deque<QString>& layerSet() { return mLayerSet; }
-    
-    //! returns number of layers in layer set
-    int layerCount() { return mLayerSet.size(); }
-    
-    //! returns current extent of layer set
-    QgsRect fullExtent() { updateFullExtent(); return mFullExtent; }
-    
-    //! change current layer set
-    void setLayerSet(const std::deque<QString>& layers);
-  
-    //! mainly for internal use, called directly only when projection changes
-    void updateFullExtent();
-    
-  private:
-    
-    //! stores array of layers (identified by string)
-    std::deque<QString> mLayerSet;
-    
-    //! full extent of the layer set
-    QgsRect mFullExtent;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsmapoverviewcanvas.cpp 6550 2007-02-08 06:44:42Z telwertowski $ */
+/* $Id: qgsmapoverviewcanvas.cpp 6971 2007-05-31 00:33:26Z wonder $ */
 
 #include "qgsmapcanvas.h"
 #include "qgsmaprender.h"
@@ -95,9 +95,6 @@
   // show only when valid extent is set
   if (extent.isEmpty())
   {
-#ifdef QGISDEBUG
-    std::cout << "panning: empty extent" << std::endl;
-#endif
     mPanningWidget->hide();
     return;
   }
@@ -246,7 +243,6 @@
     painter.setRenderHint(QPainter::Antialiasing);
   
   // render image
-  mMapRender->setExtent(mMapCanvas->fullExtent());
   mMapRender->render(&painter);
   
   painter.end();
@@ -269,13 +265,29 @@
   setPalette(palette);
 }
 
-void QgsMapOverviewCanvas::setLayerSet(std::deque<QString>& layerSet)
+void QgsMapOverviewCanvas::setLayerSet(const QStringList& layerSet)
 {
-  QgsMapLayerSet& layers = mMapRender->layers();
-  layers.setLayerSet(layerSet);
+  mMapRender->setLayerSet(layerSet);
 }
 
-void QgsMapOverviewCanvas::updateFullExtent()
+void QgsMapOverviewCanvas::updateFullExtent(const QgsRect& rect)
 {
-  mMapRender->layers().updateFullExtent();
+  mMapRender->setExtent(rect);
+  reflectChangedExtent();
 }
+
+void QgsMapOverviewCanvas::projectionsEnabled(bool flag)
+{
+  mMapRender->setProjectionsEnabled(flag);
+}
+
+void QgsMapOverviewCanvas::destinationSrsChanged()
+{
+  const QgsSpatialRefSys& srs = mMapCanvas->mapRender()->destinationSrs();
+  mMapRender->setDestinationSrs(srs);
+}
+
+QStringList& QgsMapOverviewCanvas::layerSet()
+{
+  return mMapRender->layerSet();
+}

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapoverviewcanvas.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsmapoverviewcanvas.h 4949 2006-03-03 01:47:39Z wonder $ */
+/* $Id: qgsmapoverviewcanvas.h 6971 2007-05-31 00:33:26Z wonder $ */
 
 #ifndef QGSMAPOVERVIEWCANVAS_H
 #define QGSMAPOVERVIEWCANVAS_H
@@ -24,14 +24,15 @@
 #include <QMouseEvent>
 #include <QWheelEvent>
 #include <QWidget>
-#include <deque>
+#include <QStringList>
 #include <QPixmap>
 
 class QgsMapCanvas;
 class QgsMapRender;
 class QgsPanningWidget; // defined in .cpp
+class QgsRect;
 
-class QgsMapOverviewCanvas : public QWidget
+class GUI_EXPORT QgsMapOverviewCanvas : public QWidget
 {
   Q_OBJECT;
   
@@ -50,12 +51,20 @@
     void setbgColor(const QColor& color);
         
     //! updates layer set for overview
-    void setLayerSet(std::deque<QString>& layerSet);
+    void setLayerSet(const QStringList& layerSet);
     
+    QStringList& layerSet();
+    
     void enableAntiAliasing(bool flag) { mAntiAliasing = flag; }
     
-    void updateFullExtent();
+    void updateFullExtent(const QgsRect& rect);
     
+  public slots:
+    
+    void projectionsEnabled(bool flag);
+    
+    void destinationSrsChanged();
+    
   protected:
   
     //! Overridden paint event

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaprender.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaprender.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaprender.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,337 +0,0 @@
-/***************************************************************************
-    qgsmaprender.cpp  -  class for rendering map layer set
-    ----------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include <cmath>
-
-#include "qgslogger.h"
-#include "qgsmaprender.h"
-#include "qgsscalecalculator.h"
-#include "qgsmaptopixel.h"
-#include "qgsmaplayer.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsproject.h"
-
-#include <QPixmap>
-#include <QPainter>
-#include <Q3PaintDeviceMetrics>
-#include <QTime>
-
-
-QgsMapRender::QgsMapRender()
-{
-  mCoordXForm = new QgsMapToPixel;
-  mScaleCalculator = new QgsScaleCalculator;
-    
-  mDrawing = false;
-  mOverview = false;
-  
-  // set default map units
-  mMapUnits = QGis::METERS;
-  mScaleCalculator->setMapUnits(mMapUnits);
-
-  mSize = QSize(0,0);
-}
-
-QgsMapRender::~QgsMapRender()
-{
-  delete mCoordXForm;
-  delete mScaleCalculator;
-}
-
-
-QgsRect QgsMapRender::extent()
-{
-  return mExtent;
-}
-
-void QgsMapRender::updateScale()
-{
-  mScale = mScaleCalculator->calculate(mExtent, mSize.width());
-}
-
-bool QgsMapRender::setExtent(const QgsRect& extent)
-{
-
-  // Don't allow zooms where the current extent is so small that it
-  // can't be accurately represented using a double (which is what
-  // currentExtent uses). Excluding 0 avoids a divide by zero and an
-  // infinite loop when rendering to a new canvas. Excluding extents
-  // greater than 1 avoids doing unnecessary calculations.
-
-  // The scheme is to compare the width against the mean x coordinate
-  // (and height against mean y coordinate) and only allow zooms where
-  // the ratio indicates that there is more than about 12 significant
-  // figures (there are about 16 significant figures in a double).
-
-  if (extent.width()  > 0 && 
-      extent.height() > 0 && 
-      extent.width()  < 1 &&
-      extent.height() < 1)
-  {
-    // Use abs() on the extent to avoid the case where the extent is
-    // symmetrical about 0.
-    double xMean = (fabs(extent.xMin()) + fabs(extent.xMax())) * 0.5;
-    double yMean = (fabs(extent.yMin()) + fabs(extent.yMax())) * 0.5;
-
-    double xRange = extent.width() / xMean;
-    double yRange = extent.height() / yMean;
-
-    static const double minProportion = 1e-12;
-    if (xRange < minProportion || yRange < minProportion)
-      return false;
-  }
-
-  mExtent = extent;
-  if (!mExtent.isEmpty())
-    adjustExtentToSize();
-  return true;
-}
-
-
-
-void QgsMapRender::setOutputSize(QSize size, int dpi)
-{
-  mSize = size;
-  mScaleCalculator->setDpi(dpi);
-  adjustExtentToSize();
-}
-
-void QgsMapRender::adjustExtentToSize()
-{
-  int myHeight = mSize.height();
-  int myWidth = mSize.width();
-  
-  if (!myWidth || !myHeight)
-  {
-    mScale = 1;
-    mCoordXForm->setParameters(0, 0, 0, 0);
-    return;
-  }
-
-  // calculate the translation and scaling parameters
-  // mupp = map units per pixel
-  double muppY = static_cast<double>(mExtent.height()) 
-               / static_cast<double>(myHeight);
-  double muppX = static_cast<double>(mExtent.width())  
-               / static_cast<double>(myWidth);
-  mMupp = muppY > muppX ? muppY : muppX;
-
-  // calculate the actual extent of the mapCanvas
-  double dxmin, dxmax, dymin, dymax, whitespace;
-
-  if (muppY > muppX)
-  {
-    dymin = mExtent.yMin();
-    dymax = mExtent.yMax();
-    whitespace = ((myWidth * mMupp) - mExtent.width()) * 0.5;
-    dxmin = mExtent.xMin() - whitespace;
-    dxmax = mExtent.xMax() + whitespace;
-  }
-  else
-  {
-    dxmin = mExtent.xMin();
-    dxmax = mExtent.xMax();
-    whitespace = ((myHeight * mMupp) - mExtent.height()) * 0.5;
-    dymin = mExtent.yMin() - whitespace;
-    dymax = mExtent.yMax() + whitespace;
-  }
-
-#ifdef QGISDEBUG
-  QgsDebugMsg("========== Current Scale ==========");
-  QgsDebugMsg("Current extent is " + mExtent.stringRep());
-  QgsLogger::debug("MuppX", muppX, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("MuppY", muppY, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Pixmap width", myWidth, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Pixmap height", myHeight, 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Extent width", mExtent.width(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("Extent height", mExtent.height(), 1, __FILE__, __FUNCTION__, __LINE__);
-  QgsLogger::debug("whitespace: ", whitespace, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-
-
-  // update extent
-  mExtent.setXmin(dxmin);
-  mExtent.setXmax(dxmax);
-  mExtent.setYmin(dymin);
-  mExtent.setYmax(dymax);
-
-  // update the scale
-  updateScale();
-
-#ifdef QGISDEBUG
-  QgsLogger::debug("Scale (assuming meters as map units) = 1", mScale, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-
-  mCoordXForm->setParameters(mMupp, dxmin, dymin, myHeight);
-}
-
-
-void QgsMapRender::render(QPainter* painter)
-{
-  QgsDebugMsg("========== Rendering ==========");
-
-  if (mExtent.isEmpty())
-  {
-    QgsLogger::debug("empty extent... not rendering");
-    return;
-  }
-
-
-  if (mDrawing)
-    return;
-  
-  mDrawing = true;
-  
-  
-#ifdef QGISDEBUG
-  QgsDebugMsg("Starting to render layer stack.");
-  QTime renderTime;
-  renderTime.start();
-#endif
-  // render all layers in the stack, starting at the base
-  std::deque<QString> layers = mLayers.layerSet();
-  std::deque<QString>::iterator li = layers.begin();
-  
-  while (li != layers.end())
-  {
-    QgsDebugMsg("At layer item '" + (*li) + "'");
-
-    // This call is supposed to cause the progress bar to
-    // advance. However, it seems that updating the progress bar is
-    // incompatible with having a QPainter active (the one that is
-    // passed into this function), as Qt produces a number of errors
-    // when try to do so. I'm (Gavin) not sure how to fix this, but
-    // added these comments and debug statement to help others...
-    QgsDebugMsg("If there is a QPaintEngine error here, it is caused by an emit call");
-
-    //emit drawingProgress(myRenderCounter++,layers.size());
-    QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
-
-    if (!ml)
-    {
-      QgsLogger::warning("Layer not found in registry!");
-      li++;
-      continue;
-    }
-        
-#ifdef QGISDEBUG
-		QgsDebugMsg("Rendering layer " + ml->name());
-		QgsLogger::debug("  Layer minscale ", ml->minScale(), 1, __FILE__, __FUNCTION__, __LINE__);
-		QgsLogger::debug("  Layer maxscale ", ml->maxScale(), 1, __FILE__, __FUNCTION__, __LINE__);
-		QgsLogger::debug("  Scale dep. visibility enabled? ", ml->scaleBasedVisibility(), 1,\
-				 __FILE__, __FUNCTION__, __LINE__);
-		QgsLogger::debug("  Input extent: " + ml->extent().stringRep(), 1, __FILE__, __FUNCTION__, __LINE__);
-    try
-    {
-      QgsDebugMsg("  Transformed extent: " + ml->coordinateTransform()->transformBoundingBox(ml->extent()).stringRep());
-    }
-    catch (QgsCsException &cse)
-    {
-      QgsLogger::warning("Transform error caught in " + QString(__FILE__) + " line " + QString(__LINE__) +\
-			 QString(cse.what()));
-    }
-#endif
-
-    if ((!mOverview && ml->visible()) || (mOverview && ml->showInOverviewStatus()))
-    {
-      if ((ml->scaleBasedVisibility() && ml->minScale() < mScale && ml->maxScale() > mScale)
-          || (!ml->scaleBasedVisibility()))
-      {
-        connect(ml, SIGNAL(drawingProgress(int,int)), this, SLOT(onDrawingProgress(int,int)));        
-        
-        QgsRect r1 = mExtent, r2;
-        bool split = ml->projectExtent(r1, r2);
-        //
-                    // Now do the call to the layer that actually does
-                    // the rendering work!
-        //
-        if (!ml->draw(painter, &r1, mCoordXForm, !mOverview))
-          emit drawError(ml);
-        
-        if (split)
-        {
-          if (!ml->draw(painter, &r2, mCoordXForm, !mOverview))
-            emit drawError(ml);
-        }
-        
-        disconnect(ml, SIGNAL(drawingProgress(int,int)), this, SLOT(onDrawingProgress(int,int)));
-      }
-      else
-      {
-	QgsDebugMsg("Layer not rendered because it is not within the defined \
-visibility scale range");
-      }
-        
-    } // if (ml->visible())
-    
-    li++;
-    
-  } // while (li != end)
-      
-    QgsDebugMsg("Done rendering map layers");
-
-  if (!mOverview)
-  {
-    // render all labels for vector layers in the stack, starting at the base
-    li = layers.begin();
-    while (li != layers.end())
-    {
-      // TODO: emit drawingProgress((myRenderCounter++),zOrder.size());
-      QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer(*li);
-  
-      if (ml && ml->visible() && (ml->type() != QgsMapLayer::RASTER))
-      {
-        // only make labels if the layer is visible
-        // after scale dep viewing settings are checked
-        if ((ml->scaleBasedVisibility() && ml->minScale() < mScale  && ml->maxScale() > mScale)
-            || (!ml->scaleBasedVisibility()))
-        {
-          QgsRect r1 = mExtent, r2;
-          bool split = ml->projectExtent(r1, r2);
-      
-          ml->drawLabels(painter, &r1, mCoordXForm);
-          if (split)
-            ml->drawLabels(painter, &r2, mCoordXForm);
-        }
-      }
-      li++;
-    }
-  } // if (!mOverview)
-
-  // make sure progress bar arrives at 100%!
-  emit drawingProgress(1,1);      
-      
-#ifdef QGISDEBUG
-  QgsDebugMsg("Rendering done in " + QString("%1").arg(renderTime.elapsed() / 1000.0) + " seconds");
-#endif
-
-  mDrawing = false;
-
-}
-
-void QgsMapRender::setMapUnits(QGis::units u)
-{
-  mMapUnits = u;
-  mScaleCalculator->setMapUnits(mMapUnits);
-  QgsProject::instance()->mapUnits(u); // TODO: sort out
-}
-
-void QgsMapRender::onDrawingProgress(int current, int total)
-{
-  // TODO: emit signal with progress
-  //std::cout << "onDrawingProgress: " << current << " / " << total << std::endl;
-  emit updateMap();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaprender.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaprender.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaprender.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,128 +0,0 @@
-/***************************************************************************
-    qgsmaprender.h  -  class for rendering map layer set
-    ----------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSMAPRENDER_H
-#define QGSMAPRENDER_H
-
-
-#include "qgis.h"
-#include "qgsmaplayerset.h"
-
-class QPainter;
-class QgsScaleCalculator;
-class QgsMapToPixel;
-class QgsMapLayer;
-
-
-/**
- * \class QgsMapRender
- * \brief Class for rendering map layer set
- *
- */
-
-class QgsMapRender : public QObject
-{
-  Q_OBJECT
-      
-  public:
-    
-    //! constructor
-    QgsMapRender();
-    
-    //! destructor
-    ~QgsMapRender();
-
-    //! starts rendering
-    void render(QPainter* painter);
-    
-    //! sets extent and checks whether suitable (returns false if not)
-    bool setExtent(const QgsRect& extent);
-    
-    //! returns current extent
-    QgsRect extent();
-    
-    void setLayerSet(const QgsMapLayerSet& layers) { mLayers = layers; }
-    QgsMapLayerSet& layers() { return mLayers; }
-    
-    QgsMapToPixel* coordXForm() { return mCoordXForm; }
-    
-    double scale() const { return mScale; }
-    double mupp() const { return mMupp; }
-
-    //! Recalculate the map scale
-    void updateScale();
-
-    QGis::units mapUnits() const { return mMapUnits; }
-    void setMapUnits(QGis::units u);
-    
-    //! sets whether map image will be for overview
-    void setOverview(bool isOverview = true) { mOverview = isOverview; }
-
-    void setOutputSize(QSize size, int dpi);
-    
-  signals:
-    
-    void drawingProgress(int current, int total);
-    
-    void updateMap();
-
-    //! emitted when layer's draw() returned FALSE
-    void drawError(QgsMapLayer*);
-    
-  public slots:
-    
-    //! called by signal from layer current being drawn
-    void onDrawingProgress(int current, int total);
-  
-  protected:
-    
-    //! adjust extent to fit the pixmap size
-    void adjustExtentToSize();
-    
-  protected:
-    
-    //! indicates drawing in progress
-    bool mDrawing;
-    
-    //! map units per pixel
-    double mMupp;
-    
-    //! Map scale at its current zool level
-    double mScale;
-    
-    //! map units
-    QGis::units mMapUnits;
-    
-    //! scale calculator
-    QgsScaleCalculator * mScaleCalculator;
-    
-    //! utility class for transformation between map and pixmap units
-    QgsMapToPixel* mCoordXForm;
-    
-    //! layers for rendering
-    QgsMapLayerSet mLayers;
-    
-    //! current extent to be drawn
-    QgsRect mExtent;
-    
-    //! indicates whether it's map image for overview
-    bool mOverview;
-    
-    QSize mSize;
-};
-
-#endif
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,378 +0,0 @@
-/***************************************************************************
-  qgsmapserverexport.cpp - Export QGIS MapCanvas to MapServer
-  --------------------------------------
-Date                 : 8-Nov-2003
-Copyright            : (C) 2003 by Gary E.Sherman
-email                : sherman at mrcc.com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmapserverexport.cpp 6816 2007-03-18 11:43:41Z homann $ */
-
-#include "qgsmapserverexport.h"
-
-#include "qgis.h"
-#include "qgsdatasourceuri.h"
-#include "qgshelpviewer.h"
-#include "qgsmapcanvas.h"
-#include "qgsmaplayer.h"
-#include "qgsrect.h"
-#include "qgsvectorlayer.h"
-#include "qgsvectordataprovider.h"
-
-#include <QFileDialog>
-#include <QFileInfo>
-#include <QMessageBox>
-
-#include <iostream>
-#include <fstream>
-
-// constructor
-QgsMapserverExport::QgsMapserverExport(QgsMapCanvas * _map, QWidget * parent, Qt::WFlags fl)
-  : QDialog(parent, fl), map(_map)
-{
-  setupUi(this);
-  connect(buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
-  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
-  // These values shouldn't be translated, the units should be in english in the map file
-  // Qt designer adds translate() by default
-  cmbMapUnits->addItem(QString::fromUtf8("dd"));
-  cmbMapUnits->addItem(QString::fromUtf8("feet"));
-  cmbMapUnits->addItem(QString::fromUtf8("meters"));
-  cmbMapUnits->addItem(QString::fromUtf8("miles"));
-  cmbMapUnits->addItem(QString::fromUtf8("inches"));
-  cmbMapUnits->addItem(QString::fromUtf8("kilometers"));
-}
-
-// Default destructor
-QgsMapserverExport::~QgsMapserverExport()
-{
-}
-
-// Get the base name for the map file
-QString QgsMapserverExport::baseName()
-{
-  QFileInfo fi(txtMapFilePath->text());
-  return fi.baseName(true);
-}
-
-// Write the map file
-bool QgsMapserverExport::write()
-{
-
-  //QMessageBox::information(0,"Full Path",fullPath);
-  int okToSave = 0;
-  // Check for file and prompt for overwrite if it exists
-  if (QFile::exists(txtMapFilePath->text()))
-  {
-    okToSave = QMessageBox::warning(0, tr("Overwrite File?"), txtMapFilePath->text() +
-        tr(" exists. \nDo you want to overwrite it?"), tr("Yes"), tr("No"));
-  }
-  if (okToSave == 0)
-  {
-    // write the project information to the selected file
-    writeMapFile();
-    return true;
-  } else
-  {
-    return false;
-  }
-}
-
-
-void QgsMapserverExport::setFileName(QString fn)
-{
-  fullPath = fn;
-}
-
-QString QgsMapserverExport::fullPathName()
-{
-  return fullPath;
-}
-
-void QgsMapserverExport::writeMapFile()
-{
-  // write the map file, making massive assumptions about default values
-#ifdef QGISDEBUG
-  std::cout << "Opening map file " << txtMapFilePath->text().toLocal8Bit().data() << std::endl;
-#endif
-  std::ofstream mapFile(txtMapFilePath->text().toLocal8Bit().data());
-  if (!mapFile.fail())
-  {
-    // XXX So, what encoding should we use here???
-    mapFile << "# Map file generated by QGIS version " << QGis::qgisVersion << std::endl;
-    mapFile << "# Edit this file to customize for your interface" << std::endl;
-    mapFile << "# Not all sections are complete. See comments for details." << std::endl;
-    if (!chkExpLayersOnly->isChecked())
-    {
-      // header
-      mapFile << "NAME " << txtMapName->text().toLocal8Bit().data() << std::endl;
-      mapFile << "STATUS ON" << std::endl;
-      mapFile << "\n# Map image size. Change size as desired" << std::endl;
-      mapFile << "SIZE " << txtMapWidth->text().toLocal8Bit().data() << " " << txtMapHeight->text().toLocal8Bit().data() << std::endl;
-      // web interface definition - this is minimal!
-      mapFile << "#" << std::endl;
-      mapFile << "# Start of web interface definition. Only the TEMPLATE parameter" << std::endl;
-      mapFile << "# must be specified to display a map. See Mapserver documentation" << std::endl;
-      mapFile << "#" << std::endl;
-      mapFile << "WEB" << std::endl;
-      // if no header is supplied, write the header line but comment it out
-      if (txtWebHeader->text().isEmpty())
-      {
-        mapFile << "  # HEADER" << std::endl;
-      } else
-      {
-        // header provided - write it
-        mapFile << "  HEADER " << txtWebHeader->text().toLocal8Bit().data() << std::endl;
-      }
-      // if no template provided, write the template line but comment it out
-      if (txtWebTemplate->text().isEmpty())
-      {
-        mapFile << "  # TEMPLATE" << std::endl;
-      } else
-      {
-        // template provided - write it
-        mapFile << "  TEMPLATE " << txtWebTemplate->text().toLocal8Bit().data() << std::endl;
-      }
-      // if no footer provided, write the footer line but comment it out
-      if (txtWebFooter->text().isEmpty())
-      {
-        mapFile << "  # FOOTER" << std::endl;
-      } else
-      {
-        mapFile << "  FOOTER " << txtWebFooter->text().toLocal8Bit().data() << std::endl;
-      }
-      QString minScale = txtMinScale->text().isEmpty()?"#MINSCALE":"MINSCALE";
-      QString maxScale = txtMinScale->text().isEmpty()?"  #MAXSCALE ":"  MAXSCALE ";
-      // write min and maxscale
-      mapFile << minScale.toLocal8Bit().data() << txtMinScale->text().toLocal8Bit().data() << std::endl;
-      mapFile << maxScale.toLocal8Bit().data() << txtMaxScale->text().toLocal8Bit().data() << std::endl;
-      // write comments about the imagepath and image url
-      mapFile << "# Set IMAGEPATH to the path where mapserver should\n" <<
-        "# write its output\n" <<
-        " IMAGEPATH '/tmp/'" << std::endl; 
-      mapFile << "# Set IMAGEURL to the url that points to IMAGEPATH" << std::endl; 
-      mapFile << " #IMAGEURL '/map_output/'" << std::endl; 
-      // end of web section
-      mapFile << "END" << std::endl;
-
-      // extent
-      mapFile << "\n# Extent based on full extent of QGIS view" << std::endl;
-      mapFile << "EXTENT ";
-      QgsRect extent = map->extent();
-      mapFile << extent.xMin() << " " << extent.yMin() << " ";
-      mapFile << extent.xMax() << " " << extent.yMax() << std::endl;
-      // units
-      mapFile << "UNITS " << cmbMapUnits->currentText().toLocal8Bit().data() << std::endl;
-      // image info
-      mapFile << "IMAGECOLOR 255 255 255" << std::endl;
-      mapFile << "IMAGETYPE " << cmbMapImageType->currentText().toLocal8Bit().data() << std::endl;
-      // projection information TODO: support projections :)
-      mapFile << "# Projection definition" << std::endl;
-      mapFile << "# Projections are not currenlty supported. If desired, add your own" << std::endl;
-      mapFile << "# projection information based on Mapserver documentation." << std::endl;
-      mapFile << "#" << std::endl;
-
-    } else
-    {
-      mapFile << " # This file contains layer definitions only and is not a complete" << std::endl;
-      mapFile << " # Mapserver map file." << std::endl;
-    }
-
-    // write layer definitions 
-    for (int i = 0; i < map->layerCount(); i++)
-    {
-      bool isPolygon = false;
-      bool isLine = false;
-      QgsMapLayer *lyr = map->getZpos(i);
-#ifdef QGISDEBUG
-      std::cout << "Mapsrver Export Processing Layer" << std::endl;
-#endif
-      mapFile << "LAYER" << std::endl;
-      QString name = lyr->name().lower();
-      // MapServer NAME must be < 20 char and unique
-      name.replace(QRegExp(" "), "_");
-      name.replace(QRegExp("\\."), "_");
-      name.replace(QRegExp("\\("), "_");
-      name.replace(QRegExp("\\)"), "_");
-      mapFile << "  NAME " << name.toLocal8Bit().data() << std::endl;
-      // feature type
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export checking feature type" << std::endl;
-#endif
-      mapFile << "  TYPE ";
-      switch (lyr->featureType())
-      {
-        case QGis::WKBPoint:
-        case QGis::WKBMultiPoint:
-          mapFile << "POINT";
-          break;
-        case QGis::WKBLineString:
-        case QGis::WKBMultiLineString:
-          mapFile << "LINE";
-          isLine = true;
-          break;
-        case QGis::WKBPolygon:
-        case QGis::WKBMultiPolygon:
-          mapFile << "POLYGON";
-          isPolygon = true;
-          break;
-                 
-      }
-      if(lyr->type() == QgsMapLayer::RASTER)
-      {
-        mapFile << "RASTER";
-      }
-      mapFile << std::endl;
-
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export checking visibility" << std::endl;
-#endif
-      // set visibility (STATUS)
-      mapFile << "  STATUS ";
-      if (lyr->visible())
-      {
-        mapFile << "ON";
-      } else
-      {
-        mapFile << "OFF";
-      }
-      mapFile << std::endl;
-
-      // data source (DATA)
-      // Data source spec depends on layer type
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export checking layer type" << std::endl;
-#endif
-      switch (lyr->type())
-      {
-        case QgsMapLayer::VECTOR:
-          // get the provider type
-          {
-            QString providerType = 
-              dynamic_cast<QgsVectorLayer*>(lyr)->providerType();
-            if(providerType == "postgres")
-            {
-              QgsDataSourceURI *dUri = 
-                dynamic_cast<QgsVectorLayer *>(lyr)->getDataProvider()->getURI();
-              mapFile << "CONNECTION \"user=" << dUri->username.toLocal8Bit().data();
-              if(dUri->password.length() > 0)
-              {
-                mapFile << " password="<< dUri->password.toLocal8Bit().data();
-              }
-              mapFile  << " dbname=" << dUri->database.toLocal8Bit().data() 
-                << " host=" << dUri->host.toLocal8Bit().data()
-                << " port=" << dUri->port.toLocal8Bit().data()
-                << "\"" << std::endl; 
-              mapFile << "CONNECTIONTYPE postgis" << std::endl; 
-              mapFile << "DATA \"" << dUri->geometryColumn.toLocal8Bit().data() << " from " 
-                << dUri->table.toLocal8Bit().data() << "\"" << std::endl; 
-              if(dUri->sql.length() > 0)
-              {
-                mapFile << "FILTER \"" << dUri->sql.toLocal8Bit().data() << "\"" << std::endl; 
-              }
-
-            }
-            else
-            {
-
-              // must be an ogr 
-              mapFile << "  DATA " << lyr->source().toLocal8Bit().data() << std::endl;
-            }
-          }
-          break;
-        case QgsMapLayer::RASTER:
-          mapFile << "  DATA " << lyr->source().toLocal8Bit().data() << std::endl; 
-          
-          break;
-      }
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export creating symbol entries" << std::endl;
-#endif
-      // create a simple class entry based on red fill color and black outline color
-      //TODO: adapt the following section to the new symbology
-
-      mapFile << "  CLASS" << std::endl;
-      //QListViewItem *li = map->getLegend()->currentItem();
-      //    return li->text(0);
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export symbol name" << std::endl;
-#endif
-      mapFile << "    NAME \"" << lyr->name().toLocal8Bit().data() << "\"" << std::endl;
-      mapFile << "    # TEMPLATE" << std::endl;
-      if (isPolygon)
-      {
-#ifdef QGISDEBUG
-        std::cout << "\tMapserver Export symbol fill color" << std::endl;
-#endif
-        // use random fill colors
-        // TODO Get fill color from the renderer
-        // TODO Figure out what to do for layers that are
-        //      rendered with other than the simple symbol
-        //      renderer.
-        int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-        int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-        int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-
-        mapFile << "    COLOR " << red << " " << green << " " << blue << std::endl;
-      }
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export checking for line symbol " << std::endl;
-#endif
-      if (isPolygon || isLine)
-      {
-        // use line color
-        // TODO Get line color from the renderer
-        int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-        int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-        int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-        mapFile << "    OUTLINECOLOR " << red << " "
-          << green << " " << blue << std::endl;
-      }
-      mapFile << "  END" << std::endl;
-      mapFile << "END" << std::endl;
-#ifdef QGISDEBUG
-      std::cout << "\tMapserver Export layer definition done..." << std::endl;
-#endif
-    }
-    if (!chkExpLayersOnly->isChecked())
-    {
-      mapFile << "END # Map File";
-    }
-    mapFile.flush();
-    mapFile.close();
-  } else
-  {
-  }
-}
-
-void QgsMapserverExport::on_chkExpLayersOnly_clicked()
-{
-  // disable inputs if only layer objects are being written
-  grpMap->setEnabled(!chkExpLayersOnly->isChecked());
-  grpWeb->setEnabled(!chkExpLayersOnly->isChecked());
-}
-
-void QgsMapserverExport::on_btnChooseFile_clicked()
-{
-  QString s = QFileDialog::getSaveFileName(
-                    this,
-                    tr("Choose a filename for the exported map file"),
-                    "./",
-                    tr("Mapserver files (*.map)" ) );
-  txtMapFilePath->setText(s);
-}
-
-void QgsMapserverExport::on_buttonHelp_clicked()
-{
-  //QMessageBox::information(this, "Help","Help");
-  QgsHelpViewer *hv = new QgsHelpViewer(this);
-  // causes problems in qt3.1.x:  hv->setModal(false);
-  hv->setCaption( tr("QGIS Help - Mapserver Export") );
-  hv->show();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmapserverexport.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,68 +0,0 @@
-/***************************************************************************
-    qgsmapserverexport.h - Export QGIS MapCanvas to MapServer
-     --------------------------------------
-    Date                 : 08-Nov-2003
-    Copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************
-
-  $Id: qgsmapserverexport.h 4688 2006-01-15 12:08:18Z telwertowski $ 
-
-*/
-
-#ifndef QGSMAPSERVEREXPORT_H
-#define QGSMAPSERVEREXPORT_H
-#include "ui_qgsmapserverexportbase.h"
-#include "qgisgui.h"
-class QgsMapCanvas;
-
-/*! \class QgsMapServerExport
-* \brief Class to handle reading and writing a Qgis project file
-*/
-class QgsMapserverExport:public QDialog, private Ui::QgsMapserverExportBase
-{
-Q_OBJECT
-public:
-  QgsMapserverExport(QgsMapCanvas *map=0, QWidget* parent = 0, 
-	Qt::WFlags fl = QgisGui::ModalDialogFlags);
-  ~QgsMapserverExport();
-  //! Read the file and create the map
-  bool read();
-  //! Write the contents of the map to a file
-  bool write();
-  void setMapCanvas(QgsMapCanvas *map);
-  //! Open a file dialog, the type determined by action (SAVE AS or OPEN)
-  QString selectFileName();
-  //! get the basename of the file (no path, just the file name)
-  QString baseName();
-  //! get the full path name of the map file
-  QString fullPathName();
-  //! Set the full path to the file
-  void setFileName(QString filename);
-  enum ACTION {
-  	SAVE,
-	SAVEAS,
-	OPEN
-	};
-public slots:
-  void on_chkExpLayersOnly_clicked();
-  void on_btnChooseFile_clicked();
-  void on_buttonHelp_clicked();
-private:
-  void writeMapFile(void);
-  QString fileName;
-  QString fullPath;
-  bool neverSaved;
-  QgsMapCanvas *map;
-  int action;
-};
-
-#endif //QGSMAPSERVEREXPORT_H
-

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmaptool.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptool.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptool.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,5 @@
 /***************************************************************************
-    qgsmaptool.h  -  base class for map canvas tools
+    qgsmaptool.cpp  -  base class for map canvas tools
     ----------------------
     begin                : January 2006
     copyright            : (C) 2006 by Martin Dobias
@@ -16,14 +16,14 @@
 
 #include "qgslogger.h"
 #include "qgsmaptool.h"
-#include "qgsmaplayer.h"
 #include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
 #include "qgsmaptopixel.h"
-#include "qgsproject.h"
 #include <QAction>
+#include <QAbstractButton>
 
 QgsMapTool::QgsMapTool(QgsMapCanvas* canvas)
-  : mCanvas(canvas), mCursor(Qt::CrossCursor), mAction(NULL)
+  : QObject(canvas), mCanvas(canvas), mCursor(Qt::CrossCursor), mAction(NULL), mButton(NULL)
 {
 }
 
@@ -42,28 +42,25 @@
 
 QgsPoint QgsMapTool::toLayerCoords(QgsMapLayer* layer, const QPoint& point)
 {
-  // FIXME: this information should be accessible elsewhere without accessing QgsProject!
-  bool projectionsEnabled = (QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0)!=0);
-  
-  if (projectionsEnabled)
-  {
-  
-    if (!layer || !layer->coordinateTransform())
-      return QgsPoint(0,0);
-    
-    // first transform from canvas coords to map coordinates
-    QgsPoint pnt = toMapCoords(point);
-    
-    // then convert from 
-    return layer->coordinateTransform()->transform(pnt, QgsCoordinateTransform::INVERSE);
-  }
-  else
-  {
-    return toMapCoords(point);
-  }
+  QgsPoint pt = toMapCoords(point);
+  return toLayerCoords(layer, pt);
 }
 
+QgsPoint QgsMapTool::toLayerCoords(QgsMapLayer* layer, const QgsPoint& point)
+{
+  return mCanvas->mapRender()->outputCoordsToLayerCoords(layer, point);
+}
 
+QgsPoint QgsMapTool::toMapCoords(QgsMapLayer* layer, const QgsPoint& point)
+{
+  return mCanvas->mapRender()->layerCoordsToOutputCoords(layer, point);
+}
+
+QgsRect QgsMapTool::toLayerCoords(QgsMapLayer* layer, const QgsRect& rect)
+{
+  return mCanvas->mapRender()->outputCoordsToLayerCoords(layer, rect);
+}
+
 QPoint QgsMapTool::toCanvasCoords(const QgsPoint& point)
 {
   double x = point.x(), y = point.y();
@@ -74,9 +71,11 @@
 
 void QgsMapTool::activate()
 {
-  // make action active
+  // make action and/or button active
   if (mAction)
     mAction->setChecked(true);
+  if (mButton)
+    mButton->setChecked(true);
   
   // set cursor (map tools usually set it in constructor)
   mCanvas->setCursor(mCursor);
@@ -88,4 +87,53 @@
 {
   if (mAction)
     mAction->setChecked(false);
+  if (mButton)
+    mButton->setChecked(false);
 }
+
+void QgsMapTool::setAction(QAction* action)
+{
+  mAction = action;
+}
+
+QAction* QgsMapTool::action()
+{
+  return mAction;
+}
+
+void QgsMapTool::setButton(QAbstractButton* button)
+{
+  mButton = button;
+}
+
+QAbstractButton* QgsMapTool::button()
+{
+  return mButton;
+}
+
+    
+void QgsMapTool::canvasMoveEvent(QMouseEvent *)
+{
+}
+
+void QgsMapTool::canvasPressEvent(QMouseEvent *)
+{
+}
+
+void QgsMapTool::canvasReleaseEvent(QMouseEvent *)
+{
+}
+
+void QgsMapTool::renderComplete()
+{
+}
+
+bool QgsMapTool::isZoomTool()
+{
+  return false;
+}
+
+QgsMapCanvas* QgsMapTool::canvas()
+{
+  return mCanvas;
+}

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmaptool.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptool.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptool.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -19,47 +19,58 @@
 
 #include <QCursor>
 #include <QString>
+#include <QObject>
 
 class QgsMapLayer;
 class QgsMapCanvas;
 class QMouseEvent;
 class QgsPoint;
+class QgsRect;
 class QPoint;
 class QAction;
+class QAbstractButton;
 
-
-class QgsMapTool
+class GUI_EXPORT QgsMapTool : public QObject
 {
   public:
     
     //! virtual destructor
     virtual ~QgsMapTool();
     
-    //! Mouse move event for overriding
-    virtual void canvasMoveEvent(QMouseEvent * e) { }
+    //! Mouse move event for overriding. Default implementation does nothing.
+    virtual void canvasMoveEvent(QMouseEvent * e);
 
-    //! Mouse press event for overriding
-    virtual void canvasPressEvent(QMouseEvent * e) { }
+    //! Mouse press event for overriding. Default implementation does nothing.
+    virtual void canvasPressEvent(QMouseEvent * e);
 
-    //! Mouse release event for overriding
-    virtual void canvasReleaseEvent(QMouseEvent * e) { }
+    //! Mouse release event for overriding. Default implementation does nothing.
+    virtual void canvasReleaseEvent(QMouseEvent * e);
     
-    //! Called when rendering has finished
-    virtual void renderComplete() {}
+    //! Called when rendering has finished. Default implementation does nothing.
+    virtual void renderComplete();
     
-    /** Use this to associate a button, toolbutton, menu entry etc
-     * that inherits qaction to this maptool. Then when the setMapTool
+    
+    /** Use this to associate a QAction to this maptool. Then when the setMapTool
      * method of mapcanvas is called the action state will be set to on.
      * Usually this will cause e.g. a toolbutton to appear pressed in and
      * the previously used toolbutton to pop out. */
-    void setAction(QAction* action) { mAction = action; }
+    void setAction(QAction* action);
     
-    QAction* action() { return mAction; }
+    /** Return associated action with map tool or NULL if no action is associated */
+    QAction* action();
     
+    /** Use this to associate a button to this maptool. It has the same meaning
+     * as setAction() function except it works with a button instead of an QAction. */
+    void setButton(QAbstractButton* button);
+    
+    /** Return associated button with map tool or NULL if no button is associated */
+    QAbstractButton* button();
+    
+    
     /** Check whether this MapTool performs a zoom or pan operation.
      * If it does, we will be able to perform the zoom  and then 
      * resume operations with the original / previously used tool.*/
-    virtual bool isZoomTool() { return false;}
+    virtual bool isZoomTool();
     
     //! called when set as currently active map tool
     virtual void activate();
@@ -67,6 +78,9 @@
     //! called when map tool is being deactivated
     virtual void deactivate();
     
+    //! returns pointer to the tool's map canvas
+    QgsMapCanvas* canvas();
+    
   protected:
 
     //! constructor takes map canvas as a parameter
@@ -78,6 +92,15 @@
     //! transformation from screen coordinates to layer's coordinates
     QgsPoint toLayerCoords(QgsMapLayer* layer, const QPoint& point);
     
+    //! trasformation from map coordinates to layer's coordinates
+    QgsPoint toLayerCoords(QgsMapLayer* layer, const QgsPoint& point);
+
+    //!transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
+    QgsPoint toMapCoords(QgsMapLayer* layer, const QgsPoint& point);
+    
+    //! trnasformation of the rect from map coordinates to layer's coordinates
+    QgsRect toLayerCoords(QgsMapLayer* layer, const QgsRect& rect);
+
     //! transformation from map coordinates to screen coordinates
     QPoint toCanvasCoords(const QgsPoint& point);
     
@@ -91,6 +114,10 @@
     //! which will be used to set that action as active
     QAction* mAction;
     
+    //! optionally map tool can have pointer to a button
+    //! which will be used to set that action as active
+    QAbstractButton* mButton;
+    
 };
 
 #endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,438 +0,0 @@
-/***************************************************************************
-    qgsmaptoolcapture.cpp  -  map tool for capturing points, lines, polygons
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include "qgsattributedialog.h"
-#include "qgsmaptoolcapture.h"
-#include "qgsmapcanvas.h"
-#include "qgsmaptopixel.h"
-#include "qgsfeature.h"
-#include "qgsproject.h"
-#include "qgsrubberband.h"
-#include "qgsvectorlayer.h"
-#include "qgsvectordataprovider.h"
-#include "qgscursors.h"
-#include <QCursor>
-#include <QPixmap>
-#include <QMessageBox>
-
-
-QgsMapToolCapture::QgsMapToolCapture(QgsMapCanvas* canvas, enum CaptureTool tool)
-  : QgsMapTool(canvas), mTool(tool), mRubberBand(0)
-{
-  mCapturing = FALSE;
-  
-  QPixmap mySelectQPixmap = QPixmap((const char **) capture_point_cursor);
-  mCursor = QCursor(mySelectQPixmap, 8, 8);
-}
-
-QgsMapToolCapture::~QgsMapToolCapture()
-{
-  delete mRubberBand;
-  mRubberBand = 0;
-}
-
-
-QgsPoint QgsMapToolCapture::maybeInversePoint(QgsPoint point, const char whenmsg[])
-{
-  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
-  QgsPoint transformedPoint;
-
-  if( mCanvas->projectionsEnabled() )
-  {
-    // Do reverse transformation before saving. If possible!
-    try
-    {
-      transformedPoint = vlayer->coordinateTransform()->transform(point, QgsCoordinateTransform::INVERSE);
-    }
-    catch(QgsCsException &cse)
-    {
-      //#ifdef QGISDEBUG
-      std::cout << "Caught transform error when " << whenmsg <<"." 
-          << "Setting untransformed values." << std::endl;
-      //#endif  
-      // Transformation failed,. Bail out with original rectangle.
-      return point;
-    }
-    return transformedPoint;
-  }
-  return point;
-}
-
-
-void QgsMapToolCapture::canvasReleaseEvent(QMouseEvent * e)
-{
-  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
-  
-  if (!vlayer)
-  {
-    QMessageBox::information(0, QObject::tr("Not a vector layer"), QObject::tr("The current layer is not a vector layer"),QMessageBox::Ok);
-    return;
-  }
-  
-  if (!vlayer->isEditable())
-  {
-    QMessageBox::information(0,QObject::tr("Layer not editable"),
-                             QObject::tr("Cannot edit the vector layer. To make it editable, go to the file item of the layer, right click and check 'Allow Editing'."),
-                             QMessageBox::Ok);
-    return;
-  }
-
-  double tolerance  = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
-  
-  // POINT CAPTURING
-  if (mTool == CapturePoint)
-  {
-    //check we only use this tool for point/multipoint layers
-    if(vlayer->vectorType() != QGis::Point)
-      {
-	QMessageBox::information(0, QObject::tr("Wrong editing tool"), QObject::tr("Cannot apply the 'capture point' tool on this vector layer"),
-                                 QMessageBox::Ok);
-	return;
-      }
-    QgsPoint idPoint = toMapCoords(e->pos());
-    
-    // emit signal - QgisApp can catch it and save point position to clipboard
-    // FIXME: is this still actual or something old that's not used anymore?
-    //emit xyClickCoordinates(idPoint);
-
-    //only do the rest for provider with feature addition support
-    //note that for the grass provider, this will return false since
-    //grass provider has its own mechanism of feature addition
-    if(vlayer->getDataProvider()->capabilities()&QgsVectorDataProvider::AddFeatures)
-    {
-      QgsFeature* f = new QgsFeature(0,"WKBPoint");
-      QgsPoint savePoint = maybeInversePoint(idPoint, "adding point");
-      // snap point to points within the vector layer snapping tolerance
-      // project to layer's SRS
-      vlayer->snapPoint(savePoint, tolerance);
-      
-      int size;
-      char end=vlayer->endian();
-      unsigned char *wkb;
-      int wkbtype;
-      double x = savePoint.x();
-      double y = savePoint.y();
-
-      if(vlayer->getGeometryType() == QGis::WKBPoint)
-	{
-	  size=1+sizeof(int)+2*sizeof(double);
-	  wkb = new unsigned char[size];
-	  wkbtype=QGis::WKBPoint;
-	  memcpy(&wkb[0],&end,1);
-	  memcpy(&wkb[1],&wkbtype, sizeof(int));
-	  memcpy(&wkb[5], &x, sizeof(double));
-	  memcpy(&wkb[5]+sizeof(double), &y, sizeof(double));
-	}
-      else if(vlayer->getGeometryType() == QGis::WKBMultiPoint)
-	{
-	  size = 2+3*sizeof(int)+2*sizeof(double);
-	  wkb = new unsigned char[size];
-	  wkbtype=QGis::WKBMultiPoint;
-	  int position = 0;
-	  memcpy(&wkb[position], &end, 1);
-	  position += 1;
-	  memcpy(&wkb[position], &wkbtype, sizeof(int));
-	  position += sizeof(int);
-	  int npoint = 1;
-	  memcpy(&wkb[position], &npoint, sizeof(int));
-	  position += sizeof(int);
-	  memcpy(&wkb[position], &end, 1);
-	  position += 1;
-	  int pointtype = QGis::WKBPoint;
-	  memcpy(&wkb[position],&pointtype, sizeof(int));
-	  position += sizeof(int);
-	  memcpy(&wkb[position], &x, sizeof(double));
-	  position += sizeof(double);
-	  memcpy(&wkb[position], &y, sizeof(double));
-	}
-
-      f->setGeometryAndOwnership(&wkb[0],size);
-      // add the fields to the QgsFeature
-      std::vector<QgsField> fields=vlayer->fields();
-      for(std::vector<QgsField>::iterator it=fields.begin();it!=fields.end();++it)
-      {
-        f->addAttribute((*it).name(), vlayer->getDefaultValue(it->name(),f));
-      }
-
-      // show the dialog to enter attribute values
-      if (QgsAttributeDialog::queryAttributes(*f))
-        vlayer->addFeature(f);
-      else
-        delete f;
-      
-      mCanvas->refresh();
-    }
-
-  }  
-  else if (mTool == CaptureLine || mTool == CapturePolygon)
-  {
-    //check we only use the line tool for line/multiline layers
-    if(mTool == CaptureLine && vlayer->vectorType() != QGis::Line)
-      {
-	QMessageBox::information(0,QObject::tr("Wrong editing tool"), QObject::tr("Cannot apply the 'capture line' tool on this vector layer"),\
-QMessageBox::Ok);
-	return;
-      }
-
-    //check we only use the polygon tool for polygon/multipolygon layers
-    if(mTool == CapturePolygon && vlayer->vectorType() != QGis::Polygon)
-      {
-	QMessageBox::information(0,QObject::tr("Wrong editing tool"), QObject::tr("Cannot apply the 'capture polygon' tool on this vector layer"),\
-QMessageBox::Ok);
-	return;
-      }
-
-    if (mCaptureList.size() == 0)
-    {
-      mRubberBand = new QgsRubberBand(mCanvas, mTool == CapturePolygon);
-      QgsProject* project = QgsProject::instance();
-      QColor color(
-          project->readNumEntry("Digitizing", "/LineColorRedPart", 255),
-          project->readNumEntry("Digitizing", "/LineColorGreenPart", 0),
-          project->readNumEntry("Digitizing", "/LineColorBluePart", 0));
-      mRubberBand->setColor(color);
-      mRubberBand->setWidth(project->readNumEntry("Digitizing", "/LineWidth", 1));
-      mRubberBand->show();
-    }
-  
-    QgsPoint digitisedPoint = toMapCoords(e->pos());
-    vlayer->snapPoint(digitisedPoint, tolerance);
-  
-    if (e->button() == Qt::LeftButton)
-    {
-      mCaptureList.push_back(digitisedPoint);
-      mRubberBand->addPoint(digitisedPoint);
-      mCapturing = TRUE;
-    }
-    else if (e->button() == Qt::RightButton)
-    {
-      // End of string
-  
-      mCapturing = FALSE;
-      
-      delete mRubberBand;
-      mRubberBand = NULL;
-  
-      //create QgsFeature with wkb representation
-      QgsFeature* f = new QgsFeature(0,"WKBLineString");
-      unsigned char* wkb;
-      int size;
-      char end=vlayer->endian();
-      if(mTool == CaptureLine)
-      {
-	if(vlayer->getGeometryType() == QGis::WKBLineString)
-	  {
-	    size=1+2*sizeof(int)+2*mCaptureList.size()*sizeof(double);
-	    wkb= new unsigned char[size];
-	    int wkbtype=QGis::WKBLineString;
-	    int length=mCaptureList.size();
-	    memcpy(&wkb[0],&end,1);
-	    memcpy(&wkb[1],&wkbtype, sizeof(int));
-	    memcpy(&wkb[1+sizeof(int)],&length, sizeof(int));
-	    int position=1+2*sizeof(int);
-	    double x,y;
-	    for(std::list<QgsPoint>::iterator it=mCaptureList.begin();it!=mCaptureList.end();++it)
-	      {
-		QgsPoint savePoint = maybeInversePoint(*it, "adding line");
-		x = savePoint.x();
-		y = savePoint.y();
-		
-		memcpy(&wkb[position],&x,sizeof(double));
-		position+=sizeof(double);
-		
-		memcpy(&wkb[position],&y,sizeof(double));
-		position+=sizeof(double);
-	      }
-	  }
-	else if(vlayer->getGeometryType() == QGis::WKBMultiLineString)
-	  {
-	    size = 1+2*sizeof(int)+1+2*sizeof(int)+2*mCaptureList.size()*sizeof(double);
-	    wkb= new unsigned char[size];
-	    int position = 0;
-	    int wkbtype=QGis::WKBMultiLineString;
-	    memcpy(&wkb[position], &end, 1);
-	    position += 1;
-	    memcpy(&wkb[position], &wkbtype, sizeof(int));
-	    position += sizeof(int);
-	    int nlines = 1;
-	    memcpy(&wkb[position], &nlines, sizeof(int));
-	    position += sizeof(int);
-	    memcpy(&wkb[position], &end, 1);
-	    position += 1;
-	    int linewkbtype = QGis::WKBLineString;
-	    memcpy(&wkb[position], &linewkbtype, sizeof(int));
-	    position += sizeof(int);
-	    int length=mCaptureList.size();
-	    memcpy(&wkb[position], &length, sizeof(int));
-	    position += sizeof(int);
-	    double x,y;
-	    for(std::list<QgsPoint>::iterator it=mCaptureList.begin();it!=mCaptureList.end();++it)
-	      {
-		QgsPoint savePoint = maybeInversePoint(*it, "adding line");
-		x = savePoint.x();
-		y = savePoint.y();
-		
-		memcpy(&wkb[position],&x,sizeof(double));
-		position+=sizeof(double);
-		
-		memcpy(&wkb[position],&y,sizeof(double));
-		position+=sizeof(double);
-	      }
-	  }
-      }
-      else // polygon
-      {
-	if(vlayer->getGeometryType() == QGis::WKBPolygon)
-	  {
-	    size=1+3*sizeof(int)+2*(mCaptureList.size()+1)*sizeof(double);
-	    wkb= new unsigned char[size];
-	    int wkbtype=QGis::WKBPolygon;
-	    int length=mCaptureList.size()+1;//+1 because the first point is needed twice
-	    int numrings=1;
-	    memcpy(&wkb[0],&end,1);
-	    memcpy(&wkb[1],&wkbtype, sizeof(int));
-	    memcpy(&wkb[1+sizeof(int)],&numrings,sizeof(int));
-	    memcpy(&wkb[1+2*sizeof(int)],&length, sizeof(int));
-	    int position=1+3*sizeof(int);
-	    double x,y;
-	    std::list<QgsPoint>::iterator it;
-	    for(it=mCaptureList.begin();it!=mCaptureList.end();++it)
-	      {
-		QgsPoint savePoint = maybeInversePoint(*it, "adding poylgon");
-		x = savePoint.x();
-		y = savePoint.y();
-		
-		memcpy(&wkb[position],&x,sizeof(double));
-		position+=sizeof(double);
-		
-		memcpy(&wkb[position],&y,sizeof(double));
-		position+=sizeof(double);
-	      }
-	    // close the polygon
-	    it=mCaptureList.begin();
-	    QgsPoint savePoint = maybeInversePoint(*it, "closing polygon");
-	    x = savePoint.x();
-	    y = savePoint.y();
-  
-	    memcpy(&wkb[position],&x,sizeof(double));
-	    position+=sizeof(double);
-	    
-	    memcpy(&wkb[position],&y,sizeof(double));
-	  }
-	else if(vlayer->getGeometryType() == QGis::WKBMultiPolygon)
-	  {
-	    size = 2+5*sizeof(int)+2*(mCaptureList.size()+1)*sizeof(double);
-	    wkb = new unsigned char[size];
-	    int wkbtype = QGis::WKBMultiPolygon;
-	    int polygontype = QGis::WKBPolygon;
-	    int length = mCaptureList.size()+1;//+1 because the first point is needed twice
-	    int numrings = 1;
-	    int numpolygons = 1;
-	    int position = 0; //pointer position relative to &wkb[0]
-	    memcpy(&wkb[position],&end,1);
-	    position += 1;
-	    memcpy(&wkb[position],&wkbtype, sizeof(int));
-	    position += sizeof(int);
-	    memcpy(&wkb[position], &numpolygons, sizeof(int));
-	    position += sizeof(int);
-	    memcpy(&wkb[position], &end, 1);
-	    position += 1;
-	    memcpy(&wkb[position], &polygontype, sizeof(int));
-	    position += sizeof(int);
-	    memcpy(&wkb[position], &numrings, sizeof(int));
-	    position += sizeof(int);
-	    memcpy(&wkb[position], &length, sizeof(int));
-	    position += sizeof(int);
-	    double x,y;
-	    std::list<QgsPoint>::iterator it;
-	    for(it=mCaptureList.begin();it!=mCaptureList.end();++it)//add the captured points to the polygon
-	      {
-		QgsPoint savePoint = maybeInversePoint(*it, "adding poylgon");
-		x = savePoint.x();
-		y = savePoint.y();
-		
-		memcpy(&wkb[position],&x,sizeof(double));
-		position+=sizeof(double);
-		
-		memcpy(&wkb[position],&y,sizeof(double));
-		position+=sizeof(double);
-	      }
-	    // close the polygon
-	    it=mCaptureList.begin();
-	    QgsPoint savePoint = maybeInversePoint(*it, "closing polygon");
-	    x = savePoint.x();
-	    y = savePoint.y();
-	    memcpy(&wkb[position],&x,sizeof(double));
-	    position+=sizeof(double);
-	    memcpy(&wkb[position],&y,sizeof(double));
-	  }
-      }
-      f->setGeometryAndOwnership(&wkb[0],size);
-  
-      // add the fields to the QgsFeature
-      std::vector<QgsField> fields=vlayer->fields();
-      for(std::vector<QgsField>::iterator it=fields.begin();it!=fields.end();++it)
-      {
-        f->addAttribute((*it).name(),vlayer->getDefaultValue(it->name(), f));
-      }
-  
-      if (QgsAttributeDialog::queryAttributes(*f))
-        vlayer->addFeature(f);
-      else
-        delete f;
-      
-      // delete the elements of mCaptureList
-      mCaptureList.clear();
-      mCanvas->refresh();
-    }
-    
-  }
-  
-} // mouseReleaseEvent
-
-
-
-void QgsMapToolCapture::canvasMoveEvent(QMouseEvent * e)
-{
-
-  if (mCapturing)
-  {
-    // show the rubber-band from the last click
-    QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
-    double tolerance  = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
-    QgsPoint rbpoint = toMapCoords(e->pos());
-    vlayer->snapPoint(rbpoint, tolerance); //show snapping during dragging
-    mRubberBand->movePoint(rbpoint);
-  }
-
-} // mouseMoveEvent
-
-
-void QgsMapToolCapture::canvasPressEvent(QMouseEvent * e)
-{
-  // nothing to be done
-}
-
-
-void QgsMapToolCapture::renderComplete()
-{
-}
-
-void QgsMapToolCapture::deactivate()
-{
-  delete mRubberBand;
-  mRubberBand = 0;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolcapture.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,89 +0,0 @@
-/***************************************************************************
-    qgsmaptoolcapture.h  -  map tool for capturing points, lines, polygons
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSMAPTOOLCAPTURE_H
-#define QGSMAPTOOLCAPTURE_H
-
-#include "qgsmaptool.h"
-#include "qgspoint.h"
-
-
-class QgsRubberBand;
-
-#include <QPoint>
-#include <list>
-
-class QgsMapToolCapture : public QgsMapTool
-{
-  public:
-  
-    enum CaptureTool
-    {
-      CapturePoint,
-      CaptureLine,
-      CapturePolygon
-    };
-
-    //! constructor
-    QgsMapToolCapture(QgsMapCanvas* canvas, enum CaptureTool tool);
-
-    //! destructor
-    virtual ~QgsMapToolCapture();
-
-    //! Overridden mouse move event
-    virtual void canvasMoveEvent(QMouseEvent * e);
-  
-    //! Overridden mouse press event
-    virtual void canvasPressEvent(QMouseEvent * e);
-  
-    //! Overridden mouse release event
-    virtual void canvasReleaseEvent(QMouseEvent * e);    
-    
-    //! Resize rubber band
-    virtual void renderComplete();
-    
-
-    virtual void deactivate();
-
-    /*
-    // FIXME: is this still actual or something old that's not used anymore?
-  signals:
-    //! emits mouse position when the canvas is clicked
-    void xyClickCoordinates(QgsPoint &p);
-    */
-  
-  protected:
-    
-    /** Helper function to inverse project a point if projections
-        are enabled. Failsafe, returns the sent point if anything fails.
-        @whenmsg is a part fo the error message. */
-    QgsPoint maybeInversePoint(QgsPoint point, const char whenmsg[]);
-
-    /** which capturing tool is being used */
-    enum CaptureTool mTool;
-    
-    /** Flag to indicate a map canvas capture operation is taking place */
-    bool mCapturing;
-    
-    /** rubber band for polylines and polygons */
-    QgsRubberBand* mRubberBand;
-
-    /** List to store the points of digitised lines and polygons */
-    std::list<QgsPoint> mCaptureList;
-
-};
-
-#endif

Added: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,39 @@
+/***************************************************************************
+    qgsmaptoolemitpoint.cpp  -  map tool that emits a signal on click
+    ---------------------
+    begin                : June 2007
+    copyright            : (C) 2007 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+
+#include "qgsmaptoolemitpoint.h"
+#include "qgsmapcanvas.h"
+
+
+QgsMapToolEmitPoint::QgsMapToolEmitPoint(QgsMapCanvas* canvas)
+  : QgsMapTool(canvas)
+{
+}
+
+void QgsMapToolEmitPoint::canvasMoveEvent(QMouseEvent * e)
+{
+}
+
+void QgsMapToolEmitPoint::canvasPressEvent(QMouseEvent * e)
+{
+  QgsPoint pnt = toMapCoords(e->pos());
+  emit gotPoint(pnt, e->button());
+}
+
+void QgsMapToolEmitPoint::canvasReleaseEvent(QMouseEvent * e)
+{
+}

Added: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolemitpoint.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,48 @@
+/***************************************************************************
+    qgsmaptoolemitpoint.h  -  map tool that emits a signal on click
+    ---------------------
+    begin                : June 2007
+    copyright            : (C) 2007 by Martin Dobias
+    email                : wonder.sk at gmail dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id$ */
+
+#ifndef QGSMAPTOOLEMITPOINT_H
+#define QGSMAPTOOLEMITPOINT_H
+
+#include "qgspoint.h"
+#include "qgsmaptool.h"
+class QgsMapCanvas;
+
+
+class GUI_EXPORT QgsMapToolEmitPoint : public QgsMapTool
+{
+  Q_OBJECT
+  
+  public:
+    //! constructor
+    QgsMapToolEmitPoint(QgsMapCanvas* canvas);
+    
+    //! Overridden mouse move event
+    virtual void canvasMoveEvent(QMouseEvent * e);
+  
+    //! Overridden mouse press event - emits the signal
+    virtual void canvasPressEvent(QMouseEvent * e);
+  
+    //! Overridden mouse release event
+    virtual void canvasReleaseEvent(QMouseEvent * e);
+    
+  signals:
+    
+    //! signal emitted on canvas click
+    void gotPoint(QgsPoint& point, Qt::MouseButton button);
+};
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,475 +0,0 @@
-/***************************************************************************
-    qgsmaptoolidentify.cpp  -  map tool for identifying features
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include "qgsmessageviewer.h"
-#include "qgsmaptoolidentify.h"
-#include "qgsmapcanvas.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-#include "qgsrasterlayer.h"
-#include "qgsmaptopixel.h"
-#include "qgsidentifyresults.h"
-#include "qgsdistancearea.h"
-#include "qgsfeature.h"
-#include "qgsfeatureattribute.h"
-#include "qgsattributedialog.h"
-#include "qgscursors.h"
-#include <QSettings>
-#include <QMessageBox>
-#include <QCursor>
-#include <QPixmap>
-
-QgsMapToolIdentify::QgsMapToolIdentify(QgsMapCanvas* canvas)
-  : QgsMapTool(canvas),
-    mResults(0),
-    mViewer(0)
-{
-  // set cursor
-  QPixmap myIdentifyQPixmap = QPixmap((const char **) identify_cursor);
-  mCursor = QCursor(myIdentifyQPixmap, 1, 1);
-}
-    
-QgsMapToolIdentify::~QgsMapToolIdentify()
-{
-  if (mResults)
-  {
-    mResults->done(0);
-  }
-
-  if (mViewer)
-  {
-    delete mViewer;
-  }
-}
-
-void QgsMapToolIdentify::canvasMoveEvent(QMouseEvent * e)
-{
-}
-  
-void QgsMapToolIdentify::canvasPressEvent(QMouseEvent * e)
-{
-}
-
-void QgsMapToolIdentify::canvasReleaseEvent(QMouseEvent * e)
-{
-  QgsMapLayer* layer = mCanvas->currentLayer();
-
-  // call identify method for selected layer
-
-  if (layer)
-  {
-    // In the special case of the WMS provider,
-    // coordinates are sent back to the server as pixel coordinates
-    // not the layer's native CRS.  So identify on screen coordinates!
-    if (
-        (layer->type() == QgsMapLayer::RASTER)
-        &&
-        (dynamic_cast<QgsRasterLayer*>(layer)->providerKey() == "wms")
-       )
-    {
-      identifyRasterWmsLayer(dynamic_cast<QgsRasterLayer*>(layer), QgsPoint(e->x(), e->y()) );
-    }
-    else
-    {
-      // convert screen coordinates to map coordinates
-      QgsPoint idPoint = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
-
-      if (layer->type() == QgsMapLayer::VECTOR)
-      {
-        identifyVectorLayer(dynamic_cast<QgsVectorLayer*>(layer), idPoint);
-      }
-      else if (layer->type() == QgsMapLayer::RASTER)
-      {
-        identifyRasterLayer(dynamic_cast<QgsRasterLayer*>(layer), idPoint);
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "QgsMapToolIdentify::canvasReleaseEvent: unknown layer type!" << std::endl;
-#endif
-      }
-    }
-
-  }
-  else
-  {
-    QMessageBox::warning(mCanvas,
-      QObject::tr("No active layer"),
-      QObject::tr("To identify features, you must choose an layer active by clicking on its name in the legend"));
-  }
-
-  
-}
-
-
-void QgsMapToolIdentify::identifyRasterLayer(QgsRasterLayer* layer, const QgsPoint& point)
-{
-  if (!layer)
-    return;
-  
-  std::map<QString, QString> attributes;
-  layer->identify(point, attributes);
-  
-  if(!mResults)
-  {
-    QgsAttributeAction aa;
-    mResults = new QgsIdentifyResults(aa, mCanvas->window());
-    mResults->setAttribute(Qt::WA_DeleteOnClose);
-    // Be informed when the dialog box is closed so that we can stop using it. 
-    connect(mResults, SIGNAL(accepted()), this, SLOT(resultsDialogGone()));
-    connect(mResults, SIGNAL(rejected()), this, SLOT(resultsDialogGone()));
-    mResults->restorePosition();
-  }
-  else
-  {
-    mResults->clear();
-  }
-
-  mResults->setTitle( layer->name() );
-  mResults->setColumnText ( 0, QObject::tr("Band") );
-
-  std::map<QString, QString>::iterator it;
-  for (it = attributes.begin(); it != attributes.end(); it++)
-  {
-    mResults->addAttribute(it->first, it->second);
-  }
-
-  mResults->showAllAttributes();
-  mResults->show();
-}
-
-
-void QgsMapToolIdentify::identifyRasterWmsLayer(QgsRasterLayer* layer, const QgsPoint& point)
-{
-  if (!layer)
-  {
-    return;
-  }
-
-  //if WMS layer does not cover the view origin,
-  //we need to map the view pixel coordinates
-  //to WMS layer pixel coordinates
-  QgsRect viewExtent = mCanvas->extent();
-  double mupp = mCanvas->mupp();
-  if(mupp == 0)
-    {
-      return;
-    }
-  double xMinView = viewExtent.xMin();
-  double yMaxView = viewExtent.yMax();
-
-  QgsRect layerExtent = layer->extent();
-  double xMinLayer = layerExtent.xMin();
-  double yMaxLayer = layerExtent.yMax();
-
-  double i, j;
-
-  if(xMinView < xMinLayer)
-    {
-      i = (int)(point.x() - (xMinLayer - xMinView) / mupp); 
-    }
-  else
-    {
-      i = point.x();
-    }
-
-  if(yMaxView > yMaxLayer)
-    {
-      j = (int)(point.y() - (yMaxView - yMaxLayer) / mupp);
-    }
-  else
-    {
-      j = point.y();
-    }
-
-  QString text = layer->identifyAsText(QgsPoint(i, j));
-
-  if (text.isEmpty())
-  {
-    showError(layer);
-    return;
-  }
-
-  if (!mViewer)
-  {
-    mViewer = new QgsMessageViewer();
-  }
-
-  mViewer->setCaption( layer->name() );
-  mViewer->setMessageAsPlainText( text );
-
-//  mViewer->exec();
-  mViewer->show();
-}
-
-
-void QgsMapToolIdentify::identifyVectorLayer(QgsVectorLayer* layer, const QgsPoint& point)
-{
-  if (!layer)
-    return;
-  
-  // load identify radius from settings
-  QSettings settings;
-  double identifyValue = settings.value("/Map/identifyRadius", QGis::DEFAULT_IDENTIFY_RADIUS).toDouble();
-
-  // create the search rectangle
-  double searchRadius = mCanvas->extent().width() * (identifyValue/100.0);
-    
-  QgsRect r;
-  r.setXmin(point.x() - searchRadius);
-  r.setXmax(point.x() + searchRadius);
-  r.setYmin(point.y() - searchRadius);
-  r.setYmax(point.y() + searchRadius);
-  
-  if (layer->projectionsEnabled())
-  { 
-    try
-    {
-      r = layer->coordinateTransform()->transform(r, QgsCoordinateTransform::INVERSE);
-    }
-    catch (QgsCsException &e)
-    {
-      qDebug("Inverse transform error in %s line %d:\n%s",
-             __FILE__, __LINE__, e.what());
-    }
-  }
-  
-  int featureCount = 0;
-  QgsFeature *fet;
-  QgsAttributeAction& actions = *layer->actions();
-  QString fieldIndex = layer->displayField();
-  QgsVectorDataProvider* dataProvider = layer->getDataProvider();
-  dataProvider->select(&r, true);
-
-  QgsDistanceArea calc;
-  calc.setSourceSRS(layer->coordinateTransform()->sourceSRS().srsid());
-  
-  if ( !layer->isEditable() )
-  {
-    // display features falling within the search radius
-    if(!mResults)
-    {
-      mResults = new QgsIdentifyResults(actions, mCanvas->window());
-      mResults->setAttribute(Qt::WA_DeleteOnClose);
-      // Be informed when the dialog box is closed so that we can stop using it.
-      connect(mResults, SIGNAL(accepted()), this, SLOT(resultsDialogGone()));
-      connect(mResults, SIGNAL(rejected()), this, SLOT(resultsDialogGone()));
-      // restore the identify window position and show it
-      mResults->restorePosition();
-    }
-    else
-    {
-      mResults->raise();
-      mResults->clear();
-      mResults->setActions(actions);
-    }
-
-    QApplication::setOverrideCursor(Qt::WaitCursor);
-
-    while ((fet = dataProvider->getNextFeature(true)))
-    {
-      featureCount++;
-
-      QTreeWidgetItem* featureNode = mResults->addNode("foo");
-      featureNode->setText(0, fieldIndex);
-      std::vector < QgsFeatureAttribute > attr = fet->attributeMap();
-      // Do this only once rather than each pass through the loop
-      int attrSize = attr.size();
-      for (register int i = 0; i < attrSize; i++)
-      {
-#ifdef QGISDEBUG
-        std::cout << attr[i].fieldName().toLocal8Bit().data() << " == " << fieldIndex.toLocal8Bit().data() << std::endl;
-#endif
-        if (attr[i].fieldName().lower() == fieldIndex)
-        {
-          featureNode->setText(1, attr[i].fieldValue());
-        }
-        mResults->addAttribute(featureNode, attr[i].fieldName(), attr[i].fieldValue());
-      }
-
-      // Calculate derived attributes and insert:
-      // measure distance or area depending on geometry type
-      if (layer->vectorType() == QGis::Line)
-      {
-        double dist = calc.measure(fet->geometry());
-        QString str = QString::number(dist/1000, 'f', 3);
-        str += " km";
-        mResults->addDerivedAttribute(featureNode, QObject::tr("Length"), str);
-      }
-      else if (layer->vectorType() == QGis::Polygon)
-      {
-        double area = calc.measure(fet->geometry());
-        QString str = QString::number(area/1000000, 'f', 3);
-        str += " km^2";
-        mResults->addDerivedAttribute(featureNode, QObject::tr("Area"), str);
-      }
-
-      // Add actions 
-      QgsAttributeAction::aIter iter = actions.begin();
-      for (register int i = 0; iter != actions.end(); ++iter, ++i)
-      {
-        mResults->addAction( featureNode, i, QObject::tr("action"), iter->name() );
-      }
-
-      delete fet;
-    }
-
-#ifdef QGISDEBUG
-    std::cout << "Feature count on identify: " << featureCount << std::endl;
-#endif
-
-    //also test the not commited features //todo: eliminate copy past code
-
-    mResults->setTitle(layer->name() + " - " + QString::number(featureCount) + QObject::tr(" features found"));
-    if (featureCount == 1) 
-    {
-      mResults->showAllAttributes();
-      mResults->setTitle(layer->name() + " - " + QObject::tr(" 1 feature found") );
-    }
-    else if (featureCount == 0)
-    {
-      mResults->setTitle(layer->name() + " - " + QObject::tr("No features found") );
-      mResults->setMessage ( QObject::tr("No features found"), QObject::tr("No features were found in the active layer at the point you clicked") );
-    }
-    else
-    {
-      QString title = layer->name();
-      title += QString( tr("- %1 features found","Identify results window title",featureCount) ).arg(featureCount);
-      mResults->setTitle(title);    
-    }
-    QApplication::restoreOverrideCursor();
-
-    mResults->show();
-  } 
-  else // ( layer->isEditable() )
-  {
-    // Edit attributes 
-    // TODO: what to do if more features were selected? - nearest?
-    changed_attr_map& changedAttributes = layer->changedAttributes();
-    
-    QApplication::setOverrideCursor(Qt::WaitCursor);
-
-    if ( (fet = dataProvider->getNextFeature(true)) )
-    {
-      // these are the values to populate the dialog with
-      std::vector < QgsFeatureAttribute > old;
-
-      // start off with list of committed attribute values
-      old = fet->attributeMap();
-
-      // Test if this feature already changed since the last commit
-
-      changed_attr_map::iterator it = changedAttributes.find(fet->featureId());
-      if ( it != changedAttributes.end() )
-      {
-        // Yes, this feature already has in-memory attribute changes
-
-        // go through and apply the modified-but-not-committed values
-        std::map<QString,QString> oldattr = (*it).second;
-        int index=0;
-        for ( std::vector<QgsFeatureAttribute>::const_iterator
-                oldit  = old.begin();
-                oldit != old.end();
-              ++oldit)
-        {
-          std::map<QString,QString>::iterator ait =
-            oldattr.find( (*oldit).fieldName() );
-          if ( ait != oldattr.end() )
-          {
-            // replace the committed value with the
-            // modified-but-not-committed value
-            old[index] = QgsFeatureAttribute ( (*ait).first, (*ait).second );
-          }
-
-          ++index;
-        }
-      }
-
-      QApplication::restoreOverrideCursor();
-
-      // Show the attribute value editing dialog
-      QgsAttributeDialog ad( &old );
-
-      if (ad.exec() == QDialog::Accepted)
-      {
-
-        int oldSize = old.size();
-
-
-        for (int i = 0; i < oldSize; ++i)
-        {
-          // only apply changed values if they were edited by the user
-          if (ad.isDirty(i))
-          {
-#ifdef QGISDEBUG
-        std::cout << "QgsMapToolIdentify::identifyVectorLayer: found an changed attribute: "
-          << old[i].fieldName().toLocal8Bit().data()
-          << " = "
-          << ad.value(i).toLocal8Bit().data()
-          << "." << std::endl;
-#endif
-            changedAttributes[ fet->featureId() ][ old[i].fieldName() ] = ad.value(i);
-
-            // propagate "dirtyness" to the layer
-            layer->setModified();
-          }
-        }
-
-      }
-    }
-    else
-    {
-      QApplication::restoreOverrideCursor();
-      QMessageBox::information(0, tr("No features found"), 
-			       tr("<p>No features were found within the search radius. "
-				  "Note that it is currently not possible to use the "
-				  "identify tool on unsaved features.</p>"));
-    }
-  }
-  dataProvider->reset();
-}
-
-
-void QgsMapToolIdentify::showError(QgsMapLayer * mapLayer)
-{
-//   QMessageBox::warning(
-//     this,
-//     mapLayer->errorCaptionString(),
-//     tr("Could not draw") + " " + mapLayer->name() + " " + tr("because") + ":\n" +
-//       mapLayer->errorString()
-//   );
-
-  QgsMessageViewer * mv = new QgsMessageViewer();
-  mv->setCaption( mapLayer->errorCaptionString() );
-  mv->setMessageAsPlainText(
-    QObject::tr("Could not identify objects on") + " " + mapLayer->name() + " " + QObject::tr("because") + ":\n" +
-    mapLayer->errorString()
-  );
-  mv->exec();
-  delete mv;
-
-}
-
-void QgsMapToolIdentify::resultsDialogGone()
-{
-  mResults = 0;
-}
-
-void QgsMapToolIdentify::deactivate()
-{
-  if (mResults)
-    mResults->done(0); // close the window
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolidentify.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,103 +0,0 @@
-/***************************************************************************
-    qgsmaptoolidentify.h  -  map tool for identifying features
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSMAPTOOLIDENTIFY_H
-#define QGSMAPTOOLIDENTIFY_H
-
-#include "qgsmaptool.h"
-#include "qgspoint.h"
-
-#include <QObject>
-
-class QgsIdentifyResults;
-class QgsMessageViewer;
-class QgsMapLayer;
-class QgsRasterLayer;
-class QgsVectorLayer;
-
-/**
-  \brief Map tool for identifying features in current layer
-
-  after selecting a point shows dialog with identification results
-  - for raster layers shows value of underlying pixel
-  - for vector layers shows feature attributes within search radius
-    (allows to edit values when vector layer is in editing mode)
-*/
-class QgsMapToolIdentify : public QObject, public QgsMapTool
-{
-  Q_OBJECT;
-
-  public:
-    QgsMapToolIdentify(QgsMapCanvas* canvas);
-
-    ~QgsMapToolIdentify();
-
-    //! Overridden mouse move event
-    virtual void canvasMoveEvent(QMouseEvent * e);
-
-    //! Overridden mouse press event
-    virtual void canvasPressEvent(QMouseEvent * e);
-
-    //! Overridden mouse release event
-    virtual void canvasReleaseEvent(QMouseEvent * e);
-
-    //! called when map tool is being deactivated
-    virtual void deactivate();
-
-  private:
-
-    /**
-     * \brief function for identifying pixel values at a coordinate in a non-OGC-WMS raster layer
-     *
-     * \param point[in]  The coordinate (as the CRS of the raster layer)
-     */
-    void identifyRasterLayer(QgsRasterLayer* layer, const QgsPoint& point);
-
-    /**
-     * \brief function for identifying a pixel in a OGC WMS raster layer
-     *
-     * \param point[in]  The pixel coordinate (as it was displayed locally on screen)
-     *
-     * \note WMS Servers prefer to receive coordinates in image space not CRS space, therefore
-     *       this special variant of identifyRasterLayer.
-     */
-    void identifyRasterWmsLayer(QgsRasterLayer* layer, const QgsPoint& point);
-
-    /**
-     * \brief function for identifying features at a coordinate in a vector layer
-     *
-     * \param point[in]  The coordinate (as the CRS of the vector layer)
-     */
-    void identifyVectorLayer(QgsVectorLayer* layer, const QgsPoint& point);
-
-    //! show whatever error is exposed by the QgsMapLayer.
-    void showError(QgsMapLayer * mapLayer);
-
-
-    //! Pointer to the identify results dialog for name/value pairs
-    QgsIdentifyResults *mResults;
-
-    //! Pointer to the identify results dialog for WMS XML files
-    QgsMessageViewer * mViewer;
-
-private slots:
-    // Let us know when the QgsIdentifyResults dialog box has been closed
-    void resultsDialogGone();
-
-
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolpan.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolpan.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolpan.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -21,7 +21,7 @@
 class QgsMapCanvas;
 
 
-class QgsMapToolPan : public QgsMapTool
+class GUI_EXPORT QgsMapToolPan : public QgsMapTool
 {
   public:
     //! constructor

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,92 +0,0 @@
-/***************************************************************************
-    qgsmaptoolselect.cpp  -  map tool for selecting features
-    ----------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include "qgsmaptoolselect.h"
-#include "qgsmapcanvas.h"
-#include "qgsmaptopixel.h"
-#include "qgsmaplayer.h"
-#include "qgscursors.h"
-#include <QMessageBox>
-#include <QMouseEvent>
-#include <QRubberBand>
-#include <QRect>
-
-
-QgsMapToolSelect::QgsMapToolSelect(QgsMapCanvas* canvas)
-  : QgsMapTool(canvas), mDragging(false)
-{
-  QPixmap mySelectQPixmap = QPixmap((const char **) select_cursor);
-  mCursor = QCursor(mySelectQPixmap, 1, 1);
-}
-
-
-void QgsMapToolSelect::canvasPressEvent(QMouseEvent * e)
-{
-  mSelectRect.setRect(0, 0, 0, 0);
-}
-
-
-void QgsMapToolSelect::canvasMoveEvent(QMouseEvent * e)
-{
-  if ( e->buttons() != Qt::LeftButton )
-    return;
-  
-  if (!mDragging)
-  {
-    mDragging = TRUE;
-    mRubberBand = new QRubberBand(QRubberBand::Rectangle, mCanvas);
-    mSelectRect.setTopLeft(e->pos());
-  }
-  
-  mSelectRect.setBottomRight(e->pos());
-  mRubberBand->setGeometry(mSelectRect.normalized());
-  mRubberBand->show();
-}
-
-
-void QgsMapToolSelect::canvasReleaseEvent(QMouseEvent * e)
-{
-  if (!mDragging)
-    return;
-  
-  mDragging = FALSE;
-  
-  delete mRubberBand;
-  mRubberBand = 0;
-
-  if (!mCanvas->currentLayer())
-  {
-    QMessageBox::warning(mCanvas, QObject::tr("No active layer"),
-       QObject::tr("To select features, you must choose an layer active by clicking on its name in the legend"));
-    return;
-  }
-    
-  // store the rectangle
-  mSelectRect.setRight(e->pos().x());
-  mSelectRect.setBottom(e->pos().y());
-
-  QgsMapToPixel* transform = mCanvas->getCoordinateTransform();
-  QgsPoint ll = transform->toMapCoordinates(mSelectRect.left(), mSelectRect.bottom());
-  QgsPoint ur = transform->toMapCoordinates(mSelectRect.right(), mSelectRect.top());
-
-  QgsRect search(ll.x(), ll.y(), ur.x(), ur.y());
-
-  // if Ctrl key is pressed, selected features will be added to selection
-  // instead of removing old selection
-  bool lock = (e->modifiers() & Qt::ControlModifier);
-  mCanvas->currentLayer()->select(&search, lock);
-
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,55 +0,0 @@
-/***************************************************************************
-    qgsmaptoolselect.h  -  map tool for selecting features
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSMAPTOOLSELECT_H
-#define QGSMAPTOOLSELECT_H
-
-#include "qgsmaptool.h"
-#include <QRect>
-
-
-class QRubberBand;
-class QgsMapCanvas;
-
-
-class QgsMapToolSelect : public QgsMapTool
-{
-  public:
-    QgsMapToolSelect(QgsMapCanvas* canvas);
-
-    //! Overridden mouse move event
-    virtual void canvasMoveEvent(QMouseEvent * e);
-  
-    //! Overridden mouse press event
-    virtual void canvasPressEvent(QMouseEvent * e);
-  
-    //! Overridden mouse release event
-    virtual void canvasReleaseEvent(QMouseEvent * e);    
-      
-    
-  protected:
-    
-    //! stores actual select rect
-    QRect mSelectRect;
-    
-    //! Flag to indicate a map canvas drag operation is taking place
-    bool mDragging;
-    
-    //! rubber band for select rect
-    QRubberBand* mRubberBand;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,517 +0,0 @@
-/***************************************************************************
-    qgsmaptoolvertexedit.cpp  - tool for adding, moving, deleting vertices
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include "qgsmaptoolvertexedit.h"
-#include "qgsmapcanvas.h"
-#include "qgsvertexmarker.h"
-#include "qgsrubberband.h"
-#include "qgsvectorlayer.h"
-#include "qgsvectordataprovider.h"
-#include "qgsmaptopixel.h"
-#include "qgsproject.h"
-#include "qgscursors.h"
-#include <QMessageBox>
-#include <QPixmap>
-#include <QCursor>
-
-
-QgsMapToolVertexEdit::QgsMapToolVertexEdit(QgsMapCanvas* canvas, enum Tool tool)
-  : QgsMapTool(canvas), mTool(tool), mRubberBandIndex1(-1), mRubberBandIndex2(-1), mRubberBand(0)
-{
-  // TODO - select a real cursor
-  QPixmap mySelectQPixmap = QPixmap((const char **) capture_point_cursor);
-  mCursor = QCursor(mySelectQPixmap, 8, 8);
-}
-
-QgsMapToolVertexEdit::~QgsMapToolVertexEdit()
-{
-  delete mRubberBand;
-  mRubberBand = 0;
-}
-
-
-void QgsMapToolVertexEdit::canvasMoveEvent(QMouseEvent * e)
-{
-  if (e->buttons() == Qt::LeftButton && (mTool == AddVertex || mTool == MoveVertex))
-  {
-    //int index = (mStartPointValid ? 1 : 0);
-    int index;
-
-    if(mTool == MoveVertex)
-    {
-      if(mRubberBandIndex1 == -1)
-      {
-        index = 0;
-      }
-      else
-      {
-        index = 1;
-      }
-    }
-    else
-    {
-      index = 1;
-    }
-
-    QgsPoint rbpoint = toMapCoords(e->pos());
-
-    //snap to nearest vertex of vectorlayer
-    if (mTool == AddVertex)
-    {
-      snapVertex(rbpoint, mSnappedAtFeatureId, mSnappedBeforeVertex.back());
-    }
-    else if (mTool == MoveVertex)
-    {
-      snapVertex(rbpoint, mSnappedAtFeatureId, mSnappedAtVertex.back());
-    }
-
-    if (mRubberBand)
-    {
-      mRubberBand->movePoint(index, rbpoint);
-    }
-    else
-    {
-#ifdef QGISDEBUG
-        std::cout << "QgsMapToolVertexEdit::canvasMoveEvent: mRubberBand is empty when it ought not to be!" << std::endl;
-#endif
-    }
-
-  }
-
-}
-
-
-void QgsMapToolVertexEdit::canvasPressEvent(QMouseEvent * e)
-{
-  QgsPoint point = toMapCoords(e->pos());
-  
-  double x1, y1;
-  double x2, y2;
-  QgsGeometryVertexIndex index, rb1Index, rb2Index; //rb1Index/rb2Index is for rubberbanding
-  
-  if (mTool == AddVertex)
-  {
-    // Find the closest line segment to the mouse position
-    // Then set up the rubber band to its endpoints
-
-#ifdef QGISDEBUG
-        std::cout << "QgsMapCanvas::mousePressEvent: QGis::AddVertex." << std::endl;
-#endif
-	
-	//Find nearest segment of the selected line, move that node to the mouse location
-	if (!snapSegmentWithContext(point))
-	  {
-	    QMessageBox::warning(0, QObject::tr("Error"), 
-				 QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"),
-				 QMessageBox::Ok, Qt::NoButton);
-	    return;
-	  }
-	
-	index = mSnappedBeforeVertex;
-	// Get the endpoint of the snapped-to segment
-	mSnappedAtGeometry.vertexAt(x2, y2, index);
-	
-	// Get the startpoint of the snapped-to segment
-	index.decrement_back();
-	mStartPointValid = mSnappedAtGeometry.vertexAt(x1, y1, index);
-	
-	createRubberBand();
-	
-	if (mStartPointValid)
-	  {
-	    mRubberBand->addPoint(QgsPoint(x1,y1));
-	  }
-	mRubberBand->addPoint(toMapCoords(e->pos()));
-	mRubberBand->addPoint(QgsPoint(x2,y2));
-  }
-  else if (mTool == MoveVertex)
-  {
-#ifdef QGISDEBUG
-    std::cout << "QgsMapCanvas::mousePressEvent: QGis::MoveVertex." << std::endl;
-#endif
-
-    // Find the closest line segment to the mouse position
-    // Then find the closest vertex on that line segment
-    // Then set up the rubber band to its adjoining vertexes
-
-    QgsPoint snapPoint;
-
-    snapPoint = point;
-    QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
-    if(!vlayer)
-    {
-	    return;
-    }
-    if(vlayer->vectorType() == QGis::Point)//snap to point for point/multipoint layers
-      {
-	if(!snapVertexWithContext(snapPoint))
-	  {
-	    QMessageBox::warning(0, QObject::tr("Error"), 
-				 QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"),
-				 QMessageBox::Ok, Qt::NoButton);
-	    return;
-	  }
-      }
-    else //snap to segment and take the closest vertex in case of line/multiline/polygon/multipolygon layers
-      {
-	if (!snapSegmentWithContext(snapPoint))
-	  {
-	    QMessageBox::warning(0, QObject::tr("Error"), 
-				 QObject::tr("Could not snap segment. Have you set the tolerance in Settings > Project Properties > General?"),
-				 QMessageBox::Ok, Qt::NoButton);
-	    return;
-	  }
-	
-	snapPoint = point;
-	if (!snapVertexOfSnappedSegment(snapPoint))
-	  {
-	    QMessageBox::warning(0, QObject::tr("Error"), 
-				 QObject::tr("Could not snap vertex. Have you set the tolerance in Settings > Project Properties > General?"),
-				 QMessageBox::Ok, Qt::NoButton);
-	    return;
-	  }
-	
-#ifdef QGISDEBUG
-	qWarning("Creating rubber band for moveVertex");
-#endif
-	
-	index = mSnappedAtVertex;
-	createRubberBand();
-	if(mRubberBandIndex1 != -1)
-	  {
-	    rb1Index.push_back(mRubberBandIndex1);
-	    mSnappedAtGeometry.vertexAt(x1, y1, rb1Index);
-	    mRubberBand->addPoint(QgsPoint(x1,y1));
-	    mStartPointValid = true;
-	  }
-	else
-	  {
-	    mStartPointValid = false;
-	  }
-	if(mRubberBandIndex1 != -1 && mRubberBandIndex2 != -1)
-	  {
-	    mRubberBand->addPoint(toMapCoords(e->pos()));
-	  }
-	if(mRubberBandIndex2 != -1)
-	  {
-	    rb2Index.push_back(mRubberBandIndex2);
-	    mSnappedAtGeometry.vertexAt(x2, y2, rb2Index);
-	    mRubberBand->addPoint(QgsPoint(x2,y2));
-	  }
-#ifdef QGISDEBUG
-    qWarning("Creating rubber band for moveVertex");
-#endif    
-      }
-  }
-  else if (mTool == DeleteVertex)
-  {
-#ifdef QGISDEBUG
-    std::cout << "QgsMapCanvas::mousePressEvent: QGis::DeleteVertex." << std::endl;
-#endif
-
-    // TODO: Find nearest node of the selected line, show a big X symbol
-  
-    // TODO: Find nearest segment of the selected line, move that node to the mouse location
-    if (!snapVertexWithContext(point))
-      {
-	QMessageBox::warning(0, QObject::tr("Error"), 
-          QObject::tr("Could not snap vertex. Have you set the tolerance in Settings > Project Properties > General?"),
-          QMessageBox::Ok, Qt::NoButton);
-	return;
-      }
-      
-    // Get the point of the snapped-to vertex
-    mSnappedAtGeometry.vertexAt(x1, y1, mSnappedAtVertex);
-    
-    mCross = new QgsVertexMarker(mCanvas);
-    mCross->setIconType(QgsVertexMarker::ICON_X);
-    mCross->setCenter(QgsPoint(x1,y1));
-  }
-  
-}
-
-double QgsMapToolVertexEdit::tolerance()
-{
-  // TODO: tolerance should be in screen pixels
-  // here it can be computed for map coordinates depending on zoom
-  return QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
-}
-
-
-bool QgsMapToolVertexEdit::snapSegmentWithContext(QgsPoint& point)
-{
-  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
-          
-  QgsGeometryVertexIndex beforeVertex;
-  int atFeatureId;
-  QgsGeometry atGeometry;
-  
-  if (!vlayer)
-    return FALSE;
-  
-  // TODO: Find nearest segment of the selected line, move that node to the mouse location
-  if (!vlayer->snapSegmentWithContext(point, beforeVertex, atFeatureId, atGeometry, tolerance()))
-  {
-    mSnappedAtFeatureId = -1;
-    return FALSE;
-  }
-  else
-  {
-#ifdef QGISDEBUG
-      std::cout << "QgsMapToolVertexEdit::snapSegmentWithContext: Snapped to segment fid " << atFeatureId << "." << std::endl;
-#endif
-    
-    // Save where we snapped to
-    mSnappedBeforeVertex = beforeVertex;
-    mSnappedAtFeatureId  = atFeatureId;
-    mSnappedAtGeometry   = atGeometry;
-    return TRUE;
-  }
-
-}
-
-
-bool QgsMapToolVertexEdit::snapVertexWithContext(QgsPoint& point)
-{
-  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
-  
-  QgsGeometryVertexIndex atVertex;
-  int atFeatureId;
-  QgsGeometry atGeometry;
-  
-  if (!vlayer)
-    return FALSE;
-  
-  if (!vlayer->snapVertexWithContext(point, atVertex, mRubberBandIndex1, mRubberBandIndex2, atFeatureId, atGeometry, tolerance()))
-  {
-    mSnappedAtFeatureId = -1;
-    return FALSE;
-  }
-  else
-  {
-#ifdef QGISDEBUG
-      std::cout << "QgsMapToolVertexEdit: Snapped to segment fid " << atFeatureId << "." << std::endl;
-#endif
-    
-    // Save where we snapped to
-    mSnappedAtVertex     = atVertex;
-    mSnappedAtFeatureId  = atFeatureId;
-    mSnappedAtGeometry   = atGeometry;
-    return TRUE;
-  }
-}
-
-bool QgsMapToolVertexEdit::snapVertexOfSnappedSegment(QgsPoint& point)
-{
-  double twoBeforeVertexSqrDist;
-  double    beforeVertexSqrDist;
-
-  // Set up the "other side" of the snapped-to segment
-  QgsGeometryVertexIndex snappedTwoBeforeVertex(mSnappedBeforeVertex);
-  snappedTwoBeforeVertex.decrement_back();
-
-#ifdef QGISDEBUG
-  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Choice of "
-            << snappedTwoBeforeVertex.toString().toLocal8Bit().data() << " or " 
-            << mSnappedBeforeVertex.toString().toLocal8Bit().data() << "." << std::endl;
-#endif
-
-
-  twoBeforeVertexSqrDist = mSnappedAtGeometry.sqrDistToVertexAt(point, snappedTwoBeforeVertex);
-  beforeVertexSqrDist    = mSnappedAtGeometry.sqrDistToVertexAt(point, mSnappedBeforeVertex);
-
-#ifdef QGISDEBUG
-  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Choice of "
-            << twoBeforeVertexSqrDist << " or " 
-            << beforeVertexSqrDist << "." << std::endl;
-#endif
-
-
-  // See which of the two verticies is closer (i.e. smaller squared distance)
-  if (twoBeforeVertexSqrDist < beforeVertexSqrDist)
-  {
-    mSnappedAtVertex = snappedTwoBeforeVertex;
-  }
-  else
-  {
-    mSnappedAtVertex = mSnappedBeforeVertex;
-  }
-
-#ifdef QGISDEBUG
-  std::cout << "QgsMapToolVertexEdit::snapVertexOfSnappedSegment: Chose "
-            << mSnappedAtVertex.toString().toLocal8Bit().data() << "." << std::endl;
-#endif
-
-  // Now determine the rubber band verticies to use with this snapped vertex
-  mSnappedAtGeometry.adjacentVerticies(mSnappedAtVertex, mRubberBandIndex1, mRubberBandIndex2);
-
-  return TRUE;
-}
-
-bool QgsMapToolVertexEdit::snapVertex(QgsPoint& point, int exclFeatureId, int exclVertexNr)
-{
-  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
-  if(vlayer)
-    {
-      QgsGeometryVertexIndex vIndex;
-      int snappedFeatureId;
-      int rbPoint1, rbPoint2;
-      QgsGeometry snappedGeometry;
-      //do the snapping to a copy point first
-      QgsPoint cpyPoint = point;
-      vlayer->snapVertexWithContext(cpyPoint, vIndex, rbPoint1, rbPoint2, snappedFeatureId, snappedGeometry, tolerance());
-      if(snappedFeatureId != exclFeatureId || vIndex.back() != exclVertexNr)
-	{
-	  point = cpyPoint;
-	}
-    }
-  // TODO: return type is bool but no logic exists to determine the
-  // appropriate return value. We return true to make it compile on Windows...
-  return true;
-}
-
-
-void QgsMapToolVertexEdit::canvasReleaseEvent(QMouseEvent * e)
-{
-  if (mSnappedAtFeatureId == -1)
-    {
-      return;
-    }
-  
-  QgsVectorLayer* vlayer = dynamic_cast<QgsVectorLayer*>(mCanvas->currentLayer());
-  
-  if (!vlayer)
-  {
-    QMessageBox::information(0, QObject::tr("Not a vector layer"), QObject::tr("The current layer is not a vector layer"), QMessageBox::Ok);
-    return;
-  }
-  
-  if (!(vlayer->getDataProvider()->capabilities() & QgsVectorDataProvider::ChangeGeometries))
-  {
-    QMessageBox::information(0, QObject::tr("Change geometry"),
-                             QObject::tr("Data provider of the current layer doesn't allow changing geometries"),
-                             QMessageBox::Ok);
-    return;
-  }
-  
-  if (!vlayer->isEditable())
-  {
-    QMessageBox::information(0, QObject::tr("Layer not editable"),
-                              QObject::tr("Cannot edit the vector layer. Use 'Start editing' in the legend item menu"),
-                              QMessageBox::Ok);
-    return;
-  }
-  
-  QgsPoint point = toMapCoords(e->pos());
-  
-  if (mTool == AddVertex)
-  {
-
-    //snap to nearest vertex of vectorlayer
-    snapVertex(point, mSnappedAtFeatureId, mSnappedBeforeVertex.back());
-
-#ifdef QGISDEBUG
-    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: AddVertex." << std::endl;
-#endif
-
-    deleteRubberBand();
-
-    // Add the new vertex
-    vlayer->insertVertexBefore(point.x(), point.y(), mSnappedAtFeatureId, mSnappedBeforeVertex);
-    mCanvas->refresh();
-  }
-  else if (mTool == MoveVertex)
-  {
-    //snap to nearest vertex of vectorlayer
-    snapVertex(point, mSnappedAtFeatureId, mSnappedAtVertex.back());
-#ifdef QGISDEBUG
-    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: MoveVertex." << std::endl;
-#endif
-
-    delete mRubberBand;
-    mRubberBand = 0;
-    vlayer->moveVertexAt(point.x(), point.y(), mSnappedAtFeatureId, mSnappedAtVertex);
-    mCanvas->refresh();
-  }
-  else if (mTool == DeleteVertex)
-  {
-#ifdef QGISDEBUG
-    std::cout << "QgsMapToolVertexEdit::canvasReleaseEvent: DeleteVertex." << std::endl;
-#endif
-
-    delete mCross;
-    mCross = 0;
-
-    // delete vertex
-    vlayer->deleteVertexAt(mSnappedAtFeatureId, mSnappedAtVertex);
-    mCanvas->refresh();
-  }
-}
-
-void QgsMapToolVertexEdit::createRubberBand()
-{
-  mRubberBand = new QgsRubberBand(mCanvas, FALSE);
-  QgsProject* project = QgsProject::instance();
-  QColor color( project->readNumEntry("Digitizing", "/LineColorRedPart", 255),
-                project->readNumEntry("Digitizing", "/LineColorGreenPart", 0),
-                project->readNumEntry("Digitizing", "/LineColorBluePart", 0));
-  mRubberBand->setColor(color);
-  mRubberBand->setWidth(project->readNumEntry("Digitizing", "/LineWidth", 1));
-}
-
-void QgsMapToolVertexEdit::deleteRubberBand()
-{
-  if (mRubberBand)
-  {
-    delete mRubberBand;
-    mRubberBand = 0;
-
-    // also remove reference to the indicies to the ends of the rubber band
-    mRubberBandIndex1 = -1;
-    mRubberBandIndex2 = -1;
-  }
-}
-
-void QgsMapToolVertexEdit::deactivate()
-{
-  deleteRubberBand();
-}
-
-QgsPoint QgsMapToolVertexEdit::maybeInversePoint(QgsPoint point, const char whenmsg[])
-{
-  QgsVectorLayer *vlayer = dynamic_cast <QgsVectorLayer*>(mCanvas->currentLayer());
-  QgsPoint transformedPoint;
-
-  if( mCanvas->projectionsEnabled() )
-  {
-    // Do reverse transformation before saving. If possible!
-    try
-    {
-      transformedPoint = vlayer->coordinateTransform()->transform(point, QgsCoordinateTransform::INVERSE);
-    }
-    catch(QgsCsException &cse)
-    {
-      //#ifdef QGISDEBUG
-      std::cout << "Caught transform error when " << whenmsg <<"." 
-          << "Setting untransformed values." << std::endl;
-      //#endif  
-      // Transformation failed,. Bail out with original rectangle.
-      return point;
-    }
-    return transformedPoint;
-  }
-  return point;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolvertexedit.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,124 +0,0 @@
-/***************************************************************************
-    qgsmaptoolvertexedit.h  - tool for adding, moving, deleting vertices
-    ---------------------
-    begin                : January 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSMAPTOOLVERTEXEDIT_H
-#define QGSMAPTOOLVERTEXEDIT_H
-
-#include "qgsmaptool.h"
-#include "qgsgeometry.h"
-
-class QgsRubberBand;
-class QgsVertexMarker;
-
-class QgsMapToolVertexEdit : public QgsMapTool
-{
-  public:
-  
-    enum Tool
-    {
-      AddVertex,
-      MoveVertex,
-      DeleteVertex
-    };
-  
-    //! constructor
-    QgsMapToolVertexEdit(QgsMapCanvas* canvas, enum Tool tool);
-
-    virtual ~QgsMapToolVertexEdit();
-    
-    //! Overridden mouse move event
-    virtual void canvasMoveEvent(QMouseEvent * e);
-  
-    //! Overridden mouse press event
-    virtual void canvasPressEvent(QMouseEvent * e);
-  
-    //! Overridden mouse release event
-    virtual void canvasReleaseEvent(QMouseEvent * e);
-
-    //! called when map tool is being deactivated
-    virtual void deactivate();
-
-  private:
-    
-    //! create instance of rubber band - done when the mouse is pressed down
-    void createRubberBand();
-
-    //! delete instance of rubber band - done when the mouse is released
-    void deleteRubberBand();
-
-    //! returns tolerance in map coordinates
-    double tolerance();
-
-    /** Helper function to inverse project a point if projections
-        are enabled. Failsafe, returns the sent point if anything fails.
-        @whenmsg is a part fo the error message. */
-    QgsPoint maybeInversePoint(QgsPoint point, const char whenmsg[]);
-    
-    //! current vertex edit tool
-    enum Tool mTool;
-    
-    /**Searches the closest point within the project tolerance and setx  mSnappedAtFeatureId and mSnappedAtVertex*/
-    bool snapVertexWithContext(QgsPoint& point);
-
-    /** Searches the closest vertex of "geometry" to the given "point" 
-
-        This is useful when selecting a vertex to move, as the selection process is a two step process:
-
-        1. Select the closest line segment to the mouse pointer
-             (snapSegmentWithContext()).
-        2. Select the closest vertex on (1)
-             (snpVertexOfSnappedSegment()).
-
-        Step 1 is needed to disambiguate between two geometries sharing the same vertex.
-     */
-    bool snapVertexOfSnappedSegment(QgsPoint& point);
-
-    /**Snaps a point (without setting mSnappedAtFeatureId and mSnappedAtVertex). Does not snap to the specified vertex,
-     because during dragging, a vertex should not be snapped to itself*/
-    bool snapVertex(QgsPoint& point, int exclFeatureId, int exclVertexNr);
-
-
-    bool snapSegmentWithContext(QgsPoint& point);
-
-
-    //! The snapped-to segment before this vertex number (identifying the vertex that is being moved)
-    QgsGeometryVertexIndex mSnappedAtVertex;
-
-    /**The index of the first rubber band point (to connect to mSnappedatVertex). -1 if no such point exists*/
-    int mRubberBandIndex1;
-
-    /**The index of the second rubber band point (to connect to mSnappedatVertex). -1 if no such point exists*/
-    int mRubberBandIndex2;
-
-    //! The snapped-to segment before this vertex number (identifying the segment that a new vertex is being added to)
-    QgsGeometryVertexIndex mSnappedBeforeVertex;
-
-    //! The snapped-to feature ID
-    int mSnappedAtFeatureId;
-
-    //! The snapped-to geometry
-    QgsGeometry mSnappedAtGeometry;
-    
-    QgsRubberBand* mRubberBand;
-    
-    bool mStartPointValid;
-    bool mStopPointValid;
-    
-    QgsVertexMarker* mCross;
-
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -37,7 +37,7 @@
 
 void QgsMapToolZoom::canvasMoveEvent(QMouseEvent * e)
 {
-  if (e->state() != Qt::LeftButton)
+  if ( ! (e->buttons() & Qt::LeftButton) )
     return;
 
   if (!mDragging)
@@ -54,12 +54,18 @@
 
 void QgsMapToolZoom::canvasPressEvent(QMouseEvent * e)
 {
+  if (e->button() != Qt::LeftButton)
+    return;
+  
   mZoomRect.setRect(0, 0, 0, 0);
 }
 
 
 void QgsMapToolZoom::canvasReleaseEvent(QMouseEvent * e)
 {
+  if (e->button() != Qt::LeftButton)
+    return;
+  
   if (mDragging)
   {
     mDragging = false;
@@ -83,6 +89,12 @@
     r.setYmax(ur.y());
     r.normalize();
     
+    // prevent zooming to an empty extent
+    if (r.width() == 0 || r.height() == 0)
+    {
+      return;
+    }
+    
     if (mZoomOut)
     {
       QgsPoint cer = r.center();
@@ -91,18 +103,10 @@
       double sf;
       if (mZoomRect.width() > mZoomRect.height())
       {
-	if(r.width() == 0)//prevent nan map extent
-	  {
-	    return;
-	  }
         sf = extent.width() / r.width();
       }
       else
       {
-	if(r.height() == 0)//prevent nan map extent
-	  {
-	    return;
-	  }
         sf = extent.height() / r.height();
       }
       r.expand(sf);

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmaptoolzoom.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -23,7 +23,7 @@
 
 class QRubberBand;
 
-class QgsMapToolZoom : public QgsMapTool
+class GUI_EXPORT QgsMapToolZoom : public QgsMapTool
 {
   public:
     //! constructor

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,111 +0,0 @@
-/***************************************************************************
-                         qgsmarkerdialog.cpp  -  description
-                             -------------------
-    begin                : March 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmarkerdialog.cpp 6816 2007-03-18 11:43:41Z homann $ */
-
-#include "qgsmarkerdialog.h"
-#include "qgsapplication.h"
-
-#include <QDir>
-#include <QFileDialog>
-#include <Q3IconView>
-#include <QPixmap>
-#include <QPainter>
-
-#include "qgsconfig.h"
-#include <qgsmarkercatalogue.h>
-
-QgsMarkerDialog::QgsMarkerDialog(QString startdir): 
-  //paramters removed by Tim during qt4 ui port - FIXME!!!
-  //QgsMarkerDialogBase(0,0,true,Qt::WStyle_StaysOnTop), mCurrentDir(startdir)
-  QgsMarkerDialogBase(), mCurrentDir(startdir)
-{
-  setupUi(this);
-    QObject::connect(mOkButton,SIGNAL(clicked()),this,SLOT(accept()));
-    QObject::connect(mCancelButton,SIGNAL(clicked()),this,SLOT(reject()));
-    QObject::connect(mBrowseDirectoriesButton,SIGNAL(clicked()),this,SLOT(changeDirectory()));
-    QObject::connect(mIconView,SIGNAL(currentChanged(Q3IconViewItem*)),this,SLOT(updateSelectedMarker()));
-    mDirectoryEdit->setText(startdir);
-    visualizeMarkers(startdir);
-}
-
-QgsMarkerDialog::~QgsMarkerDialog()
-{
-
-}
-
-void QgsMarkerDialog::updateSelectedMarker()
-{
-    Q3IconViewItem* current=mIconView->currentItem();
-    if(current)
-    {
-	mSelectedMarker=current->text();
-    }
-    else
-    {
-	mSelectedMarker="";
-    }
-}
-
-QString QgsMarkerDialog::selectedMarker()
-{
-    return mCurrentDir+"/"+mSelectedMarker;
-}
-
-void QgsMarkerDialog::changeDirectory()
-{
-    QString newdir = QFileDialog::getExistingDirectory(
-        this, tr("Choose a directory"), mCurrentDir);
-    if (!newdir.isEmpty())
-    {
-	mCurrentDir=newdir;
-	visualizeMarkers(mCurrentDir);
-	mDirectoryEdit->setText(mCurrentDir);
-    }
-}
-
-void QgsMarkerDialog::visualizeMarkers(QString directory)
-{
-    mIconView->clear();
-
-    QDir dir(directory);
-    QStringList files=dir.entryList("*.svg;*.SVG");
-    
-    for(QStringList::Iterator it = files.begin(); it != files.end(); ++it )
-    {
-	qWarning((*it).toLocal8Bit().data());
-	
-	//render the SVG file to a pixmap and put it into mIconView
-	QPixmap pix (10,10);
-  QPainter myPainter(&pix);
-  QgsMarkerCatalogue::svgMarker(&myPainter,mCurrentDir + "/" + (*it), 1);
-	Q3IconViewItem* ivi=new Q3IconViewItem(mIconView,*it,pix);
-	
-    }
-}
-
-QString QgsMarkerDialog::defaultDir()
-{
-#ifdef WIN32
-	//TODO fix this to use appropriate path on windows 
-	//qgis install
-	QString dir = "Foo";
-#else
-    QString dir = QgsApplication::svgPath(); 
-#endif
-    return dir;
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmarkerdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,53 +0,0 @@
-/***************************************************************************
-                         qgsmarkerdialog.h  -  description
-                             -------------------
-    begin                : March 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmarkerdialog.h 4774 2006-01-29 01:37:36Z g_j_m $ */
-
-
-#ifndef QGSMARKERDIALOG_H
-#define QGSMARKERDIALOG_H
-#include "ui_qgsmarkerdialogbase.h"
-
-/**A class for choosing marker images by clicking icons*/
-class QgsMarkerDialog: public QDialog, private Ui::QgsMarkerDialogBase
-{
-    Q_OBJECT
- public:
-    /**Constructor. If no directory is specified, the home directory is used*/
-    QgsMarkerDialog(QString startdir=QgsMarkerDialog::defaultDir());
-    /**Destructor*/
-    virtual ~QgsMarkerDialog();
-    /**Returns the path of the selected SVG marker*/
-    QString selectedMarker();
-    /**Returns the path to the qgis default directory for svg symbols*/
-    static QString defaultDir();
-    
-    public slots:
-    /**Brings up the file dialog and triggers visualizeMarkers*/
-    void changeDirectory();
-    /**Queries mIconView for selected marker symbols*/
-    void updateSelectedMarker();
-
- protected:
-	/**Current Directory*/
-	QString mCurrentDir;
-	/**File name of the selected marker*/
-	QString mSelectedMarker;
-	/**Renders the SVG pictures of directory to mIconView*/
-	void visualizeMarkers(QString directory);
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmeasure.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmeasure.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmeasure.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,400 +0,0 @@
-/***************************************************************************
-                                 qgsmeasure.h
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Radim Blazek
-        email                : blazek at itc.it 
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsmeasure.cpp 6818 2007-03-18 18:09:15Z homann $ */
-
-#include "qgsmeasure.h"
-
-#include "qgscontexthelp.h"
-#include "qgsdistancearea.h"
-#include "qgsmapcanvas.h"
-#include "qgsmaprender.h"
-#include "qgsmaptopixel.h"
-#include "qgsrubberband.h"
-#include "qgsspatialrefsys.h"
-#include "qgsproject.h"
-
-#include "QMessageBox"
-#include <QSettings>
-#include <QLocale>
-#include <iostream>
-
-
-QgsMeasure::QgsMeasure(bool measureArea, QgsMapCanvas *mc, Qt::WFlags f)
-  : QDialog(mc->topLevelWidget(), f), QgsMapTool(mc)
-{
-    setupUi(this);
-#ifdef Q_WS_MAC
-    // Mac buttons are larger than X11 and require a larger minimum width to be drawn correctly
-    frame4->setMinimumSize(QSize(224, 0));
-#endif
-    connect(mRestartButton, SIGNAL(clicked()), this, SLOT(restart()));
-    connect(mCloseButton, SIGNAL(clicked()), this, SLOT(close()));
-
-    mMeasureArea = measureArea;
-    mMapCanvas = mc;
-    mTotal = 0.;
-
-    mTable->setLeftMargin(0); // hide row labels
-
-    // Set one cell row where to update current distance
-    // If measuring area, the table doesn't get shown
-    mTable->setNumRows(1);
-    mTable->setText(0, 0, QString::number(0, 'f',1));
-
-    //mTable->horizontalHeader()->setLabel( 0, tr("Segments (in meters)") );
-    //mTable->horizontalHeader()->setLabel( 1, tr("Total") );
-    //mTable->horizontalHeader()->setLabel( 2, tr("Azimuth") );
-
-    mTable->setColumnStretchable ( 0, true );
-    //mTable->setColumnStretchable ( 1, true );
-    //mTable->setColumnStretchable ( 2, true );
-
-    updateUi();
-    
-    connect( mMapCanvas, SIGNAL(renderComplete(QPainter*)), this, SLOT(mapCanvasChanged()) );
-    
-    mCalc = new QgsDistanceArea;
-
-    mRubberBand = new QgsRubberBand(mMapCanvas, mMeasureArea);
-
-    mCanvas->setCursor(Qt::CrossCursor);
-
-    mRightMouseClicked = false;
-}
-
-void QgsMeasure::activate()
-{
-  restorePosition();
-  QgsMapTool::activate();
-  mRightMouseClicked = false;
-
-  // ensure that we have correct settings
-  updateProjection();
-
-  // If we suspect that they have data that is projected, yet the
-  // map SRS is set to a geographic one, warn them.
-  if (mCalc->geographic() &&
-      (mMapCanvas->extent().height() > 360 || 
-       mMapCanvas->extent().width() > 720))
-  {
-    QMessageBox::warning(this, tr("Incorrect measure results"),
-        tr("<p>This map is defined with a geographic coordinate system "
-           "(latitude/longitude) "
-           "but the map extents suggest that it is actually a projected "
-           "coordinate system (e.g., Mercator). "
-           "If so, the results from line or area measurements will be "
-           "incorrect.</p>"
-           "<p>To fix this, explicitly set an appropriate map coordinate "
-           "system using the <tt>Settings:Project Properties</tt> menu."));
-    mWrongProjectProjection = true;
-  }
-}
-    
-void QgsMeasure::deactivate()
-{
-  close();
-  QgsMapTool::deactivate();
-}
-
-
-void QgsMeasure::setMeasureArea(bool measureArea)
-{
-  saveWindowLocation();
-  mMeasureArea = measureArea;
-  restart();
-  restorePosition();
-}
-
-
-QgsMeasure::~QgsMeasure()
-{
-  delete mCalc;
-  delete mRubberBand;
-}
-
-void QgsMeasure::restart(void )
-{
-    updateProjection();
-    mPoints.resize(0);
-    // Set one cell row where to update current distance
-    // If measuring area, the table doesn't get shown
-    mTable->setNumRows(1);
-    mTable->setText(0, 0, QString::number(0, 'f',1));
-    mTotal = 0.;
-    
-    updateUi();
-
-    mRubberBand->reset(mMeasureArea);
-
-    mRightMouseClicked = false;
-    mWrongProjectProjection = false;
-}
-
-void QgsMeasure::addPoint(QgsPoint &point)
-{
-#ifdef QGISDEBUG
-    std::cout << "QgsMeasure::addPoint" << point.x() << ", " << point.y() << std::endl;
-#endif
-
-    if (mWrongProjectProjection)
-    {
-      updateProjection();
-      mWrongProjectProjection = false;
-    }
-
-    // don't add points with the same coordinates
-    if (mPoints.size() > 0 && point == mPoints[0])
-      return;
-    
-    QgsPoint pnt(point);
-    mPoints.push_back(pnt);
-    
-    if (mMeasureArea && mPoints.size() > 2)
-    {
-      double area = mCalc->measurePolygon(mPoints);
-      editTotal->setText(formatArea(area));
-    }
-    else if (!mMeasureArea && mPoints.size() > 1)
-    {
-      int last = mPoints.size()-2;
-        
-      QgsPoint p1 = mPoints[last], p2 = mPoints[last+1];
-      
-      double d = mCalc->measureLine(p1,p2);
-            
-      mTotal += d;
-      editTotal->setText(formatDistance(mTotal));
-	
-
-      int row = mPoints.size()-2;
-      mTable->setText(row, 0, QLocale::system().toString(d, 'f', 2));
-      mTable->setNumRows ( mPoints.size() );
-      
-      mTable->setText(row + 1, 0, QLocale::system().toString(0.0, 'f', 2));
-      mTable->ensureCellVisible(row + 1,0);
-    }
-
-    mRubberBand->addPoint(point);
-}
-
-void QgsMeasure::mousePress(QgsPoint &point)
-{
-  if (mPoints.size() == 0)
-  {
-    addPoint(point);
-    this->show();
-  }
-  raise();
-
-  mouseMove(point);
-}
-
-void QgsMeasure::mouseMove(QgsPoint &point)
-{
-#ifdef QGISDEBUG
-    //std::cout << "QgsMeasure::mouseMove" << point.x() << ", " << point.y() << std::endl;
-#endif
-
-  mRubberBand->movePoint(point);
-  
-  // show current distance/area while moving the point
-  // by creating a temporary copy of point array
-  // and adding moving point at the end
-  std::vector<QgsPoint> tmpPoints = mPoints;
-  tmpPoints.push_back(point);
-  if (mMeasureArea && tmpPoints.size() > 2)
-  {
-    double area = mCalc->measurePolygon(tmpPoints);
-    editTotal->setText(formatArea(area));
-  }
-  else if (!mMeasureArea && tmpPoints.size() > 1)
-  {
-    int last = tmpPoints.size()-2;
-    QgsPoint p1 = tmpPoints[last], p2 = tmpPoints[last+1];
-
-    double d = mCalc->measureLine(p1,p2);
-    //mTable->setText(last, 0, QString::number(d, 'f',1));
-    mTable->setText(last, 0, QLocale::system().toString(d, 'f', 2));
-    editTotal->setText(formatDistance(mTotal + d));
-  }
-}
-
-void QgsMeasure::mapCanvasChanged()
-{
-}
-
-void QgsMeasure::close(void)
-{
-    restart();
-    saveWindowLocation();
-    hide();
-}
-
-void QgsMeasure::closeEvent(QCloseEvent *e)
-{
-    saveWindowLocation();
-    e->accept();
-}
-
-void QgsMeasure::restorePosition()
-{
-  QSettings settings;
-  int ww = settings.readNumEntry("/Windows/Measure/w", 150);
-  int wh;
-  if (mMeasureArea)
-    wh = settings.readNumEntry("/Windows/Measure/hNoTable", 70);
-  else
-    wh = settings.readNumEntry("/Windows/Measure/h", 200);    
-  int wx = settings.readNumEntry("/Windows/Measure/x", 100);
-  int wy = settings.readNumEntry("/Windows/Measure/y", 100);
-//  setUpdatesEnabled(false);
-  adjustSize();
-  resize(ww,wh);
-  move(wx,wy);
-//  setUpdatesEnabled(true);
-  this->show();
-}
-
-void QgsMeasure::saveWindowLocation()
-{
-  QSettings settings;
-  QPoint p = this->pos();
-  QSize s = this->size();
-  settings.writeEntry("/Windows/Measure/x", p.x());
-  settings.writeEntry("/Windows/Measure/y", p.y());
-  settings.writeEntry("/Windows/Measure/w", s.width());
-  if (mMeasureArea)
-    settings.writeEntry("/Windows/Measure/hNoTable", s.height());
-  else
-    settings.writeEntry("/Windows/Measure/h", s.height());
-} 
-
-void QgsMeasure::on_btnHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}
-
-
-QString QgsMeasure::formatDistance(double distance)
-{
-  QString txt;
-  QString unitLabel;
-
-  QGis::units myMapUnits = mCanvas->mapUnits();
-  return QgsDistanceArea::textUnit(distance, 2, myMapUnits, false);
-}
-
-QString QgsMeasure::formatArea(double area)
-{
-  QGis::units myMapUnits = mCanvas->mapUnits();
-  return QgsDistanceArea::textUnit(area, 2, myMapUnits, true);
-}
-
-void QgsMeasure::updateUi()
-{
-  
-  QGis::units myMapUnits = mCanvas->mapUnits();
-  switch (myMapUnits)
-  {
-    case QGis::METERS: 
-      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in meters)") );
-      break;
-    case QGis::FEET:
-      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in feet)") );
-      break;
-    case QGis::DEGREES:
-      mTable->horizontalHeader()->setLabel( 0, tr("Segments (in degrees)") );
-      break;
-    case QGis::UNKNOWN:
-      mTable->horizontalHeader()->setLabel( 0, tr("Segments") );
-  };
-
-  if (mMeasureArea)
-  {
-    mTable->hide();
-    editTotal->setText(formatArea(0));
-  }
-  else
-  {
-    mTable->show();
-    editTotal->setText(formatDistance(0));
-  }
-  
-}
-
-void QgsMeasure::updateProjection()
-{
-  // set ellipsoid
-  QSettings settings;
-  QString ellipsoid = settings.readEntry("/qgis/measure/ellipsoid", "WGS84");
-  mCalc->setEllipsoid(ellipsoid);
-
-  // set source SRS and projections enabled flag
-  mCalc->setProjectionsEnabled(QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0));
-  int srsid = QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
- 	
-  mCalc->setSourceSRS(srsid);
-  
-  int myRed = settings.value("/qgis/default_measure_color_red", 180).toInt();
-  int myGreen = settings.value("/qgis/default_measure_color_green", 180).toInt();
-  int myBlue = settings.value("/qgis/default_measure_color_blue", 180).toInt();
-  mRubberBand->setColor(QColor(myRed, myGreen, myBlue));
-
-}
-
-//////////////////////////
-
-void QgsMeasure::canvasPressEvent(QMouseEvent * e)
-{
-  if (e->button() == Qt::LeftButton)
-  {
-    if (mRightMouseClicked)
-      restart();
-
-    QgsPoint  idPoint = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
-    mousePress(idPoint);
-  }
-}
-
-
-void QgsMeasure::canvasMoveEvent(QMouseEvent * e)
-{
-  if (!mRightMouseClicked)
-    {
-      QgsPoint point = mCanvas->getCoordinateTransform()->toMapCoordinates(e->pos().x(), e->pos().y());
-      mouseMove(point);
-    }
-}
-
-
-void QgsMeasure::canvasReleaseEvent(QMouseEvent * e)
-{
-  QgsPoint point = mCanvas->getCoordinateTransform()->toMapCoordinates(e->x(), e->y());
-
-  if(e->button() == Qt::RightButton && (e->state() & Qt::LeftButton) == 0) // restart
-  {
-    if (mRightMouseClicked)
-      restart();
-    else
-      mRightMouseClicked = true;
-  } 
-  else if (e->button() == Qt::LeftButton)
-  {
-    addPoint(point);
-    show();
-  }
-
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsmeasure.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmeasure.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmeasure.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,137 +0,0 @@
-/***************************************************************************
-                                qgsmeasure.h 
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Radim Blazek
-        email                : blazek at itc.it 
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSMEASURE_H
-#define QGSMEASURE_H
-
-#include "ui_qgsmeasurebase.h"
-#include <QWidget>
-#include "qgsmaptool.h"
-#include "qgspoint.h"
-#include <vector>
-
-class QgsDistanceArea;
-class QgsMapCanvas;
-class QgsRubberBand;
-
-class QCloseEvent;
-
-
-class QgsMeasure:public QDialog, public QgsMapTool, private Ui::QgsMeasureBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor
-  QgsMeasure(bool measureArea, QgsMapCanvas *mc, Qt::WFlags f = 0);
-
-  ~QgsMeasure();
-
-  //! Save position
-  void saveWindowLocation(void);
-
-  //! Restore last window position/size and show the window
-  void restorePosition(void);
-
-  //! Add new point
-  void addPoint(QgsPoint &point);
-  
-  //! Mose move
-  void mouseMove(QgsPoint &point);
-  
-  //! Mouse press
-  void mousePress(QgsPoint &point);
-  
-  //! returns whether measuring distance or area
-  bool measureArea() { return mMeasureArea; }
-  //! sets whether we're measuring area (and restarts)
-  void setMeasureArea(bool measureArea);
-
-public:
-  
-  // Inherited from QgsMapTool
-  
-  //! Mouse move event for overriding
-  virtual void canvasMoveEvent(QMouseEvent * e);
-
-  //! Mouse press event for overriding
-  virtual void canvasPressEvent(QMouseEvent * e);
-
-  //! Mouse release event for overriding
-  virtual void canvasReleaseEvent(QMouseEvent * e);
-
-  //! called when set as currently active map tool
-  virtual void activate();
-    
-  //! called when map tool is being deactivated
-  virtual void deactivate();
-  
-public slots:
-  //! Close
-  void close ( void);
-
-  //! Reset and start new
-  void restart ( void);
-
-  //! Close event
-  void closeEvent(QCloseEvent *e);
-
-  //! Redraw lines to match current state of canvas
-  void mapCanvasChanged(); 
-
-  //! Show the help for the dialog 
-  void on_btnHelp_clicked();
-  
-private:
-  
-  //! formats distance to most appropriate units
-  QString formatDistance(double distance);
-  
-  //! formats area to most appropriate units
-  QString formatArea(double area);
-  
-  //! shows/hides table, shows correct units
-  void updateUi();
-  
-  //! updates the projections we're using 
-  void updateProjection();
-
-  QgsMapCanvas *mMapCanvas;
-  
-  //! distance/area calculator
-  QgsDistanceArea* mCalc;
-  
-  std::vector<QgsPoint> mPoints;
-
-  double mTotal;
-
-  //! Rubberband widget tracking the lines being drawn
-  QgsRubberBand *mRubberBand;
-
-  //! Help context id
-  static const int context_id = 687883780;
-  
-  //! indicates whether we're measuring distances or areas
-  bool mMeasureArea;
-
-  //! indicates whether we've just done a right mouse click
-  bool mRightMouseClicked;
-
-  //! indicates whether we've recently warned the user about having the wrong 
-  // project projection
-  bool mWrongProjectProjection;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -23,6 +23,8 @@
 : QDialog(parent, fl)
 {
   setupUi(this);
+  setAttribute(Qt::WA_DeleteOnClose);
+  
   // Default state for the checkbox
   setCheckBoxVisible(false);
   setCheckBoxState(Qt::Unchecked);
@@ -47,6 +49,28 @@
   txtMessage->append(msg);
 }
 
+
+void QgsMessageViewer::setMessage(const QString& message, MessageType msgType)
+{
+  if (msgType == MessageHtml)
+    setMessageAsHtml(message);
+  else
+    setMessageAsPlainText(message);
+}
+
+void QgsMessageViewer::showMessage(bool blocking)
+{
+  if (blocking)
+    exec();
+  else
+    show();
+}
+
+void QgsMessageViewer::setTitle(const QString& title)
+{
+  setCaption(title);
+}
+
 void QgsMessageViewer::setCheckBoxText(const QString& text)
 {
   checkBox->setText(text);

Modified: packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsmessageviewer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -20,12 +20,22 @@
 
 #include <ui_qgsmessageviewer.h>
 #include <qgisgui.h>
+#include "qgsmessageoutput.h"
 
-class QgsMessageViewer: public QDialog, private Ui::QgsMessageViewer
+class GUI_EXPORT QgsMessageViewer: public QDialog, public QgsMessageOutput, private Ui::QgsMessageViewer
 {
   public:
     QgsMessageViewer(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
     ~QgsMessageViewer();
+    
+    virtual void setMessage(const QString& message, MessageType msgType);
+    
+    virtual void appendMessage(const QString& message);
+    
+    virtual void showMessage(bool blocking = true);
+
+    virtual void setTitle(const QString& title);
+
     // Call one of the setMessage...() functions first.
     // Subsequent calls to appendMessage use the format as determined
     // by the call to setMessage...()
@@ -34,7 +44,6 @@
     void setMessageAsHtml(const QString& msg);
     // Treats the given text as plain text
     void setMessageAsPlainText(const QString& msg);
-    void appendMessage(const QString& msg);
     // A checkbox that can be used for something like 
     // "don't show this message again"
     void setCheckBoxText(const QString& text);

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,171 +0,0 @@
-/***************************************************************************
-                    qgsnewconnection.cpp  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsnewconnection.cpp 6789 2007-03-10 19:22:42Z g_j_m $ */
-#include <iostream>
-
-#include <QSettings>
-#include <QMessageBox>
-
-#include "qgsnewconnection.h"
-#include "qgscontexthelp.h"
-extern "C"
-{
-#include <libpq-fe.h>
-}
-QgsNewConnection::QgsNewConnection(QWidget *parent, const QString& connName, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-  setupUi(this);
-  if (!connName.isEmpty())
-    {
-      // populate the dialog with the information stored for the connection
-      // populate the fields with the stored setting parameters
-      QSettings settings;
-
-      QString key = "/PostgreSQL/connections/" + connName;
-      txtHost->setText(settings.readEntry(key + "/host"));
-      txtDatabase->setText(settings.readEntry(key + "/database"));
-      QString port = settings.readEntry(key + "/port");
-      if(port.length() ==0){
-      	port = "5432";
-      }
-      txtPort->setText(port);
-      txtUsername->setText(settings.readEntry(key + "/username"));
-      Qt::CheckState s = Qt::Checked;
-      if ( ! settings.readBoolEntry(key + "/publicOnly", false))
-	s = Qt::Unchecked;
-      cb_publicSchemaOnly->setCheckState(s);
-      s = Qt::Checked;
-      if ( ! settings.readBoolEntry(key + "/geometrycolumnsOnly", false))
-	s = Qt::Unchecked;
-      cb_geometryColumnsOnly->setCheckState(s);
-      // Ensure that cb_plublicSchemaOnly is set correctly
-      on_cb_geometryColumnsOnly_clicked();
-
-      if (settings.readEntry(key + "/save") == "true")
-        {
-          txtPassword->setText(settings.readEntry(key + "/password"));
-          chkStorePassword->setChecked(true);
-        }
-      txtName->setText(connName);
-    }
-}
-/** Autoconnected SLOTS **/
-void QgsNewConnection::on_btnOk_clicked()
-{
-  saveConnection();
-}
-void QgsNewConnection::on_btnHelp_clicked()
-{
- helpInfo();
-}
-void QgsNewConnection::on_btnConnect_clicked()
-{
-  testConnection();
-}
-void QgsNewConnection::on_btnCancel_clicked(){
-  // cancel the dialog
-  reject();
-}
-void QgsNewConnection::on_cb_geometryColumnsOnly_clicked()
-{
-  if (cb_geometryColumnsOnly->checkState() == Qt::Checked)
-    cb_publicSchemaOnly->setEnabled(false);
-  else
-    cb_publicSchemaOnly->setEnabled(true);
-}
-
-/** end  Autoconnected SLOTS **/
-
-QgsNewConnection::~QgsNewConnection()
-{
-}
-void QgsNewConnection::testConnection()
-{
-  // following line uses Qt SQL plugin - currently not used
-  // QSqlDatabase *testCon = QSqlDatabase::addDatabase("QPSQL7","testconnection");
-
-  // Need to escape the password to allow for single quotes and backslashes
-  QString password = txtPassword->text();
-  password.replace('\\', "\\\\");
-  password.replace('\'', "\\'");
-
-  QString connInfo =
-    "host=" + txtHost->text() + 
-    " dbname=" + txtDatabase->text() + 
-    " port=" + txtPort->text() +
-    " user=" + txtUsername->text() + 
-    " password='" + password + "'";
-  PGconn *pd = PQconnectdb(connInfo.toLocal8Bit().data());
-//  std::cout << pd->ErrorMessage();
-  if (PQstatus(pd) == CONNECTION_OK)
-    {
-      // Database successfully opened; we can now issue SQL commands.
-      QMessageBox::information(this, tr("Test connection"), tr("Connection to %1 was successful").arg(txtDatabase->text()));
-  } else
-    {
-      QMessageBox::information(this, tr("Test connection"), tr("Connection failed - Check settings and try again.\n\nExtended error information:\n") + QString(PQerrorMessage(pd)) );
-    }
-  // free pg connection resources
-  PQfinish(pd);
-
-
-}
-
-void QgsNewConnection::saveConnection()
-{
-  QSettings settings; 
-  QString baseKey = "/PostgreSQL/connections/";
-  settings.writeEntry(baseKey + "selected", txtName->text());
-  baseKey += txtName->text();
-  settings.writeEntry(baseKey + "/host", txtHost->text());
-  settings.writeEntry(baseKey + "/database", txtDatabase->text());
-  settings.writeEntry(baseKey + "/port", txtPort->text());
-  settings.writeEntry(baseKey + "/username", txtUsername->text());
-  settings.writeEntry(baseKey + "/password", txtPassword->text());
-  settings.writeEntry(baseKey + "/publicOnly", cb_publicSchemaOnly->isChecked());
-  settings.writeEntry(baseKey + "/geometryColumnsOnly", cb_geometryColumnsOnly->isChecked());
-  if (chkStorePassword->isChecked())
-    {
-      settings.writeEntry(baseKey + "/save", "true");
-  } else
-    {
-      settings.writeEntry(baseKey + "/save", "false");
-    }
-  accept();
-}
-void QgsNewConnection::helpInfo()
-{
-  QgsContextHelp::run(context_id);
-}
-/* void QgsNewConnection::saveConnection()
-{
-	QSettings settings;
-	QString baseKey = "/PostgreSQL/connections/";
-	baseKey += txtName->text();
-	settings.writeEntry(baseKey + "/host", txtHost->text());
-	settings.writeEntry(baseKey + "/database", txtDatabase->text());
-
-	settings.writeEntry(baseKey + "/username", txtUsername->text());
-	if (chkStorePassword->isChecked()) {
-		settings.writeEntry(baseKey + "/password", txtPassword->text());
-	} else{
-        settings.writeEntry(baseKey + "/password", "");
-    }
-
-  accept();
-} */

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsnewconnection.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,50 +0,0 @@
-/***************************************************************************
-                          qgsnewconnection.h  -  description
-                             -------------------
-    begin                : Sat Jun 22 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsnewconnection.h 6090 2006-11-16 02:27:32Z gsherman $ */
-#ifndef QGSNEWCONNECTION_H
-#define QGSNEWCONNECTION_H
-#include "ui_qgsnewconnectionbase.h"
-#include "qgisgui.h"
-/*! \class QgsNewConnection
- * \brief Dialog to allow the user to configure and save connection
- * information for a PostgresQl database
- */
-class QgsNewConnection : public QDialog, private Ui::QgsNewConnectionBase 
-{
-  Q_OBJECT
-  public:
-    //! Constructor
-    QgsNewConnection(QWidget *parent = 0, const QString& connName = QString::null, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsNewConnection();
-    //! Tests the connection using the parameters supplied
-    void testConnection();
-    //! Saves the connection to ~/.qt/qgisrc
-    void saveConnection();
-    //! Display the context help
-    void helpInfo();
-  public slots:
-    void on_btnOk_clicked();
-    void on_btnCancel_clicked();
-    void on_btnHelp_clicked();
-    void on_btnConnect_clicked();
-    void on_cb_geometryColumnsOnly_clicked();
-  private:
-    static const int context_id = 929865718;
-};
-
-#endif //  QGSNEWCONNECTIONBASE_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,73 +0,0 @@
-/***************************************************************************
-    qgsnewhttpconnection.cpp -  selector for a new HTTP server for WMS, etc.
-                             -------------------
-    begin                : 3 April 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsnewhttpconnection.cpp 5740 2006-08-28 14:48:57Z mhugent $ */
-#include "qgsnewhttpconnection.h"
-#include "qgscontexthelp.h"
-#include <QSettings>
-
-QgsNewHttpConnection::QgsNewHttpConnection(QWidget *parent, const QString& baseKey, const QString& connName, Qt::WFlags fl): QDialog(parent, fl), mBaseKey(baseKey)
-{
-  setupUi(this);
-  connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
-  connect(btnOk, SIGNAL(clicked()), this, SLOT(saveConnection()));
-
-  if (!connName.isEmpty())
-    {
-      // populate the dialog with the information stored for the connection
-      // populate the fields with the stored setting parameters
-      
-      QSettings settings;
-
-      QString key = mBaseKey + connName;
-      txtName->setText     (connName);
-      txtUrl->setText      (settings.readEntry(key + "/url"));
-      txtProxyHost->setText(settings.readEntry(key + "/proxyhost"));
-      txtProxyPort->setText(settings.readEntry(key + "/proxyport"));
-      txtProxyUser->setText(settings.readEntry(key + "/proxyuser"));
-      txtProxyPass->setText(settings.readEntry(key + "/proxypassword"));
-    }
-}
-
-QgsNewHttpConnection::~QgsNewHttpConnection()
-{
-}
-
-void QgsNewHttpConnection::testConnection()
-{
-  // following line uses Qt SQL plugin - currently not used
-  // QSqlDatabase *testCon = QSqlDatabase::addDatabase("QPSQL7","testconnection");
-
-
-}
-
-void QgsNewHttpConnection::saveConnection()
-{
-  QSettings settings; 
-  QString key = mBaseKey + txtName->text();
-  settings.writeEntry(key + "/url", txtUrl->text().trimmed());
-  settings.writeEntry(key + "/proxyhost", txtProxyHost->text().trimmed());
-  settings.writeEntry(key + "/proxyport", txtProxyPort->text().trimmed());
-  settings.writeEntry(key + "/proxyuser", txtProxyUser->text().trimmed());
-  settings.writeEntry(key + "/proxypassword", txtProxyPass->text().trimmed());
-  
-  accept();
-}
-
-void QgsNewHttpConnection::on_btnHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsnewhttpconnection.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,46 +0,0 @@
-/***************************************************************************
-    qgsnewhttpconnection.cpp -  selector for a new HTTP server for WMS, etc.
-                             -------------------
-    begin                : 3 April 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsnewhttpconnection.h 5740 2006-08-28 14:48:57Z mhugent $ */
-#ifndef QGSNEWHTTPCONNECTION_H
-#define QGSNEWHTTPCONNECTION_H
-#include "ui_qgsnewhttpconnectionbase.h"
-#include "qgisgui.h"
-/*! 
- * \brief Dialog to allow the user to configure and save connection
- * information for an HTTP Server for WMS, etc.
- */
-class QgsNewHttpConnection : public QDialog, private Ui::QgsNewHttpConnectionBase 
-{
-  Q_OBJECT
- public:
-    //! Constructor
-    QgsNewHttpConnection(QWidget *parent = 0, const QString& baseKey = "/Qgis/connections-wms/", const QString& connName = QString::null, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsNewHttpConnection();
-    //! Tests the connection using the parameters supplied
-    void testConnection();
- public slots:
-    //! Saves the connection to ~/.qt/qgisrc
-    void saveConnection();
-    //! Show context help
-    void on_btnHelp_clicked();
- private:
-    QString mBaseKey;
-    static const int context_id = 308026563;
-};
-
-#endif //  QGSNEWHTTPCONNECTION_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsoptions.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsoptions.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsoptions.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,405 +0,0 @@
-/***************************************************************************
-                          qgsoptions.cpp
-                    Set user options and preferences
-                             -------------------
-    begin                : May 28, 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsoptions.cpp 6827 2007-03-23 19:02:37Z homann $ */
-#include "qgsapplication.h"
-#include "qgsoptions.h"
-#include "qgis.h"
-#include "qgisapp.h"
-#include "qgslayerprojectionselector.h"
-#include "qgsspatialrefsys.h"
-
-#include <QFileDialog>
-#include <QSettings>
-#include <QColorDialog>
-
-#include <cassert>
-#include <iostream>
-#include <sqlite3.h>
-
-
-/**
- * \class QgsOptions - Set user options and preferences
- * Constructor
- */
-QgsOptions::QgsOptions(QWidget *parent, Qt::WFlags fl) :
-  QDialog(parent, fl)
-{
-  setupUi(this);
-  connect(cmbTheme, SIGNAL(activated(const QString&)), this, SLOT(themeChanged(const QString&)));
-  connect(cmbTheme, SIGNAL(highlighted(const QString&)), this, SLOT(themeChanged(const QString&)));
-  connect(cmbTheme, SIGNAL(textChanged(const QString&)), this, SLOT(themeChanged(const QString&)));
-  connect(buttonOk, SIGNAL(clicked()), this, SLOT(saveOptions()));
-  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
-
-  qparent = parent;
-  // read the current browser and set it
-  QSettings settings;
-  QString browser = settings.readEntry("/qgis/browser");
-  cmbBrowser->setCurrentText(browser);
-#ifdef QGISDEBUG
-  std::cout << "Standard Identify radius setting: " << QGis::DEFAULT_IDENTIFY_RADIUS << std::endl;
-#endif
-  double identifyValue = settings.value("/Map/identifyRadius",QGis::DEFAULT_IDENTIFY_RADIUS).toDouble();
-#ifdef QGISDEBUG
-  std::cout << "Standard Identify radius setting read from settings file: " << identifyValue << std::endl;
-#endif
-  spinBoxIdentifyValue->setValue(identifyValue);
-
-  // set the current theme
-  cmbTheme->setCurrentText(settings.readEntry("/Themes"));
-  // set the display update threshold
-  spinBoxUpdateThreshold->setValue(settings.readNumEntry("/Map/updateThreshold"));
-  //set the default projection behaviour radio buttongs
-  if (settings.readEntry("/Projections/defaultBehaviour")=="prompt")
-  {
-    radPromptForProjection->setChecked(true);
-  }
-  else if (settings.readEntry("/Projections/defaultBehaviour")=="useProject")
-  {
-    radUseProjectProjection->setChecked(true);
-  }
-  else //useGlobal
-  {
-    radUseGlobalProjection->setChecked(true);
-  }
-  mGlobalSRSID = settings.readNumEntry("/Projections/defaultProjectionSRSID",GEOSRS_ID);
-  //! @todo changes this control name in gui to txtGlobalProjString
-  QString myProjString = QgsSpatialRefSys::getProj4FromSrsId(mGlobalSRSID);
-  txtGlobalWKT->setText(myProjString);
-
-  // populate combo box with ellipsoids
-  getEllipsoidList();
-  QString myEllipsoidId = settings.readEntry("/qgis/measure/ellipsoid", "WGS84");
-  cmbEllipsoid->setCurrentText(getEllipsoidName(myEllipsoidId));
-  // add the themes to the combo box on the option dialog
-  QDir myThemeDir( QgsApplication::pkgDataPath()+"/themes/" );
-  myThemeDir.setFilter(QDir::Dirs);
-  QStringList myDirList = myThemeDir.entryList("*");
-  cmbTheme->clear();
-  for(int i=0; i < myDirList.count(); i++)
-  {
-    if(myDirList[i] != "." && myDirList[i] != "..")
-    {
-      cmbTheme->insertItem(myDirList[i]);
-    }
-  }
-
-  // set the theme combo
-  cmbTheme->setCurrentText(settings.readEntry("/Themes","default"));
-
-  //set the state of the checkboxes
-  chkAntiAliasing->setChecked(settings.value("/qgis/enable_anti_aliasing",false).toBool());
-
-  // Slightly awkard here at the settings value is true to use QImage,
-  // but the checkbox is true to use QPixmap
-  chkUseQPixmap->setChecked(!(settings.value("/qgis/use_qimage_to_render", true).toBool()));
-  chkAddedVisibility->setChecked(settings.value("/qgis/new_layers_visible",true).toBool());
-  cbxHideSplash->setChecked(settings.value("/qgis/hideSplash",false).toBool());
-
-  //set the colour for selections
-  int myRed = settings.value("/qgis/default_selection_color_red",255).toInt();
-  int myGreen = settings.value("/qgis/default_selection_color_green",255).toInt();
-  int myBlue = settings.value("/qgis/default_selection_color_blue",0).toInt();
-  pbnSelectionColour->setColor( QColor(myRed,myGreen,myBlue) );
-
-  //set the default color for canvas background
-  myRed = settings.value("/qgis/default_canvas_color_red",255).toInt();
-  myGreen = settings.value("/qgis/default_canvas_color_green",255).toInt();
-  myBlue = settings.value("/qgis/default_canvas_color_blue",255).toInt();
-  pbnCanvasColor->setColor( QColor(myRed,myGreen,myBlue) );
-
-  capitaliseCheckBox->setChecked(settings.value("qgis/capitaliseLayerName", QVariant(false)).toBool());
-  
-  cmbWheelAction->setCurrentIndex(settings.value("/qgis/wheel_action", 0).toInt());
-  spinZoomFactor->setValue(settings.value("/qgis/zoom_factor", 2).toDouble());
-
-  cbxSplitterRedraw->setChecked(settings.value("/qgis/splitterRedraw", QVariant(true)).toBool());
-}
-
-//! Destructor
-QgsOptions::~QgsOptions(){}
-
-void QgsOptions::on_pbnSelectionColour_clicked()
-{
-  QColor color = QColorDialog::getColor(pbnSelectionColour->color(), this);
-  if (color.isValid())
-  {
-    pbnSelectionColour->setColor(color);
-  }
-}
-
-void QgsOptions::on_pbnCanvasColor_clicked()
-{
-  QColor color = QColorDialog::getColor(pbnCanvasColor->color(), this);
-  if (color.isValid())
-  {
-    pbnCanvasColor->setColor(color);
-  }
-}
-void QgsOptions::themeChanged(const QString &newThemeName)
-{
-  // Slot to change the theme as user scrolls through the choices
-  QString newt = newThemeName;
-  ((QgisApp*)qparent)->setTheme(newt);
-}
-QString QgsOptions::theme()
-{
-  // returns the current theme (as selected in the cmbTheme combo box)
-  return cmbTheme->currentText();
-}
-
-void QgsOptions::saveOptions()
-{
-  QSettings settings;
-  settings.writeEntry("/qgis/browser", cmbBrowser->currentText());
-  settings.writeEntry("/Map/identifyRadius", spinBoxIdentifyValue->value());
-  settings.writeEntry("/qgis/hideSplash",cbxHideSplash->isChecked());
-  settings.writeEntry("/qgis/new_layers_visible",chkAddedVisibility->isChecked());
-  settings.writeEntry("/qgis/enable_anti_aliasing",chkAntiAliasing->isChecked());
-  settings.writeEntry("/qgis/use_qimage_to_render", !(chkUseQPixmap->isChecked()));
-  settings.setValue("qgis/capitaliseLayerName", capitaliseCheckBox->isChecked());
-
-  if(cmbTheme->currentText().length() == 0)
-  {
-    settings.writeEntry("/Themes", "default");
-  }else{
-    settings.writeEntry("/Themes",cmbTheme->currentText());
-  }
-  settings.writeEntry("/Map/updateThreshold", spinBoxUpdateThreshold->value());
-  //check behaviour so default projection when new layer is added with no
-  //projection defined...
-  if (radPromptForProjection->isChecked())
-  {
-    //
-    settings.writeEntry("/Projections/defaultBehaviour", "prompt");
-  }
-  else if(radUseProjectProjection->isChecked())
-  {
-    //
-    settings.writeEntry("/Projections/defaultBehaviour", "useProject");
-  }
-  else //assumes radUseGlobalProjection is checked
-  {
-    //
-    settings.writeEntry("/Projections/defaultBehaviour", "useGlobal");
-  }
-  settings.writeEntry("/Projections/defaultProjectionSRSID",(int)mGlobalSRSID);
-
-  settings.writeEntry("/qgis/measure/ellipsoid", getEllipsoidAcronym(cmbEllipsoid->currentText()));
-
-  //set the colour for selections
-  QColor myColor = pbnSelectionColour->color();
-  int myRed = settings.writeEntry("/qgis/default_selection_color_red",myColor.red());
-  int myGreen = settings.writeEntry("/qgis/default_selection_color_green",myColor.green());
-  int myBlue = settings.writeEntry("/qgis/default_selection_color_blue",myColor.blue());
-
-  //set the default color for canvas background
-  myColor = pbnCanvasColor->color();
-  myRed = settings.writeEntry("/qgis/default_canvas_color_red",myColor.red());
-  myGreen = settings.writeEntry("/qgis/default_canvas_color_green",myColor.green());
-  myBlue = settings.writeEntry("/qgis/default_canvas_color_blue",myColor.blue());
-
-  settings.writeEntry("/qgis/wheel_action", cmbWheelAction->currentIndex());
-  settings.writeEntry("/qgis/zoom_factor", spinZoomFactor->value());
-
-  settings.setValue("/qgis/splitterRedraw", cbxSplitterRedraw->isChecked());  
-
-  //all done
-  accept();
-}
-
-
-
-
-
-
-
-void QgsOptions::on_btnFindBrowser_clicked()
-{
-  QString filter;
-#ifdef WIN32
-  filter = "Applications (*.exe)";
-#else
-  filter = "All Files (*)";
-#endif
-  QString browser = QFileDialog::getOpenFileName(
-          this,
-          tr("Choose a browser"),
-          "./",
-          filter );
-  if(browser.length() > 0)
-  {
-    cmbBrowser->setCurrentText(browser);
-  }
-}
-
-
-void QgsOptions::on_pbnSelectProjection_clicked()
-{
-  QSettings settings;
-  QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
-  mySelector->setSelectedSRSID(mGlobalSRSID);
-  if(mySelector->exec())
-  {
-#ifdef QGISDEBUG
-    std::cout << "------ Global Default Projection Selection Set ----------" << std::endl;
-#endif
-    mGlobalSRSID = mySelector->getCurrentSRSID();  
-    //! @todo changes this control name in gui to txtGlobalProjString
-    txtGlobalWKT->setText(mySelector->getCurrentProj4String());
-#ifdef QGISDEBUG
-    std::cout << "------ Global Default Projection now set to ----------\n" << mGlobalSRSID << std::endl;
-#endif
-  }
-  else
-  {
-#ifdef QGISDEBUG
-    std::cout << "------ Global Default Projection Selection change cancelled ----------" << std::endl;
-#endif
-    QApplication::restoreOverrideCursor();
-  }
-
-}
-
-void QgsOptions::on_chkAntiAliasing_stateChanged()
-{
-  // We can't have the anti-aliasing turned on when QPixmap is being
-  // used (we we can. but it then doesn't do anti-aliasing, and this
-  // will confuse people).
-  if (chkAntiAliasing->isChecked())
-    chkUseQPixmap->setChecked(false);
-
-}
-
-void QgsOptions::on_chkUseQPixmap_stateChanged()
-{
-  // We can't have the anti-aliasing turned on when QPixmap is being
-  // used (we we can. but it then doesn't do anti-aliasing, and this
-  // will confuse people).
-  if (chkUseQPixmap->isChecked())
-    chkAntiAliasing->setChecked(false);
-
-}
-
-// Return state of the visibility flag for newly added layers. If
-
-bool QgsOptions::newVisible()
-{
-  return chkAddedVisibility->isChecked();
-}
-
-void QgsOptions::getEllipsoidList()
-{
-  // (copied from qgscustomprojectiondialog.cpp)
-
-  // 
-  // Populate the ellipsoid combo
-  // 
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select * from tbl_ellipsoid order by name";
-  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      cmbEllipsoid->insertItem((char *)sqlite3_column_text(myPreparedStatement,1));
-    }
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-}
-
-QString QgsOptions::getEllipsoidAcronym(QString theEllipsoidName)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select acronym from tbl_ellipsoid where name='" + theEllipsoidName + "'";
-  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-    myName = QString((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}
-
-QString QgsOptions::getEllipsoidName(QString theEllipsoidAcronym)
-{
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  QString       myName;
-  //check the db is available
-  myResult = sqlite3_open(QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase);
-  if(myResult) 
-  {
-    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl; 
-    // XXX This will likely never happen since on open, sqlite creates the 
-    //     database if it does not exist.
-    assert(myResult == 0);
-  }
-  // Set up the query to retreive the projection information needed to populate the ELLIPSOID list
-  QString mySql = "select name from tbl_ellipsoid where acronym='" + theEllipsoidAcronym + "'";
-  myResult = sqlite3_prepare(myDatabase, (const char *)mySql, mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-    sqlite3_step(myPreparedStatement) == SQLITE_ROW;
-    myName = QString((char *)sqlite3_column_text(myPreparedStatement,0));
-  }
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return myName;
-
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsoptions.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsoptions.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsoptions.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,91 +0,0 @@
-/***************************************************************************
-                          qgsoptions.h
-                        Set user options and preferences
-                             -------------------
-    begin                : May 28, 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsoptions.h 6251 2006-12-13 23:23:50Z telwertowski $ */
-#ifndef QGSOPTIONS_H
-#define QGSOPTIONS_H
-
-#include "ui_qgsoptionsbase.h"
-#include "qgisgui.h"
-
-
-/**
- * \class QgsOptions
- * \brief Set user options and preferences
- */
-class QgsOptions :public QDialog, private Ui::QgsOptionsBase
-{
-  Q_OBJECT;
-  public:
-    /**
-     * Constructor
-     * @param parent Parent widget (usually a QgisApp)
-     * @param name name for the widget
-     * @param modal true for modal dialog
-     */
-    QgsOptions(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsOptions();
-    /**
-     * Return the currently selected theme
-     * @return theme name (a directory name in the themes directory)
-     */
-    QString theme();
-
-    public slots:
-      //! Slot called when user chooses to change the project wide projection.
-      void on_pbnSelectProjection_clicked();
-      void on_btnFindBrowser_clicked();
-      void on_chkAntiAliasing_stateChanged();
-      void on_chkUseQPixmap_stateChanged();
-      void saveOptions();
-    //! Slot to change the theme this is handled when the user 
-    // activates or highlights a theme name in the drop-down list
-    void themeChanged(const QString &);
-      
-    /**
-     * Return the desired state of newly added layers. If a layer
-     * is to be drawn when added to the map, this function returns
-     * true.
-     */
-    bool newVisible();
-  /*!
-   * Slot to select the default map selection colour
-   */
-  void on_pbnSelectionColour_clicked();
-  
-  /*!
-   * Slot to select the default map selection colour
-   */
-  void on_pbnCanvasColor_clicked();
-  protected:
-    //! Populates combo box with ellipsoids
-    void getEllipsoidList();
-    
-    QString getEllipsoidAcronym(QString theEllipsoidName);
-    QString getEllipsoidName(QString theEllipsoidAcronym);
-
-  private:
-    //! Pointer to our parent
-    QWidget *qparent;
-
-    //!Global default projection used for new layers added that have no projection
-    long mGlobalSRSID;
-
-};
-
-#endif // #ifndef QGSOPTIONS_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,314 +0,0 @@
-/***************************************************************************
-    qgspastetransformations.cpp - set up how source fields are transformed to
-                                  destination fields in copy/paste operations
-                             -------------------
-    begin                : 8 July 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspastetransformations.cpp 5608 2006-07-17 05:26:48Z g_j_m $ */
-
-#include <iostream>
-
-#include <QSettings>
-#include <QComboBox>
-#include <qglobal.h>
-
-#include "qgspastetransformations.h"
-#include "qgsmaplayerregistry.h"
-
-QgsPasteTransformations::QgsPasteTransformations()
-  : QgsPasteTransformationsBase()
-{
-
-  // Populate the dialog with the loaded layers
-  std::map<QString, QgsMapLayer*> mapLayers =
-    QgsMapLayerRegistry::instance()->mapLayers();
-
-  for (std::map<QString, QgsMapLayer*>::iterator it  = mapLayers.begin();
-                                                 it != mapLayers.end();
-                                               ++it )
-  {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::QgsPasteTransformations: QgsMapLayerRegistry has "
-          << it->second->name().toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-    // TODO: Test if a VECTOR or DATABASE layer only (not RASTER)
-
-    sourceLayerComboBox     ->insertItem( it->second->name() );
-    destinationLayerComboBox->insertItem( it->second->name() );
-
-    // store the lookup from the name to the map layer object
-    mMapNameLookup[ it->second->name() ] = it->second;
-  }
-
-
-}
-
-QgsPasteTransformations::~QgsPasteTransformations()
-{
-
-}
-
-
-void QgsPasteTransformations::accept()
-{
-
-  QSettings settings;
-  QString baseKey        = "/Qgis/paste-transformations";             // TODO: promote to static member
-  QString sourceKey      = sourceLayerComboBox     ->currentText();
-  QString destinationKey = destinationLayerComboBox->currentText();
-
-  for (int i = 0; i < mSourceTransfers.size(); i++)
-  {
-    settings.writeEntry(
-                        baseKey + "/" + sourceKey + "/" + destinationKey + "/" +
-                        mSourceTransfers[i]     ->currentText(),
-                        mDestinationTransfers[i]->currentText()
-                       );
-  }
-
-  QDialog::accept();
-
-}
-
-
-void QgsPasteTransformations::addNewTransfer()
-{
-  // This ends up being a wrapper for addTransfer, but with no preselected fields
-  addTransfer();
-}
-
-
-void QgsPasteTransformations::sourceChanged(const QString& layerName)
-{
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::sourceChanged: Source changed to "
-          << layerName.toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-  layerChanged(layerName, &mSourceFields);
-
-}
-
-
-void QgsPasteTransformations::destinationChanged(const QString& layerName)
-{
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::destinationChanged: Destination changed to "
-          << layerName.toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-  layerChanged(layerName, &mDestinationFields);
-
-}
-
-
-void QgsPasteTransformations::addTransfer(const QString& sourceSelectedFieldName,
-                                          const QString& destinationSelectedFieldName)
-{
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::addTransfer: From " << sourceSelectedFieldName.toLocal8Bit().data()
-                                                         << " to " << destinationSelectedFieldName.toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-  int newRow = gridLayout->numRows();
-
-// TODO: Do not add the transfer if neither the sourceSelectedFieldName nor the destinationSelectedFieldName could be found.
-
-  // For some reason Qt4's uic3 only outputs generic names for layout items
-  QComboBox* newSourceFields      = new QComboBox(FALSE, gridLayout->mainWidget() );
-  QComboBox* newDestinationFields = new QComboBox(FALSE, gridLayout->mainWidget() );
-
-  int count = 0;
-
-  // Populate source fields
-  for (std::vector<QString>::iterator it  = mSourceFields.begin();
-                                      it != mSourceFields.end();
-                                    ++it )
-  {
-    newSourceFields->insertItem( (*it) );
-
-    // highlight this item if appropriate
-    if (sourceSelectedFieldName == (*it))
-    {
-      newSourceFields->setCurrentItem(count);
-    }
-
-    count++;
-  }
-
-  count = 0;
-
-  // Populate destination fields
-  for (std::vector<QString>::iterator it  = mDestinationFields.begin();
-                                      it != mDestinationFields.end();
-                                    ++it )
-  {
-    newDestinationFields->insertItem( (*it) );
-
-    // highlight this item if appropriate
-    if (destinationSelectedFieldName == (*it))
-    {
-      newDestinationFields->setCurrentItem(count);
-    }
-
-    count++;
-  }
-
-  // Append to dialog layout
-  gridLayout->addWidget(newSourceFields,      newRow, 0);
-  gridLayout->addWidget(newDestinationFields, newRow, 1);
-
-  // Keep a reference to them so that we can read from them
-  // when the dialog is dismissed
-  mSourceTransfers     .push_back(newSourceFields);
-  mDestinationTransfers.push_back(newDestinationFields);
-
-  // Reveal the new sub-widgets
-  newSourceFields->show();
-  newDestinationFields->show();
-
-}
-
-
-void QgsPasteTransformations::layerChanged(const QString& layerName, std::vector<QString>* fields)
-{
-  // Fetch the fields that will be populated into the Transfer rows.
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::layerChanged: Layer changed to "
-          << layerName.toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-  std::vector<QgsField> layerFields = 
-    (mMapNameLookup[ layerName ])->fields();
-
-  fields->clear();
-
-  for (std::vector<QgsField>::iterator it  = layerFields.begin();
-                                       it != layerFields.end();
-                                     ++it )
-  {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::layerChanged: Got field "
-          << it->name().toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-
-    fields->push_back(it->name());
-  }
-
-  restoreTransfers( sourceLayerComboBox     ->currentText(),
-                    destinationLayerComboBox->currentText() );
-}
-
-void QgsPasteTransformations::restoreTransfers(const QString& sourceLayerName,
-                                               const QString& destinationLayerName)
-{
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::restoreTransfers: Entered."
-          << std::endl;
-#endif
-  QSettings settings;
-  QString baseKey = "/Qgis/paste-transformations";             // TODO: promote to static member
-
-  QStringList sourceLayers = settings.subkeyList(baseKey);
-
-  for (QStringList::Iterator it  = sourceLayers.begin(); 
-                             it != sourceLayers.end();
-                           ++it )
-  {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::restoreTransfers: Testing source '"
-          << (*it).toLocal8Bit().data() << "' with '"
-          << sourceLayerName.toLocal8Bit().data() << "'."
-          << std::endl;
-#endif
-    if ((sourceLayerName == (*it)))
-    {
-      // Go through destination layers defined for this source layer.
-      QStringList destinationLayers = settings.subkeyList( baseKey + "/" + (*it) );
-      for (QStringList::Iterator it2  = destinationLayers.begin(); 
-                                 it2 != destinationLayers.end();
-                               ++it2 )
-      {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::restoreTransfers: Testing destination '"
-          << (*it2).toLocal8Bit().data() << "' with '"
-          << destinationLayerName.toLocal8Bit().data() << "'."
-          << std::endl;
-#endif
-        if ((destinationLayerName == (*it2)))
-        {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::restoreTransfers:going through transfers."
-          << std::endl;
-#endif
-          // Go through Transfers for this source/destination layer pair.
-          QStringList transfers = settings.entryList( baseKey + "/" + (*it) + "/" + (*it2) );
-          for (QStringList::Iterator it3  = transfers.begin(); 
-                                     it3 != transfers.end();
-                                   ++it3 )
-          {
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::restoreTransfers: setting transfer for "
-          << (*it3).toLocal8Bit().data() << "."
-          << std::endl;
-#endif
-            QString destinationField = 
-              settings.readEntry( baseKey + "/" + (*it) + "/" + (*it2) + "/" + (*it3) );
-            addTransfer( (*it3), destinationField );
-          }
-        }
-      }
-    }
-  }
-}
-
-
-QString QgsPasteTransformations::pasteTo(const QString& sourceLayerName,
-                                         const QString& destinationLayerName,
-                                         const QString& sourceFieldName)
-{
-
-// TODO: Adjust QgsVectorLayer::addFeature to complete the usefulness of this function
-// TODO: Cache previous results as this will be called once per pasted feature.
-
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::pasteTo: Entered."
-          << std::endl;
-#endif
-  QSettings settings;
-  QString baseKey = "/Qgis/paste-transformations";             // TODO: promote to static member
-
-  QString destinationField = 
-    settings.readEntry( baseKey + "/" + sourceLayerName + "/" + destinationLayerName + "/" + sourceFieldName );
-
-  if (QString::null == destinationField)
-  {
-    destinationField = sourceFieldName;
-  }
-
-#ifdef QGISDEBUG
-        std::cerr << "QgsPasteTransformations::pasteTo: Returning '" << destinationField.toLocal8Bit().data() << "'."
-          << std::endl;
-#endif
-
-  return destinationField;
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspastetransformations.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,87 +0,0 @@
-/***************************************************************************
-    qgspastetransformations.h - set up how source fields are transformed to
-                                destination fields in copy/paste operations
-                             -------------------
-    begin                : 8 July 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspastetransformations.h 4990 2006-03-09 22:50:13Z telwertowski $ */
-#ifndef QGSPASTETRANSFORMATIONS_H
-#define QGSPASTETRANSFORMATIONS_H
-#include "ui_qgspastetransformationsbase.h"
-#include <QDialog>
-#include <qstring.h>
-
-#include "qgsmaplayer.h"
-
-/*! 
- * \brief Dialog to allow the user to set up how source fields are transformed to destination fields in copy/paste operations
- */
-class QgsPasteTransformations : public QDialog, private Ui::QgsPasteTransformationsBase
-{
-  Q_OBJECT;
- public:
-    //! Constructor
-    QgsPasteTransformations();
-
-    //! Destructor
-    ~QgsPasteTransformations();
-
-    /**
-       Returns the destination field in destinationLayerName that
-       should be chosen for pastes from sourceLayerName & sourceFieldName.
-
-       Returns the sourceFieldName if there is no saved preference.
-
-       @note  This non-GUI function is a bonus for this class.  OO purists may insist that this function should be in its own class.  If so, let them separate it.
-     */
-    QString pasteTo(const QString& sourceLayerName,
-                    const QString& destinationLayerName,
-                    const QString& sourceFieldName);
-
-
-  public slots:
-    virtual void accept();
-
-    virtual void addNewTransfer();
-
-    virtual void sourceChanged(const QString& layerName);
-
-    virtual void destinationChanged(const QString& layerName);
-
-
-  private:
-
-    void addTransfer(const QString& sourceLayerName      = QString::null,
-                     const QString& destinationLayerName = QString::null);
-
-    //! Common subfunction to sourceChanged() and destinationChanged()
-    void layerChanged(const QString& layerName, std::vector<QString>* fields);
-
-    void restoreTransfers(const QString& sourceSelectedFieldName,
-                          const QString& destinationSelectedFieldName);
-
-
-    std::map<QString, QgsMapLayer*> mMapNameLookup;
-
-    std::vector<QString> mSourceFields;
-
-    std::vector<QString> mDestinationFields;
-
-    std::vector<QComboBox*> mSourceTransfers;
-
-    std::vector<QComboBox*> mDestinationTransfers;
-
-};
-
-#endif //  QGSPASTETRANSFORMATIONS_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,105 +0,0 @@
-/***************************************************************************
-                          qgsppatterndialog.cpp 
-                        Pattern dialog for vector layers
-                             -------------------
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-  
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /*  $Id: qgspatterndialog.cpp 4688 2006-01-15 12:08:18Z telwertowski $ */
- 
-#include "qgspatterndialog.h"
-#include "qpushbutton.h"
-#include "qgssymbologyutils.h"
-
-QgsPatternDialog::QgsPatternDialog(QWidget * parent, Qt::WFlags fl):
-  QDialog(parent, fl)
-{
-  setupUi(this);
-
-  //set the icons (which are stored in QgsSymbologyUtils.cpp to avoid redundancy)
-  solid->setPixmap(QgsSymbologyUtils::char2PatternPixmap("SolidPattern"));
-  horizontal->setPixmap(QgsSymbologyUtils::char2PatternPixmap("HorPattern"));
-  vertical->setPixmap(QgsSymbologyUtils::char2PatternPixmap("VerPattern"));
-  cross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("CrossPattern"));
-  bdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("BDiagPattern"));
-  fdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("FDiagPattern"));
-  diagcross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("DiagCrossPattern"));
-  dense1->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense1Pattern"));
-  dense2->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense2Pattern"));
-  dense3->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense3Pattern"));
-  dense4->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense4Pattern"));
-  dense5->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense5Pattern"));
-  dense6->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense6Pattern"));
-  dense7->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense7Pattern"));
-  nopen->setPixmap(QgsSymbologyUtils::char2PatternPixmap("NoBrush"));
-
-  QObject::connect(okbutton, SIGNAL(clicked()), this, SLOT(queryPattern()));
-  QObject::connect(cancelbutton, SIGNAL(clicked()), this, SLOT(reject()));
-  solid->toggle();              //solid pattern is the default
-}
-
-Qt::BrushStyle QgsPatternDialog::pattern()
-{
-  return m_pattern;
-}
-
-void QgsPatternDialog::queryPattern()
-{
-  if (solid->isOn())
-    {
-      m_pattern = Qt::SolidPattern;
-  } else if (fdiag->isOn())
-    {
-      m_pattern = Qt::FDiagPattern;
-  } else if (dense4->isOn())
-    {
-      m_pattern = Qt::Dense4Pattern;
-  } else if (horizontal->isOn())
-    {
-      m_pattern = Qt::HorPattern;
-  } else if (dense5->isOn())
-    {
-      m_pattern = Qt::Dense5Pattern;
-  } else if (diagcross->isOn())
-    {
-      m_pattern = Qt::DiagCrossPattern;
-  } else if (dense1->isOn())
-    {
-      m_pattern = Qt::Dense1Pattern;
-  } else if (dense6->isOn())
-    {
-      m_pattern = Qt::Dense6Pattern;
-  } else if (vertical->isOn())
-    {
-      m_pattern = Qt::VerPattern;
-  } else if (dense7->isOn())
-    {
-      m_pattern = Qt::Dense7Pattern;
-  } else if (cross->isOn())
-    {
-      m_pattern = Qt::CrossPattern;
-  } else if (dense2->isOn())
-    {
-      m_pattern = Qt::Dense2Pattern;
-  } else if (bdiag->isOn())
-    {
-      m_pattern = Qt::BDiagPattern;
-  } else if (dense3->isOn())
-    {
-      m_pattern = Qt::Dense3Pattern;
-  } else if (nopen->isOn())
-    {
-      m_pattern = Qt::NoBrush;
-    }
-  accept();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspatterndialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,46 +0,0 @@
-/***************************************************************************
-                          qgspatterndialog 
-            Dialog for selecting pattern for rendering vector layers
-                             -------------------
-    begin                : 2004-02-12
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspatterndialog.h 4688 2006-01-15 12:08:18Z telwertowski $ */
-#ifndef QGSPATTERNDIALOG_H
-#define QGSPATTERNDIALOG_H
-
-class qnamespace;
-#include "ui_qgspatterndialogbase.h"
-#include "qgisgui.h"
-
-/**A dialog class to query the fill pattern.*/
-class QgsPatternDialog: public QDialog, private Ui::QgsPatternDialogBase
-{
-    Q_OBJECT
- public:
-    QgsPatternDialog(QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    ~QgsPatternDialog();
-    Qt::BrushStyle pattern();
- protected:
-    Qt::BrushStyle m_pattern;
- protected slots:
-     /**Queries the selected pattern if the ok button is pressed and stores the pattern in m_pattern*/
-     void queryPattern();
-};
-
-inline QgsPatternDialog::~QgsPatternDialog()
-{
-
-}
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,454 +0,0 @@
-/***************************************************************************
-                qgspgquerybuilder.cpp - PostgreSQL Query Builder
-                     --------------------------------------
-               Date                 : 2004-11-19
-               Copyright            : (C) 2004 by Gary E.Sherman
-               Email                : sherman at mrcc.com
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspgquerybuilder.cpp 6816 2007-03-18 11:43:41Z homann $ */
-#include <iostream>
-#include <q3listbox.h>
-#include <QMessageBox>
-#include "qgspgquerybuilder.h"
-#include <qgslogger.h>
-#include <QRegExp>
-// default constructor
-QgsPgQueryBuilder::QgsPgQueryBuilder(QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-  setupUi(this);
-}
-// constructor used when the query builder must make its own
-// connection to the database
-QgsPgQueryBuilder::QgsPgQueryBuilder(QgsDataSourceURI *uri, 
-    QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl), mUri(uri)
-{
-  setupUi(this);
-  // The query builder must make its own connection to the database when
-  // using this constructor
-  QString connInfo = QString("host=%1 dbname=%2 port=%3 user=%4 password=%5")
-    .arg(mUri->host)
-    .arg(mUri->database)
-    .arg(mUri->port)
-    .arg(mUri->username)
-    .arg(mUri->password);
-#ifdef QGISDEBUG
-  std::cerr << "Attempting connect using: " << connInfo.toLocal8Bit().data() << std::endl; 
-#endif
-  mPgConnection = PQconnectdb(connInfo.toLocal8Bit().data());
-  // check the connection status
-  if (PQstatus(mPgConnection) == CONNECTION_OK) {
-    QString datasource = QString(tr("Table <b>%1</b> in database <b>%2</b> on host <b>%3</b>, user <b>%4</b>"))
-      .arg(mUri->table)
-      .arg(PQdb(mPgConnection))
-      .arg(PQhost(mPgConnection))
-      .arg(PQuser(mPgConnection));
-    mOwnConnection = true; // we own this connection since we created it
-    // tell the DB that we want text encoded in UTF8
-    PQsetClientEncoding(mPgConnection, "UNICODE");
-    // and strip any quotation as this code does it's own quoting.
-    trimQuotation();
-
-    lblDataUri->setText(datasource);
-    populateFields();
-  }
-  else
-  {
-    QString err = PQerrorMessage(mPgConnection);
-    QMessageBox::critical(this, tr("Connection Failed"), tr("Connection to the database failed:") + "\n" + err);
-  }
-}
-// Constructor when using an existing connection (ie from the add postgis layer dialog). This
-// is useful since the query builder doesn't have to make a connection to the database for each
-// layer being customized prior to adding to the map canvas. Since the table name passed to this
-// constructor from the add table dialog is in the form schema.table, these components are 
-// parsed out and populated in the mURI structure prior to performing any operations against the database.
-QgsPgQueryBuilder::QgsPgQueryBuilder(QString tableName, PGconn *con, 
-    QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl), mPgConnection(con)
-{
-  setupUi(this);
-  mOwnConnection = false; // we don't own this connection since it was passed to us
-  mUri = new QgsDataSourceURI();
-  QString datasource = QString(tr("Table <b>%1</b> in database <b>%2</b> on host <b>%3</b>, user <b>%4</b>"))
-    .arg(tableName)
-    .arg(PQdb(mPgConnection))
-    .arg(PQhost(mPgConnection))
-    .arg(PQuser(mPgConnection));
-  // populate minimum uri fields needed for the populate fields function
-  QRegExp reg("\"(.+)\"\\.\"(.+)\"");
-  reg.indexIn(tableName);
-  QStringList parts = reg.capturedTexts(); // table name contains table and schema
-  mUri->schema = parts[1];
-  // strip whitespace to make sure the table name is clean
-  mUri->table = parts[2];
-
-  // and strip any quotation as this code does it's own quoting.
-  trimQuotation();
-
-  lblDataUri->setText(datasource);
-  populateFields();
-}
-QgsPgQueryBuilder::~QgsPgQueryBuilder()
-{
-  if(mOwnConnection)
-  {
-    PQfinish(mPgConnection);
-  }
-}
-
-void QgsPgQueryBuilder::populateFields()
-{
-  // Populate the field vector for this layer. The field vector contains
-  // field name, type, length, and precision (if numeric)
-  QString sql = "select * from \"" + mUri->schema + "\".\"" + mUri->table + "\" limit 1";
-  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
-  QgsLogger::debug("Query executed: " + sql);
-  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
-  {
-    //--std::cout << "Field: Name, Type, Size, Modifier:" << std::endl;
-    for (int i = 0; i < PQnfields(result); i++) {
-
-      QString fieldName = PQfname(result, i);
-      int fldtyp = PQftype(result, i);
-      QString typOid = QString().setNum(fldtyp);
-      QgsLogger::debug("typOid is: " + typOid); 
-      int fieldModifier = PQfmod(result, i);
-      QString sql = "select typelem from pg_type where typelem = " + typOid + " and typlen = -1";
-      //  //--std::cout << sql << std::endl;
-      PGresult *oidResult = PQexec(mPgConnection, 
-				   (const char *) (sql.utf8()));
-      if (PQresultStatus(oidResult) == PGRES_TUPLES_OK) 
-        QgsLogger::debug("Ok fetching typelem using\n" + sql); 
-
-      // get the oid of the "real" type
-      QString poid = QString::fromUtf8(PQgetvalue(oidResult, 0, 
-						  PQfnumber(oidResult, 
-							    "typelem")));
-      QgsLogger::debug("poid is: " + poid); 
-      PQclear(oidResult);
-      sql = "select typname, typlen from pg_type where oid = " + poid;
-      // //--std::cout << sql << std::endl;
-      oidResult = PQexec(mPgConnection, (const char *) (sql.utf8()));
-      if (PQresultStatus(oidResult) == PGRES_TUPLES_OK) 
-        QgsLogger::debug("Ok fetching typenam,etc\n");
-
-      QString fieldType = QString::fromUtf8(PQgetvalue(oidResult, 0, 0));
-      QString fieldSize = QString::fromUtf8(PQgetvalue(oidResult, 0, 1));
-      PQclear(oidResult);
-#ifdef QGISDEBUG
-      std::cerr << "Field parms: Name = " << fieldName.toLocal8Bit().data()
-        << ", Type = " << fieldType.toLocal8Bit().data() << std::endl; 
-#endif
-      mFieldMap[fieldName] = QgsField(fieldName, fieldType, 
-          fieldSize.toInt(), fieldModifier);
-      lstFields->insertItem(fieldName);
-    }
-  }else
-  {
-#ifdef QGISDEBUG 
-    std::cerr << "Error fetching a row from " << mUri->table.toLocal8Bit().data() << std::endl; 
-#endif 
-  }
-  PQclear(result);
-}
-
-void QgsPgQueryBuilder::trimQuotation()
-{
-  // Trim " characters that may be surrounding the table and schema name
-  if (mUri->schema.at(0) == '"')
-    {
-      mUri->schema.remove(mUri->schema.length()-1, 1);
-      mUri->schema.remove(0, 1);
-    }
-  if (mUri->table.at(0) == '"')
-    {
-      mUri->table.remove(mUri->table.length()-1, 1);
-      mUri->table.remove(0, 1);
-    }
-}
-
-void QgsPgQueryBuilder::on_btnSampleValues_clicked()
-{
-  if (lstFields->currentText().isEmpty())
-      return;
-
-  QString sql = "SELECT DISTINCT \"" + lstFields->currentText() + "\" " +
-      "FROM (SELECT \"" + lstFields->currentText() + "\" " +
-      "FROM \"" + mUri->schema + "\".\"" + mUri->table + "\" " +
-      "LIMIT 5000) AS foo " +
-      "ORDER BY \"" + lstFields->currentText() + "\" "+
-      "LIMIT 25";
-  // clear the values list 
-  lstValues->clear();
-  // determine the field type
-  QgsField field = mFieldMap[lstFields->currentText()];
-  bool isCharField = field.type().find("char") > -1;
-  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
-
-  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
-  {
-    int rowCount =  PQntuples(result);
-    for(int i=0; i < rowCount; i++)
-    {
-      QString value = QString::fromUtf8(PQgetvalue(result, i, 0));
-      if(isCharField)
-      {
-        lstValues->insertItem("'" + value + "'");
-      }
-      else
-      {
-        lstValues->insertItem(value);
-      }
-    }
-
-  }else
-  {
-    QMessageBox::warning(this, tr("Database error"), tr("<p>Failed to get sample of field values using SQL:</p><p>") + sql + tr("</p><p>Error message was: ")+ QString(PQerrorMessage(mPgConnection)) + "</p>");
-  }
-  // free the result set
-  PQclear(result);
-}
-
-void QgsPgQueryBuilder::on_btnGetAllValues_clicked()
-{
-  if (lstFields->currentText().isEmpty())
-      return;
-
-  QString sql = "select distinct \"" + lstFields->currentText() 
-    + "\" from \"" + mUri->schema + "\".\"" + mUri->table + "\" order by \"" + lstFields->currentText() + "\"";
-  // clear the values list 
-  lstValues->clear();
-  // determine the field type
-  QgsField field = mFieldMap[lstFields->currentText()];
-  bool isCharField = field.type().find("char") > -1;
-
-  PGresult *result = PQexec(mPgConnection, (const char *) (sql.utf8()));
-
-  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
-  {
-    int rowCount =  PQntuples(result);
-    for(int i=0; i < rowCount; i++)
-    {
-      QString value = QString::fromUtf8(PQgetvalue(result, i, 0));
-
-      if(isCharField)
-      {
-        lstValues->insertItem("'" + value + "'");
-      }
-      else
-      {
-        lstValues->insertItem(value);
-      }
-    }
-
-  }else
-  {
-    QMessageBox::warning(this, tr("Database error"), tr("Failed to get sample of field values") + QString(PQerrorMessage(mPgConnection)) );
-  }
-  // free the result set
-  PQclear(result);
-}
-
-void QgsPgQueryBuilder::on_btnTest_clicked()
-{
-  // test the sql statement to see if it works
-  // by counting the number of records that would be
-  // returned
-
-  // if there is no sql, issue a warning
-  if(txtSQL->text().isEmpty())
-  {
-    QMessageBox::information(this, tr("No Query"), tr("You must create a query before you can test it"));
-  }
-  else
-  { 
-    QString numRows;
-    QString sql = "select count(*) from \"" + mUri->schema + "\".\"" + mUri->table
-      + "\" where " + txtSQL->text();
-    PGresult *result = PQexec(mPgConnection, (const char *)(sql.utf8()));
-    if (PQresultStatus(result) == PGRES_TUPLES_OK) 
-    {
-      numRows = QString::fromUtf8(PQgetvalue(result, 0, 0));
-      QMessageBox::information(this, tr("Query Result"), 
-          tr("The where clause returned ") 
-          + numRows + tr(" rows."));
-    }
-    else
-    {
-      QMessageBox::warning(this, tr("Query Failed"), 
-          tr("An error occurred when executing the query:") 
-          + "\n" + QString(PQresultErrorMessage(result)));
-    }
-    // free the result set
-    PQclear(result);
-  }
-}
-// This method tests the number of records that would be returned by the
-// query
-// XXX This should really throw an exception
-long QgsPgQueryBuilder::countRecords(QString where) 
-{
-  QString sql = "select count(*) from \"" + mUri->schema + "\".\"" + mUri->table
-      + "\" where " + where;
-
-  long numRows;
-  PGresult *result = PQexec(mPgConnection, (const char *)(sql.utf8()));
-  if (PQresultStatus(result) == PGRES_TUPLES_OK) 
-  {
-    QString rowCount = QString::fromUtf8(PQgetvalue(result, 0, 0));
-    numRows = rowCount.toLong();
-  }
-  else
-  {
-    numRows = -1;
-    mPgErrorMessage = PQresultErrorMessage(result);
-
-  }
-  // free the result set
-  PQclear(result);
-  return numRows;
-}
-
-void QgsPgQueryBuilder::setConnection(PGconn *con)
-{
-  // store the connection 
-  mPgConnection = con;
-}
-
-void QgsPgQueryBuilder::on_btnOk_clicked()
-{
-  // if user hits Ok and there is no query, skip the validation
-  if(txtSQL->text().stripWhiteSpace().length() > 0)
-  {
-    // test the query to see if it will result in a valid layer
-    long numRecs = countRecords(txtSQL->text());
-    if(numRecs == -1)
-    {
-      //error in query - show the problem
-      QMessageBox::warning(this,tr("Error in Query"), mPgErrorMessage);
-    }
-    else
-    {
-      if(numRecs == 0)
-      {
-        QMessageBox::warning(this, tr("No Records"), tr("The query you specified results in zero records being returned. Valid PostgreSQL layers must have at least one feature."));
-      }
-      else
-      {
-        this->accept();
-      }
-    }
-  }
-  else
-  {
-    this->accept();
-  }
-}
-
-void QgsPgQueryBuilder::on_btnEqual_clicked()
-{
-  txtSQL->insert(" = ");
-}
-
-void QgsPgQueryBuilder::on_btnLessThan_clicked()
-{
-  txtSQL->insert(" < ");
-}
-
-void QgsPgQueryBuilder::on_btnGreaterThan_clicked()
-{
-  txtSQL->insert(" > ");
-}
-
-void QgsPgQueryBuilder::on_btnPct_clicked()
-{
-  txtSQL->insert(" % ");
-}
-
-void QgsPgQueryBuilder::on_btnIn_clicked()
-{
-  txtSQL->insert(" IN ");
-}
-
-void QgsPgQueryBuilder::on_btnNotIn_clicked()
-{
-  txtSQL->insert(" NOT IN ");
-}
-
-void QgsPgQueryBuilder::on_btnLike_clicked()
-{
-  txtSQL->insert(" LIKE ");
-}
-
-QString QgsPgQueryBuilder::sql()
-{
-  return txtSQL->text();
-}
-
-void QgsPgQueryBuilder::setSql( QString sqlStatement)
-{
-  txtSQL->setText(sqlStatement);
-}
-
-void QgsPgQueryBuilder::on_lstFields_doubleClicked( Q3ListBoxItem *item )
-{
-  txtSQL->insert("\"" + item->text() + "\"");
-}
-
-void QgsPgQueryBuilder::on_lstValues_doubleClicked( Q3ListBoxItem *item )
-{
-  txtSQL->insert(item->text());
-}
-
-void QgsPgQueryBuilder::on_btnLessEqual_clicked()
-{
-  txtSQL->insert(" <= ");
-}
-
-void QgsPgQueryBuilder::on_btnGreaterEqual_clicked()
-{
-  txtSQL->insert(" >= ");
-}
-
-void QgsPgQueryBuilder::on_btnNotEqual_clicked()
-{
-  txtSQL->insert(" != ");
-}
-
-void QgsPgQueryBuilder::on_btnAnd_clicked()
-{
-  txtSQL->insert(" AND ");
-}
-
-void QgsPgQueryBuilder::on_btnNot_clicked()
-{
-  txtSQL->insert(" NOT ");
-}
-
-void QgsPgQueryBuilder::on_btnOr_clicked()
-{
-  txtSQL->insert(" OR ");
-}
-
-void QgsPgQueryBuilder::on_btnClear_clicked()
-{
-  txtSQL->clear();
-}
-
-void QgsPgQueryBuilder::on_btnILike_clicked()
-{
-  txtSQL->insert(" ILIKE ");
-}
-void QgsPgQueryBuilder::setDatasourceDescription(QString uri)
-{
-  lblDataUri->setText(uri);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspgquerybuilder.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,149 +0,0 @@
-/***************************************************************************
-    qgspgquerybuilder.h - Subclassed PostgreSQL query builder 
-     --------------------------------------
-    Date                 : 2004-11-19
-    Copyright            : (C) 2004 by Gary E.Sherman
-    Email                : sherman at mrcc.com
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSPGQUERYBUILDER_H
-#define QGSPGQUERYBUILDER_H
-#include <map>
-#include <vector>
-extern "C"
-{
-#include <libpq-fe.h>
-}
-
-#include "ui_qgspgquerybuilderbase.h"
-#include "qgisgui.h"
-#include "qgsfield.h"
-#include "qgsdatasourceuri.h"
-/*!
- * \class QgsPgQueryBuilder
- * \brief Query Builder for PostgreSQL layers.
- *
- * The query builder allows interactive creation of a SQL for limiting the
- * features displayed in a database layer.  The fields in the table are
- * displayed and sample values (or all values) can be viewed to aid in
- * constructing the query. A test function returns the number of features that
- * will be returned.
- *
- */
-class QgsPgQueryBuilder : public QDialog, private Ui::QgsPgQueryBuilderBase { 
-   Q_OBJECT 
-  public:
-  //! Default constructor - not very useful
-  QgsPgQueryBuilder(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-
-  /*! Constructor which also takes the table name and PG connection pointer.
-  * This constructor is used when adding layers to the map from a PG database since
-  * the query builder can use the same connection as the layer selection dialog.
-  * @param tableName Name of the table being queried
-  * @param con PostgreSQL connection from the Add PostGIS Layer dialog
-  * @param parent Parent widget
-  * @param name Name of the widget
-  */
-  QgsPgQueryBuilder(QString tableName, PGconn *con, QWidget *parent = 0,
-      Qt::WFlags fl = QgisGui::ModalDialogFlags);
-  
-  /*! Constructor that uses a data source URI to create its own connection to the 
-  * PG database. This constructor should be used when a layer's own PG connection
-  * cannot. Using the same connection as that of the layer typically causes problems
-  * and crashes. This constructor is used when the query builder is called from the
-  * vector layer properties dialog
-  * @param uri Reference to a fully populates QgsDataSourceURI structure
-   * @param parent Parent widget
-   * @param name Name of the widget
-   */
-  QgsPgQueryBuilder(QgsDataSourceURI *uri, QWidget *parent = 0,
-      Qt::WFlags fl = QgisGui::ModalDialogFlags); 
-  
-  ~QgsPgQueryBuilder(); 
- 
- /*!
-  * Set the connection used the by query builder
-  * @param con Active PostgreSQL connection
-  */ 
-  void setConnection(PGconn *con); 
-
-  public slots:
-    void on_btnEqual_clicked();
-    void on_btnOk_clicked();
-    void on_btnLessThan_clicked();
-    void on_btnGreaterThan_clicked();
-    void on_btnPct_clicked();
-    void on_btnIn_clicked();
-    void on_btnNotIn_clicked();
-    void on_btnLike_clicked();
-    void on_btnILike_clicked();
-    QString sql();
-    void setSql( QString sqlStatement);
-    void on_lstFields_doubleClicked( Q3ListBoxItem *item );
-    void on_lstValues_doubleClicked( Q3ListBoxItem *item );
-    void on_btnLessEqual_clicked();
-    void on_btnGreaterEqual_clicked();
-    void on_btnNotEqual_clicked();
-    void on_btnAnd_clicked();
-    void on_btnNot_clicked();
-    void on_btnOr_clicked();
-    void on_btnClear_clicked();
-  /*! Test the constructed sql statement to see if the database likes it.
-   * The number of rows that would be returned is displayed in a message box.
-   * The test uses a "select count(*) from ..." query to test the SQL 
-   * statement.
-   * @param showResults If true, the results are displayed in a QMessageBox
-   */
-    void on_btnTest_clicked();
-  /*! 
-   * Get all distinct values for the field. Values are inserted
-   * into the value list box
-   */
-    void on_btnGetAllValues_clicked();
-  /*! 
-   * Get sample distinct values for the selected field. The sample size is
-   * limited to an arbitrary value (currently set to 25). The values
-   * are inserted into the values list box.
-   */
-    void on_btnSampleValues_clicked();
-    void setDatasourceDescription(QString uri);
-  private:
-  /*! 
-   * Populate the field list for the selected table
-   */ 
-  void populateFields();
-
-  /*!
-   * Trims surround " characters from the schema and table name
-   */
-  void trimQuotation();
-
-  /*! Get the number of records that would be returned by the current SQL
-   * @return Number of records or -1 if an error was encountered
-   */
-  long countRecords(QString sql);
-  
-  // private members
-  //! Datasource URI
-  QgsDataSourceURI *mUri;
-  //! PostgreSQL connection object
-  PGconn *mPgConnection;
-  //! Table name
-  QString mTableName;
-  //! Vector of QgsField objects
-  std::vector<QgsField> mFields;
-  //! Map that holds field information, keyed by field name
-  std::map<QString, QgsField> mFieldMap;
-  //! Latest PG error message
-  QString mPgErrorMessage;
-  //! Flag to indicate if the class owns the connection to the pg database
-  bool mOwnConnection;
-
-};
-#endif //QGSPGQUERYBUILDER_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspgutil.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspgutil.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspgutil.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,153 +0,0 @@
-/***************************************************************************
-                qgspgutil.cpp - PostgreSQL Utility Functions
-                     --------------------------------------
-               Date                 : 2004-11-21
-               Copyright            : (C) 2004 by Gary E.Sherman
-               Email                : sherman at mrcc.com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspgutil.cpp 4619 2006-01-08 23:18:32Z timlinux $ */
-#include "qgspgutil.h"
-
-QgsPgUtil *QgsPgUtil::mInstance = 0;
-QgsPgUtil * QgsPgUtil::instance()
-{
-  if(mInstance == 0)
-  {
-    mInstance = new QgsPgUtil();
-  }
-  return mInstance;
-}
-QgsPgUtil::QgsPgUtil()
-{
-  // load the reserved word map
-  initReservedWords();
-}
-QgsPgUtil::~QgsPgUtil()
-{
-}
-bool QgsPgUtil::isReserved(QString word)
-{
-  // uppercase the word before testing it since all our reserved words are
-  // stored in uppercase
-  
-  QStringList::iterator it = mReservedWords.find(word.upper());
-  return (it != mReservedWords.end());
-}
-void QgsPgUtil::setConnection(PGconn *con)
-{
-  mPgConnection = con;
-}
-PGconn *QgsPgUtil::connection()
-{
-  return mPgConnection;
-}
-const QStringList & QgsPgUtil::reservedWords()
-{
-  return mReservedWords;
-}
-void QgsPgUtil::initReservedWords()
-{
-  // create the reserved word list by loading
-  // the words into a QStringList. We code them here
-  // for now rather than deal with the complexities
-  // of finding and loading from a text file
-  // in the install path
-  mReservedWords << "ALL"
-    << "ANALYSE"
-    << "ANALYZE"
-    << "AND"
-    << "ANY"
-    << "ARRAY"
-    << "AS"
-    << "ASC"
-    << "AUTHORIZATION"
-    << "BETWEEN"
-    << "BINARY"
-    << "BOTH"
-    << "CASE"
-    << "CAST"
-    << "CHECK"
-    << "COLLATE"
-    << "COLUMN"
-    << "CONSTRAINT"
-    << "CREATE"
-    << "CROSS"
-    << "CURRENT_DATE"
-    << "CURRENT_TIME"
-    << "CURRENT_TIMESTAMP"
-    << "CURRENT_USER"
-    << "DEFAULT"
-    << "DEFERRABLE"
-    << "DESC"
-    << "DISTINCT"
-    << "DO"
-    << "ELSE"
-    << "END"
-    << "EXCEPT"
-    << "FALSE"
-    << "FOR"
-    << "FOREIGN"
-    << "FREEZE"
-    << "FROM"
-    << "FULL"
-    << "GRANT"
-    << "GROUP"
-    << "HAVING"
-    << "ILIKE"
-    << "IN"
-    << "INITIALLY"
-    << "INNER"
-    << "INTERSECT"
-    << "INTO"
-    << "IS"
-    << "ISNULL"
-    << "JOIN"
-    << "LEADING"
-    << "LEFT"
-    << "LIKE"
-    << "LIMIT"
-    << "LOCALTIME"
-    << "LOCALTIMESTAMP"
-    << "NAMES"
-    << "NATURAL"
-    << "NEW"
-    << "NOT"
-    << "NOTNULL"
-    << "NULL"
-    << "OFF"
-    << "OFFSET"
-    << "OLD"
-    << "ON"
-    << "ONLY"
-    << "OR"
-    << "ORDER"
-    << "OUTER"
-    << "OVERLAPS"
-    << "PLACING"
-    << "PRIMARY"
-    << "REFERENCES"
-    << "RIGHT"
-    << "SELECT"
-    << "SESSION_USER"
-    << "SIMILAR"
-    << "SOME"
-    << "TABLE"
-    << "THEN"
-    << "TO"
-    << "TRAILING"
-    << "TRUE"
-    << "UNION"
-    << "UNIQUE"
-    << "USER"
-    << "USING"
-    << "VERBOSE"
-    << "WHEN"
-    << "WHERE";
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspgutil.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspgutil.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspgutil.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,71 +0,0 @@
-/***************************************************************************
-                qgspgutil.h - PostgreSQL Utility Functions
-                     --------------------------------------
-               Date                 : 2004-11-21
-               Copyright            : (C) 2004 by Gary E.Sherman
-               Email                : sherman at mrcc.com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspgutil.h 4619 2006-01-08 23:18:32Z timlinux $ */
-#ifndef QGSPGUTIL_H
-#define QGSPGUTIL_H
-#include <map>
-#include <qstringlist.h>
-extern "C"
-{
-  #include <libpq-fe.h>
-}
-
-/*!
- * \class QgsPgUtil
- * \brief Class containing utility functions for working with PostgreSQL
- * tables/databases
- */
-class QgsPgUtil
-{
-  public:
-    //! Instance function to return a pointer to the one and
-    //only QgsPgUtil object (QgsPgUtil is a Singleton)
-    static QgsPgUtil* instance();
-    /*! Checks to see if word is a PG reserved word.
-     * The comparison is case-insensitive.
-     * @param word Word to check
-     * @return True if word is a PG reserved word
-     */
-    bool isReserved(QString word);
-    /*!
-     * Set the connection to be used in database operations
-     * @param con Pointer to an active PostgreSQL connection
-     */
-    void setConnection(PGconn *con);
-    /*!
-     * Get the connection currently in use for database operations
-     * @return Pointer to the PostgreSQL connection object
-     */
-    PGconn *connection();
-    /*!
-     * Get the reserved word list
-     */
-    const QStringList & reservedWords();
-  protected:
-    //! Protected constructor
-    QgsPgUtil();
-    //! Destructor
-    ~QgsPgUtil();
-  private:
-    //! Initialize the list of reserved words
-    void initReservedWords();
-    //! Instance member
-    static QgsPgUtil* mInstance;
-    //! Reserved word list
-    QStringList mReservedWords;
-    //! PostgreSQL connection
-    PGconn *mPgConnection;
-};
-#endif // QGSPGUTIL_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,274 +0,0 @@
-/***************************************************************************
-                          qgspluginmanager.cpp  -  description
-                             -------------------
-    begin                : Someday 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgspluginmanager.cpp 5643 2006-07-27 15:21:47Z mhugent $ */
-#include <iostream>
-#include <QApplication>
-#include <QFileDialog>
-#include <QLineEdit>
-#include <Q3ListView>
-#include <QMessageBox>
-#include <QLibrary>
-#include <QSettings>
-#include "qgisplugin.h"
-#include "qgspluginmanager.h"
-#include "qgspluginitem.h"
-#include "qgsproviderregistry.h"
-#include "qgspluginregistry.h"
-
-
-#define TESTLIB
-#ifdef TESTLIB
-// This doesn't work on WIN32 and causes problems with plugins
-// on OS X (the code doesn't cause a problem but including dlfcn.h
-// renders plugins unloadable)
-#if !defined(WIN32) && !defined(Q_OS_MACX) 
-#include <dlfcn.h>
-#endif
-#endif
-QgsPluginManager::QgsPluginManager(QWidget * parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-  setupUi(this);
-  // set the default lib dir to the qgis install directory/lib (this info is
-  // available from the provider registry so we use it here)
-  QgsProviderRegistry *pr = QgsProviderRegistry::instance();
-  /*  char **argv = qApp->argv();
-     QString appDir = argv[0];
-     int bin = appDir.findRev("/bin", -1, false);
-     QString baseDir = appDir.left(bin);
-     QString libDir = baseDir + "/lib"; */
-
-  txtPluginDir->setText(pr->libraryDirectory().path());
-  getPluginDescriptions();
-}
-
-
-QgsPluginManager::~QgsPluginManager()
-{
-}
-
-void QgsPluginManager::on_btnBrowse_clicked()
-{
-  QString s = QFileDialog::getExistingDirectory(this, tr("Choose a directory"));
-  txtPluginDir->setText(s);
-  getPluginDescriptions();
-}
-
-void QgsPluginManager::getPluginDescriptions()
-{
-QString sharedLibExtension;
-#ifdef WIN32
-sharedLibExtension = "*.dll";
-#else
-sharedLibExtension = "*.so*";
-#endif
-
-// check all libs in the current plugin directory and get name and descriptions
-  QDir pluginDir(txtPluginDir->text(), sharedLibExtension, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks);
-
-  if (pluginDir.count() == 0)
-    {
-      QMessageBox::information(this, tr("No Plugins"), tr("No QGIS plugins found in ") + txtPluginDir->text());
-  } else
-    {
-      std::cout << "PLUGIN MANAGER:" << std::endl;
-      for (unsigned i = 0; i < pluginDir.count(); i++)
-        {
-          QString lib = QString("%1/%2").arg(txtPluginDir->text()).arg(pluginDir[i]);
-
-#ifdef TESTLIB
-          // This doesn't work on WIN32 and causes problems with plugins
-          // on OS X (the code doesn't cause a problem but including dlfcn.h
-          // renders plugins unloadable)
-#if !defined(WIN32) && !defined(Q_OS_MACX)
-          // test code to help debug loading problems
-          // This doesn't work on WIN32 and causes problems with plugins
-          // on OS X (the code doesn't cause a problem but including dlfcn.h
-          // renders plugins unloadable)
-
-//          void *handle = dlopen((const char *) lib, RTLD_LAZY);
-          void *handle = dlopen(lib.toLocal8Bit().data(), RTLD_LAZY | RTLD_GLOBAL);
-          if (!handle)
-            {
-              std::cout << "Error in dlopen: " << dlerror() << std::endl;
-
-          } else
-            {
-              std::cout << "dlopen suceeded for " << lib.toLocal8Bit().data() << std::endl;
-              dlclose(handle);
-            }
-#endif //#ifndef WIN32 && Q_OS_MACX
-#endif //#ifdef TESTLIB
-
-
-          std::cout << "Examining " << lib.toLocal8Bit().data() << std::endl;
-          QLibrary *myLib = new QLibrary(lib);
-          bool loaded = myLib->load();
-          if (loaded)
-            {
-              std::cout << "Loaded " << myLib->library().toLocal8Bit().data() << std::endl;
-              // Don't bother with libraries that are providers
-              //if(!myLib->resolve("isProvider"))
-
-	      //MH: Replaced to allow for plugins that are linked to providers
-	      //type is only used in non-provider plugins 
-	      if(myLib->resolve("type"))
-              {
-                name_t *pName = (name_t *) myLib->resolve("name");
-                description_t *pDesc = (description_t *) myLib->resolve("description");
-                version_t *pVersion = (version_t *) myLib->resolve("version");
-#ifdef QGISDEBUG
-                // show the values (or lack of) for each function
-                if(pName){
-                  std::cout << "Plugin name: " << pName().toLocal8Bit().data() << std::endl;
-                }else{
-                  std::cout << "Plugin name not returned when queried\n";
-                }
-                if(pDesc){
-                  std::cout << "Plugin description: " << pDesc().toLocal8Bit().data() << std::endl;
-                }else{
-                  std::cout << "Plugin description not returned when queried\n";
-                }
-                if(pVersion){
-                  std::cout << "Plugin version: " << pVersion().toLocal8Bit().data() << std::endl;
-                }else{
-                  std::cout << "Plugin version not returned when queried\n";
-                }
-#endif
-                if (pName && pDesc && pVersion)
-                {
-                  Q3CheckListItem *pl = new Q3CheckListItem(lstPlugins, pName(), Q3CheckListItem::CheckBox); //, pDesc(), pluginDir[i])
-                  pl->setText(1, pVersion());
-                  pl->setText(2, pDesc());
-                  pl->setText(3, pluginDir[i]);
-
-#ifdef QGISDEBUG
-                  std::cout << "Getting an instance of the QgsPluginRegistry" << std::endl;
-#endif
-                  // check to see if the plugin is loaded and set the checkbox accordingly
-                  QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
-                  // get the library using the plugin description
-#ifdef QGISDEBUG
-                  std::cout << "Getting library name from the registry" << std::endl;
-#endif
-                  QString libName = pRegistry->library(pName());
-                  if (libName.length() > 0)
-                  {
-#ifdef QGISDEBUG
-                    std::cout << "Found library name in the registry" << std::endl;
-#endif
-                    if (libName == myLib->library())
-                    {
-                      // set the checkbox
-                      pl->setOn(true);
-                    }
-                  }
-                } 
-                else
-                {
-                  std::cout << "Failed to get name, description, or type for " << myLib->library().toLocal8Bit().data() << std::endl;
-                }
-              } 
-            }
-          else
-          {
-            std::cout << "Failed to load " << myLib->library().toLocal8Bit().data() << std::endl;
-          }
-        }
-    }
-}
-void QgsPluginManager::on_btnOk_clicked()
-{
-  unload();
-  accept();
-}
-
-void QgsPluginManager::unload()
-{
-  QSettings settings;
-#ifdef QGISDEBUG
-  std::cout << "Checking for plugins to unload" << std::endl;
-#endif
-  Q3CheckListItem *lvi = (Q3CheckListItem *) lstPlugins->firstChild();
-  while (lvi != 0)
-    {
-      if (!lvi->isOn())
-        {
-          // its off -- see if it is loaded and if so, unload it
-          QgsPluginRegistry *pRegistry = QgsPluginRegistry::instance();
-#ifdef QGISDEBUG
-          std::cout << "Checking to see if " << lvi->text(0).toLocal8Bit().data() << " is loaded" << std::endl;
-#endif
-          QgisPlugin *plugin = pRegistry->plugin(lvi->text(0));
-          if (plugin)
-          {
-            plugin->unload();
-            // remove the plugin from the registry
-            pRegistry->removePlugin(lvi->text(0));
-            //disable it to the qsettings file [ts]
-            settings.writeEntry("/Plugins/" + lvi->text(0), false);
-          }
-        }
-      lvi = (Q3CheckListItem *) lvi->nextSibling();
-    }
-}
-
-std::vector < QgsPluginItem > QgsPluginManager::getSelectedPlugins()
-{
-  std::vector < QgsPluginItem > pis;
-  Q3CheckListItem *lvi = (Q3CheckListItem *) lstPlugins->firstChild();
-  while (lvi != 0)
-    {
-      if (lvi->isOn())
-        {
-
-          pis.push_back(QgsPluginItem(lvi->text(0), lvi->text(2), txtPluginDir->text() + "/" + lvi->text(3)));
-      } else
-        {
-
-        }
-      lvi = (Q3CheckListItem *) lvi->nextSibling();
-    }
-  return pis;
-}
-void QgsPluginManager::on_btnSelectAll_clicked()
-{
-  // select all plugins
-  Q3CheckListItem *child = dynamic_cast<Q3CheckListItem *>(lstPlugins->firstChild());
-  while(child)
-  {
-    child->setOn(true);
-    child = dynamic_cast<Q3CheckListItem *>(child->nextSibling());
-  }
-
-}
-
-void QgsPluginManager::on_btnClearAll_clicked()
-{
-  // clear all selection checkboxes 
-  Q3CheckListItem *child = dynamic_cast<Q3CheckListItem *>(lstPlugins->firstChild());
-  while(child)
-  {
-    child->setOn(false);
-    child = dynamic_cast<Q3CheckListItem *>(child->nextSibling());
-  }
-}
-
-void QgsPluginManager::on_btnClose_clicked()
-{
-  reject();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspluginmanager.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,58 +0,0 @@
-/***************************************************************************
-                          qgspluginmanager.h 
-               Plugin manager for loading/unloading QGIS plugins
-                             -------------------
-    begin                : 2004-02-12
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspluginmanager.h 4688 2006-01-15 12:08:18Z telwertowski $ */
-#ifndef QGSPLUGINMANAGER_H
-#define QGSPLUGINMANAGER_H
-#include <vector>
-#include "ui_qgspluginmanagerbase.h"
-#include "qgisgui.h"
-
-class QgsPluginItem;
-/*!
- * \brief Plugin manager for loading/unloading plugins
- at author Gary Sherman
-*/
-class QgsPluginManager : public QDialog, private Ui::QgsPluginManagerBase
-{
-  Q_OBJECT
-  public:
-    //! Constructor
-    QgsPluginManager(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsPluginManager();
-    //! Get description of plugins (name, etc)
-    void getPluginDescriptions();
-    //! Unload the selected plugins
-    void unload();
-    //! Gets the selected plugins
-    std::vector<QgsPluginItem> getSelectedPlugins();
-    public slots:
-    //! Load selected plugins and close the dialog
-    void on_btnOk_clicked();
-    //! Select all plugins by setting their checkbox on
-    void on_btnSelectAll_clicked();
-    //! Clear all selections by clearing the plugins checkbox
-    void on_btnClearAll_clicked();
-    //! Browse to a location (directory) containing QGIS plugins
-    void on_btnBrowse_clicked();
-    //! Close the dialog
-    void on_btnClose_clicked();
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,46 +0,0 @@
-/***************************************************************************
-                    qgspluginmetadata.cpp  -  Metadata class for
-                    describing a loaded plugin.
-                             -------------------
-    begin                : Fri Feb 6 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspluginmetadata.cpp 4619 2006-01-08 23:18:32Z timlinux $ */
-
-#include <qstring.h>
-#include "../plugins/qgisplugin.h"
-#include "qgspluginmetadata.h"
-QgsPluginMetadata::QgsPluginMetadata(QString _libraryPath, 
-                                     QString _name,
-                                     QgisPlugin * _plugin):
-        m_name(_name),
-        libraryPath(_libraryPath),
-        m_plugin(_plugin)
-{
-
-}
-
-QString QgsPluginMetadata::name()
-{
-  return m_name;
-}
-
-QString QgsPluginMetadata::library()
-{
-  return libraryPath;
-}
-
-QgisPlugin *QgsPluginMetadata::plugin()
-{
-  return m_plugin;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspluginmetadata.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,43 +0,0 @@
-/***************************************************************************
-                    qgspluginmetadata.h  -  Metadata class for
-                    describing a loaded plugin.
-                             -------------------
-    begin                : Fri Feb 6 2004
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgspluginmetadata.h 4619 2006-01-08 23:18:32Z timlinux $ */
- 
-#ifndef QGSPLUGINMETADATA_H
-#define QGSPLUGINMETADATA_H
-class QgisPlugin;
-class QString;
-/**
-* \class QgsPluginMetadata
-* \brief Stores information about a loaded plugin, including a pointer to
-* the instantiated object. This allows the plugin manager to tell the plugin to
-* unload itself.
-*/
-class QgsPluginMetadata
-{
-public:
- QgsPluginMetadata(QString _libraryPath, QString _name, QgisPlugin *_plugin);
- QString name();
- QString library();
- QgisPlugin *plugin();
-private:
- QString m_name;
- QString libraryPath;
- QgisPlugin *m_plugin;
-};
-#endif //QGSPLUGINMETADATA_H
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-
-/***************************************************************************
-                                 qgslinestyle.h
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgspointstylewidget.h"
-
-QgsPointStyleWidget::QgsPointStyleWidget( QWidget *parent, const char * name, Qt::WFlags f)
-           :QgsPointStyleWidgetBase( )
-{
-}
-
-QgsPointStyleWidget::~QgsPointStyleWidget()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgspointstylewidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-/***************************************************************************
-                                qgspointstyle.h 
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSPOINTSTYLE_H
-#define QGSPOINTSTYLE_H
-
-#include "ui_qgspointstylewidgetbase.h"
-#include <QDialog>
-
-
-class QgsPointStyleWidget:public QDialog, private Ui::QgsPointStyleWidgetBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor
-  QgsPointStyleWidget(QWidget *parent = 0, const char * name = 0,  Qt::WFlags f = 0 );
-
-  ~QgsPointStyleWidget();
-
-
-public slots:
-  
-private:
-    
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsproject.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsproject.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsproject.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1666 +0,0 @@
-/***************************************************************************
-                          qgsproject.cpp -  description
-                             -------------------
-  begin                : July 23, 2004
-  copyright            : (C) 2004 by Mark Coletti
-  email                : mcoletti at gmail.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-#include "qgsproject.h"
-
-#include <memory>
-#include <cassert>
-#include <iostream>
-
-using namespace std;
-
-#include "qgslegend.h"
-#include "qgsrect.h"
-#include "qgsvectorlayer.h"
-#include "qgsrasterlayer.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsexception.h"
-#include "qgsprojectproperty.h"
-#include "qgsmapcanvas.h"
-#include "qgslogger.h"
-
-#include <QApplication>
-#include <QFileInfo>
-#include <QDomNode>
-#include <QWidget>
-#include <QObject>
-#include <QTextStream>
-#include <QToolBox>
-#include <QSplitter>
-
-
-static const char *const ident_ = "$Id: qgsproject.cpp 7019 2007-06-11 03:55:32Z timlinux $";
-
-
-
-
-
-// / canonical project instance
-QgsProject * QgsProject::theProject_;
-
-
-
-
-
-
-
-/**
-    Take the given scope and key and convert them to a string list of key
-    tokens that will be used to navigate through a Property hierarchy
-
-    E.g., scope "someplugin" and key "/foo/bar/baz" will become a string list
-    of { "properties", "someplugin", "foo", "bar", "baz" }.  "properties" is
-    always first because that's the permanent ``root'' Property node.
- */
- static 
- QStringList makeKeyTokens_(QString const &scope, QString const &key)
- {
-   // XXX - debugger probes
-   // const char * scope_str = scope.toLocal8Bit().data();
-   // const char * key_str   = key.toLocal8Bit().data();
-
-     QStringList keyTokens = QStringList(scope);
-     keyTokens += QStringList::split('/', key);
-
-     // be sure to include the canonical root node
-     keyTokens.push_front( "properties" );
-
-     return keyTokens;
- } // makeKeyTokens_
-
-
-
-
- /**
-    return the property that matches the given key sequence, if any
-
-    @param sequence is a tokenized key sequence
-    @param p is likely to be the top level QgsPropertyKey in QgsProject:e:Imp.
-
-    @return null if not found, otherwise located Property
- */
- static
- QgsProperty * findKey_( QString const & scope, 
-                         QString const & key, 
-                         QgsPropertyKey &   rootProperty )
- {
-     QgsPropertyKey * currentProperty = &rootProperty;
-     QgsProperty * nextProperty;           // link to next property down hiearchy
-
-     QStringList keySequence = makeKeyTokens_( scope, key );
-
-     while ( ! keySequence.isEmpty() )
-     {
-         // if the current head of the sequence list matches the property name,
-         // then traverse down the property hierarchy
-         if ( keySequence.first() == currentProperty->name() )
-         {
-             // remove front key since we're traversing down a level
-             keySequence.pop_front();
-
-             // if we have only one key name left, then return the key found
-             if ( 1 == keySequence.count() )
-             {
-                 return currentProperty->find( keySequence.front() );
-                 
-             }
-             // if we're out of keys then the current property is the one we
-             // want; i.e., we're in the rate case of being at the top-most
-             // property node
-             else if ( keySequence.isEmpty() )
-             {
-                 return currentProperty;
-             }
-             else if (( nextProperty = currentProperty->find( keySequence.first() ) ))
-             {
-                 if ( nextProperty->isKey() )
-                 {
-                     currentProperty = dynamic_cast<QgsPropertyKey*>(nextProperty);
-                 }
-                 // it may be that this may be one of several property value
-                 // nodes keyed by QDict string; if this is the last remaining
-                 // key token and the next property is a value node, then
-                 // that's the situation, so return the currentProperty
-                 else if ( nextProperty->isValue() && (1 == keySequence.count()) )
-                 {
-                     return currentProperty;
-                 }
-                 else            // QgsPropertyValue not Key, so return null
-                 {
-                     return 0x0;
-                 }
-             }
-             else                // if the next key down isn't found
-             {                   // then the overall key sequence doesn't exist
-                 return 0x0;
-             }
-         }
-         else
-         {
-             return 0x0;
-         }
-     }
-
-     return 0x0;
- } // findKey_
-
-
-
- /** add the given key and value
-
- @param sequence is list of keys
- @param rootProperty is the property from which to start adding
- @param value the value associated with the key
- */
- static
- QgsProperty * addKey_( QString const & scope,
-                        QString const & key, 
-                        QgsPropertyKey * rootProperty,
-                        QVariant value )
- {
-     QStringList keySequence = makeKeyTokens_( scope, key );
-
-     // cursor through property key/value hierarchy
-     QgsPropertyKey * currentProperty = rootProperty;
-
-     QgsProperty * newProperty; // link to next property down hiearchy
-
-     while ( ! keySequence.isEmpty() )
-     {
-         // if the current head of the sequence list matches the property name,
-         // then traverse down the property hierarchy
-         if ( keySequence.first() == currentProperty->name() )
-         {
-             // remove front key since we're traversing down a level
-             keySequence.pop_front();
-
-             // if key sequence has one last element, then we use that as the
-             // name to store the value
-             if ( 1 == keySequence.count() )
-             {
-                 currentProperty->setValue( keySequence.front(), value );
-                 return currentProperty;
-             }
-             // we're at the top element if popping the keySequence element
-             // will leave it empty; in that case, just add the key
-             else if ( keySequence.isEmpty() )
-             {
-                 currentProperty->setValue( value );
-
-                 return currentProperty;
-             }
-             else if (( newProperty = currentProperty->find( keySequence.first() ) ))
-             {
-                 currentProperty = dynamic_cast<QgsPropertyKey*>(newProperty);
-
-                 if ( currentProperty )
-                 {
-                     continue;
-                 }
-                 else            // QgsPropertyValue not Key, so return null
-                 {
-                     return 0x0;
-                 }
-             }
-             else                // the next subkey doesn't exist, so add it
-             {
-                 newProperty = currentProperty->addKey( keySequence.first() );
-
-                 if ( newProperty )
-                 {
-                     currentProperty = dynamic_cast<QgsPropertyKey*>(newProperty);
-                 }
-                 continue;
-             }
-         }
-         else
-         {
-             return 0x0;
-         }
-     }
-
-     return 0x0;
-
- } // addKey_
-
-
-
- static
- void removeKey_(QString const & scope,
-                 QString const & key, 
-                 QgsPropertyKey & rootProperty)
- {
-     QgsPropertyKey * currentProperty = &rootProperty;
-
-     QgsProperty * nextProperty;   // link to next property down hiearchy
-     QgsPropertyKey * previousQgsPropertyKey; // link to previous property up hiearchy
-
-     QStringList keySequence = makeKeyTokens_( scope, key );
-
-     while ( ! keySequence.isEmpty() )
-     {
-         // if the current head of the sequence list matches the property name,
-         // then traverse down the property hierarchy
-         if ( keySequence.first() == currentProperty->name() )
-         {
-             // remove front key since we're traversing down a level
-             keySequence.pop_front();
-
-             // if we have only one key name left, then try to remove the key
-             // with that name
-             if ( 1 == keySequence.count() )
-             {
-                 currentProperty->removeKey( keySequence.front() );
-             }
-             // if we're out of keys then the current property is the one we
-             // want to remove, but we can't delete it directly; we need to
-             // delete it from the parent property key container
-             else if ( keySequence.isEmpty() )
-             {
-                 previousQgsPropertyKey->removeKey( currentProperty->name() );
-             }
-             else if (( nextProperty = currentProperty->find( keySequence.first() ) ))
-             {
-                 previousQgsPropertyKey = currentProperty;
-                 currentProperty = dynamic_cast<QgsPropertyKey*>(nextProperty);
-
-                 if ( currentProperty )
-                 {
-                     continue;
-                 }
-                 else            // QgsPropertyValue not Key, so return null
-                 {
-                     return;
-                 }
-             }
-             else                // if the next key down isn't found
-             {                   // then the overall key sequence doesn't exist
-                 return;
-             }
-         }
-         else
-         {
-             return;
-         }
-     }
-
- } // void removeKey_
-
-
-
- struct QgsProject::Imp
- {
-     /// current physical project file
-     QFile file;
-
-     /// property hierarchy
-     QgsPropertyKey properties_;
-
-     /// project title
-     QString title;
-
-     /// true if project has been modified since it has been read or saved
-     bool dirty;
-
-     /// map units for current project
-     QGis::units mapUnits;
-
-     Imp()
-         : title(""), 
-           dirty(false), 
-           mapUnits(QGis::METERS)
-     {                             // top property node is the root
-                                   // "properties" that contains all plug-in
-                                   // and extra property keys and values
-         properties_.name() = "properties"; // root property node always this value
-     }
-
-     /** clear project properties when a new project is started 
-      */ 
-     void clear()
-     {
-         QgsDebug( "Clearing project properties Impl->clear();" );
-
-         properties_.clearKeys();
-         mapUnits = QGis::METERS;
-         title = "";
-
-         // reset some default project properties
-         // XXX THESE SHOULD BE MOVED TO STATUSBAR RELATED SOURCE
-         QgsProject::instance()->writeEntry("PositionPrecision", "/Automatic", true);
-         QgsProject::instance()->writeEntry("PositionPrecision", "/DecimalPlaces", 2);
-     }
-
- };  // struct QgsProject::Imp
-
-
-
- QgsProject::QgsProject()
-     : imp_(new QgsProject::Imp)
- {
-     // Set some default project properties
-     // XXX THESE SHOULD BE MOVED TO STATUSBAR RELATED SOURCE
-     writeEntry("PositionPrecision", "/Automatic", true);
-     writeEntry("PositionPrecision", "/DecimalPlaces", 2);
-     // XXX writeEntry() makes the project dirty, but it doesn't make sense
-     // for a new project to be dirty, so let's clean it up
-     dirty(false);
- } // QgsProject ctor
-
-
-
- QgsProject::~QgsProject()
- {
-     // note that std::auto_ptr automatically deletes imp_ when it's destroyed
- } // QgsProject dtor
-
-
-
- QgsProject * QgsProject::instance()
- {
-     if (!QgsProject::theProject_)
-     {
-         QgsProject::theProject_ = new QgsProject;
-     }
-
-     return QgsProject::theProject_;
- } // QgsProject * instance()
-
-
-
-
- void QgsProject::title(QString const &title)
- {
-     imp_->title = title;
-
-     dirty(true);
- } // void QgsProject::title
-
-
- QString const & QgsProject::title() const
- {
-     return imp_->title;
- } // QgsProject::title() const
-
-
- QGis::units QgsProject::mapUnits() const
- {
-     return imp_->mapUnits;
- } // QGis::units QgsProject::mapUnits() const
-
-
-
- void QgsProject::mapUnits(QGis::units u)
- {
-     imp_->mapUnits = u;
-
-     dirty(true);
- } // void QgsProject::mapUnits(QGis::units u)
-
-
- bool QgsProject::dirty() const
- {
-     return imp_->dirty;
- } // bool QgsProject::dirty() 
-
-
- void QgsProject::dirty(bool b)
- {
-     imp_->dirty = b;
- } // bool QgsProject::dirty()
-
-
-
- void QgsProject::filename(QString const &name)
- {
-     imp_->file.setName(name);
-
-     dirty(true);
- } // void QgsProject::filename( QString const & name )
-
-
-
- QString QgsProject::filename() const
- {
-     return imp_->file.name();
- } // QString QgsProject::filename() const
-
-
-
- /// basically a debugging tool to dump property list values 
- static void dump_( QgsPropertyKey const & topQgsPropertyKey )
- {
-     qDebug("current properties:");
-
-     topQgsPropertyKey.dump();
- } // dump_
-
-
-
- /**
-    Fetches extents, or area of interest, saved in project.
-
-    @note extent XML of form:
-    <extent>
-    <xmin>[number]</xmin>
-    <ymin>[number]</ymin>
-    <xmax>[number]</xmax>
-    <ymax>[number]</ymax>
-    </extent>
-
- */
- static bool _getExtents(QDomDocument const &doc, QgsRect & aoi)
- {
-     QDomNodeList extents = doc.elementsByTagName("extent");
-
-     if (extents.count() > 1)
-     {
-         qDebug
-             ("there appears to be more than one extent in the project\nusing first one");
-     } else if (extents.count() < 1) // no extents found, so bail
-     {
-         return false;
-     }
-
-     QDomNode extentNode = extents.item(0);
-
-     QDomNode xminNode = extentNode.namedItem("xmin");
-     QDomNode yminNode = extentNode.namedItem("ymin");
-     QDomNode xmaxNode = extentNode.namedItem("xmax");
-     QDomNode ymaxNode = extentNode.namedItem("ymax");
-
-     QDomElement exElement = xminNode.toElement();
-     double xmin = exElement.text().toDouble();
-     aoi.setXmin(xmin);
-
-     exElement = yminNode.toElement();
-     double ymin = exElement.text().toDouble();
-     aoi.setYmin(ymin);
-
-     exElement = xmaxNode.toElement();
-     double xmax = exElement.text().toDouble();
-     aoi.setXmax(xmax);
-
-     exElement = ymaxNode.toElement();
-     double ymax = exElement.text().toDouble();
-     aoi.setYmax(ymax);
-
-     return true;
-
- }                               // _getExtents
-
-
-
- /**
-
- Restore any optional properties found in "doc" to "properties".
-
- <properties> tags for all optional properties.  Within that there will be
- scope tags.  In the following example there exist one property in the
- "fsplugin" scope.  "layers" is a list containing three string values.
-
- <properties>
-   <fsplugin>
-     <foo type="int" >42</foo>
-     <baz type="int" >1</baz>
-     <layers type="QStringList" >
-       <value>railroad</value>
-       <value>airport</value>
-     </layers>
-     <xyqzzy type="int" >1</xyqzzy>
-     <bar type="double" >123.456</bar>
-     <feature_types type="QStringList" >
-        <value>type</value>
-     </feature_types>
-   </fsplugin>
- </properties>
-
- @param project_properties should be the top QgsPropertyKey node.
-
- */
-static 
-void
-_getProperties(QDomDocument const &doc, QgsPropertyKey & project_properties)
-{
-    QDomNodeList properties = doc.elementsByTagName("properties");
-
-    if (properties.count() > 1)
-    {
-        qDebug("there appears to be more than one ``properties'' XML tag ... bailing");
-        return;
-    } else if (properties.count() < 1)  // no properties found, so we're done
-    {
-        return;
-    }
-
-    // item(0) because there should only be ONE
-    // "properties" node
-    QDomNodeList scopes = properties.item(0).childNodes();
-
-    if (scopes.count() < 1)
-    {
-        qDebug("empty ``properties'' XML tag ... bailing");
-        return;
-    }
-
-    QDomNode propertyNode = properties.item(0);
-
-    if ( ! project_properties.readXML( propertyNode ) )
-    {
-        qDebug("Project_properties.readXML() failed");
-    }
-
-// DEPRECATED as functionality has been shoved down to QgsProperyKey::readXML()
-
-//     size_t i = 0;
-//     while (i < scopes.count())
-//     {
-//         QDomNode curr_scope_node = scopes.item(i);
-
-//         qDebug("found %d property node(s) for scope %s",
-//                curr_scope_node.childNodes().count(),
-//                (const char *) curr_scope_node.nodeName().utf8());
-
-//         QString key(curr_scope_node.nodeName());
-
-//         QgsPropertyKey * currentKey = 
-//             dynamic_cast<QgsPropertyKey*>(project_properties.find( key ));
-
-//         if ( ! currentKey )
-//         {
-//             // if the property key doesn't yet exist, create an empty instance
-//             // of that key
-
-//             currentKey = project_properties.addKey( key );
-
-//             if ( ! currentKey )
-//             {
-//                 qDebug( "%s:%d unable to add key", __FILE__, __LINE__ );
-//             }
-//         }
-
-//         if (! currentKey->readXML(curr_scope_node))
-//         {
-//             qDebug("%s:%d unable to read XML for property %s", __FILE__, __LINE__,
-//                    (const char *) curr_scope_node.nodeName().utf8());
-//         }
-
-//         ++i;
-//     }
-} // _getProperties
-
-
-
-/**
-   Get the project map units
-
-   XML in file has this form:
-   <units>feet</units>
-*/
-static bool _getMapUnits(QDomDocument const &doc)
-{
-    QDomNodeList nl = doc.elementsByTagName("units");
-
-    // since "units" is a new project file type, legacy project files will not
-    // have this element.  If we do have such a legacy project file missing
-    // "units", then just return;
-    if (!nl.count())
-    {
-        return false;
-    }
-
-    QDomNode node = nl.item(0);   // there should only be one, so zeroth element ok
-    QDomElement element = node.toElement();
-
-    if ("meters" == element.text())
-    {
-        QgsProject::instance()->mapUnits(QGis::METERS);
-    } else if ("feet" == element.text())
-    {
-        QgsProject::instance()->mapUnits(QGis::FEET);
-    } else if ("degrees" == element.text())
-    {
-        QgsProject::instance()->mapUnits(QGis::DEGREES);
-    } else if ("unknown" == element.text())
-    {
-        QgsProject::instance()->mapUnits(QGis::UNKNOWN);
-    } else
-    {
-        std::
-            cerr << __FILE__ << ":" << __LINE__ << " unknown map unit type " <<
-            element.text().toLocal8Bit().data() << "\n";
-        false;
-    }
-
-    return true;
-
-} // _getMapUnits
-
-
-
-/**
-   Get the project title
-
-   XML in file has this form:
-   <qgis projectname="default project">
-   <title>a project title</title>
-
-   @todo XXX we should go with the attribute xor <title>, not both.
-*/
-static void _getTitle(QDomDocument const &doc, QString & title)
-{
-    QDomNodeList nl = doc.elementsByTagName("title");
-
-    title = "";                 // by default the title will be empty
-
-    if (!nl.count())
-    {
-        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
-        return;
-    }
-
-    QDomNode titleNode = nl.item(0);  // there should only be one, so zeroth element ok
-
-    if (!titleNode.hasChildNodes()) // if not, then there's no actual text
-    {
-        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
-        return;
-    }
-
-    QDomNode titleTextNode = titleNode.firstChild();  // should only have one child
-
-    if (!titleTextNode.isText())
-    {
-        qDebug("%s : %d %s", __FILE__, __LINE__, " unable to find title element\n");
-        return;
-    }
-
-    QDomText titleText = titleTextNode.toText();
-
-    title = titleText.data();
-
-} // _getTitle
-
-
-/** return the version string found in the given DOM document
-
-   @returns the version string or an empty string if none found
- */
-static QString _getVersion(QDomDocument const &doc)
-{
-    QDomNodeList nl = doc.elementsByTagName("qgis");
-
-    if (!nl.count())
-    {
-        QgsDebug(" unable to find qgis element in project file");
-        return "";
-    }
-    
-    QDomNode qgisNode = nl.item(0);  // there should only be one, so zeroth element ok
-
-    QDomElement qgisElement = qgisNode.toElement(); // qgis node should be element
-
-    return qgisElement.attribute("version");
-} // _getVersion
-
-
-/**
-   locate a qgsMapCanvas object
-*/
-static QgsMapCanvas * _findMapCanvas()
-{
-  QgsMapCanvas * theMapCanvas = 0x0;
-  QString canonicalMapCanvasName = "theMapCanvas";
-
-  QWidgetList wlist = QApplication::topLevelWidgets();
-  foreach (QWidget *widget, QApplication::topLevelWidgets()) 
-  {
-    theMapCanvas = dynamic_cast <QgsMapCanvas *>(widget->child(canonicalMapCanvasName)); 
-    if (theMapCanvas)
-    {
-      break;
-    }
-  }
-
-  if (theMapCanvas)
-  {
-    return theMapCanvas;
-  } 
-  else
-  {
-    qDebug("Unable to find the map canvas widget with name " + canonicalMapCanvasName);
-
-    return 0x0;                 // XXX some sort of error value? Exception?
-  }
-} // _findMapCanvas
-
-
-
-static QgsLegend * _findLegend()
-{
-  QString canonicalLegendName = "theMapLegend";
-  QgsLegend* theLegend = 0;
-
-  QWidgetList wlist = QApplication::topLevelWidgets();
-  foreach (QWidget *widget, QApplication::topLevelWidgets()) 
-  {
-    theLegend = dynamic_cast <QgsLegend *>(widget->child(canonicalLegendName.toLocal8Bit().data(), 0, true)); 
-    if(theLegend)
-      {
-	break;
-      }
-  }
-  
-  return theLegend;
-
-} // _findLegend
-
-
-
-/**
-   Read map layers from project file
-
-   
-   @returns pair of < bool, list<QDomNode> >; bool is true if function worked;
-            else is false.  list contains nodes corresponding to layers that couldn't
-            be loaded
-
-   @note XML of form:
-
-   <maplayer type="vector" visible="1" showInOverviewFlag="0">
-      <layername>Hydrop</layername>
-      <datasource>/data/usgs/city_shp/hydrop.shp</datasource>
-      <zorder>0</zorder>
-      <provider>ogr</provider>
-      <singlesymbol>
-         <renderitem>
-            <value>blabla</value>
-            <symbol>
-               <outlinecolor red="85" green="0" blue="255" />
-               <outlinestyle>SolidLine</outlinestyle>
-               <outlinewidth>1</outlinewidth>
-               <fillcolor red="0" green="170" blue="255" />
-               <fillpattern>SolidPattern</fillpattern>
-            </symbol>
-            <label>blabla</label>
-         </renderitem>
-      </singlesymbol>
-      <label>0</label>
-      <labelattributes>
-         <label text="Label" field="" />
-         <family name="Sans Serif" field="" />
-         <size value="12" units="pt" field="" />
-         <bold on="0" field="" />
-         <italic on="0" field="" />
-         <underline on="0" field="" />
-         <color red="0" green="0" blue="0" field="" />
-         <x field="" />
-         <y field="" />
-         <offset  units="pt" x="0" xfield="" y="0" yfield="" />
-         <angle value="0" field="" />
-         <alignment value="center" field="" />
-      </labelattributes>
-   </maplayer>
-
-*/
-static pair< bool, list<QDomNode> > _getMapLayers(QDomDocument const &doc)
-{
-    // Layer order is implicit in the order they are stored in the project file
-
-    QDomNodeList nl = doc.elementsByTagName("maplayer");
-
-    // XXX what is this used for? QString layerCount( QString::number(nl.count()) );
-
-    QString wk;
-
-    list<QDomNode> brokenNodes; // a list of DOM nodes corresponding to layers
-                                // that we were unable to load; this could be
-                                // because the layers were removed or
-                                // re-located after the project was last saved
-
-    // process the map layer nodes
-
-    if (0 == nl.count())        // if we have no layers to process, bail
-    {
-        return make_pair(true, brokenNodes); // Decided to return "true" since it's
-                                // possible for there to be a project with no
-                                // layers; but also, more imporantly, this
-                                // would cause the tests/qgsproject to fail
-                                // since the test suite doesn't currently
-                                // support test layers
-    }
-
-    bool returnStatus = true;
-
-    for (int i = 0; i < nl.count(); i++)
-    {
-        QDomNode node = nl.item(i);
-        QDomElement element = node.toElement();
-
-        QString type = element.attribute("type");
-
-
-        QgsMapLayer *mapLayer;
-#ifdef QGISDEBUG
-
-        std::cerr << "type is " << type.toLocal8Bit().data() << std::endl;
-#endif
-
-        if (type == "vector")
-        {
-            mapLayer = new QgsVectorLayer;
-        } else if (type == "raster")
-        {
-            mapLayer = new QgsRasterLayer;
-        }
-
-        Q_CHECK_PTR(mapLayer);
-
-        if (!mapLayer)
-        {
-#ifdef QGISDEBUG
-            std::cerr << __FILE__ << " : " << __LINE__ << " unable to create layer\n";
-#endif
-            return make_pair(false, brokenNodes);
-        }
-
-        // have the layer restore state that is stored in DOM node
-        if ( mapLayer->readXML(node) )
-        {
-            mapLayer = QgsMapLayerRegistry::instance()->addMapLayer(mapLayer);
-	    mapLayer->refreshLegend();
-        }
-        else
-        {
-            delete mapLayer;
-
-            qDebug( "%s:%d unable to load %s layer", __FILE__, __LINE__, (const char *)type.toLocal8Bit().data() );
-
-            returnStatus = false; // flag that we had problems loading layers
-
-            brokenNodes.push_back( node );
-        }
-    }
-
-    return make_pair(returnStatus, brokenNodes);
-
-} // _getMapLayers
-
-
-/**
-   Sets the given canvas' extents
-
-*/
-static void _setCanvasExtent(QgsRect const &newExtent)
-{
-    // first find the canonical map canvas
-    QgsMapCanvas *theMapCanvas = _findMapCanvas();
-
-    if (!theMapCanvas)
-    {
-      // Don't produce an error message here because _findMapCanvas
-      // does one already.
-      return;                     // XXX some sort of error value? Exception?
-    }
-
-    theMapCanvas->setExtent(newExtent);
-
-    // XXX sometimes the canvases are frozen here, sometimes not; this is a
-    // XXX worrisome inconsistency; regardless, unfreeze the canvases to ensure
-    // XXX a redraw
-    theMapCanvas->freeze(false);
-    
-    theMapCanvas->update();
-
-}                               // _setCanvasExtent()
-
-
-
-/**
-   Get the full extent for the given canvas.
-
-   This is used to get the full extent of the main map canvas so that we can
-   set the overview canvas to that instead of stupidly setting the overview
-   canvas to the *same* extent that's in the main map canvas.
-
-*/
-static QgsRect _getFullExtent()
-{
-    // XXX since this is a cut-n-paste from above, maybe generalize to a
-    // XXX separate function?
-    // first find the canonical map canvas
-    QgsMapCanvas *theMapCanvas = _findMapCanvas();
-
-    if (!theMapCanvas)
-    {
-      // _findMapCanvas() will produce an error if the map canvas wasn't found
-        return QgsRect();           // XXX some sort of error value? Exception?
-    }
-
-
-    return theMapCanvas->fullExtent();
-
-} // _getFullExtent( )
-
-
-
-
-
-
-/**
-   Get the  extent for the given canvas.
-
-   This is used to get the  extent of the main map canvas so that we can
-   set the overview canvas to that instead of stupidly setting the overview
-   canvas to the *same* extent that's in the main map canvas.
-
-*/
-static QgsRect _getExtent()
-{
-    // XXX since this is a cut-n-paste from above, maybe generalize to a
-    // XXX separate function?
-    // first find the canonical map canvas
-    QgsMapCanvas *theMapCanvas = _findMapCanvas();
-
-    if (!theMapCanvas)
-    {
-      // _findMapCanvas will produce an error if the map canvas wasn't found
-        return QgsRect();           // XXX some sort of error value? Exception?
-    }
-
-
-    return theMapCanvas->extent();
-
-} // _getExtent( )
-
-
-
-
-/**
-   Please note that most of the contents were copied from qgsproject
-*/
-bool QgsProject::read(QFileInfo const &file)
-{
-    imp_->file.setName(file.filePath());
-
-    return read();
-} // QgsProject::read( QFile & file )
-
-
-
-/**
-   @note it's presumed that the caller has already reset the map canvas, map
-   registry, and legend
-*/
-bool QgsProject::read()
-{
-    std::auto_ptr< QDomDocument > doc =
-        std::auto_ptr < QDomDocument > (new QDomDocument("qgis"));
-
-    if (!imp_->file.open(QIODevice::ReadOnly))
-    {
-        imp_->file.close();     // even though we got an error, let's make
-                                // sure it's closed anyway
-
-        throw QgsIOException( QObject::tr("Unable to open ") + imp_->file.name());
-
-        return false;           // XXX raise exception? Ok now superfluous
-                                // XXX because of exception.
-    }
-
-    // location of problem associated with errorMsg
-    int line, column;
-    QString errorMsg;
-
-    if (!doc->setContent(&imp_->file, &errorMsg, &line, &column))
-    {
-        // want to make this class as GUI independent as possible; so commented out
-        // QMessageBox::critical( 0x0, "Project File Read Error",
-        // errorMsg + " at line " + QString::number( line ) +
-        // " column " + QString::number( column ) );
-
-        QString errorString = QObject::tr("Project file read error: ") +
-            errorMsg + QObject::tr(" at line ") + QString::number(line) + QObject::tr(" column ") +
-            QString::number(column);
-
-        qDebug((const char *) errorString.utf8());
-
-        imp_->file.close();
-
-        throw QgsException(errorString + QObject::tr(" for file ") + imp_->file.name());
-
-        return false;               // XXX superfluous because of exception
-    }
-
-    imp_->file.close();
-
-
-#ifdef QGISDEBUG
-    qWarning(("opened document " + imp_->file.name()).toLocal8Bit().data());
-#endif
-
-    // before we start loading everything, let's clear out the current set of
-    // properties first so that we don't have the properties from the previous
-    // project still hanging around
-
-    imp_->clear();
-
-    // now get any properties
-    _getProperties(*doc, imp_->properties_);
-
-    qDebug("%s:%d %d properties read", __FILE__, __LINE__,
-           imp_->properties_.count());
-
-    dump_(imp_->properties_);
-
-
-    // restore the canvas' area of interest
-
-    // now get project title
-    _getTitle(*doc, imp_->title);
-
-    // get project version string, if any
-    QString fileVersion = _getVersion(*doc);
-
-    if ( fileVersion.isNull() )
-    {
-        QgsDebug( "project file has no version string" );
-    }
-    else
-    {
-        QgsDebug( QString("project file has version " + fileVersion).ascii() );
-    }
-
-    QStringList fileVersionParts = fileVersion.split(".");
-    QStringList qgisVersionParts = QString(QGis::qgisVersion).split(".");
-
-    bool older = false;
-
-    if (fileVersionParts.size() != 3 || qgisVersionParts.size() != 3)
-      older = false; // probably an older version
-    else
-    {
-      if (fileVersionParts.at(0) < qgisVersionParts.at(0))
-        older = true;
-      else if (fileVersionParts.at(1) < qgisVersionParts.at(1))
-        older = true;
-      else if (fileVersionParts.at(2) < qgisVersionParts.at(2))
-        older = true;
-    }
-
-    if (older)
-    {
-      QgsLogger::warning("Loading a file that was saved with an older "
-                         "version of qgis (saved in " + fileVersion +
-                         ", loaded in " + QGis::qgisVersion +
-                         "). Problems may occur.");
-    }
-
-#ifdef QGISDEBUG
-    qDebug(("Project title: " + imp_->title).toLocal8Bit().data());
-#endif
-
-    // now set the map units; note, alters QgsProject::instance().
-    _getMapUnits(*doc);
-    QgsMapCanvas* canvas = _findMapCanvas();
-    if (canvas)
-      canvas->setMapUnits(mapUnits());
-
-    // get the map layers
-    pair< bool, list<QDomNode> > getMapLayersResults =  _getMapLayers(*doc);
-
-    // Restore the map canvas extent
-
-    QgsRect savedExtent;
-
-    if (!_getExtents(*doc, savedExtent))
-    {
-#ifdef QGISDEBUG
-        qDebug("Unable to get extents from project file.");
-#endif
-
-        // Since we could be executing this from the test harness which
-        // doesn't *have* layers -- nor a GUI for that matter -- we'll just
-        // leave in the whining and boldly stomp on.
-
-         throw QgsException( QObject::tr("Cannot get extents from ") + imp_->file.name());
-
-         // return false;
-    }
-    else
-    {
-      if (canvas)
-      {
-        canvas->setExtent(savedExtent);
-      }
-    }
-
-    // review the integrity of the retrieved map layers
-
-    if ( ! getMapLayersResults.first )
-    {
-#ifdef QGISDEBUG
-        qDebug("Unable to get map layers from project file.");
-#endif
-
-        if ( ! getMapLayersResults.second.empty() )
-        {
-            qDebug( "%s:%d there are %d broken layers", __FILE__, __LINE__, getMapLayersResults.second.size() );
-        }
-
-        // Since we could be executing this from the test harness which
-        // doesn't *have* layers -- nor a GUI for that matter -- we'll just
-        // leave in the whining and boldly stomp on.
-
-	//also restore the legend before bailing out
-	QgsLegend* theLegend = _findLegend();
-	if(theLegend)
-	  {
-	    QDomNodeList ll = doc->elementsByTagName("legend");
-	    if(ll.count()==1)
-	      {
-		QDomNode legendnode = ll.item(0);
-		theLegend->readXML(legendnode);
-	      }
-	  
-	  }
-
-        throw QgsProjectBadLayerException( getMapLayersResults.second );
-
-//         return false;
-    }
-
-    //restore legend
-      
-    QgsLegend* theLegend = _findLegend();
-    if(theLegend)
-    {
-      QDomNodeList ll = doc->elementsByTagName("legend");
-      if(ll.count()==1)
-      {
-        QDomNode legendnode = ll.item(0);
-        theLegend->readXML(legendnode);
-      }
-    }
-
-    // can't be dirty since we're allegedly in pristine state
-    dirty(false);
-
-    return true;
-
-} // QgsProject::read
-
-
-
-
-
-bool QgsProject::read( QDomNode & layerNode )
-{
-    QString type = layerNode.toElement().attribute("type");
-
-    QgsMapLayer *mapLayer;
-
-    if (type == "vector")
-    {
-        mapLayer = new QgsVectorLayer;
-    } 
-    else if (type == "raster")
-    {
-        mapLayer = new QgsRasterLayer;
-    }
-    else
-    {
-#ifdef QGISDEBUG
-        std::cerr << __FILE__ << " : " << __LINE__ << " bad layer type\n";
-#endif
-        return false;
-    }
-
-    if (!mapLayer)
-    {
-#ifdef QGISDEBUG
-        std::cerr << __FILE__ << " : " << __LINE__ << " unable to create layer\n";
-#endif
-        return false;
-    }
-
-    // have the layer restore state that is stored in DOM node
-    if ( mapLayer->readXML(layerNode) )
-    {
-        mapLayer = QgsMapLayerRegistry::instance()->addMapLayer(mapLayer);
-    }
-    else
-    {
-        delete mapLayer;
-
-        qDebug( "%s:%d unable to load %s layer", __FILE__, __LINE__, (const char *)type.toLocal8Bit().data() );
-
-        return false;
-    }
-
-    return  true;
-} // QgsProject::read( QDomNode & layerNode )
-
-
-
-bool QgsProject::write(QFileInfo const &file)
-{
-    imp_->file.setName(file.filePath());
-
-    return write();
-} // QgsProject::write( QFileInfo const & file )
-
-
-bool QgsProject::write()
-{
-  // if we have problems creating or otherwise writing to the project file,
-  // let's find out up front before we go through all the hand-waving
-  // necessary to create all the DOM objects
-  if (!imp_->file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate))
-  {
-    imp_->file.close();         // even though we got an error, let's make
-    // sure it's closed anyway
-
-    throw QgsIOException(QObject::tr("Unable to save to file ") + imp_->file.name());
-
-    return false;               // XXX raise exception? Ok now superfluous
-    // XXX because of exception.
-  }
-  QFileInfo myFileInfo(imp_->file);
-  if (!myFileInfo.isWritable())
-  {
-    // even though we got an error, let's make
-    // sure it's closed anyway
-    imp_->file.close();         
-    throw QgsIOException(imp_->file.name() + QObject::tr(QString(" is not writeable.")
-            + QString("Please adjust permissions (if possible) and try again.")));
-    // XXX raise exception? Ok now superfluous
-    return false;               
-   
-  }
-
-  QDomImplementation DOMImplementation;
-
-  QDomDocumentType documentType =
-      DOMImplementation.createDocumentType("qgis", "http://mrcc.com/qgis.dtd",
-              "SYSTEM");
-  std::auto_ptr < QDomDocument > doc =
-      std::auto_ptr < QDomDocument > (new QDomDocument(documentType));
-
-
-  QDomElement qgisNode = doc->createElement("qgis");
-  qgisNode.setAttribute("projectname", title());
-  qgisNode.setAttribute("version", QString("%1").arg(QGis::qgisVersion));
-
-  doc->appendChild(qgisNode);
-
-  // title
-  QDomElement titleNode = doc->createElement("title");
-  qgisNode.appendChild(titleNode);
-
-  QDomText titleText = doc->createTextNode(title());  // XXX why have title TWICE?
-  titleNode.appendChild(titleText);
-
-  // units
-
-  QDomElement unitsNode = doc->createElement("units");
-  qgisNode.appendChild(unitsNode);
-
-  QString unitsString;
-
-  switch (instance()->imp_->mapUnits)
-  {
-      case QGis::METERS:
-          unitsString = "meters";
-          break;
-      case QGis::FEET:
-          unitsString = "feet";
-          break;
-      case QGis::DEGREES:
-          unitsString = "degrees";
-          break;
-      case QGis::UNKNOWN:
-      default:
-          unitsString = "unknown";
-          break;
-  }
-
-  QDomText unitsText = doc->createTextNode(unitsString);
-  unitsNode.appendChild(unitsText);
-
-  // extents and layers info are written by the map canvas
-  // find the canonical map canvas
-  QgsMapCanvas *theMapCanvas = _findMapCanvas();
-
-  if (!theMapCanvas)
-  {
-    // Actually this might be run from the test harness, and therefore
-    // there won't be a GUI, so no map canvas.   Just blithely continue on.
-  }
-  else
-  {
-    theMapCanvas->writeXML(qgisNode, *doc);
-  }
-
-  //save legend settings
-  QgsLegend* theLegend = _findLegend();
-  if(theLegend)
-  {
-    theLegend->writeXML(qgisNode, *doc);
-    //theLegend->saveToProject();
-  }
-
-  // now add the optional extra properties
-
-  dump_(imp_->properties_);
-
-  qDebug("there are %d property scopes", imp_->properties_.count());
-
-  if (!imp_->properties_.isEmpty()) // only worry about properties if we
-    // actually have any properties
-  {
-    imp_->properties_.writeXML( "properties", qgisNode, *doc );
-  } 
-
-  // now wrap it up and ship it to the project file
-  doc->normalize();             // XXX I'm not entirely sure what this does
-
-  //QString xml = doc->toString(4); // write to string with indentation of four characters
-  // (yes, four is arbitrary)
-
-  // const char * xmlString = xml; // debugger probe point
-  // qDebug( "project file output:\n\n" + xml );
-
-  QTextStream projectFileStream(&imp_->file);
-
-  //projectFileStream << xml << endl;
-  doc->save(projectFileStream, 4);  // save as utf-8
-  imp_->file.close();
-
-
-  dirty(false);                 // reset to pristine state
-
-  return true;
-} // QgsProject::write
-
-
-
-void QgsProject::clearProperties()
-{
-#ifdef QGISDEBUG
-    std::cout << "Clearing project properties QgsProject::clearProperties()" << std::endl;
-#endif
-    imp_->clear();
-
-    dirty(true);
-} // QgsProject::clearProperties()
-
-
-
-bool
-QgsProject::writeEntry(QString const &scope, const QString & key, bool value)
-{
-    dirty(true);
-
-    return addKey_( scope, key, &imp_->properties_, value );
-} // QgsProject::writeEntry ( ..., bool value )
-
-
-bool
-QgsProject::writeEntry(QString const &scope, const QString & key,
-                       double value)
-{
-    dirty(true);
-
-    return addKey_( scope, key, &imp_->properties_, value );
-} // QgsProject::writeEntry ( ..., double value )
-
-
-bool
-QgsProject::writeEntry(QString const &scope, const QString & key, int value)
-{
-    dirty(true);
-
-    return addKey_( scope, key, &imp_->properties_, value );
-} // QgsProject::writeEntry ( ..., int value )
-
-
-bool
-QgsProject::writeEntry(QString const &scope, const QString & key,
-                       const QString & value)
-{
-    dirty(true);
-
-    return addKey_( scope, key, &imp_->properties_, value );
-} // QgsProject::writeEntry ( ..., const QString & value )
-
-
-bool
-QgsProject::writeEntry(QString const &scope, const QString & key,
-                       const QStringList & value)
-{
-    dirty(true);
-
-    return addKey_( scope, key, &imp_->properties_, value );
-} // QgsProject::writeEntry ( ..., const QStringList & value )
-
-
-
-
-QStringList
-QgsProject::readListEntry(QString const & scope,
-                          const QString & key,
-                          bool * ok) const 
-{
-    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
-
-    QVariant value;
-
-    if ( property )
-    {
-        value = property->value();
-    }
-
-    bool valid = QVariant::StringList == value.type();
-
-    if (ok)
-    {
-        *ok = valid;
-    }
-
-    if (valid)
-    {
-        return value.asStringList();
-    }
-
-    return QStringList();
-} // QgsProject::readListEntry
-
-
-QString
-QgsProject::readEntry(QString const & scope, 
-                      const QString & key,
-                      const QString & def,
-                      bool * ok) const 
-{
-    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
-
-    QVariant value;
-
-    if ( property )
-    {
-        value = property->value();
-    }
-
-    bool valid = value.canCast(QVariant::String);
-
-    if (ok)
-    {
-        *ok = valid;
-    }
-
-    if (valid)
-    {
-        return value.toString();
-    }
-
-    return QString(def);
-} // QgsProject::readEntry
-
-
-int
-QgsProject::readNumEntry(QString const &scope, const QString & key, int def,
-                         bool * ok) const 
-{
-    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
-
-    QVariant value;
-
-    if ( property )
-    {
-        value = property->value();
-    }
-
-    bool valid = value.canCast(QVariant::String);
-
-    if (ok)
-    {
-        *ok = valid;
-    }
-
-    if (valid)
-    {
-        return value.toInt();
-    }
-
-    return def;
-} // QgsProject::readNumEntry
-
-
-double
-QgsProject::readDoubleEntry(QString const &scope, const QString & key,
-                            double def,
-                            bool * ok) const 
-{
-    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
-
-    QVariant value;
-
-    if ( property )
-    {
-        value = property->value();
-    }
-
-    bool valid = value.canCast(QVariant::Double);
-
-    if (ok)
-    {
-        *ok = valid;
-    }
-
-    if (valid)
-    {
-        return value.toDouble();
-    }
-
-    return def;
-} // QgsProject::readDoubleEntry
-
-
-bool
-QgsProject::readBoolEntry(QString const &scope, const QString & key, bool def,
-                          bool * ok) const
-{
-    QgsProperty * property = findKey_( scope, key, imp_->properties_ );
-
-    QVariant value;
-
-    if ( property )
-    {
-        value = property->value();
-    }
-
-    bool valid = value.canCast(QVariant::Bool);
-
-    if (ok)
-    {
-        *ok = valid;
-    }
-
-    if (valid)
-    {
-        return value.toBool();
-    }
-
-    return def;
-} // QgsProject::readBoolEntry
-
-
-bool QgsProject::removeEntry(QString const &scope, const QString & key)
-{
-    removeKey_( scope, key, imp_->properties_ );
-
-    dirty(true);
-
-    return ! findKey_(scope, key, imp_->properties_ );
-} // QgsProject::removeEntry
-
-
-
-QStringList QgsProject::entryList(QString const &scope, QString const &key) const
-{
-    QgsProperty * foundProperty = findKey_( scope, key, imp_->properties_ );
-
-    QStringList entries;
-
-    if ( foundProperty )
-    {
-        QgsPropertyKey * propertyKey = dynamic_cast<QgsPropertyKey*>(foundProperty);
-
-        if (propertyKey)
-        { propertyKey->entryList( entries ); }
-    }
-
-    return entries;
-} // QgsProject::entryList 
-
-
-QStringList 
-QgsProject::subkeyList(QString const &scope, QString const &key) const
-{
-    QgsProperty * foundProperty = findKey_( scope, key, imp_->properties_ );
-
-    QStringList entries;
-
-    if ( foundProperty )
-    {
-        QgsPropertyKey * propertyKey = dynamic_cast<QgsPropertyKey*>(foundProperty);
-
-        if (propertyKey)
-        { propertyKey->subkeyList( entries ); }
-    }
-
-    return entries;
-
-} // QgsProject::subkeyList 
-
-
-
-void QgsProject::dumpProperties() const
-{
-    dump_(imp_->properties_);
-} // QgsProject::dumpProperties

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsproject.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsproject.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsproject.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,283 +0,0 @@
-/***************************************************************************
-                                  qgsproject.h
-
-                      Implements persistent project state.
- 
-                              -------------------
-  begin                : July 23, 2004
-  copyright            : (C) 2004 by Mark Coletti
-  email                : mcoletti at gmail.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsproject.h 4990 2006-03-09 22:50:13Z telwertowski $ */
-
-#ifndef QGSPROJECT_H
-#define QGSPROJECT_H
-
-#include <memory>
-
-#include <qgsscalecalculator.h>
-
-
-class QFileInfo;
-class QDomNode;
-
-
-/** Reads and writes project states.
-   
-
-  @note
-
-  Has two general kinds of state to make persistent.  (I.e., to read and
-  write.)  First, Qgis proprietary information.  Second plug-in information.
-
-  A singleton since there shall only be one active project at a time; and
-  provides canonical location for plug-ins and main app to find/set
-  properties.
-
-  Might want to consider moving from Singleton; i.e., allowing more than one
-  project.  Just as the GIMP can have simultaneous multiple images, perhaps
-  qgis can one day have simultaneous multiple projects.
-
-*/
-class QgsProject
-{
-public:
-
-    /**
-       @todo XXX Should have semantics for saving project if dirty as last gasp?
-    */
-    ~QgsProject();
-
-    /// access to canonical QgsProject instance
-    static QgsProject * instance();
-
-    /**
-       Every project has an associated title string
-
-       @todo However current dialogs don't allow setting of it yet
-     */
-    //@{
-    void title( QString const & title );
-
-    /** returns title */
-    QString const & title() const;
-    //@}
-
-    /**
-     * Gets the currently select map units
-     * @return int which matches a value in the units enum in QGis::units
-     */
-    QGis::units mapUnits() const;
-
-
-    /**
-     * Set the map units
-     * @param new units type
-     */
-    void mapUnits(QGis::units u);
-
-
-    /**
-       the dirty flag is true if the project has been modified since the last
-       write()
-     */
-    //@{
-    bool dirty() const;
-
-    void dirty( bool b );
-    //@}
-
-
-    /**
-       Every project has an associated file that contains its XML
-     */
-    //@{
-    void filename( QString const & name );
-
-    /** returns file name */
-    QString filename() const;
-    //@}
-
-
-    /** read project file
-
-       @note Any current plug-in state is erased
-
-       @note dirty set to false after successful invocation
-
-       @note file name argument implicitly sets file
-
-       (Is that really desirable behavior?  Maybe prompt to save before
-       reading new one?)
-
-       Should we presume the file is opened elsewhere?  Or do we open it
-       ourselves?
-
-       XXX How to best get modify access to Qgis state?  Actually we can finagle
-       that by searching for qgisapp in object hiearchy.
-
-       @note
-
-       - Gets the extents
-       - Creates maplayers
-       - Registers maplayers
-
-       @note it's presumed that the caller has already reset the map canvas, map registry, and legend
-
-       @exception
-
-     */
-    //@{
-    bool read( QFileInfo const & file );
-    bool read( );
-    //@}
-
-
-    /** read the layer described in the associated DOM node
-
-        @param layerNode   represents a QgsProject DOM node that maps to a specific layer.
-
-        QgsProject raises an exception when one of the QgsProject::read()
-        implementations fails.  Since the read()s are invoked from qgisapp,
-        then qgisapp handles the exception.  It prompts the user for the new
-        location of the data, if any.  If there is a new location, the DOM
-        node associated with the layer has its <datasource> tag corrected.
-        Then that node is passed to this member function to be re-opened.
-
-     */
-    bool read( QDomNode & layerNode );
-
-
-    /** write project file
-
-       XXX How to best get read access to Qgis state?  Actually we can finagle
-       that by searching for qgisapp in object hiearchy.
-
-       @note file name argument implicitly sets file
-
-       @note dirty set to false after successful invocation
-     */
-    //@{
-    bool write( QFileInfo const & file );
-    bool write( );
-    //@}
-
-
-    /// syntactic sugar for property lists
-    // DEPRECATED typedef QPair< QString, QVariant >  PropertyValue;
-    // DEPRECATED typedef QValueList< PropertyValue > Properties;
-
-    /** extra properties, typically added by plug-ins
-
-       This allows for extra properties to be associated with projects.  Think
-       of it as a registry bound to a project.
-
-       Properties are arbitrary values keyed by a name and associated with a
-       scope.  The scope would presumably refer to your plug-in.
-       E.g., "openmodeller".
-
-       @note
-
-       E.g., open modeller might use:
-
-       <code>"QgsProject::instance()->properties("openmodeller")["foo"]</code>.
-
-       @todo "properties" is, overall, a good name; but that might imply that
-       the qgis specific state properites are different since they aren't
-       accessible here.  Actually, what if we make "qgis" yet another
-       scope that stores its state in the properties list?  E.g., 
-       QgsProject::instance()->properties()["qgis"]?
-
-       
-     */
-    // DEPRECATED Properties & properties( QString const & scope );
-
-    /**
-       removes all project properties
-    */
-    void clearProperties();
-
-
-    /* key value mutators 
-
-      keys would be the familiar QSettings-like '/' delimited entries, implying
-      a hierarchy of keys and corresponding values
-
-      @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
-    */
-    //@{
-    bool writeEntry ( QString const & scope, const QString & key, bool value );
-    bool writeEntry ( QString const & scope, const QString & key, double value );
-    bool writeEntry ( QString const & scope, const QString & key, int value );
-    bool writeEntry ( QString const & scope, const QString & key, const QString & value );
-    bool writeEntry ( QString const & scope, const QString & key, const QStringList & value );
-    //@}
-
-    /** key value accessors
-
-        keys would be the familiar QSettings-like '/' delimited entries,
-        implying a hierarchy of keys and corresponding values
-
-
-        @note The key string <em>must</em> include '/'s.  E.g., "/foo" not "foo".
-    */
-    //@{
-    QStringList readListEntry ( QString const & scope, const QString & key, bool * ok = 0 ) const;
-
-    QString readEntry ( QString const & scope, const QString & key, const QString & def = QString::null, bool * ok = 0 ) const;
-    int readNumEntry ( QString const & scope, const QString & key, int def = 0, bool * ok = 0 ) const;
-    double readDoubleEntry ( QString const & scope, const QString & key, double def = 0, bool * ok = 0 ) const;
-    bool readBoolEntry ( QString const & scope, const QString & key, bool def = FALSE, bool * ok = 0 ) const;
-    //@}
-
-
-    /** remove the given key */
-    bool removeEntry ( QString const & scope, const QString & key );
-
-
-    /** return keys with values -- do not return keys that contain other keys
-
-      @note equivalent to QSettings entryList()
-    */
-    QStringList entryList ( QString const & scope, QString const & key ) const;
-
-    /** return keys with keys -- do not return keys that contain only values
-
-      @note equivalent to QSettings subkeyList()
-    */
-    QStringList subkeyList ( QString const & scope, QString const & key ) const;
-
-
-    /** dump out current project properties to stderr 
-
-      @todo XXX Now slightly broken since re-factoring.  Won't print out top-level key
-                and redundantly prints sub-keys.
-    */
-    void dumpProperties() const;
-
-
-private:
-
-    QgsProject(); // private 'cause it's a singleton
-
-    QgsProject( QgsProject const & ); // private 'cause it's a singleton
-
-    struct Imp;
-
-    /// implementation handle
-    std::auto_ptr<Imp> imp_;
-
-    static QgsProject * theProject_;
-
-}; // QgsProject
-
-#endif

Added: packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,1018 @@
+/***************************************************************************
+ *   qgsprojectionselector.cpp
+ *   Copyright (C) 2005 by Tim Sutton                                      *
+ *   tim at linfiniti.com                                                     *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+/* $Id: qgsprojectionselector.cpp 7204 2007-09-16 20:18:38Z gsherman $ */
+#include "qgsprojectionselector.h"
+
+//standard includes
+#include <iostream>
+#include <cassert>
+#include <sqlite3.h>
+
+//qgis includes
+#include "qgis.h" //magick numbers here
+#include "qgsapplication.h"
+#include "qgslogger.h"
+
+//qt includes
+#include <QDir>
+#include <QFileInfo>
+#include <QTextStream>
+#include <QHeaderView>
+#include <QResizeEvent>
+
+QgsProjectionSelector::QgsProjectionSelector(QWidget* parent,
+                                             const char * name,
+                                             Qt::WFlags fl)
+    : QWidget(parent, fl),
+      mProjListDone(FALSE),
+      mUserProjListDone(FALSE),
+      mSRSNameSelectionPending(FALSE),
+      mSRSIDSelectionPending(FALSE)
+
+{
+  setupUi(this);
+  connect(lstCoordinateSystems, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
+      this, SLOT(coordinateSystemSelected(QTreeWidgetItem*)));
+  connect(leSearch, SIGNAL(returnPressed()), pbnFind, SLOT(animateClick()));
+
+  // Get the full path name to the sqlite3 spatial reference database.
+  mSrsDatabaseFileName = QgsApplication::srsDbFilePath();
+  lstCoordinateSystems->header()->setResizeMode(1,QHeaderView::Stretch);
+}
+
+
+QgsProjectionSelector::~QgsProjectionSelector()
+{}
+
+
+void QgsProjectionSelector::resizeEvent ( QResizeEvent * theEvent )
+{
+
+  lstCoordinateSystems->header()->resizeSection(0,(theEvent->size().width()-120));
+  lstCoordinateSystems->header()->resizeSection(1,120);
+}
+
+void QgsProjectionSelector::showEvent ( QShowEvent * theEvent )
+{
+  // ensure the projection list view is actually populated
+  // before we show this widget
+
+  if (!mProjListDone)
+  {
+    applyProjList(&mCrsFilter);
+  }
+
+  if (!mUserProjListDone)
+  {
+    applyUserProjList(&mCrsFilter);
+  }
+
+  // check if a paricular projection is waiting
+  // to be pre-selected, and if so, to select it now.
+  if (mSRSNameSelectionPending)
+  {
+    applySRSNameSelection();
+  }
+  if (mSRSIDSelectionPending)
+  {
+    applySRSIDSelection();
+  }
+
+  // Pass up the inheritance heirarchy
+  QWidget::showEvent(theEvent);
+}
+
+QString QgsProjectionSelector::ogcWmsCrsFilterAsSqlExpression(QSet<QString> * crsFilter)
+{
+  QString sqlExpression = "1";             // it's "SQL" for "true"
+  QStringList epsgParts = QStringList();
+
+  if (!crsFilter)
+  {
+    return sqlExpression;
+  }
+
+  /*
+     Ref: WMS 1.3.0, section 6.7.3 "Layer CRS":
+
+     Every Layer CRS has an identifier that is a character string. Two types of
+     Layer CRS identifiers are permitted: "label" and "URL" identifiers:
+
+     Label: The identifier includes a namespace prefix, a colon, a numeric or
+        string code, and in some instances a comma followed by additional
+        parameters. This International Standard defines three namespaces: 
+        CRS, EPSG and AUTO2 [...]
+
+     URL: The identifier is a fully-qualified Uniform Resource Locator that 
+        references a publicly-accessible file containing a definition of the CRS
+        that is compliant with ISO 19111.
+  */
+
+  // iterate through all incoming CRSs
+
+  QSet<QString>::const_iterator i = crsFilter->begin();
+  while (i != crsFilter->end())
+  {
+    QStringList parts = i->split(":");
+
+    if (parts.at(0) == "EPSG")
+    {
+      epsgParts.push_back( parts.at(1) );
+    }
+
+    ++i;
+  }
+
+//   for ( int i = 0; i < crsFilter->size(); i++ ) 
+//   {
+//     QStringList parts = crsFilter->at(i).split(":");
+// 
+//     if (parts.at(0) == "EPSG")
+//     {
+//       epsgParts.push_back( parts.at(1) );
+//     }
+//   }
+
+  if (epsgParts.size())
+  {
+    sqlExpression = "epsg in (";
+    sqlExpression += epsgParts.join(",");
+    sqlExpression += ")";
+  }
+
+  QgsDebugMsg("exiting with '" + sqlExpression + "'.");
+
+  return sqlExpression;
+}
+
+
+void QgsProjectionSelector::setSelectedSRSName(QString theSRSName)
+{
+  mSRSNameSelection = theSRSName;
+  mSRSNameSelectionPending = TRUE;
+  mSRSIDSelectionPending = FALSE;  // only one type can be pending at a time
+
+  if (isVisible())
+  {
+    applySRSNameSelection();
+  }
+  // else we will wait for the projection selector to
+  // become visible (with the showEvent()) and set the
+  // selection there
+}
+
+
+void QgsProjectionSelector::setSelectedSRSID(long theSRSID)
+{
+  mSRSIDSelection = theSRSID;
+  mSRSIDSelectionPending = TRUE;
+  mSRSNameSelectionPending = FALSE;  // only one type can be pending at a time
+
+  if (isVisible())
+  {
+    applySRSIDSelection();
+  }
+  // else we will wait for the projection selector to
+  // become visible (with the showEvent()) and set the
+  // selection there
+}
+
+
+void QgsProjectionSelector::applySRSNameSelection()
+{
+  if (
+      (mSRSNameSelectionPending) &&
+      (mProjListDone) &&
+      (mUserProjListDone)
+     )
+  {
+    //get the srid given the wkt so we can pick the correct list item
+    QgsDebugMsg("called with " + mSRSNameSelection);
+    QList<QTreeWidgetItem*> nodes = lstCoordinateSystems->findItems(mSRSNameSelection, Qt::MatchExactly|Qt::MatchRecursive, 0);
+  
+    if (nodes.count() > 0)
+    {
+      lstCoordinateSystems->setCurrentItem(nodes.first());
+      lstCoordinateSystems->scrollToItem(nodes.first());
+    }
+    else // unselect the selected item to avoid confusing the user
+    { 
+      lstCoordinateSystems->clearSelection();
+      teProjection->setText("");
+    }
+
+    mSRSNameSelectionPending = FALSE;
+  }
+}
+
+void QgsProjectionSelector::applySRSIDSelection()
+{
+  if (
+      (mSRSIDSelectionPending) &&
+      (mProjListDone) &&
+      (mUserProjListDone)
+     )
+  {
+    QString mySRSIDString = QString::number(mSRSIDSelection);
+  
+    QList<QTreeWidgetItem*> nodes = lstCoordinateSystems->findItems(mySRSIDString, Qt::MatchExactly|Qt::MatchRecursive, 1);
+  
+    if (nodes.count() > 0)
+    {
+      lstCoordinateSystems->setCurrentItem(nodes.first());
+      lstCoordinateSystems->scrollToItem(nodes.first());
+    }
+    else // unselect the selected item to avoid confusing the user
+    { 
+      lstCoordinateSystems->clearSelection();
+      teProjection->setText("");
+    }
+
+    mSRSIDSelectionPending = FALSE;
+  }
+}
+
+
+//note this line just returns the projection name!
+QString QgsProjectionSelector::getSelectedName()
+{
+  // return the selected wkt name from the list view
+  QTreeWidgetItem *lvi = lstCoordinateSystems->currentItem();
+  if(lvi)
+  {
+    return lvi->text(0);
+  }
+  else
+  {
+    return QString::null;
+  }
+}
+// Returns the whole proj4 string for the selected projection node
+QString QgsProjectionSelector::getCurrentProj4String()
+{
+  // Only return the projection if there is a node in the tree
+  // selected that has an srid. This prevents error if the user
+  // selects a top-level node rather than an actual coordinate
+  // system
+  //
+  // Get the selected node
+  QTreeWidgetItem *myItem = lstCoordinateSystems->currentItem();
+  if(myItem)
+  {
+
+    if(myItem->text(1).length() > 0)
+    {
+      QString myDatabaseFileName;
+      QString mySrsId = myItem->text(1);
+
+      QgsDebugMsg("mySrsId = " + mySrsId);
+      QgsDebugMsg("USER_PROJECTION_START_ID = " + QString::number(USER_PROJECTION_START_ID));
+      //
+      // Determine if this is a user projection or a system on
+      // user projection defs all have srs_id >= 100000
+      //
+      if (mySrsId.toLong() >= USER_PROJECTION_START_ID)
+      {
+        myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+        QFileInfo myFileInfo;
+        myFileInfo.setFile(myDatabaseFileName);
+        if ( !myFileInfo.exists( ) ) //its unlikely that this condition will ever be reached
+        {
+          QgsDebugMsg("users qgis.db not found");
+          return QString("");
+        }
+        else
+        {
+          QgsDebugMsg("users qgis.db found");
+        }
+      }
+      else //must be  a system projection then
+      {
+        myDatabaseFileName =  mSrsDatabaseFileName;
+      }
+      QgsDebugMsg("db = " + myDatabaseFileName);
+
+
+      sqlite3 *db;
+      int rc;
+      rc = sqlite3_open(myDatabaseFileName.toUtf8().data(), &db);
+      if(rc)
+      {
+        QgsLogger::warning("Can't open database: " + QString(sqlite3_errmsg(db)));
+        // XXX This will likely never happen since on open, sqlite creates the
+        //     database if it does not exist.
+        assert(rc == 0);
+      }
+      // prepare the sql statement
+      const char *pzTail;
+      sqlite3_stmt *ppStmt;
+      QString sql = "select parameters from tbl_srs where srs_id = ";
+      sql += mySrsId;
+      
+      QgsDebugMsg("Selection sql: " + sql);
+
+      rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+      // XXX Need to free memory from the error msg if one is set
+      QString myProjString;
+      if(rc == SQLITE_OK)
+      {
+        if(sqlite3_step(ppStmt) == SQLITE_ROW)
+        {
+          myProjString = QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 0));
+        }
+      }
+      // close the statement
+      sqlite3_finalize(ppStmt);
+      // close the database
+      sqlite3_close(db);
+#ifdef QGISDEBUG
+      std::cout << "Item selected : " << myItem->text(0).toLocal8Bit().data() << std::endl;
+      std::cout << "Item selected full string : " << myProjString.toLocal8Bit().data() << std::endl;
+#endif
+      assert(myProjString.length() > 0);
+      return myProjString;
+    }
+    else
+    {
+      // No node is selected, return null
+      return QString("");
+    }
+  }
+  else
+  {
+    // No node is selected, return null
+    return QString("");
+  }
+
+}
+
+long QgsProjectionSelector::getCurrentLongAttribute(QString attributeName)
+{
+  // Only return the attribute if there is a node in the tree
+  // selected that has an srs_id.  This prevents error if the user
+  // selects a top-level node rather than an actual coordinate
+  // system
+  //
+  // Get the selected node
+  QTreeWidgetItem *lvi = lstCoordinateSystems->currentItem();
+  if(lvi)
+  {
+    // Make sure the selected node is a srs and not a top-level projection node
+    if(lvi->text(1).length() > 0)
+    {
+      QString myDatabaseFileName;
+      //
+      // Determine if this is a user projection or a system on
+      // user projection defs all have srs_id >= 100000
+      //
+      if (lvi->text(1).toLong() >= USER_PROJECTION_START_ID)
+      {
+        myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+        QFileInfo myFileInfo;
+        myFileInfo.setFile(myDatabaseFileName);
+        if ( !myFileInfo.exists( ) )
+        {
+          std::cout << " QgsSpatialRefSys::createFromSrid failed :  users qgis.db not found" << std::endl;
+          return 0;
+        }
+      }
+      else //must be  a system projection then
+      {
+        myDatabaseFileName=mSrsDatabaseFileName;
+      }
+      //
+      // set up the database
+      // XXX We could probabaly hold the database open for the life of this object,
+      // assuming that it will never be used anywhere else. Given the low overhead,
+      // opening it each time seems to be a reasonable approach at this time.
+      sqlite3 *db;
+      int rc;
+      rc = sqlite3_open(myDatabaseFileName.toUtf8().data(), &db);
+      if(rc)
+      {
+        std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
+        // XXX This will likely never happen since on open, sqlite creates the
+        //     database if it does not exist.
+        assert(rc == 0);
+      }
+      // prepare the sql statement
+      const char *pzTail;
+      sqlite3_stmt *ppStmt;
+      QString sql = "select ";
+      sql += attributeName;
+      sql += " from tbl_srs where srs_id = ";
+      sql += lvi->text(1);
+
+#ifdef QGISDEBUG
+      std::cout << "Finding selected attribute using : " <<  sql.toLocal8Bit().data() << std::endl;
+#endif
+      rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+      // XXX Need to free memory from the error msg if one is set
+      QString mySrid;
+      if(rc == SQLITE_OK)
+      {
+        // get the first row of the result set
+        if(sqlite3_step(ppStmt) == SQLITE_ROW)
+        {
+          // get the wkt
+          mySrid = QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 0));
+        }
+      }
+      // close the statement
+      sqlite3_finalize(ppStmt);
+      // close the database
+      sqlite3_close(db);
+      // return the srs wkt
+      return mySrid.toLong();
+    }
+  }
+
+  // No node is selected, return null
+  return 0;
+}
+
+
+long QgsProjectionSelector::getCurrentSRID()
+{
+  return getCurrentLongAttribute("srid");
+}
+
+
+long QgsProjectionSelector::getCurrentEpsg()
+{
+  return getCurrentLongAttribute("epsg");
+}
+
+
+long QgsProjectionSelector::getCurrentSRSID()
+{
+  QTreeWidgetItem* item = lstCoordinateSystems->currentItem();
+
+  if(item != NULL && item->text(1).length() > 0)
+  {
+    return lstCoordinateSystems->currentItem()->text(1).toLong();
+  }
+  else
+  {
+    return 0;
+  }
+}
+
+
+void QgsProjectionSelector::setOgcWmsCrsFilter(QSet<QString> crsFilter)
+{
+  mCrsFilter = crsFilter;
+  mProjListDone = false;
+  mUserProjListDone = false;
+  lstCoordinateSystems->clear();
+}
+
+
+void QgsProjectionSelector::applyUserProjList(QSet<QString> * crsFilter)
+{
+#ifdef QGISDEBUG
+  std::cout << "Fetching user projection list..." << std::endl;
+#endif
+
+  // convert our Coordinate Reference System filter into the SQL expression
+  QString sqlFilter = ogcWmsCrsFilterAsSqlExpression(crsFilter);
+
+  // User defined coordinate system node
+  // Make in an italic font to distinguish them from real projections
+  mUserProjList = new QTreeWidgetItem(lstCoordinateSystems,QStringList("User Defined Coordinate Systems"));
+
+  QFont fontTemp = mUserProjList->font(0);
+  fontTemp.setItalic(TRUE);
+  mUserProjList->setFont(0, fontTemp);
+
+  //determine where the user proj database lives for this user. If none is found an empty
+  //now only will be shown
+  QString myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+  // first we look for ~/.qgis/qgis.db
+  // if it doesnt exist we copy it in from the global resources dir
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(myDatabaseFileName);
+  //return straight away if the user has not created any custom projections
+  if ( !myFileInfo.exists( ) )
+  {
+#ifdef QGISDEBUG
+    std::cout << "Users qgis.db not found...skipping" << std::endl;
+#endif
+
+    mUserProjListDone = TRUE;
+    return;
+  }
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(QString(myDatabaseFileName).toUtf8().data(), &myDatabase);
+  if(myResult)
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl;
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist. But we checked earlier for its existance
+    //     and aborted in that case. This is because we may be runnig from read only
+    //     media such as live cd and dont want to force trying to create a db.
+    assert(myResult == 0);
+  }
+
+  // Set up the query to retreive the projection information needed to populate the list
+  QString mySql = "select description, srs_id, is_geo, name, parameters from vw_srs ";
+  mySql += "where ";
+  mySql += sqlFilter;
+
+#ifdef QGISDEBUG
+  std::cout << "User projection list sql" << mySql.toLocal8Bit().data() << std::endl;
+#endif
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    QTreeWidgetItem *newItem;
+    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
+    {
+      newItem = new QTreeWidgetItem(mUserProjList, QStringList(QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0))));
+      // display the qgis srs_id in the second column of the list view
+      newItem->setText(1,QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 1)));
+    }
+  }
+  // close the sqlite3 statement
+  sqlite3_finalize(myPreparedStatement);
+  sqlite3_close(myDatabase);
+
+  mUserProjListDone = TRUE;
+}
+
+void QgsProjectionSelector::applyProjList(QSet<QString> * crsFilter)
+{
+  // convert our Coordinate Reference System filter into the SQL expression
+  QString sqlFilter = ogcWmsCrsFilterAsSqlExpression(crsFilter);
+
+  // Create the top-level nodes for the list view of projections
+  // Make in an italic font to distinguish them from real projections
+  //
+  // Geographic coordinate system node
+  mGeoList = new QTreeWidgetItem(lstCoordinateSystems,QStringList("Geographic Coordinate Systems"));
+
+  QFont fontTemp = mGeoList->font(0);
+  fontTemp.setItalic(TRUE);
+  mGeoList->setFont(0, fontTemp);
+
+  // Projected coordinate system node
+  mProjList = new QTreeWidgetItem(lstCoordinateSystems,QStringList("Projected Coordinate Systems"));
+
+  fontTemp = mProjList->font(0);
+  fontTemp.setItalic(TRUE);
+  mProjList->setFont(0, fontTemp);
+
+  //bail out in case the projections db does not exist
+  //this is neccessary in case the pc is running linux with a
+  //read only filesystem because otherwise sqlite will try
+  //to create the db file on the fly
+
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(mSrsDatabaseFileName);
+  if ( !myFileInfo.exists( ) )
+  {
+    mProjListDone = TRUE;
+    return;
+  }
+
+  // open the database containing the spatial reference data
+  sqlite3 *db;
+  int rc;
+  rc = sqlite3_open(mSrsDatabaseFileName.toUtf8().data(), &db);
+  if(rc)
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(db) << std::endl;
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist.
+    assert(rc == 0);
+  }
+  // prepare the sql statement
+  const char *pzTail;
+  sqlite3_stmt *ppStmt;
+  // get total count of records in the projection table
+  QString sql = "select count(*) from tbl_srs";
+
+  rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+  assert(rc == SQLITE_OK);
+  sqlite3_step(ppStmt);
+
+#ifdef QGISDEBUG
+  int myEntriesCount = sqlite3_column_int(ppStmt, 0);
+  std::cout << "Projection entries found in srs.db: " << myEntriesCount << std::endl;
+#endif
+  sqlite3_finalize(ppStmt);
+
+  // Set up the query to retreive the projection information needed to populate the list
+  //note I am giving the full field names for clarity here and in case someown
+  //changes the underlying view TS
+  sql = "select description, srs_id, is_geo, name, parameters from vw_srs ";
+  sql += "where ";
+  sql += sqlFilter;
+  sql += " order by name, description";
+
+#ifdef QGISDEBUG
+  std::cout << "SQL for projection list:\n" << sql.toLocal8Bit().data() << std::endl;
+#endif
+  rc = sqlite3_prepare(db, sql.utf8(), sql.length(), &ppStmt, &pzTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(rc == SQLITE_OK)
+  {
+#ifdef QGISDEBUG
+    std::cout << "SQL for projection list executed ok..."  << std::endl;
+#endif
+
+    QTreeWidgetItem *newItem;
+    // Cache some stuff to speed up creating of the list of projected
+    // spatial reference systems
+    QString previousSrsType("");
+    QTreeWidgetItem* previousSrsTypeNode = NULL;
+
+    while(sqlite3_step(ppStmt) == SQLITE_ROW)
+    {
+      // check to see if the srs is geographic
+      int isGeo = sqlite3_column_int(ppStmt, 2);
+      if(isGeo)
+      {
+        // this is a geographic coordinate system
+        // Add it to the tree
+        newItem = new QTreeWidgetItem(mGeoList, QStringList(QString::fromUtf8((char *)sqlite3_column_text(ppStmt,0))));
+
+        // display the qgis srs_id in the second column of the list view
+        newItem->setText(1,QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 1)));
+      }
+      else
+      {
+        // This is a projected srs
+
+	QTreeWidgetItem *node;
+	QString srsType = QString::fromUtf8((char*)sqlite3_column_text(ppStmt, 3));
+        // Find the node for this type and add the projection to it
+        // If the node doesn't exist, create it
+	if (srsType == previousSrsType)
+	{
+	  node = previousSrsTypeNode;
+	}
+	else
+	{ // Different from last one, need to search
+	  QList<QTreeWidgetItem*> nodes = lstCoordinateSystems->findItems(srsType,Qt::MatchExactly|Qt::MatchRecursive,0);
+	  if(nodes.count() == 0)
+	  {
+	    // the node doesn't exist -- create it
+            // Make in an italic font to distinguish them from real projections
+	    node = new QTreeWidgetItem(mProjList, QStringList(srsType));
+
+            QFont fontTemp = node->font(0);
+            fontTemp.setItalic(TRUE);
+            node->setFont(0, fontTemp);
+	  }
+	  else
+	  {
+	    node = nodes.first();
+	  }
+	  // Update the cache.
+	  previousSrsType = srsType;
+	  previousSrsTypeNode = node;
+	}
+        // add the item, setting the projection name in the first column of the list view
+        newItem = new QTreeWidgetItem(node, QStringList(QString::fromUtf8((char *)sqlite3_column_text(ppStmt,0))));
+        // set the srs_id in the second column on the list view
+        newItem->setText(1,QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 1)));
+      }
+      //Only enable thse lines temporarily if you want to generate a script
+      //to update proj an ellipoid fields in the srs.db
+      //updateProjAndEllipsoidAcronyms(QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 1)).toLong(),
+      //                               QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 4)))  ;
+    }
+  }
+#ifdef QGISDEBUG
+  std::cout << "Size of projection list widget : " << sizeof(*lstCoordinateSystems) << std::endl;
+#endif
+  // close the sqlite3 statement
+  sqlite3_finalize(ppStmt);
+  // close the database
+  sqlite3_close(db);
+
+  mProjListDone = TRUE;
+}
+
+//this is a little helper function to populate the (well give you a sql script to populate)
+//the projection_acronym and ellipsoid_acronym fields in the srs.db backend
+//To cause it to be run, uncomment or add the line:
+//      updateProjAndEllipsoidAcronyms(QString::fromUtf8((char *)sqlite3_column_text(ppStmt, 1)).toLong(),
+//                                     QString:.fromUtf8((char *)sqlite3_column_text(ppStmt, 4)))  ;
+//to the above method. NOTE it will cause a huge slow down in population of the proj selector dialog so
+//remember to disable it again!
+void QgsProjectionSelector::updateProjAndEllipsoidAcronyms(int theSrsid,QString theProj4String)
+{
+
+
+  //temporary hack
+  QFile myFile( "/tmp/srs_updates.sql" );
+  myFile.open(  QIODevice::WriteOnly | QIODevice::Append );
+  QTextStream myStream( &myFile );
+
+  QRegExp myProjRegExp( "proj=[a-zA-Z]* " );
+  int myStart= 0;
+  int myLength=0;
+  myStart = myProjRegExp.search(theProj4String, myStart);
+  QString myProjectionAcronym;
+  if (myStart==-1)
+  {
+    std::cout << "proj string supplied has no +proj argument" << std::endl;
+    myProjectionAcronym = "";
+  }
+  else
+  {
+    myLength = myProjRegExp.matchedLength();
+    myProjectionAcronym = theProj4String.mid(myStart+PROJ_PREFIX_LEN,myLength-(PROJ_PREFIX_LEN+1));//+1 for space
+  }
+
+
+  QRegExp myEllipseRegExp( "ellps=[a-zA-Z0-9\\-]* " );
+  myStart= 0;
+  myLength=0;
+  myStart = myEllipseRegExp.search(theProj4String, myStart);
+  QString myEllipsoidAcronym;
+  if (myStart==-1)
+  {
+    std::cout << "proj string supplied has no +ellps argument" << std::endl;
+    myEllipsoidAcronym="";
+  }
+  else
+  {
+    myLength = myEllipseRegExp.matchedLength();
+    myEllipsoidAcronym = theProj4String.mid(myStart+ELLPS_PREFIX_LEN,myLength-(ELLPS_PREFIX_LEN+1));
+  }
+
+
+  //now create the update statement
+  QString mySql = "update tbl_srs set projection_acronym='" + myProjectionAcronym +
+                  "', ellipsoid_acronym='" + myEllipsoidAcronym + "' where " +
+                  "srs_id=" + QString::number(theSrsid)+";";
+
+
+  //tmporary hack
+  myStream << mySql << "\n";
+  myFile.close();
+  //std::cout
+
+}
+
+// New coordinate system selected from the list
+void QgsProjectionSelector::coordinateSystemSelected( QTreeWidgetItem * theItem)
+{
+  // If the item has children, it's not an end node in the tree, and
+  // hence is just a grouping thingy, not an actual SRS.
+  if (theItem != NULL && theItem->childCount() == 0)
+  {
+    // Found a real SRS
+    QString myDescription = tr("QGIS SRSID: ") + QString::number(getCurrentSRSID()) +"\n";
+    myDescription        += tr("PostGIS SRID: ") + QString::number(getCurrentSRID()) +"\n";
+    emit sridSelected(QString::number(getCurrentSRSID()));
+    QString myProjString = getCurrentProj4String();
+    if (!myProjString.isNull())
+    {
+      myDescription+=(myProjString);
+    }
+
+    lstCoordinateSystems->scrollToItem(theItem);
+    teProjection->setText(myDescription);
+  }
+  else
+  {
+    // Not an SRS - remove the highlight so the user doesn't get too confused
+    lstCoordinateSystems->setItemSelected(theItem, FALSE);  // TODO - make this work.
+    teProjection->setText("");
+  }
+}
+
+void QgsProjectionSelector::on_pbnFind_clicked()
+{
+
+#ifdef QGISDEBUG
+  std::cout << "pbnFind..." << std::endl;
+#endif
+
+  QString mySearchString(stringSQLSafe(leSearch->text()));
+  // Set up the query to retreive the projection information needed to populate the list
+  QString mySql;
+  if (radSRID->isChecked())
+  {
+    mySql= "select srs_id from tbl_srs where srid=" + mySearchString;
+  }
+  else if (radEPSGID->isChecked())
+  {
+    mySql= "select srs_id from tbl_srs where epsg=" + mySearchString;
+  }
+  else if (radName->isChecked()) //name search
+  {
+    //we need to find what the largest srsid matching our query so we know whether to
+    //loop backto the beginning
+    mySql= "select srs_id from tbl_srs where description like '%" + mySearchString +"%'" +
+           " order by srs_id desc limit 1";
+    long myLargestSrsId = getLargestSRSIDMatch(mySql);
+#ifdef QGISDEBUG
+    std::cout << "Largest SRSID" << myLargestSrsId << std::endl;
+#endif
+    //a name search is ambiguous, so we find the first srsid after the current seelcted srsid
+    // each time the find button is pressed. This means we can loop through all matches.
+    if (myLargestSrsId <= getCurrentSRSID())
+    {
+      //roll search around to the beginning
+      mySql= "select srs_id from tbl_srs where description like '%" + mySearchString +"%'" +
+             " order by srs_id limit 1";
+    }
+    else
+    {
+      // search ahead of the current postion
+      mySql= "select srs_id from tbl_srs where description like '%" + mySearchString +"%'" +
+             " and srs_id > " + QString::number(getCurrentSRSID()) + " order by srs_id limit 1";
+    }
+  }
+  else //qgis srsid
+  {
+    //no need to try too look up srsid in db as user has already entered it!
+    setSelectedSRSID(mySearchString.toLong());
+    return;
+  }
+#ifdef QGISDEBUG
+  std::cout << " Search sql: " << mySql.toLocal8Bit().data() << std::endl;
+#endif
+
+  //
+  // Now perform the actual search
+  //
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+  //check the db is available
+  myResult = sqlite3_open(mSrsDatabaseFileName.toUtf8().data(), &myDatabase);
+  if(myResult)
+  {
+    std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl;
+    // XXX This will likely never happen since on open, sqlite creates the
+    //     database if it does not exist. But we checked earlier for its existance
+    //     and aborted in that case. This is because we may be runnig from read only
+    //     media such as live cd and dont want to force trying to create a db.
+    assert(myResult == 0);
+  }
+
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    myResult = sqlite3_step(myPreparedStatement);
+    if (myResult == SQLITE_ROW)
+    {  
+      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 0));
+      setSelectedSRSID(mySrsId.toLong());
+      // close the sqlite3 statement
+      sqlite3_finalize(myPreparedStatement);
+      sqlite3_close(myDatabase);
+      return;
+    }
+  }
+  //search the users db
+  QString myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(myDatabaseFileName);
+  if ( !myFileInfo.exists( ) ) //its not critical if this happens
+  {
+    qDebug(myDatabaseFileName);
+    qDebug("User db does not exist");
+    return ;
+  }
+  myResult = sqlite3_open(myDatabaseFileName.toUtf8().data(), &myDatabase);
+  if(myResult)
+  {
+    std::cout <<  "Can't open * user * database: " <<  sqlite3_errmsg(myDatabase) << std::endl;
+    //no need for assert because user db may not have been created yet
+    return;
+  }
+  
+  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    myResult = sqlite3_step(myPreparedStatement);
+    if (myResult == SQLITE_ROW)
+    {  
+      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 0));
+      setSelectedSRSID(mySrsId.toLong());
+      // close the sqlite3 statement
+      sqlite3_finalize(myPreparedStatement);
+      sqlite3_close(myDatabase);
+    }
+  }
+}
+
+long QgsProjectionSelector::getLargestSRSIDMatch(QString theSql)
+{
+  long mySrsId =0;
+  //
+  // Now perform the actual search
+  //
+
+  sqlite3      *myDatabase;
+  const char   *myTail;
+  sqlite3_stmt *myPreparedStatement;
+  int           myResult;
+
+  // first we search the users db as any srsid there will be definition be greater than in sys db
+
+  //check the db is available
+  QString myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
+  QFileInfo myFileInfo;
+  myFileInfo.setFile(myDatabaseFileName);
+  if ( myFileInfo.exists( ) ) //only bother trying to open if the file exists
+  {
+    myResult = sqlite3_open(myDatabaseFileName.toUtf8().data(), &myDatabase);
+    if(myResult)
+    {
+      std::cout <<  "Can't open database: " <<  sqlite3_errmsg(myDatabase) << std::endl;
+      // XXX This will likely never happen since on open, sqlite creates the
+      //     database if it does not exist. But we checked earlier for its existance
+      //     and aborted in that case. This is because we may be runnig from read only
+      //     media such as live cd and dont want to force trying to create a db.
+
+    }
+    else
+    {
+      myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
+      // XXX Need to free memory from the error msg if one is set
+      if(myResult == SQLITE_OK)
+      {
+        myResult = sqlite3_step(myPreparedStatement);
+        if (myResult == SQLITE_ROW)
+        {  
+          QString mySrsIdString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 0));
+          mySrsId = mySrsIdString.toLong();
+          // close the sqlite3 statement
+          sqlite3_finalize(myPreparedStatement);
+          sqlite3_close(myDatabase);
+          return mySrsId;
+        }
+      }
+    }
+  }
+  
+  //only bother looking in srs.db if it wasnt found above
+
+  myResult = sqlite3_open(mSrsDatabaseFileName.toUtf8().data(), &myDatabase);
+  if(myResult)
+  {
+    std::cout <<  "Can't open * user * database: " <<  sqlite3_errmsg(myDatabase) << std::endl;
+    //no need for assert because user db may not have been created yet
+    return 0;
+  }
+
+  myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
+  // XXX Need to free memory from the error msg if one is set
+  if(myResult == SQLITE_OK)
+  {
+    myResult = sqlite3_step(myPreparedStatement);
+    if (myResult == SQLITE_ROW)
+    {  
+      QString mySrsIdString = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 0));
+      mySrsId =  mySrsIdString.toLong();
+      // close the sqlite3 statement
+      sqlite3_finalize(myPreparedStatement);
+      sqlite3_close(myDatabase);
+    }
+  }
+  return mySrsId;
+}
+/*!
+* \brief Make the string safe for use in SQL statements.
+*  This involves escaping single quotes, double quotes, backslashes,
+*  and optionally, percentage symbols.  Percentage symbols are used
+*  as wildcards sometimes and so when using the string as part of the
+*  LIKE phrase of a select statement, should be escaped.
+* \arg const QString in The input string to make safe.
+* \return The string made safe for SQL statements.
+*/
+const QString QgsProjectionSelector::stringSQLSafe(const QString theSQL)
+{
+	QString myRetval = theSQL;
+	myRetval.replace("\\","\\\\");
+	myRetval.replace('\"',"\\\"");
+	myRetval.replace("\'","\\'");
+	myRetval.replace("%","\\%");
+	return myRetval;
+ }

Added: packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/gui/qgsprojectionselector.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,210 @@
+/***************************************************************************
+ *   qgsprojectionselector.h
+ *   Copyright (C) 2005 by Tim Sutton                                      *
+ *   tim at linfiniti.com                                                     *
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+#ifndef QGSPROJECTIONSELECTOR_H
+#define QGSPROJECTIONSELECTOR_H
+
+#include "ui_qgsprojectionselectorbase.h"
+
+#include <QSet>
+
+class QResizeEvent;
+
+/**
+  @author Tim Sutton
+  */
+class GUI_EXPORT QgsProjectionSelector: public QWidget, private Ui::QgsProjectionSelectorBase
+{
+  Q_OBJECT
+    public:
+      QgsProjectionSelector(QWidget* parent,
+                            const char * name = "",
+                            Qt::WFlags fl = 0);
+
+      ~QgsProjectionSelector();
+
+      /**
+       * \brief Populate the proj tree view with user defined projection names...
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \todo Should this be public?
+       */
+      void applyUserProjList(QSet<QString> * crsFilter = 0);
+
+      /**
+       * \brief Populate the proj tree view with system projection names...
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \todo Should this be public?
+       */
+      void applyProjList(QSet<QString> * crsFilter = 0);
+
+      void updateProjAndEllipsoidAcronyms(int theSrsid, QString theProj4String);
+
+      /*!
+       * \brief Make the string safe for use in SQL statements.
+       *  This involves escaping single quotes, double quotes, backslashes,
+       *  and optionally, percentage symbols.  Percentage symbols are used
+       *  as wildcards sometimes and so when using the string as part of the
+       *  LIKE phrase of a select statement, should be escaped.
+       * \arg const QString in The input string to make safe.
+       * \return The string made safe for SQL statements.
+       */
+      const QString stringSQLSafe(const QString theSQL);
+
+      //! Gets the current EPSG-style projection identifier
+      long getCurrentEpsg();
+
+    public slots:
+      void setSelectedSRSName(QString theSRSName);
+
+      QString getSelectedName();
+
+      void setSelectedSRSID(long theSRSID);
+
+      QString getCurrentProj4String();
+
+      //! Gets the current PostGIS-style projection identifier
+      long getCurrentSRID();
+
+      //! Gets the current QGIS projection identfier
+      long getCurrentSRSID();
+
+      /**
+       * \brief filters this widget by the given CRSs
+       *
+       * Sets this widget to filter the available projections to those listed
+       * by the given Coordinate Reference Systems.
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \note This function only deals with EPSG labels only at this time.
+       *
+       * \warning This function's behaviour is undefined if it is called after the widget is shown.
+       */
+      void setOgcWmsCrsFilter(QSet<QString> crsFilter);
+
+      void on_pbnFind_clicked();
+
+    protected:
+      /** Used to ensure the projection list view is actually populated */
+      void showEvent ( QShowEvent * theEvent );
+
+      /** Used to manage column sizes */
+      void resizeEvent ( QResizeEvent * theEvent );
+
+  private:
+      /**
+       * \brief converts the CRS group to a SQL expression fragment
+       *
+       * Converts the given Coordinate Reference Systems to a format suitable
+       * for use in SQL for querying against the QGIS SRS database.
+       *
+       * \param crsFilter a list of OGC Coordinate Reference Systems to filter the 
+       *                  list of projections by.  This is useful in (e.g.) WMS situations
+       *                  where you just want to offer what the WMS server can support.
+       *
+       * \note This function only deals with EPSG labels only at this time.
+       */
+      QString ogcWmsCrsFilterAsSqlExpression(QSet<QString> * crsFilter);
+
+      /**
+       * \brief does the legwork of applying the SRS Name Selection
+       *
+       * \warning This function does nothing unless getUserList() and getUserProjList()
+       *          Have already been called
+       *
+       * \warning This function only expands the parents of the selection and
+       *          does not scroll the list to the selection if the widget is not visible.
+       *          Therefore you will typically want to use this in a showEvent().
+       */
+      void applySRSNameSelection();
+
+      /**
+       * \brief does the legwork of applying the SRS ID Selection
+       *
+       * \warning This function does nothing unless getUserList() and getUserProjList()
+       *          Have already been called
+       *
+       * \warning This function only expands the parents of the selection and
+       *          does not scroll the list to the selection if the widget is not visible.
+       *          Therefore you will typically want to use this in a showEvent().
+       */
+      void applySRSIDSelection();
+
+      /**
+       * \brief gets an arbitrary sqlite3 attribute of type "long" from the selection
+       *
+       * \param attributeName   The sqlite3 column name, typically "srid" or "epsg"
+       */
+      long getCurrentLongAttribute(QString attributeName);
+
+      // List view nodes for the tree view of projections
+      //! User defined projections node
+      QTreeWidgetItem *mUserProjList;
+      //! GEOGCS node
+      QTreeWidgetItem *mGeoList;
+      //! PROJCS node
+      QTreeWidgetItem *mProjList;
+
+      //! Users custom coordinate system file
+      QString mCustomCsFile;
+      //! File name of the sqlite3 database
+      QString mSrsDatabaseFileName;
+
+      /** 
+       * Utility method used in conjunction with name based searching tool 
+       */
+      long getLargestSRSIDMatch(QString theSql);
+
+      //! Has the Projection List been populated?
+      bool mProjListDone;
+
+      //! Has the User Projection List been populated?
+      bool mUserProjListDone;
+
+      //! Is there a pending selection to be made by SRS Name?
+      bool mSRSNameSelectionPending;
+
+      //! Is there a pending selection to be made by SRS ID?
+      bool mSRSIDSelectionPending;
+
+      //! The SRS Name that wants to be selected on this widget
+      QString mSRSNameSelection;
+
+      //! The SRS ID that wants to be selected on this widget
+      long mSRSIDSelection;
+
+      //! The set of OGC WMS CRSs that want to be applied to this widget
+      QSet<QString> mCrsFilter;
+
+    private slots:
+      /**private handler for when user selects a cs
+       *it will cause wktSelected and sridSelected events to be spawned
+       */
+      void coordinateSystemSelected(QTreeWidgetItem*);
+
+    signals:
+      void sridSelected(QString theSRID);
+      //! Refresh any listening canvases
+      void refresh();
+      //! Let listeners know if find has focus so they can adjust the default button
+      void searchBoxHasFocus(bool);
+};
+
+#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,329 +0,0 @@
-/***************************************************************************
-                            qgsprojectproperties.cpp
-       Set various project properties (inherits qgsprojectpropertiesbase)
-                              -------------------
-  begin                : May 18, 2004
-  copyright            : (C) 2004 by Gary E.Sherman
-  email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsprojectproperties.cpp 6363 2007-01-01 13:47:57Z homann $ */
-
-#include "qgsprojectproperties.h"
-
-//qgis includes
-#include "qgscontexthelp.h"
-#include "qgsmaplayer.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsproject.h"
-#include "qgsrenderer.h"
-#include "qgslogger.h"
-
-//qt includes
-#include <QColorDialog>
-
-//stdc++ includes
-#include <iostream>
-
-
-// set the default coordinate system
-//XXX this is not needed? : static const char* defaultWktKey = "Lat/Long - WGS 84";
-  QgsProjectProperties::QgsProjectProperties(QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl)
-{
-  setupUi(this);
-
-  connect(buttonApply, SIGNAL(clicked()), this, SLOT(apply()));
-  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
-  connect(buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
-
-  QGis::units myUnit = QgsProject::instance()->mapUnits();
-  setMapUnits(myUnit);
-  title(QgsProject::instance()->title());
-
-  //see if the user wants on the fly projection enabled
-  int myProjectionEnabledFlag = 
-    QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectionsEnabled",0);
-  if (myProjectionEnabledFlag==0)
-  {
-    cbxProjectionEnabled->setChecked(false);
-  }
-  else
-  {
-    cbxProjectionEnabled->setChecked(true);
-  }
-  // set the default wkt to WGS 84
-  long mySRSID =  QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-  QgsDebugMsg("Read project SRSID: " + QString::number(mySRSID));
-  projectionSelector->setSelectedSRSID(mySRSID);
-  
-  
-  // 
-  // If the user changes the projection for the project, we need to 
-  // fire a signal to each layer telling it to change its coordinateTransform
-  // member's output projection. These connects I'm setting up should be
-  // automatically cleaned up when this project props dialog closes
-  std::map<QString, QgsMapLayer *> myMapLayers 
-    = QgsMapLayerRegistry::instance()->mapLayers();
-  std::map<QString, QgsMapLayer *>::iterator myMapIterator;
-  for ( myMapIterator = myMapLayers.begin(); myMapIterator != myMapLayers.end(); ++myMapIterator )
-  {
-    QgsMapLayer * myMapLayer = myMapIterator->second;
-    connect(this,
-        SIGNAL(setDestSRSID(long)),
-        myMapLayer->coordinateTransform(),
-        SLOT(setDestSRSID(long)));   
-  }
-    
-  // get the manner in which the number of decimal places in the mouse
-  // position display is set (manual or automatic)
-  bool automaticPrecision = QgsProject::instance()->readBoolEntry("PositionPrecision","/Automatic");
-  if (automaticPrecision)
-    radAutomatic->setChecked(true);
-  else
-    radManual->setChecked(true);
-
-  int dp = QgsProject::instance()->readNumEntry("PositionPrecision", "/DecimalPlaces");
-  spinBoxDP->setValue(dp);
-
-  //get the snapping tolerance for digitising and set the control accordingly
-  double mySnapTolerance = QgsProject::instance()->readDoubleEntry("Digitizing","/Tolerance",0);
-  //leSnappingTolerance->setInputMask("000000.000000");
-  leSnappingTolerance->setText(QString::number(mySnapTolerance));
-
-  //get the line width for digitised lines and set the control accordingly
-  int myLineWidth = QgsProject::instance()->readNumEntry("Digitizing","/LineWidth",0);
-  spinDigitisedLineWidth->setValue(myLineWidth);    
-
-  //get the colour of digitising lines and set the button colour accordingly
-  int myRedInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorRedPart",255);
-  int myGreenInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorGreenPart",0);
-  int myBlueInt = QgsProject::instance()->readNumEntry("Digitizing","/LineColorBluePart",0);
-  QColor myColour = QColor(myRedInt,myGreenInt,myBlueInt);
-  pbnDigitisedLineColour->setColor(myColour);
-
-
-  //get the colour selections and set the button colour accordingly
-  myRedInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorRedPart",255);
-  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorGreenPart",255);
-  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/SelectionColorBluePart",0);
-  myColour = QColor(myRedInt,myGreenInt,myBlueInt);
-  pbnSelectionColour->setColor(myColour);
-
-  //get the colour for map canvas background and set button colour accordingly (default white)
-  myRedInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorRedPart",255);
-  myGreenInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorGreenPart",255);
-  myBlueInt = QgsProject::instance()->readNumEntry("Gui","/CanvasColorBluePart",255);
-  myColour = QColor(myRedInt,myGreenInt,myBlueInt);
-  pbnCanvasColor->setColor(myColour);
-}
-
-QgsProjectProperties::~QgsProjectProperties()
-{}
-
-
-
-// return the map units
-QGis::units QgsProjectProperties::mapUnits() const
-{
-  return QgsProject::instance()->mapUnits();
-}
-
-void QgsProjectProperties::setMapUnits(QGis::units unit)
-{
-  // select the button
-  if (unit == QGis::UNKNOWN)
-  {
-    unit = QGis::METERS;
-  }
-  if (unit==QGis::METERS)
-  {
-    radMeters->setChecked(true);
-  }
-  else if(unit==QGis::FEET)
-  {
-    radFeet->setChecked(true);
-  }
-  else
-  {
-    radDecimalDegrees->setChecked(true);
-  }
-  QgsProject::instance()->mapUnits(unit);
-}
-
-
-QString QgsProjectProperties::title() const
-{
-  return titleEdit->text();
-} //  QgsProjectPropertires::title() const
-
-
-void QgsProjectProperties::title( QString const & title )
-{
-  titleEdit->setText( title );
-  QgsProject::instance()->title( title );
-} // QgsProjectProperties::title( QString const & title )
-
-
-
-//when user clicks apply button
-void QgsProjectProperties::apply()
-{
-  // Set the map units
-  // Note. Qt 3.2.3 and greater have a function selectedId() that
-  // can be used instead of the two part technique here
-  QGis::units mapUnit;
-  if (radMeters->isChecked())
-  {
-    mapUnit=QGis::METERS;
-  }
-  else if(radFeet->isChecked())
-  {
-    mapUnit=QGis::FEET;
-  }
-  else
-  {
-    mapUnit=QGis::DEGREES;
-  }
-
-  QgsProject::instance()->mapUnits(mapUnit);
-
-  // Set the project title
-  QgsProject::instance()->title( title() );
-
-#ifdef QGISDEBUG
-  std::cout << "Projection changed, notifying all layers" << std::endl;
-#endif      
-  //tell the project if projections are to be used or not...      
-  if (cbxProjectionEnabled->isChecked())
-  {
-    QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectionsEnabled",1);
-
-    emit projectionEnabled(true);
-  }
-  else
-  {
-    QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectionsEnabled",0);
-    emit projectionEnabled(false);
-  }
-  // Only change the projection if there is a node in the tree
-  // selected that has an srid. This prevents error if the user
-  // selects a top-level node rather than an actual coordinate
-  // system
-  long mySRSID = projectionSelector->getCurrentSRSID();
-  if (mySRSID)
-  {
-    emit setDestSRSID(mySRSID); 
-    // write the projection's _id_ to the project settings rather
-    QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectSRSID",(int)mySRSID);
-    // write the currently selected projections _proj string_ to project settings
-    std::cout << "SpatialRefSys/ProjectSRSProj4String: " <<  projectionSelector->getCurrentProj4String().toLocal8Bit().data() << std::endl;
-    QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectSRSProj4String",projectionSelector->getCurrentProj4String());
-    // Set the map units to the projected coordinates if we are projecting
-    if (isProjected())
-    {
-      QgsSpatialRefSys srs(mySRSID, QgsSpatialRefSys::QGIS_SRSID);
-      // If we couldn't get the map units, default to the value in the
-      // projectproperties dialog box (set above)
-      if (srs.mapUnits() != QGis::UNKNOWN)
-        QgsProject::instance()->mapUnits(srs.mapUnits());
-    }
-  }
-  emit mapUnitsChanged();
-
-  // set the mouse display precision method and the
-  // number of decimal places for the manual option
-  // Note. Qt 3.2.3 and greater have a function selectedId() that
-  // can be used instead of the two part technique here
-  if (radAutomatic->isChecked())
-    QgsProject::instance()->writeEntry("PositionPrecision","/Automatic", true);
-  else
-    QgsProject::instance()->writeEntry("PositionPrecision","/Automatic", false);
-  QgsProject::instance()->writeEntry("PositionPrecision","/DecimalPlaces", spinBoxDP->value());
-  // Announce that we may have a new display precision setting
-  emit displayPrecisionChanged();
-
-  //set the snapping tolerance for digitising (we write as text but read will convert to a num
-  QgsProject::instance()->writeEntry("Digitizing","/Tolerance",leSnappingTolerance->text());
-
-  //set the line width for digitised lines and set the control accordingly
-  QgsProject::instance()->writeEntry("Digitizing","/LineWidth",spinDigitisedLineWidth->value());
-
-  //set the colour of digitising lines
-  QColor myColour = pbnDigitisedLineColour->color();
-  QgsProject::instance()->writeEntry("Digitizing","/LineColorRedPart",myColour.red());
-  QgsProject::instance()->writeEntry("Digitizing","/LineColorGreenPart",myColour.green());
-  QgsProject::instance()->writeEntry("Digitizing","/LineColorBluePart",myColour.blue());
-
-  //set the colour for selections
-  myColour = pbnSelectionColour->color();
-  QgsProject::instance()->writeEntry("Gui","/SelectionColorRedPart",myColour.red());
-  QgsProject::instance()->writeEntry("Gui","/SelectionColorGreenPart",myColour.green());
-  QgsProject::instance()->writeEntry("Gui","/SelectionColorBluePart",myColour.blue()); 
-  QgsRenderer::mSelectionColor=myColour;
-
-  //set the colour for canvas
-  myColour = pbnCanvasColor->color();
-  QgsProject::instance()->writeEntry("Gui","/CanvasColorRedPart",myColour.red());
-  QgsProject::instance()->writeEntry("Gui","/CanvasColorGreenPart",myColour.green());
-  QgsProject::instance()->writeEntry("Gui","/CanvasColorBluePart",myColour.blue()); 
-  //todo XXX set canvas colour
-  emit refresh();
-}
-
-//when user clicks ok
-void QgsProjectProperties::accept()
-{
-  apply();
-  close();
-}
-
-bool QgsProjectProperties::isProjected()
-{
-  return cbxProjectionEnabled->isChecked();
-}
-
-void QgsProjectProperties::showProjectionsTab()
-{
-  tabWidget2->setCurrentPage(1);
-}
-
-void QgsProjectProperties::on_pbnDigitisedLineColour_clicked()
-{
-  QColor color = QColorDialog::getColor( pbnDigitisedLineColour->color(), this );
-  if (color.isValid())
-  {
-    pbnDigitisedLineColour->setColor(color);
-  }
-}
-
-void QgsProjectProperties::on_pbnSelectionColour_clicked()
-{
-  QColor color = QColorDialog::getColor( pbnSelectionColour->color(), this );
-  if (color.isValid())
-  {
-    pbnSelectionColour->setColor(color);
-  }
-}
-
-void QgsProjectProperties::on_pbnCanvasColor_clicked()
-{
-  QColor color = QColorDialog::getColor( pbnCanvasColor->color(), this );
-  if (color.isValid())
-  {
-    pbnCanvasColor->setColor(color);
-  }
-}
-void QgsProjectProperties::on_pbnHelp_clicked()
-{
-  std::cout << "running help" << std::endl; 
-  QgsContextHelp::run(context_id);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsprojectproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,114 +0,0 @@
-/***************************************************************************
-                             qgsprojectproperties.h    
-       Set various project properties (inherits qgsprojectpropertiesbase)
-                              -------------------
-  begin                : May 18, 2004
-  copyright            : (C) 2004 by Gary E.Sherman
-  email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-/* $Id: qgsprojectproperties.h 6299 2006-12-22 06:55:35Z g_j_m $ */
-
-#include "ui_qgsprojectpropertiesbase.h"
-#include "qgis.h"
-#include "qgisgui.h"
-
-class QColor;
-
-/*!  Dialog to set project level properties
-
-  @note actual state is stored in QgsProject singleton instance
-
- */
-class QgsProjectProperties : public QDialog, private Ui::QgsProjectPropertiesBase
-{
-  Q_OBJECT
-public:
-    //! Constructor
-  QgsProjectProperties(QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-
-  //! Destructor
-  ~QgsProjectProperties();
-
-  /*! Gets the currently select map units
-   */
-  QGis::units mapUnits() const;
-
-  /*!
-   * Set the map units
-   */
-  void setMapUnits(QGis::units);
-
-  /*!
-     Every project has a title
-  */
-  QString title() const;
-  void title( QString const & title );
-  
-  /*! Accessor for projection */
-  QString projectionWKT();
-  /*! Indicates that the projection switch is on */
-  bool isProjected();
-public slots:
-  /*!
-   * Slot called when apply button is pressed 
-   */
-  void apply();
-  /*!
-   * Slot called when ok button pressed (inherits from gui base)
-   */
-  void accept();
-  /*!
-   * Slot to show the projections tab when the dialog is opened
-   */
-  void showProjectionsTab();
-  
-  /*!
-   * Slot to select the digitizing line colour
-   */
-  void on_pbnDigitisedLineColour_clicked();
-
-  /*!
-   * Slot to select the map selection colour
-   */
-  void on_pbnSelectionColour_clicked();
-  
-  /*!
-   * Slot to select the map selection colour
-   */
-  void on_pbnCanvasColor_clicked();
-
-  /*!
-   * Slot to show the context help for this dialog
-   */
-  void on_pbnHelp_clicked();
-
-signals:
-  /*! This signal is used to notify all coordinateTransform objects to update
-   * their dest SRSID because the project output projection system is changed 
-   * @param srsid srs.db tbl_srs pkey value of the newly assigned srs
-   */
-  void setDestSRSID(long theSRSID);   
-  //! Signal used to inform listeners that the mouse display precision may have changed
-  void displayPrecisionChanged();
-  //! Signal used to inform listeners that the map units may of
-  //changed (and that the new value can be found in QgsProject.
-  void mapUnitsChanged();
-  //! let listening canvases know to refresh
-  void refresh();
-  //! notification of when on the fly projections are enabled / disabled
-  void projectionEnabled(bool);
-
-private:
-  static const int context_id = 361087368;
-
-};

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1127 +0,0 @@
-/***************************************************************************
-  qgsrasterlayerproperties.cpp  -  description
-  -------------------
-begin                : 1/1/2004
-copyright            : (C) 2004 Tim Sutton
-email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-
-
-#include "qgsapplication.h"
-#include "qgsrasterlayerproperties.h"
-#include "qgslayerprojectionselector.h"
-#include "qgsproject.h"
-#include "qgsrasterbandstats.h"
-#include "qgscontexthelp.h"
-#include <qgsrasterlayer.h>
-
-#include <QPainter>
-#include <QPolygon>
-#include <iostream>
-
-const char * const ident = 
-  "$Id: qgsrasterlayerproperties.cpp 6393 2007-01-04 08:13:13Z g_j_m $";
-
-
-QgsRasterLayerProperties::QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent, Qt::WFlags fl)
-: QDialog(parent, fl), 
-  rasterLayer( dynamic_cast<QgsRasterLayer*>(lyr) )
-{
-  
-  if (rasterLayer->getDataProvider() == 0)
-  {
-    // This is a GDAL-based layer
-    rasterLayerIsGdal = TRUE;
-    rasterLayerIsWms = FALSE;
-  }
-  else if (rasterLayer->getDataProvider()->name() == "wms")
-  {
-    // This is a WMS-based layer
-    rasterLayerIsWms = TRUE;
-    rasterLayerIsGdal = FALSE;
-  }
-
-  setupUi(this);
-  connect(buttonApply, SIGNAL(clicked()), this, SLOT(apply()));
-  connect(buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
-  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
-  connect(sliderTransparency, SIGNAL(valueChanged(int)), this, SLOT(sliderTransparency_valueChanged(int)));
-
-  // set up the scale based layer visibility stuff....
-  chkUseScaleDependentRendering->setChecked(lyr->scaleBasedVisibility());
-  spinMinimumScale->setValue((int)lyr->minScale());
-  spinMaximumScale->setValue((int)lyr->maxScale());
-
-  // build GUI components
-
-  cboColorMap->insertItem(tr("Grayscale"));
-  cboColorMap->insertItem(tr("Pseudocolor"));
-  cboColorMap->insertItem(tr("Freak Out"));
-
-  //set the std deviations to be plotted combo box
-  cboStdDev->insertItem("0");
-  cboStdDev->insertItem("0.5");
-  cboStdDev->insertItem("0.75");
-  cboStdDev->insertItem("1");
-  cboStdDev->insertItem("1.25");
-  cboStdDev->insertItem("1.5");
-  cboStdDev->insertItem("1.75");
-  cboStdDev->insertItem("2");
-  cboStdDev->insertItem("2.25");
-  cboStdDev->insertItem("2.5");
-  cboStdDev->insertItem("2.75");
-  cboStdDev->insertItem("3");
-
-  //
-  // Set up the combo boxes that contain band lists using the qstring list generated above
-  //
-
-  if (rasterLayer->getRasterLayerType()
-          == QgsRasterLayer::PALETTE) //paletted layers have hard coded color entries
-  {
-    cboRed->insertItem("Red");
-    cboGreen->insertItem("Red");
-    cboBlue->insertItem("Red");
-
-    cboRed->insertItem("Green");
-    cboGreen->insertItem("Green");
-    cboBlue->insertItem("Green");
-
-    cboRed->insertItem("Blue");
-    cboGreen->insertItem("Blue");
-    cboBlue->insertItem("Blue");
-
-    cboRed->insertItem(tr("Not Set"));
-    cboGreen->insertItem(tr("Not Set"));
-    cboBlue->insertItem(tr("Not Set"));
-
-    cboGray->insertItem("Red");
-    cboGray->insertItem("Green");
-    cboGray->insertItem("Blue");
-    cboGray->insertItem(tr("Not Set"));
-
-    lstHistogramLabels->insertItem(tr("Palette"));
-  }
-  else                   // all other layer types use band name entries only
-  {
-#ifdef QGISDEBUG
-    std::cout << "Populating combos for non paletted layer" << std::endl;
-#endif
-
-    //
-    // Get a list of band names
-    //
-    QStringList myBandNameQStringList;
-
-    int myBandCountInt = rasterLayer->getBandCount();
-#ifdef QGISDEBIG
-    std::cout << "Looping though " << myBandCountInt << " image layers to get their names " << std::endl;
-#endif
-    for (int myIteratorInt = 1;
-            myIteratorInt <= myBandCountInt;
-            ++myIteratorInt)
-    {
-      //find out the name of this band
-      QString myRasterBandNameQString = rasterLayer->getRasterBandName(myIteratorInt) ;
-
-      //
-      //add the band to the histogram tab
-      //
-      QPixmap myPixmap(10,10);
-
-      if (myBandCountInt==1) //draw single band images with black
-      {
-        myPixmap.fill( Qt::black );
-      }
-      else if (myIteratorInt==1)
-      {
-        myPixmap.fill( Qt::red );
-      }
-      else if (myIteratorInt==2)
-      {
-        myPixmap.fill( Qt::green );
-      }
-      else if (myIteratorInt==3)
-      {
-        myPixmap.fill( Qt::blue );
-      }
-      else if (myIteratorInt==4)
-      {
-        myPixmap.fill( Qt::magenta );
-      }
-      else if (myIteratorInt==5)
-      {
-        myPixmap.fill( Qt::darkRed );
-      }
-      else if (myIteratorInt==6)
-      {
-        myPixmap.fill( Qt::darkGreen );
-      }
-      else if (myIteratorInt==7)
-      {
-        myPixmap.fill( Qt::darkBlue );
-      }
-      else
-      {
-        myPixmap.fill( Qt::gray );
-      }
-      lstHistogramLabels->insertItem(myPixmap,myRasterBandNameQString);
-      //keep a list of band names for later use
-      //! @note band names should not be translated!
-      myBandNameQStringList.append(myRasterBandNameQString);
-    }
-
-    //select all histogram layers list items by default
-    for (int myIteratorInt = 1;
-          myIteratorInt <= myBandCountInt;
-          ++myIteratorInt)
-    {
-      Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
-      lstHistogramLabels->setSelected( myItem,true);
-    }
-
-    for (QStringList::Iterator myIterator = myBandNameQStringList.begin(); 
-            myIterator != myBandNameQStringList.end(); 
-            ++myIterator)
-    {
-      QString myQString = *myIterator;
-#ifdef QGISDEBUG
-
-      std::cout << "Inserting : " << myQString.toLocal8Bit().data() << std::endl;
-#endif
-
-      cboGray->insertItem(myQString);
-      cboRed->insertItem(myQString);
-      cboGreen->insertItem(myQString);
-      cboBlue->insertItem(myQString);
-      cboTransparent->insertItem(myQString);
-    }
-    cboRed->insertItem(tr("Not Set"));
-    cboGreen->insertItem(tr("Not Set"));
-    cboBlue->insertItem(tr("Not Set"));
-    cboTransparent->insertItem(tr("Not Set"));
-    if (cboGray->count() != 1)
-      cboGray->insertItem(tr("Not Set"));
-  }
-
-  QString myThemePath = QgsApplication::themePath();
-  QPixmap myPyramidPixmap(myThemePath + "/mIconPyramid.png");
-  QPixmap myNoPyramidPixmap(myThemePath + "/mIconNoPyramid.png");
-
-  // Only do pyramids if dealing directly with GDAL.
-  if (rasterLayerIsGdal)
-  {
-    QgsRasterLayer::RasterPyramidList myPyramidList = rasterLayer->buildRasterPyramidList();
-    QgsRasterLayer::RasterPyramidList::iterator myRasterPyramidIterator;
-  
-    for ( myRasterPyramidIterator=myPyramidList.begin();
-            myRasterPyramidIterator != myPyramidList.end();
-            ++myRasterPyramidIterator )
-    {
-      if ((*myRasterPyramidIterator).existsFlag==true)
-      {
-        lbxPyramidResolutions->insertItem(myPyramidPixmap,
-                QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
-                QString::number((*myRasterPyramidIterator).yDimInt)); 
-      }
-      else
-      {
-        lbxPyramidResolutions->insertItem(myNoPyramidPixmap,
-                QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
-                QString::number((*myRasterPyramidIterator).yDimInt)); 
-      }
-    }
-  }
-  else if (rasterLayerIsWms)
-  {
-    // disable Pyramids tab completely
-    tabBar->setTabEnabled(tabBar->indexOf(tabPagePyramids), FALSE);
-
-    // disable Histogram tab completely
-    tabBar->setTabEnabled(tabBar->indexOf(tabPageHistogram), FALSE);
-  }
-
-  if ( rasterLayer->coordinateTransform() )
-  {
-    leSpatialRefSys->setText(rasterLayer->coordinateTransform()->sourceSRS().proj4String());
-  }
-  //draw the histogram
-  //on_pbnHistRefresh_clicked();
-
-  // update based on lyr's current state
-  sync();
-} // QgsRasterLayerProperties ctor
-
-
-QgsRasterLayerProperties::~QgsRasterLayerProperties()
-{
-  delete rasterLayer;
-}
-
-
-void QgsRasterLayerProperties::apply()
-{
-  // set up the scale based layer visibility stuff....
-  rasterLayer->setScaleBasedVisibility(chkUseScaleDependentRendering->isChecked());
-  rasterLayer->setMinScale(spinMinimumScale->value());
-  rasterLayer->setMaxScale(spinMaximumScale->value());
-
-  rasterLayer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value()));
-  //set the std deviations to be plotted
-  rasterLayer->setStdDevsToPlot(cboStdDev->currentText().toDouble());
-  //set whether the layer histogram should be inverted
-  if (cboxInvertColorMap->isChecked()
-     )
-  {
-    rasterLayer->setInvertHistogramFlag(true);
-  }
-  else
-  {
-    rasterLayer->setInvertHistogramFlag(false);
-  }
-  //now set the color -> band mapping combos to the correct values
-  rasterLayer->setRedBandName(cboRed->currentText());
-  rasterLayer->setGreenBandName(cboGreen->currentText());
-  rasterLayer->setBlueBandName(cboBlue->currentText());
-  rasterLayer->setGrayBandName(cboGray->currentText());
-  rasterLayer->setTransparentBandName(cboTransparent->currentText());
-  //set the appropriate color ramping type
-  if (cboColorMap->currentText() == tr("Pseudocolor"))
-  {
-    rasterLayer->setColorRampingType(QgsRasterLayer::BLUE_GREEN_RED);  
-  }
-  else if (cboColorMap->currentText() == tr("Freak Out"))
-  {
-    rasterLayer->setColorRampingType(QgsRasterLayer::FREAK_OUT);  
-  }
-  //set the appropriate render style
-  if ((grpBoxGrayscale->isEnabled())
-          && (rbtnSingleBand->isChecked()))
-  {
-    //
-    // Grayscale
-    //
-    if (rasterLayer->rasterLayerType == QgsRasterLayer::GRAY_OR_UNDEFINED)
-    {
-
-      if (cboColorMap->currentText() != tr("Grayscale"))
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to :: SINGLE_BAND_PSEUDO_COLOR" << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR);
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to :: SINGLE_BAND_GRAY" << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::SINGLE_BAND_GRAY);
-      }
-    }
-    //
-    // Paletted Image
-    //
-    else if (rasterLayer->rasterLayerType == QgsRasterLayer::PALETTE)
-    {
-      if (cboColorMap->currentText() != tr("Grayscale"))
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to :: PALETTED_SINGLE_BAND_PSEUDO_COLOR" << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR);
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to :: PALETTED_SINGLE_BAND_GRAY" << std::endl;
-#endif
-#ifdef QGISDEBUG
-
-        std::cout << "Combo value : " << cboGray->currentText().toLocal8Bit().data() << " GrayBand Mapping : " << rasterLayer->
-            getGrayBandName().toLocal8Bit().data() << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_SINGLE_BAND_GRAY);
-      }
-    }
-    //
-    // Mutltiband
-    //
-    else if (rasterLayer->rasterLayerType == QgsRasterLayer::MULTIBAND)
-    {
-      if (cboColorMap->currentText() != tr("Grayscale"))
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to ::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR " << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR);
-      }
-      else
-      {
-#ifdef QGISDEBUG
-        std::cout << "Setting Raster Drawing Style to :: MULTI_BAND_SINGLE_BAND_GRAY" << std::endl;
-        std::cout << "Combo value : " << cboGray->currentText().toLocal8Bit().data() << " GrayBand Mapping : " << rasterLayer->
-            getGrayBandName().toLocal8Bit().data() << std::endl;
-#endif
-
-        rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_SINGLE_BAND_GRAY);
-
-      }
-    }
-  }                           //end of grayscale box enabled and rbtnsingleband checked
-  else                          //assume that rbtnThreeBand is checked and render in rgb color
-  {
-    //set the grayscale color table type if the groupbox is enabled
-
-    if (rasterLayer->rasterLayerType == QgsRasterLayer::PALETTE)
-    {
-#ifdef QGISDEBUG
-      std::cout << "Setting Raster Drawing Style to :: PALETTED_MULTI_BAND_COLOR" << std::endl;
-#endif
-
-      rasterLayer->setDrawingStyle(QgsRasterLayer::PALETTED_MULTI_BAND_COLOR);
-    }
-    else if (rasterLayer->rasterLayerType == QgsRasterLayer::MULTIBAND)
-    {
-
-#ifdef QGISDEBUG
-      std::cout << "Setting Raster Drawing Style to :: MULTI_BAND_COLOR" << std::endl;
-#endif
-
-      rasterLayer->setDrawingStyle(QgsRasterLayer::MULTI_BAND_COLOR);
-    }
-
-  }
-  
-  rasterLayer->setLayerName(leDisplayName->text());
-  
-  //update the legend pixmap
-  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
-  pixmapLegend->setScaledContents(true);
-  pixmapLegend->repaint(false);
-  rasterLayer->updateItemPixmap();
-  
-  //see if the user would like debug overlays
-  if (cboxShowDebugInfo->isChecked()
-          == true)
-  {
-    rasterLayer->setShowDebugOverlayFlag(true);
-  }
-  else
-  {
-    rasterLayer->setShowDebugOverlayFlag(false);
-  }
-  //get the thumbnail for the layer
-  QPixmap myQPixmap = QPixmap(pixmapThumbnail->width(),pixmapThumbnail->height());
-  rasterLayer->drawThumbnail(&myQPixmap);
-  pixmapThumbnail->setPixmap(myQPixmap);
-  //make sure the layer is redrawn
-  rasterLayer->refreshLegend();
-  rasterLayer->triggerRepaint();
-}//apply
-
-void QgsRasterLayerProperties::accept()
-{
-  apply();
-  close();
-}//accept
-void QgsRasterLayerProperties::sliderTransparency_valueChanged(int theValue)
-{
-  //set the transparency percentage label to a suitable value
-  int myInt = static_cast < int >((theValue / 255.0) * 100);  //255.0 to prevent integer division
-  lblTransparencyPercent->setText(QString::number(myInt) + "%");
-}//sliderTransparency_valueChanged
-
-
-
-
-
-
-void QgsRasterLayerProperties::on_rbtnSingleBand_toggled(bool)
-{}
-
-
-void QgsRasterLayerProperties::on_rbtnThreeBand_toggled(bool)
-{}
-
-void QgsRasterLayerProperties::on_buttonBuildPyramids_clicked()
-{
-
-  //
-  // Go through the list marking any files that are selected in the listview
-  // as true so that we can generate pyramids for them.
-  //
-  QgsRasterLayer::RasterPyramidList myPyramidList = rasterLayer->buildRasterPyramidList();
-  for ( unsigned int myCounterInt = 0; myCounterInt < lbxPyramidResolutions->count(); myCounterInt++ )
-  {
-    Q3ListBoxItem *myItem = lbxPyramidResolutions->item( myCounterInt );
-    if ( myItem->isSelected() )
-    {
-      //mark to be pyramided
-      myPyramidList[myCounterInt].existsFlag=true;
-    }
-  }
-  //
-  // Ask raster layer to build the pyramids
-  //
-  rasterLayer->buildPyramids(myPyramidList,cboResamplingMethod->currentText());  
-  //
-  // repopulate the pyramids list
-  //
-  lbxPyramidResolutions->clear();
-  QString myThemePath = QgsApplication::themePath();
-  QPixmap myPyramidPixmap(myThemePath + "/mIconPyramid.png");
-  QPixmap myNoPyramidPixmap(myThemePath + "/mIconNoPyramid.png");
-
-  QgsRasterLayer::RasterPyramidList::iterator myRasterPyramidIterator;
-  for ( myRasterPyramidIterator=myPyramidList.begin();
-          myRasterPyramidIterator != myPyramidList.end();
-          ++myRasterPyramidIterator )
-  {
-    if ((*myRasterPyramidIterator).existsFlag==true)
-    {
-      lbxPyramidResolutions->insertItem(myPyramidPixmap,
-              QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
-              QString::number((*myRasterPyramidIterator).yDimInt)); 
-    }
-    else
-    {
-      lbxPyramidResolutions->insertItem(myNoPyramidPixmap,
-              QString::number((*myRasterPyramidIterator).xDimInt) + QString(" x ") + 
-              QString::number((*myRasterPyramidIterator).yDimInt)); 
-    }
-  }
-  //update the legend pixmap
-  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
-  pixmapLegend->setScaledContents(true);
-  pixmapLegend->repaint(false);
-  rasterLayer->updateItemPixmap();
-  //populate the metadata tab's text browser widget with gdal metadata info
-  txtbMetadata->setText(rasterLayer->getMetadata());
-}
-
-
-/**
-  @note moved from ctor
-
-  Previously this dialog was created anew with each right-click pop-up menu
-  invokation.  Changed so that the dialog always exists after first
-  invocation, and is just re-synchronized with its layer's state when
-  re-shown.
-
-*/
-void QgsRasterLayerProperties::sync()
-{
-  cboxShowDebugInfo->hide();
-
-  //get the thumbnail for the layer
-  QPixmap myQPixmap = QPixmap(pixmapThumbnail->width(),pixmapThumbnail->height());
-  rasterLayer->drawThumbnail(&myQPixmap);
-  pixmapThumbnail->setPixmap(myQPixmap);
-
-  //populate the metadata tab's text browser widget with gdal metadata info
-  txtbMetadata->setText(rasterLayer->getMetadata());
-  //tabSymbology->removePage(tabMetadata);
-
-  //display the raster dimensions and no data value
-  if (rasterLayerIsGdal)
-  {
-    lblColumns->setText(tr("Columns: ") + QString::number(rasterLayer->getRasterXDim()));
-    lblRows->setText(tr("Rows: ") + QString::number(rasterLayer->getRasterYDim()));
-    lblNoData->setText(tr("No-Data Value: ") + QString::number(rasterLayer->getNoDataValue()));
-  }
-  else if (rasterLayerIsWms)
-  {
-    // TODO: Account for fixedWidth and fixedHeight WMS layers
-    lblColumns->setText(tr("Columns: ") + tr("n/a"));
-    lblRows->setText(tr("Rows: ") + tr("n/a"));
-    lblNoData->setText(tr("No-Data Value: ") + tr("n/a"));
-  }
-
-  //these properties (layername and label) are provided by the qgsmaplayer superclass
-  leLayerSource->setText(rasterLayer->source());
-  leDisplayName->setText(rasterLayer->name());
-
-  //update the debug checkbox
-  cboxShowDebugInfo->setChecked(rasterLayer->getShowDebugOverlayFlag());
-
-  //update the legend pixmap on this dialog
-  pixmapLegend->setPixmap(rasterLayer->getLegendQPixmap());
-  pixmapLegend->setScaledContents(true);
-  pixmapLegend->repaint(false);
-
-  //set the palette pixmap
-  pixmapPalette->setPixmap(rasterLayer->getPaletteAsPixmap());
-  pixmapPalette->setScaledContents(true);
-  pixmapPalette->repaint(false);
-
-  //set the transparency slider
-  sliderTransparency->setValue(255 - rasterLayer->getTransparency());
-  //update the transparency percentage label
-  sliderTransparency_valueChanged(255 - rasterLayer->getTransparency());
-  //decide whether user can change rgb settings
-
-  switch (rasterLayer->getDrawingStyle())
-  {
-      case QgsRasterLayer::SINGLE_BAND_GRAY:
-          rbtnThreeBand->setEnabled(false);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR:
-          rbtnThreeBand->setEnabled(false);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::PALETTED_SINGLE_BAND_GRAY:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::PALETTED_MULTI_BAND_COLOR:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnThreeBand->toggle();
-          break;
-      case QgsRasterLayer::MULTI_BAND_SINGLE_BAND_GRAY:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnSingleBand->toggle();
-          break;
-      case QgsRasterLayer::MULTI_BAND_COLOR:
-          rbtnThreeBand->setEnabled(true);
-          rbtnSingleBand->setEnabled(true);
-          rbtnThreeBand->toggle();
-          break;
-      default:
-          break;
-  }
-
-
-  if (rasterLayer->getRasterLayerType() == QgsRasterLayer::MULTIBAND)
-  {
-    //multiband images can also be rendered as single band (using only one of the bands)
-    txtSymologyNotes->
-        setText(tr
-                ("<h3>Multiband Image Notes</h3><p>This is a multiband image. You can choose to render it as grayscale or color (RGB). For color images, you can associate bands to colors arbitarily. For example, if you have a seven band landsat image, you may choose to render it as:</p><ul><li>Visible Blue (0.45 to 0.52 microns) - not mapped</li><li>Visible Green (0.52 to 0.60 microns) - not mapped</li></li>Visible Red (0.63 to 0.69 microns) - mapped to red in image</li><li>Near Infrared (0.76 to 0.90 microns) - mapped to green in image</li><li>Mid Infrared (1.55 to 1.75 microns) - not mapped</li><li>Thermal Infrared (10.4 to 12.5 microns) - not mapped</li><li>Mid Infrared (2.08 to 2.35 microns) - mapped to blue in image</li></ul>"));
-  }
-  else if (rasterLayer->getRasterLayerType() == QgsRasterLayer::PALETTE)
-  {
-    //paletted images (e.g. tif) can only be rendered as three band rgb images
-    txtSymologyNotes->
-        setText(tr
-                ("<h3>Paletted Image Notes</h3> <p>This image uses a fixed color palette. You can remap these colors in different combinations e.g.</p><ul><li>Red - blue in image</li><li>Green - blue in image</li><li>Blue - green in image</li></ul>"));
-  }
-  else                        //only grayscale settings allowed
-  {
-    //grayscale images can only be rendered as singleband
-    txtSymologyNotes->
-        setText(tr
-                ("<h3>Grayscale Image Notes</h3> <p>You can remap these grayscale colors to a pseudocolor image using an automatically generated color ramp.</p>"));
-  }
-
-
-  //
-  // Populate the various controls on the form
-  //
-  if (rasterLayer->getDrawingStyle() == QgsRasterLayer::SINGLE_BAND_PSEUDO_COLOR ||
-          rasterLayer->getDrawingStyle() == QgsRasterLayer::PALETTED_SINGLE_BAND_PSEUDO_COLOR ||
-          rasterLayer->getDrawingStyle() == QgsRasterLayer::MULTI_BAND_SINGLE_BAND_PSEUDO_COLOR)
-  {
-    if(rasterLayer->getColorRampingType()==QgsRasterLayer::BLUE_GREEN_RED)
-    {
-      cboColorMap->setCurrentText(tr("Pseudocolor"));
-    }
-    else
-    {
-      cboColorMap->setCurrentText(tr("Freak Out"));
-    }
-
-  }
-  else
-  {
-    cboColorMap->setCurrentText(tr("Grayscale"));
-  }
-  //set whether the layer histogram should be inverted
-  if (rasterLayer->getInvertHistogramFlag())
-  {
-    cboxInvertColorMap->setChecked(true);
-  }
-  else
-  {
-    cboxInvertColorMap->setChecked(false);
-  }
-
-  double myStdDevsDouble = rasterLayer->getStdDevsToPlot();
-  cboStdDev->setCurrentText(QString::number(myStdDevsDouble));
-
-
-  //now set the combos to the correct values
-  cboRed->setCurrentText(rasterLayer->getRedBandName());
-  cboGreen->setCurrentText(rasterLayer->getGreenBandName());
-  cboBlue->setCurrentText(rasterLayer->getBlueBandName());
-  cboGray->setCurrentText(rasterLayer->getGrayBandName());
-  cboTransparent->setCurrentText(rasterLayer->getTransparentBandName());
-
-
-} // QgsRasterLayerProperties::sync()
-
-void QgsRasterLayerProperties::on_pbnHistRefresh_clicked()
-{
-#ifdef QGISDEBUG
-  std::cout << "QgsRasterLayerProperties::on_pbnHistRefresh_clicked" << std::endl;
-#endif
-  int myBandCountInt = rasterLayer->getBandCount();
-  //
-  // Find out how many bands are selected and short circuit out clearing the image
-  // if needed
-  int mySelectionCount=0;
-  for (int myIteratorInt = 1;
-          myIteratorInt <= myBandCountInt;
-          ++myIteratorInt)
-  {
-    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
-    Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
-    if ( myItem->isSelected() )
-    {
-      mySelectionCount++;
-    }
-  }
-  if (mySelectionCount==0)
-  {
-    int myImageWidth = pixHistogram->width();
-    int myImageHeight =  pixHistogram->height();
-    QPixmap myPixmap(myImageWidth,myImageHeight);
-    myPixmap.fill(Qt::white);
-    pixHistogram->setPixmap(myPixmap);
-  }
-
-  // Explanation:
-  // We use the gdal histogram creation routine is called for each selected  
-  // layer. Currently the hist is hardcoded
-  // to create 256 bins. Each bin stores the total number of cells that 
-  // fit into the range defined by that bin.
-  //
-  // The graph routine below determines the greatest number of pixesl in any given 
-  // bin in all selected layers, and the min. It then draws a scaled line between min 
-  // and max - scaled to image height. 1 line drawn per selected band
-  //
-  const int BINCOUNT = spinHistBinCount->value();
-  enum GRAPH_TYPE { BAR_CHART, LINE_CHART } myGraphType;
-  if (radHistTypeBar->isOn()) myGraphType=BAR_CHART; else myGraphType=LINE_CHART;
-  bool myIgnoreOutOfRangeFlag = chkHistIgnoreOutOfRange->isChecked();
-  bool myThoroughBandScanFlag = chkHistAllowApproximation->isChecked();
-
-  long myCellCount = rasterLayer->getRasterXDim() * rasterLayer->getRasterYDim();
-
-
-#ifdef QGISDEBUG
-  std::cout << "Computing histogram minima and maxima" << std::endl;
-#endif
-  //somtimes there are more bins than needed
-  //we find out the last on that actully has data in it
-  //so we can discard the rest adn the x-axis scales correctly
-  int myLastBinWithData=0;
-  //
-  // First scan through to get max and min cell counts from among selected layers' histograms
-  //
-  double myYAxisMax=0;
-  double myYAxisMin=0;
-  int myXAxisMin=0;
-  int myXAxisMax=0;
-  for (int myIteratorInt = 1;
-          myIteratorInt <= myBandCountInt;
-          ++myIteratorInt)
-  {
-    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
-    //calculate the x axis min max
-    if (myRasterBandStats.minValDouble < myXAxisMin || myIteratorInt==1)
-    {
-      myXAxisMin=static_cast < unsigned int >(myRasterBandStats.minValDouble);
-    }
-    if (myRasterBandStats.maxValDouble < myXAxisMax || myIteratorInt==1)
-    {
-      myXAxisMax=static_cast < unsigned int >(myRasterBandStats.maxValDouble);
-    }
-    Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
-    if ( myItem->isSelected() )
-    {
-#ifdef QGISDEBUG
-      std::cout << "Ensuring hist is populated for this layer" << std::endl;
-#endif
-      rasterLayer->populateHistogram(myIteratorInt,BINCOUNT,myIgnoreOutOfRangeFlag,myThoroughBandScanFlag); 
-
-#ifdef QGISDEBUG
-      std::cout << "...done..." << myRasterBandStats.histogramVector->size() << " bins filled" << std::endl;
-#endif
-      for (int myBin = 0; myBin <BINCOUNT; myBin++)
-      {
-        int myBinValue = myRasterBandStats.histogramVector->at(myBin);
-        if (myBinValue > 0 && myBin > myLastBinWithData)
-        {
-          myLastBinWithData = myBin;
-        }
-#ifdef QGISDEBUG
-        std::cout << "Testing if " << myBinValue << " is less than " << myYAxisMin  << "or greater then " <<myYAxisMax  <<  std::endl;
-#endif
-        if ( myBin==0)
-        {
-          myYAxisMin = myBinValue;
-          myYAxisMax = myBinValue;
-        }
-
-        if (myBinValue  > myYAxisMax)
-        {
-          myYAxisMax = myBinValue;
-        }
-        if ( myBinValue < myYAxisMin)
-        {
-          myYAxisMin = myBinValue;
-        }
-      }
-    }
-  }
-#ifdef QGISDEBUG
-  std::cout << "max " << myYAxisMax << std::endl;
-  std::cout << "min " << myYAxisMin << std::endl;
-#endif
-
-
-  //create the image onto which graph and axes will be drawn
-  int myImageWidth = pixHistogram->width();
-  int myImageHeight =  pixHistogram->height();
-  QPixmap myPixmap(myImageWidth,myImageHeight);
-  myPixmap.fill(Qt::white);
-
-  // TODO: Confirm that removing the "const QWidget * copyAttributes" 2nd parameter,
-  // in order to make things work in Qt4, doesn't break things in Qt3.
-  //QPainter myPainter(&myPixmap, this);
-  QPainter myPainter(&myPixmap);
-
-  //determine labels sizes and draw them
-  QFont myQFont("arial", 8, QFont::Normal);
-  QFontMetrics myFontMetrics( myQFont );
-  myPainter.setFont(myQFont);
-  myPainter.setPen(Qt::black);
-  QString myYMaxLabel= QString::number(static_cast < unsigned int >(myYAxisMax));
-  QString myXMinLabel= QString::number(myXAxisMin);
-  QString myXMaxLabel= QString::number(myXAxisMax);
-  //calculate the gutters
-  int myYGutterWidth=0;
-  if (myFontMetrics.width(myXMinLabel) < myFontMetrics.width(myYMaxLabel))
-  {
-    myYGutterWidth = myFontMetrics.width(myYMaxLabel )+2; //add 2 so we can have 1 pix whitespace either side of label
-  }
-  else
-  {
-    myYGutterWidth = myFontMetrics.width(myXMinLabel )+2; //add 2 so we can have 1 pix whitespace either side of label
-  }
-  int myXGutterHeight = myFontMetrics.height()+2;
-  int myXGutterWidth = myFontMetrics.width(myXMaxLabel)+1;//1 pix whtispace from right edge of image
-
-  //
-  // Now calculate the graph drawable area after the axis labels have been taken
-  // into account
-  //
-  int myGraphImageWidth =myImageWidth-myYGutterWidth; 
-  int myGraphImageHeight = myImageHeight-myXGutterHeight; 
-
-  //find out how wide to draw bars when in bar chart mode
-  int myBarWidth = static_cast<int>((((double)myGraphImageWidth)/((double)BINCOUNT)));
-
-
-  //
-  //now draw actual graphs
-  //
-  if (rasterLayer->getRasterLayerType()
-          == QgsRasterLayer::PALETTE) //paletted layers have hard coded color entries
-  {
-    QPolygon myPointArray(myLastBinWithData);
-    QgsColorTable *myColorTable=rasterLayer->colorTable(1);
-#ifdef QGISDEBUG
-    std::cout << "Making paletted image histogram....computing band stats" << std::endl;
-    std::cout << "myLastBinWithData = " << myLastBinWithData << std::endl;
-#endif
-
-    QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(1);
-    for (int myBin = 0; myBin < myLastBinWithData; myBin++)
-    {
-      double myBinValue = myRasterBandStats.histogramVector->at(myBin);
-#ifdef QGISDEBUG
-      std::cout << "myBin = " << myBin << " myBinValue = " << myBinValue << std::endl;
-#endif
-      //NOTE: Int division is 0 if the numerator is smaller than the denominator.
-      //hence the casts
-      int myX = static_cast<int>((((double)myGraphImageWidth)/((double)myLastBinWithData))*myBin);
-      //height varies according to freq. and scaled to greatet value in all layers
-      int myY=0;
-      if (myYAxisMax!=0)
-      {  
-        myY=static_cast<int>(((double)myBinValue/(double)myYAxisMax)*myGraphImageHeight);
-      }
-      
-      //see wehter to draw something each loop or to save up drawing for after iteration
-      if (myGraphType==BAR_CHART)
-      {
-	//determin which color to draw the bar
-	int c1, c2, c3;
-	// Take middle of the interval for color
-	// TODO: this is not precise
-	double myInterval = (myXAxisMax - myXAxisMin) / myLastBinWithData;
-	double myMiddle = myXAxisMin + myBin * myInterval + myInterval/2;
-
-#ifdef QGISDEBUG
-	std::cout << "myMiddle = " << myMiddle << std::endl;
-#endif
-	
-	bool found = myColorTable->color ( myMiddle, &c1, &c2, &c3 );
-	if ( !found ) {
-	    std::cout << "Color not found" << std::endl;
-	    c1 = c2 = c3 = 180; // grey
-	}
-	  
-#ifdef QGISDEBUG
-	std::cout << "c1 = " << c1 << " c2 = " << c2 << " c3 = " << c3 << std::endl;
-#endif
-	  
-        //draw the bar
-        //QBrush myBrush(QColor(c1,c2,c3));
-	myPainter.setBrush(QColor(c1,c2,c3));
-        myPainter.setPen(QColor(c1,c2,c3));
-#ifdef QGISDEBUG
-        std::cout << "myX = " << myX << " myY = " << myY << std::endl;
-        std::cout << "rect: " << myX+myYGutterWidth << ", " << myImageHeight-(myY+myXGutterHeight)
-	          << ", " << myBarWidth << ", " << myY << std::endl;
-#endif
-        myPainter.drawRect(myX+myYGutterWidth,myImageHeight-(myY+myXGutterHeight),myBarWidth,myY);
-      }
-      //store this point in our line too
-      myY = myGraphImageHeight - myY;
-      myPointArray.setPoint(myBin, myX+myYGutterWidth, myY-myXGutterHeight);
-    }
-    //draw a line on the graph along the bar peaks; 
-    if (myGraphType==LINE_CHART)
-    {
-      myPainter.setPen( Qt::black );
-      myPainter.drawPolyline(myPointArray);
-    }
-  }
-  else
-  {
-
-    for (int myIteratorInt = 1;
-            myIteratorInt <= myBandCountInt;
-            ++myIteratorInt)
-    {
-      QgsRasterBandStats myRasterBandStats = rasterLayer->getRasterBandStats(myIteratorInt);
-      Q3ListBoxItem *myItem = lstHistogramLabels->item( myIteratorInt-1 );
-      if ( myItem->isSelected() )
-      {
-
-        QPolygon myPointArray(myLastBinWithData);
-        for (int myBin = 0; myBin <myLastBinWithData; myBin++)
-        {
-          double myBinValue = myRasterBandStats.histogramVector->at(myBin);
-          //NOTE: Int division is 0 if the numerator is smaller than the denominator.
-          //hence the casts
-          int myX = static_cast<int>((((double)myGraphImageWidth)/((double)myLastBinWithData))*myBin);
-          //height varies according to freq. and scaled to greatet value in all layers
-          int myY = static_cast<int>(((double)myBinValue/(double)myYAxisMax)*myGraphImageHeight);
-          //adjust for image origin being top left
-#ifdef QGISDEBUG
-          std::cout << "-------------" << std::endl;
-          std::cout << "int myY = (myBinValue/myCellCount)*myGraphImageHeight" << std::endl;
-          std::cout << "int myY = (" << myBinValue << "/" << myCellCount << ")*" << myGraphImageHeight << std::endl;
-          std::cout << "Band " << myIteratorInt << ", bin " << myBin << ", Hist Value : " << myBinValue << ", Scaled Value : " << myY << std::endl;
-          std::cout << "myY = myGraphImageHeight - myY" << std::endl;
-          std::cout << "myY = " << myGraphImageHeight << "-" << myY << std::endl;
-#endif
-          if (myGraphType==BAR_CHART)
-          {
-            //draw the bar
-            if (myBandCountInt==1) //draw single band images with black
-            {
-              myPainter.setPen( Qt::black );
-            }
-            else if (myIteratorInt==1)
-            {
-              myPainter.setPen( Qt::red );
-            }
-            else if (myIteratorInt==2)
-            {
-              myPainter.setPen( Qt::green );
-            }
-            else if (myIteratorInt==3)
-            {
-              myPainter.setPen( Qt::blue );
-            }
-            else if (myIteratorInt==4)
-            {
-              myPainter.setPen( Qt::magenta );
-            }
-            else if (myIteratorInt==5)
-            {
-              myPainter.setPen( Qt::darkRed );
-            }
-            else if (myIteratorInt==6)
-            {
-              myPainter.setPen( Qt::darkGreen );
-            }
-            else if (myIteratorInt==7)
-            {
-              myPainter.setPen( Qt::darkBlue );
-            }
-            else
-            {
-              myPainter.setPen( Qt::gray );
-            }
-#ifdef QGISDEBUG
-            //  std::cout << "myPainter.fillRect(QRect(" << myX << "," << myY << "," << myBarWidth << "," <<myY << ") , myBrush );" << std::endl;
-#endif
-            myPainter.drawRect(myX+myYGutterWidth,myImageHeight-(myY+myXGutterHeight),myBarWidth,myY);
-          }
-          else //line graph
-          {
-            myY = myGraphImageHeight - myY;
-            myPointArray.setPoint(myBin, myX+myYGutterWidth, myY);
-          }
-        }
-        if (myGraphType==LINE_CHART)
-        {
-          if (myBandCountInt==1) //draw single band images with black
-          {
-            myPainter.setPen( Qt::black );
-          }
-          else if (myIteratorInt==1)
-          {
-            myPainter.setPen( Qt::red );
-          }
-          else if (myIteratorInt==2)
-          {
-            myPainter.setPen( Qt::green );
-          }
-          else if (myIteratorInt==3)
-          {
-            myPainter.setPen( Qt::blue );
-          }
-          else if (myIteratorInt==4)
-          {
-            myPainter.setPen( Qt::magenta );
-          }
-          else if (myIteratorInt==5)
-          {
-            myPainter.setPen( Qt::darkRed );
-          }
-          else if (myIteratorInt==6)
-          {
-            myPainter.setPen( Qt::darkGreen );
-          }
-          else if (myIteratorInt==7)
-          {
-            myPainter.setPen( Qt::darkBlue );
-          }
-          else
-          {
-            myPainter.setPen( Qt::gray );
-          }
-          myPainter.drawPolyline(myPointArray);
-        }
-      }
-    }
-  }
-
-  //
-  // Now draw interval markers on the x axis
-  //
-  int myXDivisions = myGraphImageWidth/10;
-  myPainter.setPen( Qt::gray );
-  for (int i=0;i<myXDivisions;++i)
-  {
-    QPolygon myPointArray(4);
-    myPointArray.setPoint(0,(i*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
-    myPointArray.setPoint(1,(i*myXDivisions)+myYGutterWidth , myImageHeight-(myXGutterHeight-5));
-    myPointArray.setPoint(2,(i*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
-    myPointArray.setPoint(3,((i+1)*myXDivisions)+myYGutterWidth , myImageHeight-myXGutterHeight);
-    myPainter.drawPolyline(myPointArray);
-  }
-  //
-  // Now draw interval markers on the y axis
-  //
-  int myYDivisions = myGraphImageHeight/10;
-  myPainter.setPen( Qt::gray );
-  for (int i=myYDivisions;i>0;--i)
-  {
-
-    QPolygon myPointArray(4);
-    int myYOrigin = myImageHeight-myXGutterHeight;
-    myPointArray.setPoint(0,myYGutterWidth,myYOrigin-(i*myYDivisions ));
-    myPointArray.setPoint(1,myYGutterWidth-5,myYOrigin-(i*myYDivisions ));
-    myPointArray.setPoint(2,myYGutterWidth,myYOrigin-(i*myYDivisions ));
-    myPointArray.setPoint(3,myYGutterWidth,myYOrigin-((i-1)*myYDivisions ));
-    myPainter.drawPolyline(myPointArray);
-  }
-
-  //now draw the axis labels onto the graph
-  myPainter.drawText(1, 12, myYMaxLabel);
-  myPainter.drawText(1, myImageHeight-myXGutterHeight, QString::number(static_cast < unsigned int >(myYAxisMin)));
-  myPainter.drawText(myYGutterWidth,myImageHeight-1 , myXMinLabel);
-  myPainter.drawText( myImageWidth-myXGutterWidth,myImageHeight-1, myXMaxLabel );
-
-  //
-  // Finish up
-  //
-  myPainter.end();
-  pixHistogram->setPixmap(myPixmap);
-}
-
-void QgsRasterLayerProperties::on_pbnChangeSpatialRefSys_clicked()
-{
-    
-
-    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
-    long myDefaultSRS = rasterLayer->coordinateTransform()->sourceSRS().srsid();
-    if (myDefaultSRS==0)
-    {
-      myDefaultSRS=QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-    }
-    mySelector->setSelectedSRSID(myDefaultSRS);
-    if(mySelector->exec())
-    {
-      rasterLayer->coordinateTransform()->sourceSRS().createFromSrsId(mySelector->getCurrentSRSID());
-      rasterLayer->coordinateTransform()->initialise();
-    }
-    else
-    {
-      QApplication::restoreOverrideCursor();
-    }
-    delete mySelector;
-    leSpatialRefSys->setText(rasterLayer->coordinateTransform()->sourceSRS().proj4String());
-}
-void QgsRasterLayerProperties::on_buttonHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrasterlayerproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,88 +0,0 @@
-/** \brief The qgsrasterlayerproperties class is used to set up how raster layers are displayed.
- */
-/* **************************************************************************
-                          qgsrasterlayerproperties.h  -  description
-                             -------------------
-    begin                : Sun Aug 11 2002
-    copyright            : (C) 2002 by Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrasterlayerproperties.h 6130 2006-11-27 04:39:49Z gsherman $ */
-#ifndef QGSRASTERLAYERPROPERTIES_H
-#define QGSRASTERLAYERPROPERTIES_H
-#include "ui_qgsrasterlayerpropertiesbase.h"
-#include "qgisgui.h"
-class QgsMapLayer;
-class QgsRasterLayer;
-
-
-/**Property sheet for a raster map layer
-  *@author Tim Sutton
-  */
-
-class QgsRasterLayerProperties : public QDialog, private Ui::QgsRasterLayerPropertiesBase  
-{
-  Q_OBJECT
-    public:
-        /** \brief Constructor
-         * @param ml Map layer for which properties will be displayed
-         */
-        QgsRasterLayerProperties(QgsMapLayer *lyr, QWidget *parent = 0, Qt::WFlags = QgisGui::ModalDialogFlags);
-        /** \brief Destructor */
-        ~QgsRasterLayerProperties();
-
-        /** synchronize state with associated raster layer */
-        void sync();
-
-    public slots:
-        /** \brief Applies the settings made in the dialog without closing the box */
-        void apply();
-        /** \bried Apply the settings made and close the dialog. */
-        void accept();
-        /** \brief slot executed when the transparency level changes. */ 
-        void sliderTransparency_valueChanged( int );
-        /** \brief slot executed when the max red level changes. */
-        void on_rbtnSingleBand_toggled( bool );
-        /** \brief slot executed when the three band radio button is pressed. */
-        void on_rbtnThreeBand_toggled( bool );
-        /** \brief this slot asks the rasterlayer to construct pyramids */
-        void on_buttonBuildPyramids_clicked();
-        /** \brief slot executed when user wishes to refresh raster histogram */
-        void on_pbnHistRefresh_clicked();
-        /** Override the SRS specified when the layer was loaded */
-        void on_pbnChangeSpatialRefSys_clicked();
-        /** Help button */
-        void on_buttonHelp_clicked();
-        
-    private:
-        /** \brief Pointer to the raster layer that this property dilog changes the behaviour of. */
-        QgsRasterLayer * rasterLayer;
-
-        /** \brief If the underlying raster layer is of GDAL type (i.e. non-provider)
-
-            This variable is used to determine if various parts of the Properties UI are
-            included or not
-         */
-        bool rasterLayerIsGdal;
-
-        /** \brief If the underlying raster layer is of WMS type (i.e. WMS data provider)
-
-            This variable is used to determine if various parts of the Properties UI are
-            included or not
-         */
-        bool rasterLayerIsWms;
-
-        /** Id for context help */
-        static const int context_id = 394441851;
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsrubberband.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrubberband.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrubberband.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,7 +12,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsrubberband.cpp 5878 2006-09-27 14:19:44Z wonder $ */
+/* $Id: qgsrubberband.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include "qgsrubberband.h"
 #include <QPainter>
@@ -59,20 +59,20 @@
   mPoints.resize(1); // addPoint assumes an initial allocated point
   mIsPolygon = isPolygon;
   updateRect();
-  updateCanvas();
+  update();
 }
 
 /*!
   Add a point to the shape being created.
 */
-void QgsRubberBand::addPoint(const QgsPoint & p, bool update /* = true */)
+void QgsRubberBand::addPoint(const QgsPoint & p, bool do_update /* = true */)
 {
   mPoints[mPoints.size()-1] = p; // Current mouse position becomes added point
   mPoints.push_back(p); // Allocate new point to continue tracking current mouse position
-  if (update)
+  if (do_update)
   {
     updateRect();
-    updateCanvas();
+    update();
   }
 }
 
@@ -83,37 +83,36 @@
 {
   mPoints[mPoints.size()-1] = p; // Update current mouse position
   updateRect();
-  updateCanvas();
+  update();
 }
 
 void QgsRubberBand::movePoint(int index, const QgsPoint& p)
 {
   mPoints[index] = p;
   updateRect();
-  updateCanvas();
+  update();
 }
 
 /*!
   Draw the shape in response to an update event.
 */
-void QgsRubberBand::drawShape(QPainter & p)
+void QgsRubberBand::paint(QPainter* p)
 {
   if (mPoints.size() > 1)
   {
-    QPolygon pts;
-    int i;
-    for (i = 0; i < mPoints.size(); i++)
-      pts.append(toCanvasCoords(mPoints[i]));
+    QPolygonF pts;
+    for (uint i = 0; i < mPoints.size(); i++)
+      pts.append(toCanvasCoords(mPoints[i])-pos());
     
-    p.setPen(mPen);
-    p.setBrush(mBrush);
+    p->setPen(mPen);
+    p->setBrush(mBrush);
     if (mIsPolygon)
     {
-      p.drawPolygon(pts);
+      p->drawPolygon(pts);
     }
     else
     {
-      p.drawPolyline(pts);
+      p->drawPolyline(pts);
     }
   }
 }
@@ -123,8 +122,7 @@
   if (mPoints.size() > 0)
   {
     QgsRect r(mPoints[0], mPoints[0]);
-    int i;
-    for (i = 1; i < mPoints.size(); i++)
+    for (uint i = 1; i < mPoints.size(); i++)
       r.combineExtentWith(mPoints[i].x(), mPoints[i].y());
     setRect(r);
   }
@@ -136,4 +134,3 @@
   
   setVisible(mPoints.size() > 1);
 }
-

Modified: packages/qgis/branches/upstream/current/src/gui/qgsrubberband.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrubberband.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrubberband.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,7 +12,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsrubberband.h 5878 2006-09-27 14:19:44Z wonder $ */
+/* $Id: qgsrubberband.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSRUBBERBAND_H
 #define QGSRUBBERBAND_H
 
@@ -23,7 +23,7 @@
 #include <QPolygon>
 class QPaintEvent;
 
-class QgsRubberBand: public QgsMapCanvasItem
+class GUI_EXPORT QgsRubberBand: public QgsMapCanvasItem
 {
   public:
     QgsRubberBand(QgsMapCanvas* mapCanvas, bool isPolygon = false);
@@ -42,7 +42,7 @@
     void movePoint(int index, const QgsPoint& p);
 
   protected:
-    virtual void drawShape(QPainter & p);
+    virtual void paint(QPainter* p);
     
     //! recalculates needed rectangle
     void updateRect();

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,143 +0,0 @@
-/***************************************************************************
-                          qgsrunprocess.cpp
-
- A class that runs an external program
-
-                             -------------------
-    begin                : Jan 2005
-    copyright            : (C) 2005 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrunprocess.cpp 4911 2006-02-28 06:50:37Z g_j_m $ */
-
-#include "qgsrunprocess.h"
-
-#include "qgsmessageviewer.h"
-#include <QMessageBox>
-#include <Q3Process>
-
-QgsRunProcess::QgsRunProcess(const QStringList& args,
-			     bool capture) : mProcess(NULL), mLogViewer(NULL)
-{
-  // Make up a string from the command and arguments that we'll use
-  // for display purposes
-  QString whole_cmd;
-  for (int i = 0; i < args.count(); ++i)
-    whole_cmd += "[" + args[i] + "] ";
-  qDebug("Running command: %s\n", (const char *)whole_cmd.toLocal8Bit().data());
-
-  mProcess = new Q3Process;
-  mProcess->setArguments(args);
-
-  if (capture)
-  {
-    connect(mProcess, SIGNAL(readyReadStdout()), this, SLOT(stdoutAvailable()));
-    connect(mProcess, SIGNAL(readyReadStderr()), this, SLOT(stderrAvailable()));
-    // We only care if the process has finished if we are capturing
-    // the output from the process, hence this connect() call is
-    // inside the capture if() statement.
-    connect(mProcess, SIGNAL(processExited()), this, SLOT(processExit()));
-  }
-
-  if (!mProcess->start())
-  {
-    QMessageBox::critical(0, tr("Unable to run command"), 
-			  tr("Unable to run the command") + "\n" + whole_cmd +
-			  "\n", QMessageBox::Ok, Qt::NoButton);
-    // Didn't work, so no need to hang around
-    die();
-  }
-  else if (capture)
-  {
-    // Create a dialog box to display the output. Use the
-    // QgsMessageViewer dialog, but tweak its behaviour to suit our
-    // needs. It will delete itself when the dialog box is closed.
-    mLogViewer = new QgsMessageViewer(0, Qt::WDestructiveClose);
-    mLogViewer->setCaption(whole_cmd);
-    mLogViewer->setMessageAsHtml( "<b>" + tr("Starting") + " " + whole_cmd + "...</b>" );
-    mLogViewer->show();
-    // Be told when the dialog box is closed (it gets destroyed when
-    // closed because of the Qt flag used when it was created above).
-    connect(mLogViewer, SIGNAL(destroyed()), this, SLOT(dialogGone()));
-  }
-  else
-    // We're not capturing the output from the process, so we don't
-    // need to exist anymore.
-    die();
-}
-
-QgsRunProcess::~QgsRunProcess() 
-{ 
-  delete mProcess; 
-}
-
-void QgsRunProcess::die()
-{
-  delete this;
-}
-
-void QgsRunProcess::stdoutAvailable()
-{
-  // Add the new output to the dialog box
-  if (mProcess->canReadLineStdout())
-  {
-    QString line;
-    while ((line = mProcess->readLineStdout()) != QString::null)
-    {
-      mLogViewer->appendMessage(line);
-    }
-  }
-}
-
-void QgsRunProcess::stderrAvailable()
-{
-  // Add the new output to the dialog box, but colour it red
-  if (mProcess->canReadLineStderr())
-  {
-    QString line;
-    mLogViewer->appendMessage("<font color=red>");
-    while ((line = mProcess->readLineStderr()) != QString::null)
-    {
-      mLogViewer->appendMessage(line);
-    }
-    mLogViewer->appendMessage("</font>");
-  }
-}
-
-void QgsRunProcess::processExit()
-{
-  // Because we catch the dialog box going (the dialogGone()
-  // function), and delete this instance, control will only pass to
-  // this function if the dialog box still exists when the process
-  // exits, so it's always safe to use the pointer to the dialog box
-  // (unless it was never created in the first case, which is what the
-  // test against 0 is for).
-
-  if (mLogViewer != 0)
-  {
-    mLogViewer->appendMessage( "<b>" + tr("Done") + "</b>" );
-  }
-
-  // Since the dialog box takes care of deleting itself, and the
-  // process has gone, there's no need for this instance to stay
-  // around, so we disappear too.
-  die();
-}
-
-void QgsRunProcess::dialogGone()
-{
-  // The dialog has gone, so the user is no longer interested in the
-  // output from the process. Since the process will run happily
-  // without the QProcess object, this instance and its data can then
-  // go too.
-  die();
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsrunprocess.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,68 +0,0 @@
-/***************************************************************************
-                          qgsrunprocess.h 
-
- A class that runs an external program
-
-                             -------------------
-    begin                : Jan 2005
-    copyright            : (C) 2005 by Gavin Macaulay
-    email                : gavin at macaulay dot co dot nz
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsrunprocess.h 4992 2006-03-10 03:11:06Z g_j_m $ */
-
-#ifndef QGSRUNPROCESS_H
-#define QGSRUNPROCESS_H
-
-#include <QObject>
-
-class Q3Process;
-class QgsMessageViewer;
-class QStringList;
-
-/* A class than executes an external program/script, etc and
- * optionally captures the standard output and error from the
- * process and displays them in a dialog box.
- */
-class QgsRunProcess: public QObject
-{
-  Q_OBJECT;
-
- public:
-  // This class deletes itself, so to ensure that it is only created
-  // using new, the Named Consturctor Idiom is used, and one needs to
-  // use the create() static function to get an instance of this class.
-
-  // The arg parameter is passed to QProcess::setArguments(), so it
-  // needs to be appropriate for that function. If capture is true,
-  // the standard output and error from the process will be displayed
-  // in a dialog box.
-  static QgsRunProcess* create(const QStringList& args, bool capture)
-    { return new QgsRunProcess(args, capture); }
-
- public slots:
-  void stdoutAvailable();
-  void stderrAvailable();
-  void processExit();
-  void dialogGone();
-
- private:
-  QgsRunProcess(const QStringList& args, bool capture);
-  ~QgsRunProcess();
-
-  // Deletes the instance of the class
-  void die();
-
-  Q3Process* mProcess;
-  QgsMessageViewer* mLogViewer;
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,302 +0,0 @@
-/***************************************************************************
-    qgssearchquerybuilder.cpp  - Query builder for search strings
-    ----------------------
-    begin                : March 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#include <iostream>
-#include <q3listbox.h>
-#include <QMessageBox>
-#include "qgsfeature.h"
-#include "qgssearchquerybuilder.h"
-#include "qgssearchstring.h"
-#include "qgssearchtreenode.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-
-
-QgsSearchQueryBuilder::QgsSearchQueryBuilder(QgsVectorLayer* layer,
-                                             QWidget *parent, Qt::WFlags fl)
-  : QDialog(parent, fl), mLayer(layer)
-{
-  setupUi(this);
-  
-  setWindowTitle(tr("Search query builder"));
-  
-  // disable unsupported operators
-  btnIn->setEnabled(false);
-  btnNotIn->setEnabled(false);
-  btnPct->setEnabled(false);
-  
-  // change to ~
-  btnILike->setText("~");
-  
-  lblDataUri->setText(layer->name());
-  populateFields();
-}
-
-QgsSearchQueryBuilder::~QgsSearchQueryBuilder()
-{
-}
-
-
-void QgsSearchQueryBuilder::populateFields()
-{
-  const std::vector<QgsField>& fields = mLayer->fields();
-  for (uint i = 0; i < fields.size(); i++)
-  {
-    QgsField f = fields[i];
-    QString fieldName = f.name();
-    mFieldMap[fieldName] = f;
-    lstFields->insertItem(fieldName);
-  }
-}
-
-void QgsSearchQueryBuilder::getFieldValues(uint limit)
-{
-  // clear the values list 
-  lstValues->clear();
-  
-  // determine the field type
-  QgsField field = mFieldMap[lstFields->currentText()];
-  QString fieldName = field.name().lower();
-  bool numeric = field.isNumeric();
-  
-  // TODO: need optimized getNextFeature which won't extract geometry
-  QgsFeature* fet;
-  QString value;
-  std::vector<QgsFeatureAttribute>::const_iterator it;
-  QgsVectorDataProvider* provider = mLayer->getDataProvider();
-  provider->reset();
-  while ((fet = provider->getNextFeature(true)) &&
-         (limit == 0 || lstValues->count() != limit))
-  {
-    const std::vector<QgsFeatureAttribute>& attributes = fet->attributeMap();
-    for (it = attributes.begin(); it != attributes.end(); it++)
-    {
-      if ( (*it).fieldName().lower() == fieldName)
-      {
-        value = (*it).fieldValue();
-        break;
-      }
-    }
-     
-    if (!numeric)
-    {
-      // put string in single quotes
-      value = "'" + value + "'";
-    }
-    
-    // add item only if it's not there already
-    if (lstValues->findItem(value) == 0)
-      lstValues->insertItem(value);
-    
-    delete fet;   
-  }
-  provider->reset();
-  
-}
-
-void QgsSearchQueryBuilder::on_btnSampleValues_clicked()
-{
-  getFieldValues(25);
-}
-
-void QgsSearchQueryBuilder::on_btnGetAllValues_clicked()
-{
-  getFieldValues(0);
-}
-
-void QgsSearchQueryBuilder::on_btnTest_clicked()
-{
-  long count = countRecords(txtSQL->text());
-  
-  // error?
-  if (count == -1)
-    return;
-
-  QString str;
-  if (count)
-    str.sprintf(tr("Found %d matching features.","",count), count);
-  else
-    str = tr("No matching features found.");
-  QMessageBox::information(this, tr("Search results"), str);
-}
-
-// This method tests the number of records that would be returned
-long QgsSearchQueryBuilder::countRecords(QString searchString) 
-{
-  QgsSearchString search;
-  if (!search.setString(searchString))
-  {
-    QMessageBox::critical(this, tr("Search string parsing error"), search.parserErrorMsg());
-    return -1;
-  }
-  
-  QgsSearchTreeNode* searchTree = search.tree();
-  if (searchTree == NULL)
-  {
-    // entered empty search string
-    return mLayer->featureCount();
-  }
-  
-  QApplication::setOverrideCursor(Qt::waitCursor);
-  
-  int count = 0;
-
-  // TODO: need optimized getNextFeature which won't extract geometry
-  QgsFeature* fet;
-  QgsVectorDataProvider* provider = mLayer->getDataProvider();
-  provider->reset();
-  while ((fet = provider->getNextFeature(true)))
-  {
-    if (searchTree->checkAgainst(fet->attributeMap()))
-    {
-      count++;
-    }
-    delete fet;
-    
-    // check if there were errors during evaulating
-    if (searchTree->hasError())
-      break;
-  }
-  provider->reset();
-
-  QApplication::restoreOverrideCursor();
-  
-  return count;
-}
-
-
-void QgsSearchQueryBuilder::on_btnOk_clicked()
-{
-  // if user hits Ok and there is no query, skip the validation
-  if(txtSQL->text().stripWhiteSpace().length() > 0)
-  {
-    accept();
-    return;
-  }
-
-  // test the query to see if it will result in a valid layer
-  long numRecs = countRecords(txtSQL->text());
-  if (numRecs == -1)
-  {
-    // error shown in countRecords
-  }
-  else if (numRecs == 0)
-  {
-    QMessageBox::warning(this, tr("No Records"), tr("The query you specified results in zero records being returned."));
-  }
-  else
-  {
-    accept();
-  }
-
-}
-
-void QgsSearchQueryBuilder::on_btnEqual_clicked()
-{
-  txtSQL->insert(" = ");
-}
-
-void QgsSearchQueryBuilder::on_btnLessThan_clicked()
-{
-  txtSQL->insert(" < ");
-}
-
-void QgsSearchQueryBuilder::on_btnGreaterThan_clicked()
-{
-  txtSQL->insert(" > ");
-}
-
-void QgsSearchQueryBuilder::on_btnPct_clicked()
-{
-  txtSQL->insert(" % ");
-}
-
-void QgsSearchQueryBuilder::on_btnIn_clicked()
-{
-  txtSQL->insert(" IN ");
-}
-
-void QgsSearchQueryBuilder::on_btnNotIn_clicked()
-{
-  txtSQL->insert(" NOT IN ");
-}
-
-void QgsSearchQueryBuilder::on_btnLike_clicked()
-{
-  txtSQL->insert(" LIKE ");
-}
-
-QString QgsSearchQueryBuilder::searchString()
-{
-  return txtSQL->text();
-}
-
-void QgsSearchQueryBuilder::setSearchString(QString searchString)
-{
-  txtSQL->setText(searchString);
-}
-
-void QgsSearchQueryBuilder::on_lstFields_doubleClicked( Q3ListBoxItem *item )
-{
-  txtSQL->insert(item->text());
-}
-
-void QgsSearchQueryBuilder::on_lstValues_doubleClicked( Q3ListBoxItem *item )
-{
-  txtSQL->insert(item->text());
-}
-
-void QgsSearchQueryBuilder::on_btnLessEqual_clicked()
-{
-  txtSQL->insert(" <= ");
-}
-
-void QgsSearchQueryBuilder::on_btnGreaterEqual_clicked()
-{
-  txtSQL->insert(" >= ");
-}
-
-void QgsSearchQueryBuilder::on_btnNotEqual_clicked()
-{
-  txtSQL->insert(" != ");
-}
-
-void QgsSearchQueryBuilder::on_btnAnd_clicked()
-{
-  txtSQL->insert(" AND ");
-}
-
-void QgsSearchQueryBuilder::on_btnNot_clicked()
-{
-  txtSQL->insert(" NOT ");
-}
-
-void QgsSearchQueryBuilder::on_btnOr_clicked()
-{
-  txtSQL->insert(" OR ");
-}
-
-void QgsSearchQueryBuilder::on_btnClear_clicked()
-{
-  txtSQL->clear();
-}
-
-void QgsSearchQueryBuilder::on_btnILike_clicked()
-{
-  //txtSQL->insert(" ILIKE ");
-  txtSQL->insert(" ~ ");
-}
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssearchquerybuilder.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,121 +0,0 @@
-/***************************************************************************
-    qgssearchquerybuilder.h  - Query builder for search strings
-    ----------------------
-    begin                : March 2006
-    copyright            : (C) 2006 by Martin Dobias
-    email                : wonder.sk at gmail dot com
- ***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id$ */
-
-#ifndef QGSSEARCHQUERYBUILDER_H
-#define QGSSEARCHQUERYBUILDER_H
-
-#include <map>
-#include <vector>
-
-#include "ui_qgspgquerybuilderbase.h"
-#include "qgisgui.h"
-
-class QgsField;
-class QgsVectorLayer;
-
-/*!
- * \class QgsSearchQueryBuilder
- * \brief Query Builder for search strings
- *
- */
-class QgsSearchQueryBuilder : public QDialog, private Ui::QgsPgQueryBuilderBase
-{ 
-   Q_OBJECT 
-  
-  public:
-    //! Constructor - takes pointer to vector layer as a parameter
-    QgsSearchQueryBuilder(QgsVectorLayer* layer, QWidget *parent = 0,
-                          Qt::WFlags fl = QgisGui::ModalDialogFlags);
-  
-    ~QgsSearchQueryBuilder(); 
-    
-    //! returns newly created search string
-    QString searchString();
- 
-    //! change search string shown in text field
-    void setSearchString(QString searchString);
-    
-  public slots:
-    void on_btnEqual_clicked();
-    void on_btnOk_clicked();
-    void on_btnLessThan_clicked();
-    void on_btnGreaterThan_clicked();
-    void on_btnPct_clicked();
-    void on_btnIn_clicked();
-    void on_btnNotIn_clicked();
-    void on_btnLike_clicked();
-    void on_btnILike_clicked();
-    
-    void on_lstFields_doubleClicked( Q3ListBoxItem *item );
-    void on_lstValues_doubleClicked( Q3ListBoxItem *item );
-    void on_btnLessEqual_clicked();
-    void on_btnGreaterEqual_clicked();
-    void on_btnNotEqual_clicked();
-    void on_btnAnd_clicked();
-    void on_btnNot_clicked();
-    void on_btnOr_clicked();
-    void on_btnClear_clicked();
-    
-    /*! Test the constructed search string to see if it's correct.
-     * The number of rows that would be returned is displayed in a message box.
-     * @param showResults If true, the results are displayed in a QMessageBox
-     */
-    void on_btnTest_clicked();
-    
-    /*! 
-     * Get all distinct values for the field. Values are inserted
-     * into the value list box
-     */
-    void on_btnGetAllValues_clicked();
-    
-    /*! 
-     * Get sample distinct values for the selected field. The sample size is
-     * limited to an arbitrary value (currently set to 25). The values
-     * are inserted into the values list box.
-     */
-    void on_btnSampleValues_clicked();
-    
-  private:
-    
-    /*! 
-    * Populate the field list for the selected table
-    */ 
-    void populateFields();  
-
-    /*! Get the number of records that would be returned by the current SQL
-     * @return Number of records or -1 if an error was encountered
-     */
-    long countRecords(QString sql);
-
-    /*!
-     * populates list box with values of selected field
-     * @param limit if not zero, insterts only this count of values
-     */
-    void getFieldValues(uint limit);
-
-  private:
-    
-    //! Layer for which is the query builder opened
-    QgsVectorLayer* mLayer;
-    
-    //! Vector of QgsField objects
-    std::vector<QgsField> mFields;
-    
-    //! Map that holds field information, keyed by field name
-    std::map<QString, QgsField> mFieldMap;
-
-};
-#endif //QGSSEARCHQUERYBUILDER_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,813 +0,0 @@
-/***************************************************************************
-    qgserversourceselect.cpp  -  selector for WMS servers, etc.
-                             -------------------
-    begin                : 3 April 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsserversourceselect.cpp 6781 2007-03-09 18:01:42Z homann $ */
-
-#include "qgsserversourceselect.h"
-
-#include "qgslayerprojectionselector.h"
-
-#include "qgsnewhttpconnection.h"
-#include "qgsnumericsortlistviewitem.h"
-#include "qgsproviderregistry.h"
-#include "../providers/wms/qgswmsprovider.h"
-#include "qgscontexthelp.h"
-
-#include "qgsproject.h"
-
-#include "qgsmessageviewer.h"
-
-#include <QMessageBox>
-#include <QPicture>
-#include <QSettings>
-#include <QButtonGroup>
-#include <QMap>
-#include <QImageReader>
-
-#include <iostream>
-
-static long DEFAULT_WMS_EPSG = 4326;  // WGS 84
-
-
-QgsServerSourceSelect::QgsServerSourceSelect(QgisApp * app, QWidget * parent, Qt::WFlags fl)
-  : QDialog(parent, fl),
-    qgisApp(app),
-    mWmsProvider(0),
-    m_Epsg(DEFAULT_WMS_EPSG)
-{
-  setupUi(this);
-  connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
-
-  // Qt Designer 4.1 doesn't let us use a QButtonGroup, so it has to
-  // be done manually... Unless I'm missing something, it's a whole
-  // lot harder to do groups of radio buttons in Qt4 than Qt3.
-  m_imageFormatGroup = new QButtonGroup;
-  m_imageFormatLayout = new QHBoxLayout;
-  // Populate it with buttons for all of the formats that we can support. The
-  // value is the user visible name, and a unique integer, and the key is the
-  // mime type.
-  QMap<QString, QPair<QString, int> > formats;
-  // Note - the "PNG", etc text should match the Qt format strings as given by
-  // a called QImageReader::supportedImageFormats(), but case doesn't matter
-  m_PotentialFormats.insert("image/png",             qMakePair(QString("PNG"),  1));
-  m_PotentialFormats.insert("image/jpeg",            qMakePair(QString("JPEG"), 2));
-  m_PotentialFormats.insert("image/gif",             qMakePair(QString("GIF"),  4));
-  // Desipte the Qt docs saying that it supports bmp, it practise it doesn't work...
-  //m_PotentialFormats.insert("image/wbmp",            qMakePair(QString("BMP"),  5));
-  // Some wms servers will support tiff, but by default Qt doesn't, but leave
-  // this in for those versions of Qt that might support tiff
-  m_PotentialFormats.insert("image/tiff",            qMakePair(QString("TIFF"), 6));
-
-  QMap<QString, QPair<QString, int> >::const_iterator iter = m_PotentialFormats.constBegin();
-  int i = 1;
-  while (iter != m_PotentialFormats.end())
-  {
-    QRadioButton* btn = new QRadioButton(iter.value().first);
-    m_imageFormatGroup->addButton(btn, iter.value().second);
-    m_imageFormatLayout->addWidget(btn);
-    if (i ==1)
-    {
-      btn->setChecked(true);
-    }
-    iter++;
-    i++;
-  }
-
-  m_imageFormatLayout->addStretch();
-  btnGrpImageEncoding->setLayout(m_imageFormatLayout);
-
-  // set up the WMS connections we already know about
-  populateConnectionList();
-
-  // set up the default WMS Coordinate Reference System
-  labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
-}
-
-QgsServerSourceSelect::~QgsServerSourceSelect()
-{
-    
-}
-void QgsServerSourceSelect::populateConnectionList()
-{
-  QSettings settings;
-  QStringList keys = settings.subkeyList("/Qgis/connections-wms");
-  QStringList::Iterator it = keys.begin();
-  cmbConnections->clear();
-  while (it != keys.end())
-  {
-    cmbConnections->insertItem(*it);
-    ++it;
-  }
-  setConnectionListPosition();
-
-  if (keys.begin() == keys.end())
-    {
-      // No connections - disable various buttons
-      btnConnect->setEnabled(FALSE);
-      btnEdit->setEnabled(FALSE);
-      btnDelete->setEnabled(FALSE);
-    }
-  else
-    {
-      // Connections - enable various buttons
-      btnConnect->setEnabled(TRUE);
-      btnEdit->setEnabled(TRUE);
-      btnDelete->setEnabled(TRUE);
-    }
-}
-void QgsServerSourceSelect::on_btnNew_clicked()
-{
-
-  QgsNewHttpConnection *nc = new QgsNewHttpConnection(this);
-
-  if (nc->exec())
-  {
-    populateConnectionList();
-  }
-}
-
-void QgsServerSourceSelect::on_btnEdit_clicked()
-{
-
-  QgsNewHttpConnection *nc = new QgsNewHttpConnection(this, "/Qgis/connections-wms/", cmbConnections->currentText());
-
-  if (nc->exec())
-  {
-    nc->saveConnection();
-  }
-}
-
-void QgsServerSourceSelect::on_btnDelete_clicked()
-{
-  QSettings settings;
-  QString key = "/Qgis/connections-wms/" + cmbConnections->currentText();
-  QString msg =
-    tr("Are you sure you want to remove the ") + cmbConnections->currentText() + tr(" connection and all associated settings?");
-  int result = QMessageBox::information(this, tr("Confirm Delete"), msg, tr("Yes"), tr("No"));
-  if (result == 0)
-  {
-    settings.remove(key);
-    cmbConnections->removeItem(cmbConnections->currentItem());  // populateConnectionList();
-    setConnectionListPosition();
-  }
-}
-
-void QgsServerSourceSelect::on_btnHelp_clicked()
-{
-  
-  QgsContextHelp::run(context_id);
-
-}
-
-bool QgsServerSourceSelect::populateLayerList(QgsWmsProvider* wmsProvider)
-{
-  std::vector<QgsWmsLayerProperty> layers;
-
-  if (!wmsProvider->supportedLayers(layers))
-  {
-    return FALSE;
-  }
-
-  lstLayers->clear();
-
-  int layerAndStyleCount = 0;
-
-  for (std::vector<QgsWmsLayerProperty>::iterator layer  = layers.begin();
-                                                  layer != layers.end();
-                                                  layer++)
-  {
-
-#ifdef QGISDEBUG
-//  std::cout << "QgsServerSourceSelect::populateLayerList: got layer name " << layer->name.toLocal8Bit().data() << " and title '" << layer->title.toLocal8Bit().data() << "'." << std::endl;
-#endif
-
-    layerAndStyleCount++;
-
-    QgsNumericSortListViewItem *lItem = new QgsNumericSortListViewItem(lstLayers);
-    lItem->setText(0, QString::number(layerAndStyleCount));
-    lItem->setText(1, layer->name.simplifyWhiteSpace());
-    lItem->setText(2, layer->title.simplifyWhiteSpace());
-    lItem->setText(3, layer->abstract.simplifyWhiteSpace());
-    lstLayers->insertItem(lItem);
-
-    // Also insert the styles
-    // Layer Styles
-    for (int j = 0; j < layer->style.size(); j++)
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::populateLayerList: got style name " << layer->style[j].name.toLocal8Bit().data() << " and title '" << layer->style[j].title.toLocal8Bit().data() << "'." << std::endl;
-#endif
-
-      layerAndStyleCount++;
-
-      QgsNumericSortListViewItem *lItem2 = new QgsNumericSortListViewItem(lItem);
-      lItem2->setText(0, QString::number(layerAndStyleCount));
-      lItem2->setText(1, layer->style[j].name.simplifyWhiteSpace());
-      lItem2->setText(2, layer->style[j].title.simplifyWhiteSpace());
-      lItem2->setText(3, layer->style[j].abstract.simplifyWhiteSpace());
-
-      lItem->insertItem(lItem2);
-
-    }
-
-  }
-
-  // If we got some layers, let the user add them to the map
-  if (lstLayers->childCount() > 0)
-  {
-    btnAdd->setEnabled(TRUE);
-  }
-  else
-  {
-    btnAdd->setEnabled(FALSE);
-  }
-
-  return TRUE;
-}
-
-
-void QgsServerSourceSelect::populateImageEncodingGroup(QgsWmsProvider* wmsProvider)
-{
-  QStringList formats;
-
-  formats = wmsProvider->supportedImageEncodings();
-
-  //
-  // Remove old group of buttons
-  //
-  QList<QAbstractButton*> btns = m_imageFormatGroup->buttons();
-  for (int i = 0; i < btns.count(); ++i)
-  {
-    btns.at(i)->hide();
-  }
-
-  //
-  // Collect capabilities reported by Qt itself
-  //
-  QList<QByteArray> qtImageFormats = QImageReader::supportedImageFormats();
-
-  QList<QByteArray>::const_iterator it = qtImageFormats.begin();
-  while( it != qtImageFormats.end() )
-  {
-#ifdef QGISDEBUG
-    std::cout << "QgsServerSourceSelect::populateImageEncodingGroup: can support input of '" << (*it).data() << "'." << std::endl;
-#endif
-    ++it;
-  }
-
-
-  //
-  // Add new group of buttons
-  //
-
-  bool first = true;
-  for (QStringList::Iterator format  = formats.begin();
-                             format != formats.end();
-                           ++format)
-  {
-#ifdef QGISDEBUG
-    std::cout << "QgsServerSourceSelect::populateImageEncodingGroup: got image format " << (*format).toLocal8Bit().data() << "." << std::endl;
-#endif
-
-    QMap<QString, QPair<QString, int> >::const_iterator iter = 
-	m_PotentialFormats.find(*format);
-
-    // The formats in qtImageFormats are lowercase, so force ours to lowercase too.
-    if (iter != m_PotentialFormats.end() && 
-	qtImageFormats.contains(iter.value().first.toLower().toLocal8Bit()))
-    {
-      m_imageFormatGroup->button(iter.value().second)->show();
-      if (first)
-      {
-	first = false;
-	m_imageFormatGroup->button(iter.value().second)->setChecked(true);
-      }
-    }
-    else
-    {
-#ifdef QGISDEBUG
-      std::cerr<<"Unsupported type of " << format->toLocal8Bit().data() << '\n';
-#endif
-    }
-  }
-}
-
-
-std::set<QString> QgsServerSourceSelect::crsForSelection()
-{
-  std::set<QString> crsCandidates;
-
-  // XXX - mloskot - temporary solution, function must return a value
-  return crsCandidates;
-
-  QStringList::const_iterator i;
-  for (i = m_selectedLayers.constBegin(); i != m_selectedLayers.constEnd(); ++i)
-  {
-/*    
-
-    for ( int j = 0; j < ilayerProperty.boundingBox.size(); i++ ) 
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsWmsProvider::parseLayer: testing bounding box CRS which is " 
-            << layerProperty.boundingBox[i].crs.toLocal8Bit().data() << "." << std::endl;
-#endif
-      if ( layerProperty.boundingBox[i].crs == DEFAULT_LATLON_CRS )
-      {
-        extentForLayer[ layerProperty.name ] = 
-                layerProperty.boundingBox[i].box;
-      }
-    }
-
-
-    if
-      cout << (*i).ascii() << endl;*/
-  }
-
-}
-
-
-void QgsServerSourceSelect::on_btnConnect_clicked()
-{
-  // populate the table list
-  QSettings settings;
-
-  QString key = "/Qgis/connections-wms/" + cmbConnections->currentText();
-  
-  QStringList connStringParts;
-  QString part;
-  
-  connStringParts += settings.readEntry(key + "/url");
-
-/*
-  // Add the proxy host and port if any are defined.
-  if ( ! ( (part = settings.readEntry(key + "/proxyhost")).isEmpty() ) )
-  {
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyhost - '" << part.toLocal8Bit().data() << "'." << std::endl;
-#endif
-    connStringParts += part;
-  
-    if ( ! ( (part = settings.readEntry(key + "/proxyport")).isEmpty() ) )
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyport - '" << part.toLocal8Bit().data() << "'." << std::endl;
-#endif
-      connStringParts += part;
-    }
-    else
-    {
-      connStringParts += "80";   // well-known http port
-    }
-
-    if ( ! ( (part = settings.readEntry(key + "/proxyuser")).isEmpty() ) )
-    {
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxyuser - '" << part.toLocal8Bit().data() << "'." << std::endl;
-#endif
-      connStringParts += part;
-
-      if ( ! ( (part = settings.readEntry(key + "/proxypass")).isEmpty() ) )
-      {
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::serverConnect: Got a proxypass - '" << part.toLocal8Bit().data() << "'." << std::endl;
-#endif
-        connStringParts += part;
-      }
-    }
-  }
-*/
-
-  m_connName = cmbConnections->currentText();
-  // setup 'url ( + " " + proxyhost + " " + proxyport + " " + proxyuser + " " + proxypass)'
-  m_connInfo = connStringParts.join(" ");
-
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::serverConnect: Connection info: '" << m_connInfo.toLocal8Bit().data() << "'." << std::endl;
-#endif
-
-
-  // TODO: Create and bind to data provider
-
-  // load the server data provider plugin
-  QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
-
-  mWmsProvider = 
-    (QgsWmsProvider*) pReg->getProvider( "wms", m_connInfo );
-
-  if (mWmsProvider)
-  {
-    connect(mWmsProvider, SIGNAL(setStatus(QString)), this, SLOT(showStatusMessage(QString)));
-
-    // Collect and set HTTP proxy on WMS provider
-
-    m_connProxyHost = settings.readEntry(key + "/proxyhost"),
-    m_connProxyPort = settings.readEntry(key + "/proxyport").toInt(),
-    m_connProxyUser = settings.readEntry(key + "/proxyuser"),
-    m_connProxyPass = settings.readEntry(key + "/proxypassword"),
-
-    mWmsProvider->setProxy(
-      m_connProxyHost,
-      m_connProxyPort,
-      m_connProxyUser,
-      m_connProxyPass
-    );
-
-    // WMS Provider all set up; let's get some layers
-
-    if (!populateLayerList(mWmsProvider))
-    {
-      showError(mWmsProvider);
-    }
-    populateImageEncodingGroup(mWmsProvider);
-  }
-  else
-  {
-    // Let user know we couldn't initialise the WMS provider
-    QMessageBox::warning(
-      this,
-      tr("WMS Provider"),
-      tr("Could not open the WMS Provider")
-    );
-  }
-
-}
-
-void QgsServerSourceSelect::on_btnAdd_clicked()
-{
-  if (m_selectedLayers.empty() == TRUE)
-  {
-    QMessageBox::information(this, tr("Select Layer"), tr("You must select at least one layer first."));
-  }
-  else if (mWmsProvider->supportedCrsForLayers(m_selectedLayers).size() == 0)
-  {
-    QMessageBox::information(this, tr("Coordinate Reference System"), tr("There are no available coordinate reference system for the set of layers you've selected."));
-  }
-  else
-  {
-    accept();
-  }
-}
-
-
-void QgsServerSourceSelect::on_btnChangeSpatialRefSys_clicked()
-{
-  if (!mWmsProvider)
-  {
-    return;
-  }
-
-  QSet<QString> crsFilter = mWmsProvider->supportedCrsForLayers(m_selectedLayers);
-
-  QgsLayerProjectionSelector * mySelector =
-    new QgsLayerProjectionSelector(this);
-
-  mySelector->setOgcWmsCrsFilter(crsFilter);
-
-  long myDefaultSRS = QgsProject::instance()->readNumEntry("SpatialRefSys", "/ProjectSRSID", GEOSRS_ID);
-
-  mySelector->setSelectedSRSID(myDefaultSRS);
-
-  if (mySelector->exec())
-  {
-    m_Epsg = mySelector->getCurrentEpsg();
-  }
-  else
-  {
-    // NOOP
-  }
-
-  labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
-//  labelCoordRefSys->setText( mySelector->getCurrentProj4String() );
-
-  delete mySelector;
-
-  // update the display of this widget
-  this->update();
-}
-
-
-/**
- * This function is used to:
- * 1. Store the list of selected layers and visual styles as appropriate.
- * 2. Ensure that only one style is selected per layer.
- *    If more than one is found, the most recently selected style wins.
- */
-void QgsServerSourceSelect::on_lstLayers_selectionChanged()
-{
-  QString layerName = "";
-
-  QStringList newSelectedLayers;
-  QStringList newSelectedStylesForSelectedLayers;
-
-  std::map<QString, QString> newSelectedStyleIdForLayer;
-
-  // Iterate through the layers
-  Q3ListViewItemIterator it( lstLayers );
-  while ( it.current() )
-  {
-    Q3ListViewItem *item = it.current();
-
-    // save the name of the layer (in case only one of its styles was
-    // selected)
-    if (item->parent() == 0)
-    {
-      layerName = item->text(1);
-    }
-
-    if ( item->isSelected() )
-    {
-      newSelectedLayers += layerName;
-
-      // save the name of the style selected for the layer, if appropriate
-
-      if (item->parent() != 0)
-      {
-        newSelectedStylesForSelectedLayers += item->text(1);
-      }
-      else
-      {
-        newSelectedStylesForSelectedLayers += "";
-      }
-
-      newSelectedStyleIdForLayer[layerName] = item->text(0);
-
-      // Check if multiple styles have now been selected
-      if (
-          (!(m_selectedStyleIdForLayer[layerName].isNull())) &&  // not just isEmpty()
-          (newSelectedStyleIdForLayer[layerName] != m_selectedStyleIdForLayer[layerName])
-          )
-      {
-        // Remove old style selection
-        lstLayers->findItem(m_selectedStyleIdForLayer[layerName], 0)->setSelected(FALSE);
-      }
-
-#ifdef QGISDEBUG
-  std::cout << "QgsServerSourceSelect::addLayers: Added " << item->text(0).toLocal8Bit().data() << std::endl;
-#endif
-    
-    }
-
-    ++it;
-  }
-
-  // If we got some selected items, let the user play with projections
-  if (newSelectedLayers.count() > 0)
-  {
-    // Determine how many CRSs there are to play with
-    if (mWmsProvider)
-    {
-      QSet<QString> crsFilter = mWmsProvider->supportedCrsForLayers(newSelectedLayers);
-
-      gbCRS->setTitle(
-                       QString( tr("Coordinate Reference System (%1 available)", "", crsFilter.count() ) )
-                          .arg( crsFilter.count() )
-                     );
-
-      // check whether current CRS is supported
-      // if not, use one of the available CRS
-      bool isThere = false;
-      long defaultEpsg = 0;
-      for ( QSet<QString>::const_iterator i = crsFilter.begin(); i != crsFilter.end(); ++i)
-      {
-        QStringList parts = i->split(":");
-        
-        if (parts.at(0) == "EPSG")
-        {
-          long epsg = atol(parts.at(1));
-          if (epsg == m_Epsg)
-          {
-            isThere = true;
-            break;
-          }
-          
-          // save first CRS in case we current m_Epsg is not available
-          if (i == crsFilter.begin())
-            defaultEpsg = epsg;
-          // prefer value of DEFAULT_WMS_EPSG if available
-          if (epsg == DEFAULT_WMS_EPSG)
-            defaultEpsg = epsg;
-        }
-      }
-      
-      // we have to change selected CRS to default one
-      if (!isThere && crsFilter.size() > 0)
-      {
-        m_Epsg = defaultEpsg;
-        labelCoordRefSys->setText( descriptionForEpsg(m_Epsg) );
-      }
-    }
-
-    btnChangeSpatialRefSys->setEnabled(TRUE);
-  }
-  else
-  {
-    btnChangeSpatialRefSys->setEnabled(FALSE);
-  }
-
-  m_selectedLayers                  = newSelectedLayers;
-  m_selectedStylesForSelectedLayers = newSelectedStylesForSelectedLayers;
-  m_selectedStyleIdForLayer         = newSelectedStyleIdForLayer;
-}
-
-
-QString QgsServerSourceSelect::connName()
-{
-  return m_connName;
-}
-
-QString QgsServerSourceSelect::connInfo()
-{
-  return m_connInfo;
-}
-
-QString QgsServerSourceSelect::connProxyHost()
-{
-  return m_connProxyHost;
-}
-
-int QgsServerSourceSelect::connProxyPort()
-{
-  return m_connProxyPort;
-}
-
-QString QgsServerSourceSelect::connProxyUser()
-{
-  return m_connProxyUser;
-}
-
-QString QgsServerSourceSelect::connProxyPass()
-{
-  return m_connProxyPass;
-}
-
-QStringList QgsServerSourceSelect::selectedLayers()
-{
-  return m_selectedLayers;
-}
-
-QStringList QgsServerSourceSelect::selectedStylesForSelectedLayers()
-{
-  return m_selectedStylesForSelectedLayers;
-}
-
-
-QString QgsServerSourceSelect::selectedImageEncoding()
-{
-  // TODO: Match this hard coded list to the list of formats Qt reports it can actually handle.
-
-  int id = m_imageFormatGroup->checkedId();
-  QString label = m_imageFormatGroup->button(id)->text();
-
-  // The way that we construct the buttons, this call to key() will never have
-  // a value that isn't in the map, hence we don't need to check for the value
-  // not being found.
-
-  return m_PotentialFormats.key(qMakePair(label, id));
-}
-
-
-QString QgsServerSourceSelect::selectedCrs()
-{
-  if (m_Epsg)
-  {
-    return QString("EPSG:%1")
-              .arg(m_Epsg);
-  }
-  else
-  {
-    return QString();
-  }
-}
-
-void QgsServerSourceSelect::serverChanged()
-{
-  // Remember which server was selected.
-  QSettings settings;
-  settings.writeEntry("/Qgis/connections-wms/selected", 
-		      cmbConnections->currentText());
-}
-
-void QgsServerSourceSelect::setConnectionListPosition()
-{
-  QSettings settings;
-  QString toSelect = settings.readEntry("/Qgis/connections-wms/selected");
-  // Does toSelect exist in cmbConnections?
-  bool set = false;
-  for (int i = 0; i < cmbConnections->count(); ++i)
-    if (cmbConnections->text(i) == toSelect)
-    {
-      cmbConnections->setCurrentItem(i);
-      set = true;
-      break;
-    }
-  // If we couldn't find the stored item, but there are some, 
-  // default to the last item (this makes some sense when deleting
-  // items as it allows the user to repeatidly click on delete to
-  // remove a whole lot of items).
-  if (!set && cmbConnections->count() > 0)
-  {
-    // If toSelect is null, then the selected connection wasn't found
-    // by QSettings, which probably means that this is the first time
-    // the user has used qgis with database connections, so default to
-    // the first in the list of connetions. Otherwise default to the last.
-    if (toSelect.isNull())
-      cmbConnections->setCurrentItem(0);
-    else
-      cmbConnections->setCurrentItem(cmbConnections->count()-1);
-  }
-}
-void QgsServerSourceSelect::showStatusMessage(QString const & theMessage)
-{
-  labelStatus->setText(theMessage);
-
-  // update the display of this widget
-  this->update();
-}
-
-
-void QgsServerSourceSelect::showError(QgsWmsProvider * wms)
-{
-//   QMessageBox::warning(
-//     this,
-//     wms->errorCaptionString(),
-//     tr("Could not understand the response.  The") + " " + wms->name() + " " +
-//       tr("provider said") + ":\n" +
-//       wms->errorString()
-//   );
-
-  QgsMessageViewer * mv = new QgsMessageViewer(this);
-  mv->setCaption( wms->errorCaptionString() );
-  mv->setMessageAsPlainText(
-    tr("Could not understand the response.  The") + " " + wms->name() + " " +
-    tr("provider said") + ":\n" +
-    wms->errorString()
-  );
-  mv->exec();
-  delete mv;
-}
-
-void QgsServerSourceSelect::on_cmbConnections_activated(int)
-{
-  serverChanged();
-}
-
-void QgsServerSourceSelect::on_btnAddDefault_clicked()
-{
-  addDefaultServers();
-}
-
-QString QgsServerSourceSelect::descriptionForEpsg(long epsg)
-{
-  // We'll assume this function isn't called very often,
-  // so please forgive the lack of caching of results
-
-  QgsSpatialRefSys qgisSrs = QgsSpatialRefSys(epsg, QgsSpatialRefSys::EPSG);
-
-  return qgisSrs.description();
-}
-
-void QgsServerSourceSelect::addDefaultServers()
-{
-  QMap<QString, QString> exampleServers;
-  exampleServers["NASA (JPL)"] = "http://wms.jpl.nasa.gov/wms.cgi";
-  exampleServers["DM Solutions GMap"] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap";
-  exampleServers["Lizardtech server"] =  "http://wms.lizardtech.com/lizardtech/iserv/ows";
-  // Nice to have the qgis users map, but I'm not sure of the URL at the moment.
-  //  exampleServers["Qgis users map"] = "http://qgis.org/wms.cgi";
-
-  QSettings settings;
-  QString basePath("/Qgis/connections-wms/");
-  QMap<QString, QString>::const_iterator i = exampleServers.constBegin();
-  for (; i != exampleServers.constEnd(); ++i)
-  {
-    // Only do a server if it's name doesn't already exist.
-    QStringList keys = settings.subkeyList(basePath);
-    if (!keys.contains(i.key()))
-    {
-      QString path = basePath + i.key();
-      settings.setValue(path + "/proxyhost", "");
-      settings.setValue(path + "/proxyport", 80);
-      settings.setValue(path + "/proxyuser", "");
-      settings.setValue(path + "/proxypassword", "");
-      settings.setValue(path + "/url", i.value());
-    }
-  }
-  populateConnectionList();
-
-  QMessageBox::information(this, tr("WMS proxies"), tr("<p>Several WMS servers have been added to the server list. Note that the proxy fields have been left blank and if you access the internet via a web proxy, you will need to individually set the proxy fields with appropriate values.</p>"), QMessageBox::Ok);
-}
-
-// ENDS

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsserversourceselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,190 +0,0 @@
-/***************************************************************************
-    qgserversourceselect.h  -  selector for WMS servers, etc.
-                             -------------------
-    begin                : 3 April 2005
-    copyright            : (C) 2005 by Brendan Morley
-    email                : morb at ozemail dot com dot au
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsserversourceselect.h 5942 2006-10-13 08:08:44Z g_j_m $ */
-
-#ifndef QGSSERVERSOURCESELECT_H
-#define QGSSERVERSOURCESELECT_H
-#include "ui_qgsserversourceselectbase.h"
-#include "qgisgui.h"
-
-#include <vector>
-#include <map>
-#include <set>
-
-class QgisApp;
-class QgsWmsProvider;
-class QButtonGroup;
-/*!
- * \brief   Dialog to create connections and add layers from WMS, etc.
- *
- * This dialog allows the user to define and save connection information
- * for WMS servers, etc.
- *
- * The user can then connect and add 
- * layers from the WMS server to the map canvas.
- */
-class QgsServerSourceSelect : public QDialog, private Ui::QgsServerSourceSelectBase 
-{
-  Q_OBJECT
-  
-public:
-
-    //! Constructor
-    QgsServerSourceSelect(QgisApp *app, QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-    //! Destructor
-    ~QgsServerSourceSelect();
-    //! Populate the connection list combo box
-    void populateConnectionList();
-
-    //! Connection name
-    QString connName();
-
-    //! Connection info (uri)
-    QString connInfo();
-
-    //! Connection Proxy Host
-    QString connProxyHost();
-
-    //! Connection Proxy Port
-    int connProxyPort();
-
-    //! Connection Proxy User
-    QString connProxyUser();
-
-    //! Connection Proxy Pass
-    QString connProxyPass();
-
-    //! String list containing the selected layers
-    QStringList selectedLayers();
-
-    //! String list containing the visual styles selected for the selected layers - this corresponds with the output from selectedLayers()
-    QStringList selectedStylesForSelectedLayers();
-
-    //! String containing the MIME type of the preferred image encoding
-    QString selectedImageEncoding();
-
-    //! String containing the selected WMS-format CRS
-    QString selectedCrs();
-
-    //! Stores which server is now selected.
-    void serverChanged();
-
-    //! Set the server connection combo box to that stored in the config file. 
-    void setConnectionListPosition();
-
-public slots:
-
-    //! Opens the create connection dialog to build a new connection
-    void on_btnNew_clicked();
-    //! Opens a dialog to edit an existing connection
-    void on_btnEdit_clicked();
-    //! Deletes the selected connection
-    void on_btnDelete_clicked();
-
-    /*! Connects to the database using the stored connection parameters. 
-    * Once connected, available layers are displayed.
-    */
-    void on_btnConnect_clicked();
-
-    //! Determines the layers the user selected and closes the dialog
-    void on_btnAdd_clicked();
-
-    //! Opens the Spatial Reference System dialog.
-    void on_btnChangeSpatialRefSys_clicked();
-
-    //! Opens help application
-    void on_btnHelp_clicked();
-
-    //! Signaled when a layer selection is changed.  Ensures that only one style is selected per layer.
-    void on_lstLayers_selectionChanged();
-
-    //! Set status message to theMessage
-    void showStatusMessage(QString const & theMessage);
-
-    //! show whatever error is exposed by the QgsWmsProvider.
-    void showError(QgsWmsProvider * wms);
-
-    //! Stores the selected datasource whenerver it is changed
-    void on_cmbConnections_activated(int);
-
-    //! Add some default wms servers to the list
-    void on_btnAddDefault_clicked();
-
-private:
-
-    //! Add a few example servers to the list.
-    void addDefaultServers();
-
-    /**
-     * \brief Populate the layer list - private for now.
-     *
-     * \retval FALSE if the layers could not be retreived or parsed - 
-     *         see mWmsProvider->errorString() for more info
-     */
-    bool populateLayerList(QgsWmsProvider* wmsProvider);
-
-    //! Populate the image encoding button group - private for now.
-    void populateImageEncodingGroup(QgsWmsProvider* wmsProvider);
-
-    //! Returns the common CRSs for the selected layers.
-    std::set<QString> crsForSelection();
-
-    //! Returns a textual description for the EPSG number
-    QString descriptionForEpsg(long epsg);
-
-    //! Name for selected connection
-    QString m_connName;
-
-    //! URI for selected connection
-    QString m_connInfo;
-
-    //! Proxy Host for selected connection
-    QString m_connProxyHost;
-
-    //! Proxy Port for selected connection
-    int m_connProxyPort;
-
-    //! Proxy User for selected connection
-    QString m_connProxyUser;
-
-    //! Proxy Pass for selected connection
-    QString m_connProxyPass;
-
-    QStringList m_selectedLayers;
-    QStringList m_selectedStylesForSelectedLayers;
-    long m_Epsg;
-
-    std::map<QString, QString> m_selectedStyleIdForLayer;
-
-    //! The mime type, the text to use in the button and a unique number
-    QMap<QString, QPair<QString, int> > m_PotentialFormats;
-
-    //! Pointer to the qgis application mainwindow
-    QgisApp *qgisApp;
-
-    //! The widget that controls the image format radio buttons
-    QButtonGroup* m_imageFormatGroup;
-    QHBoxLayout* m_imageFormatLayout;
-
-    //! The WMS provider that retreives information for this dialog
-    QgsWmsProvider * mWmsProvider;
-
-    static const int context_id = 710979116;
-};
-
-
-#endif // QgsServerSourceSelect_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,603 +0,0 @@
-/***************************************************************************
-                         qgssinglesymboldialog.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssinglesymboldialog.cpp 6614 2007-02-17 10:08:48Z mhugent $ */
-
-#include "qgssinglesymboldialog.h"
-#include "qgsmarkercatalogue.h"
-#include "qgssinglesymbolrenderer.h"
-#include "qgssymbol.h"
-#include "qgssymbologyutils.h"
-#include "qgsvectorlayer.h"
-
-#include <QColorDialog>
-#include <QPainter>
-
-
-QgsSingleSymbolDialog::QgsSingleSymbolDialog(): QDialog(), mVectorLayer(0)
-{
-    setupUi(this);
-#ifdef QGISDEBUG
-    qWarning("constructor QgsSingleSymbolDialog called WITHOUT a layer");
-#endif
-}
-
-QgsSingleSymbolDialog::QgsSingleSymbolDialog(QgsVectorLayer * layer): QDialog(), mVectorLayer(layer)
-{
-    setupUi(this);
-
-#ifdef QGISDEBUG
-    qWarning("constructor QgsSingleSymbolDialog called WITH a layer");
-#endif
-
-    //
-    //set point symbol combo box
-    //
-
-    // If this layer doesn't have points, break out of the following
-    // two loops after the first iteration. This gives one point
-    // symbol in the dialog, etc so that other code can rely on such a
-    // fact, but avoids the long time required to load all of the
-    // available symbols when they are not needed.
-
-    QStringList ml = QgsMarkerCatalogue::instance()->list();
-    mMarkers.clear();
-
-    int size = 18;
-    QPen pen (QColor(0,0,255));
-    QBrush brush ( QColor(220,220,220), Qt::SolidPattern );
-
-    
-    for ( QStringList::iterator it = ml.begin(); it != ml.end(); ++it ) 
-    {
-      mMarkers.push_back ( *it );
-      QPixmap pic = QgsMarkerCatalogue::instance()->pixmapMarker ( *it, size,
-          pen, brush );
-      mPointSymbolComboBox->insertItem ( pic );
-      if (layer->vectorType() != QGis::Point)
-      {
-        break;
-      }
-    }
-
-    //
-    //set outline / line style
-    //
-    pbnLineSolid->setPixmap(QgsSymbologyUtils::char2LinePixmap("SolidLine"));
-    pbnLineDash->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashLine"));
-    pbnLineDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DotLine"));
-    pbnLineDashDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotLine"));
-    pbnLineDashDotDot->setPixmap(QgsSymbologyUtils::char2LinePixmap("DashDotDotLine"));
-    pbnLineNoPen->setPixmap(QgsSymbologyUtils::char2LinePixmap("NoPen"));
-
-    //
-    //set pattern button group icons and state
-    //
-    solid->setPixmap(QgsSymbologyUtils::char2PatternPixmap("SolidPattern"));
-    horizontal->setPixmap(QgsSymbologyUtils::char2PatternPixmap("HorPattern"));
-    vertical->setPixmap(QgsSymbologyUtils::char2PatternPixmap("VerPattern"));
-    cross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("CrossPattern"));
-    bdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("BDiagPattern"));
-    fdiag->setPixmap(QgsSymbologyUtils::char2PatternPixmap("FDiagPattern"));
-    diagcross->setPixmap(QgsSymbologyUtils::char2PatternPixmap("DiagCrossPattern"));
-    dense1->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense1Pattern"));
-    dense2->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense2Pattern"));
-    dense3->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense3Pattern"));
-    dense4->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense4Pattern"));
-    dense5->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense5Pattern"));
-    dense6->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense6Pattern"));
-    dense7->setPixmap(QgsSymbologyUtils::char2PatternPixmap("Dense7Pattern"));
-    nopen->setPixmap(QgsSymbologyUtils::char2PatternPixmap("NoBrush"));
-
-
-    if (mVectorLayer)
-    {
-        const QgsSingleSymbolRenderer *renderer=dynamic_cast<const QgsSingleSymbolRenderer*>(mVectorLayer->renderer());
-
-        if (renderer)
-        {
-	    // Set from the existing renderer
-	    set ( renderer->symbol() );
-	}
-        else
-        {
-            // Take values from an example instance
-            QgsSingleSymbolRenderer exampleRenderer = QgsSingleSymbolRenderer( mVectorLayer->vectorType() );
-            set ( exampleRenderer.symbol() );
-        }
-
-        if (mVectorLayer && mVectorLayer->vectorType() == QGis::Line)
-        {
-            btnFillColor->setEnabled(false);
-            grpPattern->setEnabled(false);
-            mGroupPoint->setEnabled(false);
-        }
-	
-        if (mVectorLayer && mVectorLayer->vectorType() == QGis::Polygon) {
-            mGroupPoint->setEnabled(false);
-
-        }
-       
-    }
-    else
-    {
-        qWarning("Warning, layer is a null pointer in QgsSingleSymbolDialog::QgsSingleSymbolDialog(QgsVectorLayer)");
-    }
-
-     //do the signal/slot connections
-    QObject::connect(btnOutlineColor, SIGNAL(clicked()), this, SLOT(selectOutlineColor()));
-    //QObject::connect(stylebutton, SIGNAL(clicked()), this, SLOT(selectOutlineStyle()));
-    QObject::connect(btnFillColor, SIGNAL(clicked()), this, SLOT(selectFillColor()));
-    QObject::connect(outlinewidthspinbox, SIGNAL(valueChanged(int)), this, SLOT(resendSettingsChanged()));
-    QObject::connect(mLabelEdit, SIGNAL(textChanged(const QString&)), this, SLOT(resendSettingsChanged()));
-    QObject::connect(mPointSymbolComboBox, SIGNAL(activated(int)), this, SLOT(resendSettingsChanged()));
-    QObject::connect(mPointSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(resendSettingsChanged()));
-
-    //connect fill style and line style buttons
-    QObject::connect(pbnLineSolid, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(pbnLineDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(pbnLineDashDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(pbnLineDash, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(pbnLineDashDotDot, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(pbnLineNoPen, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(solid, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(fdiag, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense4, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(horizontal, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(bdiag, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(diagcross, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense5, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(vertical, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense1, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense3, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense6, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(cross, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense2, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(dense7, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-    QObject::connect(nopen, SIGNAL(clicked()), this, SLOT(resendSettingsChanged()));
-
-}
-
-QgsSingleSymbolDialog::~QgsSingleSymbolDialog()
-{
-#ifdef QGISDEBUG
-    qWarning("destructor QgsSingleSymbolDialog");
-#endif
-}
-
-void QgsSingleSymbolDialog::selectOutlineColor()
-{
-    QColor c = QColorDialog::getColor(btnOutlineColor->color(), this);
-    
-    if ( c.isValid() ) {
-        btnOutlineColor->setColor(c);
-        emit settingsChanged();
-    }
-    
-    setActiveWindow();
-}
-
-void QgsSingleSymbolDialog::selectFillColor()
-{
-    QColor c = QColorDialog::getColor(btnFillColor->color(), this);
-
-    if ( c.isValid() ) {
-        btnFillColor->setColor(c);
-        emit settingsChanged();
-    }
-
-    setActiveWindow();
-}
-
-void QgsSingleSymbolDialog::apply( QgsSymbol *sy )
-{
-    //query the values of the widgets and set the symbology of the vector layer
-    sy->setFillColor(btnFillColor->color());
-    sy->setLineWidth(outlinewidthspinbox->value());
-    sy->setColor(btnOutlineColor->color());
-
-    //
-    // Apply point symbol
-    // 
-    sy->setNamedPointSymbol( mMarkers[mPointSymbolComboBox->currentItem()] ) ;
-    sy->setPointSize ( mPointSizeSpinBox->value() );
-    
-    //
-    // Apply the line style
-    //
-    if  (pbnLineNoPen->isOn())
-        (sy->setLineStyle(Qt::NoPen));
-    else if  (pbnLineDash->isOn())
-        (sy->setLineStyle(Qt::DashLine));
-    else if  (pbnLineDot->isOn())
-        (sy->setLineStyle(Qt::DotLine)) ;
-    else if  (pbnLineDashDot->isOn())
-        (sy->setLineStyle(Qt::DashDotLine));
-    else if  (pbnLineDashDotDot->isOn())
-        (sy->setLineStyle(Qt::DashDotDotLine)) ;
-    else
-        (sy->setLineStyle(Qt::SolidLine)); //default to solid
-
-
-    //
-    // Apply the pattern
-    //
-
-    if (solid->isOn())
-    {
-        sy->setFillStyle(Qt::SolidPattern);
-    }
-    else if (fdiag->isOn())
-    {
-        sy->setFillStyle(Qt::FDiagPattern);
-    }
-    else if (dense4->isOn())
-    {
-        sy->setFillStyle(Qt::Dense4Pattern);
-    }
-    else if (horizontal->isOn())
-    {
-        sy->setFillStyle(Qt::HorPattern);
-    }
-    else if (dense5->isOn())
-    {
-        sy->setFillStyle(Qt::Dense5Pattern);
-    }
-    else if (diagcross->isOn())
-    {
-        sy->setFillStyle(Qt::DiagCrossPattern);
-    }
-    else if (dense1->isOn())
-    {
-        sy->setFillStyle(Qt::Dense1Pattern);
-    }
-    else if (dense6->isOn())
-    {
-        sy->setFillStyle(Qt::Dense6Pattern);
-    }
-    else if (vertical->isOn())
-    {
-        sy->setFillStyle(Qt::VerPattern);
-    }
-    else if (dense7->isOn())
-    {
-        sy->setFillStyle(Qt::Dense7Pattern);
-    }
-    else if (cross->isOn())
-    {
-        sy->setFillStyle(Qt::CrossPattern);
-    }
-    else if (dense2->isOn())
-    {
-        sy->setFillStyle(Qt::Dense2Pattern);
-    }
-    else if (bdiag->isOn())
-    {
-        sy->setFillStyle(Qt::BDiagPattern);
-    }
-    else if (dense3->isOn())
-    {
-        sy->setFillStyle(Qt::Dense3Pattern);
-    }
-    else if (nopen->isOn())
-    {
-        sy->setFillStyle(Qt::NoBrush);
-    }
-
-    //apply the label
-    sy->setLabel(mLabelEdit->text());
-}
-
-void QgsSingleSymbolDialog::apply()
-{
-    QgsSymbol* sy = new QgsSymbol(mVectorLayer->vectorType());
-    apply(sy);
-
-    QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer(mVectorLayer->vectorType());
-    renderer->addSymbol(sy);
-    mVectorLayer->setRenderer(renderer);
-    mVectorLayer->refreshLegend();
-}
-
-void QgsSingleSymbolDialog::set ( const QgsSymbol *sy ) 
-{
-  //set label
-  mLabelEdit->setText(sy->label());
-
-	// Set point symbol
-    for ( int i = 0; i < mMarkers.size(); i++ ) {
-	    if ( mMarkers[i] ==  sy->pointSymbolName() ) {
-	        mPointSymbolComboBox->setCurrentItem ( i );
-		break;
-	    }
-	}
-	mPointSizeSpinBox->setValue ( sy->pointSize() );
-	
-	outlinewidthspinbox->setValue(sy->pen().width());
-
-	//set line width 1 as minimum to avoid confusion between line width 0 and no pen line style
-	// ... but, drawLine is not correct with width > 0 -> until solved set to 0
-	outlinewidthspinbox->setMinValue(0);
-
-    btnFillColor->setColor( sy->brush().color() );
-
-    btnOutlineColor->setColor( sy->pen().color() );
-
-	//stylebutton->setName(QgsSymbologyUtils::penStyle2Char(sy->pen().style()));
-	//stylebutton->setPixmap(QgsSymbologyUtils::char2LinePixmap(stylebutton->name()));
-	//load the icons stored in QgsSymbologyUtils.cpp (to avoid redundancy)
-
-	QPen myPen = sy->pen();
-
-	switch ( myPen.style() )
-	{
-	    case Qt::NoPen :
-		pbnLineNoPen->setOn(true);
-		break;
-	    case Qt::DashLine :
-		pbnLineDash->setOn(true);
-		break;
-	    case Qt::DotLine :
-		pbnLineDot->setOn(true);
-		break;
-	    case Qt::DashDotLine :
-		pbnLineDashDot->setOn(true);
-		break;
-	    case Qt::DashDotDotLine :
-		pbnLineDashDotDot->setOn(true);
-		break;
-	    default :
-		pbnLineSolid->setOn(true); // default to solid
-		break;
-	}
-
-	QBrush myBrush = sy->brush();
-
-	switch ( myBrush.style() )
-	{
-	    case Qt::SolidPattern :
-		solid->setOn(true);
-		break;
-	    case Qt::HorPattern :
-		horizontal->setOn(true);
-		break;
-	    case Qt::VerPattern :
-		vertical->setOn(true);
-		break;
-	    case  Qt::CrossPattern :
-		cross->setOn(true);
-		break;
-	    case Qt::BDiagPattern :
-		bdiag->setOn(true);
-		break;
-	    case Qt::FDiagPattern :
-		fdiag->setOn(true);
-		break;
-	    case Qt::DiagCrossPattern :
-		diagcross->setOn(true);
-		break;
-	    case Qt::Dense1Pattern :
-		dense1->setOn(true);
-		break;
-	    case Qt::Dense2Pattern :
-		dense2->setOn(true);
-		break;
-	    case Qt::Dense3Pattern :
-		dense3->setOn(true);
-		break;
-	    case Qt::Dense4Pattern :
-		dense4->setOn(true);
-		break;
-	    case Qt::Dense5Pattern :
-		dense5->setOn(true);
-		break;
-	    case Qt::Dense6Pattern :
-		dense6->setOn(true);
-		break;
-	    case Qt::Dense7Pattern :
-		dense7->setOn(true);
-		break;
-	    case Qt::NoBrush :
-		nopen->setOn(true);
-		break;
-	    default :
-		solid->setOn(true);
-		break;
-	}
-}
-
-void QgsSingleSymbolDialog::setOutlineColor(QColor& c)
-{
-    btnOutlineColor->setColor(c);
-}
-
-void QgsSingleSymbolDialog::setOutlineStyle(Qt::PenStyle pstyle)
-{
-    // XXX use switch() instead
-    if (pstyle==Qt::NoPen)
-        (pbnLineNoPen->setOn(true));
-    else if (pstyle==Qt::DashLine)
-        (pbnLineDash->setOn(true));
-    else if (pstyle==Qt::DotLine)
-        (pbnLineDot->setOn(true));
-    else if (pstyle==Qt::DashDotLine)
-        (pbnLineDashDot->setOn(true));
-    else if (pstyle==Qt::DashDotDotLine)
-        (pbnLineDashDotDot->setOn(true));
-    else
-        (pbnLineSolid->setOn(true)); //default to solid
-}
-
-void QgsSingleSymbolDialog::setFillColor(QColor& c)
-{
-    btnFillColor->setColor(c);
-}
-
-void QgsSingleSymbolDialog::setFillStyle(Qt::BrushStyle fstyle)
-{
-#ifdef QGISDEBUG
-    qWarning(("Setting fill style: "+QgsSymbologyUtils::brushStyle2QString(fstyle)).toLocal8Bit().data());
-#endif
-
-    // XXX use switch instead
-    if (fstyle==Qt::SolidPattern)
-        (solid->setOn(true));
-    else if (fstyle==Qt::HorPattern)
-        (horizontal->setOn(true));
-    else if (fstyle==Qt::VerPattern)
-        (vertical->setOn(true));
-    else if (fstyle==Qt::CrossPattern)
-        (cross->setOn(true));
-    else if (fstyle==Qt::BDiagPattern)
-        (bdiag->setOn(true));
-    else if (fstyle==Qt::FDiagPattern)
-        (fdiag->setOn(true));
-    else if (fstyle==Qt::DiagCrossPattern)
-        (diagcross->setOn(true));
-    else if (fstyle==Qt::Dense1Pattern)
-        (dense1->setOn(true));
-    else if (fstyle==Qt::Dense2Pattern)
-        (dense2->setOn(true));
-    else if (fstyle==Qt::Dense3Pattern)
-        (dense3->setOn(true));
-    else if (fstyle==Qt::Dense4Pattern)
-        (dense4->setOn(true));
-    else if (fstyle==Qt::Dense5Pattern)
-        (dense5->setOn(true));
-    else if (fstyle==Qt::Dense6Pattern)
-        (dense6->setOn(true));
-    else if (fstyle==Qt::Dense7Pattern)
-        (dense7->setOn(true));
-    else if (fstyle==Qt::NoBrush)
-        (nopen->setOn(true)); //default to no brush
-}
-
-void QgsSingleSymbolDialog::setOutlineWidth(int width)
-{
-    outlinewidthspinbox->setValue(width);
-}
-
-QColor QgsSingleSymbolDialog::getOutlineColor()
-{
-    return btnOutlineColor->color();
-}
-
-Qt::PenStyle QgsSingleSymbolDialog::getOutlineStyle()
-{
-    if  (pbnLineNoPen->isOn())
-        return Qt::NoPen;
-    else if  (pbnLineDash->isOn())
-        return Qt::DashLine;
-    else if  (pbnLineDot->isOn())
-        return Qt::DotLine ;
-    else if  (pbnLineDashDot->isOn())
-        return Qt::DashDotLine;
-    else if  (pbnLineDashDotDot->isOn())
-        return Qt::DashDotDotLine ;
-    else
-        return Qt::SolidLine; //default to solid
-
-}
-
-int QgsSingleSymbolDialog::getOutlineWidth()
-{
-    return outlinewidthspinbox->value();
-}
-
-QColor QgsSingleSymbolDialog::getFillColor()
-{
-    return btnFillColor->color();
-}
-
-Qt::BrushStyle QgsSingleSymbolDialog::getFillStyle()
-{
-    if (solid->isOn())
-    {
-        return Qt::SolidPattern;
-    }
-    else if (fdiag->isOn())
-    {
-        return Qt::FDiagPattern;
-    }
-    else if (dense4->isOn())
-    {
-        return Qt::Dense4Pattern;
-    }
-    else if (horizontal->isOn())
-    {
-        return Qt::HorPattern;
-    }
-    else if (dense5->isOn())
-    {
-        return Qt::Dense5Pattern;
-    }
-    else if (diagcross->isOn())
-    {
-        return Qt::DiagCrossPattern;
-    }
-    else if (dense1->isOn())
-    {
-        return Qt::Dense1Pattern;
-    }
-    else if (dense6->isOn())
-    {
-        return Qt::Dense6Pattern;
-    }
-    else if (vertical->isOn())
-    {
-        return Qt::VerPattern;
-    }
-    else if (dense7->isOn())
-    {
-        return Qt::Dense7Pattern;
-    }
-    else if (cross->isOn())
-    {
-        return Qt::CrossPattern;
-    }
-    else if (dense2->isOn())
-    {
-        return Qt::Dense2Pattern;
-    }
-    else if (bdiag->isOn())
-    {
-        return Qt::BDiagPattern;
-    }
-    else if (dense3->isOn())
-    {
-        return Qt::Dense3Pattern;
-    }
-    //fall back to transparent
-    return Qt::NoBrush;
-
-}
-
-void QgsSingleSymbolDialog::resendSettingsChanged()
-{
-    emit settingsChanged();
-}
-
-QString QgsSingleSymbolDialog::label()
-{
-    return mLabelEdit->text();
-}
-
-void QgsSingleSymbolDialog::setLabel(QString label)
-{
-    mLabelEdit->setText(label);
-}
-
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssinglesymboldialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,77 +0,0 @@
-/***************************************************************************
-                         qgssinglesymboldialog.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssinglesymboldialog.h 6251 2006-12-13 23:23:50Z telwertowski $ */
-
-#ifndef QGSSINGLESYMBOLDIALOG_H
-#define QGSSINGLESYMBOLDIALOG_H
-
-#include "ui_qgssinglesymboldialogbase.h"
-#include <vector>
-
-class QgsSymbol;
-class QgsVectorLayer;
-
-
-/**QgsSingleSymbolDialog is a dialog to set symbology for the legend type 'single symbol'*/
-class QgsSingleSymbolDialog: public QDialog, private Ui::QgsSingleSymbolDialogBase
-{
-    Q_OBJECT
-public:
-    QgsSingleSymbolDialog(QgsVectorLayer* layer);
-    ~QgsSingleSymbolDialog();
-    QColor getOutlineColor();
-    Qt::PenStyle getOutlineStyle();
-    int getOutlineWidth();
-    QColor getFillColor();
-    Qt::BrushStyle getFillStyle();
-    void setOutlineColor(QColor& c);
-    void setOutlineStyle(Qt::PenStyle pstyle);
-    void setOutlineWidth(int width);
-    void setFillColor(QColor& c);
-    void setFillStyle(Qt::BrushStyle fstyle);
-    void setLabel(QString label);
-    QString label();
-
-
-protected:
-    QgsVectorLayer* mVectorLayer;
-public slots:
-    /* arrange the widgets on this dialog to reflect the current state of QgsSymbol */
-    void set(const QgsSymbol *sy);
-    /**applies the changes to the vector layer*/
-    void apply();
-    /**applies the changes to the QgsSymbol */
-    void apply( QgsSymbol *sy);
-    /**emits the signal settingsChanged()*/
-    void resendSettingsChanged();
-
-protected slots:
-    void selectOutlineColor();
-    void selectFillColor();
-
-private:
-    /** Default constructor is private, do not use this */
-    QgsSingleSymbolDialog();
-
-    /** vector of marker names for combo items */
-    std::vector<QString> mMarkers;
-
-signals:
-    void settingsChanged();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,179 +0,0 @@
-/***************************************************************************
-                         qgssinglesymbolrenderer.cpp  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssinglesymbolrenderer.cpp 5705 2006-08-17 10:40:00Z g_j_m $ */
-#include "qgis.h"
-#include "qgssinglesymbolrenderer.h"
-#include "qgsfeature.h"
-#include "qgis.h"
-#include "qgsvectorlayer.h"
-#include "qgslegenditem.h"
-#include "qgssymbologyutils.h"
-
-#include <QString>
-#include <QDomNode>
-#include <QPainter>
-#include <QPixmap>
-
-QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(QGis::VectorType type)
-{
-    mVectorType=type;
-    //call superclass method to set up selection colour
-    initialiseSelectionColor();
-  
-    //initial setting based on random color
-    QgsSymbol* sy = new QgsSymbol(mVectorType);
-  
-    //random fill colors for points and polygons and pen colors for lines
-    int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-    int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-    int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-
-    if (type == QGis::Line)
-    {
-	sy->setColor(QColor(red, green, blue));
-    } 
-    else
-    {
-	sy->setFillColor(QColor(red, green, blue));
-	sy->setFillStyle(Qt::SolidPattern);
-	sy->setColor(QColor(0, 0, 0));
-    }
-    sy->setLineWidth(1);
-    mSymbol=sy;
-}
-
-QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(const QgsSingleSymbolRenderer& other)
-{
-    mVectorType = other.mVectorType;
-    mSymbol = new QgsSymbol(*other.mSymbol);
-}
-
-QgsSingleSymbolRenderer& QgsSingleSymbolRenderer::operator=(const QgsSingleSymbolRenderer& other)
-{
-    if(this!=&other)
-    {
-        mVectorType = other.mVectorType;
-        delete mSymbol;
-        mSymbol = new QgsSymbol(*other.mSymbol);
-    }
-    return *this;
-}
-
-QgsSingleSymbolRenderer::~QgsSingleSymbolRenderer()
-{
-    delete mSymbol;
-}
-
-void QgsSingleSymbolRenderer::addSymbol(QgsSymbol* sy)
-{
-    delete mSymbol;
-    mSymbol=sy;
-}
-
-void QgsSingleSymbolRenderer::renderFeature(QPainter * p, QgsFeature * f, QPixmap* pic, 
-	         double* scalefactor, bool selected, double widthScale)
-{
-	// Point 
-	if ( pic && mVectorType == QGis::Point) {
-	    *pic = mSymbol->getPointSymbolAsPixmap(  widthScale, 
-					 selected, mSelectionColor );
-	    
-	    if ( scalefactor ) *scalefactor = 1;
-	} 
-
-        // Line, polygon
- 	if ( mVectorType != QGis::Point )
-	{
-	    if( !selected ) 
-	    {
-		QPen pen=mSymbol->pen();
-		pen.setWidthF ( widthScale * pen.width() );
-		p->setPen(pen);
-		p->setBrush(mSymbol->brush());
-	    }
-	    else
-	    {
-		QPen pen=mSymbol->pen();
-		pen.setWidthF ( widthScale * pen.width() );
-                if (mVectorType == QGis::Line)
-                  pen.setColor(mSelectionColor);
-		QBrush brush=mSymbol->brush();
-		brush.setColor(mSelectionColor);
-		p->setPen(pen);
-		p->setBrush(brush);
-	    }
-	}
-}
-
-void QgsSingleSymbolRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
-{
-    mVectorType = vl.vectorType();
-    QgsSymbol* sy = new QgsSymbol(mVectorType);
-
-    QDomNode synode = rnode.namedItem("symbol");
-    
-    if ( synode.isNull() )
-    {
-        qDebug( "%s:%d in project file no symbol node in renderitem DOM" );
-        // XXX abort?
-    }
-    else
-    {
-        sy->readXML ( synode );
-    }
-
-    //create a renderer and add it to the vector layer
-    this->addSymbol(sy);
-    vl.setRenderer(this);
-}
-
-bool QgsSingleSymbolRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
-{
-  bool returnval=false;
-  QDomElement singlesymbol=document.createElement("singlesymbol");
-  layer_node.appendChild(singlesymbol);
-  if(mSymbol)
-  {
-    returnval=mSymbol->writeXML(singlesymbol,document);
-  }
-  return returnval;
-}
-
-
-std::list<int> QgsSingleSymbolRenderer::classificationAttributes() const
-{
-  std::list<int> list;
-  return list;//return an empty list
-}
-
-QString QgsSingleSymbolRenderer::name() const
-{
-  return "Single Symbol";
-}
-
-const std::list<QgsSymbol*> QgsSingleSymbolRenderer::symbols() const
-{
-    std::list<QgsSymbol*> list;
-    list.push_back(mSymbol);
-    return list;
-}
-
-QgsRenderer* QgsSingleSymbolRenderer::clone() const
-{
-    QgsSingleSymbolRenderer* r = new QgsSingleSymbolRenderer(*this);
-    return r;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgssinglesymbolrenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,80 +0,0 @@
-/***************************************************************************
-                         qgssinglesymbolrenderer.h  -  description
-                             -------------------
-    begin                : Oct 2003
-    copyright            : (C) 2003 by Marco Hugentobler
-    email                : mhugent at geo.unizh.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgssinglesymbolrenderer.h 4870 2006-02-18 13:26:41Z mhugent $ */
-
-#ifndef QGSSINGLESYMBOLRENDERER_H
-#define QGSSINGLESYMBOLRENDERER_H
-
-#include "qgsrenderer.h"
-#include "qgsrenderitem.h"
-#include "qgssymbol.h"
-#include "qgspoint.h"
-#include "qgsmaptopixel.h"
-
-class QPainter;
-class QPixmap;
-class QgsFeature;
-
-/**Render class to display all the features with a single QgsSymbol*/
-class QgsSingleSymbolRenderer: public QgsRenderer
-{
- public:
-    QgsSingleSymbolRenderer(QGis::VectorType type);
-    QgsSingleSymbolRenderer(const QgsSingleSymbolRenderer& other);
-    QgsSingleSymbolRenderer& operator=(const QgsSingleSymbolRenderer& other);
-    virtual ~QgsSingleSymbolRenderer();
-    /**Replaces the current mSymbol by sy*/
-    void addSymbol(QgsSymbol* sy);
-    /*Returns a pointer to mSymbol*/
-    const QgsSymbol* symbol() const;
-    /**Renders an OGRFeature*/
-    void renderFeature(QPainter* p, QgsFeature* f, QPixmap* pic, double* scalefactor, bool selected, double widthScale = 1.);
-    /**Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-     @param vl the vector layer which will be associated with the renderer*/
-    virtual void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
-    /**Writes the contents of the renderer to a configuration file*/
-    /*virtual void writeXML(std::ostream& xml);*/
-    /**Writes the contents of the renderer to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
-    /**Returns false, no attributes neede for single symbol*/
-    bool needsAttributes() const;
-    /**Returns an empty list, since no classification attributes are used*/
-    std::list<int> classificationAttributes() const;
-    /**Returns the renderers name*/
-    virtual QString name() const;
-    /**Returns a list containing mSymbol*/
-    const std::list<QgsSymbol*> symbols() const;
-    /**Returns a deep copy of this renderer*/
-    QgsRenderer* clone() const;
- protected:
-    /**Object containing symbology information*/
-    QgsSymbol* mSymbol;
-};
-
-inline const QgsSymbol* QgsSingleSymbolRenderer::symbol() const
-{
-    return mSymbol;
-}
-
-inline bool QgsSingleSymbolRenderer::needsAttributes() const
-{
-  return false;
-}
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,1300 +0,0 @@
-#include "qgsspatialrefsys.h"
-
-#include <cassert>
-#include <cmath>
-#include <iostream>
-#include <sqlite3.h>
-#include <QSettings>
-#include <QRegExp>
-#include <QFileInfo>
-#include <QDir>
-#include <projects.h>
-#include <QDomNode>
-#include <QDomElement>
-#include <QMessageBox>
-
-#include <qgsapplication.h>
-#include <qgslayerprojectionselector.h>
-#include "qgslogger.h"
-#include <qgsproject.h>
-#include <qgis.h> //const vals declared here
-
-
-//gdal and ogr includes (needed for == operator)
-#include <ogr_api.h>
-#include <ogr_spatialref.h>
-#include <cpl_error.h>
-
-
-//--------------------------
-
-QgsSpatialRefSys::QgsSpatialRefSys()
-  : mMapUnits(QGis::UNKNOWN),
-    mIsValidFlag(0)
-{
-  // NOOP
-}
-
-QgsSpatialRefSys::QgsSpatialRefSys(QString theWkt)
-  : mMapUnits(QGis::UNKNOWN),
-    mIsValidFlag(0)
-{
-  createFromWkt(theWkt);
-}
-
-QgsSpatialRefSys::QgsSpatialRefSys(long theSrsId,
-                                   QString theDescription,
-                                   QString theProjectionAcronym,
-                                   QString theEllipsoidAcronym,
-                                   QString theProj4String,
-                                   long theSRID,
-                                   long theEpsg, 
-                                   bool theGeoFlag)
-  : mMapUnits(QGis::UNKNOWN),
-    mIsValidFlag(0)
-{
-  // NOOP
-}
-
-QgsSpatialRefSys::QgsSpatialRefSys(const long theId, SRS_TYPE theType)
-  : mMapUnits(QGis::UNKNOWN),
-    mIsValidFlag(0)
-{
-  createFromId(theId, theType);
-}
-
-void QgsSpatialRefSys::createFromId(const long theId, SRS_TYPE theType)
-{
-  switch (theType)
-  {
-  case QGIS_SRSID:
-    createFromSrsId(theId);
-    break;
-  case POSTGIS_SRID:
-    createFromSrid(theId);
-    break;
-  case EPSG:
-    createFromEpsg(theId);
-    break;
-  default:
-    //THIS IS BAD...THIS PART OF CODE SHOULD NEVER BE REACHED...
-    QgsLogger::critical("Unexpected case reached in " + QString(__FILE__) + " : " + QString(__LINE__));
-  };
-
-}
-
-
-bool QgsSpatialRefSys::createFromOgcWmsCrs(QString theCrs)
-{
-  QStringList parts = theCrs.split(":");
-
-  if (parts.at(0) == "EPSG")
-  {
-    createFromEpsg( parts.at(1).toLong() );
-  }
-  else if (parts.at(0) == "CRS")
-  {
-    if (parts.at(1) == "84")
-    {
-      //! \todo - CRS:84 is hardcoded to EPSG:4326 - see if this is appropriate
-      /**
-       *  See WMS 1.3 standard appendix B3 for details
-       */
-      createFromEpsg( 4326 );
-    }
-  }
-  else
-  {
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-
-// Assignment operator
-QgsSpatialRefSys& QgsSpatialRefSys::operator=(const QgsSpatialRefSys& srs)
-{
-  if (&srs != this)
-  {
-    mSrsId = srs.mSrsId;
-    mDescription = srs.mDescription;
-    mProjectionAcronym = srs.mProjectionAcronym;
-    mEllipsoidAcronym = srs.mEllipsoidAcronym;
-    mProj4String = srs.mProj4String;
-    mGeoFlag = srs.mGeoFlag;
-    mMapUnits = srs.mMapUnits;
-    mSRID = srs.mSRID;
-    mEpsg = srs.mEpsg;
-    mIsValidFlag = srs.mIsValidFlag;
-  }
-  return *this;
-}
-
-// Misc helper functions -----------------------
-
-
-void QgsSpatialRefSys::validate()
-{
-  QgsDebugMsg("QgsSpatialRefSys::validate");
-  //dont bother trying to do an initial test with gdal if
-  //the proj4String is not even populated
-  if (QString::null!=mProj4String && !mProj4String.isEmpty())
-  {
-    //first of all use gdal to test if this is an ok srs already
-    //if not we will prompt the user for and srs
-    //then retest using gdal
-    //if the retest fails we will then set  this srs to the GEOCS/WGS84 default
-
-
-    /* Here are the possible OGR error codes :
-       typedef int OGRErr;
-
-       #define OGRERR_NONE                0
-       #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize
-       #define OGRERR_NOT_ENOUGH_MEMORY   2
-       #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
-       #define OGRERR_UNSUPPORTED_OPERATION 4
-       #define OGRERR_CORRUPT_DATA        5
-       #define OGRERR_FAILURE             6
-       #define OGRERR_UNSUPPORTED_SRS     7 */
-
-    //get the wkt into ogr
-    //this is really ugly but we need to get a QString to a char**
-    const char *mySourceCharArrayPointer = mProj4String.latin1();
-    //create the sr and populate it from a wkt proj definition
-    OGRSpatialReference myOgrSpatialRef;
-    OGRErr myInputResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
-
-    if (myInputResult==OGRERR_NONE)
-    {
-      //srs is valid so nothing more to do...
-      createFromProj4(mProj4String);
-      return;
-    }
-  }
-
-  QSettings mySettings;
-  QString myDefaultProjectionOption =
-    mySettings.readEntry("/Projections/defaultBehaviour");
-
-  if (myDefaultProjectionOption=="prompt")
-  {
-    //@note this class is not a descendent of QWidget so we cant pass
-    //it in the ctor of the layer projection selector
-
-    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector();
-    long myDefaultSRS =
-      QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-    mySelector->setSelectedSRSID(myDefaultSRS);
-    if(mySelector->exec())
-    {
-      createFromSrsId(mySelector->getCurrentSRSID());
-      delete mySelector;
-      return;
-    }
-    else
-    {
-      QApplication::restoreOverrideCursor();
-    }
-    delete mySelector;
-  }
-  else if (myDefaultProjectionOption=="useProject")
-  {
-    // XXX TODO: Change project to store selected CS as 'projectSRS' not 'selectedWKT'
-    mProj4String = QgsProject::instance()->readEntry("SpatialRefSys","//ProjectSRSProj4String",GEOPROJ4);
-  }
-  else ///Projections/defaultBehaviour==useGlobal
-  {
-    // XXX TODO: Change global settings to store default CS as 'defaultSRS' not 'defaultProjectionWKT'
-    int srs_id = mySettings.readNumEntry("/Projections/defaultProjectionSRSID",GEOSRS_ID);
-    createFromSrsId(srs_id);
-    return;
-  }
-
-  //
-  // This is the second check after the user assigned SRS has been retrieved
-  // If it still does not work, we will simply use the QgsSpatialRefSys const GEOPROJ4 for the job
-  //
-
-  //this is really ugly but we need to get a QString to a char**
-  const char *mySourceCharArrayPointer = mProj4String.latin1();
-  //create the sr and populate it from a wkt proj definition
-  OGRSpatialReference myOgrSpatialRef;
-  OGRErr myInputResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
-
-  if (! myInputResult==OGRERR_NONE)
-  {
-    //default to proj 4..if all else fails we will use that for this srs
-    mProj4String = GEOPROJ4;
-  }
-
-  createFromProj4(mProj4String);
-
-  return;
-}
-
-bool QgsSpatialRefSys::createFromSrid(long theSrid)
-{
-  QgsDebugMsg("QgsSpatialRefSys::createFromSrid");
-
-  // Get the full path name to the sqlite3 spatial reference database.
-  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
-
-
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-      return false;
-  }
-
-  /*
-    srs_id INTEGER PRIMARY KEY,
-    description text NOT NULL,
-    projection_acronym text NOT NULL,
-    ellipsoid_acronym NOT NULL,
-    parameters text NOT NULL,
-    srid integer NOT NULL,
-    epsg integer NOT NULL,
-    is_geo integer NOT NULL);
-  */
-
-  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where srid='" + QString::number(theSrid) + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-  {
-    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
-    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
-    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
-    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
-    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
-    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
-    mGeoFlag = (geo == 0 ? false : true);
-    setMapUnits();
-    mIsValidFlag = true;
-
-  }
-  else
-  {
-    QgsDebugMsg("QgsSpatialRefSys::createFromSrid failed : " + mySql);
-    mIsValidFlag = false;
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return mIsValidFlag;
-}
-
-bool QgsSpatialRefSys::createFromWkt(QString theWkt)
-{
-  if (theWkt.isEmpty())
-  {
-    QgsLogger::critical("QgsSpatialRefSys::createFromWkt -- theWkt is uninitialised, operation failed");
-    mIsValidFlag = false;
-    return false;
-  }
-  QgsDebugMsg("QgsSpatialRefSys::createFromWkt(QString theWkt) using: " + theWkt);
-  //this is really ugly but we need to get a QString to a char**
-  const char *myCharArrayPointer = theWkt.latin1(); //Why doesn't it work with toLocal8Bit().data()?
-  char *pWkt = (char *)myCharArrayPointer;
-  /* Here are the possible OGR error codes :
-     typedef int OGRErr;
-     #define OGRERR_NONE                0
-     #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize 
-     #define OGRERR_NOT_ENOUGH_MEMORY   2
-     #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
-     #define OGRERR_UNSUPPORTED_OPERATION 4
-     #define OGRERR_CORRUPT_DATA        5
-     #define OGRERR_FAILURE             6
-     #define OGRERR_UNSUPPORTED_SRS     7 
-  */
-
-  OGRSpatialReference myOgrSpatialRef;
-
-  OGRErr myInputResult = myOgrSpatialRef.importFromWkt( &pWkt );
-  if (myInputResult != OGRERR_NONE)
-  {
-    QgsDebugMsg("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv");
-    QgsDebugMsg("QgsSpatialRefSys::createFromWkt(QString theWkt) ");
-    QgsDebugMsg("This SRS could *** NOT *** be set from the supplied WKT ");
-    QgsDebugMsg("INPUT: " + theWkt);
-    QgsDebugMsg("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
-    mIsValidFlag = false;
-    return false;
-  }
-
-
-  // always morph from esri as it doesn't hurt anything
-  myOgrSpatialRef.morphFromESRI();
-  // create the proj4 structs needed for transforming
-  char *proj4src;
-  myOgrSpatialRef.exportToProj4(&proj4src);
-
-  //now that we have the proj4string, delegate to createFromProj4String so
-  // that we can try to fill in the remaining class members...
-  //create from Proj wil set the isValidFalg
-  createFromProj4(QString(proj4src));
-  return mIsValidFlag;
-  //setMapunits will be called by createfromproj above
-}
-
-bool QgsSpatialRefSys::createFromEpsg(long theEpsg)
-{
-  QgsDebugMsg("QgsSpatialRefSys::createFromEpsg with " + QString::number(theEpsg));
-  // Get the full path name to the sqlite3 spatial reference database.
-  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
-
-
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-      return false;
-  }
-
-  /*
-    srs_id INTEGER PRIMARY KEY,
-    description text NOT NULL,
-    projection_acronym text NOT NULL,
-    ellipsoid_acronym NOT NULL,
-    parameters text NOT NULL,
-    srid integer NOT NULL,
-    epsg integer NOT NULL,
-    is_geo integer NOT NULL);
-  */
-
-  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where epsg='" + QString::number(theEpsg) + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-  {
-    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
-    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
-    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
-    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
-    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
-    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
-    mGeoFlag = (geo == 0 ? false : true);
-    setMapUnits();
-    mIsValidFlag = true;
-
-  }
-  else
-  {
-    QgsLogger::critical(" QgsSpatialRefSys::createFromEpsg failed :  " + mySql);
-    mIsValidFlag = false;
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return mIsValidFlag;
-}
-
-
-bool QgsSpatialRefSys::createFromSrsId (long theSrsId)
-{
-  QgsDebugMsg("QgsSpatialRefSys::createFromSrsId");
-  QString myDatabaseFileName;
-  //
-  // Determine if this is a user projection or a system on
-  // user projection defs all have srs_id >= 100000
-  //
-  if (theSrsId>= USER_PROJECTION_START_ID)
-  {
-    myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
-    QFileInfo myFileInfo;
-    myFileInfo.setFile(myDatabaseFileName);
-    if ( !myFileInfo.exists( ) )
-    {
-      mIsValidFlag = false;
-      QgsLogger::warning("QgsSpatialRefSys::createFromSrid failed :  users qgis.db not found");
-      return mIsValidFlag;
-    }
-  }
-  else //must be  a system projection then
-  {
-    // Get the full path name to the sqlite3 spatial reference database.
-    myDatabaseFileName = QgsApplication::srsDbFilePath();
-  }
-
-
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-      return false;
-  }
-
-  /*
-    srs_id INTEGER PRIMARY KEY,
-    description text NOT NULL,
-    projection_acronym text NOT NULL,
-    ellipsoid_acronym NOT NULL,
-    parameters text NOT NULL,
-    srid integer NOT NULL,
-    epsg integer NOT NULL,
-    is_geo integer NOT NULL);
-  */
-
-  QString mySql = "select srs_id,description,projection_acronym,ellipsoid_acronym,parameters,srid,epsg,is_geo from tbl_srs where srs_id='" + QString::number(theSrsId) + "'";
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-  {
-    mSrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0)).toLong();
-    mDescription = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,1));
-    mProjectionAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,2));
-    mEllipsoidAcronym = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,3));
-    mProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,4));
-    mSRID = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,5)).toLong();
-    mEpsg = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,6)).toLong();
-    int geo = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,7)).toInt();
-    mGeoFlag = (geo == 0 ? false : true);
-    setMapUnits();
-    mIsValidFlag = true;
-
-  }
-  else
-  {
-    QgsLogger::warning("QgsSpatialRefSys::createFromSrsId failed :  " + mySql);
-    mIsValidFlag = false;
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return mIsValidFlag;
-}
-
-
-
-
-
-bool QgsSpatialRefSys::isValid() const
-{
-  if (mProj4String.isEmpty())
-    return false;
-
-  //this is really ugly but we need to get a QString to a char**
-  const char *mySourceCharArrayPointer = mProj4String.latin1();
-  //create the sr and populate it from a wkt proj definition
-  OGRSpatialReference myOgrSpatialRef;
-  OGRErr myResult = myOgrSpatialRef.importFromProj4( mySourceCharArrayPointer );
-  if (myResult==OGRERR_NONE)
-  {
-    //srs is valid so nothing more to do...
-    return true;
-  }
-  else
-  {
-    return false;
-  }
-}
-
-bool QgsSpatialRefSys::createFromProj4 (const QString theProj4String)
-{
-
-  //
-  // Example:
-  // +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0
-  // +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0 +units=m +no_defs
-  //
-  mIsValidFlag=false;
-
-  QRegExp myProjRegExp( "\\+proj=\\S+" );
-  int myStart= 0;
-  int myLength=0;
-  myStart = myProjRegExp.search(theProj4String, myStart);
-  if (myStart==-1)
-  {
-    QgsLogger::warning("QgsSpatialRefSys::createFromProj4 error proj string supplied has no +proj argument");
-    return mIsValidFlag;
-  }
-  else
-  {
-    myLength = myProjRegExp.matchedLength();
-  }
-
-  mProjectionAcronym = theProj4String.mid(myStart+PROJ_PREFIX_LEN,myLength-PROJ_PREFIX_LEN);
-
-  QRegExp myEllipseRegExp( "\\+ellps=\\S+" );
-  myStart= 0;
-  myLength=0;
-  myStart = myEllipseRegExp.search(theProj4String, myStart);
-  if (myStart==-1)
-  {
-    std::cout << "QgsSpatialRefSys::createFromProj4 error proj string supplied has no +ellps argument" << std::endl;
-
-    return mIsValidFlag;
-  }
-  else
-  {
-    myLength = myEllipseRegExp.matchedLength();
-  }
-  mEllipsoidAcronym = theProj4String.mid(myStart+ELLPS_PREFIX_LEN,myLength-ELLPS_PREFIX_LEN);
-  //mproj4string must be set here for the rest of this method to behave in a meaningful way...
-  mProj4String = theProj4String;
-
-
-  /*
-  * We try to match the proj string to and srsid using the following logic: 
-  *
-  * - perform a whole text search on srs name (if not null). The srs name will 
-  *   have been set if this method has been delegated to from createFromWkt.
-  * Normally we wouldnt expect this to work, but its worth trying first
-  * as its quicker than methods below..
-  */
-  long mySrsId = 0;
-  QgsSpatialRefSys::RecordMap myRecord;
-  if (!mDescription.stripWhiteSpace ().isEmpty())
-  {
-     myRecord = getRecord("select * from tbl_srs where description='" + mDescription.stripWhiteSpace () + "'");
-  }
-  if (!myRecord.empty())
-  {
-    mySrsId=myRecord["srs_id"].toLong();
-    QgsDebugMsg("QgsSpatialRefSys::createFromProj4 Projection Description match search for srsid returned srsid: "\
-		+ QString::number(mySrsId));
-    if (mySrsId > 0)
-    {
-      createFromSrsId(mySrsId);
-    }
-  }
-  else
-  {
-    /*
-    * - if the above does not match perform a whole text search on proj4 string (if not null)
-    */
-    QgsDebugMsg("QgsSpatialRefSys::createFromProj4 wholetext match on name failed, trying proj4string match");
-    myRecord = getRecord("select * from tbl_srs where parameters='" + mProj4String.stripWhiteSpace () + "'");
-    if (!myRecord.empty())
-    {
-      mySrsId=myRecord["srs_id"].toLong();
-      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 proj4string match search for srsid returned srsid: " \
-+ QString::number(mySrsId));
-      if (mySrsId > 0)
-      {
-        createFromSrsId(mySrsId);
-      }
-    }
-
-    else
-    {
-      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 globbing search for srsid from this proj string");
-      mySrsId = findMatchingProj();
-      QgsDebugMsg("QgsSpatialRefSys::createFromProj4 globbing search for srsid returned srsid: "\
-		  + QString::number(mySrsId));
-      if (mySrsId > 0)
-      {
-        createFromSrsId(mySrsId);
-      }
-    }
-  }
-
-  /* If its still empty after all the above steps then all we can do is keep the proj string
-  * with what was passed in and hope for the best...If its not empty we can fill other member details in 
-    from the record*/
-  return mIsValidFlag;
-}
-
-QgsSpatialRefSys::RecordMap QgsSpatialRefSys::getRecord(QString theSql)
-{
-
-  QString myDatabaseFileName;
-  QgsSpatialRefSys::RecordMap myMap;
-  QString myFieldName;
-  QString myFieldValue;
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-
-  QgsDebugMsg("QgsSpatialRefSys::getRecord...running query: " + theSql);
-  // Get the full path name to the sqlite3 spatial reference database.
-  myDatabaseFileName = QgsApplication::srsDbFilePath();
-
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-    return myMap;
-  }
-
-  myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-  {
-    int myColumnCount = sqlite3_column_count(myPreparedStatement);
-    //loop through each column in the record adding its field name and vvalue to the map
-    for (int myColNo=0;myColNo < myColumnCount;myColNo++)
-    {
-      myFieldName = QString::fromUtf8((char *)sqlite3_column_name(myPreparedStatement,myColNo));
-      myFieldValue = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,myColNo));
-      myMap[myFieldName]=myFieldValue;
-    }
-  }
-  else
-  {
-    QgsDebugMsg("QgsSpatialRefSys::getRecord...trying system users.db");
-    sqlite3_finalize(myPreparedStatement);
-    sqlite3_close(myDatabase);
-
-    myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
-    QFileInfo myFileInfo;
-    myFileInfo.setFile(myDatabaseFileName);
-    if ( !myFileInfo.exists( ) )
-    {
-      QgsLogger::warning("QgsSpatialRefSys::getRecord failed :  users qgis.db not found");
-      return myMap;
-    }
-
-    //check the db is available
-    myResult = openDb(myDatabaseFileName, &myDatabase);
-    if(myResult)
-    {
-      return myMap;
-    }
-
-    myResult = sqlite3_prepare(myDatabase, theSql.utf8(), theSql.length(), &myPreparedStatement, &myTail);
-    // XXX Need to free memory from the error msg if one is set
-    if(myResult == SQLITE_OK && sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      int myColumnCount = sqlite3_column_count(myPreparedStatement);
-      //loop through each column in the record adding its field name and vvalue to the map
-      for (int myColNo=0;myColNo < myColumnCount;myColNo++)
-      {
-        myFieldName = QString::fromUtf8((char *)sqlite3_column_name(myPreparedStatement,myColNo));
-        myFieldValue = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,myColNo));
-        myMap[myFieldName]=myFieldValue;
-      }
-    }
-    else
-    {
-      QgsLogger::warning("QgsSpatialRefSys::getRecord failed :  " + theSql);
-
-    }
-  }
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-
-#ifdef QGISDEBUG
-	 QgsDebugMsg("QgsSpatialRefSys::getRecord retrieved:  " + theSql);
-	 RecordMap::Iterator it;
-	 for ( it = myMap.begin(); it != myMap.end(); ++it )
-	   {
-	     QgsDebugMsgLevel(it.key() + " => " + it.data(), 2);
-	   }
-#endif
-
-  return myMap;
-
-
-
-}
-
-// Accessors -----------------------------------
-/*! Get the SrsId
- *  @return  long theSrsId The internal sqlite3 srs.db primary key for this srs 
- */
-long QgsSpatialRefSys::srsid() const
-{
-  return mSrsId;
-}
-/*! Get the Postgis SRID - if possible
- *  @return  long theSRID The internal postgis SRID for this SRS
- */
-long QgsSpatialRefSys::srid() const
-{
-
-  return mSRID;
-
-}
-/*! Get the Description
- * @return  QString the Description A textual description of the srs.
- */
-QString QgsSpatialRefSys::description () const
-{
-  if (mDescription.isNull())
-  {
-    return "";
-  }
-  else
-  {
-    return mDescription;
-  }
-}
-/*! Get the Projection Acronym
- * @return  QString theProjectionAcronym The official proj4 acronym for the projection family
- */
-QString QgsSpatialRefSys::projectionAcronym() const
-{
-  if (mProjectionAcronym.isNull())
-  {
-    return "";
-  }
-  else
-  {
-    return mProjectionAcronym;
-  }
-}
-/*! Get the Ellipsoid Acronym
- * @return  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
- */
-QString QgsSpatialRefSys::ellipsoidAcronym () const
-{
-  if (mEllipsoidAcronym.isNull())
-  {
-    return "";
-  }
-  else
-  {
-    return mEllipsoidAcronym;
-  }
-}
-/* Get the Proj Proj4String.
- * @return  QString theProj4String Proj4 format specifies that define this srs.
- */
-QString QgsSpatialRefSys::proj4String() const
-{
-  if (mProj4String.isNull())
-  {
-    return "";
-  }
-  else
-  {
-    return mProj4String;
-  }
-}
-/*! Get this Geographic? flag
- * @return  bool theGeoFlag Whether this is a geographic or projected coordinate system
- */
-bool QgsSpatialRefSys::geographicFlag () const
-{
-  return mGeoFlag;
-}
-/*! Get the units that the projection is in
- * @return QGis::units
- */
-QGis::units QgsSpatialRefSys::mapUnits() const
-{
-  return mMapUnits;
-}
-
-/*! Set the postgis srid for this srs
- * @return  long theSRID the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
- */
-long QgsSpatialRefSys::postgisSrid () const
-{
-  return mSRID ;
-}
-/*! Set the EPSG identifier for this srs
- * @return  long theEpsg the ESPG identifier for this srs (defaults to 0)
- */
-long QgsSpatialRefSys::epsg () const
-{
-  return mEpsg;
-}
-
-// Mutators -----------------------------------
-
-
-void QgsSpatialRefSys::setSrsId(long theSrsId)
-{
-  mSrsId = theSrsId;
-}
-void QgsSpatialRefSys::setSrid(long theSrid)
-{
-  mSRID=theSrid;
-}
-void QgsSpatialRefSys::setDescription (QString theDescription)
-{
-  mDescription = theDescription;
-}
-void QgsSpatialRefSys::setProj4String (QString theProj4String)
-{
-  mProj4String = theProj4String;
-}
-void QgsSpatialRefSys::setGeographicFlag (bool theGeoFlag)
-{
-  mGeoFlag=theGeoFlag;
-}
-void QgsSpatialRefSys::setEpsg (long theEpsg)
-{
-  mEpsg=theEpsg;
-}
-void  QgsSpatialRefSys::setProjectionAcronym(QString theProjectionAcronym)
-{
-  mProjectionAcronym=theProjectionAcronym;
-}
-void  QgsSpatialRefSys::setEllipsoidAcronym(QString theEllipsoidAcronym)
-{
-  mEllipsoidAcronym=theEllipsoidAcronym;
-}
-/*! Work out the projection units and set the appropriate local variable
- *
- */
-void QgsSpatialRefSys::setMapUnits()
-{
-  if (mProj4String.isEmpty())
-  {
-    QgsLogger::warning("No proj4 projection string. Unable to set map units.");
-    mMapUnits = QGis::UNKNOWN;
-    return;
-  }
-
-  char *unitName;
-  OGRSpatialReference myOgrSpatialRef;
-  myOgrSpatialRef.importFromProj4(mProj4String.latin1());
-
-  // Of interest to us is that this call adds in a unit parameter if
-  // one doesn't already exist.
-  myOgrSpatialRef.Fixup();
-
-  if (myOgrSpatialRef.IsProjected())
-  {
-    double toMeter = myOgrSpatialRef.GetLinearUnits(&unitName);
-    QString unit(unitName);
-
-    // If the units parameter was created during the Fixup() call
-    // above, the name of the units is likely to be 'unknown'. Try to
-    // do better than that ... (but perhaps ogr should be enhanced to
-    // do this instead?).
-
-    static const double feetToMeter = 0.3048;
-    static const double smallNum = 1e-3;
-
-    if (std::abs(toMeter - feetToMeter) < smallNum)
-      unit = "Foot";
-
-    QgsDebugMsg("Projection has linear units of " + unit);
-
-    if (unit == "Meter")
-      mMapUnits = QGis::METERS;
-    else if (unit == "Foot")
-      mMapUnits = QGis::FEET;
-    else
-    {
-      QgsLogger::warning("Unsupported map units of " + unit);
-      mMapUnits = QGis::UNKNOWN;
-    }
-  }
-  else
-  {
-    myOgrSpatialRef.GetAngularUnits(&unitName);
-    QString unit(unitName);
-    if (unit == "degree")
-      mMapUnits = QGis::DEGREES;
-    else
-    {
-      QgsLogger::warning("Unsupported map units of " + unit);
-      mMapUnits = QGis::UNKNOWN;
-    }
-    QgsDebugMsg("Projection has angular units of " + unit);
-  }
-}
-
-
-/*
-*    check if srs is a geocs or a proj cs (using ogr isGeographic)
-*   then sequentially walk through the database (first users qgis.db srs tbl then
-*   system srs.db tbl), converting each entry into an ogr srs and using isSame
-*   or isSameGeocs (essentially calling the == overloaded operator). We'll try to 
-*   be smart about this and first parse out the proj and ellpse strings and only 
-*   check for a match in entities that have the same ellps and proj entries so 
-*   that it doesnt munch yer cpu so much.
-*/
-long QgsSpatialRefSys::findMatchingProj()
-{
-  QgsDebugMsg("QgsSpatialRefSys::findMatchingProj...");
-  if (mEllipsoidAcronym.isNull() ||  mProjectionAcronym.isNull() || mProj4String.isNull())
-  {
-    QgsLogger::warning("QgsSpatialRefSys::findMatchingProj will only work if prj acr ellipsoid acr and proj4string are set!...");
-    return 0;
-  }
-
-  sqlite3      *myDatabase;
-  const char   *myTail;
-  sqlite3_stmt *myPreparedStatement;
-  int           myResult;
-
-  // Set up the query to retreive the projection information needed to populate the list
-  QString mySql = QString ("select srs_id,parameters from tbl_srs where projection_acronym='" +
-                           mProjectionAcronym + "' and ellipsoid_acronym='" + mEllipsoidAcronym + "'");
-  // Get the full path name to the sqlite3 spatial reference database.
-  QString myDatabaseFileName = QgsApplication::srsDbFilePath();
-
-
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-    return 0;
-  }
-
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-
-    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      QString myProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 1));
-      if (this->equals(myProj4String))
-      {
-	QgsDebugMsg("QgsSpatialRefSys::findMatchingProj -------> MATCH FOUND in srs.db srsid: " + mySrsId);
-        // close the sqlite3 statement
-        sqlite3_finalize(myPreparedStatement);
-        sqlite3_close(myDatabase);
-        return mySrsId.toLong();
-      }
-      else
-      {
-        //std::cout << " Not matched : " << myProj4String << std::endl;
-      }
-    }
-  }
-  //std::cout << "QgsSpatialRefSys::findMatchingProj -------> no match found in srs.db, trying user db now!" << std::endl;
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  //
-  // Try the users db now
-  //
-
-  myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
-  //check the db is available
-  myResult = openDb(myDatabaseFileName, &myDatabase);
-  if(myResult)
-  {
-    return 0;
-  }
-
-  myResult = sqlite3_prepare(myDatabase, mySql.utf8(), mySql.length(), &myPreparedStatement, &myTail);
-  // XXX Need to free memory from the error msg if one is set
-  if(myResult == SQLITE_OK)
-  {
-
-    while(sqlite3_step(myPreparedStatement) == SQLITE_ROW)
-    {
-      QString mySrsId = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement,0));
-      QString myProj4String = QString::fromUtf8((char *)sqlite3_column_text(myPreparedStatement, 1));
-      if (this->equals(myProj4String))
-      {
-	QgsDebugMsg("QgsSpatialRefSys::findMatchingProj -------> MATCH FOUND in user qgis.db srsid: " + mySrsId);
-        // close the sqlite3 statement
-        sqlite3_finalize(myPreparedStatement);
-        sqlite3_close(myDatabase);
-        return mySrsId.toLong();
-      }
-      else
-      {
-        //std::cout << " Not matched : " << myProj4String << std::endl;
-      }
-    }
-  }
-  QgsLogger::warning("QgsSpatialRefSys::findMatchingProj -------> no match found in user db");
-
-  // close the sqlite3 statement
-  sqlite3_finalize(myPreparedStatement);
-  sqlite3_close(myDatabase);
-  return 0;
-
-}
-
-bool QgsSpatialRefSys::operator==(const QgsSpatialRefSys &theSrs)
-{
-  //qWarning("QgsSpatialRefSys::operator==(const QgsSpatialRefSys &theSrs) called ");
-  //simply delegate to the overloaded == operator  below...
-  return this->equals(theSrs.mProj4String);
-
-}
-
-bool QgsSpatialRefSys::equals(QString theProj4CharArray)
-{
-  //qWarning("QgsSpatialRefSys::operator==(const char *theProj4CharArray) called ");
-  bool myMatchFlag = false; //guilty until proven innocent
-
-  /* Here are the possible OGR error codes :
-     typedef int OGRErr;
-
-     #define OGRERR_NONE                0
-     #define OGRERR_NOT_ENOUGH_DATA     1    --> not enough data to deserialize
-     #define OGRERR_NOT_ENOUGH_MEMORY   2
-     #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
-     #define OGRERR_UNSUPPORTED_OPERATION 4
-     #define OGRERR_CORRUPT_DATA        5
-     #define OGRERR_FAILURE             6
-     #define OGRERR_UNSUPPORTED_SRS     7 */
-
-  //get the wkt into ogr
-  //this is really ugly but we need to get a QString to a char**
-  const char *myCharArrayPointer1 = mProj4String.latin1();
-
-  //note that the proj strings above do not neccessarily need to be exactly the
-  //same for the projections they define to be equivalent, which is why I dont just
-  //compare the proj parameter strings and return the result
-
-
-  //create the sr and populate it from a wkt proj definition
-  OGRSpatialReference myOgrSpatialRef1;
-  OGRSpatialReference myOgrSpatialRef2;
-  OGRErr myInputResult1 = myOgrSpatialRef1.importFromProj4(  myCharArrayPointer1 );
-  OGRErr myInputResult2 = myOgrSpatialRef2.importFromProj4(  theProj4CharArray.latin1() );
-
-  if (myOgrSpatialRef1.IsGeographic() && myOgrSpatialRef2.IsGeographic())
-  {
-//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are geographic ");
-    myMatchFlag = myOgrSpatialRef1.IsSameGeogCS(&myOgrSpatialRef2);
-  }
-  else if (myOgrSpatialRef1.IsProjected() && myOgrSpatialRef2.IsProjected())
-  {
-//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are projected ");
-    myMatchFlag = myOgrSpatialRef1.IsSame(&myOgrSpatialRef2);
-  } else {
-//    qWarning("QgsSpatialRefSys::operator== srs1 and srs2 are different types ");
-    myMatchFlag = false;
-  }
-
-  //find out the units:
-  /* Not needed anymore here - keeping here as a note because I am gonna use it elsewhere
-  const char *myUnitsArrayPointer1;
-  const char *myUnitsArrayPointer2;
-  OGRErr myUnitsValid1 = myOgrSpatialRef1.GetLinearUnits(&myUnitsArrayPointer1 );
-  OGRErr myUnitsValid2 = myOgrSpatialRef2.GetLinearUnits(&myUnitsArrayPointer2 );
-  QString myUnitsString1(myUnitsArrayPointer1);
-  QString myUnitsString2(myUnitsArrayPointer2);
-  */
-
-
-
-
-  //placeholder to be replaced with ogr tests
-  if (myMatchFlag)
-  {
-//    qWarning("QgsSpatialRefSys::operator== result: srs's are equal ");
-  }
-  else
-  {
-//    qWarning("QgsSpatialRefSys::operator== result: srs's are not equal ");
-  }
-  return myMatchFlag;
-}
-
-OGRSpatialReference QgsSpatialRefSys::toOgrSrs()
-{
-  OGRSpatialReference myOgrSpatialRef1;
-  OGRErr myInputResult1 = myOgrSpatialRef1.importFromProj4(mProj4String.latin1());
-  return myOgrSpatialRef1;
-}
-
-bool QgsSpatialRefSys::readXML( QDomNode & theNode )
-{
-  QgsDebugMsg("Reading Spatial Ref Sys from xml ------------------------!");
-     QDomNode myNode = theNode.namedItem("proj4");
-     QDomElement myElement = myNode.toElement();
-     setProj4String(myElement.text());
-
-     myNode = theNode.namedItem("srsid");
-     myElement = myNode.toElement();
-     setSrsId(myElement.text().toLong());
-
-     myNode = theNode.namedItem("srid");
-     myElement = myNode.toElement();
-     setSrid(myElement.text().toLong());
-
-     myNode = theNode.namedItem("epsg");
-     myElement = myNode.toElement();
-     setEpsg(myElement.text().toLong());
-
-     myNode = theNode.namedItem("description");
-     myElement = myNode.toElement();
-     setDescription(myElement.text());
-
-     myNode = theNode.namedItem("projectionacronym");
-     myElement = myNode.toElement();
-     setProjectionAcronym(myElement.text());
-
-     myNode = theNode.namedItem("ellipsoidacronym");
-     myElement = myNode.toElement();
-     setEllipsoidAcronym(myElement.text());
- 
-     myNode = theNode.namedItem("geographicflag");
-     myElement = myNode.toElement();
-     if (myElement.text().compare("true"))
-     {
-       setGeographicFlag(true);
-     }
-     else
-     {
-       setGeographicFlag(false);
-     }
-     //make sure the map units have been set
-
-     setMapUnits();
-
-     //@TODO this srs needs to be validated!!!
-     mIsValidFlag=true;//shamelessly hard coded for now
-      
-#ifdef WIN32
-	 return true;
-#endif
-
-}
-
-bool QgsSpatialRefSys::writeXML( QDomNode & theNode, QDomDocument & theDoc )
-{
-
-  QDomElement myLayerNode = theNode.toElement();
-  QDomElement mySrsElement  = theDoc.createElement( "spatialrefsys" );
-  
-  QDomElement myProj4Element  = theDoc.createElement( "proj4" );
-  myProj4Element.appendChild(theDoc.createTextNode( proj4String()));
-  mySrsElement.appendChild(myProj4Element);
-  
-  QDomElement mySrsIdElement  = theDoc.createElement( "srsid" );
-  mySrsIdElement.appendChild(theDoc.createTextNode( QString::number(srsid())));
-  mySrsElement.appendChild(mySrsIdElement);
-
-  QDomElement mySridElement  = theDoc.createElement( "srid" );
-  mySridElement.appendChild(theDoc.createTextNode( QString::number(srid())));
-  mySrsElement.appendChild(mySridElement);
-
-  QDomElement myEpsgElement  = theDoc.createElement( "epsg" );
-  myEpsgElement.appendChild(theDoc.createTextNode( QString::number(epsg())));
-  mySrsElement.appendChild(myEpsgElement);
-
-  QDomElement myDescriptionElement  = theDoc.createElement( "description" );
-  myDescriptionElement.appendChild(theDoc.createTextNode( description()));
-  mySrsElement.appendChild(myDescriptionElement);
-
-  QDomElement myProjectionAcronymElement  = theDoc.createElement( "projectionacronym" );
-  myProjectionAcronymElement.appendChild(theDoc.createTextNode( projectionAcronym()));
-  mySrsElement.appendChild(myProjectionAcronymElement);
-
-  QDomElement myEllipsoidAcronymElement  = theDoc.createElement( "ellipsoidacronym" );
-  myEllipsoidAcronymElement.appendChild(theDoc.createTextNode( ellipsoidAcronym()));
-  mySrsElement.appendChild(myEllipsoidAcronymElement);
-
-  QDomElement myGeographicFlagElement  = theDoc.createElement( "geographicflag" );
-  QString myGeoFlagText = "false";
-  if (geographicFlag())
-  {
-    myGeoFlagText="true";
-  }
-    
-  myGeographicFlagElement.appendChild(theDoc.createTextNode( myGeoFlagText ));
-  mySrsElement.appendChild(myGeographicFlagElement);
-
-  myLayerNode.appendChild( mySrsElement );
-#ifdef WIN32
-  return true;
-#endif
-
-}
-
-
-
-//
-// Static helper methods below this point only please!
-//
-
-
-// Returns the whole proj4 string for the selected srsid
-//this is a static method!
-QString QgsSpatialRefSys::getProj4FromSrsId(const int theSrsId)
-{
-
-      QString myDatabaseFileName;
-      QString myProjString;
-      QString mySql = "select parameters from tbl_srs where srs_id = ";
-      mySql += QString::number(theSrsId);
-
-      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :  mySrsId = " + QString::number(theSrsId));
-      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :  USER_PROJECTION_START_ID = " +\
-QString::number(USER_PROJECTION_START_ID));
-      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId :Selection sql : " + mySql);
-	  
-      //
-      // Determine if this is a user projection or a system on
-      // user projection defs all have srs_id >= 100000
-      //
-      if (theSrsId >= USER_PROJECTION_START_ID)
-      {
-        myDatabaseFileName = QgsApplication::qgisUserDbFilePath();
-        QFileInfo myFileInfo;
-        myFileInfo.setFile(myDatabaseFileName);
-        if ( !myFileInfo.exists( ) ) //its unlikely that this condition will ever be reached
-        {
-	  QgsLogger::critical("QgsSpatialRefSys::getProj4FromSrsId :  users qgis.db not found");
-          return NULL;
-        }
-      }
-      else //must be  a system projection then
-      {
-        myDatabaseFileName = QgsApplication::srsDbFilePath();
-      }
-      QgsDebugMsg("QgsSpatialRefSys::getProj4FromSrsId db = " + myDatabaseFileName);
-
-      sqlite3 *db;
-      int rc;
-      rc = openDb(myDatabaseFileName, &db);
-      if(rc)
-      {
-	return QString();
-      }
-      // prepare the sql statement
-      const char *pzTail;
-      sqlite3_stmt *ppStmt;
-
-      rc = sqlite3_prepare(db, mySql.utf8(), mySql.length(), &ppStmt, &pzTail);
-      // XXX Need to free memory from the error msg if one is set
-
-      if(rc == SQLITE_OK)
-      {
-        if(sqlite3_step(ppStmt) == SQLITE_ROW)
-        {
-          myProjString = QString::fromUtf8((char*)sqlite3_column_text(ppStmt, 0));
-        }
-      }
-      // close the statement
-      sqlite3_finalize(ppStmt);
-      // close the database
-      sqlite3_close(db);
-
-      //assert(myProjString.length() > 0);
-      return myProjString;
-}
-
-int QgsSpatialRefSys::openDb(QString path, sqlite3 **db)
-{
-  QgsDebugMsg("QgsSpatialRefSys::openDb path = " + path);
-  int myResult = sqlite3_open(path.toLocal8Bit().data(), db);
-
-  if(myResult)
-  {
-    QgsLogger::critical("Can't open database: " + QString(sqlite3_errmsg(*db)));
-    // XXX This will likely never happen since on open, sqlite creates the
-    //     database if it does not exist.
-    // ... unfortunately it happens on Windows
-    QMessageBox::warning(0, QObject::tr("Error"), QObject::tr("Could not open SRS database ")
-                + path + QObject::tr("<br>Error(") + QString::number(myResult)
-                + "): " + QString(sqlite3_errmsg(*db)) ); 
-    
-  }
-  return myResult;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsspatialrefsys.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,421 +0,0 @@
-#ifndef QGSSPATIALREFSYS_H
-#define QGSSPATIALREFSYS_H
-
-//Standard includes
-#include <ostream>
-#include <istream>
-
-//qt includes
-#include <QString>
-#include <QMap>
-class QDomNode;
-class QDomDocument;
-
-#include <sqlite3.h>
-
-//qgis includes
-#include <qgis.h>
-
-//gdal and ogr includes
-#include <ogr_api.h>
-#include <ogr_spatialref.h>
-#include <cpl_error.h>
-
-/*!
- * \class QgsSpatialRefSys
- * \brief Class for storing a spatial reference system (SRS)
- */ 
-class QgsSpatialRefSys
-{
-    public:
-        //! Default constructor
-
-        QgsSpatialRefSys();
-        /*! 
-         * Constructs a SRS object from a WKT string
-         * @param theWkt A String containing a valid Wkt def
-         */
-        explicit QgsSpatialRefSys(QString theWkt);
-
-        /*!
-         * Constructs a SRS object from the following component parts
-         *
-         * @param  long theSrsId The internal sqlite3 srs.db primary key for this srs 
-         * @param  QString the Description A textual description of the srs.
-         * @param  QString theProjectionAcronym The official proj4 acronym for the projection family
-         * @param  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
-         * @param  QString theProj4String Proj4 format specifies (excluding proj and ellips) that define this srs.
-         * @param  bool theGeoFlag Whether this is a geographic or projected coordinate system
-         * @param  long theSRID If available, the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
-         * @param  long theEpsg If available the ESPG identifier for this srs (defaults to 0)
-         *
-         * @note THIS CTOR WILL PROABBLY BE REMOVED!!!!!!!!!!!!!!!!
-         */
-        QgsSpatialRefSys(long theSrsId, 
-                QString theDescription, 
-                QString theProjectionAcronym, 
-                QString theEllipsoidAcronym, 
-                QString theProj4String,
-                long theSRID,
-                long theEpsg,
-                bool theGeoFlag);
-
-         enum SRS_TYPE {QGIS_SRSID,POSTGIS_SRID, EPSG};
-         /*! Use this constructor when you want to create a SRS object using 
-          *  a postgis SRID, an EPSG id or a QGIS SRS_ID.
-          * @param theId The ID no valid for the chosen coordinate system id type
-          * @param theType One of the types described in QgsSpatialRefSys::SRS_TYPE
-          */
-         QgsSpatialRefSys(const long theId, SRS_TYPE theType=POSTGIS_SRID);
-
-         // Assignment operator
-         QgsSpatialRefSys& operator=(const QgsSpatialRefSys& srs);
-
-        // Misc helper functions -----------------------
-
-        void createFromId(const long theId, SRS_TYPE theType=POSTGIS_SRID);
-
-        /**
-         * \brief Set up this SRS from the given OGC CRS
-         *
-         * Sets this SRS to the given OGC WMS-format Coordinate Reference Systems.
-         *
-         * \note This function only deals with EPSG labels only at this time.
-         *
-         * \retval FALSE if not given an EPSG label
-         */
-        bool createFromOgcWmsCrs(QString theCrs);
-
-        /*! Set up this srs by fetching the appropriate information from the 
-         * sqlite backend. First the system level read only srs.db will be checked
-         * and then the users ~/.qgis/qgis.db database will be checked for a match.
-         * @note Any members will be overwritten during this process.
-         * @param theSrid The postgis SRID for the desired spatial reference system.
-         */
-        bool createFromSrid(const long theSrid);
-
-        /*! Set up this srs using a WKT spatial ref sys definition. 
-         * The wkt will be converted to a proj4 string using OGR helper
-         * functions. After this the srs databasses will be searched for matches.
-         * First the system level read only srs.db will be checked
-         * and then the users ~/.qgis/qgis.db database will be checked for a match.
-         * @note Any members will be overwritten during this process.
-         * @note SRID and EPSG may be blank if no match can be found on srs db.
-         * @param theWkt The WKT for the desired spatial reference system.
-         * @return bool TRUE if sucess else false
-         */
-        bool createFromWkt(const QString theWkt);
-
-        /*! Set up this srs by fetching the appropriate information from the 
-         * sqlite backend. First the system level read only srs.db will be checked
-         * and then the users ~/.qgis/qgis.db database will be checked for a match.
-         * @note Any members will be overwritten during this process.
-         * @param theEpsg The EPSG for the desired spatial reference system.
-         * @return bool TRUE if sucess else false
-         */
-        bool createFromEpsg(const long theEpsg);
-
-        /*! Set up this srs by fetching the appropriate information from the 
-         * sqlite backend. If the srsid is < 100000, only the system srs.db 
-         * will be checked. If the srsid > 100000 the srs will be retrieved from 
-         * the ~/.qgis/qgis.db
-         * @note Any members will be overwritten during this process.
-         * @param theSrsId The QGIS SrsId for the desired spatial reference system.
-         * @return bool TRUE if sucess else false
-         */
-        bool createFromSrsId (const long theSrsId);
-
-        /*! Set up this srs by passing it a proj4 style formatted string.
-         * The string will be parsed and the projection and ellipsoid
-         * members set and the remainder of the proj4 string will be stored
-         * in the parameters member. The reason for this is so that we
-         * can easily present the user with 'natural language' representation
-         * of the projection and ellipsoid by looking them up in the srs.bs sqlite 
-         * database. Also having the ellpse and proj elements stripped out
-         * is hepful to speed up globbing queries (see below).
-         * 
-         * We try to match the proj string to and srsid using the following logic: 
-         *
-         * - perform a whole text search on srs name (if not null). The srs name will 
-         *   have been set if this method has been delegated to from createFromWkt.
-         * - if the above does not match perform a whole text search on proj4 string (if not null)
-         * - if none of the above match convert the proj4 string to an OGR SRS
-         *   then check if its a geocs or a proj cs (using ogr isGeographic)
-         *   then sequentially walk through the database (first users qgis.db srs tbl then
-         *   system srs.db tbl), converting each entry into an ogr srs and using isSame
-         *   or isSameGeocs (essentially calling the == overloaded operator). We'll try to 
-         *   be smart about this and first parse out the proj and ellpse strings and only 
-         *   check for a match in entities that have the same ellps and proj entries so 
-         *   that it doesnt munch yer cpu so much.
-         *
-         * @note If the srs was not matched, we will create a new entry on the users tbl_srs 
-         *    for this srs.
-         *
-         * @param theProjString A proj4 format string
-         * @return bool TRUE if sucess else false
-         */
-        bool createFromProj4 (const QString theProjString);
-
-        /*! Find out whether this SRS is correctly initialised and useable */
-        bool isValid() const;
-        /*! Perform some validation on this SRS. If the sts doesnt validate the
-         *  default behaviour settings for layers with unknown SRS will be 
-         * consulted and acted on accordingly. By hell or high water this
-         * method will do its best to make sure that this SRS is valid - even
-         * if that involves resorting to a hard coded default of geocs:wgs84.
-         *
-         * @note It is not usually neccessary to use this function, unless you
-         * are trying to force theis srs to be valid.
-         */
-        void validate();
-
-        /*! This is a globbing function to try to find a record in the database
-         *  that matches a SRS defined only by a proj4string. The goal is to 
-         *  learn what the tbl_srs.srs_id value is for the SRS. Internally 
-         *  the source SRS is converted to and OGR srs object using the proj4string
-         *  and then every record in the database that matches projection and ellipsoid
-         *  will be converted to an OGR srs in turn and compared to the source SRS.
-         *  There are some gotchas with using ogr isSame() srs comparison, but
-         *  its more effective than using straight string comparison of proj4params.
-         *  @note The ellipsoid and projection acronyms must be set as well as the proj4string!
-         *  @return lomg the SrsId of the matched SRS
-         */
-        long findMatchingProj();
-         
-        /*! A string based associative array used for passing records around */
-        typedef QMap<QString, QString> RecordMap;
-        /*! Get a record from the srs.db or qgis.db backends, given an sql statment.
-         * @note only handles queries that return a single record.
-         * @note it will first try the system srs.db then the users qgis.db!
-         * @param QString The sql query to execute
-         * @return QMap An associative array of field name <-> value pairs
-         */
-         RecordMap getRecord(QString theSql);
-        /*! Overloaded == operator used to compare to SRS's.
-         *  Internally it will delegate to the equals method described below
-         */
-         bool operator==(const QgsSpatialRefSys &theSrs);
-        /*! Overloaded == operator used to compare to SRS's.
-         *  Internally it will use OGR isSameSRS() or isSameGeoSRS() methods as appropriate.
-         *  Additionally logic may also be applied if the result from the OGR methods
-         *  is inconclusive.
-         */
-         bool equals(QString theProj4String);
-         /*! A helper to get an ogr representation of this srs
-          * @return OGRSpatialReference
-          */
-         OGRSpatialReference toOgrSrs();
-
-         /*! Restores state from the given DOM node.
-         * @param theNode The node from which state will be restored
-         * @return bool True on success, False on failure
-         */
-          bool readXML( QDomNode & theNode );
-        /*! Stores state to the given DOM node in the given document.
-         * Below is an example of the generated tag.
-         *  <spatialrefsys>
-         *      <proj4>+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs </proj4>
-         *       <srsid>2585</srsid>
-         *       <srid>4326</srid>
-         *       <epsg>4326</epsg>
-         *       <description>WGS 84</description>
-         *       <projectionacronym>longlat</projectionacronym>
-         *       <ellipsoidacronym>WGS84</ellipsoidacronym>
-         *   </spatialrefsys>
-         * @param theNode The node in which state will be restored
-         * @param theDom The document in which state will be stored
-         * @return bool True on success, False on failure
-         */
-          bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
-
-         /** A static helper function to find out the proj4 string for a srsid
-           * @param int theSrsId The srsid used for the lookup
-           * @return QString The proj4 string
-         */
-         static QString getProj4FromSrsId(const int theSrsId);
-
-        // Accessors -----------------------------------
-
-         /*! Get the SrsId - if possible
-         *  @return  long theSrsId The internal sqlite3 srs.db primary key for this srs 
-         */
-        long srsid() const;
-        /*! Get the Postgis SRID - if possible.
-        *  @return  long theSRID The internal postgis SRID for this SRS
-        */
-        long srid() const;
-        /*! Get the Description
-         * @return  QString the Description A textual description of the srs.
-         * @note A zero length string will be returned if the description is uninitialised
-         */
-        QString description () const;
-        /*! Get the Projection Acronym
-         * @return  QString theProjectionAcronym The official proj4 acronym for the projection family
-         * @note A zero length string will be returned if the projectionAcronym is uninitialised
-         */
-        QString projectionAcronym() const;
-        /*! Get the Ellipsoid Acronym
-         * @return  QString theEllipsoidAcronym The official proj4 acronym for the ellipoid
-         * @note A zero length string will be returned if the ellipsoidAcronym is uninitialised
-         */
-        QString ellipsoidAcronym () const;
-        /** Get the Proj Proj4String. If proj and ellps keys are found in the parameters,
-         * they will be stripped out and the Projection and ellipsoid acronyms will be
-         * overridden with these.
-         * @return  QString theProj4String Proj4 format specifies that define this srs.
-         * @note A zero length string will be returned if the proj4String is uninitialised
-         */
-        QString proj4String() const;
-        /*! Get this Geographic? flag
-         * @return  bool theGeoFlag Whether this is a geographic or projected coordinate system
-         */
-        bool geographicFlag () const;
-        /*! Get the units that the projection is in
-         * @return QGis::units that gives the units for the coordinate system
-         */
-        QGis::units mapUnits() const;
-
-        /*! Set the postgis srid for this srs
-         * @return  long theSRID the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
-         */
-        long postgisSrid () const;
-        /*! Set the EPSG identifier for this srs
-         * @return  long theEpsg the ESPG identifier for this srs (defaults to 0)
-         */
-        long epsg () const;
-
-        // Mutators -----------------------------------
-
-        /*! Set the QGIS  SrsId
-         *  @param  long theSrsId The internal sqlite3 srs.db primary key for this srs 
-         */
-        void setSrsId(long theSrsId);
-        /*! Set the postgis srid
-         *  @param  long theSrsId The postgis spatial_ref_sys key for this srs 
-         */
-        void setSrid(long theSrid);
-        /*! Set the Description
-         * @param  QString the Description A textual description of the srs.
-         */
-        void setDescription (QString theDescription);
-        /* Set the Proj Proj4String. 
-         * @param  QString theProj4String Proj4 format specifies (excluding proj and ellips) that define this srs.
-         */
-        void setProj4String (QString theProj4String);
-        /*! Set this Geographic? flag
-         * @param  bool theGeoFlag Whether this is a geographic or projected coordinate system
-         */
-        void setGeographicFlag (bool theGeoFlag);
-        /*! Set the EPSG identifier for this srs
-         * @param  long theEpsg the ESPG identifier for this srs (defaults to 0)
-         */
-        void setEpsg (long theEpsg);
-        /*! Set the projection acronym
-         * @param QString the acronym (must be a valid proj4 projection acronym)
-         */
-        void setProjectionAcronym(QString theProjectionAcronym);
-        /*! Set the ellipsoid acronym
-         * @param QString the acronym (must be a valid proj4 ellipsoid acronym)
-         */
-        void setEllipsoidAcronym(QString theEllipsoidAcronym);
-    private:
-        // Open SQLite db and show message if ccannot be opened
-        // returns the same code as sqlite3_open
-        static int openDb ( QString path, sqlite3 **db ); 
-
-        //!The internal sqlite3 srs.db primary key for this srs 
-        long    mSrsId;
-        //!A textual description of the srs.
-        QString mDescription;
-        //!The official proj4 acronym for the projection family
-        QString mProjectionAcronym ;
-        //!The official proj4 acronym for the ellipoid
-        QString mEllipsoidAcronym;
-        //!Proj4 format specifies (excluding proj and ellips) that define this srs.
-        QString mProj4String ;
-        //!Whether this is a geographic or projected coordinate system
-        bool    mGeoFlag;
-        //! The map units
-        QGis::units mMapUnits;
-        //!If available, the Postgis spatial_ref_sys identifier for this srs (defaults to 0)
-        long    mSRID;
-        //!If available the ESPG identifier for this srs (defaults to 0)
-        long    mEpsg ;
-        //! Wehter this srs is properly defined and valid
-        bool mIsValidFlag;
-
-        //! Work out the projection units and set the appropriate local variable
-        void setMapUnits();
-};
-
-
-//! Output stream operator
-inline std::ostream& operator << (std::ostream& os, const QgsSpatialRefSys &r)
-{
-  QString mySummary ("\n\tSpatial Reference System:");
-  mySummary += "\n\t\tDescription : ";
-  if (!r.description().isNull()) 
-  {
-    mySummary += r.description();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-  mySummary += "\n\t\tProjection  : " ;
-  if (!r.projectionAcronym().isNull()) 
-  {
-    mySummary += r.projectionAcronym();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-
-  mySummary += "\n\t\tEllipsoid   : "; 
-  if (!r.ellipsoidAcronym().isNull()) 
-  {
-    mySummary += r.ellipsoidAcronym();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-
-  mySummary += "\n\t\tProj4String  : " ;
-  if (!r.proj4String().isNull()) 
-  {
-    mySummary += r.proj4String();
-  }
-  else
-  {
-    mySummary += "Undefined" ;
-  }
-  // Using streams we need to use local 8 Bit
-  return os << mySummary.toLocal8Bit().data() << std::endl;
-}
-
-
-/*
-//! Input stream operator
-inline std::istream& operator>> (std::istream& str, QgsSpatialRefSys& r)
-{
-  //std::cout << "FIXME FIXME" << __FILE__ << ":" << __LINE__ << std::endl;
-  std::string s;
-  str >> s;
-  
-  //QString srs = s.c_str();
-  // split the string into the parts to created the object
-  //QStringList parts = QStringList::split(QRegExp("\t"),srs);
-  // r.setSrid(parts[0]);
-  // r.setAuthName(parts[1]);
-  // r.setAuthSrid(parts[2]);
-  // r.setSrText(parts[3]);
-  // r.setProjText(parts[4]);
-  // r.setName(parts[5]);
-  //
-  return str;
-  
-} 
-*/
-#endif // QGSSPATIALREFSYS_H

Deleted: packages/qgis/branches/upstream/current/src/gui/qgstable.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgstable.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgstable.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,37 +0,0 @@
-/***************************************************************************
-                          qgstable.h  -  description
-                             -------------------
-    begin                : Sun Jun 30 2002
-    copyright            : (C) 2002 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgstable.h 4619 2006-01-08 23:18:32Z timlinux $ */
-
-#ifndef QGSTABLE_H
-#define QGSTABLE_H
-
-#include "qgsdatasource.h"
-
-/*! \class QgsTable
- * \brief Class to represent an attribute table related
- * to a map layer of any type
- */
-
-class QgsTable : public QgsDataSource  {
-public: 
-    //! Constructor
-	QgsTable();
-	//! Destructor
-	~QgsTable();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,232 +0,0 @@
-/***************************************************************************
-                         qgsuniquevaluedialog.cpp  -  description
-                             -------------------
-    begin                : July 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsuniquevaluedialog.cpp 6087 2006-11-15 17:35:28Z mhugent $ */
-
-#include "qgsuniquevaluedialog.h"
-#include "qgsfeature.h"
-#include "qgsfeatureattribute.h"
-#include "qgssymbol.h"
-#include "qgsuniquevaluerenderer.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-
-
-QgsUniqueValueDialog::QgsUniqueValueDialog(QgsVectorLayer* vl): QDialog(), mVectorLayer(vl), sydialog(vl)
-{
-    setupUi(this);
-    setSizeGripEnabled(true); 
-
-    //find out the fields of mVectorLayer
-    QgsVectorDataProvider *provider;
-    if (provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider()))
-    {
-	std::vector < QgsField > const & fields = provider->fields();
-	QString str;
-	
-	for (std::vector < QgsField >::const_iterator it = fields.begin(); 
-             it != fields.end(); 
-             ++it)
-        {
-	    str = (*it).name();
-	    mClassificationComboBox->insertItem(str);
-        }
-    } 
-    else
-    {
-	qWarning("Warning, data provider is null in QgsUniqueValueDialog::QgsUniqueValueDialog");
-	return;
-    }
-
-    const QgsUniqueValueRenderer* renderer = dynamic_cast < const QgsUniqueValueRenderer * >(mVectorLayer->renderer());
-    
-    if (renderer)
-    {
-	mClassBreakBox->clear();
-	
-	// XXX - mloskot - fix for Ticket #31 (bug)
-	std::list<int> attributes = renderer->classificationAttributes();
-	std::list<int>::iterator iter = attributes.begin();
-	int classattr = *iter;
-	mClassificationComboBox->setCurrentItem(classattr);
-
-	const std::list<QgsSymbol*> list = renderer->symbols();
-	//fill the items of the renderer into mValues
-	for(std::list<QgsSymbol*>::const_iterator iter=list.begin();iter!=list.end();++iter)
-	{
-	    QgsSymbol* symbol=(*iter);
-	    QString symbolvalue=symbol->lowerValue();
-	    QgsSymbol* sym=new QgsSymbol(mVectorLayer->vectorType(), symbol->lowerValue(), symbol->upperValue(), symbol->label());
-	    sym->setPen(symbol->pen());
-	    sym->setBrush(symbol->brush());
-	    sym->setNamedPointSymbol(symbol->pointSymbolName());
-	    sym->setPointSize(symbol->pointSize());
-	    mValues.insert(std::make_pair(symbolvalue,sym));
-	    mClassBreakBox->insertItem(symbolvalue);
-	}
-    }
-    else
-    {
-	changeClassificationAttribute(0);	
-    }
-
-    QObject::connect(mClassificationComboBox, SIGNAL(activated(int)), this, SLOT(changeClassificationAttribute(int)));
-    QObject::connect(mClassBreakBox, SIGNAL(selectionChanged()), this, SLOT(changeCurrentValue()));
-    QObject::connect(&sydialog, SIGNAL(settingsChanged()), this, SLOT(applySymbologyChanges()));
-    mSymbolWidgetStack->addWidget(&sydialog);
-    mSymbolWidgetStack->raiseWidget(&sydialog);
-    
-    mClassBreakBox->setCurrentItem(0);
-}
-
-QgsUniqueValueDialog::~QgsUniqueValueDialog()
-{
-    std::map<QString, QgsSymbol *>::iterator myValueIterator = mValues.begin();
-    while ( myValueIterator != mValues.end() )
-    {
-        delete myValueIterator->second;
-        
-        mValues.erase( myValueIterator );
-        
-        myValueIterator = mValues.begin(); // since iterator invalidated due to
-                                        // erase(), reset to new first element
-    }
-    mClassBreakBox->setCurrentItem(0);
-}
-
-void QgsUniqueValueDialog::apply()
-{
-    QgsUniqueValueRenderer *renderer = new QgsUniqueValueRenderer(mVectorLayer->vectorType());
-
-    //go through mValues and add the entries to the renderer
-    for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
-    {
-	QgsSymbol* symbol=it->second;
-	QgsSymbol* newsymbol=new QgsSymbol(mVectorLayer->vectorType(), symbol->lowerValue(), symbol->upperValue(), symbol->label());
-	newsymbol->setPen(symbol->pen());
-	newsymbol->setBrush(symbol->brush());
-	newsymbol->setNamedPointSymbol(symbol->pointSymbolName());
-	newsymbol->setPointSize(symbol->pointSize());
-	renderer->insertValue(it->first,newsymbol);
-    }
-
-    renderer->setClassificationField(mClassificationComboBox->currentItem());
-    mVectorLayer->setRenderer(renderer);
-    mVectorLayer->refreshLegend();
-}
-
-void QgsUniqueValueDialog::changeClassificationAttribute(int nr)
-{
-    //delete old entries
-    for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
-    {
-	delete it->second;
-    }
-    mValues.clear();
-    
-    QgsVectorDataProvider *provider = dynamic_cast<QgsVectorDataProvider *>(mVectorLayer->getDataProvider());
-    if (provider)
-    {
-	QString value;
-	std::list<int> attlist;
-	attlist.push_back(nr);
-	std::vector < QgsFeatureAttribute > vec;
-	QgsSymbol* symbol;
-
-	provider->reset();
-	QgsFeature* f;
-
-	//go through all the features and insert their value into the map and into mClassBreakBox
-	mClassBreakBox->clear();
-	while((f=provider->getNextFeature(attlist)))
-	{
-	    vec = f->attributeMap();
-	    value=vec[0].fieldValue();
-	   
-	    if(mValues.find(value)==mValues.end())
-	    {
-		symbol=new QgsSymbol(mVectorLayer->vectorType(), value);
-		mValues.insert(std::make_pair(value,symbol));
-	    }
-	    delete f;
-	}
-
-	//set symbology for all QgsSiSyDialogs
-	QColor thecolor;
-	double frac;
-
-	for(std::map<QString,QgsSymbol*>::iterator it=mValues.begin();it!=mValues.end();++it)
-	{
-	    //insert a random color
-	    int red = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-	    int green = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-	    int blue = 1 + (int) (255.0 * rand() / (RAND_MAX + 1.0));
-	    thecolor.setRgb(red, green, blue);
-	    mClassBreakBox->insertItem(it->first);
-	    QgsSymbol* sym=it->second;
-	    QPen pen;
-	    QBrush brush;
-	    if(mVectorLayer->vectorType() == QGis::Line)
-	    {
-		pen.setColor(thecolor);
-		pen.setStyle(Qt::SolidLine);
-		pen.setWidth(1);
-	    }
-	    else
-	    {
-		brush.setColor(thecolor);
-		brush.setStyle(Qt::SolidPattern);
-		pen.setColor(Qt::black);
-		pen.setStyle(Qt::SolidLine);
-		pen.setWidth(1);
-	    }
-	    sym->setPen(pen);
-	    sym->setBrush(brush);
-	}
-    }
-    mClassBreakBox->setCurrentItem(0);
-}
-
-void QgsUniqueValueDialog::changeCurrentValue()
-{
-    sydialog.blockSignals(true);//block signal to prevent sydialog from changing the current QgsRenderItem
-    Q3ListBoxItem* item=mClassBreakBox->selectedItem();
-    QString value=item->text();
-    std::map<QString,QgsSymbol*>::iterator it=mValues.find(value);
-    if(it!=mValues.end())
-    {
-	sydialog.set( it->second);
-	sydialog.setLabel(it->second->label());
-    }
-    else
-    {
-	//no entry found
-    }
-    sydialog.blockSignals(false);
-}
-
-void QgsUniqueValueDialog::applySymbologyChanges()
-{
-  Q3ListBoxItem* item=mClassBreakBox->selectedItem();
-  QString value=item->text();
-  std::map<QString,QgsSymbol*>::iterator it=mValues.find(value);
-  if(it!=mValues.end())
-  {
-      it->second->setLabel(sydialog.label());
-      it->second->setLowerValue(value);
-      sydialog.apply( it->second );
-  }
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluedialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,57 +0,0 @@
-/***************************************************************************
-                         qgsuniquevaluedialog.h  -  description
-                             -------------------
-    begin                : July 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsuniquevaluedialog.h 4878 2006-02-18 14:51:16Z mhugent $ */
-
-#ifndef QGSUNIQUEVALUEDIALOG_H
-#define QGSUNIQUEVALUEDIALOG_H
-
-#include "ui_qgsuniquevaluedialogbase.h"
-#include "qgssinglesymboldialog.h"
-#include <map>
-
-class QgsVectorLayer;
-
-
-class QgsUniqueValueDialog: public QDialog, private Ui::QgsUniqueValueDialogBase
-{
-    Q_OBJECT
- public:
-    QgsUniqueValueDialog(QgsVectorLayer* vl);
-    ~QgsUniqueValueDialog();
-
- public slots:
-     void apply();
-
- protected:
-    /**Pointer to the associated vector layer*/
-    QgsVectorLayer* mVectorLayer;
-    /**Set to store the already entered values*/
-    std::map<QString,QgsSymbol*> mValues;
-    QgsSingleSymbolDialog sydialog;
-    /**Value for which symbology settings are displayed*/
-    QString currentValue;
-
- protected slots:
-    /**Set new attribut for classification*/
-    void changeClassificationAttribute(int nr);
-    /**Changes the display of the single symbol dialog*/
-    void changeCurrentValue();
-    /**Writes changes in the single symbol dialog to the corresponding QgsSymbol*/
-    void applySymbologyChanges();
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,210 +0,0 @@
-/***************************************************************************
-                         qgsuniquevaluerenderer.cpp  -  description
-                             -------------------
-    begin                : July 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsuniquevaluerenderer.cpp 5468 2006-05-18 13:43:32Z rblazek $ */
-#include "qgsuniquevaluerenderer.h"
-#include "qgsfeatureattribute.h"
-#include "qgsfeature.h"
-#include "qgsvectorlayer.h"
-#include "qgssymbol.h"
-#include "qgssymbologyutils.h"
-#include <QDomNode>
-#include <QPainter>
-#include <QPixmap>
-#include <vector>
-
-QgsUniqueValueRenderer::QgsUniqueValueRenderer(QGis::VectorType type): mClassificationField(0)
-{
-    mVectorType = type;
-
-//call superclass method to set up selection colour
-    initialiseSelectionColor();
-
-}
-
-QgsUniqueValueRenderer::QgsUniqueValueRenderer(const QgsUniqueValueRenderer& other)
-{
-    mVectorType = other.mVectorType;
-    mClassificationField = other.mClassificationField;
-    std::map<QString, QgsSymbol*> s = other.mSymbols;
-    for(std::map<QString, QgsSymbol*>::iterator it=s.begin(); it!=s.end(); ++it)
-    {
-	QgsSymbol* s = new QgsSymbol(*(it->second));
-	insertValue(it->first, s);
-    }
-}
-
-QgsUniqueValueRenderer& QgsUniqueValueRenderer::operator=(const QgsUniqueValueRenderer& other)
-{
-    if(this != &other)
-    {
-        mVectorType = other.mVectorType;
-        mClassificationField = other.mClassificationField;
-        clearValues();
-        for(std::map<QString, QgsSymbol*>::iterator it=mSymbols.begin(); it!=mSymbols.end(); ++it)
-        {
-            QgsSymbol* s = new QgsSymbol(*(it->second));
-            insertValue(it->first, s);
-        }
-    }
-    return *this;
-}
-
-QgsUniqueValueRenderer::~QgsUniqueValueRenderer()
-{
-    for(std::map<QString,QgsSymbol*>::iterator it=mSymbols.begin();it!=mSymbols.end();++it)
-    {
-	delete it->second;
-    }
-}
-
-const std::list<QgsSymbol*> QgsUniqueValueRenderer::symbols() const
-{
-    std::list <QgsSymbol*> symbollist;
-    for(std::map<QString, QgsSymbol*>::const_iterator it = mSymbols.begin(); it!=mSymbols.end(); ++it)
-    {
-	symbollist.push_back(it->second);
-    }
-    return symbollist;
-}
-
-void QgsUniqueValueRenderer::insertValue(QString name, QgsSymbol* symbol)
-{
-    mSymbols.insert(std::make_pair(name, symbol));
-}
-
-void QgsUniqueValueRenderer::setClassificationField(int field)
-{
-    mClassificationField=field;
-}
-
-int QgsUniqueValueRenderer::classificationField()
-{
-    return mClassificationField;
-}
-    
-void QgsUniqueValueRenderer::renderFeature(QPainter* p, QgsFeature* f,QPixmap* pic, 
-	double* scalefactor, bool selected, double widthScale)
-{
-    std::vector < QgsFeatureAttribute > vec = f->attributeMap();
-    QString value = vec[0].fieldValue();
-    std::map<QString,QgsSymbol*>::iterator it=mSymbols.find(value);
-    if(it!=mSymbols.end())
-    {
-	QgsSymbol* symbol = it->second;
-
-	// Point 
-	if ( pic && mVectorType == QGis::Point ) {
-	    *pic = symbol->getPointSymbolAsPixmap(  widthScale,
-		                                       selected, mSelectionColor );
-	    
-	    if ( scalefactor ) *scalefactor = 1;
-	} 
-
-        // Line, polygon
- 	if ( mVectorType != QGis::Point )
-	{
-	    if( !selected ) 
-	    {
-		QPen pen=symbol->pen();
-		pen.setWidthF ( widthScale * pen.width() );
-		p->setPen(pen);
-		p->setBrush(symbol->brush());
-	    }
-	    else
-	    {
-		QPen pen=symbol->pen();
-		pen.setWidthF ( widthScale * pen.width() );
-		pen.setColor(mSelectionColor);
-		QBrush brush=symbol->brush();
-		brush.setColor(mSelectionColor);
-		p->setPen(pen);
-		p->setBrush(brush);
-	    }
-	}
-    }
-    else
-    {
-#ifdef QGISDEBUG
-	qWarning("Warning, no render item found in QgsUniqueValueRenderer::renderFeature");
-#endif
-    }
-    
-}
-
-void QgsUniqueValueRenderer::readXML(const QDomNode& rnode, QgsVectorLayer& vl)
-{
-    mVectorType = vl.vectorType();
-    QDomNode classnode = rnode.namedItem("classificationfield");
-    int classificationfield = classnode.toElement().text().toInt();
-    this->setClassificationField(classificationfield);
-
-    QDomNode symbolnode = rnode.namedItem("symbol");
-    while (!symbolnode.isNull())
-    {
-	QgsSymbol* msy = new QgsSymbol(mVectorType);
-	msy->readXML ( symbolnode );
-	this->insertValue(msy->lowerValue(),msy);
-	symbolnode = symbolnode.nextSibling();
-    vl.setRenderer(this);
-    }
-}
-
-void QgsUniqueValueRenderer::clearValues()
-{
-    for(std::map<QString,QgsSymbol*>::iterator it=mSymbols.begin();it!=mSymbols.end();++it)
-    {
-	delete it->second;
-    }
-    mSymbols.clear();
-}
-
-QString QgsUniqueValueRenderer::name() const
-{
-    return "Unique Value";
-}
-
-std::list<int> QgsUniqueValueRenderer::classificationAttributes() const
-{
-    std::list<int> list;
-    list.push_back(mClassificationField);
-    return list;
-}
-
-bool QgsUniqueValueRenderer::writeXML( QDomNode & layer_node, QDomDocument & document ) const
-{
-    bool returnval=true;
-    QDomElement uniquevalue=document.createElement("uniquevalue");
-    layer_node.appendChild(uniquevalue);
-    QDomElement classificationfield=document.createElement("classificationfield");
-    QDomText classificationfieldtxt=document.createTextNode(QString::number(mClassificationField));
-    classificationfield.appendChild(classificationfieldtxt);
-    uniquevalue.appendChild(classificationfield);
-    for(std::map<QString,QgsSymbol*>::const_iterator it=mSymbols.begin();it!=mSymbols.end();++it)
-    {
-	if(!(it->second)->writeXML(uniquevalue,document))
-	{
-	    returnval=false;  
-	}
-    }
-    return returnval;
-}
-
-QgsRenderer* QgsUniqueValueRenderer::clone() const
-{
-    QgsUniqueValueRenderer* r = new QgsUniqueValueRenderer(*this);
-    return r;
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsuniquevaluerenderer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,72 +0,0 @@
-/***************************************************************************
-                         qgsuniquevaluerenderer.h  -  description
-                             -------------------
-    begin                : July 2004
-    copyright            : (C) 2004 by Marco Hugentobler
-    email                : marco.hugentobler at autoform.ch
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsuniquevaluerenderer.h 4876 2006-02-18 14:37:23Z mhugent $ */
-#ifndef QGSUNIQUEVALUERENDERER_H
-#define QGSUNIQUEVALUERENDERER_H
-
-#include "qgsrenderer.h"
-#include <map>
-
-class QgsSymbol;
-class QPixmap;
-class QPainter;
-
-class QgsUniqueValueRenderer: public QgsRenderer
-{
- public:
-    QgsUniqueValueRenderer(QGis::VectorType type);
-    QgsUniqueValueRenderer(const QgsUniqueValueRenderer& other);
-    QgsUniqueValueRenderer& operator=(const QgsUniqueValueRenderer& other);
-    virtual ~QgsUniqueValueRenderer();
-    void renderFeature(QPainter* p, QgsFeature* f,QPixmap* pic, double* scalefactor, bool selected, double widthScale = 1.);
-    /**Reads the renderer configuration from an XML file
-     @param rnode the DOM node to read 
-     @param vl the vector layer which will be associated with the renderer*/
-    void readXML(const QDomNode& rnode, QgsVectorLayer& vl);
-    /**Writes the contents of the renderer to a configuration file
-     @ return true in case of success*/
-    virtual bool writeXML( QDomNode & layer_node, QDomDocument & document ) const;
-    /** Returns true, if attribute values are used by the renderer and false otherwise*/
-    bool needsAttributes() const;
-    /**Returns a list with indexes of classification attributes*/
-    std::list<int> classificationAttributes() const;
-    /**Returns the renderers name*/
-    QString name() const;
-    /**Inserts an entry into mEntries. The render items have to be created with the new operator and are automatically destroyed if not needed anymore*/
-    void insertValue(QString name, QgsSymbol* symbol);
-    /**Removes all entries from mEntries*/
-    void clearValues();
-    /**Sets the Field index used for classification*/
-    void setClassificationField(int field);
-    /**Returns the index of the classification field*/
-    int classificationField();
-    /**Return symbology items*/
-    const std::list<QgsSymbol*> symbols() const;
-    QgsRenderer* clone() const;
- protected:
-    /**Field index used for classification*/
-    int mClassificationField;
-    /**Symbols for the unique values*/
-    std::map<QString, QgsSymbol*> mSymbols;
-};
-
-inline bool QgsUniqueValueRenderer::needsAttributes() const
-{
-    return true;
-}
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,457 +0,0 @@
-/***************************************************************************
-                          qgsvectorfilewriter.cpp  
-                          generic vector file writer 
-                             -------------------
-    begin                : Sat Jun 16 2004
-    copyright            : (C) 2004 by Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsvectorfilewriter.cpp 5933 2006-10-09 02:45:38Z telwertowski $ */
-#include "qgsvectorfilewriter.h"
-
-#include <iostream>
-#include <QFile>
-#include <QString>
-#include <QTextCodec>
-
-// Includes for ogr shaprewriting
-//#include "gdal.h"
-//#include "gdal_alg.h"
-//#include "cpl_conv.h"
-#include "ogr_srs_api.h"
-#ifndef WIN32
-#include <netinet/in.h>
-#endif
-
-QgsVectorFileWriter::QgsVectorFileWriter(QString theOutputFileName, QString fileEncoding, QgsVectorLayer * theVectorLayer)
-{
-  std::cout << "QgsVectorFileWriter constructor called with " << theOutputFileName.toLocal8Bit().data() << 
-      " and vector layer : " << theVectorLayer->getLayerID().toLocal8Bit().data() << std::endl;
-  //const char *mOutputFormat = "ESRI Shapefile";
-  mOutputFormat = "ESRI Shapefile";
-  //const char *theOutputFileName = "ogrtest.shp";
-  mOutputFileName = theOutputFileName;
-
-  QTextCodec* ncodec=QTextCodec::codecForName(fileEncoding.toLocal8Bit().data());
-  if(ncodec)
-    {
-      mEncoding=ncodec;
-    }
-  else
-    {
-#ifdef QGISDEBUG
-      qWarning("error finding QTextCodec in QgsVectorFileWriter ctor");
-#endif
-    }
-
-  //
-  // We should retrieve the geometry type from the vector layer!
-  //
-
-
-
-  mInitialisedFlag = false;
-  
-}
-
-QgsVectorFileWriter::QgsVectorFileWriter(QString theOutputFileName, QString fileEncoding, OGRwkbGeometryType theGeometryType)
-{
-  std::cout << "QgsVectorFileWriter constructor called with " << theOutputFileName.toLocal8Bit().data() <<  " and no input vector layer "  << std::endl;
-  mOutputFormat = "ESRI Shapefile"; //hard coded for now!
-  QTextCodec* ncodec=QTextCodec::codecForName(fileEncoding.toLocal8Bit().data());
-  if(ncodec)
-    {
-      mEncoding=ncodec;
-    }
-  else
-    {
-#ifdef QGISDEBUG
-      qWarning("error finding QTextCodec in QgsVectorFileWriter ctor");
-#endif
-    }
-  mOutputFileName = theOutputFileName; 
-  mGeometryType = theGeometryType;
-  mInitialisedFlag = false;
-}
-
-QgsVectorFileWriter::~QgsVectorFileWriter()
-{
-  OGR_DS_Destroy( mDataSourceHandle );
-  //GDALClose( hSrcDS );
-}
-
-bool QgsVectorFileWriter::initialise()
-{
-  // Valid OGRwkbGeometryType as defined in ogr_core.h
-  //    wkbUnknown = 0,             /* non-standard */
-  //    wkbPoint = 1,               /* rest are standard WKB type codes */
-  //    wkbLineString = 2,
-  //    wkbPolygon = 3,
-  //    wkbMultiPoint = 4,
-  //    wkbMultiLineString = 5,
-  //    wkbMultiPolygon = 6,
-  //    wkbGeometryCollection = 7,
-  //    wkbNone = 100,              /* non-standard, for pure attribute records */
-  //    wkbLinearRing = 101,        /* non-standard, just for createGeometry() */
-  //    wkbPoint25D = 0x80000001,   /* 2.5D extensions as per 99-402 */
-  //    wkbLineString25D = 0x80000002,
-  //    wkbPolygon25D = 0x80000003,
-  //    wkbMultiPoint25D = 0x80000004,
-  //    wkbMultiLineString25D = 0x80000005,
-  //    wkbMultiPolygon25D = 0x80000006,
-  //    wkbGeometryCollection25D = 0x80000007
-
-  //
-  // The following stuff just sets up the shapefile - without writing any data to it!
-  //
-
-  //assume failure
-  mInitialisedFlag=false; 
-  
-  OGRRegisterAll();
-  OGRSFDriverH myDriverHandle = OGRGetDriverByName( mOutputFormat.toLocal8Bit().data() );
-
-  if( myDriverHandle == NULL )
-  {
-    std::cout << "Unable to find format driver named " << mOutputFormat.toLocal8Bit().data() << std::endl;
-    return false;
-  }
-
-  // Filename needs to be UTF-8 for Mac but local8Bit otherwise
-  mDataSourceHandle = OGR_Dr_CreateDataSource( myDriverHandle, QFile::encodeName(mOutputFileName).constData(), NULL );
-  if( mDataSourceHandle == NULL )
-  {
-    std::cout << "Datasource handle is null! " << std::endl;
-    return false;
-  }
-
-  //define the spatial ref system
-  OGRSpatialReferenceH mySpatialReferenceSystemHandle = NULL;
-  QgsSpatialRefSys mySpatialRefSys;
-  mySpatialRefSys.validate();
-  char* WKT;
-  QString myWKT = NULL;
-  if(mySpatialRefSys.toOgrSrs().exportToWkt(&WKT)==OGRERR_NONE)
-  {
-#ifdef QGISDEBUG
-      qWarning("export to WKT successful****************************************************************************************************");
-#endif
-      myWKT=WKT;
-#ifdef QGISDEBUG
-      qWarning(("WKT is:WKT "+myWKT).toLocal8Bit().data());
-#endif    
-  }
-  else
-  {
-#ifdef QGISDEBUG
-      qWarning("export to WKT failed*******************************************************************************************************3");
-#endif      
-  }
-
- 
-  //sample below shows how to extract srs from a raster
-  //    const char *myWKT = GDALGetProjectionRef( hBand );
-
-
-  if( !myWKT.isNull()  &&  myWKT.length() != 0 )
-  {
-    mySpatialReferenceSystemHandle = OSRNewSpatialReference( myWKT.toLocal8Bit().data() );
-  }
-  //change 'contour' to something more useful!
-#ifdef QGISDEBUG
-  qWarning(("mOutputFileName: "+mOutputFileName).toLocal8Bit().data());
-#endif //QGISDEBUG
-
-#ifdef WIN32 
-  QString outname=mOutputFileName.mid(mOutputFileName.findRev("\\")+1,mOutputFileName.length());
-#else
-  QString outname=mOutputFileName.mid(mOutputFileName.findRev("/")+1,mOutputFileName.length());
-#endif
-  
-
-#ifdef QGISDEBUG
-  qWarning(("outname: "+outname).toLocal8Bit().data());
-#endif //QGISDEBUG
-
-  // Unsure if this will be a filename or not. Use custom encoding for now.
-  mLayerHandle = OGR_DS_CreateLayer( mDataSourceHandle, mEncoding->fromUnicode(outname), 
-  mySpatialReferenceSystemHandle, mGeometryType, NULL );
-  
-  if( mLayerHandle == NULL )
-  {
-    std::cout << "Error layer handle is null!" << std::endl;
-    return false;
-  }
-  else
-  {
-    std::cout << "File handle created!" << std::endl;
-  }
-
-  // Check and fall back on encoding.
-  if (mEncoding == NULL)
-  {
-    qWarning("Failed to initialize VectorFileWriter with encoding. Falling back on utf8");
-    mEncoding = QTextCodec::codecForName("utf8");
-    Q_ASSERT(mEncoding);
-  }
-  //let other methods know we have an initialised file
-  mInitialisedFlag=true; 
-  return true;
-}
-
-bool QgsVectorFileWriter::createField(QString theName, OGRFieldType theType, int theWidthInt, int thePrecisionInt)
-{
-  if (!mInitialisedFlag)
-  {
-    return false;
-  }
-  OGRFieldDefnH myFieldDefinitionHandle;
-
-  //
-  // OGRFieldType types as defined in  ogr_core.h :
-  // 
-  //        OFTInteger = 0,
-  //        OFTIntegerList = 1,
-  //        OFTReal = 2,
-  //        OFTRealList = 3,
-  //        OFTString = 4,
-  //        OFTStringList = 5,
-  //        OFTWideString = 6,
-  //        OFTWideStringList = 7,
-  //        OFTBinary = 8
-  //
-  // XXX Is the layer encoding set here?
-  Q_ASSERT(mEncoding != NULL);
-  myFieldDefinitionHandle = OGR_Fld_Create( mEncoding->fromUnicode(theName), theType );
-  OGR_Fld_SetWidth( myFieldDefinitionHandle, theWidthInt );
-  //
-  // Set the precision where applicable!
-  //
-  switch (theType)
-  {
-      case OFTInteger:
-          //do nothing  (has no precision to set)
-        break;
-      case OFTIntegerList:
-          //XXX Find out how this is used!!!!!!!
-          break;
-      case OFTReal:
-          OGR_Fld_SetPrecision( myFieldDefinitionHandle, thePrecisionInt );
-          break;
-      case OFTRealList:
-          //XXX Find out how this is used!!!!!!!
-          break;
-      case OFTString:
-          break;
-      case OFTStringList:
-          //XXX Find out how this is used!!!!!!!
-          break;
-      case OFTWideString:
-          break;
-      case OFTWideStringList:
-          //XXX Find out how this is used!!!!!!!
-          break;
-      case OFTBinary:
-          break;
-  }
-
-  OGR_L_CreateField( mLayerHandle, myFieldDefinitionHandle, FALSE );
-  OGR_Fld_Destroy( myFieldDefinitionHandle );
-  
-  return true;
-}
-
-bool QgsVectorFileWriter::writePoint(QgsPoint * thePoint)
-{
-    bool returnvalue=true;
-    //check the output file has been initialised
-    if (!mInitialisedFlag)
-    {
-	std::cout << "Vector file writer not initialised yet. Initialise first before calling writePoint!" << std::endl;
-	return false;
-    }
-    //check the geomtry of the output file is compatible
-    if (mGeometryType != wkbPoint)
-    {
-	std::cout << "Vector file writer geometry type is not compatible with writePoint!" << std::endl;
-	return false;
-    }
-    
-    OGRFeatureDefnH fdef=OGR_L_GetLayerDefn(mLayerHandle);
-    OGRFeatureH fhand= OGR_F_Create( fdef );
-    OGRGeometryH geometryh=OGR_G_CreateGeometry(wkbPoint);
-    OGR_G_AddPoint( geometryh, thePoint->x(), thePoint->y(), 0 );
-    
-    if(OGR_F_SetGeometryDirectly(fhand, geometryh )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Set geometry failed");
-#endif
-	returnvalue=false;
-    }
-    
-    if(OGR_L_CreateFeature( mLayerHandle, fhand )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Creation of the point failed");
-#endif  
-	returnvalue=false;
-    }
-    
-    if(OGR_L_SyncToDisk( mLayerHandle )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Sync to disk failed");
-#endif 
-	returnvalue=false;
-    }
-    OGR_F_Destroy( fhand );  
-    return returnvalue;
-}
-
-bool QgsVectorFileWriter::writeLine(unsigned char* wkb, int size)
-{
-    bool returnvalue=true;
-    //add endianness
-    int endianval = endian();
-    memcpy(&wkb[0],&endianval,1);
-    //check the output file has been initialised
-    if (!mInitialisedFlag)
-    {
-	std::cout << "Vector file writer not initialised yet. Initialise first before calling writePoint!" << std::endl;
-	return false;
-    }
-    //check the geomtry of the output file is compatible
-    if (mGeometryType != wkbLineString)
-    {
-	std::cout << "Vector file writer geometry type is not compatible with writePoint!" << std::endl;
-	return false;
-    }
-
-    OGRFeatureDefnH fdef=OGR_L_GetLayerDefn(mLayerHandle);
-    OGRFeatureH fhand= OGR_F_Create( fdef );
-    OGRGeometryH geometryh=OGR_G_CreateGeometry(wkbLineString);
-    
-    if(OGR_G_ImportFromWkb(geometryh, wkb, size)!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("wkb import failed");
-#endif
-	returnvalue=false;
-    }
-
-    if(OGR_F_SetGeometryDirectly(fhand, geometryh )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Set geometry failed");
-#endif
-	returnvalue=false;
-    }
-
-    if(OGR_L_CreateFeature( mLayerHandle, fhand )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Creation of the point failed");
-#endif    
-	returnvalue=false;
-    }
-    
-    if(OGR_L_SyncToDisk( mLayerHandle )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Sync to disk failed");
-#endif 
-	returnvalue=false;
-    }
-    OGR_F_Destroy( fhand );  
-    return returnvalue;
-}
-
-bool QgsVectorFileWriter::writePolygon(unsigned char* wkb, int size)
-{
-    bool returnvalue = true;
-    //add endianness
-    int endianval = endian();
-    memcpy(&wkb[0],&endianval,1);
-    //check the output file has been initialised
-    if (!mInitialisedFlag)
-    {
-	std::cout << "Vector file writer not initialised yet. Initialise first before calling writePoint!" << std::endl;
-	return false;
-    }
-    //check the geomtry of the output file is compatible
-    if (mGeometryType != wkbPolygon)
-    {
-	std::cout << "Vector file writer geometry type is not compatible with writePoint!" << std::endl;
-	return false;
-    }
-
-    OGRFeatureDefnH fdef=OGR_L_GetLayerDefn(mLayerHandle);
-    OGRFeatureH fhand= OGR_F_Create( fdef );
-    OGRGeometryH geometryh=OGR_G_CreateGeometry(wkbPolygon);
-    
-    if(OGR_G_ImportFromWkb(geometryh, wkb, size)!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("wkb import failed");
-#endif
-	returnvalue = false;
-    }
-
-    if(OGR_F_SetGeometryDirectly(fhand, geometryh )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Set geometry failed");
-#endif
-	returnvalue = false;
-    }
-
-    if(OGR_L_CreateFeature( mLayerHandle, fhand )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Creation of the point failed");
-#endif      
-	returnvalue = false;
-    }
-    
-    if(OGR_L_SyncToDisk( mLayerHandle )!=OGRERR_NONE)
-    {
-#ifdef QGISDEBUG
-	qWarning("Sync to disk failed");
-#endif 
-	returnvalue = false;
-    }
-    OGR_F_Destroy( fhand );  
-    return true;
-    
-}
-
-int QgsVectorFileWriter::endian()
-{
-#ifdef WIN32
-  return NDR;
-#else
-    // XXX why re-calculate this all the time?  Why not just calculate this
-    // XXX once and return the value?  For that matter, some machines have
-    // XXX endian.h, which stores the constant variable for local endian-ness.
-    if ( 23 == htons( 23 ) )
-    {
-        // if host byte order is same as network (big-endian) byte order, then
-        // this is a big-endian environment
-        return XDR;
-    }
-    
-    // otherwise this must be little-endian
-
-    return NDR;
-#endif
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorfilewriter.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,78 +0,0 @@
-/***************************************************************************
-                     qgsvectorfilewriter.h -  description
-                             -------------------
-    begin                : Jun 6 2004
-    copyright            : (C) 2004 by Tim Sutton
-    email                : tim at linfiniti.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsvectorfilewriter.h 4992 2006-03-10 03:11:06Z g_j_m $ */
-#ifndef _QGSVECTORFILEWRITER_H_
-#define _QGSVECTORFILEWRITER_H_
-
-// qgis includes
-#include "qgspoint.h"
-#include "qgsvectorlayer.h"
-
-//qt includes
-#include <QString>
-
-// OGR Includes
-#include "ogr_api.h"
-
-class QgsVectorFileWriter
-{
-    public:
-  QgsVectorFileWriter(QString theOutputFileName, QString fileEncoding, QgsVectorLayer * theVectorLayer);
-        QgsVectorFileWriter(QString theOutputFileName, QString fileEncoding, OGRwkbGeometryType theGeometryType);
-        ~QgsVectorFileWriter() ;
-	/**Writes a point to the file*/
-        bool writePoint(QgsPoint * thePoint);
-	/**Writes a line to the file
-	 @param wkb well known binary char array
-	 @param size size of the binary array
-	 @return true in case of success and false else*/
-	bool writeLine(unsigned char* wkb, int size);
-	/**Writes a polygon to the file
-	@param wkb well known binary char array
-	@param size size of the binary array
-	@return true in case of success and false else*/ 
-	bool writePolygon(unsigned char* wkb, int size);
-        //! Add a new field to the output attribute table
-        bool createField(QString theName, OGRFieldType theType, int theWidthInt=0, int thePrecisionInt=0);
-        //! creates the output file etc...
-        bool initialise();
-    private:
-        //! current record number
-        int mCurrentRecInt;    
-        //! file name to be written to 
-        QString mOutputFileName;
-        //! file type to be written to
-        QString mOutputFormat;
-        //! Encodionf for the layer attributes and other properties.
-        QTextCodec *mEncoding;
-        //! Ogr handle to the output datasource
-        OGRDataSourceH mDataSourceHandle;
-        //! Ogr handle to the spatial layer (e.g. .shp) parrt of the datasource
-        OGRLayerH mLayerHandle;
-        //! The geometry type for the output file
-        OGRwkbGeometryType mGeometryType;
-        //! Whether the output gile has been initialised. Some operations require this to be true before they will run
-        bool mInitialisedFlag;
-	enum ENDIAN
-	    {
-		NDR = 1,
-		XDR = 0
-	    };
-	/** Return endian-ness for this layer*/
-	int endian();
-};
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3667 +0,0 @@
-/***************************************************************************
-                               qgsvectorlayer.cpp
-  This class implements a generic means to display vector layers. The features
-  and attributes are read from the data store using a "data provider" plugin.
-  QgsVectorLayer can be used with any data store for which an appropriate
-  plugin is available.
-                              -------------------
-          begin                : Oct 29, 2003
-          copyright            : (C) 2003 by Gary E.Sherman
-          email                : sherman at mrcc.com
- 
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/*  $Id: qgsvectorlayer.cpp 6837 2007-03-27 17:51:29Z homann $ */
-
-#include <iostream>
-#include <iosfwd>
-#include <cfloat>
-#include <cstring>
-#include <cmath>
-#include <sstream>
-#include <memory>
-#include <vector>
-#include <utility>
-#include <cassert>
-#include <limits>
-
-// for htonl
-#ifdef WIN32
-#include <winsock.h>
-#else
-#include <netinet/in.h>
-#endif
-
-#include <QApplication>
-#include <QCursor>
-#include <QLibrary>
-#include <QMessageBox>
-#include <QPainter>
-#include <QPainterPath>
-#include <QPixmap>
-#include <QPolygonF>
-#include <QProgressDialog>
-#include <QString>
-#include <QSettings>
-
-#include "qgis.h" //for globals
-#include "qgisapp.h"
-#include "qgsapplication.h"
-#include "qgsattributedialog.h"
-#include "qgsattributetable.h"
-#include "qgsattributetabledisplay.h"
-#include "qgscontinuouscolorrenderer.h"
-#include "qgscoordinatetransform.h"
-#include "qgsdistancearea.h"
-#include "qgsfeature.h"
-#include "qgsfield.h"
-#include "qgsgraduatedsymbolrenderer.h"
-#include "qgslabel.h"
-#include "qgslabelattributes.h"
-#include "qgslegend.h"
-#include "qgslogger.h"
-#include "qgsmaplayerregistry.h"
-#include "qgsmaptopixel.h"
-#include "qgspoint.h"
-#include "qgsproject.h"
-#include "qgsproviderregistry.h"
-#include "qgsrect.h"
-#include "qgsrect.h"
-#include "qgsrenderer.h"
-#include "qgsrenderitem.h"
-#include "qgssinglesymbolrenderer.h"
-#include "qgsspatialrefsys.h"
-#include "qgsuniquevaluerenderer.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-#include "qgsvectorlayerproperties.h"
-#ifdef Q_WS_X11
-#include "qgsclipper.h"
-#endif
-//#include "wkbheader.h"
-
-#ifdef TESTPROVIDERLIB
-#include <dlfcn.h>
-#endif
-
-
-static const char * const ident_ = "$Id: qgsvectorlayer.cpp 6837 2007-03-27 17:51:29Z homann $";
-
-// typedef for the QgsDataProvider class factory
-typedef QgsDataProvider * create_it(const QString* uri);
-
-
-
-QgsVectorLayer::QgsVectorLayer(QString vectorLayerPath,
-    QString baseName,
-    QString providerKey)
-: QgsMapLayer(VECTOR, baseName, vectorLayerPath),
-  tabledisplay(0),
-  m_renderer(0),
-  mLabel(0),
-  m_propertiesDialog(0),
-  providerKey(providerKey),
-  valid(false),
-  myLib(0),
-  updateThreshold(0),       // XXX better default value?
-  mMinimumScale(0),
-  mMaximumScale(0),
-  mScaleDependentRender(false),
-  mEditable(false),
-  mModified(false),
-  mToggleEditingAction(0)
-{
-  // if we're given a provider type, try to create and bind one to this layer
-  if ( ! providerKey.isEmpty() )
-  {
-    setDataProvider( providerKey );
-  }
-  if(valid)
-  {
-    setCoordinateSystem();
-
-    // Default for the popup menu
-    popMenu = 0;
-
-    // Get the update threshold from user settings. We
-    // do this only on construction to avoid the penality of
-    // fetching this each time the layer is drawn. If the user
-    // changes the threshold from the preferences dialog, it will
-    // have no effect on existing layers
-    QSettings settings;
-    updateThreshold = settings.readNumEntry("Map/updateThreshold", 1000);
-  }
-} // QgsVectorLayer ctor
-
-
-
-QgsVectorLayer::~QgsVectorLayer()
-{
-  QgsDebugMsg("In QgsVectorLayer destructor");
-
-  valid=false;
-
-  if(isEditable())
-  {
-    stopEditing();
-  }
-
-  if (tabledisplay)
-  {
-    tabledisplay->close();
-    delete tabledisplay;
-  }
-  if (m_renderer)
-  {
-    delete m_renderer;
-  }
-  if (m_propertiesDialog)
-  {
-    delete m_propertiesDialog;
-  }
-  // delete the provider object
-  delete dataProvider;
-  // delete the popu pmenu
-  delete popMenu;
-  // delete the provider lib pointer
-  delete myLib;
-  delete mLabel;
-
-  // Destroy any cached geometries and clear the references to them
-  deleteCachedGeometries();
-}
-
-QString QgsVectorLayer::storageType() const
-{
-  if (dataProvider)
-  {
-    return dataProvider->storageType();
-  }
-  return 0;
-}
-
-
-QString QgsVectorLayer::capabilitiesString() const
-{
-  if (dataProvider)
-  {
-    return dataProvider->capabilitiesString();
-  }
-  return 0;
-}
-
-int QgsVectorLayer::getProjectionSrid()
-{
-  //delegate to the provider
-  if (valid)
-  {
-    QgsDebugMsg("Getting srid from provider...");
-    return dataProvider->getSrid();
-  }
-  else
-  {
-    return 0;
-  }
-}
-
-QString QgsVectorLayer::getProjectionWKT()
-{
-  //delegate to the provider
-  if (valid)
-  {
-    return dataProvider->getProjectionWKT();
-  }
-  else
-  {
-    return NULL;
-  }
-}
-
-QString QgsVectorLayer::providerType()
-{
-  return providerKey;
-}
-
-/**
- * sets the preferred display field based on some fuzzy logic
- */
-void QgsVectorLayer::setDisplayField(QString fldName)
-{
-  // If fldName is provided, use it as the display field, otherwise
-  // determine the field index for the feature column of the identify
-  // dialog. We look for fields containing "name" first and second for
-  // fields containing "id". If neither are found, the first field
-  // is used as the node.
-  QString idxName="";
-  QString idxId="";
-
-  std::vector < QgsField > fields = dataProvider->fields();
-  if(!fldName.isEmpty())
-  {
-    // find the index for this field
-    fieldIndex = fldName;
-    /*
-       for(int i = 0; i < fields.size(); i++)
-       {
-       if(QString(fields[i].name()) == fldName)
-       {
-       fieldIndex = i;
-       break;
-       }
-       }
-       */
-  }
-  else
-  {
-    int fieldsSize = fields.size();
-    for (int j = 0; j < fieldsSize; j++)
-    {
-
-      QString fldName = fields[j].name();
-      QgsDebugMsg("Checking field " + fldName + " of " + QString::number(fields.size()) + " total");
-      
-      // Check the fields and keep the first one that matches.
-      // We assume that the user has organized the data with the
-      // more "interesting" field names first. As such, name should
-      // be selected before oldname, othername, etc.
-      if (fldName.find("name", false) > -1)
-      {
-        if(idxName.isEmpty())
-        {
-          idxName = fldName;
-        }
-      }
-      if (fldName.find("descrip", false) > -1)
-      {
-        if(idxName.isEmpty())
-        {
-          idxName = fldName;
-        }
-      }
-      if (fldName.find("id", false) > -1)
-      {
-        if(idxId.isEmpty())
-        {
-          idxId = fldName;
-        }
-      }
-    }
-
-    //if there were no fields in the dbf just return - otherwise qgis segfaults!
-    if (fields.size() == 0) return;
-
-    if (idxName.length() > 0)
-    {
-      fieldIndex = idxName;
-    }
-    else
-    {
-      if (idxId.length() > 0)
-      {
-        fieldIndex = idxId;
-      }
-      else
-      {
-        fieldIndex = fields[0].name();
-      }
-    }
-
-    // set this to be the label field as well
-    setLabelField(fieldIndex);
-  }
-}
-
-void QgsVectorLayer::drawLabels(QPainter * p, QgsRect * viewExtent, QgsMapToPixel * theMapToPixelTransform)
-{
-  drawLabels(p, viewExtent, theMapToPixelTransform, 1.);
-}
-
-// NOTE this is a temporary method added by Tim to prevent label clipping
-// which was occurring when labeller was called in the main draw loop
-// This method will probably be removed again in the near future!
-void QgsVectorLayer::drawLabels(QPainter * p, QgsRect * viewExtent, QgsMapToPixel * theMapToPixelTransform, double scale)
-{
-  QgsDebugMsg("Starting draw of labels");
-
-  if ( /*1 == 1 */ m_renderer && mLabelOn)
-  {
-    bool projectionsEnabledFlag = projectionsEnabled();
-    std::list<int> attributes=m_renderer->classificationAttributes();
-    // Add fields required for labels
-    mLabel->addRequiredFields ( &attributes );
-
-    QgsDebugMsg("Selecting features based on view extent");
-
-    int featureCount = 0;
-    // select the records in the extent. The provider sets a spatial filter
-    // and sets up the selection set for retrieval
-    dataProvider->reset();
-    dataProvider->select(viewExtent);
-
-    try
-    {
-      //main render loop
-      QgsFeature *fet;
-
-      while((fet = dataProvider->getNextFeature(attributes)))
-      {
-        // Render label
-        if ( fet != 0 )
-        {
-          //don't render labels of deleted features
-          if(mDeletedFeatureIds.find(fet->featureId())==mDeletedFeatureIds.end())
-          {
-            bool sel=mSelectedFeatureIds.find(fet->featureId()) != mSelectedFeatureIds.end();
-	    if (m_renderer && m_renderer->willRenderFeature(fet)) 
-            { 
-	      mLabel->renderLabel ( p, viewExtent, *mCoordinateTransform, projectionsEnabledFlag, \
-theMapToPixelTransform, fet, sel, 0, scale);
-	    }
-          }
-        }
-        delete fet;
-        featureCount++;
-      }
-
-      //render labels of not-commited features
-      //XXX changed from std::vector to std::list in merge from 0.7 to head (TS)
-      for(std::vector<QgsFeature*>::iterator it=mAddedFeatures.begin();it!=mAddedFeatures.end();++it)
-      {
-        bool sel=mSelectedFeatureIds.find((*it)->featureId()) != mSelectedFeatureIds.end();
-	if (m_renderer && m_renderer->willRenderFeature(*it)) 
-	  {
-	    mLabel->renderLabel ( p, viewExtent, *mCoordinateTransform, projectionsEnabledFlag,
-            theMapToPixelTransform, *it, sel, 0, scale);
-	  }
-      }
-    }
-    catch (QgsCsException &e)
-    {
-      QgsLogger::critical("Error projecting label locations, caught in " + QString(__FILE__) + ", line " +QString(__LINE__));
-    }
-
-#ifdef QGISDEBUG
-    QgsLogger::debug("Total features processed", featureCount, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-    
-    // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
-    // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
-    //qApp->processEvents();
-
-  }
-}
-
-QgsRect QgsVectorLayer::inverseProjectRect(const QgsRect& r) const
-{
-  // Undo a coordinate transformation if one was in effect
-  if (projectionsEnabled())
-  { 
-    try
-    {
-      QgsPoint p1 = mCoordinateTransform->transform(r.xMin(), r.yMin(), 
-          QgsCoordinateTransform::INVERSE);
-      QgsPoint p2 = mCoordinateTransform->transform(r.xMax(), r.yMax(), 
-          QgsCoordinateTransform::INVERSE);
-#ifdef QGISDEBUG
-      QgsDebugMsg("Projections are enabled");
-      QgsDebugMsg("Rectangle was: "+r.stringRep(true));
-      QgsRect tt(p1, p2);
-      QgsDebugMsg("Inverse transformed to: "+tt.stringRep(true))
-#endif
-      return QgsRect(p1, p2);
-
-    }
-    catch (QgsCsException &e)
-    {
-      QgsLogger::critical("Inverse transform error in " + QString(__FILE__) + ", line " + QString(__LINE__));
-    }
-  }
-  // fall through for all failures
-  return QgsRect(r);
-}
-
-unsigned char* QgsVectorLayer::drawLineString(unsigned char* feature, 
-    QPainter* p,
-    QgsMapToPixel* mtp, 
-    bool projectionsEnabledFlag,
-    bool drawingToEditingCanvas)
-{
-  unsigned char *ptr = feature + 5;
-  unsigned int wkbType = *((int*)(feature+1));
-  unsigned int nPoints = *((int*)ptr);
-  ptr = feature + 9;
-  
-  bool hasZValue = (wkbType == QGis::WKBLineString25D);
-
-  std::vector<double> x(nPoints);
-  std::vector<double> y(nPoints);
-  std::vector<double> z(nPoints, 0.0);
-  
-  // Extract the points from the WKB format into the x and y vectors. 
-  for (register unsigned int i = 0; i < nPoints; ++i)
-  {
-    x[i] = *((double *) ptr);
-    ptr += sizeof(double);
-    y[i] = *((double *) ptr);
-    ptr += sizeof(double);
-  
-    if (hasZValue) // ignore Z value
-      ptr += sizeof(double);
-  }
-
-  // Transform the points into map coordinates (and reproject if
-  // necessary)
-
-  transformPoints(x, y, z, mtp, projectionsEnabledFlag);
-
-#if defined(Q_WS_X11)
-  // Work around a +/- 32768 limitation on coordinates in X11
-
-  // Look through the x and y coordinates and see if there are any
-  // that need trimming. If one is found, there's no need to look at
-  // the rest of them so end the loop at that point. 
-  for (register unsigned int i = 0; i < nPoints; ++i)
-    if (std::abs(x[i]) > QgsClipper::maxX ||
-        std::abs(y[i]) > QgsClipper::maxY)
-    {
-      QgsClipper::trimFeature(x, y, true); // true = polyline
-      nPoints = x.size(); // trimming may change nPoints.
-      break;
-    }
-#endif
-
-  // set up QPolygonF class with transformed points
-  QPolygonF pa(nPoints);
-  for (register unsigned int i = 0; i < nPoints; ++i)
-  {
-    pa[i].setX(x[i]);
-    pa[i].setY(y[i]);
-  }
-  
-#ifdef QGISDEBUGVERBOSE
-  // this is only used for verbose debug output
-  for (int i = 0; i < pa.size(); ++i)
-    {
-      QgsDebugMsgLevel("pa" + QString::number(pa.point(i).x()), 2);
-      QgsDebugMsgLevel("pa" + QString::number(pa.point(i).y()), 2);
-    }
-#endif
-
-  // The default pen gives bevelled joins between segements of the
-  // polyline, which is good enough for the moment.
-  //preserve a copy of the pen before we start fiddling with it
-  QPen pen = p->pen(); // to be kept original
-  //
-  // experimental alpha transparency
-  // 255 = opaque
-  //
-  QPen myTransparentPen = p->pen(); // store current pen
-  QColor myColor = myTransparentPen.color();
-  myColor.setAlpha(transparencyLevelInt);
-  myTransparentPen.setColor(myColor);
-  p->setPen(myTransparentPen);
-  p->drawPolyline(pa);
-
-  // draw vertex markers if in editing mode, but only to the main canvas
-  if (
-      (mEditable) &&
-      (drawingToEditingCanvas)
-     )
-    {
-      std::vector<double>::const_iterator xIt;
-      std::vector<double>::const_iterator yIt;
-      for(xIt = x.begin(), yIt = y.begin(); xIt != x.end(); ++xIt, ++yIt)
-	{
-	  drawVertexMarker((int)(*xIt), (int)(*yIt), *p);
-	}
-    }
-
-  //restore the pen
-  p->setPen(pen);
-  
-  return ptr;
-}
-
-unsigned char* QgsVectorLayer::drawPolygon(unsigned char* feature, 
-    QPainter* p, 
-    QgsMapToPixel* mtp, 
-    bool projectionsEnabledFlag,
-    bool drawingToEditingCanvas)
-{
-  typedef std::pair<std::vector<double>, std::vector<double> > ringType;
-  typedef ringType* ringTypePtr;
-  typedef std::vector<ringTypePtr> ringsType;
-
-  // get number of rings in the polygon
-  unsigned int numRings = *((int*)(feature + 1 + sizeof(int)));
-
-  if ( numRings == 0 )  // sanity check for zero rings in polygon
-    return feature + 9;
-
-  unsigned int wkbType = *((int*)(feature+1));
-  
-  bool hasZValue = (wkbType == QGis::WKBPolygon25D);
-  
-  int total_points = 0;
-
-  // A vector containing a pointer to a pair of double vectors.The
-  // first vector in the pair contains the x coordinates, and the
-  // second the y coordinates.
-  ringsType rings;
-
-  // Set pointer to the first ring
-  unsigned char* ptr = feature + 1 + 2 * sizeof(int); 
-
-  for (register unsigned int idx = 0; idx < numRings; idx++)
-  {
-    unsigned int nPoints = *((int*)ptr);
-
-    ringTypePtr ring = new ringType(std::vector<double>(nPoints),
-        std::vector<double>(nPoints));
-    ptr += 4;
-
-    // create a dummy vector for the z coordinate
-    std::vector<double> zVector(nPoints, 0.0);
-    // Extract the points from the WKB and store in a pair of
-    // vectors.
-    /*
-#ifdef QGISDEBUG
-std::cerr << "Points for ring " << idx << " ("
-<< nPoints << " points)\n";
-#endif
-*/
-    for (register unsigned int jdx = 0; jdx < nPoints; jdx++)
-    {
-      ring->first[jdx] = *((double *) ptr);
-      ptr += sizeof(double);
-      ring->second[jdx] = *((double *) ptr);
-      ptr += sizeof(double);
-      
-      if (hasZValue)
-        ptr += sizeof(double);
-      
-      /*
-#ifdef QGISDEBUG
-std::cerr << jdx << ": " 
-<< ring->first[jdx] << ", " << ring->second[jdx] << '\n';
-#endif
-*/
-    }
-    // If ring has fewer than two points, what is it then?
-    // Anyway, this check prevents a crash
-    if (nPoints < 1) 
-    {
-      QgsDebugMsg("Ring has only " + QString::number(nPoints) + " points! Skipping this ring.");
-      continue;
-    }
-
-    transformPoints(ring->first, ring->second, zVector, mtp, projectionsEnabledFlag);
-
-#if defined(Q_WS_X11)
-    // Work around a +/- 32768 limitation on coordinates in X11
-
-    // Look through the x and y coordinates and see if there are any
-    // that need trimming. If one is found, there's no need to look at
-    // the rest of them so end the loop at that point. 
-    for (register unsigned int i = 0; i < nPoints; ++i)
-    {
-      if (std::abs(ring->first[i]) > QgsClipper::maxX ||
-          std::abs(ring->second[i]) > QgsClipper::maxY)
-      {
-        QgsClipper::trimFeature(ring->first, ring->second, false);
-        /*
-#ifdef QGISDEBUG
-std::cerr << "Trimmed points (" << ring->first.size() << ")\n";
-for (int i = 0; i < ring->first.size(); ++i)
-std::cerr << i << ": " << ring->first[i] 
-<< ", " << ring->second[i] << '\n';
-#endif
-*/
-        break;
-      }
-      //std::cout << "POLYGONTRANSFORM: " << ring->first[i] << ", " << ring->second[i] << std::endl; 
-    }
-
-#endif
-
-    // Don't bother keeping the ring if it has been trimmed out of
-    // existence.
-    if (ring->first.size() == 0)
-      delete ring;
-    else
-    {
-      rings.push_back(ring);
-      total_points += ring->first.size();
-    }
-  }
-
-  // Now we draw the polygons
-
-  // use painter paths for drawing polygons with holes
-  // when adding polygon to the path they invert the area
-  // this means that adding inner rings to the path creates
-  // holes in outer ring
-  QPainterPath path; // OddEven fill rule by default
-  
-  // Only try to draw polygons if there is something to draw
-  if (total_points > 0)
-  {
-    // Store size here and use it in the loop to avoid penalty of
-    // multiple calls to size()
-    int numRings = rings.size();
-    for (register int i = 0; i < numRings; ++i)
-    {
-      // Store the pointer in a variable with a short name so as to make
-      // the following code easier to type and read.
-      ringTypePtr r = rings[i];
-      // only do this once to avoid penalty of additional calls
-      unsigned ringSize = r->first.size();
-
-      // Transfer points to the array of QPointF
-      QPolygonF pa(ringSize);
-      for (register unsigned int j = 0; j != ringSize; ++j)
-      {
-        pa[j].setX(r->first[j]);
-        pa[j].setY(r->second[j]);
-      }
-
-      path.addPolygon(pa);
-
-      // Tidy up the pointed to pairs of vectors as we finish with them
-      delete rings[i];
-    }
-
-#ifdef QGISDEBUGVERBOSE
-    // this is only for verbose debug output -- no optimzation is 
-    // needed :)
-    QgsDebugMsg("Pixel points are:");
-    for (int i = 0; i < pa.size(); ++i)
-      {
-	QgsDebugMsgLevel("i" + QString::number(i), 2);
-	QgsDebugMsgLevel("pa[i].x()" + QString::number(pa[i].x()), 2);
-	QgsDebugMsgLevel("pa[i].y()" + QString::number(pa[i].y()), 2);
-      }
-    std::cerr << "Ring positions are:\n";
-    QgsDebugMsg("Ring positions are:");
-    for (int i = 0; i < ringDetails.size(); ++i)
-      {
-	QgsDebugMsgLevel("ringDetails[i].first" + QString::number(ringDetails[i].first), 2);
-	QgsDebugMsgLevel("ringDetails[i].second" + QString::number(ringDetails[i].second), 2);
-      }
-    QgsDebugMsg("Outer ring point is " + QString::number(outerRingPt.x()) + ", " + QString::number(outerRingPt.y()));
-#endif
-
-    /*
-    // A bit of code to aid in working out what values of
-    // QgsClipper::minX, etc cause the X11 zoom bug.
-    int largestX  = -std::numeric_limits<int>::max();
-    int smallestX = std::numeric_limits<int>::max();
-    int largestY  = -std::numeric_limits<int>::max();
-    int smallestY = std::numeric_limits<int>::max();
-
-    for (int i = 0; i < pa.size(); ++i)
-    {
-    largestX  = std::max(largestX,  pa.point(i).x());
-    smallestX = std::min(smallestX, pa.point(i).x());
-    largestY  = std::max(largestY,  pa.point(i).y());
-    smallestY = std::min(smallestY, pa.point(i).y());
-    }
-    std::cerr << "Largest  X coordinate was " << largestX  << '\n';
-    std::cerr << "Smallest X coordinate was " << smallestX << '\n';
-    std::cerr << "Largest  Y coordinate was " << largestY  << '\n';
-    std::cerr << "Smallest Y coordinate was " << smallestY << '\n';
-    */
-
-    //preserve a copy of the brush and pen before we start fiddling with it
-    QBrush brush = p->brush(); //to be kept as original
-    QPen pen = p->pen(); // to be kept original
-    //
-    // experimental alpha transparency
-    // 255 = opaque
-    //
-    QBrush myTransparentBrush = p->brush();
-    QColor myColor = brush.color();
-    myColor.setAlpha(transparencyLevelInt);
-    myTransparentBrush.setColor(myColor);
-    QPen myTransparentPen = p->pen(); // store current pen
-    myColor = myTransparentPen.color();
-    myColor.setAlpha(transparencyLevelInt);
-    myTransparentPen.setColor(myColor);
-    
-    p->setBrush(myTransparentBrush);
-    p->setPen (myTransparentPen);
-    
-    //
-    // draw the polygon
-    // 
-    p->drawPath(path);
-    
-
-    // draw vertex markers if in editing mode, but only to the main canvas
-    if (
-        (mEditable) &&
-        (drawingToEditingCanvas)
-       )
-      {
-	for(int i = 0; i < path.elementCount(); ++i)
-	  {
-            const QPainterPath::Element & e = path.elementAt(i);
-	    drawVertexMarker((int)e.x, (int)e.y, *p);
-	  }
-      }
-
-    //
-    //restore brush and pen to original
-    //
-    p->setBrush ( brush );
-    p->setPen ( pen );
-  
-  } // totalPoints > 0
-  
-  return ptr;
-}
-
-
-bool QgsVectorLayer::draw(QPainter * p,
-                          QgsRect * viewExtent,
-                          QgsMapToPixel * theMapToPixelTransform,
-                          bool drawingToEditingCanvas)
-{
-  draw(p,
-       viewExtent,
-       theMapToPixelTransform,
-       drawingToEditingCanvas,
-       1.,
-       1.);
-
-  return TRUE; // Assume success always
-}
-
-void QgsVectorLayer::draw(QPainter * p,
-                          QgsRect * viewExtent,
-                          QgsMapToPixel * theMapToPixelTransform,
-                          bool drawingToEditingCanvas,
-                          double widthScale,
-                          double symbolScale)
-{
-  if(m_renderer)
-  {
-    // painter is active (begin has been called
-    /* Steps to draw the layer
-       1. get the features in the view extent by SQL query
-       2. read WKB for a feature
-       3. transform
-       4. draw
-       */
-
-    QPen pen;
-    /*Pointer to a marker image*/
-    QPixmap marker;
-    /*Scale factor of the marker image*/
-    double markerScaleFactor=1.;
-
-    if(mEditable)
-    {
-      // Destroy all cached geometries and clear the references to them
-      deleteCachedGeometries();
-    }
-
-    dataProvider->reset();
-    dataProvider->select(viewExtent);
-    dataProvider->updateFeatureCount();
-    int totalFeatures = dataProvider->featureCount();
-    int featureCount = 0;
-    QgsFeature *fet;
-
-    bool projectionsEnabledFlag = projectionsEnabled();
-    std::list<int> attributes=m_renderer->classificationAttributes();
-
-    mDrawingCancelled=false; //pressing esc will change this to true
-
-    /*
-       QTime t;
-       t.start();
-       */
-
-    try
-    {
-      while (fet = dataProvider->getNextFeature(attributes, updateThreshold))
-      {
-        // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
-        // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
-        //qApp->processEvents(); //so we can trap for esc press
-        if (mDrawingCancelled) return;
-        // If update threshold is greater than 0, check to see if
-        // the threshold has been exceeded
-        if(updateThreshold > 0)
-        {
-          // signal progress in drawing
-          if(0 == featureCount % updateThreshold)
-            emit drawingProgress(featureCount, totalFeatures);
-        }
-
-        if (fet == 0)
-	  {
-	    QgsDebugMsg("get next feature returned null");
-	    continue;
-	  }
-	
-	if(mEditable)
-	  {
-	    if (mDeletedFeatureIds.find(fet->featureId()) != mDeletedFeatureIds.end())
-	      {
-		delete fet;
-		continue; //dont't draw feature marked as deleted
-	      }
-	    if (mChangedGeometries.find(fet->featureId()) != mChangedGeometries.end())
-            {
-	      // substitute the committed geometry with the modified one
-	      fet->setGeometry( mChangedGeometries[ fet->featureId() ] );
-	    }
-	    // Cache this for the use of (e.g.) modifying the feature's uncommitted geometry.
-	    mCachedGeometries[fet->featureId()] = fet->geometryAndOwnership();
-	  }
-
-        // check if feature is selected
-        // only show selections of the current layer
-        bool sel;
-        if (
-            (mLegend && mLegend->currentLayer() == this) &&
-            (mSelectedFeatureIds.find(fet->featureId()) != mSelectedFeatureIds.end())
-           )
-        {
-          sel = TRUE;
-        }
-        else
-        {
-          sel = FALSE;
-        }
-
-	if (m_renderer->willRenderFeature(fet))
-	  { 
-	    m_renderer->renderFeature(p, fet, &marker, &markerScaleFactor, sel, widthScale );
-	    double scale = markerScaleFactor * symbolScale;
-	    drawFeature(p,
-                    fet,
-                    theMapToPixelTransform,
-                    &marker,
-                    scale,
-                    projectionsEnabledFlag,
-                    drawingToEditingCanvas);
-	    ++featureCount;
-	    delete fet;
-	  }
-      }	
-
-      //also draw the not yet commited features
-      if(mEditable)
-	{
-	  for(std::vector<QgsFeature*>::iterator it = mAddedFeatures.begin(); it != mAddedFeatures.end(); ++it)
-	    {
-	      if (!m_renderer->willRenderFeature(*it)) 
-              { 
-                continue; 
-              }  
-	      bool sel=mSelectedFeatureIds.find((*it)->featureId()) != mSelectedFeatureIds.end();
-	      m_renderer->renderFeature(p, *it, &marker, &markerScaleFactor, sel, widthScale);
-	      double scale = markerScaleFactor * symbolScale;
-	      if (mChangedGeometries.find((*it)->featureId()) != mChangedGeometries.end())
-		{
-		  (*it)->setGeometry( mChangedGeometries[(*it)->featureId() ] );
-		}
-	      //give a deep copy of the geometry to mCachedGeometry because it will be erased at each redraw
-	      QgsGeometry* deepCopy = new QgsGeometry(*((*it)->geometry()));
-	      mCachedGeometries.insert(std::make_pair((*it)->featureId(), deepCopy));
-              drawFeature(p,
-                          *it,
-                          theMapToPixelTransform,
-                          &marker,
-                          scale,
-                          projectionsEnabledFlag,
-                          drawingToEditingCanvas);
-	    }
-	}
-    }
-    catch (QgsCsException &cse)
-    {
-      QString msg("Failed to transform a point while drawing a feature of type '"
-          + fet->typeName() + "'. Ignoring this feature.");
-      msg += cse.what();
-      qWarning(msg.toLocal8Bit().data());
-    }
-    QgsDebugMsg("Total features processed is " + QString::number(featureCount));
-    // XXX Something in our draw event is triggering an additional draw event when resizing [TE 01/26/06]
-    // XXX Calling this will begin processing the next draw event causing image havoc and recursion crashes.
-    //qApp->processEvents();
-  }
-  else
-  {
-    QgsLogger::warning("QgsRenderer is null in QgsVectorLayer::draw()");
-  }
-}
-
-
-QgsVectorLayer::endian_t QgsVectorLayer::endian()
-{
-  //     char *chkEndian = new char[4];
-  //     memset(chkEndian, '\0', 4);
-  //     chkEndian[0] = 0xE8;
-
-  //     int *ce = (int *) chkEndian;
-  //     int retVal;
-  //     if (232 == *ce)
-  //       retVal = NDR;
-  //     else
-  //       retVal = XDR;
-
-  //     delete [] chkEndian;
-
-  return (htonl(1) == 1) ? QgsVectorLayer::XDR : QgsVectorLayer::NDR ;
-}
-
-void QgsVectorLayer::cacheGeometries()
-{
-  if(dataProvider)
-    {
-      QgsFeature* f;
-
-      dataProvider->reset();
-
-      while(f = dataProvider->getNextFeature(false))
-	{
-	  mCachedGeometries.insert(std::make_pair(f->featureId(), f->geometryAndOwnership()));
-	  delete f;
-	}
-    }
-}
-
-void QgsVectorLayer::deleteCachedGeometries()
-{
-  // Destroy any cached geometries and clear the references to them
-
-  for (std::map<int, QgsGeometry*>::iterator it  = mCachedGeometries.begin(); it != mCachedGeometries.end(); ++it )
-    {
-      delete (*it).second;
-    }
-  mCachedGeometries.clear();
-}
-
-void QgsVectorLayer::drawVertexMarker(int x, int y, QPainter& p)
-{
-  //todo: let the user configure the size and appearance of the marker 
-  int size = 15;
-  int m = (size-1)/2;
-  p.drawLine(x-m, y+m, x+m, y-m);
-  p.drawLine(x-m, y-m, x+m, y+m);
-}
-
-void QgsVectorLayer::table(QgisApp * qgisApp)
-{
-  if (tabledisplay)
-  {
-    tabledisplay->raise();
-    // Give the table the most recent copy of the actions for this
-    // layer.
-    tabledisplay->table()->setAttributeActions(mActions);
-  }
-  else
-  {
-    // display the attribute table
-    QApplication::setOverrideCursor(Qt::waitCursor);
-    tabledisplay = new QgsAttributeTableDisplay(this, qgisApp);
-    connect(tabledisplay, SIGNAL(deleted()), this, SLOT(invalidateTableDisplay()));
-    tabledisplay->table()->fillTable(this);
-    tabledisplay->table()->setSorting(true);
-
-
-    tabledisplay->setTitle(tr("Attribute table - ") + name());
-    tabledisplay->show();
-    tabledisplay->table()->clearSelection();  //deselect the first row
-
-    // Give the table the most recent copy of the actions for this
-    // layer.
-    tabledisplay->table()->setAttributeActions(mActions);
-
-    QObject::disconnect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-
-    for (std::set<int>::iterator it = mSelectedFeatureIds.begin(); it != mSelectedFeatureIds.end(); ++it)
-    {
-      tabledisplay->table()->selectRowWithId(*it);//todo: avoid that the table gets repainted during each selection
-#ifdef QGISDEBUG
-      qWarning(("selecting row with id " + QString::number(*it)).toLocal8Bit().data());
-#endif
-
-    }
-
-    QObject::connect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-
-    //etablish the necessary connections between the table and the shapefilelayer
-    QObject::connect(tabledisplay->table(), SIGNAL(selected(int)), this, SLOT(select(int)));
-    QObject::connect(tabledisplay->table(), SIGNAL(selectionRemoved()), this, SLOT(removeSelection()));
-    QObject::connect(tabledisplay->table(), SIGNAL(repaintRequested()), this, SLOT(triggerRepaint()));
-    QApplication::restoreOverrideCursor();
-  }
-
-} // QgsVectorLayer::table
-
-void QgsVectorLayer::select(int number)
-{
-  mSelectedFeatureIds.insert(number);
-  emit selectionChanged();
-}
-
-void QgsVectorLayer::select(QgsRect * rect, bool lock)
-{
-  QApplication::setOverrideCursor(Qt::WaitCursor);
-  // normalize the rectangle
-  rect->normalize();
-  if (tabledisplay)
-  {
-    QObject::disconnect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-    QObject::disconnect(tabledisplay->table(), SIGNAL(selected(int)), this, SLOT(select(int))); //disconnecting because of performance reason
-  }
-
-  if (lock == false)
-  {
-    removeSelection();        //only if ctrl-button is not pressed
-    if (tabledisplay)
-    {
-      tabledisplay->table()->clearSelection();
-    }
-  }
-
-  QgsRect r = inverseProjectRect(*rect);
-  dataProvider->select(&r, true);
-
-  QgsFeature *fet;
-
-  while (fet = dataProvider->getNextFeature(false))
-  {
-    if(mDeletedFeatureIds.find(fet->featureId())==mDeletedFeatureIds.end())//don't select deleted features
-    {
-      select(fet->featureId());
-      if (tabledisplay)
-      {
-        tabledisplay->table()->selectRowWithId(fet->featureId());
-      }
-    }
-    delete fet;
-  }
-
-  //also test the not commited features
-  for(std::vector<QgsFeature*>::iterator it=mAddedFeatures.begin();it!=mAddedFeatures.end();++it)
-  {
-    if((*it)->geometry()->intersects(rect))
-    {
-      select((*it)->featureId());
-      if (tabledisplay)
-      {
-        tabledisplay->table()->selectRowWithId((*it)->featureId());
-      }
-    }
-  }
-
-  if (tabledisplay)
-  {
-    QObject::connect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-    QObject::connect(tabledisplay->table(), SIGNAL(selected(int)), this, SLOT(select(int)));  //disconnecting because of performance reason
-  }
-  triggerRepaint();
-  QApplication::restoreOverrideCursor();
-
-  emit selectionChanged();
-}
-
-void QgsVectorLayer::invertSelection()
-{
-  QApplication::setOverrideCursor(Qt::waitCursor);
-  if (tabledisplay)
-  {
-    QObject::disconnect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-    QObject::disconnect(tabledisplay->table(), SIGNAL(selected(int)), this, SLOT(select(int))); //disconnecting because of performance reason
-    tabledisplay->hide();
-  }
-
-
-  //copy the ids of selected features to tmp
-  std::list<int> tmp;
-  for(std::set<int>::iterator iter=mSelectedFeatureIds.begin();iter!=mSelectedFeatureIds.end();++iter)
-  {
-    tmp.push_back(*iter);
-  }
-
-  removeSelection();
-  if (tabledisplay)
-  {
-    tabledisplay->table()->clearSelection();
-  }
-
-  QgsFeature *fet;
-  dataProvider->reset();
-
-  while (fet = dataProvider->getNextFeature(true))
-  {
-    if(mDeletedFeatureIds.find(fet->featureId())==mDeletedFeatureIds.end())//don't select deleted features
-    {
-      select(fet->featureId());
-    }
-  }
-
-  for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-  {
-    select((*iter)->featureId());
-  }
-
-  for(std::list<int>::iterator iter=tmp.begin();iter!=tmp.end();++iter)
-  {
-    mSelectedFeatureIds.erase(*iter);
-  }
-
-  if(tabledisplay)
-  {
-    QProgressDialog progress( tr("Invert Selection..."), tr("Abort"), 0, mSelectedFeatureIds.size(), tabledisplay);
-    int i=0;
-    for(std::set<int>::iterator iter=mSelectedFeatureIds.begin();iter!=mSelectedFeatureIds.end();++iter)
-    {
-      ++i;
-      progress.setValue(i);
-      qApp->processEvents();
-      if(progress.wasCanceled())
-      {
-        //deselect the remaining features if action was canceled
-        mSelectedFeatureIds.erase(iter,--mSelectedFeatureIds.end());
-        break;
-      }
-      tabledisplay->table()->selectRowWithId(*iter);//todo: avoid that the table gets repainted during each selection
-    }
-  }
-
-  if (tabledisplay)
-  {
-    QObject::connect(tabledisplay->table(), SIGNAL(selectionChanged()), tabledisplay->table(), SLOT(handleChangedSelections()));
-    QObject::connect(tabledisplay->table(), SIGNAL(selected(int)), this, SLOT(select(int)));  //disconnecting because of performance reason
-    tabledisplay->show();
-  }
-
-  triggerRepaint();
-  QApplication::restoreOverrideCursor();
-
-  emit selectionChanged();
-}
-
-void QgsVectorLayer::removeSelection()
-{
-  mSelectedFeatureIds.clear();
-  emit selectionChanged();
-}
-
-void QgsVectorLayer::triggerRepaint()
-{ 
-  emit repaintRequested();
-}
-
-void QgsVectorLayer::invalidateTableDisplay()
-{
-  tabledisplay = 0;
-}
-
-QgsVectorDataProvider* QgsVectorLayer::getDataProvider()
-{
-  return dataProvider;
-}
-
-const QgsVectorDataProvider* QgsVectorLayer::getDataProvider() const
-{
-  return dataProvider;
-}
-
-void QgsVectorLayer::setProviderEncoding(const QString& encoding)
-{
-  if(dataProvider)
-  {
-    dataProvider->setEncoding(encoding);
-  }
-}
-
-
-void QgsVectorLayer::showLayerProperties()
-{
-  // Set wait cursor while the property dialog is created
-  // and initialized
-  qApp->setOverrideCursor(QCursor(Qt::WaitCursor));
-
-
-  if (!m_propertiesDialog)
-  {
-#ifdef QGISDEBUG
-    std::cerr << "Creating new QgsVectorLayerProperties object\n";
-#endif
-    m_propertiesDialog = new QgsVectorLayerProperties(this);
-    // Make sure that the UI starts out with the correct display
-    // field value
-#ifdef QGISDEBUG
-    std::cerr << "Setting display field in prop dialog\n";
-#endif
-    m_propertiesDialog->setDisplayField(displayField());
-
-#ifdef QGISDEBUG
-    std::cerr << "Raising prop dialog\n";
-#endif
-    m_propertiesDialog->raise();
-#ifdef QGISDEBUG
-    std::cerr << "Showing prop dialog\n";
-#endif
-    m_propertiesDialog->show();
-  }
-  else
-  {
-    m_propertiesDialog->reset();
-    m_propertiesDialog->show();
-    m_propertiesDialog->raise();
-  }
-
-  // restore normal cursor
-  qApp->restoreOverrideCursor();
-}
-
-
-const QgsRenderer* QgsVectorLayer::renderer() const
-{
-  return m_renderer;
-}
-
-void QgsVectorLayer::setRenderer(QgsRenderer * r)
-{
-  if (r != m_renderer)
-  {
-    delete m_renderer;
-    m_renderer = r;
-  }
-}
-
-QGis::VectorType QgsVectorLayer::vectorType() const
-{
-  if (dataProvider)
-  {
-    int type = dataProvider->geometryType();
-    switch (type)
-    {
-      case QGis::WKBPoint:
-      case QGis::WKBPoint25D:
-        return QGis::Point;
-
-      case QGis::WKBLineString:
-      case QGis::WKBLineString25D:
-        return QGis::Line;
-
-      case QGis::WKBPolygon:
-      case QGis::WKBPolygon25D:
-        return QGis::Polygon;
-
-      case QGis::WKBMultiPoint:
-      case QGis::WKBMultiPoint25D:
-        return QGis::Point;
-
-      case QGis::WKBMultiLineString:
-      case QGis::WKBMultiLineString25D:
-        return QGis::Line;
-
-      case QGis::WKBMultiPolygon:
-      case QGis::WKBMultiPolygon25D:
-        return QGis::Polygon;
-    }
-#ifdef QGISDEBUG
-    QgsLogger::debug("Warning: Data Provider Geometry type is not recognised, is", type, 1, __FILE__, __FUNCTION__, __LINE__);
-#endif
-
-  }
-  else
-  {
-#ifdef QGISDEBUG
-    qWarning("warning, pointer to dataProvider is null in QgsVectorLayer::vectorType()");
-#endif
-
-  }
-
-  // We shouldn't get here, and if we have, other things are likely to
-  // go wrong. Code that uses the vectorType() return value should be
-  // rewritten to cope with a value of QGis::Unknown. To make this
-  // need known, the following message is printed every time we get
-  // here.
-  std::cerr << "WARNING: This code (file " << __FILE__ << ", line "
-            << __LINE__ << ") should never be reached. "
-            << "Problems may occur...\n";
-
-  return QGis::Unknown;
-}
-
-QGis::WKBTYPE QgsVectorLayer::getGeometryType() const
-{
-  return (QGis::WKBTYPE)(geometryType);
-}
-
-QgsVectorLayerProperties *QgsVectorLayer::propertiesDialog()
-{
-  return m_propertiesDialog;
-}
-
-
-void QgsVectorLayer::initContextMenu_(QgisApp * app)
-{
-
-  popMenu->addAction(tr("&Open attribute table"), app, SLOT(attributeTable()));
-
-  popMenu->addSeparator();
-
-  int cap=dataProvider->capabilities();
-  if((cap&QgsVectorDataProvider::AddFeatures)
-      ||(cap&QgsVectorDataProvider::DeleteFeatures))
-  {
-    mToggleEditingAction = popMenu->addAction(tr("Allow Editing"),this,SLOT(toggleEditing()));
-    mToggleEditingAction->setCheckable(true);
-    mToggleEditingAction->blockSignals(true);
-    if(mEditable)
-      {
-	mToggleEditingAction->setChecked(true);
-      }
-    else
-      {
-	mToggleEditingAction->setChecked(false);
-      }
-    mToggleEditingAction->blockSignals(false);
-  }
-
-  if(cap&QgsVectorDataProvider::SaveAsShapefile)
-  {
-    // add the save as shapefile menu item
-    popMenu->addSeparator();
-    popMenu->addAction(tr("Save as shapefile..."), this, SLOT(saveAsShapefile()));
-  }
-
-} // QgsVectorLayer::initContextMenu_(QgisApp * app)
-
-QgsRect QgsVectorLayer::bBoxOfSelected()
-{
-  if(mSelectedFeatureIds.size()==0)//no selected features
-  {
-    return QgsRect(0,0,0,0);
-  }
-
-  QgsRect r, retval;
-  QgsFeature* fet;
-  dataProvider->reset();
-
-  retval.setMinimal();
-  while ((fet = dataProvider->getNextFeature(false)))
-  {
-    if (mSelectedFeatureIds.find(fet->featureId()) != mSelectedFeatureIds.end())
-    {
-      if(fet->geometry())
-	{
-	  r=fet->boundingBox();
-	  retval.combineExtentWith(&r);
-	}
-    }
-    delete fet;
-  }
-  //also go through the not commited features
-  for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-  {
-    if(mSelectedFeatureIds.find((*iter)->featureId())!=mSelectedFeatureIds.end())
-    {
-      r=(*iter)->geometry()->boundingBox();
-      retval.combineExtentWith(&r);
-    }
-  }
-
-  if (retval.width() == 0.0 || retval.height() == 0.0)
-  {
-    // If all of the features are at the one point, buffer the
-    // rectangle a bit. If they are all at zero, do something a bit
-    // more crude.
-
-    if (retval.xMin() == 0.0 && retval.xMax() == 0.0 &&
-        retval.yMin() == 0.0 && retval.yMax() == 0.0)
-    {
-      retval.set(-1.0, -1.0, 1.0, 1.0);
-    }
-    else
-    {
-      const double padFactor = 1e-8;
-      double widthPad = retval.xMin() * padFactor;
-      double heightPad = retval.yMin() * padFactor;
-      double xmin = retval.xMin() - widthPad;
-      double xmax = retval.xMax() + widthPad;
-      double ymin = retval.yMin() - heightPad;
-      double ymax = retval.yMax() + heightPad;
-      retval.set(xmin, ymin, xmax, ymax);
-    }
-  }
-
-  return retval;
-}
-
-void QgsVectorLayer::setLayerProperties(QgsVectorLayerProperties * properties)
-{
-  m_propertiesDialog = properties;
-  // Make sure that the UI gets the correct display
-  // field value
-
-  if(m_propertiesDialog)
-  {
-    m_propertiesDialog->setDisplayField(displayField());
-  }
-}
-
-
-
-QgsFeature * QgsVectorLayer::getFirstFeature(bool fetchAttributes, bool selected) const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::getFirstFeature() invoked with null dataProvider\n";
-    return 0x0;
-  }
-
-  if ( selected )
-  {
-    QgsFeature *fet = dataProvider->getFirstFeature(fetchAttributes);
-    while(fet)
-    {
-      bool sel = mSelectedFeatureIds.find(fet->featureId()) != mSelectedFeatureIds.end();
-      if ( sel ) return fet;
-      fet = dataProvider->getNextFeature(fetchAttributes);
-    }
-    return 0;
-  }
-
-  return dataProvider->getFirstFeature( fetchAttributes );
-} // QgsVectorLayer::getFirstFeature
-
-
-QgsFeature * QgsVectorLayer::getNextFeature(bool fetchAttributes, bool selected) const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::getNextFeature() invoked with null dataProvider\n";
-    return 0x0;
-  }
-
-  if ( selected )
-  {
-    QgsFeature *fet;
-    while ( fet = dataProvider->getNextFeature(fetchAttributes) )
-    {
-      bool sel = mSelectedFeatureIds.find(fet->featureId()) != mSelectedFeatureIds.end();
-      if ( sel ) return fet;
-    }
-    return 0;
-  }
-
-  return dataProvider->getNextFeature( fetchAttributes );
-} // QgsVectorLayer::getNextFeature
-
-
-
-bool QgsVectorLayer::getNextFeature(QgsFeature &feature, bool fetchAttributes) const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::getNextFeature() invoked with null dataProvider\n";
-    return false;
-  }
-
-  return dataProvider->getNextFeature( feature, fetchAttributes );
-} // QgsVectorLayer::getNextFeature
-
-
-
-long QgsVectorLayer::featureCount() const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::featureCount() invoked with null dataProvider\n";
-    return 0;
-  }
-
-  return dataProvider->featureCount();
-} // QgsVectorLayer::featureCount
-
-long QgsVectorLayer::updateFeatureCount() const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::updateFeatureCount() invoked with null dataProvider\n";
-    return 0;
-  }
-  return dataProvider->updateFeatureCount();
-}
-
-void QgsVectorLayer::updateExtents()
-{
-  if(dataProvider)
-  {
-    if(mDeletedFeatureIds.size()==0)
-    {
-      // get the extent of the layer from the provider
-      layerExtent.setXmin(dataProvider->extent()->xMin());
-      layerExtent.setYmin(dataProvider->extent()->yMin());
-      layerExtent.setXmax(dataProvider->extent()->xMax());
-      layerExtent.setYmax(dataProvider->extent()->yMax());
-    }
-    else
-    {
-      QgsFeature* fet=0;
-      QgsRect bb;
-
-      layerExtent.setMinimal();
-      dataProvider->reset();
-      while(fet=dataProvider->getNextFeature(false))
-      {
-        if(mDeletedFeatureIds.find(fet->featureId())==mDeletedFeatureIds.end())
-        {
-	  if(fet->geometry())
-	    {
-	      bb=fet->boundingBox();
-	      layerExtent.combineExtentWith(&bb);
-	    }
-        }
-        delete fet;
-      }
-    }
-  }
-  else
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::updateFeatureCount() invoked with null dataProvider\n";
-  }
-
-  //todo: also consider the not commited features
-  for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-  {
-    QgsRect bb=(*iter)->boundingBox();
-    layerExtent.combineExtentWith(&bb);
-
-  }
-
-  // Send this (hopefully) up the chain to the map canvas
-  emit recalculateExtents();
-}
-
-QString QgsVectorLayer::subsetString()
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::subsetString() invoked with null dataProvider\n";
-    return 0;
-  }
-  return dataProvider->subsetString();
-}
-void QgsVectorLayer::setSubsetString(QString subset)
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::setSubsetString() invoked with null dataProvider\n";
-  }
-  else
-  {
-    dataProvider->setSubsetString(subset);
-    // get the updated data source string from the provider
-    dataSource = dataProvider->getDataSourceUri();
-    updateExtents();
-  }
-  //trigger a recalculate extents request to any attached canvases
-#ifdef QGISDEBUG
-  std::cout << "Subset query changed, emitting recalculateExtents() signal" << std::endl;
-#endif
-  // emit the signal  to inform any listeners that the extent of this
-  // layer has changed
-  emit recalculateExtents();
-}
-int QgsVectorLayer::fieldCount() const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::fieldCount() invoked with null dataProvider\n";
-    return 0;
-  }
-
-  return dataProvider->fieldCount();
-} // QgsVectorLayer::fieldCount
-
-
-std::vector<QgsField> const& QgsVectorLayer::fields() const
-{
-  if ( ! dataProvider )
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " QgsVectorLayer::fields() invoked with null dataProvider\n";
-
-    static std::vector<QgsField> bogus; // empty, bogus container
-    return bogus;
-  }
-
-  return dataProvider->fields();
-} // QgsVectorLayer::fields()
-
-
-bool QgsVectorLayer::addFeature(QgsFeature* f, bool alsoUpdateExtent)
-{
-  static int addedIdLowWaterMark = -1;
-
-  if(dataProvider)
-  {
-    if(!(dataProvider->capabilities() & QgsVectorDataProvider::AddFeatures))
-    {
-      QMessageBox::information(0, tr("Layer cannot be added to"), 
-          tr("The data provider for this layer does not support the addition of features."));
-      return false;
-    }
-
-    if(!isEditable())
-    {
-      QMessageBox::information(0, tr("Layer not editable"), 
-          tr("The current layer is not editable. Choose 'Start editing' in the digitizing toolbar."));
-      return false;
-    }
-
-    //assign a temporary id to the feature (use negative numbers)
-    addedIdLowWaterMark--;
-
-#ifdef QGISDEBUG
-    qWarning("assigned feature id "+QString::number(addedIdLowWaterMark));
-#endif
-
-    // Change the fields on the feature to suit the destination
-    // in the paste transformation transfer.
-    // TODO: Could be done more efficiently for large pastes
-    std::map<int, QString> fields = f->fields();
-
-#ifdef QGISDEBUG
-    std::cout << "QgsVectorLayer::addFeature: about to traverse fields." << std::endl;
-#endif
-    for (std::map<int, QString>::iterator it  = fields.begin(); it != fields.end(); ++it)
-    {
-#ifdef QGISDEBUG
-      std::cout << "QgsVectorLayer::addFeature: inspecting field '"
-        << (it->second).toLocal8Bit().data()
-        << "'." << std::endl;
-#endif
-
-    }
-
-    // Force a feature ID (to keep other functions in QGIS happy,
-    // providers will use their own new feature ID when we commit the new feature)
-    // and add to the known added features.
-    f->setFeatureId(addedIdLowWaterMark);
-    mAddedFeatures.push_back(f);
-    mModified=true;
-
-    //hide and delete the table because it is not up to date any more
-    if (tabledisplay)
-    {
-      tabledisplay->close();
-      delete tabledisplay;
-      tabledisplay=0;
-    }
-
-    if (alsoUpdateExtent)
-    {
-      updateExtents();
-    }  
-
-    return true;
-  }
-  return false;
-}
-
-
-bool QgsVectorLayer::insertVertexBefore(double x, double y, int atFeatureId, QgsGeometryVertexIndex beforeVertex)
-{
-  if(!mEditable)
-    {
-      return false;
-    }
-
-  if(dataProvider)
-  {
-    if(mChangedGeometries.find(atFeatureId) == mChangedGeometries.end())
-    {
-      //first time this geometry has changed since last commit
-      if(!mCachedGeometries[atFeatureId])
-	{
-	  return false;
-	}
-      mChangedGeometries[atFeatureId] = *(mCachedGeometries[atFeatureId]);
-    }
-    
-    mChangedGeometries[atFeatureId].insertVertexBefore(x, y, beforeVertex);
-    mModified=true;
-    return true;
-  }
-  return false;
-}
-
-
-bool QgsVectorLayer::moveVertexAt(double x, double y, int atFeatureId,
-    QgsGeometryVertexIndex atVertex)
-{
-  if(!mEditable)
-    {
-      return false;
-    }
-
-  if(dataProvider)
-  {
-    if(mChangedGeometries.find(atFeatureId) == mChangedGeometries.end())
-    {
-      // first time this geometry has changed since last commit
-      if(mCachedGeometries.find(atFeatureId) == mCachedGeometries.end() || mCachedGeometries[atFeatureId] == 0)
-	{
-	  return false;
-	}
-      mChangedGeometries[atFeatureId] = *(mCachedGeometries[atFeatureId]);
-    }
-
-    mChangedGeometries[atFeatureId].moveVertexAt(x, y, atVertex);
-    mModified=true;
-    return true;
-  }
-  return false;
-}
-
-
-bool QgsVectorLayer::deleteVertexAt(int atFeatureId,
-    QgsGeometryVertexIndex atVertex)
-{
-  if(!mEditable)
-    {
-      return false;
-    }
-
-  if(dataProvider)
-  {
-    if(mChangedGeometries.find(atFeatureId) == mChangedGeometries.end())
-    {
-      // first time this geometry has changed since last commit
-      if(!mCachedGeometries[atFeatureId])
-	{
-	  return false;
-	}
-      mChangedGeometries[atFeatureId] = *(mCachedGeometries[atFeatureId]);
-    }
-
-    mChangedGeometries[atFeatureId].deleteVertexAt(atVertex);
-    mModified=true;
-    return true;
-  }
-  return false;
-}
-
-
-QString QgsVectorLayer::getDefaultValue(const QString& attr,
-    QgsFeature* f)
-{
-  return dataProvider->getDefaultValue(attr, f);
-}
-
-bool QgsVectorLayer::deleteSelectedFeatures()
-{
-  if(!(dataProvider->capabilities() & QgsVectorDataProvider::DeleteFeatures))
-  {
-    QMessageBox::information(0, tr("Provider does not support deletion"), 
-        tr("Data provider does not support deleting features"));
-    return false;
-  }
-
-  if(!isEditable())
-  {
-    QMessageBox::information(0, tr("Layer not editable"), 
-        tr("The current layer is not editable. Choose 'Allow editing' in the legend item right click menu."));
-    return false;
-  }
-
-  for(std::set<int>::iterator it=mSelectedFeatureIds.begin();it!=mSelectedFeatureIds.end();++it)
-  {
-    bool notcommitedfeature=false;
-    //first test, if the feature with this id is a not-commited feature
-    for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-    {
-      if((*it)==(*iter)->featureId())
-      {
-        // Delete the feature itself before deleting the reference to it.
-        delete *iter;
-        mAddedFeatures.erase(iter);
-
-        notcommitedfeature=true;
-        break;
-      }
-    }
-    if(!notcommitedfeature)
-    {
-      mDeletedFeatureIds.insert(*it);
-    }
-  }
-
-  if(mSelectedFeatureIds.size()>0)
-  {
-    mModified=true;
-    /*      mSelectedFeatureIds.clear();*/
-    removeSelection();
-    triggerRepaint();
-    updateExtents();
-
-    //hide and delete the table because it is not up to date any more
-    if (tabledisplay)
-    {
-      tabledisplay->close();
-      delete tabledisplay;
-      tabledisplay=0;
-    }
-
-  }
-
-  return true;
-}
-
-QgsLabel * QgsVectorLayer::label()
-{
-  return mLabel;
-}
-
-void QgsVectorLayer::setLabelOn ( bool on )
-{
-  mLabelOn = on;
-}
-
-bool QgsVectorLayer::labelOn ( void )
-{
-  return mLabelOn;
-}
-
-void QgsVectorLayer::toggleEditing()
-{
-  if(mToggleEditingAction)
-  {
-    if (mToggleEditingAction->isChecked() ) //checking of the QAction is done before calling this slot
-    {
-      startEditing();
-    }
-    else
-    {
-      stopEditing();
-    }
-  }
-}
-
-
-void QgsVectorLayer::startEditing()
-{
-  if(dataProvider)
-  {
-    if(!(dataProvider->capabilities()&QgsVectorDataProvider::AddFeatures))
-    {
-      QMessageBox::information(0,tr("Start editing failed"),
-                               tr("Provider cannot be opened for editing"),
-                               QMessageBox::Ok);
-    }
-    else
-    {
-      // No longer need to cache all geometries
-      // instead, mCachedGeometries is refreshed every time the 
-      // screen is redrawn.
-      //cacheGeometries();
-
-      mEditable=true;
-      if(isValid())
-      {
-        updateItemPixmap();
-        if(mToggleEditingAction)
-        {
-          mToggleEditingAction->setChecked(true);
-        }
-	triggerRepaint();
-      }
-    }
-  }
-}
-
-void QgsVectorLayer::stopEditing()
-{
-  bool commitSuccessful = FALSE;
-  bool rollbackSuccessful = FALSE;
-
-  if(dataProvider)
-  {
-    if(mModified)
-    {
-      //commit or roll back?
-      int commit=QMessageBox::information(0,tr("Stop editing"),tr("Do you want to save the changes?"),tr("&Yes"),tr("&No"),QString::null,0,1);	
-
-      if(commit==0)
-      {
-        commitSuccessful = commitChanges();
-
-        if(!commitSuccessful)
-        {
-          QMessageBox::information(0,tr("Error"),tr("Could not commit changes"),QMessageBox::Ok);
-
-          // Leave the in-memory editing state alone,
-          // to give the user a chance to enter different values
-          // and try the commit again later
-        }
-        else
-        {
-          dataProvider->updateExtents();
-	  dataProvider->updateFeatureCount();
-          //hide and delete the table because it is not up to date any more
-          if (tabledisplay)
-          {
-            tabledisplay->close();
-            delete tabledisplay;
-            tabledisplay=0;
-          }
-        }
-      }
-      else if(commit==1)
-      {
-        if(!rollBack())
-        {
-          QMessageBox::information(0,tr("Error"),
-              tr("Problems during roll back"),QMessageBox::Ok);
-        }
-        //hide and delete the table because it is not up to date any more
-        if (tabledisplay)
-        {
-          tabledisplay->close();
-          delete tabledisplay;
-          tabledisplay=0;
-        }
-
-        // Force this to TRUE otherwise the user will never be able
-        // to get out of an ediitng session
-        rollbackSuccessful = TRUE;
-      }
-      emit editingStopped(true);
-    }
-    else  // if (!mModified)
-    {
-      emit editingStopped(false);
-    }
-
-  }
-
-  if (
-      (!dataProvider) ||
-      (!mModified) ||
-      (commitSuccessful) ||
-      (rollbackSuccessful)
-     )
-  {
-    // convert state to non-editing mode
-    deleteCachedGeometries();
-
-    mEditable=false;
-    triggerRepaint();
-    mModified=false;
-    if(isValid())
-    {
-      updateItemPixmap();
-      if(mToggleEditingAction)
-      {
-        mToggleEditingAction->setChecked(false);
-      }
-    }
-  }
-
-}
-
-// return state of scale dependent rendering. True if features should
-// only be rendered if between mMinimumScale and mMaximumScale
-bool QgsVectorLayer::scaleDependentRender()
-{
-  return mScaleDependentRender;
-}
-
-
-// Return the minimum scale at which the layer is rendered
-int QgsVectorLayer::minimumScale()
-{
-  return mMinimumScale;
-}
-// Return the maximum scale at which the layer is rendered
-int QgsVectorLayer::maximumScale()
-{
-  return mMaximumScale;
-}
-
-
-
-bool QgsVectorLayer::readXML_( QDomNode & layer_node )
-{
-#ifdef QGISDEBUG
-  std::cerr << "Datasource in QgsVectorLayer::readXML_: " << dataSource.toLocal8Bit().data() << std::endl;
-#endif
-  // process the attribute actions
-  mActions.readXML(layer_node);
-
-  //process provider key
-  QDomNode pkeyNode = layer_node.namedItem("provider");
-
-  if (pkeyNode.isNull())
-  {
-    providerKey = "";
-  }
-  else
-  {
-    QDomElement pkeyElt = pkeyNode.toElement();
-    providerKey = pkeyElt.text();
-  }
-
-  // determine type of vector layer
-  if ( ! providerKey.isNull() )
-  {
-    // if the provider string isn't empty, then we successfully
-    // got the stored provider
-  }
-  else if ((dataSource.find("host=") > -1) &&
-      (dataSource.find("dbname=") > -1))
-  {
-    providerKey = "postgres";
-  }
-  else
-  {
-    providerKey = "ogr";
-  }
-
-#ifdef QGISDEBUG
-  const char * dataproviderStr = providerKey.ascii(); // debugger probe
-#endif
-
-  if ( ! setDataProvider( providerKey ) )
-  {
-    return false;
-  }
-
-  //read provider encoding
-  QDomNode encodingNode = layer_node.namedItem("encoding");
-  if( ! encodingNode.isNull() && dataProvider )
-  {
-    dataProvider->setEncoding(encodingNode.toElement().text());
-  }
-
-  // get and set the display field if it exists.
-  QDomNode displayFieldNode = layer_node.namedItem("displayfield");
-  if (!displayFieldNode.isNull())
-  {
-    QDomElement e = displayFieldNode.toElement();
-    setDisplayField(e.text());
-  }
-
-
-
-  // create and bind a renderer to this layer
-
-  QDomNode singlenode = layer_node.namedItem("singlesymbol");
-  QDomNode graduatednode = layer_node.namedItem("graduatedsymbol");
-  QDomNode continuousnode = layer_node.namedItem("continuoussymbol");
-  QDomNode singlemarkernode = layer_node.namedItem("singlemarker");
-  QDomNode graduatedmarkernode = layer_node.namedItem("graduatedmarker");
-  QDomNode uniquevaluenode = layer_node.namedItem("uniquevalue");
-  QDomNode labelnode = layer_node.namedItem("label");
-  QDomNode uniquemarkernode = layer_node.namedItem("uniquevaluemarker");
-
-  //std::auto_ptr<QgsRenderer> renderer; actually the renderer SHOULD NOT be
-  //deleted when this function finishes, otherwise the application will
-  //crash
-  // XXX this seems to be a dangerous implementation; should re-visit design
-  QgsRenderer * renderer;
-
-  // XXX Kludge!
-
-
-  // if we don't have a coordinate transform, get one
-
-  //
-  // Im commenting this out - if the layer was serialied in a 
-  //  >=0.7 project it should have been validated and have all
-  // coord xform info
-  //
-
-  //if ( ! coordinateTransform() )
-  //{
-  //    setCoordinateSystem();
-  //}
-
-  if (!singlenode.isNull())
-  {
-    renderer = new QgsSingleSymbolRenderer(vectorType());
-    renderer->readXML(singlenode, *this);
-  }
-  else if (!graduatednode.isNull())
-  {
-    renderer = new QgsGraduatedSymbolRenderer(vectorType());
-    renderer->readXML(graduatednode, *this);
-  }
-  else if (!continuousnode.isNull())
-  {
-    renderer = new QgsContinuousColorRenderer(vectorType());
-    renderer->readXML(continuousnode, *this);
-  }
-  else if (!uniquevaluenode.isNull())
-  {
-    renderer = new QgsUniqueValueRenderer(vectorType());
-    renderer->readXML(uniquevaluenode, *this);
-  }
-
-  // Test if labeling is on or off
-  QDomElement element = labelnode.toElement();
-  int labelOn = element.text().toInt();
-  if (labelOn < 1)
-  {
-    setLabelOn(false);
-  }
-  else
-  {
-    setLabelOn(true);
-  }
-
-#ifdef QGISDEBUG
-  std::cout << "Testing if qgsvectorlayer can call label readXML routine" << std::endl;
-#endif
-
-  QDomNode labelattributesnode = layer_node.namedItem("labelattributes");
-
-  if(!labelattributesnode.isNull())
-  {
-#ifdef QGISDEBUG
-    std::cout << "qgsvectorlayer calling label readXML routine" << std::endl;
-#endif
-    mLabel->readXML(labelattributesnode);
-  }
-
-  return valid;               // should be true if read successfully
-
-} // void QgsVectorLayer::readXML_
-
-
-
-bool QgsVectorLayer::setDataProvider( QString const & provider )
-{
-  // XXX should I check for and possibly delete any pre-existing providers?
-  // XXX How often will that scenario occur?
-
-  providerKey = provider;     // XXX is this necessary?  Usually already set
-  // XXX when execution gets here.
-
-  //XXX - This was a dynamic cast but that kills the Windows
-  //      version big-time with an abnormal termination error
-  dataProvider = 
-    (QgsVectorDataProvider*)(QgsProviderRegistry::instance()->getProvider(provider,dataSource));
-
-  if (dataProvider)
-  {
-    QgsDebug( "Instantiated the data provider plugin" );
-
-    if (dataProvider->isValid())
-    {
-      valid = true;
-
-      // TODO: Check if the provider has the capability to send fullExtentCalculated
-      connect(dataProvider, SIGNAL( fullExtentCalculated() ), 
-          this,           SLOT( updateExtents() ) 
-          );
-
-      // get the extent
-      QgsRect *mbr = dataProvider->extent();
-
-      // show the extent
-      QString s = mbr->stringRep();
-      QgsDebugMsg("Extent of layer: " +  s);
-      // store the extent
-      layerExtent.setXmax(mbr->xMax());
-      layerExtent.setXmin(mbr->xMin());
-      layerExtent.setYmax(mbr->yMax());
-      layerExtent.setYmin(mbr->yMin());
-
-      // get and store the feature type
-      geometryType = dataProvider->geometryType();
-
-      // look at the fields in the layer and set the primary
-      // display field using some real fuzzy logic
-      setDisplayField();
-
-      if (providerKey == "postgres")
-      {
-	QgsDebugMsg("Beautifying layer name " + name());
-        // adjust the display name for postgres layers
-        QRegExp reg("\".+\"\\.\"(.+)\"");
-        reg.indexIn(name());
-        QStringList stuff = reg.capturedTexts();
-        QString lName = stuff[1];
-        if (lName.length() == 0) // fallback
-          lName = name();
-        setLayerName(lName);
-	QgsDebugMsg("Beautifying layer name " + name());
-      }
-
-      // label
-      mLabel = new QgsLabel ( dataProvider->fields() );
-      mLabelOn = false;
-    }
-    else
-    {
-#ifdef QGISDEBUG
-      qDebug( "%s:%d invalid provider plugin %s", 
-          __FILE__, __LINE__, dataSource.ascii() );
-      return false;
-#endif
-    }
-  }
-  else
-  {
-    QgsDebug( " unable to get data provider" );
-
-    return false;
-  }
-
-  return true;
-
-} // QgsVectorLayer:: setDataProvider
-
-
-
-
-/* virtual */ bool QgsVectorLayer::writeXML_( QDomNode & layer_node,
-    QDomDocument & document )
-{
-  // first get the layer element so that we can append the type attribute
-
-  QDomElement mapLayerNode = layer_node.toElement();
-
-  if ( mapLayerNode.isNull() || ("maplayer" != mapLayerNode.nodeName()) )
-  {
-    qDebug( "QgsVectorLayer::writeXML() can't find <maplayer>" );
-    return false;
-  }
-
-  mapLayerNode.setAttribute( "type", "vector" );
-
-  // set the geometry type
-  mapLayerNode.setAttribute( "geometry", QGis::qgisVectorGeometryType[vectorType()]);
-
-  // add provider node
-
-  QDomElement provider  = document.createElement( "provider" );
-  QDomText providerText = document.createTextNode( providerType() );
-  provider.appendChild( providerText );
-  layer_node.appendChild( provider );
-
-  //provider encoding
-  QDomElement encoding = document.createElement("encoding");
-  QDomText encodingText = document.createTextNode(dataProvider->encoding());
-  encoding.appendChild( encodingText );
-  layer_node.appendChild( encoding );
-
-  //classification field(s)
-  std::list<int> attributes=m_renderer->classificationAttributes();
-  const std::vector<QgsField> providerFields = dataProvider->fields();
-  for(std::list<int>::const_iterator it = attributes.begin(); it != attributes.end(); ++it)
-    {
-      QDomElement classificationElement = document.createElement("classificationattribute");
-      QDomText classificationText = document.createTextNode(providerFields[*it].name());
-      classificationElement.appendChild(classificationText);
-      layer_node.appendChild(classificationElement);
-    }
-
-  // add the display field
-
-  QDomElement dField  = document.createElement( "displayfield" );
-  QDomText dFieldText = document.createTextNode( displayField() );
-  dField.appendChild( dFieldText );
-  layer_node.appendChild( dField );
-
-  // add label node
-
-  QDomElement label  = document.createElement( "label" );
-  QDomText labelText = document.createTextNode( "" );
-
-  if ( labelOn() )
-  {
-    labelText.setData( "1" );
-  }
-  else
-  {
-    labelText.setData( "0" );
-  }
-  label.appendChild( labelText );
-
-  layer_node.appendChild( label );
-
-  // add attribute actions
-
-  mActions.writeXML(layer_node, document);
-
-  // renderer specific settings
-
-  const QgsRenderer * myRenderer;
-  if( myRenderer = renderer())
-  {
-    myRenderer->writeXML(layer_node, document);
-  }
-  else
-  {
-    std::cerr << __FILE__ << ":" << __LINE__
-      << " no renderer\n";
-
-    // XXX return false?
-  }
-
-  // Now we get to do all that all over again for QgsLabel
-
-  // XXX Since this is largely a cut-n-paste from the previous, this
-  // XXX therefore becomes a candidate to be generalized into a separate
-  // XXX function.  I think.
-
-  QgsLabel * myLabel;
-
-  if ( myLabel = this->label() )
-  {
-    std::stringstream labelXML;
-
-    myLabel->writeXML(labelXML);
-
-    QDomDocument labelDOM;
-
-    std::string rawXML;
-    std::string temp_str;
-    QString     errorMsg;
-    int         errorLine;
-    int         errorColumn;
-
-    // start with bogus XML header
-    rawXML  = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
-
-    temp_str = labelXML.str();
-
-    rawXML   += temp_str;
-
-#ifdef QGISDEBUG
-    std::cout << rawXML << std::endl << std::flush;
-#endif
-    const char * s = rawXML.c_str(); // debugger probe
-    // Use the const char * form of the xml to make non-stl qt happy
-    if ( ! labelDOM.setContent( QString::fromUtf8(s), &errorMsg, &errorLine, &errorColumn ) )
-    {
-      qDebug( ("XML import error at line %d column %d " + errorMsg).toLocal8Bit().data(), errorLine, errorColumn );
-
-      return false;
-    }
-
-    // lastChild() because the first two nodes are the <xml> and
-    // <!DOCTYPE> nodes; the label node follows that, and is (hopefully)
-    // the last node.
-    QDomNode labelDOMNode = document.importNode( labelDOM.lastChild(), true );
-
-    if ( ! labelDOMNode.isNull() )
-    {
-      layer_node.appendChild( labelDOMNode );
-    }
-    else
-    {
-      qDebug( "not able to import label DOM node" );
-
-      // XXX return false?
-    }
-
-  }
-
-  return true;
-} // bool QgsVectorLayer::writeXML_
-
-
-/** we wouldn't have to do this if slots were inherited */
-void QgsVectorLayer::inOverview( bool b )
-{
-  QgsMapLayer::inOverview( b );
-}
-
-int QgsVectorLayer::findFreeId()
-{
-  int freeid=-INT_MAX;
-  int fid;
-  if(dataProvider)
-  {
-    dataProvider->reset();
-    QgsFeature *fet;
-
-    //TODO: Is there an easier way of doing this other than iteration?
-    //TODO: Also, what about race conditions between this code and a competing mapping client?
-    //TODO: Maybe push this to the data provider?
-    while ((fet = dataProvider->getNextFeature(true)))
-    {
-      fid=fet->featureId();
-      if(fid>freeid)
-      {
-        freeid=fid;
-      }
-      delete fet;
-    }
-#ifdef QGISDEBUG
-    qWarning(("freeid is: "+QString::number(freeid+1)).toLocal8Bit().data());
-#endif
-    return freeid+1;
-  }
-  else
-  {
-#ifdef QGISDEBUG
-    qWarning("Error, dataProvider is 0 in QgsVectorLayer::findFreeId");
-#endif
-    return -1;
-  }
-}
-
-bool QgsVectorLayer::commitChanges()
-{
-  /*
-     Unfortunately the commits occur in four distinct stages,
-     (add features, change attributes, change geometries, delete features)
-     so if a stage fails, it's difficult to roll back cleanly.
-     Therefore the error messages become a bit complicated to generate.
-   */
-
-  if(!dataProvider)
-  {
-    return FALSE;
-  }
-
-  // Attempt the commit of new features
-  bool addedFeaturesOk = FALSE;
-  if (mAddedFeatures.size() > 0)
-  {
-    std::list<QgsFeature*> addedlist;
-    for (std::vector<QgsFeature*>::iterator it = mAddedFeatures.begin(); it != mAddedFeatures.end(); ++it)
-    {
-      addedlist.push_back(*it);
-    }
-
-    if (!dataProvider->addFeatures(addedlist))
-    {
-      QStringList errorStrings;
-      errorStrings += tr("Could not commit the added features.");
-      errorStrings += tr("No other types of changes will be committed at this time.");
-
-      QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
-      return FALSE;
-    }
-    else
-    {
-      // Added features committed OK, remove the in-memory changes
-
-      // Delete the features themselves before deleting the references to them.
-      for (std::vector<QgsFeature*>::iterator it = mAddedFeatures.begin(); it != mAddedFeatures.end(); ++it)
-      {
-        delete *it;
-      }
-      mAddedFeatures.clear();
-      addedFeaturesOk = TRUE;
-    }
-  }
-
-  // Attempt the commit of changed attributes
-  bool changedAttributesOk = FALSE;
-  if (mChangedAttributes.size() > 0)
-  {
-    if (!dataProvider->changeAttributeValues(mChangedAttributes))
-    {
-      QStringList errorStrings;
-      errorStrings += tr("Could not commit the changed attributes.");
-      if (addedFeaturesOk)
-      {
-        errorStrings += tr("However, the added features were committed OK.");
-      }
-      errorStrings += tr("No other types of changes will be committed at this time.");
-
-      QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
-      return FALSE;
-    }
-    else
-    {
-      // Changed attributes committed OK, remove the in-memory changes
-      mChangedAttributes.clear();
-      changedAttributesOk = TRUE;
-    }
-  }
-
-  // Attempt the commit of changed geometries
-  bool changedGeometriesOk = FALSE;
-  if (mChangedGeometries.size() > 0)
-  {
-    if (!dataProvider->changeGeometryValues(mChangedGeometries))
-    {
-      QStringList errorStrings;
-      errorStrings += tr("Could not commit the changed geometries.");
-      if (addedFeaturesOk)
-      {
-        errorStrings += tr("However, the added features were committed OK.");
-      }
-      if (changedAttributesOk)
-      {
-        errorStrings += tr("However, the changed attributes were committed OK.");
-      }
-      errorStrings += tr("No other types of changes will be committed at this time.");
-
-      QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
-      return FALSE;
-    }
-    else
-    {
-      // Changed geometries committed OK, remove the in-memory changes
-      mChangedGeometries.clear();
-      changedGeometriesOk = TRUE;
-    }
-  }
-
-  // Attempt the commit of deleted features
-  bool deletedFeaturesOk = FALSE;
-  if (mDeletedFeatureIds.size() > 0)
-  {
-    std::list<int> deletelist;
-    for (std::set<int>::iterator it = mDeletedFeatureIds.begin(); it != mDeletedFeatureIds.end(); ++it)
-    {
-      deletelist.push_back(*it);
-      mSelectedFeatureIds.erase(*it);//just in case the feature is still selected
-    }
-
-    if (!dataProvider->deleteFeatures(deletelist))
-    {
-      QStringList errorStrings;
-      errorStrings += tr("Could not commit the deleted features.");
-      if (addedFeaturesOk)
-      {
-        errorStrings += tr("However, the added features were committed OK.");
-      }
-      if (changedAttributesOk)
-      {
-        errorStrings += tr("However, the changed attributes were committed OK.");
-      }
-      if (changedGeometriesOk)
-      {
-        errorStrings += tr("However, the changed geometries were committed OK.");
-      }
-      errorStrings += tr("No other types of changes will be committed at this time.");
-
-      QMessageBox::warning(0, tr("Error"), errorStrings.join(" "));
-      return FALSE;
-    }
-    else
-    {
-      // Deleted features committed OK, remove the in-memory changes
-      mDeletedFeatureIds.clear();
-      deletedFeaturesOk = TRUE;
-    }
-  }
-
-  return TRUE;
-}
-
-bool QgsVectorLayer::rollBack()
-{
-  //Roll back changed features
-  mChangedGeometries.clear();   // TODO: Does this leak memory?
-  mChangedAttributes.clear();
-
-  // Roll back added features
-  // Delete the features themselves before deleting the references to them.
-  for(std::vector<QgsFeature*>::iterator it=mAddedFeatures.begin();it!=mAddedFeatures.end();++it)
-  {
-    delete *it;
-  }
-  mAddedFeatures.clear();
-
-  // Roll back deleted features
-  mDeletedFeatureIds.clear();
-
-  updateExtents();
-  return true;
-}
-
-
-int QgsVectorLayer::selectedFeatureCount()
-{
-  return mSelectedFeatureIds.size();
-}
-
-
-std::vector<QgsFeature>* QgsVectorLayer::selectedFeatures()
-{
-  if (!dataProvider)
-  {
-    return 0;
-  }
-  
-  std::vector<QgsFeature>* features = new std::vector<QgsFeature>;
-
-  if (mSelectedFeatureIds.size() == 0)
-  {
-    // short cut
-    return features;
-  }
-
-  // we don't need to cache features ... it just adds unnecessary time
-  // as we don't need to pull *everything* from disk
-
-  // Go through each selected feature ID and determine
-  // its current geometry and attributes
-
-  for (std::set<int>::iterator it  = mSelectedFeatureIds.begin(); it != mSelectedFeatureIds.end(); ++it)
-  {
-    QgsFeature* initialFeature;
-
-    // Pull the original version of the feature from disk or memory
-    // as appropriate
-
-    // Check this selected item against the uncommitted added features
-    bool selectionIsAddedFeature = FALSE;
-
-    for (std::vector<QgsFeature*>::iterator iter  = mAddedFeatures.begin();
-        iter != mAddedFeatures.end();
-        ++iter)
-    {
-      if ( (*it) == (*iter)->featureId() )
-      {
-#ifdef QGISDEBUG
-        std::cout << "QgsVectorLayer::selectedFeatures: found an added geometry: " 
-          << std::endl;
-#endif
-        initialFeature = new QgsFeature(**iter);
-        selectionIsAddedFeature = TRUE;
-      }
-    }
-
-    if (!selectionIsAddedFeature)
-    {
-      // pull committed version from disk
-      initialFeature = new QgsFeature(*it);
-
-      int row = 0;  //TODO: Get rid of this, but getFeatureAttributes()
-                    //      needs it for some reason
-      dataProvider->getFeatureAttributes(*it, row, initialFeature);
-
-      if ( mChangedGeometries.find(*it) == mChangedGeometries.end() )
-      {
-        // also pull committed geometry from disk as we will
-        // not need to overwrite it later
-
-        if (dataProvider->capabilities() & QgsVectorDataProvider::SelectGeometryAtId)
-        {
-          dataProvider->getFeatureGeometry(*it, initialFeature);
-        }
-        else
-        {
-          QMessageBox::information(0, tr("Cannot retrieve features"),
-              tr("The provider for the current layer cannot retrieve geometry for the selected features.  This version of the provider does not have this capability."));
-        }
-      }
-
-    }
-
-    // Transform the feature to the "current" in-memory version
-    QgsFeature finalFeature =
-      QgsFeature(*initialFeature,
-                 mChangedAttributes,
-                 mChangedGeometries);
-
-    delete initialFeature;
-
-    features->push_back(finalFeature);
-
-  } // for each selected
-
-  return features;
-}
-
-bool QgsVectorLayer::addFeatures(std::vector<QgsFeature*>* features, bool makeSelected)
-{
-  if (dataProvider)
-  {  
-    if(!(dataProvider->capabilities() & QgsVectorDataProvider::AddFeatures))
-    {
-      QMessageBox::information(0, tr("Layer cannot be added to"), 
-          tr("The data provider for this layer does not support the addition of features."));
-      return false;
-    }
-
-    if(!isEditable())
-    {
-      QMessageBox::information(0, tr("Layer not editable"), 
-          tr("The current layer is not editable. Choose 'Allow editing' in the legend item right click menu."));
-      return false;
-    }
-
-
-    if (makeSelected)
-    {
-      mSelectedFeatureIds.clear();
-    }
-
-    for (std::vector<QgsFeature*>::iterator iter  = features->begin();
-        iter != features->end();
-        ++iter)
-    {
-      // TODO: Tidy these next two lines up
-
-      //      QgsFeature f = (*iter);
-      //      addFeature(&f, FALSE);
-
-      addFeature(*iter);
-
-      if (makeSelected)
-      {
-        mSelectedFeatureIds.insert((*iter)->featureId());
-      }
-    }
-
-    updateExtents();
-  }  
-  return true;
-}
-
-QString QgsVectorLayer::layerTypeIconPath()
-{
-  QString myThemePath = QgsApplication::themePath();
-  switch(vectorType())
-    {
-    case Point:
-      return (myThemePath+"/mIconPointLayer.png");
-      break;
-    case Line:
-      return (myThemePath+"/mIconLineLayer.png");
-      break;
-    case Polygon:
-      return (myThemePath+"/mIconPolygonLayer.png");
-    default:
-      return (myThemePath+"/mIconLayer.png");
-    }
-}
-
-void QgsVectorLayer::refreshLegend()
-{
-  if(mLegend && m_renderer)
-    {
-      std::list< std::pair<QString, QPixmap> > itemList;
-      m_renderer->refreshLegend(&itemList);
-      if(m_renderer->needsAttributes()) //create an item for each classification field (only one for most renderers)
-	{
-	  std::list<int> classfieldlist = m_renderer->classificationAttributes();
-	  for(std::list<int>::iterator it = classfieldlist.begin(); it!=classfieldlist.end(); ++it)
-	    {
-	      const QgsField theField = (dataProvider->fields())[*it];
-	      QString classfieldname = theField.name();
-	      itemList.push_front(std::make_pair(classfieldname, QPixmap()));
-	    }
-	}
-      mLegend->changeSymbologySettings(getLayerID(), &itemList);
-    }
-}
-
-bool QgsVectorLayer::copySymbologySettings(const QgsMapLayer& other)
-{
-  const QgsVectorLayer* vl = dynamic_cast<const QgsVectorLayer*>(&other);
-
-  if(this == vl)//exit if both vectorlayer are the same
-  {
-    return false;
-  }
-
-  if(!vl)
-  {
-    return false;
-  }
-  delete m_renderer;
-
-  QgsRenderer* r = vl->m_renderer;
-  if(r)
-  {
-    m_renderer = r->clone();
-    return true;
-  }
-  else
-  {
-    return false;
-  }
-}
-
-bool QgsVectorLayer::isSymbologyCompatible(const QgsMapLayer& other) const
-{
-  //vector layers are symbology compatible if they have the same type, the same sequence of numerical/ non numerical fields and the same field names
-
-
-  const QgsVectorLayer* otherVectorLayer = dynamic_cast<const QgsVectorLayer*>(&other);
-  if(otherVectorLayer)
-  {
-
-    if(otherVectorLayer->vectorType() != vectorType())
-      {
-	return false;
-      }
-
-    const std::vector<QgsField> fieldsThis = dataProvider->fields();
-    const std::vector<QgsField> fieldsOther = otherVectorLayer ->dataProvider->fields();
-
-    if(fieldsThis.size() != fieldsOther.size())
-    {
-      return false;
-    }
-
-    //fill two sets with the numerical types for both layers
-    const std::list<QString> numAttThis = dataProvider->numericalTypes();
-    std::set<QString> numericalThis; //the set of numerical types for this vector layer
-    for(std::list<QString>::const_iterator it = numAttThis.begin(); it != numAttThis.end(); ++it)
-    {
-      numericalThis.insert(*it);
-    }
-
-    const std::list<QString> numAttOther = otherVectorLayer ->dataProvider->numericalTypes();
-    std::set<QString> numericalOther; //the set of numerical types for the other vector layer
-    for(std::list<QString>::const_iterator it = numAttOther.begin(); it != numAttOther.end(); ++it)
-    {
-      numericalOther.insert(*it);
-    }
-
-    std::set<QString>::const_iterator thisiter;
-    std::set<QString>::const_iterator otheriter;
-    int fieldsThisSize = fieldsThis.size();
-
-    for(register int i = 0; i < fieldsThisSize; ++i)
-    {
-      if(fieldsThis[i].name() != fieldsOther[i].name())//field names need to be the same
-      {
-        return false;
-      }
-      thisiter = numericalThis.find(fieldsThis[i].name());
-      otheriter = numericalOther.find(fieldsOther[i].name());
-      if(thisiter == numericalThis.end())
-      {
-        if(otheriter != numericalOther.end())
-        {
-          return false;
-        }
-      }
-      else
-      {
-        if(otheriter == numericalOther.end())
-        {
-          return false;
-        }
-      }
-    }
-    return true; //layers are symbology compatible if the code reaches this point
-  }
-  return false;
-}
-
-bool QgsVectorLayer::snapPoint(QgsPoint& point, double tolerance)
-{
-  if(tolerance<=0||!dataProvider)
-  {
-    return false;
-  }
-  double mindist=tolerance*tolerance;//current minimum distance
-  double mindistx=point.x();
-  double mindisty=point.y();
-  QgsFeature* fet;
-  QgsPoint vertexFeature;//the closest vertex of a feature
-  QgsGeometryVertexIndex vindex;
-  double minsquaredist;
-  int rb1, rb2; //rubberband indexes (not used in this method)
-
-  QgsRect selectrect(point.x()-tolerance,point.y()-tolerance,point.x()+tolerance,point.y()+tolerance);
-  selectrect = inverseProjectRect(selectrect);
-  dataProvider->reset();
-  dataProvider->select(&selectrect);
-
-  if(projectionsEnabled() && coordinateTransform())
-    {
-      //inverse tramsform point to layer SRS
-      try
-	{
-	  point = coordinateTransform()->transform(point, QgsCoordinateTransform::INVERSE);
-	}
-      catch(QgsCsException &cse)
-	{
-	  return false;
-	}
-    }
-
-  //go to through the features reported by the spatial filter of the provider
-  while ((fet = dataProvider->getNextFeature(false)))
-  {
-    if(mChangedGeometries.find(fet->featureId()) != mChangedGeometries.end())//if geometry has been changed, use the new geometry
-    {
-      vertexFeature = mChangedGeometries[fet->featureId()].closestVertex(point, vindex, rb1, rb2, minsquaredist);
-    }
-    else
-    {
-      vertexFeature=fet->geometry()->closestVertex(point, vindex, rb1, rb2, minsquaredist);
-    }
-    if(minsquaredist<mindist)
-    {
-      mindistx=vertexFeature.x();
-      mindisty=vertexFeature.y();
-      mindist=minsquaredist;
-    }
-  }
-
-  //also go through the not commited features
-  for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-  {
-    if(mChangedGeometries.find((*iter)->featureId()) != mChangedGeometries.end())//use the changed geometry
-    {
-      vertexFeature = mChangedGeometries[(*iter)->featureId()].closestVertex(point, vindex, rb1, rb2, minsquaredist);
-    }
-    else
-    {
-      vertexFeature=(*iter)->geometry()->closestVertex(point, vindex, rb1, rb2, minsquaredist);
-    }
-    if(minsquaredist<mindist)
-    {
-      mindistx=vertexFeature.x();
-      mindisty=vertexFeature.y();
-      mindist=minsquaredist;
-    }
-  }
-
-  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
-  for(std::map<int, QgsGeometry>::const_iterator iter = mChangedGeometries.begin(); iter != mChangedGeometries.end(); ++iter)
-  {
-    vertexFeature = iter->second.closestVertex(point, vindex, rb1, rb2, minsquaredist);
-    if(minsquaredist<mindist)
-    {
-      mindistx=vertexFeature.x();
-      mindisty=vertexFeature.y();
-      mindist=minsquaredist;
-    }
-  }
-
-  point.setX(mindistx);
-  point.setY(mindisty);
-
-  if(projectionsEnabled())
-    {
-      //transform point to canvas SRC
-      try
-	{
-	  point = coordinateTransform()->transform(point);
-	}
-      catch(QgsCsException &cse)
-	{
-	  return false;
-	}
-    }
-
-  return true;
-}
-
-
-bool QgsVectorLayer::snapVertexWithContext(QgsPoint& point, QgsGeometryVertexIndex& atVertex, int& beforeVertexIndex, int& afterVertexIndex,\
-int& snappedFeatureId, QgsGeometry& snappedGeometry, double tolerance)
-{
-  bool vertexFound = false; //flag to check if a meaningful result can be returned
-  QgsGeometryVertexIndex atVertexTemp;
-  int beforeVertexIndexTemp, afterVertexIndexTemp;
-
-  QgsPoint origPoint = point;
-
-  // Sanity checking
-  if ( tolerance<=0 || !dataProvider)
-  {
-    return false;
-  }
-
-  QgsFeature* feature;
-  QgsPoint minDistSegPoint;  // the closest point
-  double testSqrDist;        // the squared distance between 'point' and 'snappedFeature'
-
-  double minSqrDist  = tolerance*tolerance; //current minimum distance
-
-  QgsRect selectrect(origPoint.x()-tolerance, origPoint.y()-tolerance, origPoint.x()+tolerance, origPoint.y()+tolerance);
-  dataProvider->reset();
-  dataProvider->select(&selectrect);
-
-  if(projectionsEnabled() && coordinateTransform())
-    {
-      //inverse tramsform points to layer SRS
-      try
-	{
-	  origPoint = coordinateTransform()->transform(point, QgsCoordinateTransform::INVERSE);
-	}
-      catch(QgsCsException &cse)
-	{
-	  return false;
-	}
-    }
-
-  // Go through the committed features
-  while ((feature = dataProvider->getNextFeature(false)))
-  {
-    if(mChangedGeometries.find(feature->featureId()) != mChangedGeometries.end())
-    {
-      // ignore for this loop, let the loop below over mChangedGeometries
-      // detect the changed geometry instead
-      continue;
-
-      // // substitute the modified geometry for the committed version
-      // feature->setGeometry(mChangedGeometries[feature->featureId()]);
-    }
-
-    minDistSegPoint = feature->geometry()->closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
-    if (
-        (testSqrDist < minSqrDist) ||
-        (
-         // this test will "choose" the polygon that the origPoint is in:
-         (testSqrDist == minSqrDist) && 
-         (feature->geometry()->contains(&origPoint))
-        )
-       )
-    {
-      point = minDistSegPoint;
-      minSqrDist = testSqrDist;
-
-      atVertex          = atVertexTemp;
-      beforeVertexIndex = beforeVertexIndexTemp;
-      afterVertexIndex = afterVertexIndexTemp;
-      snappedFeatureId  = feature->featureId();
-      snappedGeometry   = *(feature->geometry());
-      vertexFound = true;
-    }
-    delete feature;
-  }
-
-  // Also go through the new features
-  for (std::vector<QgsFeature*>::iterator iter  = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
-  {
-    if(mChangedGeometries.find((*iter)->featureId()) != mChangedGeometries.end())
-      {
-        // ignore for this loop, let the loop below over mChangedGeometries
-        // detect the changed geometry instead
-        continue;
-        // //use the modified geometry
-        // minDistSegPoint = mChangedGeometries[(*iter)->featureId()].closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
-      }
-    else
-      {
-	minDistSegPoint = (*iter)->geometry()->closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
-      }
-    if (
-        (testSqrDist < minSqrDist) ||
-        (
-         // this test will "choose" the polygon that the origPoint is in:
-         (testSqrDist == minSqrDist) && 
-         ((*iter)->geometry()->contains(&origPoint))
-        )
-       )
-    {
-      point = minDistSegPoint;
-      minSqrDist = testSqrDist;
-
-      atVertex      = atVertexTemp;
-      beforeVertexIndex = beforeVertexIndexTemp;
-      afterVertexIndex = afterVertexIndexTemp;
-      snappedFeatureId  =   (*iter)->featureId();
-      snappedGeometry   = *((*iter)->geometry());
-      vertexFound = true;
-    }
-  }
-
-  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
-  for(std::map<int, QgsGeometry>::iterator it = mChangedGeometries.begin(); it != mChangedGeometries.end(); ++it)
-    {
-      minDistSegPoint = it->second.closestVertex(origPoint, atVertexTemp, beforeVertexIndexTemp, afterVertexIndexTemp, testSqrDist);
-      if (
-          (testSqrDist < minSqrDist) ||
-          (
-           // this test will "choose" the polygon that the origPoint is in:
-           (testSqrDist == minSqrDist) && 
-           (it->second.contains(&origPoint))
-          )
-         )
-	{
-	  point = minDistSegPoint;
-	  minSqrDist = testSqrDist;
-	  atVertex      = atVertexTemp;
-	  beforeVertexIndex = beforeVertexIndexTemp;
-	  afterVertexIndex = afterVertexIndexTemp;
-	  snappedFeatureId  = it->first;
-	  snappedGeometry   = it->second;
-	  vertexFound = true;
-	}
-    }
-
-  if(!vertexFound)
-    {
-      beforeVertexIndex = -1;
-      afterVertexIndex = -1;
-      return false;
-    }
-
-   if(projectionsEnabled())
-    {
-      //transform point to canvas SRC
-      try
-	{
-	  point = coordinateTransform()->transform(point);
-	}
-      catch(QgsCsException &cse)
-	{
-	  return false;
-	}
-    }
-  return true;
-}
-
-
-bool QgsVectorLayer::snapSegmentWithContext(QgsPoint& point, QgsGeometryVertexIndex& beforeVertex, int& snappedFeatureId,\
-QgsGeometry& snappedGeometry, double tolerance)
-{
-  bool segmentFound = false; //flag to check if a reasonable result can be returned
-  QgsGeometryVertexIndex beforeVertexTemp;
-
-  QgsPoint origPoint = point;
-
-  // Sanity checking
-  if ( tolerance<=0 || !dataProvider)
-  {
-    return false;
-  }
-
-  QgsFeature* feature;
-  QgsPoint minDistSegPoint;  // the closest point on the segment
-  double testSqrDist;        // the squared distance between 'point' and 'snappedFeature'
-  double minSqrDist  = tolerance*tolerance; //current minimum distance
-
-  QgsRect selectrect(point.x()-tolerance, point.y()-tolerance, point.x()+tolerance, point.y()+tolerance);
-  dataProvider->reset();
-  dataProvider->select(&selectrect);
-
-  if(projectionsEnabled() && coordinateTransform())
-    {
-      //inverse tramsform points to layer SRS
-      try
-	{
-	  origPoint = coordinateTransform()->transform(point, QgsCoordinateTransform::INVERSE);
-	}
-      catch(QgsCsException &cse)
-	{
-	  return false;
-	}
-    }
-
-  // Go through the committed features
-  while ((feature = dataProvider->getNextFeature(false)))
-  {
-    if (mChangedGeometries.find(feature->featureId()) != mChangedGeometries.end())
-    {
-      // ignore for this loop, let the loop below over mChangedGeometries
-      // detect the changed geometry instead
-      continue;
-
-      // // substitute the modified geometry for the committed version
-      // feature->setGeometry( mChangedGeometries[ feature->featureId() ] );
-    }
-
-    minDistSegPoint = feature->geometry()->closestSegmentWithContext(origPoint, beforeVertexTemp, testSqrDist);
-
-    if (
-        (testSqrDist < minSqrDist) ||
-        (
-         // this test will "choose" the polygon that the origPoint is in:
-         (testSqrDist == minSqrDist) && 
-         (feature->geometry()->contains(&origPoint))
-        )
-       )
-    {
-      point = minDistSegPoint;
-      minSqrDist = testSqrDist;
-
-      beforeVertex      = beforeVertexTemp;
-      snappedFeatureId  = feature->featureId();
-      snappedGeometry   = *(feature->geometry());
-      segmentFound = true;
-    }
-    delete feature;
-  }
-
-  // Also go through the new features
-  for (std::vector<QgsFeature*>::iterator iter  = mAddedFeatures.begin(); iter != mAddedFeatures.end(); ++iter)
-  {
-    if(mChangedGeometries.find((*iter)->featureId()) != mChangedGeometries.end())
-      {
-        // ignore for this loop, let the loop below over mChangedGeometries
-        // detect the changed geometry instead
-        continue;
-
-        // //use the modified geometry
-        // minDistSegPoint = mChangedGeometries[(*iter)->featureId()].closestSegmentWithContext(origPoint, beforeVertexTemp, testSqrDist);
-      }
-    else
-      {
-	minDistSegPoint = (*iter)->geometry()->closestSegmentWithContext(origPoint, beforeVertexTemp, testSqrDist);
-      }
-
-    if (
-        (testSqrDist < minSqrDist) ||
-        (
-         // this test will "choose" the polygon that the origPoint is in:
-         (testSqrDist == minSqrDist) && 
-         ((*iter)->geometry()->contains(&origPoint))
-        )
-       )
-    {
-      point = minDistSegPoint;
-      minSqrDist = testSqrDist;
-
-      beforeVertex      = beforeVertexTemp;
-      snappedFeatureId  =   (*iter)->featureId();
-      snappedGeometry   = *((*iter)->geometry());
-      segmentFound = true;
-    }
-  }
-
-  //and also go through the changed geometries, because the spatial filter of the provider did not consider feature changes
-  for(std::map<int, QgsGeometry>::iterator it = mChangedGeometries.begin(); it != mChangedGeometries.end(); ++it)
-    {
-      minDistSegPoint = it->second.closestSegmentWithContext(origPoint, beforeVertexTemp, testSqrDist);
-      if (
-          (testSqrDist < minSqrDist) ||
-          (
-           // this test will "choose" the polygon that the origPoint is in:
-           (testSqrDist == minSqrDist) && 
-           (it->second.contains(&origPoint))
-          )
-        )
-	{
-	  point = minDistSegPoint;
-	  minSqrDist = testSqrDist;
-	  beforeVertex      = beforeVertexTemp;
-	  snappedFeatureId  = it->first;
-	  snappedGeometry   = it->second;
-	  segmentFound = true;
-	}
-    }
-
-  return segmentFound;
-}
-
-
-void QgsVectorLayer::drawFeature(QPainter* p,
-                                 QgsFeature* fet,
-                                 QgsMapToPixel * theMapToPixelTransform,
-                                 QPixmap * marker,
-                                 double markerScaleFactor,
-                                 bool projectionsEnabledFlag,
-                                 bool drawingToEditingCanvas)
-{
-  // Only have variables, etc outside the switch() statement that are
-  // used in all cases of the statement (otherwise they may get
-  // executed, but never used, in a bit of code where performance is
-  // critical).
-
-#if defined(Q_WS_X11)
-  bool needToTrim = false;
-#endif
-
-  unsigned char* feature = fet->getGeometry();
-
-  unsigned int wkbType;
-  memcpy(&wkbType, (feature+1), sizeof(wkbType));
-
-#ifdef QGISDEBUG
-  //std::cout <<"Entering drawFeature()" << std::endl;
-#endif
-
-  switch (wkbType)
-  {
-    case QGis::WKBPoint:
-    case QGis::WKBPoint25D:
-      {
-        double x = *((double *) (feature + 5));
-        double y = *((double *) (feature + 5 + sizeof(double)));
-
-#ifdef QGISDEBUG 
-        //  std::cout <<"...WKBPoint (" << x << ", " << y << ")" <<std::endl;
-#endif
-
-        transformPoint(x, y, theMapToPixelTransform, projectionsEnabledFlag);
-        //QPointF pt(x - (marker->width()/2),  y - (marker->height()/2));
-        QPointF pt(x/markerScaleFactor - (marker->width()/2),  y/markerScaleFactor - (marker->height()/2));
-
-        p->save();
-        p->scale(markerScaleFactor,markerScaleFactor);
-        p->drawPixmap(pt, *marker);
-        p->restore();
-
-        break;
-      }
-    case QGis::WKBMultiPoint:
-    case QGis::WKBMultiPoint25D:
-      {
-        unsigned char *ptr = feature + 5;
-        unsigned int nPoints = *((int*)ptr);
-        ptr += 4;
-
-        p->save();
-        p->scale(markerScaleFactor, markerScaleFactor);
-
-        for (register unsigned int i = 0; i < nPoints; ++i)
-        {
-          ptr += 5;
-          double x = *((double *) ptr);
-          ptr += sizeof(double);
-          double y = *((double *) ptr);
-          ptr += sizeof(double);
-          
-          if (wkbType == QGis::WKBMultiPoint25D) // ignore Z value
-            ptr += sizeof(double);
-
-#ifdef QGISDEBUG 
-          std::cout <<"...WKBMultiPoint (" << x << ", " << y << ")" <<std::endl;
-#endif
-
-          transformPoint(x, y, theMapToPixelTransform, projectionsEnabledFlag);
-          //QPointF pt(x - (marker->width()/2),  y - (marker->height()/2));
-          QPointF pt(x/markerScaleFactor - (marker->width()/2),  y/markerScaleFactor - (marker->height()/2));
-          
-#if defined(Q_WS_X11)
-          // Work around a +/- 32768 limitation on coordinates in X11
-          if (std::abs(x) > QgsClipper::maxX ||
-              std::abs(y) > QgsClipper::maxY)
-            needToTrim = true;
-          else
-#endif
-          p->drawPixmap(pt, *marker);
-        }
-        p->restore();
-
-        break;
-      }
-    case QGis::WKBLineString:
-    case QGis::WKBLineString25D:
-      {
-        drawLineString(feature,
-                       p,
-                       theMapToPixelTransform,
-                       projectionsEnabledFlag,
-                       drawingToEditingCanvas);
-        break;
-      }
-    case QGis::WKBMultiLineString:
-    case QGis::WKBMultiLineString25D:
-    {
-        unsigned char* ptr = feature + 5;
-        unsigned int numLineStrings = *((int*)ptr);
-        ptr = feature + 9;
-        
-        for (register unsigned int jdx = 0; jdx < numLineStrings; jdx++)
-        {
-          ptr = drawLineString(ptr,
-                               p,
-                               theMapToPixelTransform,
-                               projectionsEnabledFlag,
-                               drawingToEditingCanvas);
-        }
-        break;
-      }
-    case QGis::WKBPolygon:
-    case QGis::WKBPolygon25D:
-    {
-        drawPolygon(feature,
-                    p,
-                    theMapToPixelTransform,
-                    projectionsEnabledFlag,
-                    drawingToEditingCanvas);
-        break;
-      }
-    case QGis::WKBMultiPolygon:
-    case QGis::WKBMultiPolygon25D:
-    {
-        unsigned char *ptr = feature + 5;
-        unsigned int numPolygons = *((int*)ptr);
-        ptr = feature + 9;
-        for (register unsigned int kdx = 0; kdx < numPolygons; kdx++)
-          ptr = drawPolygon(ptr,
-                            p,
-                            theMapToPixelTransform, 
-                            projectionsEnabledFlag,
-                            drawingToEditingCanvas);
-        break;
-      }
-    default:
-#ifdef QGISDEBUG
-      std::cout << "UNKNOWN WKBTYPE ENCOUNTERED\n";
-#endif
-      break;
-  }
-}
-
-
-
-void QgsVectorLayer::saveAsShapefile()
-{
-  // call the dataproviders saveAsShapefile method
-  dataProvider->saveAsShapefile();
-}
-
-void QgsVectorLayer::setCoordinateSystem()
-{
-  delete mCoordinateTransform;
-  mCoordinateTransform=new QgsCoordinateTransform();
-  //slot is defined inthe maplayer superclass
-  connect(mCoordinateTransform, SIGNAL(invalidTransformInput()), this, SLOT(invalidTransformInput()));
-
-  QgsDebugMsg("QgsVectorLayer::setCoordinateSystem ------------------------------------------------start");
-  QgsDebugMsg("QgsVectorLayer::setCoordinateSystem ----- Computing Coordinate System");
-  //
-  // Get the layers project info and set up the QgsCoordinateTransform 
-  // for this layer
-  //
-  int srid = getProjectionSrid();
-
-  if(srid == 0)
-  {
-    QString mySourceWKT(getProjectionWKT());
-    if (mySourceWKT.isNull())
-    {
-      mySourceWKT=QString("");
-    }
-    QgsDebugMsg("QgsVectorLayer::setCoordinateSystem --- using wkt " + mySourceWKT);
-    mCoordinateTransform->sourceSRS().createFromWkt(mySourceWKT);
-    //mCoordinateTransform->sourceSRS()->createFromWkt(getProjectionWKT());
-  }
-  else
-  {
-    QgsDebugMsg("QgsVectorLayer::setCoordinateSystem --- using srid " + QString::number(srid));
-    mCoordinateTransform->sourceSRS().createFromSrid(srid);
-  }
-
-  //QgsSpatialRefSys provides a mechanism for FORCE a srs to be valid
-  //which is inolves falling back to system, project or user selected
-  //defaults if the srs is not properly intialised.
-  //we only nee to do that if the srs is not alreay valid
-  if (!mCoordinateTransform->sourceSRS().isValid())
-  {
-    mCoordinateTransform->sourceSRS().validate();
-  }
-  //get the project projections WKT, defaulting to this layer's projection
-  //if none exists....
-  //First get the SRS for the default projection WGS 84
-  //QString defaultWkt = QgsSpatialReferences::instance()->getSrsBySrid("4326")->srText();
-
-  // if no other layers exist, set the output projection to be
-  // the same as the input projection, otherwise set the output to the
-  // project srs
-
-  QgsDebugMsg("Layer registry has " + QString::number(QgsMapLayerRegistry::instance()->count()) + " layers ");
-  // No reason to set project SRS
-  // if (QgsMapLayerRegistry::instance()->count() ==0)
-  if (NULL)
-  {
-    mCoordinateTransform->destSRS().createFromProj4(
-        mCoordinateTransform->sourceSRS().proj4String());
-    //first layer added will set the default project level projection
-    //TODO remove cast if poss!
-    int mySrsId = static_cast<int>(mCoordinateTransform->sourceSRS().srsid());
-    if (mySrsId)
-    {
-      QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectSRSID",mySrsId);
-    }
-  }
-  else 
-  {
-    mCoordinateTransform->destSRS().createFromSrsId(
-        QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",0));
-  }
-  if (!mCoordinateTransform->destSRS().isValid())
-  {
-    mCoordinateTransform->destSRS().validate();  
-  }
-
-
-  //initialise the transform - you should do this any time one of the SRS's changes
-
-  mCoordinateTransform->initialise();
-
-
-
-}
-
-bool QgsVectorLayer::commitAttributeChanges(const std::set<QString>& deleted,
-    const std::map<QString,QString>& added,
-    std::map<int,std::map<QString,QString> >& changed)
-{
-  bool returnvalue=true;
-
-  if(dataProvider)
-  {
-    if(dataProvider->capabilities()&QgsVectorDataProvider::DeleteAttributes)
-    {
-      //delete attributes in all not commited features
-      for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-      {
-        for(std::set<QString>::const_iterator it=deleted.begin();it!=deleted.end();++it)
-        {
-          (*iter)->deleteAttribute(*it);
-        }
-      }
-      //and then in the provider
-      if(!dataProvider->deleteAttributes(deleted))
-      {
-        returnvalue=false;
-      }
-    }
-
-    if(dataProvider->capabilities()&QgsVectorDataProvider::AddAttributes)
-    {
-      //add attributes in all not commited features
-      for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-      {
-        for(std::map<QString,QString>::const_iterator it=added.begin();it!=added.end();++it)
-        {
-          (*iter)->addAttribute(it->first);
-        }
-      }
-      //and then in the provider
-      if(!dataProvider->addAttributes(added))
-      {
-        returnvalue=false;
-      }
-    }
-
-    if(dataProvider->capabilities()&QgsVectorDataProvider::ChangeAttributeValues)
-    {
-      //change values of the not commited features
-      for(std::vector<QgsFeature*>::iterator iter=mAddedFeatures.begin();iter!=mAddedFeatures.end();++iter)
-      {
-        std::map<int,std::map<QString,QString> >::iterator it=changed.find((*iter)->featureId());
-        if(it!=changed.end())
-        {
-          for(std::map<QString,QString>::const_iterator iterat=it->second.begin();iterat!=it->second.end();++iterat)
-          {
-            (*iter)->changeAttributeValue(iterat->first,iterat->second);
-          }
-          changed.erase(it);
-        }
-      }
-
-      //and then those of the commited ones
-      if(!dataProvider->changeAttributeValues(changed))
-      {
-        returnvalue=false;
-      }
-    }
-  }
-  else
-  {
-    returnvalue=false;
-  }
-  return returnvalue;
-}
-
-// Convenience function to transform the given point
-inline void QgsVectorLayer::transformPoint(double& x, 
-    double& y, 
-    QgsMapToPixel* mtp,
-    bool projectionsEnabledFlag)
-{
-  // transform the point
-  if (projectionsEnabledFlag)
-  {
-    double z = 0;
-    mCoordinateTransform->transformInPlace(x, y, z);
-  }
-
-  // transform from projected coordinate system to pixel 
-  // position on map canvas
-  mtp->transformInPlace(x, y);
-}
-
-inline void QgsVectorLayer::transformPoints(
-    std::vector<double>& x, std::vector<double>& y, std::vector<double>& z,
-    QgsMapToPixel* mtp, bool projectionsEnabledFlag)
-{
-  // transform the point
-  if (projectionsEnabledFlag)
-    mCoordinateTransform->transformInPlace(x, y, z);
-
-  // transform from projected coordinate system to pixel 
-  // position on map canvas
-  mtp->transformInPlace(x, y);
-}
-
-unsigned int QgsVectorLayer::getTransparency()
-{
-  return transparencyLevelInt;
-}
-
-//should be between 0 and 255
-void QgsVectorLayer::setTransparency(unsigned int theInt)
-{
-  transparencyLevelInt=theInt;
-} //  QgsRasterLayer::setTransparency(unsigned int theInt)
-

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorlayer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,665 +0,0 @@
-/***************************************************************************
-                          qgsvectorlayer.h  -  description
-                             -------------------
-    begin                : Oct 29, 2003
-    copyright            : (C) 2003 by Gary E.Sherman
-    email                : sherman at mrcc.com
- ***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-/* $Id: qgsvectorlayer.h 6265 2006-12-15 23:22:01Z g_j_m $ */
-
-#ifndef QGSVECTORLAYER_H
-#define QGSVECTORLAYER_H
-
-#include <map>
-#include <set>
-#include <vector>
-
-#include "qgsmaplayer.h"
-#include "qgsattributeaction.h"
-#include "qgsgeometry.h"
-#include "qgsgeometryvertexindex.h"
-
-class QPainter;
-class QLibrary;
-class OGRLayer;
-class OGRDataSource;
-class QPixmap;
-
-class QgisApp;
-class QgsAttributeTableDisplay;
-class QgsData;
-class QgsGeometry;
-class QgsMapToPixel;
-class QgsLabel;
-class QgsLegendItem;
-class QgsRect;
-class QgsRenderer;
-class QgsVectorDataProvider;
-class QgsVectorLayerProperties;
-
-typedef std::map<int, std::map<QString,QString> > changed_attr_map;
-
- /** constants for endian-ness
-    XDR is network, or big-endian, byte order
-    NDR is little-endian byte order
-  */
-
-/*! \class QgsVectorLayer
- * \brief Vector layer backed by a data source provider
- */
-
-class QgsVectorLayer : public QgsMapLayer
-{
-  Q_OBJECT;
-
-public:
-
-  typedef enum ENDIAN
-  {
-    XDR = 0,
-    NDR = 1
-  } endian_t;
-
-  //! Constructor
-  QgsVectorLayer(QString baseName = 0, QString path = 0, QString providerLib = 0);
-
-  //! Destructor
-  virtual ~QgsVectorLayer();
-
-  /** \brief accessor for transparency level.  */
-  unsigned int getTransparency();
-
-  /**
-   *   Returns the permanent storage type for this layer as a friendly name.
-   */
-  QString storageType() const;
-
-  /**
-   *   Capabilities for this layer in a friendly format.
-   */
-  QString capabilitiesString() const;
-
-  //! Select features found within the search rectangle
-  void select(QgsRect * rect, bool lock);
-
-  //!Select not selected features and deselect selected ones
-  void invertSelection();
-
-  //! Display the attribute table
-  /**
-     \param qgisApp   This should be the QgisApp that spawned this table.
-   */
-  void table(QgisApp * qgisApp);
-
-  //! Set the primary display field to be used in the identify results dialog
-  void setDisplayField(QString fldName=0);
-
-  //! Returns the primary display field name used in the identify results dialog
-  const QString displayField() const { return fieldIndex; }
-
-  //! Initialize the context menu
-  void initContextMenu(QgisApp * app);
-
-  enum SHAPETYPE
-  {
-    Point,
-    Line,
-    Polygon
-  };
-
-  /** bind layer to a specific data provider
-
-     @param provider should be "postgres", "ogr", or ??
-
-     @todo XXX should this return bool?  Throw exceptions?
-  */
-  bool setDataProvider( QString const & provider );
-  
-  //! Setup the coordinate system tranformation for the layer
-  void setCoordinateSystem();
-
-  /**Returns the data provider*/
-  QgsVectorDataProvider* getDataProvider();
-
-  /**Returns the data provider in a const-correct manner*/
-  const QgsVectorDataProvider* getDataProvider() const;
-
-  /**Sets the textencoding of the data provider*/
-  void setProviderEncoding(const QString& encoding);
-
-  /** \brief Query data provider to find out the WKT projection string for this layer. This implements the virtual method of the same name defined in QgsMapLayer*/
-  QString getProjectionWKT();
-  /*!
-   * Gets the SRID of the layer by querying the underlying data provider
-   * @return The SRID if the provider is able to provide it, otherwise 0
-   */
-  int getProjectionSrid();
-  QgsLabel *label();
-
-  QgsAttributeAction* actions() { return &mActions; }
-
-  //! The number of features that are selected in this layer
-  int selectedFeatureCount();
-
-  /**
-      Get a copy of the user-selected features
-   */  
-  virtual std::vector<QgsFeature>* selectedFeatures();
-
-  /**
-      Insert a copy of the given features into the layer
-   */
-  bool addFeatures(std::vector<QgsFeature*>* features, bool makeSelected = TRUE);
-
-  /**Returns the path to an icon which characterises the type of layer*/
-  QString layerTypeIconPath();
-
-  /**Fill the pixmaps and labels of the renderers into the treeview legend*/
-  void refreshLegend();
-
-  /**Copies the symbology settings from another layer. Returns true in case of success*/
-  bool copySymbologySettings(const QgsMapLayer& other);
-
-  /**Returns true if this layer can be in the same symbology group with another layer*/
-  bool isSymbologyCompatible(const QgsMapLayer& other) const;
-  
-signals:
-  /**This signal is emitted when the layer leaves editing mode.
-     The purpose is to tell QgsMapCanvas to remove the lines of
-     (unfinished) features
-  @param norepaint true: there is no repaint at all. False: QgsMapCanvas
-  decides, if a repaint is necessary or not*/
-  void editingStopped(bool norepaint);
-
-  /** This signal is emited when selection was changed */
-  void selectionChanged(); 
-  
-public slots:
-
-  /** \brief Mutator for transparency level. Should be between 0 and 255 */
-  void setTransparency(unsigned int);
-
-  void inOverview( bool );
-
-  /**Sets the 'tabledisplay' to 0 again*/
-  void invalidateTableDisplay();
-  void select(int number);
-  void removeSelection();
-  void triggerRepaint();
-  /**Shows the properties dialog*/
-  virtual void showLayerProperties();
-  void startEditing();
-  void stopEditing();
-
-  /**
-   * Update the extents for the layer. This is necessary if features are
-   * added/deleted or the layer has been subsetted.
-   */
-  virtual void updateExtents();
-
-  //! Save as shapefile
-  virtual void saveAsShapefile();
-
-
-public:
-
-  /**Returns a pointer to the renderer*/
-  const QgsRenderer* renderer() const;
-  /**Sets the renderer. If a renderer is already present, it is deleted*/
-  void setRenderer(QgsRenderer * r);
-  /**Sets m_propertiesDialog*/
-  void setLayerProperties(QgsVectorLayerProperties * properties);
-  /**Returns point, line or polygon*/
-  QGis::VectorType vectorType() const;
-  /**Returns the WKBType or WKBUnknown in case of error*/
-  QGis::WKBTYPE getGeometryType() const;
-  /**Returns a pointer to the properties dialog*/
-  QgsVectorLayerProperties *propertiesDialog();
-  /**Returns the bounding box of the selected features. If there is no selection, QgsRect(0,0,0,0) is returned*/
-  virtual QgsRect bBoxOfSelected();
-  //! Return the provider type for this layer
-  QString providerType();
-  //! Return the validity of the layer
-  inline bool isValid()
-  {
-    return valid;
-  }
-
-  /** reads vector layer specific state from project file DOM node.
-
-      @note
-
-      Called by QgsMapLayer::readXML().
-
-  */
-  /* virtual */ bool readXML_( QDomNode & layer_node );
-
-
-  /** write vector layer specific state to project file DOM node.
-
-      @note
-
-      Called by QgsMapLayer::writeXML().
-
-  */
-  /* virtual */ bool writeXML_( QDomNode & layer_node, QDomDocument & doc );
-
-
-  /**
-  * Get the first feature resulting from a select operation
-  * @param selected selected feeatures only
-  * @return QgsFeature
-  */
-  virtual QgsFeature * getFirstFeature(bool fetchAttributes=false, bool selected=false) const;
-
-  /**
-  * Get the next feature resulting from a select operation
-  * @param selected selected feeatures only
-  * @return QgsFeature
-  */
-  virtual QgsFeature * getNextFeature(bool fetchAttributes=false, bool selected=false) const;
-
-  /**
-   * Get the next feature using new method
-   * TODO - make this pure virtual once it works and change existing providers
-   *        to use this method of fetching features
-   */
-  virtual bool getNextFeature(QgsFeature &feature, bool fetchAttributes=false) const;
-
-  /**
-   * Number of features in the layer. This is necessary if features are
-   * added/deleted or the layer has been subsetted. If the data provider
-   * chooses not to support this feature, the total number of features
-   * can be returned.
-   * @return long containing number of features
-   */
-  virtual long featureCount() const;
-
-  /**
-   * Update the feature count 
-   * @return long containing the number of features in the datasource
-   */
-  virtual long updateFeatureCount() const;
-
-  /**
-   * Set the string (typically sql) used to define a subset of the layer
-   * @param subset The subset string. This may be the where clause of a sql statement
-   * or other defintion string specific to the underlying dataprovider and data
-   * store.
-   */
-  virtual void setSubsetString(QString subset);
-
-  /**
-   * Get the string (typically sql) used to define a subset of the layer
-   * @return The subset string or QString::null if not implemented by the provider
-   */
-  virtual QString subsetString();
-  /**
-   * Number of attribute fields for a feature in the layer
-   */
-  virtual int fieldCount() const;
-
-
-  /**
-    Return a list of field names for this layer
-   @return vector of field names
-  */
-  virtual std::vector<QgsField> const & fields() const;
-
-  /** Adds a feature
-      @param lastFeatureInBatch  If True, will also go to the effort of e.g. updating the extents.
-      @return                    Irue in case of success and False in case of error
-   */
-  bool addFeature(QgsFeature* f, bool alsoUpdateExtent = TRUE);
-  
-  
-  /** Insert a new vertex before the given vertex number,
-   *  in the given ring, item (first number is index 0), and feature
-   *  Not meaningful for Point geometries
-   */
-  bool insertVertexBefore(double x, double y, int atFeatureId,
-                          QgsGeometryVertexIndex beforeVertex);
-
-  /** Moves the vertex at the given position number,
-   *  ring and item (first number is index 0), and feature
-   *  to the given coordinates
-   */
-  bool moveVertexAt(double x, double y, int atFeatureId,
-                    QgsGeometryVertexIndex atVertex);
-
-  /** Deletes the vertex at the given position number,
-   *  ring and item (first number is index 0), and feature
-   */
-  bool deleteVertexAt(int atFeatureId,
-                      QgsGeometryVertexIndex atVertex);
-
-  /**Deletes the selected features
-     @return true in case of success and false otherwise*/
-  bool deleteSelectedFeatures();
-
-  /**Returns the default value for the attribute @c attr for the feature
-     @c f. */
-  QString getDefaultValue(const QString& attr, QgsFeature* f);
-
-  /**Set labels on */
-  void setLabelOn( bool on );
-
-  /**Label is on */
-  bool labelOn( void );
-
-  /**
-   * Minimum scale at which the layer is rendered
-   * @return Scale as integer 
-   */
-  int minimumScale();
-  /**
-   * Maximum scale at which the layer is rendered
-   * @return Scale as integer 
-   */
-  int maximumScale();
-  /**
-   * Is scale dependent rendering in effect?
-   * @return true if so
-   */
-  bool scaleDependentRender();
-
-  /**Returns true if the provider is in editing mode*/
-  virtual bool isEditable() const {return (mEditable&&dataProvider);}
-
-  /**Returns true if the provider has been modified since the last commit*/
-  virtual bool isModified() const {return mModified;}
-
-  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
-     @param point       The point which is set to the position of a vertex if there is one within the snapping tolerance.
-     If there is no point within this tolerance, point is left unchanged.
-     @param tolerance   The snapping tolerance
-     @return true if the position of point has been changed, and false otherwise */
-  bool snapPoint(QgsPoint& point,
-                 double tolerance);
-
-  /**Snaps a point to the closest vertex if there is one within the snapping tolerance
-     @param atVertex          Set to a vertex index of the snapped-to vertex
-     @param beforeVertexIndex Returns the index of the vertex before atVertex (for rubber band purposes). -1 if no vertex is before
-     @param afterVertexIndex  Returns the index of the vertex after atVertex (for rubber band purposes). -1 if no vertex is after
-     @param snappedFeatureId  Set to the feature ID that where the snapped-to vertex belongs to.
-     @param snappedGeometry   Set to the geometry that the snapped-to vertex belongs to.
-     @param tolerance         The snapping tolerance
-     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
-     
-     TODO: Handle returning multiple verticies if they are coincident
-   */
-  bool snapVertexWithContext(QgsPoint& point,
-                             QgsGeometryVertexIndex& atVertex,
-			     int& beforeVertexIndex,
-			     int& afterVertexIndex,
-                             int& snappedFeatureId,
-                             QgsGeometry& snappedGeometry,
-                             double tolerance);
-
-  /**Snaps a point to the closest line segment if there is one within the snapping tolerance ("tolerance")
-     @param beforeVertex      Set to a value where the snapped-to segment is before this vertex index
-     @param snappedFeatureId  Set to the feature ID that where the snapped-to segment belongs to.
-     @param snappedGeometry   Set to the geometry that the snapped-to segment belongs to.
-     @param tolerance         The snapping tolerance
-     @return true if the position of the points have been changed, and false otherwise (or not implemented by the provider) 
-     
-     TODO: Handle returning multiple lineFeatures if they are coincident
-   */
-  bool snapSegmentWithContext(QgsPoint& point,
-                              QgsGeometryVertexIndex& beforeVertex,
-                              int& snappedFeatureId, 
-                              QgsGeometry& snappedGeometry,
-                              double tolerance);
-
-  /**
-    Commits edited attributes. Depending on the feature id,
-    the changes are written to not commited features or redirected to
-    the data provider
-
-    The commits (in this version) occur in three distinct stages,
-    (delete attributes, add attributes, change attribute values)
-    so if a stage fails, it's difficult to roll back cleanly.
-
-    \todo Need to indicate at which stage the failed commit occurred,
-          for better cleanup and recovery from the error.
-
-    \param deleted  Set of attribute names (i.e. columns) to delete
-    \param added    Map (name, type) of attribute names (i.e. columns) to add
-    \param changed  Map (feature ID, Map (attribute name, new value) )
-                      of attribute values to change
-
-   */
-  bool commitAttributeChanges(const std::set<QString>& deleted,
-            const std::map<QString,QString>& added,
-            std::map<int,std::map<QString,QString> >& changed);
-
-  /** \brief Draws the layer using coordinate transformation
-   *  \param widthScale line width scale
-   *  \param symbolScale symbol scale
-   */
-  void draw(QPainter * p,
-            QgsRect * viewExtent,
-            QgsMapToPixel * cXf,
-            bool drawingToEditingCanvas,
-            double widthScale,
-            double symbolScale);
-
-  /** \brief Draws the layer labels using coordinate transformation
-   *  \param scale size scale, applied to all values in pixels
-   */
-  void drawLabels(QPainter * p, QgsRect * viewExtent, QgsMapToPixel * cXf, double scale);
-
-  /** returns array of added features */
-  std::vector<QgsFeature*>& addedFeatures() { return mAddedFeatures; }
-
-  /** returns array of deleted feature IDs */
-  std::set<int>& deletedFeatureIds() { return mDeletedFeatureIds; }
- 
-  /** returns array of features with changed attributes */
-  changed_attr_map& changedAttributes() { return mChangedAttributes; }
-
-  /**Sets whether some features are modified or not */
-  void setModified(bool modified = TRUE) { mModified = modified; }
-  
-  endian_t endian();
-
-  protected:
-  /**Pointer to the table display object if there is one, else a pointer to 0*/
-  QgsAttributeTableDisplay * tabledisplay;
-  
-  /** cache of the committed geometries retrieved *for the current display* */
-  std::map<int, QgsGeometry*> mCachedGeometries;
-  
-  /** Set holding the feature IDs that are activated.  Note that if a feature
-      subsequently gets deleted (i.e. by its addition to mDeletedFeatureIds),
-      it always needs to be removed from mSelectedFeatureIds as well.
-   */
-  std::set<int> mSelectedFeatureIds;
-  
-  /** Set holding the feature IDs that are in "set A" for a future geometry algebra operation
-      TODO: BM: Do something useful with this.
-   */
-  std::set<int> mSubjectedFeatureIds;
-  
-  /** Deleted feature IDs which are not commited.  Note a feature can be added and then deleted
-      again before the change is committed - in that case the added feature would be removed
-      from mAddedFeatures only and *not* entered here. */
-  std::set<int> mDeletedFeatureIds;
-  
-  /** New features which are not commited.  Note a feature can be added and then changed,
-      therefore the details here can be overridden by mChangedAttributes and mChangedGeometries. */
-  std::vector<QgsFeature*> mAddedFeatures;
-  
-  /** Changed attributes which are not commited */
-  changed_attr_map mChangedAttributes;
-  
-  /** Changed geometries which are not commited. */
-  std::map<int, QgsGeometry> mChangedGeometries;
-  
-  /**Renderer object which holds the information about how to display the features*/
-  QgsRenderer *m_renderer;
-  /**Label */
-  QgsLabel *mLabel;
-  /**Display labels */
-  bool mLabelOn;
-  /**Dialog to set the properties*/
-  QgsVectorLayerProperties *m_propertiesDialog;
-  /**Goes through all features and finds a free id (e.g. to give it temporarily to a not-commited feature)*/
-  int findFreeId();
-
-  /**
-    Attempts to commit any changes to disk.  Returns the result of the attempt.
-    If a commit fails, the in-memory changes are left alone.
-
-    This allows editing to continue if the commit failed on e.g. a
-    disallowed value in a Postgres database - the user can re-edit and try
-    again.
-
-    The commits (in this version) occur in four distinct stages,
-    (add features, change attributes, change geometries, delete features)
-    so if a stage fails, it's difficult to roll back cleanly.
-    Therefore any error message also includes which stage failed so 
-    that the user has some chance of repairing the damage cleanly.
-
-   */
-  bool commitChanges();
-
-  /**Discards the edits*/
-  bool rollBack();
-
- 
-protected slots:
-
-  void toggleEditing();
-
-private:                       // Private attributes
-
-  //! Draws features. 
-  /** \note May cause projections exceptions to be generated
-            (i.e., code that calls this function needs to catch them
-   */
-  void drawFeature(QPainter* p,
-                   QgsFeature* fet,
-                   QgsMapToPixel * cXf,
-                   QPixmap* marker,
-                   double markerScaleFactor,
-                   bool projectionsEnabledFlag,
-                   bool drawingToEditingCanvas);
-
-private:                       // Private attributes
-
-  //! Draws the layer labels using coordinate transformation
-  void drawLabels(QPainter * p, QgsRect * viewExtent, QgsMapToPixel * cXf);
-
-  // Convenience function to transform the given point
-  void transformPoint(double& x, double& y, 
-      QgsMapToPixel* mtp, bool projectionsEnabledFlag);
-  
-  void transformPoints(std::vector<double>& x, std::vector<double>& y,
-      std::vector<double>& z,
-      QgsMapToPixel* mtp, bool projectionsEnabledFlag);
-
-  // Inverse projects the given rectangle if coordinate transforms are
-  // in effect. Alters the given rectangle
-  QgsRect inverseProjectRect(const QgsRect& r) const;
-
-  // Draw the linestring as given in the WKB format. Returns a pointer
-  // to the byte after the end of the line string binary data stream
-  // (WKB).
-  unsigned char* drawLineString(unsigned char* WKBlinestring,
-                                QPainter* p,
-                                QgsMapToPixel* mtp,
-                                bool projectionsEnabledFlag,
-                                bool drawingToEditingCanvas);
-
-  // Draw the polygon as given in the WKB format. Returns a pointer to
-  // the byte after the end of the polygon binary data stream (WKB).
-  unsigned char* drawPolygon(unsigned char* WKBpolygon,
-                             QPainter* p,
-                             QgsMapToPixel* mtp,
-                             bool projectionsEnabledFlag,
-                             bool drawingToEditingCanvas);
-
-  /** tailor the right-click context menu with vector layer only stuff
-
-    @note called by QgsMapLayer::initContextMenu();
-   */
-  void initContextMenu_(QgisApp *);
-
-  //! Draws the layer using coordinate transformation
-  /**
-      \param drawingToEditingCanvas  Are we drawing to an editable canvas?
-
-      \return FALSE if an error occurred during drawing
-   */
-  bool draw(QPainter * p,
-            QgsRect * viewExtent,
-            QgsMapToPixel * cXf,
-            bool drawingToEditingCanvas);
-
-  //! Pointer to data provider derived from the abastract base class QgsDataProvider
-  QgsVectorDataProvider *dataProvider;
-
-  //! index of the primary label field
-  QString fieldIndex;
-
-  //! Data provider key
-  QString providerKey;
-
-  //! Flag to indicate if this is a valid layer
-  bool valid;
-  bool registered;
-
-private:                       // Private methods
-
-  /**Caches all the (commited) geometries to mCachedGeometries - somewhat out of date as mCachedGeometries should only contain geometries currently visible on the canvas */
-  void cacheGeometries();
-  /**Deletes the geometries in mCachedGeometries*/
-  void deleteCachedGeometries();
-
-  /** Draws a vertex symbol at (screen) coordinates x, y. (Useful to assist vertex editing.) */
-  void drawVertexMarker(int x, int y, QPainter& p);
-
-  // pointer for loading the provider library
-  QLibrary *myLib;
-  //! Update threshold for drawing features as they are read. A value of zero indicates
-  // that no features will be drawn until all have been read
-  int updateThreshold;
-  //! Minimum scale factor at which the layer is displayed
-  int mMinimumScale;
-  //! Maximum scale factor at which the layer is displayed
-  int mMaximumScale;
-  //! Flag to indicate if scale dependent rendering is in effect
-  bool mScaleDependentRender;
-
-  /// vector layers are not copyable
-  QgsVectorLayer( QgsVectorLayer const & rhs );
-
-  /// vector layers are not copyable
-  QgsVectorLayer & operator=( QgsVectorLayer const & rhs );
-
-  // The user-defined actions that are accessed from the
-  // Identify Results dialog box
-  QgsAttributeAction mActions;
-
-  /**Flag indicating whether the layer is in editing mode or not*/
-  bool mEditable;
-  
-  /**Flag indicating whether the layer has been modified since the last commit*/
-  bool mModified;
-  
-  /**Toggle editing action in the context menu*/
-  QAction* mToggleEditingAction;
-
-};
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,597 +0,0 @@
-/***************************************************************************
-                          qgsdlgvectorlayerproperties.cpp
-                   Unified property dialog for vector layers
-                             -------------------
-    begin                : 2004-01-28
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsvectorlayerproperties.cpp 6816 2007-03-18 11:43:41Z homann $ */
-
-#include "qgsvectorlayerproperties.h"
-#include "qgsattributeactiondialog.h"
-#include "qgscontinuouscolordialog.h"
-#include "qgsgraduatedsymboldialog.h"
-#include "qgslabel.h"
-#include "qgslabeldialog.h"
-#include "qgslayerprojectionselector.h"
-#include "qgssinglesymboldialog.h"
-#include "qgsuniquevaluedialog.h"
-#include "qgsvectordataprovider.h"
-#include "qgsvectorlayer.h"
-#include "qgscontexthelp.h"
-#ifdef HAVE_POSTGRESQL
-#include "qgspgquerybuilder.h"
-#include "../providers/postgres/qgspostgresprovider.h"
-#endif
-
-#include <QMessageBox>
-
-QgsVectorLayerProperties::QgsVectorLayerProperties(QgsVectorLayer * lyr, 
-                                                         QWidget * parent, 
-                                                         Qt::WFlags fl)
-: QDialog(parent, fl),
-      layer(lyr), 
-      mRendererDialog(0)
-{
-  setupUi(this);
-  // Create the Label dialog tab
-  QVBoxLayout *layout = new QVBoxLayout( labelOptionsFrame );
-  layout->setMargin(0);
-  labelDialog = new QgsLabelDialog ( layer->label(), labelOptionsFrame);
-  layout->addWidget( labelDialog );
-  labelOptionsFrame->setLayout(layout);
-  connect(labelDialog, SIGNAL(labelSourceSet()), 
-          this, SLOT(setLabelCheckBox()));
-
-  // Create the Actions dialog tab
-  QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
-  QVBoxLayout *actionLayout = new QVBoxLayout( actionOptionsFrame );
-  actionLayout->setMargin(0);
-  std::vector<QgsField> fields = dp->fields();
-  actionDialog = new QgsAttributeActionDialog ( layer->actions(), fields, 
-                                                actionOptionsFrame );
-  actionLayout->addWidget( actionDialog );
-
-  reset();
-  pbnOK->setFocus();
-  if(layer->getDataProvider())//enable spatial index button group if supported by provider
-  {
-      int capabilities=layer->getDataProvider()->capabilities();
-      if(!(capabilities&QgsVectorDataProvider::CreateSpatialIndex))
-      {
-	  indexGroupBox->setEnabled(false);
-      }
-  }
-
-  if ( layer->coordinateTransform() )
-  {
-      leSpatialRefSys->setText(layer->coordinateTransform()->sourceSRS().proj4String());
-      leSpatialRefSys->setCursorPosition(0);
-  }
-  connect(sliderTransparency, SIGNAL(valueChanged(int)), this, SLOT(sliderTransparency_valueChanged(int)));
-
-} // QgsVectorLayerProperties ctor
-
-QgsVectorLayerProperties::~QgsVectorLayerProperties()
-{
-  disconnect(labelDialog, SIGNAL(labelSourceSet()), 
-          this, SLOT(setLabelCheckBox()));  
-}
-void QgsVectorLayerProperties::sliderTransparency_valueChanged(int theValue)
-{
-  //set the transparency percentage label to a suitable value
-  int myInt = static_cast < int >((theValue / 255.0) * 100);  //255.0 to prevent integer division
-  lblTransparencyPercent->setText(tr("Transparency: ") + QString::number(myInt) + "%");
-}//sliderTransparency_valueChanged
-
-void QgsVectorLayerProperties::setLabelCheckBox()
-{
-  labelCheckBox->setCheckState(Qt::Checked);
-}
-
-void QgsVectorLayerProperties::alterLayerDialog(const QString & dialogString)
-{
-
-    widgetStackRenderers->removeWidget(mRendererDialog);
-    delete mRendererDialog;
-    mRendererDialog=0;
-    if(dialogString == tr("Single Symbol"))
-    {
-	mRendererDialog = new QgsSingleSymbolDialog(layer);
-    }
-    else if(dialogString == tr("Graduated Symbol"))
-    {
-	mRendererDialog = new QgsGraduatedSymbolDialog(layer);
-    }
-    else if(dialogString == tr("Continuous Color"))
-    {
-	mRendererDialog = new QgsContinuousColorDialog(layer);
-    }
-    else if(dialogString == tr("Unique Value"))
-    {
-	mRendererDialog = new QgsUniqueValueDialog(layer);
-    }
-    widgetStackRenderers->addWidget(mRendererDialog);
-    widgetStackRenderers->setCurrentWidget(mRendererDialog);  
-}
-
-void QgsVectorLayerProperties::setLegendType(QString type)
-{
-  legendtypecombobox->setCurrentText(type);
-}
-
-void QgsVectorLayerProperties::setDisplayField(QString name)
-{
-  displayFieldComboBox->setCurrentText(name);
-}
-
-//! @note in raster props, this metho d is called sync()
-void QgsVectorLayerProperties::reset( void )
-{
-  // populate the general information
-  txtDisplayName->setText(layer->name());
-  pbnQueryBuilder->setWhatsThis(tr("This button opens the PostgreSQL query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer"));
-  txtSubsetSQL->setWhatsThis(tr("The query used to limit the features in the layer is shown here. This is currently only supported for PostgreSQL layers. To enter or modify the query, click on the Query Builder button"));
-
-  //we are dealing with a pg layer here so that we can enable the sql box
-  QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
-  //see if we are dealing with a pg layer here
-  if(layer->providerType() == "postgres")
-  {
-    grpSubset->setEnabled(true);
-    txtSubsetSQL->setText(layer->subsetString());
-    // if the user is allowed to type an adhoc query, the app will crash if the query
-    // is bad. For this reason, the sql box is disabled and the query must be built
-    // using the query builder, either by typing it in by hand or using the buttons, etc
-    // on the builder. If the ability to enter a query directly into the box is required,
-    // a mechanism to check it must be implemented.
-    txtSubsetSQL->setEnabled(false); 
-    pbnQueryBuilder->setEnabled(true);
-  }
-  else
-  {
-    grpSubset->setEnabled(false);
-  }
-
-  //get field list for display field combo
-  std::vector<QgsField> myFields = dp->fields();
-  for (int i = 0; i < myFields.size(); i++)
-  {
-    QgsField myField = myFields[i];            
-    displayFieldComboBox->insertItem( myField.name() );
-  }   
-
-  // set up the scale based layer visibility stuff....
-  chkUseScaleDependentRendering->setChecked(layer->scaleBasedVisibility());
-  spinMinimumScale->setValue((int)layer->minScale());
-  spinMaximumScale->setValue((int)layer->maxScale());
-
-  // symbology initialization
-  if(legendtypecombobox->count()==0)
-    {
-      legendtypecombobox->insertItem(tr("Single Symbol"));
-      if(myFields.size()>0)
-      {
-	  legendtypecombobox->insertItem(tr("Graduated Symbol"));
-	  legendtypecombobox->insertItem(tr("Continuous Color"));
-	  legendtypecombobox->insertItem(tr("Unique Value"));
-      }
-    }
-
-  //find out the type of renderer in the vectorlayer, create a dialog with these settings and add it to the form
-  delete mRendererDialog;
-  mRendererDialog=0;
-  QString rtype=layer->renderer()->name();
-  if(rtype=="Single Symbol")
-  {
-      mRendererDialog=new QgsSingleSymbolDialog(layer);
-      legendtypecombobox->setCurrentIndex(0);
-  }
-  else if(rtype=="Graduated Symbol")
-  {
-      mRendererDialog=new QgsGraduatedSymbolDialog(layer);
-      legendtypecombobox->setCurrentIndex(1);
-  }
-  else if(rtype=="Continuous Color")
-  {
-      mRendererDialog=new QgsContinuousColorDialog(layer);
-      legendtypecombobox->setCurrentIndex(2);
-  }
-  else if(rtype == "Unique Value")
-  {
-      mRendererDialog=new QgsUniqueValueDialog(layer);
-      legendtypecombobox->setCurrentIndex(3);
-  }
-  
-  if(mRendererDialog)
-  {
-      widgetStackRenderers->addWidget(mRendererDialog);
-      widgetStackRenderers->setCurrentWidget(mRendererDialog);
-  }
-  
-
-  QObject::connect(legendtypecombobox, SIGNAL(activated(const QString &)), this, SLOT(alterLayerDialog(const QString &)));
-
-  // reset fields in label dialog
-  layer->label()->setFields ( layer->fields() );
-  
-  //set the metadata contents
-  teMetadata->setText(getMetadata());
-  actionDialog->init();
-  labelDialog->init();
-  labelCheckBox->setChecked(layer->labelOn());
-  //set the transparency slider
-  sliderTransparency->setValue(255 - layer->getTransparency());
-  //update the transparency percentage label
-  sliderTransparency_valueChanged(255 - layer->getTransparency());
-
-  // Get the label tab to update itself.
-  labelDialog->init();
-
-} // reset()
-
-
-//
-// methods reimplemented from qt designer base class
-//
-
-void QgsVectorLayerProperties::on_pbnCancel_clicked()
-{
- reject();
-}
-void QgsVectorLayerProperties::on_btnHelp_clicked()
-{
-  QgsContextHelp::run(context_id);
-}
-void QgsVectorLayerProperties::on_pbnOK_clicked()
-{
-  on_pbnApply_clicked();
-  layer->setLayerProperties(0);
-  close(true);
-}
-void QgsVectorLayerProperties::on_pbnApply_clicked()
-{
-  //
-  // Set up sql subset query if applicable
-  //
-#ifdef HAVE_POSTGRESQL
-  QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
-  //see if we are dealing with a pg layer here
-  if(layer->providerType() == "postgres")
-  {
-    grpSubset->setEnabled(true);
-    // set the subset sql for the layer
-    layer->setSubsetString(txtSubsetSQL->text());   
-    // update the metadata with the updated sql subset
-    teMetadata->setText(getMetadata());
-    // update the extents of the layer (fetched from the provider)
-    layer->updateExtents(); 
-  }
-#endif
-  // set up the scale based layer visibility stuff....
-  layer->setScaleBasedVisibility(chkUseScaleDependentRendering->isChecked());
-  layer->setMinScale(spinMinimumScale->value());
-  layer->setMaxScale(spinMaximumScale->value());
-
-  // update the display field
-  layer->setDisplayField(displayFieldComboBox->currentText());
-
-  actionDialog->apply();
-
-  labelDialog->apply();
-  layer->setLabelOn(labelCheckBox->isChecked());
-  layer->setLayerName(displayName());
-
-
-  QgsSingleSymbolDialog *sdialog = dynamic_cast < QgsSingleSymbolDialog * >(widgetStackRenderers->currentWidget());
-  QgsGraduatedSymbolDialog *gdialog = dynamic_cast < QgsGraduatedSymbolDialog * >(widgetStackRenderers->currentWidget());
-  QgsContinuousColorDialog *cdialog = dynamic_cast < QgsContinuousColorDialog * >(widgetStackRenderers->currentWidget());
-  QgsUniqueValueDialog* udialog = dynamic_cast< QgsUniqueValueDialog * >(widgetStackRenderers->currentWidget()); 
-
-  if (sdialog)
-    {
-      sdialog->apply();
-    } 
-  else if (gdialog)
-  {
-      gdialog->apply();
-  }
-  else if (cdialog)
-    {
-      cdialog->apply();
-    }
-  else if(udialog)
-  {
-      udialog->apply();
-  }
-  layer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value()));
-  
-  layer->triggerRepaint();
-
-}
-
-void QgsVectorLayerProperties::on_pbnQueryBuilder_clicked()
-{
-#ifdef HAVE_POSTGRESQL
-  // launch the query builder using the PostgreSQL connection
-  // from the provider
-
-  // get the data provider
-  QgsVectorDataProvider *dp =
-    dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
-  // cast to postgres provider type
-  QgsPostgresProvider * myPGProvider = (QgsPostgresProvider *) dp;
-  // create the query builder object using the table name
-  // and postgres connection from the provider
-  QgsPgQueryBuilder *pqb =
-      new QgsPgQueryBuilder(myPGProvider->getURI(), this);
-       
-  // Set the sql in the query builder to the same in the prop dialog
-  // (in case the user has already changed it)
-  pqb->setSql(txtSubsetSQL->text());
-  // Open the query builder
-  if(pqb->exec())
-  {
-    // if the sql is changed, update it in the prop subset text box
-    txtSubsetSQL->setText(pqb->sql());
-    //TODO If the sql is changed in the prop dialog, the layer extent should be recalculated
-
-    // The datasource for the layer needs to be updated with the new sql since this gets
-    // saved to the project file. This should happen at the map layer level...
-
-  }
-  // delete the query builder object
-  delete pqb;
-#endif
-}
-
-void QgsVectorLayerProperties::on_pbnIndex_clicked()
-{
-    QgsVectorDataProvider* pr=layer->getDataProvider();
-    if(pr)
-    {
-	setCursor(Qt::WaitCursor);
-	bool errval=pr->createSpatialIndex();
-	setCursor(Qt::ArrowCursor);
-	if(errval)
-	{
-	    QMessageBox::information(this, tr("Spatial Index"), tr("Creation of spatial index successfull"),QMessageBox::Ok);
-	}
-	else
-	{
-           // TODO: Remind the user to use OGR >= 1.2.6 and Shapefile
-	   QMessageBox::information(this, tr("Spatial Index"), tr("Creation of spatial index failed"),QMessageBox::Ok); 
-	}
-    }
-}
-
-QString QgsVectorLayerProperties::getMetadata()
-{
-  QString myMetadataQString = "<html><body>";
-  myMetadataQString += "<table width=\"100%\">";
-  
-  //-------------
-  
-  myMetadataQString += "<tr><td bgcolor=\"gray\">";
-  myMetadataQString += tr("General:");
-  myMetadataQString += "</td></tr>";
-
-  //storage type
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-  myMetadataQString += tr("Storage type of this layer : ") + 
-                       layer->storageType();
-  myMetadataQString += "</td></tr>";
-
-  // data source
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-  myMetadataQString += tr("Source for this layer : ") +
-                       layer->publicSource();
-  myMetadataQString += "</td></tr>";
-
-  //geom type
-
-  QGis::VectorType vectorType = layer->vectorType();
-
-  if ( vectorType < 0 || vectorType > QGis::Polygon )
-  {
-      QgsDebug( "Invalid vector type" );
-  }
-  else
-  {
-      QString vectorTypeString( QGis::qgisVectorGeometryType[layer->vectorType()] );
-
-#ifdef QGISDEBUG
-      const char* vectorTypeProbe = vectorTypeString.ascii(); // debugger probe point
-#endif
-
-      myMetadataQString += "<tr><td bgcolor=\"white\">";
-      myMetadataQString += tr("Geometry type of the features in this layer : ") + 
-          vectorTypeString;
-      myMetadataQString += "</td></tr>";
-  }
-
-
-      //feature count
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-  myMetadataQString += tr("The number of features in this layer : ") + 
-                       QString::number(layer->featureCount());
-  myMetadataQString += "</td></tr>";
-  //capabilities
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-  myMetadataQString += tr("Editing capabilities of this layer : ") + 
-                       layer->capabilitiesString();
-  myMetadataQString += "</td></tr>";
-
-  //-------------
-
-  QgsRect myExtent = layer->extent();  
-  myMetadataQString += "<tr><td bgcolor=\"gray\">";
-  myMetadataQString += tr("Extents:");
-  myMetadataQString += "</td></tr>";
-  //extents in layer cs  TODO...maybe make a little nested table to improve layout...
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-  myMetadataQString += tr("In layer spatial reference system units : ") + 
-                       tr("xMin,yMin ") + 
-                       QString::number(myExtent.xMin()) + 
-                       "," + 
-                       QString::number( myExtent.yMin()) +
-                       tr(" : xMax,yMax ") + 
-                       QString::number(myExtent.xMax()) + 
-                       "," + 
-                       QString::number(myExtent.yMax());
-  myMetadataQString += "</td></tr>";
-
-  //extents in project cs
-
-  try
-  {
-    QgsCoordinateTransform * coordinateTransform = layer->coordinateTransform();
-
-    if ( ! coordinateTransform )
-    {
-        throw QgsCsException( std::string("unable to get layer coordinate transform object") );
-    }
-
-    QgsRect myProjectedExtent = coordinateTransform->transformBoundingBox(layer->extent());
-    myMetadataQString += "<tr><td bgcolor=\"white\">";
-    myMetadataQString += tr("In project spatial reference system units : ") + 
-                         tr("xMin,yMin ") + 
-                         QString::number(myProjectedExtent.xMin()) + 
-                         "," + 
-                         QString::number( myProjectedExtent.yMin()) +
-                         tr(" : xMax,yMax ") + 
-                         QString::number(myProjectedExtent.xMax()) + 
-                         "," + 
-                         QString::number(myProjectedExtent.yMax());
-    myMetadataQString += "</td></tr>";
-
-
-
-    // 
-    // Display layer spatial ref system
-    //
-    myMetadataQString += "<tr><td bgcolor=\"gray\">";
-    myMetadataQString += tr("Layer Spatial Reference System:");
-    myMetadataQString += "</td></tr>";  
-    myMetadataQString += "<tr><td bgcolor=\"white\">";
-    myMetadataQString += coordinateTransform->sourceSRS().proj4String().replace(QRegExp("\"")," \"");                       
-    myMetadataQString += "</td></tr>";
-
-    // 
-    // Display project (output) spatial ref system
-    //  
-    myMetadataQString += "<tr><td bgcolor=\"gray\">";
-    myMetadataQString += tr("Project (Output) Spatial Reference System:");
-    myMetadataQString += "</td></tr>";  
-    myMetadataQString += "<tr><td bgcolor=\"white\">";
-    myMetadataQString += coordinateTransform->destSRS().proj4String().replace(QRegExp("\"")," \"");                       
-    myMetadataQString += "</td></tr>";
-
-  }
-  catch(QgsCsException &cse)
-  {
-    QgsDebug( cse.what() );
-
-    myMetadataQString += "<tr><td bgcolor=\"white\">";
-    myMetadataQString += tr("In project spatial reference system units: ");
-    myMetadataQString += tr(" (Invalid transformation of layer extents) ");
-    myMetadataQString += "</td></tr>";
-
-  }
-
-      
-  //
-  // Add the info about each field in the attribute table
-  //
-  myMetadataQString += "<tr><td bgcolor=\"gray\">";
-  myMetadataQString += tr("Attribute field info:");
-  myMetadataQString += "</td></tr>";
-  myMetadataQString += "<tr><td bgcolor=\"white\">";
-
-  // Start a nested table in this trow
-  myMetadataQString += "<table width=\"100%\">";
-  myMetadataQString += "<tr><th bgcolor=\"black\">";
-  myMetadataQString += "<font color=\"white\">" + tr("Field") + "</font>";
-  myMetadataQString += "</th>";
-  myMetadataQString += "<th bgcolor=\"black\">";
-  myMetadataQString += "<font color=\"white\">" + tr("Type") + "</font>";
-  myMetadataQString += "</th>";
-  myMetadataQString += "<th bgcolor=\"black\">";
-  myMetadataQString += "<font color=\"white\">" + tr("Length") + "</font>";
-  myMetadataQString += "</th>";
-  myMetadataQString += "<th bgcolor=\"black\">";
-  myMetadataQString += "<font color=\"white\">" + tr("Precision") + "</font>";
-  myMetadataQString += "</th>";      
-  myMetadataQString += "<tr>";
- 
-  //get info for each field by looping through them
-  QgsVectorDataProvider *myDataProvider = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
-  std::vector<QgsField> myFields = myDataProvider->fields();
-  for (int i = 0; i < myFields.size(); i++)
-  {
- 
-    QgsField myField = myFields[i];
-    
-    myMetadataQString += "<tr><td bgcolor=\"white\">";
-    myMetadataQString += myField.name();
-    myMetadataQString += "</td>";
-    myMetadataQString += "<td bgcolor=\"white\">";
-    myMetadataQString += myField.type();
-    myMetadataQString += "</td>";
-    myMetadataQString += "<td bgcolor=\"white\">";
-    myMetadataQString += QString("%1").arg(myField.length());
-    myMetadataQString += "</td>";
-    myMetadataQString += "<td bgcolor=\"white\">";
-    myMetadataQString += QString("%1").arg(myField.precision());
-    myMetadataQString += "</td></tr>";
-  } 
-
-  //close field list
-  myMetadataQString += "</table>"; //end of nested table
-  myMetadataQString += "</td></tr>"; //end of stats container table row
-  //
-  // Close the table
-  //
-
-  myMetadataQString += "</table>";
-  myMetadataQString += "</body></html>";
-  return myMetadataQString;
-
-}
-
-
-
-void QgsVectorLayerProperties::on_pbnChangeSpatialRefSys_clicked()
-{
-    
-
-    QgsLayerProjectionSelector * mySelector = new QgsLayerProjectionSelector(this);
-    long myDefaultSRS =layer->coordinateTransform()->sourceSRS().srsid();
-    if (myDefaultSRS==0)
-    {
-      myDefaultSRS=QgsProject::instance()->readNumEntry("SpatialRefSys","/ProjectSRSID",GEOSRS_ID);
-    }
-    mySelector->setSelectedSRSID(myDefaultSRS);
-    if(mySelector->exec())
-    {
-      layer->coordinateTransform()->sourceSRS().createFromSrsId(mySelector->getCurrentSRSID());
-      layer->coordinateTransform()->initialise();
-    }
-    else
-    {
-      QApplication::restoreOverrideCursor();
-    }
-    delete mySelector;
-    leSpatialRefSys->setText(layer->coordinateTransform()->sourceSRS().proj4String());
-    leSpatialRefSys->setCursorPosition(0);
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorlayerproperties.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,89 +0,0 @@
-/***************************************************************************
-                          qgsdlgvectorlayerproperties.h
-                   Unified property dialog for vector layers
-                             -------------------
-    begin                : 2004-01-28
-    copyright            : (C) 2004 by Gary E.Sherman
-    email                : sherman at mrcc.com
-***************************************************************************/
-
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
- /* $Id: qgsvectorlayerproperties.h 6126 2006-11-26 23:14:13Z gsherman $ */
-
-#ifndef QGSVECTORLAYERPROPERTIES
-#define QGSVECTORLAYERPROPERTIES
-
-#include "ui_qgsvectorlayerpropertiesbase.h"
-#include "qgisgui.h"
-#include "qgsrenderer.h"
-
-class QgsAttributeActionDialog;
-class QgsLabelDialog;
-class QgsVectorLayer;
-
-
-class QgsVectorLayerProperties : public QDialog, private Ui::QgsVectorLayerPropertiesBase{
-  Q_OBJECT
-  public:
-  QgsVectorLayerProperties(QgsVectorLayer *lyr = 0,QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
-  ~QgsVectorLayerProperties();
-  /**Sets the legend type to "single symbol", "graduated symbol" or "continuous color"*/
-  void setLegendType(QString type);
-  /**Returns the display name entered in the dialog*/
-  QString displayName();
-  void setRendererDirty(bool){}
-  /**Sets the attribute that is used in the Identify Results dialog box*/
-  void setDisplayField(QString name);
-
-  public slots:
-  void alterLayerDialog(const QString& string);
-  /** Reset to original (vector layer) values */
-  void reset();
-  /** Get metadata about the layer in nice formatted html */
-  QString getMetadata();
-  /** Set transparency based on slider position */
-  void sliderTransparency_valueChanged(int theValue);
-  /** Toggles on the label check box */
-  void setLabelCheckBox();
-  
-  //
-  //methods reimplemented from qt designer base class
-  //
-
-
-  void on_pbnCancel_clicked();
-  void on_pbnOK_clicked();
-  void on_pbnApply_clicked();
-  void on_btnHelp_clicked();
-  void on_pbnQueryBuilder_clicked();
-  void on_pbnIndex_clicked();
-  void on_pbnChangeSpatialRefSys_clicked();
-
-  protected:
-  QgsVectorLayer *layer;
-  /**Renderer dialog which is shown*/
-  QDialog* mRendererDialog;
-  /**Buffer renderer, which is assigned to the vector layer when apply is pressed*/
-  //QgsRenderer* bufferRenderer;
-  /**Label dialog. If apply is pressed, options are applied to vector's QgsLabel */
-  QgsLabelDialog* labelDialog;
-  /**Actions dialog. If apply is pressed, the actions are stored for later use */
-  QgsAttributeActionDialog* actionDialog;
-  /**Buffer pixmap which takes the picture of renderers before they are assigned to the vector layer*/
-  //QPixmap bufferPixmap;
-  static const int context_id = 94000531;
-};
-
-inline QString QgsVectorLayerProperties::displayName()
-{
-    return txtDisplayName->text();
-}
-
-#endif

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-/***************************************************************************
-                                 qgsvectorsymbologywidget.cpp
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#include "qgsvectorsymbologywidget.h"
-
-#include <qgssymbol.h>
-
-QgsVectorSymbologyWidget::QgsVectorSymbologyWidget(  QWidget *parent, const char * name, Qt::WFlags f)
-           :QgsVectorSymbologyWidgetBase( parent, name, f)
-{
-}
-
-QgsVectorSymbologyWidget::~QgsVectorSymbologyWidget()
-{
-}

Deleted: packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvectorsymbologywidget.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,39 +0,0 @@
-/***************************************************************************
-                               qgsvectorsymbologywidget.h 
-                               ------------------
-        begin                : March 2005
-        copyright            : (C) 2005 by Tim Sutton
-        email                : tim at linfiniti.com
- ***************************************************************************/
-/***************************************************************************
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- ***************************************************************************/
-#ifndef QGSVECTORSYMBOLOGYWIDGET_H
-#define QGSVECTORSYMBOLOGYWIDGET_H
-
-class QgsSymbol;
-
-
-#include "ui_qgsvectorsymbologywidgetbase.h"
-
-class QgsVectorSymbologyWidget:public QgsVectorSymbologyWidgetBase
-{
-  Q_OBJECT;
-  public:
-
-  //! Constructor
-  QgsVectorSymbologyWidget(QWidget *parent = 0, const char * name = 0, Qt::WFlags f = 0 );
-
-  ~QgsVectorSymbologyWidget();
-
-public slots:
-  
-private:
-};
-
-#endif

Modified: packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -24,6 +24,8 @@
 {
   mIconSize = 10;
   mIconType = ICON_X;
+  mColor = QColor(255,0,0);
+  mPenWidth = 1;
 }
 
 void QgsVertexMarker::setIconType(int type)
@@ -39,52 +41,60 @@
 void QgsVertexMarker::setCenter(const QgsPoint& point)
 {
    mCenter = point;
-   updatePosition();
-   updateCanvas();
+   QPointF pt = toCanvasCoords(mCenter);
+   setPos(pt);
 }
 
+void QgsVertexMarker::setColor(const QColor& color)
+{
+  mColor = color;
+}
 
-void QgsVertexMarker::drawShape(QPainter & p)
+void QgsVertexMarker::setPenWidth(int width)
 {
-  QPoint pt = toCanvasCoords(mCenter);
-  int x = pt.x(), y = pt.y();
-  int s = (mIconSize - 1) / 2;
+  mPenWidth = width;
+}
+
+void QgsVertexMarker::paint(QPainter* p)
+{
+  qreal s = (mIconSize - 1) / 2;
+
+  QPen pen(mColor);
+  pen.setWidth(mPenWidth);
+  p->setPen(pen);
   
-  // draw cross
-  p.setPen(QColor(255,0,0));
   switch (mIconType)
   {
     case ICON_NONE:
       break;
       
     case ICON_CROSS:
-      p.drawLine(x-s, y, x+s, y);
-      p.drawLine(x, y-s, x, y+s);
+      p->drawLine(QLineF(-s, 0, s, 0));
+      p->drawLine(QLineF( 0,-s, 0, s));
       break;
       
     case ICON_X:
-      p.drawLine(x-s, y-s, x+s, y+s);
-      p.drawLine(x-s, y+s, x+s, y-s);
+      p->drawLine(QLineF(-s,-s, s, s));
+      p->drawLine(QLineF(-s, s, s,-s));
       break;
       
     case ICON_BOX:
-      p.drawLine(x-s, y-s, x+s, y-s);
-      p.drawLine(x+s, y-s, x+s, y+s);
-      p.drawLine(x+s, y+s, x-s, y+s);
-      p.drawLine(x-s, y+s, x-s, y-s);
+      p->drawLine(QLineF(-s,-s, s,-s));
+      p->drawLine(QLineF( s,-s, s, s));
+      p->drawLine(QLineF( s, s,-s, s));
+      p->drawLine(QLineF(-s, s,-s,-s));
       break;
-  
   }
 }
-    
 
+
+QRectF QgsVertexMarker::boundingRect() const
+{
+  qreal s = qreal(mIconSize + mPenWidth) / 2.0;
+  return QRectF(-s,-s,2.0*s,2.0*s);
+}
+
 void QgsVertexMarker::updatePosition()
 {
-  QPoint pt = toCanvasCoords(mCenter);
-  int s = (mIconSize - 1) / 2;
-  move(pt.x() - s, pt.y() - s);
-  setSize(mIconSize, mIconSize);
-  show();
+  setCenter(mCenter);
 }
-
-

Modified: packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.h
===================================================================
--- packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/gui/qgsvertexmarker.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -22,7 +22,7 @@
 
 class QPainter;
 
-class QgsVertexMarker : public QgsMapCanvasItem
+class GUI_EXPORT QgsVertexMarker : public QgsMapCanvasItem
 {
   public:
     
@@ -43,10 +43,16 @@
     
     void setIconSize(int iconSize);
     
-    void drawShape(QPainter & p);
+    void setColor(const QColor& color);
+    
+    void setPenWidth(int width);
+    
+    void paint(QPainter* p);
+    
+    QRectF boundingRect() const;
 
-    void updatePosition();
-    
+    virtual void updatePosition();
+
   protected:
     
     //! icon to be shown
@@ -57,6 +63,12 @@
 
     //! coordinates of the point in the center
     QgsPoint mCenter;
+    
+    //! color of the marker
+    QColor mColor;
+    
+    //! pen width
+    int mPenWidth;
 };
 
 #endif

Added: packages/qgis/branches/upstream/current/src/helpviewer/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/helpviewer/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+.deps
+.libs
+Makefile
+Makefile.in
+qgis_help
+*.moc.cpp
+*base.h
+*base.cpp
+

Modified: packages/qgis/branches/upstream/current/src/helpviewer/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -6,8 +6,8 @@
      main.cpp
      qgshelpserver.cpp
      qgshelpviewer.cpp
-     ../core/qgsapplication.cpp
-     ../core/qgslogger.cpp
+     #../core/qgsapplication.cpp
+     #../core/qgslogger.cpp
 )
 
 SET (HELP_UIS qgshelpviewerbase.ui)
@@ -40,6 +40,7 @@
 TARGET_LINK_LIBRARIES(qgis_help
   ${QT_LIBRARIES}
   ${SQLITE3_LIBRARY}
+  qgis_core
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/helpviewer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,64 +0,0 @@
-# Copyright (C) 2005 Gary Sherman gsherman at mrcc dot com
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6716 2007-02-26 23:33:10Z homann $
-
-
-bin_PROGRAMS = qgis_help
-
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-PLUGINPATH=-DPLUGINPATH=\"$(pluginpath)\"
-PREFIX=-DPREFIX=\"$(prefix)\"
-
-
-%.moc.cpp: %.h
-		$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-		$(UIC) -o $@ $<
-
-
-qgis_help_MOC = qgshelpserver.moc.cpp \
-				qgshelpviewer.moc.cpp 
-
-qgis_help_UI = ui_qgshelpviewerbase.h 
-
-qgis_help_UIC = qgshelpviewerbase.ui
-
-qgis_help_SOURCES = main.cpp \
-									qgshelpserver.h \
-									qgshelpserver.cpp \
-									qgshelpviewer.h \
-									qgshelpviewer.cpp \
-							     	../core/qgsapplication.h \
-							     	../core/qgsapplication.cpp \
-								../core/qgslogger.h \
-								../core/qgslogger.cpp \
-				       $(qgis_help_UI)			\
-				       $(qgis_help_MOC)
-
-BUILT_SOURCES = $(qgis_help_MOC) $(qgis_help_UI)
-
-qgis_help_LDADD = $(LDADD) $(QT_LDADD) -lsqlite3
-
-qgis_help_CXXFLAGS = -I../core $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(PKGDATAPATH) $(PLUGINPATH) $(PREFIX)
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(qgis_help_UIC) 
-
-# Qt/Mac app needs to be inside a bundle to function correctly
-MACBINDIR = $(bindir)/qgis_help.app/Contents/MacOS
-
-install-exec-hook:
-if HAVE_QTMAC
-	$(mkinstalldirs) $(MACBINDIR)
-	mv $(bindir)/qgis_help $(MACBINDIR)
-endif

Deleted: packages/qgis/branches/upstream/current/src/helpviewer/helpviewer.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/helpviewer.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/helpviewer.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-######################################################################
-# Automatically generated by qmake (1.06c) Sun Aug 21 15:43:14 2005
-#
-# NOTE: This pro file does not include settings.pro due to some
-# unknown conflict with the core libs resulting in inclusion of 
-# headers not needed to compile the help viewer
-######################################################################
-MSYSBASE = c:\msys\local
-DESTDIR = ..\..\qgis-release
-TARGET = qgis_help
-TEMPLATE = app
-INCLUDEPATH += . $${MSYSBASE}\include
-              
-LIBS += -L$${MSYSBASE}\lib -lsqlite3
-
-# Input
-HEADERS += qgshelpserver.h qgshelpviewer.h
-INTERFACES += qgshelpviewerbase.ui
-SOURCES += main.cpp qgshelpserver.cpp qgshelpviewer.cpp
-#The following line was inserted by qt3to4
-QT +=  qt3support 
-#The following line was inserted by qt3to4
-#CONFIG += uic3
-

Modified: packages/qgis/branches/upstream/current/src/helpviewer/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,20 @@
+/***************************************************************************
+                             main.cpp
+                             Helpviewer main method
+                             -------------------
+    begin                : 2007
+    copyright            : (C) 2007 by Gary E. Sherman
+    email                : sherman at mrcc.com
+***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 #include <qgsapplication.h>
 #include <qstring.h>

Modified: packages/qgis/branches/upstream/current/src/helpviewer/qgshelpserver.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/qgshelpserver.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/qgshelpserver.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,14 +15,14 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgshelpserver.cpp 4252 2005-11-21 05:51:31Z gsherman $ */
+/* $Id: qgshelpserver.cpp 6539 2007-02-06 08:12:25Z g_j_m $ */
 #include "qgshelpserver.h"
 
 // The communications technique used here has been adapted from Qt Assistant.
 // See qt/tools/assistant/ main.cpp and lib/qassistantclient.cpp (Qt 3.3.4).
 
 QgsHelpContextServer::QgsHelpContextServer(QObject *parent) :
-   Q3ServerSocket(0x7f000001, 0, parent)
+   Q3ServerSocket(0x7f01, 0, parent)
 {
   // Superclass listens for localhost connection
 }

Modified: packages/qgis/branches/upstream/current/src/helpviewer/qgshelpviewer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/helpviewer/qgshelpviewer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/helpviewer/qgshelpviewer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /* $Id: qgshelpviewer.cpp 6827 2007-03-23 19:02:37Z homann $ */
+ /* $Id: qgshelpviewer.cpp 6828 2007-03-23 19:31:04Z homann $ */
 
 #include <cassert>
 #include <iostream>
@@ -142,7 +142,7 @@
       // remove bin/qgis_help.app/Contents/MacOS to get to share/qgis
       qApp->applicationDirPath() + "/../../../../share/qgis" +
 #elif WIN32
-      qApp->applicationDirPath() + "/share/qgis"
+      qApp->applicationDirPath() +
 #else
       QString(PKGDATAPATH) +
 #endif
@@ -187,7 +187,6 @@
   // a sqlite3 database always succeeds 
   int result;
   if(QFileInfo(helpDbPath).exists()){
-    char *zErrMsg = 0;
     int rc;
     rc = sqlite3_open(helpDbPath.toUtf8().data(), &db);
     result = rc;

Added: packages/qgis/branches/upstream/current/src/mac/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/mac/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+.DS_Store
+Makefile
+Makefile.in

Added: packages/qgis/branches/upstream/current/src/mac/Contents/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Contents/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/mac/Contents/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,5 @@
+.DS_Store
+Makefile
+Makefile.in
+Info.plist
+Pkginfo

Modified: packages/qgis/branches/upstream/current/src/mac/Contents/Info.plist.in
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Contents/Info.plist.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/mac/Contents/Info.plist.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -11,7 +11,7 @@
 	<key>CFBundleSignature</key>
 	<string>QGIS</string>
 	<key>CFBundleGetInfoString</key>
-	<string>QGIS @VERSION (@SVNVERSION), © 2002-2006 QGIS Development Team</string>
+	<string>QGIS @VERSION (@SVNVERSION), © 2002-2007 QGIS Development Team</string>
 	<key>CFBundleShortVersionString</key>
 	<string>@SHORTVERSION (@SVNVERSION)</string>
 	<key>CFBundleVersion</key>

Deleted: packages/qgis/branches/upstream/current/src/mac/Contents/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Contents/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/mac/Contents/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-# Copyright (C) 2005 Tom Elwertowski
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 5722 2006-08-21 16:50:23Z telwertowski $
-
-# This is the Contents directory of a Mac OS bundle
-# (configure ensures that prefix ends in qgis.app/Contents/MacOS)
-
-contentsdir = $(exec_prefix)/../
-
-contents_DATA = \
-	Info.plist \
-	Pkginfo
-
-Info.plist: Info.plist.in $(top_builddir)/configure.in $(top_builddir)/qgssvnversion.h
-	@SHORTVERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION) && \
-	SVNVERSION=`svnversion $(top_builddir)` && \
-	sed -e "s/@VERSION/$(VERSION)/" \
-		-e "s/@SHORTVERSION/$$SHORTVERSION/" \
-		-e "s/@SVNVERSION/$$SVNVERSION/" \
-		< Info.plist.in > $@
-
-Pkginfo: Makefile
-	@echo -n "APPLQGIS" > $@
-
-# Update bundle modification date so Finder scans latest plist
-install-exec-hook:
-	touch $(contentsdir)/../.
-
-EXTRA_DIST = \
-	Info.plist.in
-
-SUBDIRS = Resources

Added: packages/qgis/branches/upstream/current/src/mac/Contents/Resources/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Contents/Resources/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/mac/Contents/Resources/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+.DS_Store
+Makefile
+Makefile.in

Deleted: packages/qgis/branches/upstream/current/src/mac/Contents/Resources/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Contents/Resources/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/mac/Contents/Resources/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,20 +0,0 @@
-# Copyright (C) 2005 Tom Elwertowski
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 3694 2005-07-03 01:19:26Z morb_au $
-
-# This is the Resources directory of a Mac OS bundle
-# (configure ensures that prefix ends in qgis.app/Contents/MacOS)
-
-resourcesdir = ${exec_prefix}/../Resources/
-resources_DATA = *.icns
-
-EXTRA_DIST = $(resources_DATA) \
-	qgs.psd

Deleted: packages/qgis/branches/upstream/current/src/mac/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/mac/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/mac/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-# Copyright (C) 2005 Tom Elwertowski
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 3694 2005-07-03 01:19:26Z morb_au $
-
-SUBDIRS = Contents

Deleted: packages/qgis/branches/upstream/current/src/platform.pro.in
===================================================================
--- packages/qgis/branches/upstream/current/src/platform.pro.in	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/platform.pro.in	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +0,0 @@
-
-#GDAL/OGR
-GDAL_LIB    = @GDAL_LIB@
-GDAL_CFLAGS = @GDAL_CFLAGS@
-
-#Postgres
-HAVE_PG = @HAVE_PG@
-PG_INC  = @PG_INC@
-PG_LIB  = @PG_LIB@
-
-#GRASS
-HAVE_GRASS = @HAVE_GRASS@
-GRASS_LIB = @GRASS_LIB@ 
-GRASS_INC = @GRASS_INC@ 
-

Added: packages/qgis/branches/upstream/current/src/plugins/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Modified: packages/qgis/branches/upstream/current/src/plugins/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,5 @@
 
-SUBDIRS (copyright_label delimited_text grid_maker north_arrow scale_bar launcher)
+SUBDIRS (copyright_label delimited_text grid_maker north_arrow scale_bar)
 
 IF (POSTGRES_FOUND)
   SUBDIRS (geoprocessing spit)
@@ -16,3 +16,6 @@
 IF (GRASS_FOUND)
   SUBDIRS (grass)
 ENDIF (GRASS_FOUND)
+
+INSTALL(FILES qgisplugin.h qgsrendererplugin.h DESTINATION ${QGIS_INCLUDE_DIR})
+

Deleted: packages/qgis/branches/upstream/current/src/plugins/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,46 +0,0 @@
-## Makefile.in generated from automake
-
-if HAVE_SPIT
-SPIT = spit
-endif
-
-if HAVE_POSTGRESQL
-GEOPROCESSING = geoprocessing
-endif
-
-if HAVE_GRASS
-GRASS = grass
-endif
-
-if HAVE_WFS
-WFS = wfs
-endif
-
-SUBDIRS = $(GEOPROCESSING) \
-		$(SPIT) \
-		$(GRASS) \
-		$(COMMUNITY) \
-		delimited_text \
-		georeferencer \
-		gps_importer \
-		grid_maker \
-		north_arrow \
-		copyright_label \
-		scale_bar \
-		$(WFS) 
-		
-EXTRA_DIST = \
-		plugin_builder.pl \
-		plugin_template/plugin.png \
-		plugin_template/Makefile.am \
-		plugin_template/plugin.cpp \
-		plugin_template/pluginguibase.ui \
-		plugin_template/pluginguibase.ui.h \
-		plugin_template/plugingui.cpp \
-		plugin_template/plugingui.h \
-		plugin_template/plugin.h \
-		plugin_template/README \
-		qgisplugin.h 
-
-
-pkginclude_HEADERS=qgisplugin.h

Added: packages/qgis/branches/upstream/current/src/plugins/copyright_label/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*.la
+*.lo
+*.moc.cpp
+pluginguibase.cpp
+pluginguibase.h
+

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,50 +1,45 @@
-
-########################################################
-# Files
-
-SET (COPYRIGHT_SRCS
-     plugin.cpp
-     plugingui.cpp
-)
-
-SET (COPYRIGHT_UIS pluginguibase.ui)
-
-SET (COPYRIGHT_MOC_HDRS  plugin.h plugingui.h)
-
-SET (COPYRIGHT_RCCS  copyright_plugin.qrc)
-
-########################################################
-# Build
-
-QT4_WRAP_UI (COPYRIGHT_UIS_H  ${COPYRIGHT_UIS})
-
-QT4_WRAP_CPP (COPYRIGHT_MOC_SRCS  ${COPYRIGHT_MOC_HDRS})
-
-QT4_ADD_RESOURCES(COPYRIGHT_RCC_SRCS ${COPYRIGHT_RCCS})
-
-ADD_LIBRARY (copyrightlabelplugin MODULE ${COPYRIGHT_SRCS} ${COPYRIGHT_MOC_SRCS} ${COPYRIGHT_RCC_SRCS} ${COPYRIGHT_UIS_H})
-
-INCLUDE_DIRECTORIES(
-     ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../core/raster ../../core/renderer ../../core/symbology
-     ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
-     ..
-     ${GEOS_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
-)
-
-TARGET_LINK_LIBRARIES(copyrightlabelplugin
-  qgis_core
-  ${GDAL_LIBRARIES}
-  ${PROJ_LIBRARY}
-)
-
-
-########################################################
-# Install
-
-INSTALL(TARGETS copyrightlabelplugin
-  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
-  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
+
+########################################################
+# Files
+
+SET (COPYRIGHT_SRCS
+     plugin.cpp
+     plugingui.cpp
+)
+
+SET (COPYRIGHT_UIS pluginguibase.ui)
+
+SET (COPYRIGHT_MOC_HDRS  plugin.h plugingui.h)
+
+SET (COPYRIGHT_RCCS  copyright_plugin.qrc)
+
+########################################################
+# Build
+
+QT4_WRAP_UI (COPYRIGHT_UIS_H  ${COPYRIGHT_UIS})
+
+QT4_WRAP_CPP (COPYRIGHT_MOC_SRCS  ${COPYRIGHT_MOC_HDRS})
+
+QT4_ADD_RESOURCES(COPYRIGHT_RCC_SRCS ${COPYRIGHT_RCCS})
+
+ADD_LIBRARY (copyrightlabelplugin MODULE ${COPYRIGHT_SRCS} ${COPYRIGHT_MOC_SRCS} ${COPYRIGHT_RCC_SRCS} ${COPYRIGHT_UIS_H})
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
+     ../../gui
+     ..
+)
+
+TARGET_LINK_LIBRARIES(copyrightlabelplugin
+  qgis_core
+  qgis_gui
+)
+
+
+########################################################
+# Install
+
+INSTALL(TARGETS copyrightlabelplugin
+  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
+  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})

Deleted: packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,59 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-plugindir = ${pkglibdir}
-#CopyrightLabel below to be replaced with the name of the plugin
-plugin_LTLIBRARIES = copyrightlabelplugin.la
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-copyrightlabelplugin_la_SOURCES =  plugin.cpp \
-						plugin.h \
-						plugingui.cpp \
-						plugingui.h \
-						$(plugin_UI)\
-						$(plugin_MOC) \
-						$(plugin_QRC) \
-						$(plugin_RES)
-
-plugin_MOC = plugin.moc.cpp \
-			 plugingui.moc.cpp 
-
-plugin_UI = ui_pluginguibase.h 
-
-plugin_UIC = pluginguibase.ui
-
-plugin_RES = copyright_plugin.qrc.cpp
-
-#plugin_QRC = copyright_plugin.qrc
-
-# UI dependencies      
-pluginguibase.cpp: pluginguibase.h pluginguibase.ui
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-
-copyrightlabelplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-copyrightlabelplugin_la_LDFLAGS = -avoid-version -module
-copyrightlabelplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../gui -I../../ui -I../../core
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) icon.xpm \
-	ui_pluginguibase.h

Deleted: packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/copyrightlabelplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/copyrightlabelplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/copyright_label/copyright_label.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/copyright_label.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/copyright_label.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,45 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the copyright label provider 
-#
-
-include(../../../settings.pro)
-TARGET=copyrightlabelplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=copyright_label
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-RESOURCES = copyright_plugin.qrc
-
-HEADERS += plugin.h \
-           plugingui.h 
-FORMS +=  pluginguibase.ui
-SOURCES += plugin.cpp \
-           plugingui.cpp 

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,16 +18,17 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6738 2007-03-01 22:10:44Z homann $ */
+/*  $Id: plugin.cpp 6739 2007-03-01 22:16:36Z homann $ */
 
 // includes
 
-#include <qgisapp.h>
+#include "qgisinterface.h"
 #include "qgisgui.h"
-#include <qgsmaplayer.h>
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsproject.h"
+
 #include "plugin.h"
-#include <qgsproject.h>
-#include <qgsmapcanvas.h>
 
 #include <Q3Button>
 #include <Q3PaintDeviceMetrics>
@@ -51,7 +52,7 @@
 #define QGISEXTERN extern "C"
 #endif
 
-static const char * const ident_ = "$Id: plugin.cpp 6738 2007-03-01 22:10:44Z homann $";
+static const char * const ident_ = "$Id: plugin.cpp 6739 2007-03-01 22:16:36Z homann $";
 
 static const QString name_ = QObject::tr("CopyrightLabel");
 static const QString description_ = QObject::tr("Draws copyright information");
@@ -62,13 +63,10 @@
 /**
  * Constructor for the plugin. The plugin is passed a pointer to the main app
  * and an interface object that provides access to exposed functions in QGIS.
- * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-QgsCopyrightLabelPlugin::QgsCopyrightLabelPlugin(QgisApp * theQGisApp, 
-						 QgisIface * theQgisInterFace):
+QgsCopyrightLabelPlugin::QgsCopyrightLabelPlugin(QgisInterface * theQgisInterFace):
         QgisPlugin(name_,description_,version_,type_),
-        qgisMainWindowPointer(theQGisApp),
         qGisInterface(theQgisInterFace)
 {
   mPlacementLabels << tr("Bottom Left") << tr("Top Left") 
@@ -91,7 +89,7 @@
     // This calls the renderer everytime the cnavas has drawn itself
     connect(qGisInterface->getMapCanvas(), SIGNAL(renderComplete(QPainter *)), this, SLOT(renderLabel(QPainter *)));
     //this resets this plugin up if a project is loaded
-    connect(qgisMainWindowPointer, SIGNAL(projectRead()), this, SLOT(projectRead()));
+    connect(qGisInterface->getMainWindow(), SIGNAL(projectRead()), this, SLOT(projectRead()));
 
     // Add the icon to the toolbar
     qGisInterface->addToolBarIcon(myQActionPointer);
@@ -129,7 +127,8 @@
 // Slot called when the buffer menu item is activated
 void QgsCopyrightLabelPlugin::run()
 {
-    QgsCopyrightLabelPluginGui *myPluginGui=new QgsCopyrightLabelPluginGui(qgisMainWindowPointer, QgisGui::ModalDialogFlags);
+    QgsCopyrightLabelPluginGui *myPluginGui=new QgsCopyrightLabelPluginGui(qGisInterface->getMainWindow(), QgisGui::ModalDialogFlags);
+    myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
     //listen for when the layer has been made so we can draw it
     //connect(myPluginGui, SIGNAL(drawRasterLayer(QString)), this, SLOT(drawRasterLayer(QString)));
     //connect(myPluginGui, SIGNAL(drawVectorLayer(QString,QString,QString)), this, SLOT(drawVectorLayer(QString,QString,QString)));
@@ -142,6 +141,7 @@
     myPluginGui->setText(mLabelQString);
     myPluginGui->setPlacementLabels(mPlacementLabels);
     myPluginGui->setPlacement(mPlacementIndex);
+    myPluginGui->setEnabled(mEnable);
     myPluginGui->show();
 }
 //! Refresh the map display using the mapcanvas exported via the plugin interface
@@ -273,9 +273,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-    return new QgsCopyrightLabelPlugin(theQGisAppPointer, theQgisInterfacePointer);
+    return new QgsCopyrightLabelPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,14 +16,19 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: plugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: plugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSCOPYRIGHTLABELPLUGIN
 #define QGSCOPYRIGHTLABELPLUGIN
 #include "../qgisplugin.h"
-#include "qgisapp.h"
 
+#include <QColor>
+#include <QFont>
+#include <QObject>
+class QAction;
 class QPainter;
 
+class QgisInterface;
+
 /**
 * \class Plugin
 * \brief OpenModeller plugin for QGIS
@@ -33,12 +38,11 @@
 {
   Q_OBJECT public:
       /**
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by
+       * Constructor for a plugin. The QgisInterface pointer is passed by
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object.
+       * @param qI Pointer to the QgisInterface object.
        */
-      QgsCopyrightLabelPlugin(QgisApp * , QgisIface * );
+      QgsCopyrightLabelPlugin(QgisInterface * );
   //! Destructor
   virtual ~ QgsCopyrightLabelPlugin();
   void writeEntry(QString theScope, QString theProperty, QVariant theValue);
@@ -83,10 +87,8 @@
   bool mEnable;
 
   int pluginType;
-  //! Pionter to QGIS main application object
-  QgisApp *qgisMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *myQActionPointer;
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,14 +16,6 @@
 
 //standard includes
 
-QgsCopyrightLabelPluginGui::QgsCopyrightLabelPluginGui() : QDialog()
-{
-  setupUi(this);
-  //programmatically hide orientation selection for now
-  cboOrientation->hide();
-  textLabel15->hide();
-}
-
 QgsCopyrightLabelPluginGui::QgsCopyrightLabelPluginGui(QWidget* parent, Qt::WFlags fl)
 : QDialog(parent, fl)
 {
@@ -32,11 +24,12 @@
   cboOrientation->hide();
   textLabel15->hide();
 }  
+
 QgsCopyrightLabelPluginGui::~QgsCopyrightLabelPluginGui()
 {
 }
 
-void QgsCopyrightLabelPluginGui::on_pbnOK_clicked()
+void QgsCopyrightLabelPluginGui::on_buttonBox_accepted()
 {
   //hide the dialog before we send all our signals
   hide();
@@ -46,18 +39,20 @@
   emit changeColor(txtCopyrightText->color());
   emit changePlacement(cboPlacement->currentIndex());
   emit enableCopyrightLabel(cboxEnabled->isChecked());
-  
-  done(1);
+
+  accept();
 } 
-void QgsCopyrightLabelPluginGui::on_pbnCancel_clicked()
+
+void QgsCopyrightLabelPluginGui::on_buttonBox_rejected()
 {
- close(1);
+  reject();
 }
 
-void QgsCopyrightLabelPluginGui::on_pbnHelp_clicked()
+void QgsCopyrightLabelPluginGui::on_buttonBox_helpRequested()
 {
   QgsContextHelp::run(context_id);
 }
+
 void QgsCopyrightLabelPluginGui::setEnabled(bool theBool)
 {
   cboxEnabled->setChecked(theBool);

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,8 +13,8 @@
 #define QGSCOPYRIGHTLABELPLUGINGUI_H
 
 #include <ui_pluginguibase.h>
-#include <qfont.h>
-#include <qcolor.h>
+#include <QColor>
+#include <QFont>
 
 /**
 @author Tim Sutton
@@ -23,18 +23,17 @@
 {
 Q_OBJECT;
 public:
-    QgsCopyrightLabelPluginGui();
     QgsCopyrightLabelPluginGui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsCopyrightLabelPluginGui();
     void setText(QString);
     void setPlacementLabels(QStringList&);
     void setPlacement(int);
-
-public slots:
-    void on_pbnOK_clicked();
-    void on_pbnCancel_clicked();    
-    void on_pbnHelp_clicked();
     void setEnabled(bool); 
+
+private slots:
+    void on_buttonBox_accepted();
+    void on_buttonBox_rejected();    
+    void on_buttonBox_helpRequested();
      
 private:
     static const int context_id = 32338213;

Modified: packages/qgis/branches/upstream/current/src/plugins/copyright_label/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/copyright_label/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/copyright_label/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -6,7 +6,7 @@
     <x>0</x>
     <y>0</y>
     <width>578</width>
-    <height>490</height>
+    <height>489</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -184,60 +184,14 @@
     </layout>
    </item>
    <item row="4" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <widget class="QPushButton" name="pbnHelp" >
-       <property name="text" >
-        <string>Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>281</width>
-         <height>26</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>

Added: packages/qgis/branches/upstream/current/src/plugins/delimited_text/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+qgsdelimitedtextpluginguibase.cpp
+qgsdelimitedtextpluginguibase.h

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,54 +1,49 @@
-
-########################################################
-# Files
-
-SET (DLTEXT_SRCS
-     qgsdelimitedtextplugin.cpp
-     qgsdelimitedtextplugingui.cpp
-)
-
-SET (DLTEXT_UIS qgsdelimitedtextpluginguibase.ui)
-
-SET (DLTEXT_MOC_HDRS
-     qgsdelimitedtextplugin.h
-     qgsdelimitedtextplugingui.h
-)
-
-SET (DLTEXT_RCCS  delimited_text.qrc)
-
-########################################################
-# Build
-
-QT4_WRAP_UI (DLTEXT_UIS_H  ${DLTEXT_UIS})
-
-QT4_WRAP_CPP (DLTEXT_MOC_SRCS  ${DLTEXT_MOC_HDRS})
-
-QT4_ADD_RESOURCES(DLTEXT_RCC_SRCS ${DLTEXT_RCCS})
-
-ADD_LIBRARY (delimitedtextplugin MODULE ${DLTEXT_SRCS} ${DLTEXT_MOC_SRCS} ${DLTEXT_RCC_SRCS} ${DLTEXT_UIS_H})
-
-INCLUDE_DIRECTORIES(
-     ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../core/raster ../../core/renderer ../../core/symbology
-     ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
-     ..
-	${GEOS_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
-  ${PROJ_INCLUDE_DIR}
-)
-
-TARGET_LINK_LIBRARIES(delimitedtextplugin
-  ${QT_LIBRARIES}
-  ${GDAL_LIBRARIES}
-  ${PROJ_LIBRARY}
-  qgis_core
-)
-
-
-########################################################
-# Install
-
-INSTALL(TARGETS delimitedtextplugin
-  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
-  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
+
+########################################################
+# Files
+
+SET (DLTEXT_SRCS
+     qgsdelimitedtextplugin.cpp
+     qgsdelimitedtextplugingui.cpp
+)
+
+SET (DLTEXT_UIS qgsdelimitedtextpluginguibase.ui)
+
+SET (DLTEXT_MOC_HDRS
+     qgsdelimitedtextplugin.h
+     qgsdelimitedtextplugingui.h
+)
+
+SET (DLTEXT_RCCS  delimited_text.qrc)
+
+########################################################
+# Build
+
+QT4_WRAP_UI (DLTEXT_UIS_H  ${DLTEXT_UIS})
+
+QT4_WRAP_CPP (DLTEXT_MOC_SRCS  ${DLTEXT_MOC_HDRS})
+
+QT4_ADD_RESOURCES(DLTEXT_RCC_SRCS ${DLTEXT_RCCS})
+
+ADD_LIBRARY (delimitedtextplugin MODULE ${DLTEXT_SRCS} ${DLTEXT_MOC_SRCS} ${DLTEXT_RCC_SRCS} ${DLTEXT_UIS_H})
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
+     ../../gui
+     ..
+)
+
+TARGET_LINK_LIBRARIES(delimitedtextplugin
+  ${QT_LIBRARIES}
+  qgis_core
+  qgis_gui
+)
+
+
+########################################################
+# Install
+
+INSTALL(TARGETS delimitedtextplugin
+  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
+  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})

Deleted: packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,60 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-plugindir = ${pkglibdir}
-
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-# DelimitedTextLayer below to be replaced with the name of the plugin
-plugin_LTLIBRARIES = delimitedtextplugin.la
-
-plugin_MOC = qgsdelimitedtextplugin.moc.cpp		\
-	     qgsdelimitedtextplugingui.moc.cpp		
-
-plugin_UI = ui_qgsdelimitedtextpluginguibase.h 
-
-plugin_UIC = qgsdelimitedtextpluginguibase.ui
-
-#plugin_QRC = delimited_text.qrc
- 
-plugin_RES = delimited_text.qrc.cpp
-
-delimitedtextplugin_la_SOURCES =  qgsdelimitedtextplugin.cpp	\
-			      	       qgsdelimitedtextplugin.h		\
-				       qgsdelimitedtextplugingui.cpp	\
-				       qgsdelimitedtextplugingui.h	\
-				       $(plugin_UI)			\
-				       $(plugin_MOC) \
-							 $(plugin_QRC) \
-							 $(plugin_RES)
-
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-
-
-delimitedtextplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-delimitedtextplugin_la_LDFLAGS = -avoid-version -module
-delimitedtextplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../core -I../../gui -I../../ui
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) icon.xpm
-

Deleted: packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/delimitedtextplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS)
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/delimitedtextplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/delimited_text/delimited_text.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/delimited_text.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/delimited_text.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gui library - the app is built in a separate pro file
-#
-
-include(../../../settings.pro)
-TARGET=delimitedtextplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-#LIBS += $${GEOSLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-#LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-RESOURCES = delimited_text.qrc
-
-HEADERS += qgsdelimitedtextplugin.h \
-           qgsdelimitedtextplugingui.h 
-FORMS +=   qgsdelimitedtextpluginguibase.ui
-SOURCES += qgsdelimitedtextplugin.cpp \
-           qgsdelimitedtextplugingui.cpp 

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,11 +18,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: qgsdelimitedtextplugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: qgsdelimitedtextplugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgisgui.h"
 #include "qgsmaplayer.h"
 #include "qgsdelimitedtextplugin.h"
@@ -54,8 +54,8 @@
  * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-  QgsDelimitedTextPlugin::QgsDelimitedTextPlugin(QgisApp * theQGisApp, QgisIface * theQgisInterFace):
-qgisMainWindowPointer(theQGisApp), qGisInterface(theQgisInterFace)
+  QgsDelimitedTextPlugin::QgsDelimitedTextPlugin(QgisInterface * theQgisInterFace)
+  : qGisInterface(theQgisInterFace)
 {
   /** Initialize the plugin and set the required attributes */
   pluginNameQString = tr("DelimitedTextLayer");
@@ -120,8 +120,9 @@
 void QgsDelimitedTextPlugin::run()
 {
   QgsDelimitedTextPluginGui *myQgsDelimitedTextPluginGui=
-    new QgsDelimitedTextPluginGui(qGisInterface, qgisMainWindowPointer,
-        QgisGui::ModalDialogFlags);
+    new QgsDelimitedTextPluginGui(qGisInterface,
+             qGisInterface->getMainWindow(), QgisGui::ModalDialogFlags);
+  myQgsDelimitedTextPluginGui->setAttribute(Qt::WA_DeleteOnClose);
   //listen for when the layer has been made so we can draw it
   connect(myQgsDelimitedTextPluginGui, 
       SIGNAL(drawVectorLayer(QString,QString,QString)),
@@ -153,10 +154,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, 
-    QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsDelimitedTextPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsDelimitedTextPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,29 +16,28 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsdelimitedtextplugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: qgsdelimitedtextplugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef PLUGIN
 #define PLUGIN
 #include "../qgisplugin.h"
-#include <qwidget.h>
 #include "ui_qgsdelimitedtextpluginguibase.h"
-#include "qgisapp.h"
 
+class QgisInterface;
+
 /**
 * \class QgsDelimitedTextPlugin
-* \brief OpenModeller plugin for QGIS
+* \brief Delimited text plugin for QGIS
 *
 */
 class QgsDelimitedTextPlugin:public QObject, public QgisPlugin, private Ui::QgsDelimitedTextPluginGuiBase
 {
   Q_OBJECT public:
       /** 
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+       * Constructor for a plugin. The QgisInterface pointer is passed by 
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object. 
+       * @param qI Pointer to the QgisInterface object
        */
-      QgsDelimitedTextPlugin(QgisApp * , QgisIface * );
+      QgsDelimitedTextPlugin(QgisInterface * );
   /**
    * Virtual function to return the name of the plugin. The name will be used when presenting a list 
    * of installable plugins to the user
@@ -80,10 +79,8 @@
   QString pluginDescriptionQString;
   //! Plugin type as defined in Plugin::PLUGINTYPE
   int pluginType;
-  //! Pionter to QGIS main application object
-  QgisApp *qgisMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *myQActionPointer;
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -11,12 +11,12 @@
  *   the Free Software Foundation; either version 2 of the License, or     *
  *   (at your option) any later version.                                   *
  ***************************************************************************/
-/* $Id: qgsdelimitedtextplugingui.cpp 6290 2006-12-20 04:51:35Z telwertowski $ */
+/* $Id: qgsdelimitedtextplugingui.cpp 6541 2007-02-06 09:09:39Z g_j_m $ */
 #include <iostream>
 #include "qgsdelimitedtextplugingui.h"
 #include "qgscontexthelp.h"
 
-#include "qgisiface.h"
+#include "qgisinterface.h"
 
 #include <QFileDialog>
 #include <QFile>
@@ -27,28 +27,31 @@
 #include <QMessageBox>
 #include <QTextStream>
 
-QgsDelimitedTextPluginGui::QgsDelimitedTextPluginGui() : QDialog()
-{
-  setupUi(this);
-
-}
-
-QgsDelimitedTextPluginGui::QgsDelimitedTextPluginGui(QgisIface * _qI, QWidget * parent, Qt::WFlags fl) 
+QgsDelimitedTextPluginGui::QgsDelimitedTextPluginGui(QgisInterface * _qI, QWidget * parent, Qt::WFlags fl) 
 : QDialog(parent, fl), qI(_qI)
 {
   setupUi(this);
+  pbnOK = buttonBox->button(QDialogButtonBox::Ok);
+  pbnParse = buttonBox->addButton(tr("Parse"), QDialogButtonBox::ActionRole);
+  connect(pbnParse, SIGNAL(clicked()), this, SLOT(pbnParse_clicked()));
+  connect(txtFilePath, SIGNAL(textChanged(const QString&)), this, SLOT(pbnParse_clicked()));
+  enableButtons();
   // at startup, fetch the last used delimiter and directory from
   // settings
   QSettings settings;
   QString key = "/Plugin-DelimitedText";
   txtDelimiter->setText(settings.readEntry(key + "/delimiter"));
 
+  teInstructions->setHtml(tr("<h1>Description</h1>"
+"<p>Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you!</p>"
+"<p>Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.</p>"));
+
 }  
 QgsDelimitedTextPluginGui::~QgsDelimitedTextPluginGui()
 {
 }
 /** Autoconnected slots **/
-void QgsDelimitedTextPluginGui::on_pbnHelp_clicked()
+void QgsDelimitedTextPluginGui::on_buttonBox_helpRequested()
 {
   QgsContextHelp::run(context_id);
 }
@@ -56,11 +59,11 @@
 {
   getOpenFileName();
 }
-void QgsDelimitedTextPluginGui::on_pbnParse_clicked()
+void QgsDelimitedTextPluginGui::pbnParse_clicked()
 {
   updateFieldLists();
 }
-void QgsDelimitedTextPluginGui::on_pbnOK_clicked()
+void QgsDelimitedTextPluginGui::on_buttonBox_accepted()
 {
   if(txtLayerName->text().length() > 0)
   {
@@ -80,6 +83,8 @@
     settings.writeEntry(key + "/delimiter", txtDelimiter->text());
     QFileInfo fi(txtFilePath->text());
     settings.writeEntry(key + "/text_path", fi.dirPath());
+
+    accept();
   }
   else
   {
@@ -87,6 +92,11 @@
   }
 } 
 
+void QgsDelimitedTextPluginGui::on_buttonBox_rejected()
+{
+  reject();
+}
+
 void QgsDelimitedTextPluginGui::updateFieldLists()
 {
   // Update the x and y field dropdown boxes

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextplugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
 
 #include "ui_qgsdelimitedtextpluginguibase.h"
 
-class QgisIface;
+class QgisInterface;
 
 /**
  * \class QgsDelimitedTextPluginGui
@@ -24,23 +24,30 @@
 {
   Q_OBJECT
   public:
-    QgsDelimitedTextPluginGui();
-    QgsDelimitedTextPluginGui( QgisIface * _qI, QWidget* parent = 0, Qt::WFlags fl = 0 );
+    QgsDelimitedTextPluginGui( QgisInterface * _qI, QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsDelimitedTextPluginGui();
-    public slots:
-    void on_pbnOK_clicked();
-    void on_pbnHelp_clicked();
-    void on_btnBrowseForFile_clicked();
-    void on_pbnParse_clicked();
+
+  public slots:
+    void help();
+
+  private:
     void updateFieldLists();
     void getOpenFileName();
     void enableButtons();
-    void help();
 
-  private:
-    QgisIface * qI;
+    QgisInterface * qI;
+    QAbstractButton *pbnOK;
+    QAbstractButton *pbnParse;
     static const int context_id = 1033030847;
-signals:
+
+  private slots:
+    void on_buttonBox_accepted();
+    void on_buttonBox_rejected();
+    void on_buttonBox_helpRequested();
+    void on_btnBrowseForFile_clicked();
+    void pbnParse_clicked();
+
+  signals:
     void drawRasterLayer(QString);
     void drawVectorLayer(QString,QString,QString);
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/delimited_text/qgsdelimitedtextpluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>564</width>
-    <height>517</height>
+    <width>657</width>
+    <height>547</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -17,19 +17,33 @@
   </property>
   <layout class="QGridLayout" >
    <property name="margin" >
-    <number>10</number>
+    <number>9</number>
    </property>
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="0" column="0" >
-    <widget class="QPushButton" name="pbnCancel_2" >
+   <item row="0" column="0" colspan="5" >
+    <widget class="QLabel" name="txtHeading" >
+     <property name="font" >
+      <font>
+       <family>Sans Serif</family>
+       <pointsize>20</pointsize>
+       <weight>50</weight>
+       <italic>false</italic>
+       <bold>false</bold>
+       <underline>false</underline>
+       <strikeout>false</strikeout>
+      </font>
+     </property>
      <property name="text" >
-      <string>Cancel</string>
+      <string>Delimited Text Layer</string>
      </property>
+     <property name="alignment" >
+      <set>Qt::AlignCenter</set>
+     </property>
     </widget>
    </item>
-   <item rowspan="8" row="0" column="0" colspan="2" >
+   <item rowspan="6" row="1" column="0" >
     <widget class="QLabel" name="pixmapLabel1" >
      <property name="pixmap" >
       <pixmap resource="delimited_text.qrc" >:/new/prefix1/delimited_text.png</pixmap>
@@ -39,7 +53,17 @@
      </property>
     </widget>
    </item>
-   <item row="7" column="2" >
+   <item row="6" column="4" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="4" >
     <layout class="QHBoxLayout" >
      <property name="margin" >
       <number>0</number>
@@ -48,19 +72,20 @@
       <number>6</number>
      </property>
      <item>
-      <widget class="QPushButton" name="pbnHelp" >
+      <widget class="QLabel" name="textLabel1_2" >
+       <property name="text" >
+        <string>Layer name</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="txtLayerName" >
        <property name="toolTip" >
-        <string>Help on using the plugin</string>
+        <string>Name to display in the map legend</string>
        </property>
        <property name="whatsThis" >
-        <string>Opens the Delimited Text Plugin help in your configured browser</string>
+        <string>Name displayed in the map legend</string>
        </property>
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+H</string>
-       </property>
       </widget>
      </item>
      <item>
@@ -69,80 +94,88 @@
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
+        <enum>QSizePolicy::Fixed</enum>
        </property>
        <property name="sizeHint" >
         <size>
-         <width>16</width>
+         <width>20</width>
          <height>21</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="pbnParse" >
+      <widget class="QLabel" name="textLabel3" >
+       <property name="text" >
+        <string>Delimiter</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="txtDelimiter" >
+       <property name="maximumSize" >
+        <size>
+         <width>25</width>
+         <height>32767</height>
+        </size>
+       </property>
        <property name="toolTip" >
-        <string>Parse the header row and update the X and Y field lists</string>
+        <string>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</string>
        </property>
        <property name="whatsThis" >
-        <string>Parse the header row of the input file and refresh the fields in the X and Y field drop-down lists. Use this button to refresh the field lists if you change the delimiter after selecting the delimited text file.</string>
+        <string>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</string>
        </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="2" column="4" >
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="textLabel1" >
        <property name="text" >
-        <string>&amp;Parse</string>
+        <string>Delimited text file</string>
        </property>
-       <property name="shortcut" >
-        <string>Alt+P</string>
-       </property>
       </widget>
      </item>
      <item>
-      <widget class="QPushButton" name="pbnOK" >
+      <widget class="QgsFileDropEdit" name="txtFilePath" >
        <property name="toolTip" >
-        <string>Add layer using the delimiter, file, and x/y fields specified</string>
+        <string>Full path to the delimited text file</string>
        </property>
        <property name="whatsThis" >
-        <string>Creates a layer using the specified parameters and adds it to the map. The dialog remains open to allow adding of additional layers.</string>
+        <string>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</string>
        </property>
-       <property name="text" >
-        <string>&amp;Add Layer</string>
+       <property name="readOnly" >
+        <bool>true</bool>
        </property>
-       <property name="shortcut" >
-        <string>Alt+A</string>
-       </property>
       </widget>
      </item>
      <item>
-      <widget class="QPushButton" name="pbnCancel" >
+      <widget class="QPushButton" name="btnBrowseForFile" >
+       <property name="enabled" >
+        <bool>true</bool>
+       </property>
        <property name="toolTip" >
-        <string>Close the dialog</string>
+        <string>Browse to find the delimited text file to be processed</string>
        </property>
        <property name="whatsThis" >
-        <string>Close the dialog without adding anything to the map.</string>
+        <string>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i>Delimiter&lt;/i> box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</string>
        </property>
        <property name="text" >
-        <string>&amp;Close</string>
+        <string>Browse...</string>
        </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
       </widget>
      </item>
     </layout>
    </item>
-   <item rowspan="7" row="1" column="1" >
-    <widget class="Line" name="line1" >
-     <property name="frameShape" >
-      <enum>QFrame::VLine</enum>
-     </property>
-     <property name="frameShadow" >
-      <enum>QFrame::Sunken</enum>
-     </property>
-     <property name="orientation" >
-      <enum>Qt::Vertical</enum>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="2" >
+   <item row="4" column="4" >
     <layout class="QHBoxLayout" >
      <property name="margin" >
       <number>0</number>
@@ -220,29 +253,33 @@
      </item>
     </layout>
    </item>
-   <item row="6" column="2" >
-    <widget class="Q3GroupBox" name="groupBox1" >
-     <property name="title" >
-      <string>Sample text</string>
+   <item rowspan="6" row="1" column="1" >
+    <widget class="Line" name="line1" >
+     <property name="frameShape" >
+      <enum>QFrame::VLine</enum>
      </property>
+     <property name="frameShadow" >
+      <enum>QFrame::Sunken</enum>
+     </property>
      <property name="orientation" >
       <enum>Qt::Vertical</enum>
      </property>
+    </widget>
+   </item>
+   <item row="5" column="3" colspan="2" >
+    <widget class="QGroupBox" name="groupBox" >
+     <property name="title" >
+      <string>Sample text</string>
+     </property>
      <layout class="QGridLayout" >
       <property name="margin" >
-       <number>10</number>
+       <number>9</number>
       </property>
       <property name="spacing" >
        <number>6</number>
       </property>
       <item row="0" column="0" >
-       <widget class="Q3TextEdit" name="txtSample" >
-        <property name="textFormat" >
-         <enum>Qt::PlainText</enum>
-        </property>
-        <property name="wordWrap" >
-         <enum>Q3TextEdit::NoWrap</enum>
-        </property>
+       <widget class="QTextEdit" name="txtSample" >
         <property name="readOnly" >
          <bool>true</bool>
         </property>
@@ -251,178 +288,28 @@
      </layout>
     </widget>
    </item>
-   <item row="2" column="2" >
-    <widget class="Q3TextEdit" name="teInstructions" >
-     <property name="text" >
-      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style="font-size:12pt;font-family:Arial">
-&lt;p style="margin-top:16px">&lt;span style="font-size:16pt;font-weight:600">Description&lt;/span>&lt;/p>
-&lt;p>Select a delimited text file containing x and y coordinates that you would like to use as a point layer and this plugin will do the job for you! &lt;/p>
-&lt;p>Use the layer name box to specify the legend name for the new layer. Use the delimiter box to specify what delimeter is used in your file (e.g. space, comma or tab). After choosing a delimiter, press the parse button an select the columns containing the x and y values for the layer.&lt;/p>
-&lt;/body>&lt;/html>
-</string>
-     </property>
-     <property name="wordWrap" >
-      <enum>Q3TextEdit::WidgetWidth</enum>
-     </property>
+   <item row="1" column="2" colspan="3" >
+    <widget class="QTextEdit" name="teInstructions" >
      <property name="readOnly" >
       <bool>true</bool>
      </property>
-    </widget>
-   </item>
-   <item rowspan="2" row="0" column="2" >
-    <widget class="QLabel" name="txtHeading" >
-     <property name="font" >
-      <font>
-       <family>Sans Serif</family>
-       <pointsize>20</pointsize>
-       <weight>50</weight>
-       <italic>false</italic>
-       <bold>false</bold>
-       <underline>false</underline>
-       <strikeout>false</strikeout>
-      </font>
+     <property name="html" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
      </property>
-     <property name="text" >
-      <string>Delimited Text Layer</string>
-     </property>
-     <property name="alignment" >
-      <set>Qt::AlignCenter</set>
-     </property>
     </widget>
    </item>
-   <item row="3" column="2" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="textLabel1" >
-       <property name="text" >
-        <string>Delimited text file</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="txtFilePath" >
-       <property name="toolTip" >
-        <string>Full path to the delimited text file</string>
-       </property>
-       <property name="whatsThis" >
-        <string>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</string>
-       </property>
-       <property name="readOnly" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnBrowseForFile" >
-       <property name="enabled" >
-        <bool>true</bool>
-       </property>
-       <property name="maximumSize" >
-        <size>
-         <width>30</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="toolTip" >
-        <string>Browse to find the delimited text file to be processed</string>
-       </property>
-       <property name="whatsThis" >
-        <string>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the &lt;i>Delimiter&lt;/i> box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</string>
-       </property>
-       <property name="text" >
-        <string>...</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item row="4" column="2" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="textLabel1_2" >
-       <property name="text" >
-        <string>Layer name</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="txtLayerName" >
-       <property name="toolTip" >
-        <string>Name to display in the map legend</string>
-       </property>
-       <property name="whatsThis" >
-        <string>Name displayed in the map legend</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Fixed</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QLabel" name="textLabel3" >
-       <property name="text" >
-        <string>Delimiter</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="txtDelimiter" >
-       <property name="maximumSize" >
-        <size>
-         <width>25</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="toolTip" >
-        <string>Delimiter to use when splitting fields in the text file. The delimiter can be more than one character.</string>
-       </property>
-       <property name="whatsThis" >
-        <string>Delimiter to use when splitting fields in the delimited text file. The delimiter can be 1 or more characters in length.</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <customwidgets>
   <customwidget>
-   <class>Q3TextEdit</class>
-   <extends>Q3Frame</extends>
-   <header>q3textedit.h</header>
+   <class>QgsFileDropEdit</class>
+   <extends>QLineEdit</extends>
+   <header>qgsfiledropedit.h</header>
   </customwidget>
-  <customwidget>
-   <class>Q3GroupBox</class>
-   <extends>QGroupBox</extends>
-   <header>Qt3Support/Q3GroupBox</header>
-   <container>1</container>
-  </customwidget>
  </customwidgets>
  <tabstops>
   <tabstop>txtLayerName</tabstop>
@@ -431,32 +318,9 @@
   <tabstop>btnBrowseForFile</tabstop>
   <tabstop>cmbXField</tabstop>
   <tabstop>cmbYField</tabstop>
-  <tabstop>pbnHelp</tabstop>
-  <tabstop>pbnParse</tabstop>
-  <tabstop>pbnOK</tabstop>
-  <tabstop>pbnCancel</tabstop>
-  <tabstop>pbnCancel_2</tabstop>
-  <tabstop>teInstructions</tabstop>
  </tabstops>
  <resources>
   <include location="delimited_text.qrc" />
  </resources>
- <connections>
-  <connection>
-   <sender>pbnCancel</sender>
-   <signal>clicked()</signal>
-   <receiver>QgsDelimitedTextPluginGuiBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel" >
-     <x>503</x>
-     <y>389</y>
-    </hint>
-    <hint type="destinationlabel" >
-     <x>525</x>
-     <y>408</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
+ <connections/>
 </ui>

Added: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+qgsdlgpgbufferbase.cpp
+qgsdlgpgbufferbase.h

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -25,22 +25,16 @@
 
 INCLUDE_DIRECTORIES(
      ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../raster ../../renderer ../../core/symbology
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ..
      ${POSTGRES_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
-     ${GEOS_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(pggeoprocessingplugin
   ${POSTGRES_LIBRARY}
-  ${GDAL_LIBRARIES}
-  ${PROJ_LIBRARY}
-  ${GEOS_LIBRARY}
   qgis_core
+  qgis_gui
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,61 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4624 2006-01-09 00:35:09Z timlinux $
-
-plugindir = ${pkglibdir}
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui
-	$(UIC) -o $@ $<
-
-# %.h: %.ui
-# 	$(UIC) -o $@ $<
-#
-# %.cpp: %.ui
-# 	$(UIC) -o $@ -impl $*.h $<
-
-
-plugin_LTLIBRARIES = pggeoprocessingplugin.la
-
-
-pggeoprocessing_MOC = 	qgspggeoprocessing.moc.cpp \
-		        qgsdlgpgbuffer.moc.cpp
-
-pggeoprocessing_UI = ui_qgsdlgpgbufferbase.h 
-
-pggeoprocessing_UIC = qgsdlgpgbufferbase.ui
-
-pggeoprocessingplugin_la_SOURCES =  qgspggeoprocessing.cpp \
-				    qgspggeoprocessing.h \
-				    qgsdlgpgbuffer.cpp \
-				    qgsdlgpgbuffer.h \
-				    $(pggeoprocessing_UI)
-
-nodist_pggeoprocessingplugin_la_SOURCES = $(pggeoprocessing_MOC)
-
-# UI dependencies			
-qgsdlgpgbufferbase.cpp: qgsdlgpgbufferbase.h qgsdlgpgbufferbase.ui
-qgsdlgpgbufferbase.h: qgsdlgpgbufferbase.ui
-
-
-BUILT_SOURCES = $(pggeoprocessing_MOC) $(pggeoprocessing_UI)
-
-
-pggeoprocessingplugin_la_LIBADD = $(QT_LDADD)  $(GDAL_LDADD) $(PG_LIB) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-pggeoprocessingplugin_la_LDFLAGS = -avoid-version -module
-pggeoprocessingplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../ui -I../../gui -I../../core
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(pggeoprocessing_UIC) icon_buffer.xpm
-

Deleted: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/pggeoprocessing.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/pggeoprocessing.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/geoprocessing.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/geoprocessing.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/geoprocessing.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,51 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the spit plugin
-#
-
-include(../../../settings.pro)
-TARGET=geoprocessingplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=spit
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${POSTGRESLIBADD}
-
-
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-
-message("Building libs into $${DESTDIR}")
-
-
-HEADERS += qgsdlgpgbuffer.h \
-           qgspggeoprocessing.h 
-
-INTERFACES += qgsdlgpgbufferbase.ui 
-
-SOURCES += qgsdlgpgbuffer.cpp \
-           qgspggeoprocessing.cpp

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,14 +17,14 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsdlgpgbuffer.cpp 4778 2006-01-29 05:55:07Z g_j_m $ */
+ /*  $Id: qgsdlgpgbuffer.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 #include <QValidator>
 
 #include "qgsdlgpgbuffer.h"
 #include "qgscontexthelp.h"
-#include "qgisiface.h"
+#include "qgisinterface.h"
 
-QgsDlgPgBuffer::QgsDlgPgBuffer( QgisIface * _qI, QWidget * parent, Qt::WFlags fl)
+QgsDlgPgBuffer::QgsDlgPgBuffer( QgisInterface * _qI, QWidget * parent, Qt::WFlags fl)
 :QDialog(parent, fl),qI(_qI)
 {
   setupUi(this);
@@ -100,7 +100,7 @@
 {
     txtGeometryColumn->setText(name);
 }
-void QgsDlgPgBuffer::on_btnHelp_clicked()
+void QgsDlgPgBuffer::on_buttonBox_helpRequested()
 {
   QgsContextHelp::run(context_id);
 // Old call to open help in browser  qI->openURL("plugins/geoprocessing/buffer/index.html",true);

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbuffer.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,20 +17,20 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsdlgpgbuffer.h 4990 2006-03-09 22:50:13Z telwertowski $ */
+ /*  $Id: qgsdlgpgbuffer.h 6475 2007-02-01 01:12:20Z telwertowski $ */
 #ifndef QGSDLGPGBUFFER_H
 #define QGSDLGPGBUFFER_H
 #include "ui_qgsdlgpgbufferbase.h"
 #include "qgisgui.h"
 
-class QgisIface;
+class QgisInterface;
 class QDoubleValidator;
 
 class QgsDlgPgBuffer:public QDialog, private Ui::QgsDlgPgBufferBase
 {
   Q_OBJECT public:
   //! Constructor
-    QgsDlgPgBuffer( QgisIface * _qI = 0, QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
+    QgsDlgPgBuffer( QgisInterface * _qI = 0, QWidget * parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags);
     //! Destructor
     ~QgsDlgPgBuffer();
     //! Set the information label in the dialog
@@ -59,11 +59,11 @@
     void setBufferLayerName(QString name);
     //! Set the geometry column on the dialog
     void setGeometryColumn(QString name);
-    public slots:
-    void on_btnHelp_clicked();
+    private slots:
+    void on_buttonBox_helpRequested();
     private:
       //! Pointer to the QGIS interface object
-    QgisIface *qI;
+    QgisInterface *qI;
     //! Input validator for the buffer distance
     QDoubleValidator *distanceValidator;
     //! Context help id

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbufferbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbufferbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgsdlgpgbufferbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,4 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsDlgPgBufferBase</class>
  <widget class="QDialog" name="QgsDlgPgBufferBase" >
   <property name="geometry" >
@@ -239,72 +236,14 @@
     </widget>
    </item>
    <item row="2" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>
@@ -313,8 +252,8 @@
  <resources/>
  <connections>
   <connection>
-   <sender>buttonOk</sender>
-   <signal>clicked()</signal>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
    <receiver>QgsDlgPgBufferBase</receiver>
    <slot>accept()</slot>
    <hints>
@@ -329,8 +268,8 @@
    </hints>
   </connection>
   <connection>
-   <sender>buttonCancel</sender>
-   <signal>clicked()</signal>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
    <receiver>QgsDlgPgBufferBase</receiver>
    <slot>reject()</slot>
    <hints>

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,12 +18,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: qgspggeoprocessing.cpp 6077 2006-11-11 17:42:03Z gsherman $ */
+/*  $Id: qgspggeoprocessing.cpp 6833 2007-03-24 22:40:10Z wonder $ */
 
 // includes
 #include <iostream>
 #include <vector>
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
 #include "qgsvectordataprovider.h"
@@ -32,6 +32,7 @@
 #include <QMessageBox>
 #include <QAction>
 #include <QApplication>
+#include <QMenu>
 
 #include "qgsdlgpgbuffer.h"
 #include "qgspggeoprocessing.h"
@@ -39,13 +40,11 @@
 // xpm for creating the toolbar icon
 #include "icon_buffer.xpm"
 
-static const char *pluginVersion = "0.1";
+static const char * const ident_ = "$Id: qgspggeoprocessing.cpp 6833 2007-03-24 22:40:10Z wonder $";
 
-static const char * const ident_ = "$Id: qgspggeoprocessing.cpp 6077 2006-11-11 17:42:03Z gsherman $";
-
-static const char * const name_ = "PostgresSQL Geoprocessing";
-static const char * const description_ = "Geoprocessing functions for working with PostgreSQL/PostGIS layers";
-static const char * const version_ = "Version 0.1";
+static const QString name_ = QObject::tr("PostgresSQL Geoprocessing");
+static const QString description_ = QObject::tr("Geoprocessing functions for working with PostgreSQL/PostGIS layers");
+static const QString version_ = QObject::tr("Version 0.1");
 static const QgisPlugin::PLUGINTYPE type_ = QgisPlugin::UI;
 
 
@@ -55,9 +54,10 @@
  * @param qgis Pointer to the QGIS main window
  * @parma _qI Pointer to the QGIS interface object
  */
-QgsPgGeoprocessing::QgsPgGeoprocessing(QgisApp * qgis, QgisIface * _qI)
-    : qgisMainWindow(qgis), qI(_qI), 
-      QgisPlugin( name_, description_, version_, type_ )
+QgsPgGeoprocessing::QgsPgGeoprocessing(QgisInterface * _qI)
+  : QgisPlugin( name_, description_, version_, type_ ),
+    qgisMainWindow(_qI->getMainWindow()),
+    qI(_qI)
 {
 }
 
@@ -137,11 +137,11 @@
         bb->setBufferLayerName(tableName.mid(tableName.find(".") + 1) + "_buffer");
         // set the fields on the dialog box drop-down
         QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(lyr->getDataProvider());
-        std::vector < QgsField > flds = dp->fields();
-        for (int i = 0; i < flds.size(); i++) {
+        QgsFieldMap flds = dp->fields();
+        for (QgsFieldMap::iterator it = flds.begin(); it != flds.end(); ++it) {
           // check the field type -- if its int we can use it
-          if (flds[i].type().find("int") > -1) {
-            bb->addFieldItem(flds[i].name());
+          if (it->typeName().find("int") > -1) {
+            bb->addFieldItem(it->name());
           }
         }
         // connect to the database
@@ -440,9 +440,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-extern "C" QgisPlugin * classFactory(QgisApp * qgis, QgisIface * qI)
+extern "C" QgisPlugin * classFactory(QgisInterface * qI)
 {
-  return new QgsPgGeoprocessing(qgis, qI);
+  return new QgsPgGeoprocessing(qI);
 }
 
 // Return the name of the plugin

Modified: packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/geoprocessing/qgspggeoprocessing.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgspggeoprocessing.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: qgspggeoprocessing.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGISQgsPgGeoprocessing_H
 #define QGISQgsPgGeoprocessing_H
 #include "../qgisplugin.h"
@@ -29,9 +29,9 @@
 }
 
 class QAction;
+#include <QObject>
 
 //#include "qgsworkerclass.h"
-#include "qgisapp.h"
 
 /**
 * \class QgsPgGeoprocessing
@@ -42,12 +42,11 @@
 {
   Q_OBJECT public:
 /** 
-* Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+* Constructor for a plugin. The QgisInterface pointer is passed by 
 * QGIS when it attempts to instantiate the plugin.
-* @param qgis Pointer to the QgisApp object
-* @param qI Pointer to the QgisIface object. 
+* @param qI Pointer to the QgisInterface object. 
 */
-    QgsPgGeoprocessing(QgisApp * qgis, QgisIface * qI);
+    QgsPgGeoprocessing(QgisInterface * qI);
 
     //! Destructor
       virtual ~ QgsPgGeoprocessing();
@@ -74,9 +73,9 @@
   bool projAvailable;
   
     //! Pionter to QGIS main application object
-    QgisApp *qgisMainWindow;
+    QWidget *qgisMainWindow;
     //! Pointer to the QGIS interface object
-    QgisIface *qI;
+    QgisInterface *qI;
     //! Pointer to the QAction used for the menu and toolbar (needed to enable unloading of the plugin)
     QAction *bufferAction;
 };

Added: packages/qgis/branches/upstream/current/src/plugins/georeferencer/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*.la
+*.lo
+*.moc.cpp
+ui_*.h
+*.qrc.cpp
+

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -45,23 +45,18 @@
 INCLUDE_DIRECTORIES(
      ${CMAKE_CURRENT_SOURCE_DIR}
      ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../raster ../../renderer ../../core/symbology
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ..
      ${GSL_INCLUDE_DIR}
      ${GDAL_INCLUDE_DIR}
-     ${GEOS_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(georefplugin
   ${QT_LIBRARIES}
   qgis_core
+  qgis_gui
   ${GSL_LIBRARIES}
-  ${PROJ_LIBRARIES}
-  ${GDAL_LIBRARIES}
-  ${GEOS_LIBRARY}
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,88 +0,0 @@
-# Copyright (C) 2005 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-
-if HAVE_GSL
-
-
-plugindir    = ${pkglibdir}
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-## target plug-in 
-plugin_LTLIBRARIES = georefplugin.la
-
-## qt designer user-interface files
-plugin_UIC = pluginguibase.ui \
-             qgspointdialogbase.ui \
-             mapcoordsdialogbase.ui \
-             qgsgeorefwarpoptionsdialogbase.ui
-
-## uic created headers
-plugin_UI = ui_pluginguibase.h \
-            ui_qgspointdialogbase.h \
-            ui_qgsgeorefwarpoptionsdialogbase.h \
-            ui_mapcoordsdialogbase.h 
-
-## MOC files
-plugin_MOC = plugin.moc.cpp \
-             plugingui.moc.cpp \
-             qgspointdialog.moc.cpp \
-             mapcoordsdialog.moc.cpp \
-             qgsgeorefwarpoptionsdialog.moc.cpp
-
-
-plugin_RES = georeferencer.qrc.cpp
-
-plugin_QRC = georeferencer.qrc
-
-
-georefplugin_la_SOURCES = plugin.cpp \
-	qgsgeorefdatapoint.h \
-	qgsgeorefdatapoint.cpp \
-	plugin.h \
-	plugingui.cpp \
-	plugingui.h \
-	qgsimagewarper.h \
-	qgsimagewarper.cpp \
-	qgsleastsquares.h \
-	qgsleastsquares.cpp \
-	qgspointdialog.h \
-	qgspointdialog.cpp \
-	qgsgeorefwarpoptionsdialog.h \
-	qgsgeorefwarpoptionsdialog.cpp \
-	mapcoordsdialog.h \
-	mapcoordsdialog.cpp \
-	$(plugin_UI) \
-	$(plugin_RES)
-
-nodist_georefplugin_la_SOURCES = $(plugin_MOC) $(plugin_UI)
-
-georefplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) $(GSL_CFLAGS) -I../ -I../../ui -I../../raster -I../../gui -I../../core
-georefplugin_la_LDFLAGS = -avoid-version -module
-georefplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) $(GSL_LIBS) ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-
-BUILT_SOURCES = $(plugin_UI) $(plugin_MOC) $(plugin_RES)
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) add_point.xpm
-
-
-endif

Deleted: packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/georefplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			-L/home/user/win/i586-mingw32msvc/lib -lgsl -lgslcblas \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/georefplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,71 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the georeferencer plugin
-#
-
-include(../../../settings.pro)
-TARGET=georeferencerplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=georeferencer
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += . 
-INCLUDEPATH += $${OBJDIR}/ui 
-#INCLUDEPATH += $${GEOSINCLUDE}
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${GSLLIBADD}
-LIBS += $${GDALLIBADD}
-
-
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-
-message("Building libs into $${DESTDIR}")
-
-RESOURCES += georeferencer.qrc
-
-FORMS += mapcoordsdialogbase.ui \
-         pluginguibase.ui \
-         qgsgeorefwarpoptionsdialogbase.ui \
-         qgspointdialogbase.ui
-
-
-HEADERS += mapcoordsdialog.h \
-         plugin.h \
-         plugingui.h \
-         qgsgeorefdatapoint.h \
-         qgsgeorefwarpoptionsdialog.h \
-         qgsimagewarper.h \
-         qgsleastsquares.h \
-         qgspointdialog.h
-
-SOURCES += mapcoordsdialog.cpp \
-         plugin.cpp \
-         plugingui.cpp \
-         qgsgeorefdatapoint.cpp \
-         qgsgeorefwarpoptionsdialog.cpp \
-         qgsimagewarper.cpp \
-         qgsleastsquares.cpp \
-         qgspointdialog.cpp

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.qrc
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.qrc	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/georeferencer.qrc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,6 +1,7 @@
 <RCC>
     <qresource prefix="/" >
+        <file>georef.png</file>
         <file>icon.png</file>
-        <file>georef.png</file>
+        <file>pencil.png</file>
     </qresource>
 </RCC>

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +1,57 @@
+/***************************************************************************
+     mapcoordsdialog.cpp
+     --------------------------------------
+    Date                 : 2005
+    Copyright            : (C) 2005 by Lars Luthman
+    Email                : larsl at users dot sourceforge dot net
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QValidator>
 #include <mapcoordsdialog.h>
 
+#include <qgsmapcanvas.h>
+#include <qgsmaptoolemitpoint.h>
 
 MapCoordsDialog::MapCoordsDialog() {
 
 }
 
 
-MapCoordsDialog::MapCoordsDialog(const QgsPoint& pixelCoords,
+MapCoordsDialog::MapCoordsDialog(const QgsPoint& pixelCoords, QgsMapCanvas* qgisCanvas,
 				 QWidget* parent, Qt::WFlags fl) 
   : QDialog(parent, fl) {
   setupUi(this);
   mPixelCoords = pixelCoords;
+  mQgisCanvas = qgisCanvas;
   leXCoord->setValidator(new QDoubleValidator(this));
   leYCoord->setValidator(new QDoubleValidator(this));
+
+  mToolEmitPoint = new QgsMapToolEmitPoint(qgisCanvas);
+  mToolEmitPoint->setButton(btnPointFromCanvas);
+  connect(mToolEmitPoint, SIGNAL(gotPoint(QgsPoint&,Qt::MouseButton)), this, SLOT(setXY(QgsPoint&)));
+
+  connect(leXCoord, SIGNAL(textChanged(const QString&)), this, SLOT(updateOK()));
+  connect(leYCoord, SIGNAL(textChanged(const QString&)), this, SLOT(updateOK()));
+  updateOK();
 }
 
 
 MapCoordsDialog::~MapCoordsDialog() {
 
+  delete mToolEmitPoint;
 }
 
+void MapCoordsDialog::updateOK()
+{
+  bool enable = (leXCoord->text().size() != 0 && leYCoord->text().size() != 0);
+  buttonOk->setEnabled(enable);
+}
 
 void MapCoordsDialog::on_buttonOk_clicked() {
   QgsPoint mapCoords(leXCoord->text().toDouble(), leYCoord->text().toDouble());
@@ -32,3 +63,19 @@
 {
   reject();
 }
+
+void MapCoordsDialog::setXY(QgsPoint & xy)
+{
+  leXCoord->clear();
+  leYCoord->clear();
+  leXCoord->insert(QString::number(xy.x(),'f',7));
+  leYCoord->insert(QString::number(xy.y(),'f',7));
+  
+  mQgisCanvas->setMapTool(mPrevMapTool);
+}
+
+void MapCoordsDialog::on_btnPointFromCanvas_clicked()
+{
+  mPrevMapTool = mQgisCanvas->mapTool();
+  mQgisCanvas->setMapTool(mToolEmitPoint);
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,6 +14,9 @@
 
 #include <qgspoint.h>
 
+class QgsMapCanvas;
+class QgsMapTool;
+
 #include <ui_mapcoordsdialogbase.h>
 #include <QDialog>
 class MapCoordsDialog : public QDialog, private Ui::MapCoordsDialogBase
@@ -21,7 +24,7 @@
 Q_OBJECT
 public:
   MapCoordsDialog();
-  MapCoordsDialog(const QgsPoint& pixelCoords,
+  MapCoordsDialog(const QgsPoint& pixelCoords, QgsMapCanvas* qgisCanvas,
 		  QWidget* parent = 0, Qt::WFlags fl = 0);
   ~MapCoordsDialog();
   
@@ -30,9 +33,19 @@
   void on_buttonOk_clicked();
   void on_buttonCancel_clicked(); 
   
+  void on_btnPointFromCanvas_clicked();
+  
+  void setXY(QgsPoint &);
+  void updateOK();
+  
 private:
   
   QgsPoint mPixelCoords;
+  
+  QgsMapTool* mToolEmitPoint;
+  QgsMapTool* mPrevMapTool;
+  
+  QgsMapCanvas* mQgisCanvas;
 
 signals:
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/mapcoordsdialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +1,12 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>MapCoordsDialogBase</class>
  <widget class="QDialog" name="MapCoordsDialogBase" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>290</width>
-    <height>110</height>
+    <width>389</width>
+    <height>203</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -18,77 +15,187 @@
   <property name="sizeGripEnabled" >
    <bool>true</bool>
   </property>
-  <layout class="QGridLayout" >
+  <layout class="QVBoxLayout" >
    <property name="margin" >
-    <number>10</number>
+    <number>9</number>
    </property>
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="0" column="0" >
-    <widget class="QLabel" name="textLabel1" >
+   <item>
+    <widget class="QLabel" name="label" >
      <property name="text" >
-      <string>X:</string>
+      <string>Enter X and Y coordinates which correspond with the selected point on the image. Alternatively, click the button with icon of a pencil and then click a corresponding point on map canvas of QGIS to fill in coordinates of that point.</string>
      </property>
-    </widget>
-   </item>
-   <item row="1" column="0" >
-    <widget class="QLabel" name="textLabel2" >
-     <property name="text" >
-      <string>Y:</string>
+     <property name="wordWrap" >
+      <bool>true</bool>
      </property>
     </widget>
    </item>
-   <item row="1" column="1" colspan="3" >
-    <widget class="QLineEdit" name="leYCoord" />
-   </item>
-   <item row="0" column="1" colspan="3" >
-    <widget class="QLineEdit" name="leXCoord" />
-   </item>
-   <item row="2" column="0" colspan="2" >
+   <item>
     <spacer>
      <property name="orientation" >
-      <enum>Qt::Horizontal</enum>
+      <enum>Qt::Vertical</enum>
      </property>
      <property name="sizeType" >
-      <enum>QSizePolicy::Expanding</enum>
+      <enum>QSizePolicy::Fixed</enum>
      </property>
      <property name="sizeHint" >
       <size>
-       <width>90</width>
-       <height>20</height>
+       <width>20</width>
+       <height>10</height>
       </size>
      </property>
     </spacer>
    </item>
-   <item row="2" column="3" >
-    <widget class="QPushButton" name="buttonOk" >
-     <property name="text" >
-      <string>&amp;OK</string>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="margin" >
+      <number>0</number>
      </property>
-     <property name="shortcut" >
-      <string/>
+     <property name="spacing" >
+      <number>6</number>
      </property>
-     <property name="autoDefault" >
-      <bool>true</bool>
+     <item row="0" column="1" >
+      <widget class="QLabel" name="textLabel1" >
+       <property name="text" >
+        <string>X:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QLabel" name="textLabel2" >
+       <property name="text" >
+        <string>Y:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2" >
+      <widget class="QLineEdit" name="leXCoord" />
+     </item>
+     <item row="1" column="2" >
+      <widget class="QLineEdit" name="leYCoord" />
+     </item>
+     <item rowspan="2" row="0" column="3" >
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType" >
+        <enum>QSizePolicy::Minimum</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item rowspan="2" row="0" column="0" >
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType" >
+        <enum>QSizePolicy::Minimum</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
      </property>
-     <property name="default" >
-      <bool>true</bool>
+     <property name="sizeHint" >
+      <size>
+       <width>20</width>
+       <height>21</height>
+      </size>
      </property>
-    </widget>
+    </spacer>
    </item>
-   <item row="2" column="2" >
-    <widget class="QPushButton" name="buttonCancel" >
-     <property name="text" >
-      <string>&amp;Cancel</string>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
      </property>
-     <property name="shortcut" >
-      <string/>
+     <property name="spacing" >
+      <number>6</number>
      </property>
-     <property name="autoDefault" >
-      <bool>true</bool>
-     </property>
-    </widget>
+     <item>
+      <widget class="QPushButton" name="btnPointFromCanvas" >
+       <property name="text" >
+        <string> from map canvas</string>
+       </property>
+       <property name="icon" >
+        <iconset resource="georeferencer.qrc" >:/pencil.png</iconset>
+       </property>
+       <property name="iconSize" >
+        <size>
+         <width>18</width>
+         <height>18</height>
+        </size>
+       </property>
+       <property name="checkable" >
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType" >
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>21</width>
+         <height>27</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="buttonCancel" >
+       <property name="text" >
+        <string>&amp;Cancel</string>
+       </property>
+       <property name="shortcut" >
+        <string/>
+       </property>
+       <property name="autoDefault" >
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="buttonOk" >
+       <property name="text" >
+        <string>&amp;OK</string>
+       </property>
+       <property name="shortcut" >
+        <string/>
+       </property>
+       <property name="autoDefault" >
+        <bool>true</bool>
+       </property>
+       <property name="default" >
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
    </item>
   </layout>
  </widget>
@@ -100,6 +207,8 @@
   <tabstop>buttonCancel</tabstop>
   <tabstop>buttonOk</tabstop>
  </tabstops>
- <resources/>
+ <resources>
+  <include location="georeferencer.qrc" />
+ </resources>
  <connections/>
 </ui>

Added: packages/qgis/branches/upstream/current/src/plugins/georeferencer/pencil.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/georeferencer/pencil.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: plugin.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 /***************************************************************************
  *   QGIS Programming conventions:
@@ -42,7 +42,7 @@
 // Required qgis includes
 // 
 
-#include <qgisapp.h>
+#include <qgisinterface.h>
 #include <qgsmaplayer.h>
 #include <qgsrasterlayer.h>
 #include "plugin.h"
@@ -59,7 +59,7 @@
 #define QGISEXTERN extern "C"
 #endif
 
-static const char * const sIdent = "$Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+static const char * const sIdent = "$Id: plugin.cpp 6415 2007-01-09 02:39:15Z wonder $";
 static const QString sName = QObject::tr("Georeferencer");
 static const QString sDescription = QObject::tr("Adding projection info to rasters");
 static const QString sPluginVersion = QObject::tr("Version 0.1");
@@ -77,9 +77,8 @@
  * @param theQGisApp - Pointer to the QGIS main window
  * @param theQGisInterface - Pointer to the QGIS interface object
  */
-QgsGeorefPlugin::QgsGeorefPlugin(QgisApp * theQGisApp, QgisIface * theQgisInterface):
+QgsGeorefPlugin::QgsGeorefPlugin(QgisInterface * theQgisInterface):
                  QgisPlugin(sName,sDescription,sPluginVersion,sPluginType),
-                 mQGisApp(theQGisApp), 
                  mQGisIface(theQgisInterface)
 {
 }
@@ -114,7 +113,7 @@
 // Slot called when the buffer menu item is activated
 void QgsGeorefPlugin::run()
 {
-  QgsGeorefPluginGui *myPluginGui=new QgsGeorefPluginGui(mQGisIface, mQGisApp);
+  QgsGeorefPluginGui *myPluginGui=new QgsGeorefPluginGui(mQGisIface, mQGisIface->getMainWindow());
   myPluginGui->show();
 }
 
@@ -152,9 +151,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsGeorefPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsGeorefPlugin(theQgisInterfacePointer);
 }
 // Return the name of the plugin - note that we do not user class members as
 // the class may not yet be insantiated when this method is called.

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.h 5750 2006-09-02 06:18:19Z g_j_m $ */
+/*  $Id: plugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 /***************************************************************************
  *   QGIS Programming conventions:
@@ -45,7 +45,7 @@
 //QGIS Includes
 //
 #include <qgisplugin.h>
-#include <qgisapp.h>
+class QgisInterface;
 
 //
 //QT Includes
@@ -68,12 +68,11 @@
   //////////////////////////////////////////////////////////////////////
 
   /** 
-  * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+  * Constructor for a plugin. The QgisInterface pointer is passed by 
   * QGIS when it attempts to instantiate the plugin.
-  * @param Pointer to the QgisApp object
-  * @param Pointer to the QgisIface object. 
+  * @param Pointer to the QgisInterface object. 
    */
-  QgsGeorefPlugin(QgisApp * , QgisIface * );
+  QgsGeorefPlugin(QgisInterface * );
   //! Destructor
   virtual ~ QgsGeorefPlugin();
 
@@ -102,10 +101,8 @@
   ////////////////////////////////////////////////////////////////////
   
   int mPluginType;
-  //! Pionter to QGIS main application object
-  QgisApp *mQGisApp;
   //! Pointer to the QGIS interface object
-  QgisIface *mQGisIface;
+  QgisInterface *mQGisIface;
   //!pointer to the qaction for this plugin
   QAction * mQActionPointer;
   ////////////////////////////////////////////////////////////////////

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -30,7 +30,7 @@
   
 }
 
-QgsGeorefPluginGui::QgsGeorefPluginGui(QgisIface* theQgisInterface,
+QgsGeorefPluginGui::QgsGeorefPluginGui(QgisInterface* theQgisInterface,
                                        QWidget* parent, Qt::WFlags fl)
   : QDialog(parent, fl), mIface(theQgisInterface)
 {
@@ -102,36 +102,18 @@
   // check if there already is a world file
   if (!worldfile.isEmpty()) {
     if (QFile::exists(worldfile)) {
-      int r = QMessageBox::question(this, tr("World file exists"),
+      QMessageBox::StandardButton r = QMessageBox::question(this, tr("World file exists"),
                        tr("<p>The selected file already seems to have a ")+
                        tr("world file! Do you want to replace it with the ")+
-		       tr("new world file?</p>"),
-                       QMessageBox::Yes|QMessageBox::Default, 
-                       QMessageBox::No|QMessageBox::Escape);
-      if (r == QMessageBox::No)
+		               tr("new world file?</p>"),
+                       QMessageBox::Ok | QMessageBox::Cancel);
+      if (r == QMessageBox::Cancel)
         return;
       else
         QFile::remove(worldfile);
     }
   }
   
-  // XXX This is horrible, but it works and I'm tired / ll
-  {
-    QSettings settings;
-    QgsProject* prj = QgsProject::instance();
-    mProjBehaviour = settings.readEntry("/Projections/defaultBehaviour");
-    mProjectSRS = prj->readEntry("SpatialRefSys", "/ProjectSRSProj4String");
-    mProjectSRSID = prj->readNumEntry("SpatialRefSys", "/ProjectSRSID");
-    
-    settings.writeEntry("/Projections/defaultBehaviour", "useProject");
-    prj->writeEntry("SpatialRefSys", "/ProjectSRSProj4String", GEOPROJ4);
-    prj->writeEntry("SpatialRefSys", "/ProjectSRSID", int(GEOSRS_ID));
-    
-    settings.writeEntry("/Projections/defaultBehaviour", mProjBehaviour);
-    prj->writeEntry("SpatialRefSys", "/ProjectSRSProj4String", mProjectSRS);
-    prj->writeEntry("SpatialRefSys", "/ProjectSRSID", mProjectSRSID);
-  }
-  
   QgsPointDialog* dlg = new QgsPointDialog(raster, mIface, this);
   dlg->show();
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
 #include <ui_pluginguibase.h>
 #include <QDialog>
 
-class QgisIface;
+class QgisInterface;
 
 /**
 @author Tim Sutton
@@ -25,7 +25,7 @@
 Q_OBJECT
 public:
     QgsGeorefPluginGui();
-    QgsGeorefPluginGui(QgisIface* theQgisInterface, QWidget* parent = 0, Qt::WFlags fl = 0);
+    QgsGeorefPluginGui(QgisInterface* theQgisInterface, QWidget* parent = 0, Qt::WFlags fl = 0);
     ~QgsGeorefPluginGui();
     
 public slots:
@@ -37,7 +37,7 @@
     
    QString mProjBehaviour, mProjectSRS;
    int mProjectSRSID;
-   QgisIface* mIface;
+   QgisInterface* mIface;
 
 };
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,4 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsGeorefPluginGuiBase</class>
  <widget class="QDialog" name="QgsGeorefPluginGuiBase" >
   <property name="geometry" >
@@ -125,12 +122,12 @@
       </sizepolicy>
      </property>
      <property name="text" >
-      <string>...</string>
+      <string>Browse...</string>
      </property>
     </widget>
    </item>
    <item row="1" column="3" >
-    <widget class="QLineEdit" name="leSelectRaster" >
+    <widget class="QgsFileDropEdit" name="leSelectRaster" >
      <property name="sizePolicy" >
       <sizepolicy>
        <hsizetype>7</hsizetype>
@@ -144,7 +141,13 @@
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
+ <customwidgets>
+  <customwidget>
+   <class>QgsFileDropEdit</class>
+   <extends>QLineEdit</extends>
+   <header>qgsfiledropedit.h</header>
+  </customwidget>
+ </customwidgets>
  <resources>
   <include location="georeferencer.qrc" />
  </resources>

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,17 @@
-
+/***************************************************************************
+     qgsgeorefdatapoint.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:02:45 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QPainter>
 #include "qgsgeorefdatapoint.h"
 #include "qgsmapcanvas.h"
@@ -12,35 +25,28 @@
 }
 
 
-void QgsGeorefDataPoint::drawShape(QPainter & p)
+void QgsGeorefDataPoint::paint(QPainter* p)
 {
   QString msg = QString("X %1\nY %2").arg(QString::number(mMapCoords.x(),'f')).arg(QString::number(mMapCoords.y(),'f'));
-  QPoint pnt = toCanvasCoords(mPixelCoords);
-  int x = pnt.x(), y = pnt.y();
   QFont font;
-  p.setFont(QFont("helvetica", 9));
-  p.setPen(Qt::black);
-  p.setBrush(Qt::red);
-  p.drawRect(x - 2, y - 2, 5, 5);
-  QRect textBounds = p.boundingRect(x + 4, y + 4, 10, 10, Qt::AlignLeft, msg);
-  p.setBrush(Qt::yellow);
-  p.drawRect(x + 2, y + 2, textBounds.width() + 4, textBounds.height() + 4);
-  p.drawText(textBounds, Qt::AlignLeft, msg);
+  p->setFont(QFont("helvetica", 9));
+  p->setPen(Qt::black);
+  p->setBrush(Qt::red);
+  p->drawRect(-2, -2, 5, 5);
+  QRect textBounds = p->boundingRect(4, 4, 10, 10, Qt::AlignLeft, msg);
+  p->setBrush(Qt::yellow);
+  p->drawRect(2, 2, textBounds.width() + 4, textBounds.height() + 4);
+  p->drawText(textBounds, Qt::AlignLeft, msg);
   
-#ifdef QGISDEBUG
-  std::cout << "data point at :: " << x << "," << y << std::endl;
-#endif
-  
-  setSize(textBounds.width() + 6, textBounds.height() + 6);
+  mTextBounds = QSizeF(textBounds.width(), textBounds.height());
 }
 
+QRectF QgsGeorefDataPoint::boundingRect() const
+{
+  return QRectF(-2,-2, mTextBounds.width() + 6, mTextBounds.height() + 6);
+}
+
 void QgsGeorefDataPoint::updatePosition()
 {
-  QPoint pt = toCanvasCoords(mPixelCoords);
-  move(pt.x() - 2, pt.y() - 2);
-  show();
-
-#ifdef QGISDEBUG
-  std::cout << "georefDataPoint::updatePosition: " << pt.x() << "," << pt.y() << std::endl;
-#endif
+  setPos(toCanvasCoords(mPixelCoords));
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefdatapoint.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,17 @@
-
+/***************************************************************************
+     qgsgeorefdatapoint.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:02:56 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include "qgsmapcanvasitem.h"
 
 
@@ -12,9 +25,11 @@
                        const QgsPoint& mapCoords);
   
     //! draws point information
-    virtual void drawShape(QPainter & p);
+    virtual void paint(QPainter* p);
         
     //! handler for manual updating of position and size
+    virtual QRectF boundingRect() const;
+    
     virtual void updatePosition();
     
     //! returns coordinates of the point
@@ -25,5 +40,6 @@
     int mId;
     QgsPoint mPixelCoords;
     QgsPoint mMapCoords;
+    QSizeF mTextBounds;
 };
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,17 @@
-
+/***************************************************************************
+     qgsgeorefwarpoptionsdialog.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:02 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include "qgsgeorefwarpoptionsdialog.h"
 
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsgeorefwarpoptionsdialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +1,12 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsGeorefWarpOptionsDialogBase</class>
  <widget class="QDialog" name="QgsGeorefWarpOptionsDialogBase" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>282</width>
-    <height>100</height>
+    <width>348</width>
+    <height>103</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -67,7 +64,7 @@
       <string>Use 0 for transparency when needed</string>
      </property>
      <property name="checked" >
-      <bool>true</bool>
+      <bool>false</bool>
      </property>
     </widget>
    </item>

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsimagewarper.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:14 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <cmath>
 #include <iostream>
 
@@ -66,18 +80,23 @@
 		   hSrcDS->GetRasterCount(),
 		   hSrcDS->GetRasterBand(1)->GetRasterDataType(),
 		   papszOptions);
-  for (int i = 0; i < hSrcDS->GetRasterCount(); ++i) {
-    GDALColorTable* cTable = hSrcDS->GetRasterBand(i+1)->GetColorTable();
-    if (cTable)
-      hDstDS->GetRasterBand(i+1)->SetColorTable(cTable);
-    double noData = hSrcDS->GetRasterBand(i+1)->GetNoDataValue();
-    if (noData != -1e10)
-      hDstDS->GetRasterBand(i+1)->SetNoDataValue(noData);
-    else if (useZeroAsTrans) {
-      std::cerr<<"***** Source raster has no NODATA value, using 0"<<std::endl;
-      hDstDS->GetRasterBand(i+1)->SetNoDataValue(0);
+  for (int i = 0; i < hSrcDS->GetRasterCount(); ++i) 
+    {
+      GDALColorTable* cTable = hSrcDS->GetRasterBand(i+1)->GetColorTable();
+      if (cTable)
+	{
+	  hDstDS->GetRasterBand(i+1)->SetColorTable(cTable);
+	}
+      double noData = hSrcDS->GetRasterBand(i+1)->GetNoDataValue();
+      if (noData == -1e10 && useZeroAsTrans) 
+	{
+	  hDstDS->GetRasterBand(i+1)->SetNoDataValue(0);
+	}
+      else
+	{
+	  hDstDS->GetRasterBand(i+1)->SetNoDataValue(noData);
+	}
     }
-  }
   psWarpOptions->hDstDS = hDstDS;
 
   // Initialize and execute the warp operation. 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsimagewarper.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsimagewarper.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:20 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef QGSIMAGEWARPER_H
 #define QGSIMAGEWARPER_H
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,9 +1,23 @@
-
+/***************************************************************************
+     qgsleastsquares.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:37 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <cmath>
 #include <stdexcept>
-
+#include "qgslogger.h"
 #include <gsl/gsl_linalg.h>
 
+
 #include <QObject>
 
 #include "qgsleastsquares.h"
@@ -21,6 +35,8 @@
   double sumPx(0), sumPy(0), sumPx2(0), sumPy2(0), sumPxMx(0), sumPyMy(0),
     sumMx(0), sumMy(0);
   for (int i = 0; i < n; ++i) {
+    QgsDebugMsg("Processing point Pixel(" + QString::number(pixelCoords[i].x()) + ":" + QString::number(pixelCoords[i].y()) +
+		")\n                  Map(" + QString::number(mapCoords[i].x()) + ":" + QString::number(mapCoords[i].y()) + ")\n");
     sumPx += pixelCoords[i].x();
     sumPy += pixelCoords[i].y();
     sumPx2 += std::pow(pixelCoords[i].x(), 2);
@@ -41,7 +57,6 @@
   
   origin.setX(aX);
   origin.setY(aY);
- 
   pixelXSize = std::abs(bX);
   pixelYSize = std::abs(bY);
 }
@@ -150,4 +165,3 @@
   gsl_permutation_free(p);
 
 }
-

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgsleastsquares.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsleastsquares.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:47 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef QGSLEASTSQUARES_H
 #define QGSLEASTSQUARES_H
 

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgspointdialog.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:03:52 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <cmath>
 
 #include <QFileDialog>
@@ -5,8 +19,7 @@
 #include <QMessageBox>
 #include <QTextStream>
 
-#include "qgisiface.h"
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgspointdialog.h"
 #include "mapcoordsdialog.h"
@@ -47,7 +60,7 @@
 };
 
 
-QgsPointDialog::QgsPointDialog(QString layerPath, QgisIface* theQgisInterface,
+QgsPointDialog::QgsPointDialog(QString layerPath, QgisInterface* theQgisInterface,
                                 QWidget* parent, Qt::WFlags fl) 
   : QDialog(parent, fl), mIface(theQgisInterface)
 {
@@ -127,6 +140,7 @@
   mToolDeletePoint = new QgsGeorefTool(mCanvas, this, FALSE /* addPoint */); 
   mToolDeletePoint->setAction(mActionDeletePoint);
   
+  
   // open raster layer
   QgsRasterLayer* layer = new QgsRasterLayer(layerPath, "Raster");
   mLayer = layer;
@@ -137,8 +151,9 @@
   registry->addMapLayer(layer, FALSE);  
   
   // add layer to map canvas
-  std::deque<QString> layers;
-  layers.push_back(layer->getLayerID());
+  QList<QgsMapCanvasLayer> layers;
+  QgsMapCanvasLayer lyr(layer);
+  layers.append(lyr);
   mCanvas->setLayerSet(layers);
   
   // load previously added points
@@ -191,6 +206,7 @@
   delete mToolPan;
   delete mToolAddPoint;
   delete mToolDeletePoint;
+  
 }
 
 
@@ -238,8 +254,8 @@
     else 
       mIface->addRasterLayer(leSelectModifiedRaster->text());
 
-    // This should cause a map refresh, but it doesn't...
-    mIface->app()->refreshMapCanvas();
+    // This should cause a map refresh
+    mIface->getMapCanvas()->refresh();
 
     accept();
   }
@@ -274,7 +290,9 @@
     QFileInfo file(mLayer->source());
     int pos = filename.size()-file.suffix().size()-1;
     filename.insert(pos, tr("-modified", "Georeferencer:QgsPointDialog.cpp - used to modify a user given filename"));
-    
+    pos = filename.size()-file.suffix().size();
+    filename.replace(pos, filename.size(), "tif");
+
     leSelectModifiedRaster->setText(filename);
     leSelectWorldFile->setText(guessWorldFileName(filename));
   }
@@ -293,6 +311,8 @@
   double pixelXSize = 1;
   double pixelYSize = 1;
   double rotation = 0;
+  double xOffset = 0.0;
+  double yOffset = 0.0;
   
   // create arrays with points from mPoints
   std::vector<QgsPoint> pixelCoords, mapCoords;
@@ -313,18 +333,19 @@
     }
     else if (cmbTransformType->currentText() == tr("Helmert"))
     {
-      int res = QMessageBox::warning(this, tr("Warning"),
+      QMessageBox::StandardButton res = QMessageBox::warning(this, tr("Warning"),
 		     tr("<p>A Helmert transform requires modifications in "
 		     "the raster layer.</p><p>The modifed raster will be "
 		     "saved in a new file and a world file will be "
 		     "generated for this new file instead.</p><p>Are you "
-		     "sure that this is what you want?</p>"),
-			     QMessageBox::No, QMessageBox::Yes);
-      if (res == QMessageBox::No)
+		     "sure that this is what you want?</p>") + 
+		     "<p><i>" + tr("Currently all modified files will be written in TIFF format.") + 
+		     "</i><p>", QMessageBox::Ok | QMessageBox::Cancel);
+      if (res == QMessageBox::Cancel)
 	       return false;
 
       QgsLeastSquares::helmert(mapCoords, pixelCoords, origin, pixelXSize, rotation);
-      pixelXSize = pixelYSize;
+      pixelYSize = pixelXSize;
     }
     else if (cmbTransformType->currentText() == tr("Affine"))
     {
@@ -350,8 +371,6 @@
   }
 
   // warp the raster if needed
-  double xOffset = 0;
-  double yOffset = 0;
   if (rotation != 0)
   {
 
@@ -374,12 +393,12 @@
     return false;
   }
   QTextStream stream(&file);
-  stream<<QString::number(pixelXSize, 'f', 15)<<endl
+  stream<< QString::number(pixelXSize, 'f', 15) <<endl
 	<<0<<endl
 	<<0<<endl
-	<<QString::number(-pixelYSize, 'f', 15)<<endl
-	<<QString::number((origin.x() - xOffset * pixelXSize), 'f', 15)<<endl
-	<<QString::number((origin.y() + yOffset * pixelYSize), 'f', 15)<<endl;  
+	<<QString::number(-pixelYSize, 'f', 15) <<endl
+	<<QString::number(origin.x() - xOffset * pixelXSize, 'f', 15)<<endl
+	<<QString::number(origin.y() + yOffset * pixelYSize, 'f', 15)<<endl;  
   // write the data points in case we need them later
   QFile pointFile(mLayer->source() + ".points");
   if (pointFile.open(QIODevice::WriteOnly))
@@ -389,8 +408,9 @@
     for (unsigned int i = 0; i < mapCoords.size(); ++i)
     {
       points<<(QString("%1\t%2\t%3\t%4").
-	       arg(mapCoords[i].x()).arg(mapCoords[i].y(), 0, 'f', 15).
-	       arg(pixelCoords[i].x()).arg(pixelCoords[i].y(), 0, 'f', 15))<<endl;
+	       arg(QString::number(mapCoords[i].x(), 'f', 15)).
+               arg(QString::number(mapCoords[i].y(), 'f', 15)).
+	       arg(pixelCoords[i].x()).arg(pixelCoords[i].y()))<<endl;
     }
   }
   return true;
@@ -436,7 +456,7 @@
 
 void QgsPointDialog::showCoordDialog(QgsPoint& pixelCoords)
 {
-  MapCoordsDialog* mcd = new MapCoordsDialog(pixelCoords, this);
+  MapCoordsDialog* mcd = new MapCoordsDialog(pixelCoords, mIface->getMapCanvas(), this);
   connect(mcd, SIGNAL(pointAdded(const QgsPoint&, const QgsPoint&)),
           this, SLOT(addPoint(const QgsPoint&, const QgsPoint&)));
   mcd->show();
@@ -461,8 +481,8 @@
 #endif
     if ((x*x + y*y) < maxDistSqr)
     {
+      delete *it;
       mPoints.erase(it);
-      delete *it;
       mCanvas->refresh();
       break;
     }
@@ -505,9 +525,8 @@
   QString worldfile = "";
   if (point != -1 && point != raster.length() - 1) {
     worldfile = raster.left(point + 1);
-    worldfile += raster.at(point + 1);
-    worldfile += raster.at(raster.length() - 1);
-    worldfile += 'w';
+    //MH: suffix .wld seems to be fine for most GDAL drivers
+    worldfile += "wld";
   }
   return worldfile;
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -25,14 +25,14 @@
 class QAction;
 class QActionGroup;
 class QgsGeorefDataPoint;
+class QgisInterface;
 class QgsMapTool;
-class QgisIface;
 
 class QgsPointDialog : public QDialog, private Ui::QgsPointDialogBase
 {
 Q_OBJECT
 public:
-  QgsPointDialog(QString layerPath, QgisIface* theQgisInterface,
+  QgsPointDialog(QString layerPath, QgisInterface* theQgisInterface,
                  QWidget* parent = 0, Qt::WFlags fl = 0);
   ~QgsPointDialog();
 
@@ -80,10 +80,11 @@
   QgsMapTool* mToolAddPoint;
   QgsMapTool* mToolDeletePoint;
   
+  
 //  std::vector<QgsPoint> mPixelCoords, mMapCoords;
 //  std::vector<QString> mAcetateIDs;
   std::vector<QgsGeorefDataPoint*> mPoints;
-  QgisIface* mIface;
+  QgisInterface* mIface;
 };
 
 #endif

Modified: packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/georeferencer/qgspointdialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -228,14 +228,14 @@
    <item row="2" column="7" >
     <widget class="QPushButton" name="pbnSelectModifiedRaster" >
      <property name="text" >
-      <string>...</string>
+      <string>Save As...</string>
      </property>
     </widget>
    </item>
    <item row="3" column="7" >
     <widget class="QPushButton" name="pbnSelectWorldFile" >
      <property name="text" >
-      <string>...</string>
+      <string>Save As...</string>
      </property>
     </widget>
    </item>

Added: packages/qgis/branches/upstream/current/src/plugins/gps_importer/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+qgsgpsdevicedialogbase.cpp
+qgsgpsdevicedialogbase.h
+qgsgpspluginguibase.cpp
+qgsgpspluginguibase.h

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,8 +17,6 @@
 
 SET (GPS_MOC_HDRS
      qgsgpsplugin.h
-     qgsbabelformat.h
-     qgsgpsdevice.h
      qgsgpsplugingui.h
      qgsgpsdevicedialog.h
 )
@@ -42,20 +40,14 @@
      ${CMAKE_CURRENT_BINARY_DIR}
      ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ..
      ${EXPAT_INCLUDE_DIR}
-     ${GEOS_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(gpsimporterplugin
   ${QT_LIBRARIES}
-  ${PROJ_LIBRARY}
-  ${GDAL_LIBRARY}
-  ${GEOS_LIBRARY}
   qgis_core
+  qgis_gui
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,84 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6354 2006-12-30 08:17:26Z g_j_m $
-
-if HAVE_EXPAT
-
-plugindir = ${pkglibdir}
-
-plugin_LTLIBRARIES = gpsimporterplugin.la
-
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-gpsimporterplugin_la_SOURCES = \
-	qgsgpsplugin.cpp \
-	qgsbabelformat.h \
-	qgsbabelformat.cpp \
-	qgsgpsdevice.h \
-	qgsgpsdevice.cpp \
-	qgsgpsplugingui.cpp \
-	qgsgpsplugingui.h \
-	qgsgpsdevicedialog.cpp \
-	$(plugin_UI)\
-	$(plugin_MOC) \
-	$(plugin_QRC) \
-	$(plugin_RES)
-
-plugin_MOC = \
-	qgsgpsplugin.moc.cpp \
-	qgsbabelformat.moc.cpp \
-	qgsgpsdevice.moc.cpp \
-	qgsgpsplugingui.moc.cpp \
-	qgsgpsdevicedialog.moc.cpp
-
-plugin_UI = \
-	ui_qgsgpspluginguibase.h \
-	ui_qgsgpsdevicedialogbase.h 
-
-plugin_UIC = \
-	qgsgpspluginguibase.ui \
-	qgsgpsdevicedialogbase.ui
-
-plugin_RES = qgsgps_plugin.qrc.cpp
-
-#plugin_QRC = qgsgps_plugin.qrc
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-gpsimporterplugin_la_LIBADD = $(QT_LDADD)  $(GDAL_LDADD)  ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-gpsimporterplugin_la_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG_QGIS)
-gpsimporterplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../core -I../../ui -I../../gui
-gpsimporterplugin_la_LDFLAGS = -avoid-version -module 
-
-CLEANFILES = $(BUILT_SOURCES)
-
-## 
-## Anything that must go in the tarball gets added here
-##
-
-EXTRA_DIST = $(plugin_UIC) icon.xpm \
-	ui_qgsgpspluginguibase.h \
-	ui_qgsgpsdevicedialogbase.h \
-	qgsgpsplugin.h \
-	qgsgpsdevicedialog.h
-
-
-
-
-endif

Deleted: packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/gpsimporterplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			 -L ../../providers/gpx/.libs \
-			$(PLUGIN_LIBS) \
-			$(GSL_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/gpsimporterplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/gps_importer/gps_importer.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/gps_importer.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/gps_importer.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,64 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gps importer plugin
-#
-
-include(../../../settings.pro)
-TARGET=gpsgplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=gps_importer
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-INCLUDEPATH += .
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${POSTGRESLIBADD}
-
-
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-
-message("Building libs into $${DESTDIR}")
-
-
-# Input
-RESOURCES += qgsgps_plugin.qrc
-
-FORMS += qgsgpspluginguibase.ui \
-              qgsgpsdevicedialogbase.ui
-
-HEADERS +=    qgsgpsplugin.h \
-              qgsbabelformat.h \
-              qgsgpsdevice.h\
-              qgsbabelformat.h \
-              qgsgpsplugingui.h \
-              qgsgpsdevicedialog.h
-SOURCES +=    qgsgpsplugin.cpp \
-              qgsgpsdevice.cpp \
-              qgsbabelformat.cpp \
-              qgsgpsplugingui.cpp \
-              qgsgpsdevicedialog.cpp 
-
-           

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsbabelformat.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsbabelformat.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsbabelformat.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,7 +5,7 @@
   copyright            : (C) 2004 by Lars Luthman
   email                : larsl at users.sourceforge.net
 
-/***************************************************************************
+ ***************************************************************************
  *                                                                         *
  *   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  *
@@ -13,7 +13,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: qgsbabelformat.h 5802 2006-09-10 02:08:13Z g_j_m $ */
+/*  $Id: qgsbabelformat.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSBABELFORMAT_H
 #define QGSBABELFORMAT_H

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevice.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevice.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevice.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsgpsdevice.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:04:15 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QRegExp>
 
 #include "qgsgpsdevice.h"

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevicedialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevicedialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsdevicedialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -55,7 +55,7 @@
 void QgsGPSDeviceDialog::on_pbnDeleteDevice_clicked() {
   if (QMessageBox::warning(this, tr("Are you sure?"), 
 		   tr("Are you sure that you want to delete this device?"),
-       QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) {
+       QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok) {
 
     std::map<QString, QgsGPSDevice*>::iterator iter = 
       mDevices.find(lbDeviceList->currentItem()->text());

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,11 +15,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: qgsgpsplugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: qgsgpsplugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgisgui.h"
 #include "qgsmaplayerregistry.h"
 #include "qgsmaplayer.h"
@@ -56,7 +56,7 @@
 
 
 static const char * const ident_ = 
-  "$Id: qgsgpsplugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+  "$Id: qgsgpsplugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $";
 static const QString name_ = QObject::tr("GPS Tools");
 static const QString description_ = 
   QObject::tr("Tools for loading and importing GPS data");
@@ -70,9 +70,8 @@
  * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-QgsGPSPlugin::QgsGPSPlugin(QgisApp * theQGisApp, QgisIface * theQgisInterFace):
+QgsGPSPlugin::QgsGPSPlugin(QgisInterface * theQgisInterFace):
   QgisPlugin(name_,description_,version_,type_),
-  mMainWindowPointer(theQGisApp), 
   mQGisInterface(theQgisInterFace)
 {
   setupBabel();
@@ -121,8 +120,9 @@
   // find all GPX layers
   std::vector<QgsVectorLayer*> gpxLayers;
   std::map<QString, QgsMapLayer*>::const_iterator iter;
-  for (iter = mQGisInterface->getLayerRegistry()->mapLayers().begin();
-       iter != mQGisInterface->getLayerRegistry()->mapLayers().end(); ++iter) {
+  QgsMapLayerRegistry* registry = QgsMapLayerRegistry::instance();
+  for (iter =  registry->mapLayers().begin();
+       iter != registry->mapLayers().end(); ++iter) {
     if (iter->second->type() == QgsMapLayer::VECTOR) {
       QgsVectorLayer* vLayer = dynamic_cast<QgsVectorLayer*>(iter->second);
       if (vLayer->providerType() == "gpx")
@@ -131,8 +131,9 @@
   }
   
   QgsGPSPluginGui *myPluginGui = 
-    new QgsGPSPluginGui(mImporters, mDevices, gpxLayers, mMainWindowPointer, 
+    new QgsGPSPluginGui(mImporters, mDevices, gpxLayers, mQGisInterface->getMainWindow(),
 			QgisGui::ModalDialogFlags);
+  myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
   //listen for when the layer has been made so we can draw it
   connect(myPluginGui, SIGNAL(drawVectorLayer(QString,QString,QString)), 
 	  this, SLOT(drawVectorLayer(QString,QString,QString)));
@@ -156,7 +157,7 @@
 
 void QgsGPSPlugin::createGPX() {
   QString fileName = 
-    QFileDialog::getSaveFileName(mMainWindowPointer,
+    QFileDialog::getSaveFileName(mQGisInterface->getMainWindow(),
                  tr("Save new GPX file as..."), "." , tr("GPS eXchange file (*.gpx)"));
   if (!fileName.isEmpty()) {
     QFileInfo fileInfo(fileName);
@@ -372,7 +373,7 @@
 void QgsGPSPlugin::uploadToGPS(QgsVectorLayer* gpxLayer, QString device,
 			       QString port) {
   
-  const QString& source(gpxLayer->getDataProvider()->getDataSourceUri());
+  const QString& source(gpxLayer->getDataProvider()->dataSourceUri());
   
   // what kind of data does the user want to upload?
   QString typeArg, features;
@@ -554,10 +555,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, 
-				     QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsGPSPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsGPSPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,16 +16,16 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsgpsplugin.h 5802 2006-09-10 02:08:13Z g_j_m $ */
+ /*  $Id: qgsgpsplugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSGPSPLUGIN_H
 #define QGSGPSPLUGIN_H
 #include "qgsbabelformat.h"
 #include "qgsgpsdevice.h"
-#include "../qgisplugin.h"
+#include "qgisplugin.h"
 
-#include <qgisapp.h>
-
+class QgisInterface;
 class QgsVectorLayer;
+class QAction;
 
 /** A plugin with various GPS tools.
 */
@@ -33,12 +33,11 @@
 {
   Q_OBJECT
 public:
-  /** Constructor for a plugin. The QgisApp and QgisIface pointers 
-      are passed by QGIS when it attempts to instantiate the plugin.
-      @param qgis Pointer to the QgisApp object
-      @param qI Pointer to the QgisIface object. 
+  /** Constructor for a plugin. The QgisInterface pointer
+      is passed by QGIS when it attempts to instantiate the plugin.
+      @param qI Pointer to the QgisInterface object. 
   */
-  QgsGPSPlugin(QgisApp * , QgisIface * );
+  QgsGPSPlugin(QgisInterface * );
 
   //! Destructor
   virtual ~QgsGPSPlugin();
@@ -80,10 +79,8 @@
   //! Initializes all variables needed to run GPSBabel.
   void setupBabel();
 
-  //! Pointer to our menu
-  QgisApp *mMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *mQGisInterface;
+  QgisInterface *mQGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *mQActionPointer;
   //! Pointer to the QAction used for creating a new GPX layer

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
 #include "qgsmaplayer.h"
 #include "qgsdataprovider.h"
 #include "qgscontexthelp.h"
-#include <qgslogger.h>
+#include "qgslogger.h"
 
 //qt includes
 #include <QFileDialog>
@@ -43,6 +43,8 @@
   
   // make sure that the OK button is enabled only when it makes sense to
   // click it
+  pbnOK = buttonBox->button(QDialogButtonBox::Ok);
+  pbnOK->setEnabled(false);
   connect(leGPXFile, SIGNAL(textChanged(const QString&)), 
    this, SLOT(enableRelevantControls()));
   connect(leIMPInput, SIGNAL(textChanged(const QString&)), 
@@ -59,12 +61,16 @@
    this, SLOT(enableRelevantControls()));
   connect(tabWidget, SIGNAL(currentChanged(int)), 
    this, SLOT(enableRelevantControls()));
-} 
+
+  // drag and drop filter
+  leGPXFile->setSuffixFilter("gpx");
+}
+
 QgsGPSPluginGui::~QgsGPSPluginGui()
 {
 }
 
-void QgsGPSPluginGui::on_pbnOK_clicked()
+void QgsGPSPluginGui::on_buttonBox_accepted()
 {
   
   // what should we do?
@@ -126,6 +132,7 @@
 		     cmbULDevice->currentText(), cmbULPort->currentText());
     break;
   }
+  accept();
 } 
 
 
@@ -136,7 +143,8 @@
 				 tr("Choose a filename to save under"),
                  "." , //initial dir
 				 tr("GPS eXchange format (*.gpx)"));
-  leDLOutput->setText(myFileNameQString);
+  if (!myFileNameQString.isEmpty())
+    leDLOutput->setText(myFileNameQString);
 }
 
 
@@ -195,9 +203,9 @@
 }
 
 
-void QgsGPSPluginGui::on_pbnCancel_clicked()
+void QgsGPSPluginGui::on_buttonBox_rejected()
 {
- close(1);
+  reject();
 }
 
 
@@ -217,7 +225,8 @@
           myFilterString, //filters to select
           &myFileTypeQString); //the pointer to store selected filter
   QgsLogger::debug("Selected filetype filter is : " + myFileTypeQString);
-  leGPXFile->setText(myFileNameQString);
+  if (!myFileNameQString.isEmpty())
+    leGPXFile->setText(myFileNameQString);
 }
 
 
@@ -229,24 +238,27 @@
           ".", //initial dir
           mBabelFilter,
           &myFileType); //the pointer to store selected filter
-  mImpFormat = myFileType.left(myFileType.length() - 6);
-  std::map<QString, QgsBabelFormat*>::const_iterator iter;
-  iter = mImporters.find(mImpFormat);
-  if (iter == mImporters.end()) {
-    QgsLogger::warning("Unknown file format selected: " +
-                       myFileType.left(myFileType.length() - 6));
+  if (!myFileName.isEmpty())
+  {
+    mImpFormat = myFileType.left(myFileType.length() - 6);
+    std::map<QString, QgsBabelFormat*>::const_iterator iter;
+    iter = mImporters.find(mImpFormat);
+    if (iter == mImporters.end()) {
+      QgsLogger::warning("Unknown file format selected: " +
+                         myFileType.left(myFileType.length() - 6));
+    }
+    else {
+      QgsLogger::debug(iter->first + " selected");
+      leIMPInput->setText(myFileName);
+      cmbIMPFeature->clear();
+      if (iter->second->supportsWaypoints())
+        cmbIMPFeature->insertItem("Waypoints");
+      if (iter->second->supportsRoutes())
+        cmbIMPFeature->insertItem("Routes");    
+      if (iter->second->supportsTracks())
+        cmbIMPFeature->insertItem("Tracks");
+    }
   }
-  else {
-    QgsLogger::debug(iter->first + " selected");
-    leIMPInput->setText(myFileName);
-    cmbIMPFeature->clear();
-    if (iter->second->supportsWaypoints())
-      cmbIMPFeature->insertItem("Waypoints");
-    if (iter->second->supportsRoutes())
-      cmbIMPFeature->insertItem("Routes");    
-    if (iter->second->supportsTracks())
-      cmbIMPFeature->insertItem("Tracks");
-  }
 }
 
 
@@ -256,7 +268,8 @@
 				 tr("Choose a filename to save under"),
                  ".", //initial dir
 				 tr("GPS eXchange format (*.gpx)"));
-  leIMPOutput->setText(myFileNameQString);
+  if (!myFileNameQString.isEmpty())
+    leIMPOutput->setText(myFileNameQString);
 }
 
 
@@ -356,7 +369,7 @@
 
 
 void QgsGPSPluginGui::populateULLayerComboBox() {
-  for (int i = 0; i < mGPXLayers.size(); ++i)
+  for (std::vector<QgsVectorLayer*>::size_type i = 0; i < mGPXLayers.size(); ++i)
     cmbULLayer->insertItem(mGPXLayers[i]->name());
 }
 
@@ -400,7 +413,7 @@
 }
 
 
-void QgsGPSPluginGui::on_pbnHelp_clicked()
+void QgsGPSPluginGui::on_buttonBox_helpRequested()
 {
   QgsContextHelp::run(context_id);
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpsplugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,7 +5,7 @@
     begin                : Jan 21, 2004
     copyright            : (C) 2004 by Tim Sutton
     email                : tim at linfiniti.com
-/***************************************************************************
+ ***************************************************************************
  *                                                                         *
  *   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  *
@@ -13,7 +13,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsgpsplugingui.h 6097 2006-11-16 06:13:59Z gsherman $ */
+ /*  $Id: qgsgpsplugingui.h 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 #ifndef QGSGPSPLUGINGUI_H
 #define QGSGPSPLUGINGUI_H
@@ -53,10 +53,6 @@
   void on_pbnIMPOutput_clicked();
   
   void on_pbnDLOutput_clicked();
-  
-  void on_pbnCancel_clicked();
-  void on_pbnOK_clicked();
-  void on_pbnHelp_clicked();
 
 private:
   
@@ -65,6 +61,12 @@
   void populateIMPBabelFormats();
   void populatePortComboBoxes();
   
+private slots:
+
+  void on_buttonBox_accepted();
+  void on_buttonBox_rejected();
+  void on_buttonBox_helpRequested();
+
 signals:
   void drawRasterLayer(QString);
   void drawVectorLayer(QString,QString,QString);
@@ -86,6 +88,7 @@
   std::map<QString, QgsGPSDevice*>& mDevices;
   QString mBabelFilter;
   QString mImpFormat;
+  QAbstractButton *pbnOK;
   static const int context_id = 995980174;
 };
 

Modified: packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpspluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpspluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/gps_importer/qgsgpspluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>650</width>
-    <height>395</height>
+    <width>691</width>
+    <height>406</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -22,65 +22,6 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="1" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="pbnHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>391</width>
-         <height>26</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="enabled" >
-        <bool>false</bool>
-       </property>
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="0" column="0" >
     <widget class="QLabel" name="label" >
      <property name="text" >
@@ -109,7 +50,10 @@
    </item>
    <item row="0" column="2" >
     <widget class="QTabWidget" name="tabWidget" >
-     <widget class="QWidget" name="tab" >
+     <property name="currentIndex" >
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="tab1" >
       <attribute name="title" >
        <string>Load GPX file</string>
       </attribute>
@@ -139,9 +83,9 @@
          <property name="html" >
           <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
 p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;">
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:10pt;">GPX is the &lt;/span>&lt;a href="http://www.topografix.com/gpx.asp">&lt;span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">GPS eXchange file format&lt;/span>&lt;/a>&lt;span style=" font-size:10pt;">, which is used to store information about waypoints, routes, and tracks.&lt;/span>&lt;/p>
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">Select a GPX file and then select the feature types that you want to load.&lt;/p>&lt;/body>&lt;/html></string>
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:12pt;">&lt;span style=" font-size:10pt;">GPX is the &lt;/span>&lt;a href="http://www.topografix.com/gpx.asp">&lt;span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">GPS eXchange file format&lt;/span>&lt;/a>&lt;span style=" font-size:10pt;">, which is used to store information about waypoints, routes, and tracks.&lt;/span>&lt;/p>
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">Select a GPX file and then select the feature types that you want to load.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
@@ -155,12 +99,12 @@
        <item row="2" column="1" >
         <widget class="QPushButton" name="pbnGPXSelectFile" >
          <property name="text" >
-          <string>...</string>
+          <string>Browse...</string>
          </property>
         </widget>
        </item>
        <item row="2" column="0" >
-        <widget class="QLineEdit" name="leGPXFile" />
+        <widget class="QgsFileDropEdit" name="leGPXFile" />
        </item>
        <item row="3" column="0" >
         <widget class="QLabel" name="lblGPXFeatureTypes" >
@@ -210,7 +154,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab2" >
       <attribute name="title" >
        <string>Import other file</string>
       </attribute>
@@ -229,9 +173,9 @@
          <property name="html" >
           <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
 p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;">
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:10pt;">QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span>&lt;a href="http://gpsbabel.sf.net">&lt;span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>&lt;span style=" font-size:10pt;">). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span>&lt;/p>
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p>&lt;/body>&lt;/html></string>
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:12pt;">&lt;span style=" font-size:10pt;">QGIS can only load GPX files by itself, but many other formats can be converted to GPX using GPSBabel (&lt;/span>&lt;a href="http://gpsbabel.sf.net">&lt;span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>&lt;span style=" font-size:10pt;">). This requires that you have GPSBabel installed where QGIS can find it.&lt;/span>&lt;/p>
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">Select a GPS file format and the file that you want to import, the feature type that you want to use, a GPX filename that you want to save the converted file as, and a name for the new layer. All file formats can not store waypoints, routes, and tracks, so some feature types may be disabled for some file formats.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
@@ -248,14 +192,14 @@
        <item row="3" column="3" >
         <widget class="QPushButton" name="pbnIMPOutput" >
          <property name="text" >
-          <string>...</string>
+          <string>Save As...</string>
          </property>
         </widget>
        </item>
        <item row="1" column="3" >
         <widget class="QPushButton" name="pbnIMPInput" >
          <property name="text" >
-          <string>...</string>
+          <string>Browse...</string>
          </property>
         </widget>
        </item>
@@ -286,7 +230,14 @@
         </spacer>
        </item>
        <item row="2" column="1" >
-        <widget class="QComboBox" name="cmbIMPFeature" />
+        <widget class="QComboBox" name="cmbIMPFeature" >
+         <property name="minimumSize" >
+          <size>
+           <width>90</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="2" column="0" >
         <widget class="QLabel" name="textLabel2_3" >
@@ -311,7 +262,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab3" >
       <attribute name="title" >
        <string>Download from GPS</string>
       </attribute>
@@ -330,17 +281,30 @@
          <property name="html" >
           <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
 p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;">
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:10pt;">This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn't listed, or if you want to change some settings, you can also edit the devices.&lt;/span>&lt;/p>
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">This tool uses the program GPSBabel (&lt;a href="http://gpsbabel.sf.net">&lt;span style=" text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>) to transfer the data. If you don't have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p>&lt;/body>&lt;/html></string>
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:12pt;">&lt;span style=" font-size:10pt;">This tool will help you download data from a GPS device. Choose your GPS device, the port it is connected to, the feature type you want to download, a name for your new layer, and the GPX file where you want to store the data. If your device isn't listed, or if you want to change some settings, you can also edit the devices.&lt;/span>&lt;/p>
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">This tool uses the program GPSBabel (&lt;a href="http://gpsbabel.sf.net">&lt;span style=" text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>) to transfer the data. If you don't have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
        <item row="1" column="4" >
-        <widget class="QComboBox" name="cmbDLPort" />
+        <widget class="QComboBox" name="cmbDLPort" >
+         <property name="minimumSize" >
+          <size>
+           <width>90</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="2" column="4" >
         <widget class="QComboBox" name="cmbDLFeatureType" >
+         <property name="minimumSize" >
+          <size>
+           <width>100</width>
+           <height>0</height>
+          </size>
+         </property>
          <item>
           <property name="text" >
            <string>Waypoints</string>
@@ -432,7 +396,14 @@
         </widget>
        </item>
        <item row="1" column="1" >
-        <widget class="QComboBox" name="cmbDLDevice" />
+        <widget class="QComboBox" name="cmbDLDevice" >
+         <property name="minimumSize" >
+          <size>
+           <width>120</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="2" column="1" >
         <widget class="QPushButton" name="pbDLEditDevices" >
@@ -444,13 +415,13 @@
        <item row="3" column="4" >
         <widget class="QPushButton" name="pbnDLOutput" >
          <property name="text" >
-          <string>...</string>
+          <string>Save As...</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab4" >
       <attribute name="title" >
        <string>Upload to GPS</string>
       </attribute>
@@ -485,14 +456,21 @@
          <property name="html" >
           <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
 p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;">
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:10pt;">This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn't listed, or if you want to change some settings, you can also edit the devices.&lt;/span>&lt;/p>
-&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">This tool uses the program GPSBabel (&lt;a href="http://gpsbabel.sf.net">&lt;span style=" text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>) to transfer the data. If you don't have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p>&lt;/body>&lt;/html></string>
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:12pt;">&lt;span style=" font-size:10pt;">This tool will help you upload data from a GPX layer to a GPS device. Choose the layer you want to upload, the device you want to upload it to, and the port your device is connected to. If your device isn't listed, or if you want to change some settings, you can also edit the devices.&lt;/span>&lt;/p>
+&lt;p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">This tool uses the program GPSBabel (&lt;a href="http://gpsbabel.sf.net">&lt;span style=" text-decoration: underline; color:#0000ff;">http://gpsbabel.sf.net&lt;/span>&lt;/a>) to transfer the data. If you don't have GPSBabel installed where QGIS can find it, this tool will not work.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
        <item row="2" column="1" >
-        <widget class="QComboBox" name="cmbULPort" />
+        <widget class="QComboBox" name="cmbULPort" >
+         <property name="minimumSize" >
+          <size>
+           <width>100</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="2" column="0" >
         <widget class="QLabel" name="textLabel3" >
@@ -502,10 +480,24 @@
         </widget>
        </item>
        <item row="1" column="4" >
-        <widget class="QComboBox" name="cmbULDevice" />
+        <widget class="QComboBox" name="cmbULDevice" >
+         <property name="minimumSize" >
+          <size>
+           <width>120</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="1" column="1" >
-        <widget class="QComboBox" name="cmbULLayer" />
+        <widget class="QComboBox" name="cmbULLayer" >
+         <property name="minimumSize" >
+          <size>
+           <width>90</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
        </item>
        <item row="2" column="4" >
         <widget class="QPushButton" name="pbULEditDevices" >
@@ -532,9 +524,26 @@
      </widget>
     </widget>
    </item>
+   <item row="1" column="0" colspan="3" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
+ <customwidgets>
+  <customwidget>
+   <class>QgsFileDropEdit</class>
+   <extends>QLineEdit</extends>
+   <header>qgsfiledropedit.h</header>
+  </customwidget>
+ </customwidgets>
  <resources>
   <include location="qgsgps_plugin.qrc" />
  </resources>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+.deps 
+Makefile
+Makefile.in
+*.moc.cpp
+.libs
+*base.h
+*base.cpp
+*.lo
+*.la

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,6 +4,14 @@
 ADD_DEFINITIONS(-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\")
 ADD_DEFINITIONS(-DHAVE_OPENPTY=${HAVE_OPENPTY})
 
+IF (PEDANTIC)
+MESSAGE("providers/grass : -Werror removed for qgsgrassplugin.cpp for now - please get rid of any compiler warnings!")
+ENDIF (PEDANTIC)
+# The warnings are caused by multiple definitions of NDEBUG in grass sources
+# I have submitted a bug to teh grass folks in the meantime we need to
+# disable treating warnings as errors for the affected files
+FILE (GLOB files *.cpp)
+SET_SOURCE_FILES_PROPERTIES(${files} PROPERTIES COMPILE_FLAGS -Wno-error )
 ########################################################
 # Files
 
@@ -33,7 +41,7 @@
      qgsgrassshellbase.ui
      qgsgrassattributesbase.ui
      qgsgrassregionbase.ui
-     ../../widgets/projectionselector/qgsprojectionselectorbase.ui
+     ../../ui/qgsprojectionselectorbase.ui
 )
 
 SET (GRASS_PLUGIN_MOC_HDRS
@@ -64,26 +72,39 @@
 
 #QT4_ADD_RESOURCES(GRASS_PLUGIN_RCC_SRCS ${GRASS_PLUGIN_RCCS})
 
+########################################################
+# deal with warnings
+IF (PEDANTIC)
+MESSAGE("providers/grass : -Werror removed for qgsgrassplugin.cpp for now - please get rid of any compiler warnings!")
+ENDIF (PEDANTIC)
+# The warnings are caused by multiple definitions of NDEBUG in grass sources
+# I have submitted a bug to teh grass folks in the meantime we need to
+# disable treating warnings as errors for the affected files
+FILE (GLOB files *.cpp)
+SET_SOURCE_FILES_PROPERTIES(${files} PROPERTIES COMPILE_FLAGS -Wno-error )
+SET_SOURCE_FILES_PROPERTIES(${GRASS_PLUGIN_MOC_SRCS} PROPERTIES COMPILE_FLAGS -Wno-error )
+
+
+########################################################
+# build lib
+
 ADD_LIBRARY (grassplugin MODULE ${GRASS_PLUGIN_SRCS} ${GRASS_PLUGIN_MOC_SRCS} ${GRASS_PLUGIN_UIS_H})
 
 INCLUDE_DIRECTORIES(
-     /usr/include
      .
      ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../raster ../../renderer ../../legend
-     ../../widgets/projectionselector
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ..
      ${GRASS_INCLUDE_DIR}
      ${GDAL_INCLUDE_DIR}
      ${PROJ_INCLUDE_DIR}
-     ${GEOS_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(grassplugin
   ${QT_LIBRARIES}
   qgis_core
+  qgis_gui
   qgisgrass
   ${GRASS_LIBRARIES}
 )

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,137 +0,0 @@
-# Copyright (C) 2004 Radim Blazek
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-SUBDIRS = config modules themes
-
-INCLUDES = -I../../gui -I../../core
-
-DEFS=-DGRASS_BASE=\"$(GRASS_BASE)\" -DHAVE_OPENPTY=$(HAVE_OPENPTY)
-
-if !HAVE_QTMAC
-PREFIX=-DPREFIX=\"$(prefix)\"
-endif
-
-plugindir = ${pkglibdir}
-
-grassdatadir = ${pkgdatadir}/grass/
-grassdata_DATA = *.gml images/world.png
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-plugin_LTLIBRARIES = grassplugin.la
-
-plugin_MOC = qgsgrassplugin.moc.cpp \
-	     qgsgrassselect.moc.cpp \
-	     qgsgrassbrowser.moc.cpp \
-	     qgsgrassedit.moc.cpp \
-	     qgsgrasstools.moc.cpp \
-	     qgsgrassmodel.moc.cpp \
-	     qgsgrassmapcalc.moc.cpp \
-	     qgsgrassmodule.moc.cpp \
-	     qgsgrassnewmapset.moc.cpp \
-	     qgsgrassshell.moc.cpp \
-	     qgsgrassattributes.moc.cpp \
-	     qgsgrassregion.moc.cpp \
-	     qgsgrassutils.moc.cpp
-
-
-plugin_UI = ui_qgsgrassselectbase.h \
-	    ui_qgsgrasseditbase.h \
-	    ui_qgsgrassmapcalcbase.h \
-	    ui_qgsgrassmodulebase.h \
-	    ui_qgsgrassnewmapsetbase.h \
-	    ui_qgsgrassshellbase.h \
-	    ui_qgsgrassattributesbase.h \
-	    ui_qgsgrassregionbase.h 
-
-plugin_UIC = qgsgrassselectbase.ui \
-	     qgsgrasseditbase.ui \
-	     qgsgrassmapcalcbase.ui \
-	     qgsgrassmodulebase.ui \
-	     qgsgrassnewmapsetbase.ui \
-	     qgsgrassshellbase.ui \
-	     qgsgrassattributesbase.ui \
-	     qgsgrassregionbase.ui 
-
-grassplugin_la_SOURCES = qgsgrassplugin.cpp \
-			 qgsgrassplugin.h \
-			 qgsgrassselect.cpp \
-			 qgsgrassselect.h \
-			 qgsgrassbrowser.cpp \
-			 qgsgrassbrowser.h \
-			 qgsgrassedit.cpp \
-			 qgsgrassedit.h \
-			 qgsgrassedittools.cpp \
-			 qgsgrassedittools.h \
-			 qgsgrasstools.cpp \
-			 qgsgrasstools.h \
-			 qgsgrassmodel.cpp \
-			 qgsgrassmodel.h \
-			 qgsgrassmapcalc.cpp \
-			 qgsgrassmapcalc.h \
-			 qgsgrassmodule.cpp \
-			 qgsgrassmodule.h \
-			 qgsgrassnewmapset.cpp \
-			 qgsgrassnewmapset.h \
-			 qgsgrassshell.cpp \
-			 qgsgrassshell.h \
-			 qgsgrassattributes.cpp \
-			 qgsgrassattributes.h \
-			 qgsgrassregion.cpp \
-			 qgsgrassregion.h \
-			 qgsgrassutils.cpp \
-			 qgsgrassutils.h \
-			 ../../providers/grass/qgsgrass.h \
-			 ../../providers/grass/qgsgrassprovider.h \
-			 $(plugin_UI)
-
-nodist_grassplugin_la_SOURCES = $(plugin_MOC)
-
-# UI dependencies      
-qgsgrassselectbase.cpp: ui_qgsgrassselectbase.h qgsgrassselectbase.ui 
-qgsgrassselectbase.h: qgsgrassselectbase.ui
-qgsgrasseditbase.cpp: ui_qgsgrasseditbase.h qgsgrasseditbase.ui
-qgsgrasseditbase.h: qgsgrasseditbase.ui
-qgsgrassmapcalcbase.cpp: ui_qgsgrassmapcalcbase.h qgsgrassmapcalcbase.ui
-qgsgrassmapcalcbase.h: qgsgrassmapcalcbase.ui
-qgsgrassmodulebase.cpp: ui_qgsgrassmodulebase.h qgsgrassmodulebase.ui
-qgsgrassmodulebase.h: qgsgrassmodulebase.ui
-qgsgrassnewmapsetbase.cpp: ui_qgsgrassnewmapsetbase.h qgsgrassnewmapsetbase.ui
-qgsgrassnewmapsetbase.h: qgsgrassnewmapsetbase.ui
-qgsgrassshellbase.cpp: ui_qgsgrassshellbase.h qgsgrassshellbase.ui
-qgsgrassshellbase.h: qgsgrassshellbase.ui
-qgsgrassattributesbase.cpp: ui_qgsgrassattributesbase.h qgsgrassattributesbase.ui
-qgsgrassattributesbase.h: qgsgrassattributesbase.ui
-qgsgrassregionbase.cpp: ui_qgsgrassregionbase.h qgsgrassregionbase.ui
-qgsgrassregionbase.h: qgsgrassregionbase.ui
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI)
-
-
-grassplugin_la_LIBADD = $(QT_LDADD) ../../providers/grass/libqgisgrass.la $(GRASS_LIB) $(PG_LIB) $(GDAL_LDADD) ../../gui/libqgis_gui.la ../../core/libqgis_core.la ../../raster/libqgis_raster.la
-grassplugin_la_LDFLAGS = -avoid-version -module
-grassplugin_la_CXXFLAGS = $(PREFIX) $(CXXFLAGS) -I$(GRASS_INC) $(DEFS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) -I$(PG_INC)  $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../legend/ -I../../raster -I../../ui -I../../widgets/projectionselector
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) \
-	add_vector.xpm \
-	add_raster.xpm \
-	grass_edit.xpm \
-	grass_region.xpm \
-	grass_region_edit.xpm \
-	grass_tools.xpm \
-	$(grassdata_DATA)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,33 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/grassplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			-L ../../providers/grass/.libs/ -lqgis_grass \
-			$(PLUGIN_LIBS) \
-			$(GRASS_LIB) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/grassplugin.dll
-	$(MAKE) -C themes install
-	$(MAKE) -C modules install
-	$(MAKE) -C config install
-	$(INSTALL) -m 755 images/world.png $(prefix)/share/qgis/grass
-	$(INSTALL) -m 755 locations.gml $(prefix)/share/qgis/grass
-
-include $(QGTOP)/Makefile.win.rules

Added: packages/qgis/branches/upstream/current/src/plugins/grass/config/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/config/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/config/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/config/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/config/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/config/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +0,0 @@
-
-grassconfigdir = ${pkgdatadir}/grass/config
-grassconfig_DATA = *.qgc
-
-EXTRA_DIST = $(grassconfig_DATA)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/config/default.qgc
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/config/default.qgc	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/config/default.qgc	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,13 +15,24 @@
 					<grass name="r.in.arc"/>
 					<grass name="r.in.gridatb"/>
 					<grass name="r.in.mat"/>
+					<grass name="i.in.spotvgt"/>
 					<grass name="r.in.srtm"/>
+					<grass name="r.in.aster"/>
 				</section>
 				<section label="Import vector">
 					<grass name="v.in.ogr"/>
 					<grass name="v.in.ogr.loc"/>
+					<grass name="v.in.dxf"/>
+					<grass name="v.in.e00"/>
+					<grass name="v.in.mapgen"/>
 					<grass name="v.in.db"/>
+					<grass name="v.in.garmin"/>
+					<grass name="v.in.gpsbabel"/>
 				</section>
+				<section label="Import 3D grid">
+					<grass name="r3.in.ascii"/>
+					<grass name="r3.in.v5d"/>
+				</section>
 			</section>
 			<section label="Export">
 				<section label="Export raster">
@@ -38,9 +49,11 @@
 					<grass name="r.out.vrml"/>
 				</section>
 				<section label="Export vector">
+					<grass name="v.out.ogr"/>
 					<grass name="v.out.ogr.shape"/>
 					<grass name="v.out.ogr.gml"/>
 					<grass name="v.out.ogr.mapinfo"/>
+					<grass name="v.out.ascii"/>
 				</section>
 			</section>
 			<section label="Map type conversion">
@@ -48,6 +61,8 @@
 					<grass name="r.to.vect.point"/>
 					<grass name="r.to.vect.line"/>
 					<grass name="r.to.vect.area"/>
+					<grass name="v.to.points"/>
+					<grass name="v.to.rast3"/>
 				</section>
 				<section label="Convert a vector to raster">
 					<grass name="v.to.rast.constant"/>
@@ -68,9 +83,9 @@
 					<section label="Print projection info of current Location">
 						<grass name="g.proj.print"/>
 					</section>
-					<section label="Print projection info from a file">
-						<grass name="g.proj.ascii"/>
+					<section label="Print projection info from a file">							<grass name="g.proj.ascii"/>
 						<grass name="g.proj.geo"/>
+						<grass name="g.proj.proj"/>
 					</section>
 					<section label="Print projection info from a file to create new location">
 						<grass name="g.proj.ascii.new"/>
@@ -78,6 +93,9 @@
 						<grass name="g.proj.proj.new"/>
 					</section>
 				</section>
+				<section label="Converte coordinates">
+					<grass name="m.cogo"/>
+				</section>
 			</section>
 		</section>
 
@@ -104,12 +122,16 @@
 				<section label="Change resolution">
 					<grass name="r.resample"/>
 				</section>
+				<section label="Raster support">
+				<grass name="r.support"/>
+				</section>
 				<section label="Reproject raster from another Location">
 				<grass name="r.proj"/>
 				</section>
 			</section>
 			<section label="Manage map colors">
-				<grass name="r.colors"/>
+				<grass name="r.colors.table"/>
+				<grass name="r.colors.rules"/>
 				<grass name="r.blend"/>
 				<grass name="r.composite"/>
 				<grass name="r.his"/>
@@ -142,6 +164,7 @@
 					<grass name="r.texture"/>
 					<grass name="r.texture.bis"/>
 				</section>
+				<grass name="r.los"/>
 			</section>
 			<section label="Transform features">
 				<grass name="r.clump"/>
@@ -151,9 +174,11 @@
 			<section label="Hydrologic modelling">
 				<grass name="r.carve"/>
 				<grass name="r.fill.dir"/>
+				<grass name="r.lake.xy"/>
 				<grass name="r.lake.seed"/>
 				<grass name="r.topidx"/>
 				<grass name="r.basins.fill"/>
+				<grass name="r.water.outlet"/>
 			</section>
 			<section label="Change category values and labels">
 				<grass name="r.reclass.area.greater"/>
@@ -164,9 +189,11 @@
 				<grass name="v.kernel"/>
 				<grass name="r.surf.fractal"/>
 				<grass name="r.surf.gauss"/>
+				<grass name="r.surf.random"/>
 			</section>
 			<section label="Generate vector contour lines">
 				<grass name="r.contour"/>
+				<grass name="r.contour2"/>
 			</section>
 			<section label="Interpolate surface">
 				<grass name="r.bilinear"/>
@@ -182,10 +209,15 @@
 					<grass name="r.cats"/>
 				</section>
 				<section label="Statistics">
+					<grass name="r.sum"/>
 					<grass name="r.report"/>
 					<grass name="r.average"/>
 					<grass name="r.median"/>
+					<grass name="r.mode"/>
+					<grass name="r.volume"/>
+					<grass name="r.surf.area"/>
 					<grass name="r.univar"/>
+					<grass name="r.covar"/>
 					<grass name="r.regression.line"/>
 					<grass name="r.coin"/>
 				</section>
@@ -216,6 +248,7 @@
 			<section label="Database connection">
 				<grass name="v.db.connect"/>
 				<grass name="v.db.sconnect"/>
+				<grass name="v.db.what.connect"/>
 			</section>
 			<section label="Extract features from vector">
 				<grass name="v.extract.where"/>
@@ -260,6 +293,7 @@
 			</section>
 			<section label="Work with vector points">
 				<section label="Create points">
+					<grass name="v.in.db"/>
 					<grass name="v.random"/>
 					<grass name="r.random"/>
 				</section>
@@ -268,8 +302,13 @@
 					<grass name="v.delaunay.line"/>
 					<grass name="v.delaunay.area"/>
 					<grass name="v.voronoi.line"/>
-					<grass name="v.voronoi.area"/>
 				</section>
+				<section label="Rater maps sample">
+					<grass name="v.rast.stats"/>
+					<grass name="v.what.rast"/>
+					<grass name="v.sample"/>
+				</section>
+				<grass name="v.what.vect"/>
 			</section>
 			<section label="Report and statistics">
 				<grass name="v.to.db"/>
@@ -283,6 +322,71 @@
 		<section label=" ">
 		</section>
 
+		<section label="Imagery">
+			<section label="Develop images and group">
+				<grass name="i.image.mosaic"/>
+			</section>
+			<section label="Manage image colors">
+				<grass name="i.rgb.his"/>
+				<grass name="i.his.rgb"/>
+				<grass name="i.landsat.rgb"/>
+				<grass name="i.fusion.brovey"/>
+			</section>
+			<section label="Filter image">
+				<grass name="i.zc"/>
+				<grass name="r.mfilter"/>
+			</section>
+			<section label="Tassled cap vegetation index">
+				<grass name="i.tasscap4"/>
+				<grass name="i.tasscap5"/>
+				<grass name="i.tasscap7"/>
+			</section>
+			<section label="Transform image">
+				<grass name="i.fft"/>
+				<grass name="i.ifft"/>
+			</section>
+			<section label="Reports and statistics">
+				<grass name="r.describe"/>
+				<grass name="r.bitpattern"/>
+				<grass name="r.kappa"/>
+				<grass name="i.oif"/>
+			</section>
+		</section>
+
+		<section label=" ">
+		</section>
+
+		<section label="grid3d">
+			<section label="Develop 2d-3d raster">
+				<grass name="r.to.rast3"/>
+				<grass name="r.to.rast3elev"/>
+			</section>
+		</section>
+
+		<section label=" ">
+		</section>
+
+		<section label="Database">
+			<section label="Database management">
+				<grass name="db.connect"/>
+				<grass name="db.login"/>
+				<grass name="v.db.addcol"/>
+				<grass name="v.db.dropcol"/>
+				<grass name="v.db.renamecol"/>
+				<grass name="v.db.update_const"/>
+				<grass name="v.db.update_op"/>
+				<grass name="v.db.update_query"/>
+				<grass name="v.db.join"/>
+				<grass name="v.db.univar"/>
+			</section>
+			<section label="Query">
+				<grass name="db.execute"/>
+			</section>
+		</section>
+
+		<section label=" ">
+		</section>
+
 		<section label="3d Visualization">
 			<grass name="nviz"/>
 		</section>

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/grass.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/grass.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/grass.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,73 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the wfs plugin
-#
-
-include(../../../settings.pro)
-TARGET=grassplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-LIBS += $${GRASSLIBADD}
-LIBS += $${PROJLIBADD}
-LIBS += $${GDALLIBADD}
-LIBS += $${QGISGRASSPROVIDERLIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgsgrassattributes.h		\
-           qgsgrassbrowser.h		\
-           qgsgrassedit.h		\
-	   qgsgrassedittools.h		\
-           qgsgrassmapcalc.h		\
-           qgsgrassmodel.h		\
-           qgsgrassmodule.h		\
-           qgsgrassnewmapset.h		\
-           qgsgrassplugin.h		\
-	   qgsgrassregion.h		\
-	   qgsgrassselect.h		\
-	   qgsgrassshell.h		\
-	   qgsgrasstools.h		\
-           qgsgrassutils.h
-
-FORMS +=   qgsgrassattributesbase.ui	\
-	   qgsgrasseditbase.ui		\
-	   qgsgrassmapcalcbase.ui	\
-	   qgsgrassmodulebase.ui	\
-	   qgsgrassnewmapsetbase.ui	\
-	   qgsgrassregionbase.ui	\
-	   qgsgrassselectbase.ui	\
-	   qgsgrassshellbase.ui
-
-SOURCES += qgsgrassattributes.cpp	\
-	   qgsgrassbrowser.cpp		\
-	   qgsgrassedit.cpp		\
-	   qgsgrassedittools.cpp	\
-	   qgsgrassmapcalc.cpp		\
-	   qgsgrassmodel.cpp		\
-	   qgsgrassmodule.cpp		\
-	   qgsgrassnewmapset.cpp	\
-	   qgsgrassplugin.cpp		\
-	   qgsgrassregion.cpp		\
-	   qgsgrassselect.cpp		\
-	   qgsgrassshell.cpp		\
-	   qgsgrasstools.cpp		\
-	   qgsgrassutils.cpp

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +0,0 @@
-
-grassmodulesdir = ${pkgdatadir}/grass/modules
-grassmodules_DATA = *.qgm *.svg *.png
-
-EXTRA_DIST = $(grassmodules_DATA)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/Thumbs.db
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/Thumbs.db
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" db.connect - Sets general DB connection mapset" module="db.connect">
+	<option key="driver" answer="dbf" hidden="no"/>
+	<option key="database" answer="$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/" hidden="no"/>
+	<option key="schema" answer=" " hidden="no"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.connect.wich.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" db.connect - Prints general DB connection mapset" module="db.connect">
+	<flag key="p" answer="on" hidden="yes"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.execute.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" db.execute - Execute any SQL statement" module="db.execute">
+	<file key="input" type="old" />
+	<option key="driver" answer="dbf" hidden="no"/>
+	<option key="database" answer="$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/" hidden="no"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/db.login.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" db.login - Set user/password for driver/database" module="db.login">
+	<option key="driver" answer="dbf" hidden="no"/>
+	<option key="database" answer="$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/" hidden="no"/>
+	<option key="user"/>
+	<option key="password"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/g.proj.proj.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="g.proj - Converts coordinate system descriptions (i.e. projection information) between PROJ INFORMATION . " module="g.proj">
+	<flag key="p" />
+	<flag key="d" />
+	<flag key="j" />
+	<flag key="w" />
+	<flag key="e" />
+	<flag key="f" />
+	<file key="proj4" type="new"/>
+ </qgisgrassmodule>
+
+	
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fft.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.fft - fast fourier transform (FFT) for image processing" module="i.fft">
+    <option key="input_image" />
+	<option key="real_image" />
+	<option key="imaginary_image" />
+	<option key="range" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.fusion.brovey.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.fusion.brovey - brovey transform to merge multispectral and high-res pancromatic channels" module="i.fusion.brovey">
+	<flag key="l" />
+	<flag key="q" />
+	<flag key="s" />
+    <option key="ms1" />
+	<option key="ms2" />
+	<option key="ms3" />
+	<option key="pan" />
+	<flag key="outputprefix" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.his.rgb.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.his.rgb - hue-intensity-saturation (his) to red-green-blue (rgb) raster map color transform function" module="i.his.rgb">
+	<option key="hue_input" />
+	<option key="intensity_input" />
+	<option key="saturation_input" />
+	<option key="red_output" />
+	<option key="green_output" />
+	<option key="blue_output" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.ifft.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.ifft - inverse fast fourier transform for image processing" module="i.ifft">
+    <option key="real_image" />
+	<option key="imaginary_image" />
+	<option key="output_image" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.image.mosaic.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.image.mosaic - mosaic up to 4 images" module="i.image.mosaic">
+    <option key="image1" />
+	<option key="image2" />
+	<option key="image3" />
+	<option key="image4" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.in.spotvgt.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.in.spotvgt - Import of SPOT VGT NDVI file into a raster map" module="i.in.spotvgt">
+	<file key="file" type="new" />
+	<flag key="a" />
+	<option key="rast" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.landsat.rgb.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.landsat.rgb - Auto-balancing of colors for LANDSAT images " module="i.landsat.rgb">
+	<option key="red" />
+	<option key="green" />
+        <option key="blue" />
+        <option key="strength" />
+        <flag key="f" />
+        <flag key="p" />
+        <flag key="r" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.oif.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule
+ label="i.oif - calculates optimal index factor table for landsat tm bands " module="i.oif">
+    <option key="image1" />
+	<option key="image2" />
+	<option key="image3" />
+	<option key="image4" />
+	<option key="image5" />
+	<option key="image7" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.rgb.his.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="i.rgb.his - red green blue (rgb) to hue intensity saturation (his) raster map color transformation function" module="i.rgb.his">
+    <option key="red_input" />
+	<option key="green_input" />
+	<option key="blue_input" />
+	<option key="hue_output" />
+	<option key="intensity_output" />
+	<option key="saturation_output" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap4.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.tasscap - Tasseled Cap (Kauth Thomas) transformation for LANDSAT-TM 4 data" module="i.tasscap">
+	<flag key="4" />
+	<option key="band1" />
+	<option key="band2" />
+	<option key="band3" />
+	<option key="band4" />
+	<option key="band5" />
+	<option key="band7" />
+	<option key="outprefix" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap5.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.tasscap - Tasseled Cap (Kauth Thomas) transformation for LANDSAT-TM 5 data" module="i.tasscap">
+	<flag key="5" />
+	<option key="band1" />
+	<option key="band2" />
+	<option key="band3" />
+	<option key="band4" />
+	<option key="band5" />
+	<option key="band7" />
+	<option key="outprefix" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.tasscap7.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.tasscap - Tasseled Cap (Kauth Thomas) transformation for LANDSAT-TM 7 data" module="i.tasscap">
+	<flag key="7" />
+	<option key="band1" />
+	<option key="band2" />
+	<option key="band3" />
+	<option key="band4" />
+	<option key="band5" />
+	<option key="band7" />
+	<option key="outprefix" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/i.zc.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="i.zc - Zero-crossing edge detection raster function for image processing." module="i.zc">
+	   <option key="input" />
+       <option key="output" />
+       <option key="threshold" />
+       <option key="orientations" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.cogo.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="m.cogo - A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system " module="m.cogo">
+	<file key="input" type="old" />
+	<option key="coord" />
+	<flag key="r" />
+    <file key="output" type="new" />
+</qgisgrassmodule>
\ No newline at end of file

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.1.png
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/m.proj.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
-<qgisgrassmodule label="m.proj - Convert coordinates from one projection to another (cs2cs frontend)." module="m.proj">
-	<flag key="i" />
-	<flag key="o" />
-	<flag key="d" />
-	<flag key="v" />
-	<option key="input" />
-	<option key="output" />
-	<option key="fs" />
-	<option key="proj_in" />
-	<option key="proj_out" />
-</qgisgrassmodule>
\ No newline at end of file

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.1.png
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/nvis.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
-<qgisgrassmodule
-     label="nviz - Open 3D-View in NVIZ" module="nviz">
-     <option key="elevation" />
-</qgisgrassmodule>
\ No newline at end of file

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.1.png
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/p.out.vrml.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
-<qgisgrassmodule label="p.out.vrml - Export a raster map to the Virtual Reality Modelling (VRML) " module="p.out.vrml">
-	<option key="elev" />
-       <option key="color" />
-       <option key="exag" />
-       <option key="output" />
-</qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.average.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.average.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.average.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,5 +2,6 @@
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd"> <qgisgrassmodule label="r.average - Finds the average of values in a cover map within areas assigned the same category value in a user-specified base map. " module="r.average">
 	<option key="base" />
         <option key="cover" />
+		<flag key="c" />
         <option key="output" />
 </qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bilinear.1.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bilinear.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bilinear.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.bitpattern.1.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.1.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.carve.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,7 +3,11 @@
 <qgisgrassmodule label="r.carve - Takes vector stream data, transforms it to raster, and subtracts depth from the output DEM" module="r.carve">
 	<option key="rast" />
 	<option key="vect" />
+	<option key="width" />
+	<option key="depth" />
+	<flag key="n" />
 	<option key="output" />
+	<option key="points" />
 </qgisgrassmodule>
 
 

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.rules.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="r.colors - Set raster color table from setted rules" module="r.colors">
+	<option key="map" update="yes" />
+	<option key="rules" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.colors.table.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="r.colors - Set raster color table from setted tables" module="r.colors">
+	<option key="map" update="yes" />
+	<option key="color" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour.2.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour.2.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.contour2.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="r.contour - Produces a GRASS binary vector map of specified contours from GRASS raster map layer (min max levels) " module="r.contour">
+	<flag key="q" />
+	<flag key="n" />
+	    <option key="input" />
+        <option key="output" />
+        <option key="minlevel" />
+        <option key="maxlevel" />
+        <option key="step" />
+        <option key="cut" />
+ </qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.covar.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" r.covar - Outputs a covariance/correlation matrix for user-specified raster map layer(s)" module="r.covar">
+	<option key="map" />
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.describe.1.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.fill.dir.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.fill.dir.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.fill.dir.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 <qgisgrassmodule label="r.fill.dir - Filters and generates a depressionless elevation map and a flow direction map from a given elevation layer " module="r.fill.dir">
-	   <option key="input" />
-       <option key="type" ansewr="grass" hidden="yes"/>
+       <option key="input" />
+       <option key="type" answer="grass" hidden="yes"/>
        <option key="elevation" />
        <option key="direction" />
 </qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.arc.qgm.sitx
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.arc.qgm.sitx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.ascii.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.ascii.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.ascii.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,6 +3,11 @@
 <qgisgrassmodule label="r.in.ascii - Convert an ASCII raster text file into a (binary) raster map layer." module="r.in.ascii">
 	<file key="input" type="old" />
        <option key="mult" />
+       <option key="nv" />
+	<flag key="i" />
+	<flag key="f" />
+	<flag key="d" />
+	<flag key="s" />
 	<option key="output" />
 </qgisgrassmodule>
 

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.aster.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.in.aster - r.in.aster - georeferencing, rectification, and import of Terra-ASTER imagery and relative DEM's using gdalwarp" module="r.in.aster">
+	<file key="input" type="old" />
+	<option key="proctype" />
+	<option key="band" />
+	<option key="output" />
+</qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.gdal.loc.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.gdal.loc.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.in.gdal.loc.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 
-<qgisgrassmodule label=" r.in.gdal - Import GDAL raster layer and create a fitted location" module="r.in.gdal">
+<qgisgrassmodule label=" Import GDAL raster layer and create a fitted location" module="r.in.gdal">
 	<gdal key="input" label="GDAL raster layer" />
 	<option key="output" />
 	<flag key="e" answer="on" hidden="yes" />

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.kappa.1.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.lake.xy.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.lake - Fills lake from seed point at given level " module="r.lake">
+	<option key="dem" />
+       <option key="xy" />
+       <option key="wl" />
+	<flag key="n" />
+	<flag key="o" />
+       <option key="lake" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.los.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<!-- TODO: this is bad -->
+<qgisgrassmodule label=" r.los - Line-of-sigth raster analysis" module="r.los">
+	<option key="input"/>
+	<option key="coordinate" />
+	<option key="obs_elev" answer="1.75" hidden="no" />
+	<option key="max_dist" answer="1000" hidden="no" />
+	<option key="output" />
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mapcalculator.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mapcalculator.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mapcalculator.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
- <qgisgrassmodule label=" r.mapcalculator - Simple map algebra" module="r.mapcalculator">
-        <flag key="o" />
-	<option key="amap" />
-        <option key="bmap" />
-	<option key="cmap" />
-	<option key="dmap" />
-	<option key="emap" />
-	<option key="fmap" />
-	<option key="formula" />
-	<option key="outfile" />
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label=" r.mapcalculator - Simple map algebra" module="r.mapcalculator">
+        <flag key="o" />
+	<option key="amap" />
+        <option key="bmap" />
+	<option key="cmap" />
+	<option key="dmap" />
+	<option key="emap" />
+	<option key="fmap" />
+	<option key="formula" />
+	<option key="outfile" />
  </qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.mode.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.mode - Finds the mode of values in a cover map within areas assigned the same category value in a user-specified base map.reproject raster image " module="r.mode">
+	<option key="base" />
+      <option key="cover" />
+	<option key="output" />
+</qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.arc.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.arc.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.arc.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,5 +3,7 @@
 <qgisgrassmodule label="r.out.arc - Converts a raster map layer into an ESRI ARCGRID file." module="r.out.arc">
        <option key="input" />
 		<option key="dp" answer="2"/>
+		<flag key="h" />
+		<flag key="1" />
        <file key="output" type="new" />
 </qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.bin.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.bin.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.bin.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,5 +3,8 @@
 <qgisgrassmodule label="r.out.bin - Exports a GRASS raster to a binary array. " module="r.out.bin">
 	<option key="input" />
 	<option key="null" />
+	<flag key="h" />
+	<flag key="b" />
+	<flag key="s" />
     <file key="output" type="new" />
 </qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.pov.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.pov.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.pov.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,5 +2,8 @@
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 <qgisgrassmodule label="r.out.pov -  Converts a raster map layer into a height-field file for POVRAY." module="r.out.pov">
 	<option key="map" />
+       <option key="hftype" />
+       <option key="bias" />
+       <option key="scale" />
        <file key="tga" type="new" />
 </qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.tiff.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.tiff.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.out.tiff.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,6 +4,8 @@
 	<option key="input" />
 	<option key="compression" />
 	<flag key="p" />
-	<flag key="t" answer="on" hidden="yes"/>
-	<option key="output" type="new" />
+	<flag key="t" />
+	<flag key="l" />
+	<flag key="v" />	
+	<option key="output" />
 </qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.patch.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.patch.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.patch.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<!-- TODO: this is bad -->
+<qgisgrassmodule label="Overlay several raster" module="r.patch">
+	<option key="input"/>
+	<option key="output" />
+</qgisgrassmodule>

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.region.region.1 .png
===================================================================
(Binary files differ)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.report.1 copia 4.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.sum.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="r.sum - Sums up the raster cell values. " module="r.sum">
+	<option key="rast" />
+ </qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.support.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.support - Allows creation and/or modification of raster map layer support files. " module="r.support">
+	<option key="map" />
+    <option key="title" />
+    <option key="history" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.area.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+ <qgisgrassmodule label="r.surf.area - Surface area estimation for rasters.  " module="r.surf.area">
+	<option key="input" />
+        <option key="vscale" />
+ </qgisgrassmodule>
+

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.contour.1.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.contour.2.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw.1.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw.2.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw2.1.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.idw2.2.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.surf.random.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.surf.random - Produces a raster map layer of uniform random deviates whose range can be expressed by the user." module="r.surf.random">
+       <option key="min" />
+    <option key="max" />
+	<option key="out" />
+</qgisgrassmodule>
+

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3.1.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.1.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.to.rast3elev.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.volume.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.volume - Calculates the volume of data clumps, and produces a GRASS vector points map containing the calculated centroids of these clumps." module="r.volume">
+    <flag key="f" />
+	<option key="data" />
+    <option key="clump" />
+    <option key="centroids" />
+</qgisgrassmodule>
+

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r.water.outlet.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+<qgisgrassmodule label="r.water.outlet - Watershed basin creation program." module="r.water.outlet">
+	<option key="drainage" />
+	<option key="easting" />
+	<option key="northing" />
+	<option key="basin" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.ascii.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" r3.in.ascii - Convert a 3D ASCII raster text file into a (binary) 3D raster map layer" module="r3.in.ascii">
+	<file key="input" type="old" label="3D ascii vector layer" />
+	<option key="output" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/r3.in.v5d.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" r3.in.v5d - import of 3-dimensional Vis5D files (i.e. the v5d file with 1 variable and 1 time step)" module="r3.in.v5d">
+	<file key="input" type="old" label="v5d vector layer" />
+	<option key="output" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.adehabitat.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="  Calcolo del Kernel tramite R" module="v.animove.new">
+	<file key="file" type="old" label="File CSV di input" filters="csv (*.csv)" />
+	<option key="column" label="Campo identificatore dell'animale"/>
+	<option key="type" label="Tipo di kernel ('href' o 'LSCV') o valore"/>
+	<option key="resolution" label="Percentuale del kernel da estrarre"/>
+	<option key="grid" label="Risoluzione della griglia di lavoro"/>
+	<file key="directory" type="new" fileoption="name_kernel" label="Shapefile in uscita" filters="Shape (*.shp)" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.animove.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="  Calcolo dell'home range tramite R" module="v.animove">
+	<option key="point" typemask="point" layeroption="layer"/>
+	<field key="column" layer="map" type="integer,string" label="Attribute field" />
+	<option key="type"/>
+	<option key="resolution" answer="95"/>
+	<option key="grid"/>
+	<option key="name_kernel"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.addcol.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.addcol - Adds one or more columns to the attribute table connected to a given vector map" module="v.db.addcol">
+	<option key="map" layeroption="layer" />
+	<option key="columns"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.dropcol.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.dropcol -  Drops a column from the attribute table connected to a given vector map" module="v.db.dropcol">
+	<option key="map" layeroption="layer" />
+	<field key="column" layer="map" type="integer,double" label="Attribute field" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.join.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.join - Allows to join a table to a vector map table" module="v.db.join">
+	<option key="map" layeroption="layer" />
+	<field key="column" layer="map" type="integer,varchar" label="Attribute field" />
+	<option key="otable"/>
+	<field key="ocolumn" layer="otable" type="integer,varchar" label="Attribute field" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.renamecol.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.renamecol - Renames a column in a attribute table connected to a given vector map" module="v.db.renamecol">
+	<option key="map" layeroption="layer" />
+	<option key="column"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.univar.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.univar - Calculates univariate statistics on selected table column for a GRASS vector map" module="v.db.univar">
+	<option key="table" />
+	<field key="column" layer="table" type="integer,double" label="Attribute field" />
+	<flag key="e" answer="no"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_const.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.update - Allows to assign a new constant value to a column in the attribute table connected to a given map" module="v.db.update">
+	<option key="map" layeroption="layer" />
+	<field key="column" layer="map" type="integer,double,varchar" label="Attribute field" />
+	<option key="value"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_op.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.update - Allows to assign a new value, result of operation on column/s, to a column in the attribute table connected to a given map" module="v.db.update">
+	<option key="map" layeroption="layer" />
+	<field key="column" layer="map" type="integer,double" label="Attribute field" />
+	<option key="qcolumn"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.update_query.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.update - Allows to assign a new value that depends by a query to a column in the attribute table connected to a given map" module="v.db.update">
+	<option key="map" layeroption="layer" />
+	<field key="column" layer="map" type="integer,double" label="Attribute field" />
+	<field key="qcolumn" />
+	<option key="where"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.db.what.connect.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.db.connect - What connection about this map?" module="v.db.connect">
+	<option key="map" layeroption="layer"/>
+	<flag key="p" answer="on" hidden="yes"/>
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.db.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.db.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.db.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,7 +4,7 @@
 <qgisgrassmodule label=" v.in.db - Import vector point from table dbf format" module="v.in.db">
 	<option key="driver" answer="dbf" hidden="yes"/>
 	<file key="database" type="old" fileoption="table" label="Input table" filters="dbf (*.dbf)" />
-	<option key="x" file="table" type="integer,double"/>
+	<option key="x"/>
 	<option key="y"/>
 	<option key="key"/>
 	<option key="output"/>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.1.svg
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.1.svg	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.1.svg	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="500" x="0" y="0" height="500" id="/hardmnt/janacek0/ssi/blazek/inst/qgis/cvs/plugins/grass/modules/r.to.vect.line.2" >
+ <rect width="500" x="0" y="0" height="500" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(255,255,255);" />
+ <g style="stroke:rgb(0,0,0);stroke-width:0.9;fill:none;" >
+  <line transform="translate(0.331263 0.331263)" style="stroke:rgb(0,0,0);stroke-width:15;fill:rgb(220,220,220);" y1="401" y2="96" x1="94" x2="399" />
+ </g>
+</svg>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.dxf.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,7 +2,7 @@
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 
 <qgisgrassmodule label="v.in.dxf - Import DXF vector layer" module="v.in.dxf">
-	<ogr key="input" label="DXF vector layer" />
+	<file key="input" type="old" label="DXF vector layer" filters="dxf (*.dxf)" />
 	<option key="output" />
 	<flag key="1" answer="off" hidden="yes" />
 	<flag key="e" answer="on" hidden="yes" />

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.1.svg
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.1.svg	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.1.svg	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="500" x="0" y="0" height="500" id="/hardmnt/janacek0/ssi/blazek/inst/qgis/cvs/plugins/grass/modules/r.to.vect.line.2" >
+ <rect width="500" x="0" y="0" height="500" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(255,255,255);" />
+ <g style="stroke:rgb(0,0,0);stroke-width:0.9;fill:none;" >
+  <line transform="translate(0.331263 0.331263)" style="stroke:rgb(0,0,0);stroke-width:15;fill:rgb(220,220,220);" y1="401" y2="96" x1="94" x2="399" />
+ </g>
+</svg>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.e00.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="v.in.e00 - Import ESRI E00 file in a vector map" module="v.in.e00">
+	<file key="file" type="old" label="E00 vector layer" />
+	<option key="type" />
+	<option key="vect" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.garmin.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.in.garmin - Import vector from gps using gpstrans" module="v.in.garmin">
+	<option key="output"/>
+	<option key="port" answer="/dev/ttyS0"/>
+	<flag key="w" answer="off" hidden="no" />
+	<flag key="r" answer="off" hidden="no" />
+	<flag key="t" answer="off" hidden="no" />
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.gpsbabel.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.in.gpsbabel - Import vector from gps using gpsbabel" module="v.in.gpsbabel">
+	<option key="input" />
+	<option key="format" answer="garmin" hidden="no" />
+	<flag key="w" answer="off" hidden="no" />
+	<flag key="r" answer="off" hidden="no" />
+	<flag key="t" answer="off" hidden="no" />
+	<option key="output"/>
+</qgisgrassmodule>
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.1.svg
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.1.svg	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.1.svg	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="500" x="0" y="0" height="500" id="/hardmnt/janacek0/ssi/blazek/inst/qgis/cvs/plugins/grass/modules/r.to.vect.line.2" >
+ <rect width="500" x="0" y="0" height="500" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(255,255,255);" />
+ <g style="stroke:rgb(0,0,0);stroke-width:0.9;fill:none;" >
+  <line transform="translate(0.331263 0.331263)" style="stroke:rgb(0,0,0);stroke-width:15;fill:rgb(220,220,220);" y1="401" y2="96" x1="94" x2="399" />
+ </g>
+</svg>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.in.mapgen.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="v.in.mapgen - Import MapGen or MatLab vectors in GRASS" module="v.in.mapgen">
+	<file key="input" type="old" label="E00 vector layer" />
+	<option key="output" />
+	<flag key="f" answer="off" hidden="no" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.2.svg
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.2.svg	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.2.svg	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="500" x="0" y="0" height="500" id="/putrela0/mpasol/blazek/inst/qgiscvs07/plugins/grass/modules/v.hull.2" >
+ <rect width="500" x="0" y="0" height="500" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(255,255,255);" />
+ <g style="stroke:rgb(0,0,0);stroke-width:0.9;fill:none;" >
+  <clipPath id="clip1" >
+   <rect width="500" x="0" y="0" height="500" />
+  </clipPath>
+  <g style="clip-path:url(#clip1)" >
+   <polygon points="74 190 176 103 346 136 421 300 275 371 100 351 74 190" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(170,255,255);" />
+   <polygon points="74 190 176 103 346 136 421 300 275 371 100 351 74 190" style="stroke:rgb(0,0,255);stroke-width:15;fill:none;" />
+  </g>
+ </g>
+</svg>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.mcp.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label="  Calcolo del minimo poligonmo convesso tramite R" module="v.mcp">
+	<file key="file" type="old" label="File CSV di input" filters="csv (*.csv)" />
+	<option key="column" label="Campo identificatore dell'animale"/>
+	<file key="directory" type="new" fileoption="name_mcp" label="Shapefile in uscita" filters="Shape (*.shp)" />
+	<flag key="t" answer="off" hidden="no" label="Usa il metodo LoCoH" />
+	<option key="method" label="Metodo da usare per il calcolo di LoCoH (k, r, a)"/>
+	<option key="g" label="Valore da associare al metodo prescelto"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ascii.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.out.ascii - Convert a GRASS binary vector map to a GRASS ASCII vector map" module="v.out.ascii">
+	<option key="input" />
+	<option key="format"/>
+	<file key="output" type="new" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.2.svg
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.2.svg	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.2.svg	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" width="500" x="0" y="0" height="500" id="/hardmnt/janacek0/ssi/blazek/inst/qgis/cvs/plugins/grass/modules/r.to.vect.line.2" >
+ <rect width="500" x="0" y="0" height="500" style="stroke:rgb(0,0,0);stroke-width:0;fill:rgb(255,255,255);" />
+ <g style="stroke:rgb(0,0,0);stroke-width:0.9;fill:none;" >
+  <line transform="translate(0.331263 0.331263)" style="stroke:rgb(0,0,0);stroke-width:15;fill:rgb(220,220,220);" y1="401" y2="96" x1="94" x2="399" />
+ </g>
+</svg>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.gml.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.gml.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.gml.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,5 +5,5 @@
 	<option key="input" layeroption="layer" typeoption="type" />
 	<option key="format" answer="GML" hidden="yes" />
 	<file key="dsn" type="new" label="Output GML file" filters="GML (*.gml)" />
-	<option key="olayer" label="Output layer name (used in GML file)" />
+	<option key="olayer" answer="default" label="Output layer name (used in GML file)" />
 </qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.mapinfo.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.mapinfo.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.mapinfo.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,5 +4,5 @@
 <qgisgrassmodule label="v.out.ogr - Mapinfo export of vector layer" module="v.out.ogr">
 	<option key="input" layeroption="layer" typeoption="type" />
 	<option key="format" answer="MapInfo_File" hidden="yes" />
-	<file key="dsn" type="new" fileoption="olayer" label="Output MapInfo file" filters="MapInfo (*.tab)" />
+	<file key="dsn" type="new" fileoption="olayer" label="Output Shapefile" filters="MapInfo (*.tab)" />
 </qgisgrassmodule>
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 
-<qgisgrassmodule label="v.out.ogr - Export vector layer to various formats (OGR library)" module="v.out.ogr">
+<qgisgrassmodule label=" v.out.ogr - Export vector layer to various formats (OGR library)" module="v.out.ogr">
 	<option key="input" layeroption="layer" typeoption="type" />
 	<option key="format"/>
-	<file key="dsn" type="new"/>
-	<option key="olayer" label="Output layer name" />
+	<file key="dsn" type="new" fileoption="olayer" label="Output vector file" />
+	<flag key="e" answer="on" hidden="yes" />
 </qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.shape.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.shape.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.out.ogr.shape.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,6 +4,5 @@
 <qgisgrassmodule label="v.out.ogr - Export vector layer to Shapefile" module="v.out.ogr">
 	<option key="input" layeroption="layer" typeoption="type" />
 	<option key="format" answer="ESRI_Shapefile" hidden="yes" />
-  <flag key="c" answer="on" hidden="no" />
 	<file key="dsn" type="new" fileoption="olayer" label="Output Shapefile" filters="Shapefile (*.shp)" />
 </qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.overlay.xor.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.overlay.xor.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.overlay.xor.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 
-<qgisgrassmodule label="v.overlay - Vector non-intersection" module="v.overlay">
+<qgisgrassmodule label="Vector non-intersection" module="v.overlay">
 	<option key="ainput" typeoption="atype" layeroption="alayer" typemask="area" />
 	<option key="binput" typeoption="btype" layeroption="blayer" />
 	<option key="output" />

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.patch.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.patch.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.patch.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
-
-<qgisgrassmodule label="v.patch - Combine more vectors" module="v.patch">
-	<option key="input"/>
-	<option key="output"/>
-	<flag key="a" answer="off" hidden="no" />
-</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.qgm	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.rast.stats.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
 
-<qgisgrassmodule label="  Calculates univariate statistics from a GRASS raster map based on vector objects" module="v.rast.stats">
-	<option key="vector" typemask="area" />
-	<option key="raster" />
-	<option key="colprefix" type="new"/>
+<qgisgrassmodule label=" v.rast.stats - Calculates univariate statistics from a GRASS raster map based on vector objects" module="v.rast.stats">
+	<option key="raster"/>
+	<option key="vector" typemask="area"/>
+	<option key="colprefix"/>
+	<flag key="c" answer="off" hidden="yes" />
 </qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.sample.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.sample - Sample a raster file at site locations" module="v.sample">
+	<option key="rast"/>
+	<option key="input" typemask="point"/>
+	<field key="column" layer="vector" type="integer,double"/>
+	<option key="output"/>
+	<flag key="B" answer="off" hidden="no" />
+	<flag key="C" answer="off" hidden="no" />
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.surf.idw.2.png
===================================================================
(Binary files differ)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.surf.rst.2.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.points.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.to.points - Create points along input lines" module="v.to.points">
+	<option key="input" layeroption="llayer" typeoption="type" />
+	<file key="output" type="new" />
+	<option key="dmax" answer="100" hidden="no"/>
+	<flag key="v" answer="on" hidden="no" />
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.to.rast3.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.to.rast3 - Converts a binary GRASS vector map (only points) layer into a 3D GRASS raster map layer" module="v.to.rast3">
+	<option key="input" layeroption="layer" typeoption="type" typemask="point"/>
+	<field key="column" layer="input" type="integer,double" label="Attribute field" />
+	<file key="output" type="new" />
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.univar.2.png
===================================================================
(Binary files differ)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.3.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.rast.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.what.rast - Uploads raster values at positions of vector points to the table" module="v.what.rast">
+	<option key="raster"/>
+	<option key="vector" layeroption="layer" typemask="point"/>
+	<field key="column" layer="vector" type="integer,double" label="Attribute field"/>
+</qgisgrassmodule>

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.1.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.2.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.qgm
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.qgm	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/modules/v.what.vect.qgm	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
+
+<qgisgrassmodule label=" v.what.vect - Uploads map for wich to edit attribute table" module="v.what.vect">
+	<option key="vector" layeroption="layer"/>
+	<field key="column" layer="vector" type="integer,double,varchar"/>
+	<option key="qvector" layeroption="layer"/>
+	<field key="qcolumn" layer="qvector" type="integer,double,varchar"/>
+</qgisgrassmodule>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -45,7 +45,6 @@
 #include "qgsvectorlayer.h"
 #include "qgsdataprovider.h"
 #include "qgsmaptopixel.h"
-#include "qgsfeatureattribute.h"
 
 extern "C" {
 #include <grass/gis.h>
@@ -242,7 +241,8 @@
 
     // I have no rational explanation why fromLocal8Bit is necessary, value should be in unicode
     // because QgsGrassProvider::attributes is using mEncoding->toUnicode() 
-    tb->setText ( row, 1, QString::fromLocal8Bit(value) );
+//    tb->setText ( row, 1, QString::fromLocal8Bit(value) );
+    tb->setText ( row, 1, value );
     tb->setText ( row, 2, type );
 
     resetButtons();
@@ -375,7 +375,7 @@
     std::cerr << "QgsGrassAttributes::tabChanged()" << std::endl;
     #endif
     
-    Q3Table *tb = (Q3Table *) tabCats->currentPage();
+    //Q3Table *tb = (Q3Table *) tabCats->currentPage();
 
     resultLabel->setText ( "" );
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassattributes.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,6 @@
 
 /* First attribute in the table is always field, second attribute is category */
 
-#include "qgsidentifyresults.h"
 //Added by qt3to4:
 #include <QEvent>
 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -39,6 +39,7 @@
 #include <QScrollBar>
 
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgsrasterlayer.h"
 
@@ -53,9 +54,9 @@
 #include "qgsgrassselect.h"
 #include "qgsgrassutils.h"
 
-QgsGrassBrowser::QgsGrassBrowser ( QgisIface *iface, 
+QgsGrassBrowser::QgsGrassBrowser ( QgisInterface *iface, 
 	 QWidget * parent, Qt::WFlags f )
-             :mIface(iface), QMainWindow(parent, Qt::WType_Dialog)
+     : QMainWindow(parent, Qt::WType_Dialog), mIface(iface)
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassBrowser()" << std::endl;
@@ -389,11 +390,11 @@
             continue; // should not happen
         }
          
-        int ret = QMessageBox::question ( 0, tr("Warning"),
+        QMessageBox::StandardButton ret = QMessageBox::question ( 0, tr("Warning"),
               tr("Delete map <b>") + map + "</b>",
-              QMessageBox::Yes,  QMessageBox::No );
+              QMessageBox::Ok | QMessageBox::Cancel );
 
-        if ( ret == QMessageBox::No ) continue;
+        if ( ret == QMessageBox::Cancel ) continue;
 
         QString module = "g.remove";
 #ifdef WIN32
@@ -467,7 +468,7 @@
     QString mapset = mModel->itemMapset(index);
     QString map = mModel->itemMap(index);
 
-    int mapType;
+    int mapType = QgsGrass::Raster; //default in case no case matches
     switch (type) {
         case QgsGrassModel::Raster :
 	    mapType = QgsGrass::Raster;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassbrowser.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -23,7 +23,7 @@
 class QTextBrowser;
 class QDirModel;
 
-#include "qgisiface.h"
+class QgisInterface;
 #include "qgsgrassmodel.h"
 
 /*! \class QgsGrassBrowser
@@ -35,7 +35,7 @@
 
 public:
     //! Constructor
-    QgsGrassBrowser ( QgisIface *iface, QWidget * parent = 0, Qt::WFlags f = 0  );
+    QgsGrassBrowser ( QgisInterface *iface, QWidget * parent = 0, Qt::WFlags f = 0  );
 
     //! Destructor
     ~QgsGrassBrowser();
@@ -80,7 +80,7 @@
     void regionChanged();
 
 private:
-    QgisIface *mIface;
+    QgisInterface *mIface;
     
     //! Current GISBASE
     QString mGisbase;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,45 +14,48 @@
  *                                                                         *
  ***************************************************************************/
 #include <iostream>
-#include <qdir.h>
-#include <qevent.h>
-#include <qfile.h>
-#include <qsettings.h>
-#include <qpixmap.h>
-#include <q3listbox.h>
-#include <qstringlist.h>
-#include <qlabel.h>
-#include <QComboBox>
-#include <qspinbox.h>
-#include <qmessagebox.h>
-#include <qinputdialog.h>
-#include <qsettings.h>
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qpen.h>
-#include <q3pointarray.h>
-#include <qcursor.h>
-#include <qnamespace.h>
-#include <q3listview.h>
-#include <qcolordialog.h>
-#include <q3table.h>
-#include <qstatusbar.h>
-#include <qglobal.h>
 
+//#include <qnamespace.h>
+#include <QtGlobal>
+#include <QColorDialog>
+#include <Q3ListBox>
+#include <Q3ListView>
+#include <Q3PointArray>
+#include <Q3Table>
+#include <QAction>
 #include <QActionGroup>
 #include <QCloseEvent>
+#include <QComboBox>
+#include <QCursor>
+#include <QDir>
+#include <QEvent>
+#include <QFile>
+#include <QInputDialog>
+#include <QLabel>
+#include <QMessageBox>
+#include <QPainter>
+#include <QPen>
+#include <QPixmap>
+#include <QSettings>
+#include <QSpinBox>
+#include <QStatusBar>
+#include <QStringList>
 #include <QToolBar>
 
+
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
+#include "qgscsexception.h"
 #include "qgsmapcanvas.h"
+#include "qgsmapcanvasitem.h"
 #include "qgsmaplayer.h"
+#include "qgsmaprender.h"
 #include "qgsvectorlayer.h"
 #include "qgsdataprovider.h"
+#include "qgsmaptoolpan.h"
 #include "qgsmaptopixel.h"
 #include "qgsfield.h"
-#include "qgsfeatureattribute.h"
-#include "qgslegend.h"
 #include "qgsvertexmarker.h"
 #include "qgsrubberband.h"
 #include "qgsproject.h"
@@ -70,27 +73,32 @@
 #include "qgsgrassedittools.h"
 #include "qgsgrassutils.h"
 
-#include "qgsmapcanvasitem.h"
-#include "qgsmaptoolpan.h"
+#ifdef _MSC_VER
+#define round(x)  ((x) >= 0 ? floor((x)+0.5) : floor((x)-0.5))
+#endif
 
+
 class QgsGrassEditLayer : public QgsMapCanvasItem
 {
   public:
     
     QgsGrassEditLayer(QgsMapCanvas* mapCanvas):QgsMapCanvasItem(mapCanvas)
     {
-      updatePosition();
     }
     
-    virtual void drawShape(QPainter & p)
+    virtual void paint(QPainter* p)
     {
-      p.drawPixmap(mPanningOffset.x(),mPanningOffset.y(), mPixmap);
+      p->drawPixmap(0,0, mPixmap);
     }
     
+    virtual QRectF boundingRect() const
+    {
+      return QRectF(0,0, mMapCanvas->width(), mMapCanvas->height());
+    }
+    
     virtual void updatePosition()
-    {      
-      move(mPanningOffset.x(),mPanningOffset.y());
-      setSize(mMapCanvas->width(), mMapCanvas->height());      
+    {
+      setPos(QPointF(mPanningOffset));
     }
     
     QPixmap& pixmap() { return mPixmap; }
@@ -104,10 +112,10 @@
 
 bool QgsGrassEdit::mRunning = false;
 
-QgsGrassEdit::QgsGrassEdit ( QgisApp *qgisApp, QgisIface *iface, 
+QgsGrassEdit::QgsGrassEdit ( QgisInterface *iface, 
     QWidget * parent, Qt::WFlags f )
-    :QMainWindow(parent,f), QgsGrassEditBase (), mMapTool(0),
-    mCanvasEdit(0), mRubberBandLine(0), mRubberBandIcon(0), mInited(false)
+    :QMainWindow(parent,f), QgsGrassEditBase (), mInited(false), 
+     mMapTool(0), mCanvasEdit(0), mRubberBandLine(0), mRubberBandIcon(0)
 {
 #ifdef QGISDEBUG
   std::cerr << "QgsGrassEdit()" << std::endl;
@@ -119,7 +127,6 @@
   mValid = false;
   mTool = QgsGrassEdit::NONE;
   mSuspend = false;
-  mQgisApp = qgisApp;
   mIface = iface;
   mNewMap = false;
 
@@ -191,11 +198,11 @@
     }
 }
 
-QgsGrassEdit::QgsGrassEdit ( QgisApp *qgisApp, QgisIface *iface, 
+QgsGrassEdit::QgsGrassEdit ( QgisInterface *iface, 
     QgsGrassProvider *provider,
     QWidget * parent, Qt::WFlags f )
-    :QMainWindow(parent, 0, f), QgsGrassEditBase (), mMapTool(0),
-    mCanvasEdit(0), mRubberBandLine(0), mRubberBandIcon(0), mInited(false)
+    :QMainWindow(parent, 0, f), QgsGrassEditBase (), mInited(false), 
+     mMapTool(0), mCanvasEdit(0), mRubberBandLine(0), mRubberBandIcon(0)
 {
 #ifdef QGISDEBUG
   std::cerr << "QgsGrassEdit()" << std::endl;
@@ -207,7 +214,6 @@
   mValid = false;
   mTool = QgsGrassEdit::NONE;
   mSuspend = false;
-  mQgisApp = qgisApp;
   mIface = iface;
   mNewMap = true;
 
@@ -515,16 +521,13 @@
   connect( mCanvas, SIGNAL(renderComplete(QPainter *)), this, SLOT(postRender(QPainter *)));
 
   mCanvasEdit = new QgsGrassEditLayer(mCanvas);
-  mCanvasEdit->show();
   
   mPixmap = &mCanvasEdit->pixmap();
 
   mRubberBandLine = new QgsRubberBand(mCanvas);
   mRubberBandIcon = new QgsVertexMarker(mCanvas);
-  mRubberBandLine->setZ(20);
-  mRubberBandIcon->setZ(20);
-  mRubberBandLine->show();
-  mRubberBandIcon->show();
+  mRubberBandLine->setZValue(20);
+  mRubberBandIcon->setZValue(20);
 
   // Init GUI values
   mCatModeBox->insertItem( tr("Next not used"), CAT_MODE_NEXT );
@@ -564,7 +567,7 @@
     mAttributeTable->setNumRows ( cols->size() );
 
 
-    for ( int c = 0; c < cols->size(); c++ ) {
+    for ( unsigned int c = 0; c < cols->size(); c++ ) {
       QgsField col = (*cols)[c];
 
       Q3TableItem *ti;
@@ -573,7 +576,7 @@
       ti->setEnabled( false );
       mAttributeTable->setItem ( c, 0, ti );
 
-      ti = new Q3TableItem( mAttributeTable, Q3TableItem::Never, col.type() );
+      ti = new Q3TableItem( mAttributeTable, Q3TableItem::Never, col.typeName() );
       ti->setEnabled( false );
       mAttributeTable->setItem ( c, 1, ti );
 
@@ -743,7 +746,7 @@
     Q3CheckListItem *clvi = (Q3CheckListItem *) item;
     mSymbDisplay[index] = clvi->isOn();
 
-    int ww = settings.readNumEntry("/GRASS/windows/edit/w", 420);
+    //int ww = settings.readNumEntry("/GRASS/windows/edit/w", 420);
     QString sn;
     // TODO use a name instead of index
     sn.sprintf( "/GRASS/edit/symb/display/%d", index );
@@ -819,12 +822,12 @@
 #endif
 
   // Set lines symbology from map
-  int nlines = mProvider->numLines(); 
+  unsigned int nlines = mProvider->numLines(); 
   if ( nlines+1 >= mLineSymb.size() )
     mLineSymb.resize(nlines+1000); 
 
   nlines = mProvider->numUpdatedLines();
-  for ( int i = 0; i < nlines; i++ ) {
+  for ( unsigned int i = 0; i < nlines; i++ ) {
     int line = mProvider->updatedLine(i);
     std::cerr << "updated line = " << line << std::endl;
     if ( !(mProvider->lineAlive(line)) ) continue;
@@ -832,12 +835,12 @@
   }
 
   // Set nodes symbology from map
-  int nnodes = mProvider->numNodes(); 
+  unsigned int nnodes = mProvider->numNodes(); 
   if ( nnodes+1 >= mNodeSymb.size() )
     mNodeSymb.resize(nnodes+1000); 
 
   nnodes = mProvider->numUpdatedNodes(); 
-  for ( int i = 0; i < nnodes; i++ ) {
+  for ( unsigned int i = 0; i < nnodes; i++ ) {
     int node = mProvider->updatedNode(i);
     if ( !(mProvider->nodeAlive(node)) ) continue;
     mNodeSymb[node] = nodeSymbFromMap ( node );
@@ -961,10 +964,6 @@
   std::cerr << "QgsGrassEdit::close()" << std::endl;
 #endif
 
-  // grass edit tool would become invalid
-  // so change it to another one, e.g. pan tool
-  mQgisApp->pan();
-
   // Disconnect signals
   // Warning: it seems that slots (postRender) can be called even 
   //          after disconnect (is it a queue?) 
@@ -983,7 +982,7 @@
   // Add new layers
   if ( mNewMap )
   {
-     QString uri = QDir::cleanDirPath ( mProvider->getDataSourceUri() );
+     QString uri = QDir::cleanDirPath ( mProvider->dataSourceUri() );
      std::cerr << "uri = " << uri.ascii() << std::endl;
      // Note: QDir::cleanPath is using '/' also on Windows
      //QChar sep = QDir::separator();
@@ -1025,7 +1024,7 @@
 
   if ( mode == CAT_MODE_NEXT ) { // Find next not used
     QString c = "1"; // Default for new field
-    for (int i = 0; i < mMaxCats.size(); i++ ) {
+    for (unsigned int i = 0; i < mMaxCats.size(); i++ ) {
       if ( mMaxCats[i].field == field ) {
         c.sprintf("%d", mMaxCats[i].maxCat+1);
         break;
@@ -1054,7 +1053,7 @@
 
   if ( mode == CAT_MODE_NEXT ) { // Find next not used
     QString c = "1"; // Default for new field
-    for (int i = 0; i < mMaxCats.size(); i++ ) {
+    for (unsigned int i = 0; i < mMaxCats.size(); i++ ) {
       if ( mMaxCats[i].field == field ) {
         c.sprintf("%d", mMaxCats[i].maxCat+1);
         break;
@@ -1078,9 +1077,9 @@
     QString *key = mProvider->key ( field );
 
     if ( !key->isEmpty() ) { // Database link defined 
-      std::vector<QgsFeatureAttribute> *atts = mProvider->attributes ( field, cat );
+      QgsAttributeMap *atts = mProvider->attributes ( field, cat );
 
-      if ( atts->size() == 0 ) { // Nothing selected
+      if ( atts->count() == 0 ) { // Nothing selected
         QString *error = mProvider->insertAttributes ( field, cat );
 
         if ( !error->isEmpty() ) {
@@ -1107,7 +1106,7 @@
 
   if ( mode == CAT_MODE_NEXT || mode == CAT_MODE_MANUAL ) {
     int found = 0;
-    for (int i = 0; i < mMaxCats.size(); i++ ) {
+    for (unsigned int i = 0; i < mMaxCats.size(); i++ ) {
       if ( mMaxCats[i].field == field ) {
         if ( cat > mMaxCats[i].maxCat ) {
           mMaxCats[i].maxCat = cat;
@@ -1143,8 +1142,15 @@
 
   if ( mProjectionEnabled ) 
   {
-      p1 = mLayer->coordinateTransform()->transform(p1, QgsCoordinateTransform::INVERSE );
-      p2 = mLayer->coordinateTransform()->transform(p2, QgsCoordinateTransform::INVERSE );
+    try
+      {
+	p1 = mCanvas->mapRender()->outputCoordsToLayerCoords(mLayer, p1);
+	p2 = mCanvas->mapRender()->outputCoordsToLayerCoords(mLayer, p2);
+      }
+    catch(QgsCsException& cse)
+      {
+	//error
+      }
   }
 
   double dx = p2.x() - p1.x();
@@ -1188,8 +1194,9 @@
   if ( startDist <= thresh ) startIn = true;
 
   // Nearest node
-  double nodeX, nodeY;     
-  double nodeDist;
+  double nodeX = 0;
+  double  nodeY = 0;     
+  double nodeDist = 0;
   bool nodeIn = false;
   int node = mProvider->findNode ( x, y, thresh );
 
@@ -1354,12 +1361,12 @@
   }
   if ( !orphan ) return;
 
-  int ret = QMessageBox::question ( 0, tr("Warning"), 
+  QMessageBox::StandardButton ret = QMessageBox::question ( 0, tr("Warning"), 
 	     tr("Orphan record was left in attribute table. "
 	      "<br>Delete the record?"),  
-	      QMessageBox::Yes,  QMessageBox::No );
+	      QMessageBox::Ok | QMessageBox::Cancel );
 
-  if ( ret == QMessageBox::No ) return;
+  if ( ret == QMessageBox::Cancel ) return;
 
   // Delete record
   error = mProvider->deleteAttributes ( field, cat );
@@ -1395,26 +1402,25 @@
       str.setNum( field );
       QMessageBox::warning( 0, tr("Warning"), tr("Cannot describe table for field ") + str );
     } else {
-      std::vector<QgsFeatureAttribute> *atts = 
-        mProvider->attributes ( field, cat );
+      QgsAttributeMap *atts = mProvider->attributes ( field, cat );
 
       if ( atts->size() == 0 ) { // cannot select attributes
         mAttributes->addTextRow ( tab, "WARNING: ATTRIBUTES MISSING" );
       } else {
         int size;
-        if ( atts->size() < cols->size() )
+        if ( atts->size() < (int) cols->size() )
           size = atts->size();
         else
           size = cols->size();
 
-        for ( int j = 0; j < cols->size(); j++ ) {
+        for ( unsigned int j = 0; j < cols->size(); j++ ) {
           QgsField col = (*cols)[j];
-          QgsFeatureAttribute att = (*atts)[j];
+          QVariant att = (*atts)[j];
           std::cerr << " name = " << col.name().toLocal8Bit().data() <<  std::endl;
 
           if ( col.name() != *key ) {
-            std::cerr << " value = " << att.fieldValue().toLocal8Bit().data() <<  std::endl;
-            mAttributes->addAttribute ( tab, col.name(), att.fieldValue(), col.type() );
+            std::cerr << " value = " << att.toString().toLocal8Bit().data() <<  std::endl;
+            mAttributes->addAttribute ( tab, col.name(), att.toString(), col.typeName() );
           }
         }
       }
@@ -1445,7 +1451,7 @@
   QString *key = mProvider->key ( field );
 
   if ( !key->isEmpty() ) { // Database link defined 
-    std::vector<QgsFeatureAttribute> *atts = mProvider->attributes ( field, cat );
+    QgsAttributeMap *atts = mProvider->attributes ( field, cat );
 
     if ( atts->size() == 0 ) { // Nothing selected
       QString *error = mProvider->insertAttributes ( field, cat );
@@ -1542,7 +1548,10 @@
   painter->end();
   delete painter;
   
-  mCanvas->updateContents();
+  // porting mCanvas->update();
+  mCanvasEdit->update();
+  mRubberBandIcon->update();
+  mRubberBandLine->update();
 }
 
 void QgsGrassEdit::displayUpdated (void)
@@ -1579,7 +1588,10 @@
   painter->end();
   delete painter;
 
-  mCanvas->updateContents();
+  // porting mCanvas->update();
+  mCanvasEdit->update();
+  mRubberBandIcon->update();
+  mRubberBandLine->update();
 }
 
 void QgsGrassEdit::displayElement ( int line, const QPen & pen, int size, QPainter *painter)
@@ -1621,7 +1633,8 @@
 
   if ( !painter ) {
     myPainter->end();
-    mCanvas->updateContents();
+    // porting mCanvas->update();
+    mCanvasEdit->update();
     delete myPainter;
   }
 }
@@ -1723,38 +1736,13 @@
 
 QgsPoint QgsGrassEdit::transformLayerToCanvas ( QgsPoint point)
 {
-    if ( mProjectionEnabled && mLayer->coordinateTransform() )
-    {
-        try
-        {
-            point = mLayer->coordinateTransform()->transform(point);
-        }
-        catch(QgsCsException &cse)
-        {
-	    std::cout << "cannot transform point" << std::endl;
-        }
-
-    }
-    mTransform->transform(&point);
-    return point;
+  point = mCanvas->mapRender()->layerCoordsToOutputCoords(mLayer, point);
+  return mTransform->transform(point);
 }
 
 QgsPoint QgsGrassEdit::transformLayerToMap ( QgsPoint point)
 {
-    std::cout << "mProjectionEnabled = " << mProjectionEnabled << std::endl;
-    if ( mProjectionEnabled && mLayer->coordinateTransform() )
-    {
-        try
-        {
-            point = mLayer->coordinateTransform()->transform(point);
-        }
-        catch(QgsCsException &cse)
-        {
-	    std::cout << "cannot transform point" << std::endl;
-        }
-
-    }
-    return point;
+  return mCanvas->mapRender()->layerCoordsToOutputCoords(mLayer, point);
 }
 
 void QgsGrassEdit::displayIcon ( double x, double y, const QPen & pen, 
@@ -1818,7 +1806,8 @@
 
   if ( !painter ) {
     myPainter->end();
-    mCanvas->updateContents();
+    //mCanvas->update();
+    mCanvasEdit->update();
     delete myPainter;
   }
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedit.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,24 +17,24 @@
 #define QGSGRASSEDIT_H
 
 #include <vector>
-//Added by qt3to4:
-#include <QPixmap>
-#include <QCloseEvent>
-#include <QAction>
 
+#include <Q3PointArray>
+#include <QMainWindow>
+
+class QAction;
+class QPainter;
+class QPen;
+class QPixmap;
 class QString;
 class QCloseEvent;
 
-#include <q3pointarray.h>
-#include <qcursor.h>
-#include <qpen.h>
-#include <qpainter.h>
 
-// Must be here, so that it is included to moc file
-#include "qgisapp.h"
 #include "qgspoint.h"
-#include "qgisiface.h"
-#include "qgsmaptopixel.h"
+
+class QgisInterface;
+class QgsMapCanvas;
+class QgsMapLayer;
+class QgsMapToPixel;
 class QgsRubberBand;
 class QgsVertexMarker;
 class QgsVectorLayer;
@@ -44,7 +44,6 @@
 
 class QgsGrassProvider;
 #include "ui_qgsgrasseditbase.h"
-#include <QMainWindow>
 #include "qgsgrassselect.h"
 
 // forward declaration of edit tools
@@ -116,10 +115,10 @@
     };
 
     //! Constructor
-    QgsGrassEdit ( QgisApp *qgisApp, QgisIface *iface, 
+    QgsGrassEdit ( QgisInterface *iface, 
 	           QWidget * parent = 0, Qt::WFlags f = 0 );
 
-    QgsGrassEdit ( QgisApp *qgisApp, QgisIface *iface, 
+    QgsGrassEdit ( QgisInterface *iface, 
                    QgsGrassProvider *provider,
 	           QWidget * parent = 0, Qt::WFlags f = 0 );
 
@@ -298,11 +297,8 @@
     //! Initialization complete
     bool mInited;
     
-    //! QGIS application
-    QgisApp *mQgisApp; 
-    
     //! Pointer to the QGIS interface object
-    QgisIface *mIface;
+    QgisInterface *mIface;
 
     //! Pointer to canvas 
     QgsMapCanvas *mCanvas;
@@ -448,9 +444,9 @@
     bool mProjectionEnabled;
 
     // Canvas items
+    QgsGrassEditLayer* mCanvasEdit;
     QgsRubberBand *mRubberBandLine;
     QgsVertexMarker *mRubberBandIcon;
-    QgsGrassEditLayer* mCanvasEdit;
     
     // edit tools are friend classes so they can
     // access proteced/private members of QgsGrassEdit

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedittools.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedittools.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassedittools.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,6 +14,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include "qgisinterface.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
@@ -99,7 +100,7 @@
     }
     else
     {
-        e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, line, e->mQgisApp );
+        e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, line, e->mIface->getMainWindow() );
     }
     for ( int i = 0; i < e->mCats->n_cats; i++ ) {
       e->addAttributes ( e->mCats->field[i], e->mCats->cat[i] );
@@ -199,7 +200,7 @@
 	}
 	else
 	{
-	    e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, line, e->mQgisApp );
+      e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, line, e->mIface->getMainWindow() );
 	}
         for ( int i = 0; i < e->mCats->n_cats; i++ ) {
           e->addAttributes ( e->mCats->field[i], e->mCats->cat[i] );
@@ -813,7 +814,7 @@
 
     if ( !e->mAttributes ) 
     {
-        e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, e->mSelectedLine, e->mQgisApp );
+      e->mAttributes = new QgsGrassAttributes ( e, e->mProvider, e->mSelectedLine, e->mIface->getMainWindow() );
     }
     else
     {

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -45,13 +45,13 @@
 #include <QToolBar>
 
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
 #include "qgsdataprovider.h"
 #include "qgsfield.h"
-#include "qgsfeatureattribute.h"
 
 extern "C" {
 #include <grass/gis.h>
@@ -68,12 +68,12 @@
 
 QgsGrassMapcalc::QgsGrassMapcalc ( 
            QgsGrassTools *tools, QgsGrassModule *module,
-           QgisApp *qgisApp, QgisIface *iface, 
+           QgisInterface *iface, 
            QWidget * parent, const char * name, Qt::WFlags f )
        : QMainWindow(0,Qt::WType_Dialog),
-         QgsGrassModuleOptions( tools, module, qgisApp, iface),
          QgsGrassMapcalcBase ( ),
-	 mObject(0), mConnector(0), mTool(-1)
+         QgsGrassModuleOptions( tools, module, iface),
+	 mTool(-1), mObject(0), mConnector(0)
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassMapcalc()" << std::endl;
@@ -230,7 +230,7 @@
     mFunctions.push_back(QgsGrassMapcalcFunction( t, "x", 0, tr("Current x-coordinate of moving window" )));
     mFunctions.push_back(QgsGrassMapcalcFunction( t, "y", 0, tr("Current y-coordinate of moving window" )));
     
-    for ( int i =0; i < mFunctions.size(); i++ )
+    for ( unsigned int i =0; i < mFunctions.size(); i++ )
     {
         mFunctionComboBox->insertItem( mFunctions[i].label() 
 		      + "  " + mFunctions[i].description() );
@@ -687,7 +687,7 @@
 	case QgsGrassMapcalcObject::Map :
 	{
 	    bool found = false;
-	    for ( int i = 0 ; i < mMaps.size(); i++ ) 
+	    for ( unsigned int i = 0 ; i < mMaps.size(); i++ ) 
 	    { 
 		if ( mMapComboBox->text(i) == mObject->label()
 		     && mMaps[i] == mObject->value() )
@@ -710,7 +710,7 @@
 	    break;
 
 	case QgsGrassMapcalcObject::Function :
-	    for ( int i = 0; i < mFunctions.size(); i++ ) 
+	    for ( unsigned int i = 0; i < mFunctions.size(); i++ ) 
 	    {
 		if ( mFunctions[i].name() != mObject->function().name() ) continue;
 		if ( mFunctions[i].inputCount() != mObject->function().inputCount() ) continue;
@@ -1122,11 +1122,11 @@
 	// check if exists
 	if ( QFile::exists( mc+ "/" + name ) )
 	{
-	    int ret = QMessageBox::question ( 0, tr("Warning"), 
+	    QMessageBox::StandardButton ret = QMessageBox::question ( 0, tr("Warning"), 
 		        tr("The file already exists. Overwrite? "),  
-			QMessageBox::Yes,  QMessageBox::No );
+			QMessageBox::Ok | QMessageBox::Cancel );
 
-            if ( ret == QMessageBox::No ) continue;   
+            if ( ret == QMessageBox::Cancel ) continue;   
 	}
 	break;
     }
@@ -1339,7 +1339,7 @@
         if( e.isNull() ) continue;
 
 	std::cerr << "id = " << e.attribute("id","?").local8Bit().data() << std::endl;
-	int id = e.attribute("id","0").toInt();
+	unsigned int id = e.attribute("id","0").toInt();
 	int x = e.attribute("x","0").toInt();
 	int y = e.attribute("y","0").toInt();
 	QString typeName = e.attribute("type","constant");
@@ -1393,7 +1393,7 @@
 		int inputCount = e.attribute("inputCount","1").toInt();
 		// Find function
 		int fn = -1;
-		for ( int i = 0; i < mFunctions.size(); i++ ) 
+		for ( unsigned int i = 0; i < mFunctions.size(); i++ ) 
 		{
 	            if ( mFunctions[i].name() != value ) continue;
 	            if ( mFunctions[i].inputCount() != inputCount ) continue;
@@ -1419,7 +1419,7 @@
         if( e.isNull() ) continue;
 
 	std::cerr << "id = " << e.attribute("id","?").local8Bit().data() << std::endl;
-	int id = e.attribute("id","0").toInt();
+	unsigned int id = e.attribute("id","0").toInt();
 	if ( id >= mNextId ) mNextId = id+1;
 
 	QgsGrassMapcalcConnector *con = new QgsGrassMapcalcConnector ( mCanvas );
@@ -1446,7 +1446,7 @@
 	    std::cerr << "objId = " << objId << std::endl;
 	    if ( objId < 0 ) continue; // not connected 
 
-	    if ( objId < objects.size() && objects[objId] )
+	    if ( static_cast<uint>(objId) < objects.size() && objects[objId] )
 	    {
 	        QString socketTypeName = e2.attribute("socketType","out");
 		int socketType;
@@ -2130,9 +2130,9 @@
 QgsGrassMapcalcFunction::QgsGrassMapcalcFunction ( int type, QString name, 
 	  int count, QString description, QString label, QString labels,
           bool drawLabel ) :
-    	mType(type), mName(name), mInputCount(count), 
-    	mDescription(description),
-	mLabel(label), mDrawLabel(drawLabel)
+        mName(name), mType(type), mInputCount(count), 
+    	mLabel(label), mDescription(description),
+	mDrawLabel(drawLabel)
     
 {
     if ( mLabel.isEmpty() ) mLabel = mName;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmapcalc.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -39,9 +39,7 @@
 #include <q3process.h>
 #include <q3canvas.h>
 
-// Must be here, so that it is included to moc file
-#include "qgisapp.h"
-#include "qgisiface.h"
+class QgisInterface;
 
 class QgsGrassProvider;
 class QgsGrassTools;
@@ -67,7 +65,7 @@
     //! Constructor
     QgsGrassMapcalc ( 
             QgsGrassTools *tools, QgsGrassModule *module, 
-            QgisApp *qgisApp, QgisIface *iface,  
+            QgisInterface *iface,  
             QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 );
 
     //! Destructor
@@ -214,7 +212,7 @@
     QString mFileName;
 
     //! Item id
-    int mNextId;
+    unsigned int mNextId;
 
     //! Background
     Q3CanvasRectangle *mPaper;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodel.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodel.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodel.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -35,7 +35,6 @@
 
 #include "qgis.h"
 #include "qgsapplication.h"
-#include "qgsfeatureattribute.h" // TODO: remove - this is only for qgsgrassprovider.h
 
 extern "C" {
 #include <grass/gis.h>
@@ -95,7 +94,7 @@
 };
 
 QgsGrassModelItem::QgsGrassModelItem()
-     :mParent(0),mPopulated(false),mType(QgsGrassModel::None)
+    :mParent(0),mType(QgsGrassModel::None),mPopulated(false)
 {
 }
 
@@ -678,7 +677,7 @@
 	case QgsGrassModel::Regions:
 	  {
 	    QStringList list;
-	    int type;
+	    int type = 0; 
 	    if ( item->mType == QgsGrassModel::Vectors )
 	    {
 	        list = QgsGrass::vectors ( item->mGisbase, item->mLocation, 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -68,6 +68,7 @@
 #include <QUrl>
 
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaplayer.h"
@@ -77,13 +78,13 @@
 #include "qgsdataprovider.h"
 #include "qgsfield.h"
 #include "qgsfeature.h"
-#include "qgsfeatureattribute.h"
 
 extern "C" {
 #include <grass/gis.h>
 #include <grass/Vect.h>
 }
 
+
 #include "../../src/providers/grass/qgsgrass.h"
 #include "../../src/providers/grass/qgsgrassprovider.h"
 #include "qgsgrassattributes.h"
@@ -185,7 +186,7 @@
     return arguments;
 }
 
-QgsGrassModule::QgsGrassModule ( QgsGrassTools *tools, QString moduleName, QgisApp *qgisApp, QgisIface *iface, 
+QgsGrassModule::QgsGrassModule ( QgsGrassTools *tools, QString moduleName, QgisInterface *iface, 
 	                     QString path, QWidget * parent, const char * name, Qt::WFlags f )
              :QgsGrassModuleBase ( ), mSuccess(false)
 {
@@ -194,12 +195,9 @@
     #endif
 
     setupUi(this);
-    // set the module name
     lblModuleName->setText(tr("Module") + ": " + moduleName);
-
     mPath = path;
     mTools = tools;
-    mQgisApp = qgisApp;
     mIface = iface;
     mCanvas = mIface->getMapCanvas();
     mParent = parent;
@@ -264,7 +262,7 @@
         QGridLayout *layout = new QGridLayout ( mTabWidget->page(0), 1, 1 );
 
         mOptions = new QgsGrassMapcalc ( mTools, this,
-               mQgisApp, mIface, mTabWidget->page(0) );
+               mIface, mTabWidget->page(0) );
 
         QWidget *w = dynamic_cast<QWidget *>(mOptions);
         			
@@ -275,7 +273,7 @@
     else
     {
         mOptions = new QgsGrassModuleStandardOptions ( mTools, this,
-               mQgisApp, mIface, mXName, qDocElem, mTabWidget->page(0) );
+               mIface, mXName, qDocElem, mTabWidget->page(0) );
     }
 
     // Hide display if there is no output
@@ -315,7 +313,7 @@
 
 QgsGrassModuleOptions::QgsGrassModuleOptions ( 
            QgsGrassTools *tools, QgsGrassModule *module,
-           QgisApp *qgisApp, QgisIface *iface )
+           QgisInterface *iface )
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassModuleOptions()" << std::endl;
@@ -323,7 +321,6 @@
 
     mTools = tools;
     mModule = module;
-    mQgisApp = qgisApp;
     mIface = iface;
     mCanvas = mIface->getMapCanvas();
     //mAppDir = QgsApplication::applicationDirPath();
@@ -343,10 +340,10 @@
 
 QgsGrassModuleStandardOptions::QgsGrassModuleStandardOptions ( 
            QgsGrassTools *tools, QgsGrassModule *module,
-           QgisApp *qgisApp, QgisIface *iface, 
+           QgisInterface *iface, 
 	   QString xname, QDomElement qDocElem,
            QWidget * parent, const char * name, Qt::WFlags f )
-             :QgsGrassModuleOptions( tools, module, qgisApp, iface),
+             :QgsGrassModuleOptions( tools, module, iface),
               QWidget ( parent, name, f )
 {
     #ifdef QGISDEBUG
@@ -534,7 +531,7 @@
 {
     QStringList arg;
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	QStringList list = mItems[i]->options();
         
@@ -554,7 +551,7 @@
 	      << id.toLocal8Bit().data() << std::endl;
     #endif
         
-    for ( int i = 0; i < mItems.size(); i++ )
+    for ( unsigned int i = 0; i < mItems.size(); i++ )
     {
 	if ( mItems[i]->id() == id ) 
 	{
@@ -573,7 +570,7 @@
     #endif
     QStringList list;
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleOption) ) {
 	    continue;
@@ -603,7 +600,7 @@
     #endif
 
 #ifdef WIN32
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleOption) ) {
 	    continue;
@@ -634,7 +631,7 @@
 		QgsGrassProvider *provider = (QgsGrassProvider *) vector->getDataProvider();
 
 		// TODO add map() mapset() location() gisbase() to grass provider
-		QString source = QDir::cleanPath ( provider->getDataSourceUri() );
+		QString source = QDir::cleanPath ( provider->dataSourceUri() );
 		#ifdef QGISDEBUG
 		std::cerr << "source = " << source.ascii() << std::endl;
 		#endif
@@ -677,7 +674,7 @@
     #endif
 
 #ifdef WIN32
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleOption) ) {
 	    continue;
@@ -708,7 +705,7 @@
 		QgsGrassProvider *provider = (QgsGrassProvider *) vector->getDataProvider();
 
 		// TODO add map() mapset() location() gisbase() to grass provider
-		QString source = QDir::cleanPath ( provider->getDataSourceUri() );
+		QString source = QDir::cleanPath ( provider->dataSourceUri() );
 		#ifdef QGISDEBUG
 		std::cerr << "source = " << source.ascii() << std::endl;
 		#endif
@@ -751,7 +748,7 @@
     #endif
     QStringList list;
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleOption) ) {
 	    continue;
@@ -781,7 +778,7 @@
     #endif
     QStringList list;
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	QString err = mItems[i]->ready();
 	if ( !err.isNull() ) 
@@ -809,7 +806,7 @@
         return list;
     }
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleInput) ) {
 	    continue;
@@ -871,7 +868,7 @@
 
     int rasterCount = 0;
     int vectorCount = 0;
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleInput) ) {
 	    continue;
@@ -940,7 +937,7 @@
     std::cerr << "QgsGrassModuleStandardOptions::requestsRegion()" << std::endl;
     #endif
 
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) != typeid (QgsGrassModuleInput) ) {
 	    continue;
@@ -960,7 +957,7 @@
     std::cerr << "QgsGrassModuleStandardOptions::usesRegion()" << std::endl;
     #endif
  
-    for ( int i = 0; i < mItems.size(); i++ ) 
+    for ( unsigned int i = 0; i < mItems.size(); i++ ) 
     {
 	if ( typeid(*(mItems[i])) == typeid (QgsGrassModuleInput) )
         {
@@ -1088,7 +1085,7 @@
 
     // Get total width
     int width = 0;
-    for ( int i = 0; i < pixmaps.size(); i++ ) {
+    for ( unsigned int i = 0; i < pixmaps.size(); i++ ) {
 	width += pixmaps[i].width();
     }
 
@@ -1110,7 +1107,7 @@
     painter.setRenderHint(QPainter::Antialiasing);
     
     int pos = 0;
-    for ( int i = 0; i < pixmaps.size(); i++ ) {
+    for ( unsigned int i = 0; i < pixmaps.size(); i++ ) {
 	if ( i == 1 && pixmaps.size() == 3 ) { // +
 	    pos += buffer;
     
@@ -1188,26 +1185,19 @@
 	    QStringList outsideRegion = mOptions->checkRegion();
 	    if ( outsideRegion.size() > 0 )
 	    {
-                if  ( QgsGrass::versionMajor() >= 6 && QgsGrass::versionMinor() >= 1 )
-                {
-		    int ret = QMessageBox::question ( 0, tr("Warning"), 
-				  tr("Input ") + outsideRegion.join(",")
-				  + tr(" outside current region!"),  
-				tr("Use input region"), tr("Continue"), tr("Cancel") );
+	      QMessageBox::QMessageBox questionBox( QMessageBox::Question, "Warning", 
+	        "Input " + outsideRegion.join(",") + " outside current region!",  
+	        QMessageBox::Ok | QMessageBox::Cancel );
+	      QPushButton *resetButton = NULL;
+	      if  ( QgsGrass::versionMajor() > 6 || QgsGrass::versionMajor() == 6 && QgsGrass::versionMinor() >= 1 )
+	      {
+	        resetButton = questionBox.addButton(tr("Use Input Region"), QMessageBox::DestructiveRole);
+	      }
+	      questionBox.exec();
+	      QAbstractButton *clicked = questionBox.clickedButton();
+	      if ( clicked == questionBox.button(QMessageBox::Cancel) ) return;
+	      if ( clicked == resetButton ) resetRegion = true;
 
-		    if ( ret == 2 ) return;
-		    if ( ret == 0 ) resetRegion = true;
-                }
-                else 
-                {
-		    int ret = QMessageBox::question ( 0, tr("Warning"), 
-				  tr("Input ") + outsideRegion.join(",")
-				  + tr(" outside current region!"),  
-				  tr("Continue"), tr("Cancel") );
-
-		    if ( ret == 1 ) return;
-                }
-
                 if ( resetRegion ) 
                 {
 		    if ( !mOptions->inputRegion ( &tempWindow, true ) )
@@ -1224,12 +1214,12 @@
         QStringList outputExists = mOptions->checkOutput();
         if ( outputExists.size() > 0 )
         {
-            int ret = QMessageBox::question ( 0, tr("Warning"), 
-                          tr("Output ") + outputExists.join(",")
-                          + tr(" exists! Overwrite?"),  
-                          QMessageBox::Yes,  QMessageBox::No );
+            QMessageBox::StandardButton ret = QMessageBox::question ( 0, "Warning", 
+                          "Output " + outputExists.join(",")
+                          + " exists! Overwrite?",  
+                          QMessageBox::Ok | QMessageBox::Cancel );
 
-            if ( ret == QMessageBox::No ) return;
+            if ( ret == QMessageBox::Cancel ) return;
 
             // r.mapcalc does not use standard parser
             if ( typeid(*mOptions) != typeid(QgsGrassMapcalc) )
@@ -1474,11 +1464,11 @@
 	    mOutputTextBrowser->append ( rxmessage.cap(1) );
 	} else if ( rxwarning.search ( line ) != -1 ) {
 	    QString warn = rxwarning.cap(1);
-	    QString img = mAppDir + "/share/qgis/themes/default/grass/grass_module_warning.png";
+	    QString img = QgsApplication::pkgDataPath() + "/themes/default/grass/grass_module_warning.png";
 	    mOutputTextBrowser->append ( "<img src=\"" + img + "\">" + warn );
 	} else if ( rxerror.search ( line ) != -1 ) {
 	    QString error = rxerror.cap(1);
-	    QString img = mAppDir + "/share/qgis/themes/default/grass/grass_module_error.png";
+	    QString img = QgsApplication::pkgDataPath() + "/themes/default/grass/grass_module_error.png";
 	    mOutputTextBrowser->append ( "<img src=\"" + img + "\">" + error );
 	} else if ( rxend.search ( line ) != -1 ) {
 	    // Do nothing
@@ -1559,8 +1549,7 @@
     }
 }
 
-QgisIface *QgsGrassModule::qgisIface() { return mIface; }
-QgisApp *QgsGrassModule::qgisApp() { return mQgisApp; }
+QgisInterface *QgsGrassModule::qgisIface() { return mIface; }
 
 QgsGrassModule::~QgsGrassModule()
 {
@@ -1603,7 +1592,7 @@
 	                                   QWidget * parent)
                     : QGroupBox ( parent ),
                       QgsGrassModuleItem ( module, key, qdesc, gdesc, gnode ),
-	mIsOutput(false), mValueType(String), mHaveLimits(false), mOutputType(None), mControlType(NoControl)
+	mControlType(NoControl), mValueType(String), mOutputType(None), mHaveLimits(false), mIsOutput(false)
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassModuleOption::QgsGrassModuleOption" << std::endl;
@@ -1902,7 +1891,7 @@
     QString value;
 
     if ( mControlType == LineEdit ) {
-	for ( int i = 0; i < mLineEdits.size(); i++ ) 
+	for ( unsigned int i = 0; i < mLineEdits.size(); i++ ) 
 	{
 	    QLineEdit *lineEdit = mLineEdits.at(i);
 	    if( lineEdit->text().trimmed().length() > 0 )
@@ -1919,7 +1908,7 @@
     else if ( mControlType == CheckBoxes ) 
     {
 	int cnt = 0;
-	for ( int i = 0; i < mCheckBoxes.size(); i++ ) {
+	for ( unsigned int i = 0; i < mCheckBoxes.size(); i++ ) {
 	    if ( mCheckBoxes[i]->isChecked() ) {
 		if ( cnt > 0 ) value.append ( "," );
 		value.append ( mValues[i] );
@@ -2004,8 +1993,8 @@
                     : QGroupBox ( parent ),
                       QgsGrassModuleItem ( module, key, qdesc, gdesc, gnode ),
 		      mModuleStandardOptions(options),
-		      mUpdate(false), mVectorTypeOption(0), mVectorLayerOption(0),
-		      mRegionButton(0)
+		      mVectorTypeOption(0), mVectorLayerOption(0),  
+                      mRegionButton(0), mUpdate(false)
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassModuleInput::QgsGrassModuleInput" << std::endl;
@@ -2054,7 +2043,7 @@
 		}
 		else
 		{
-		    mVectorTypeMask = 0; GV_POINT | GV_LINE | GV_AREA;
+		    mVectorTypeMask = 0; //GV_POINT | GV_LINE | GV_AREA;
 		    
 		    QDomElement valuesElem = valuesNode.toElement();
 		    QDomNode valueNode = valuesElem.firstChild();
@@ -2268,7 +2257,7 @@
 	    }
 
 	    // TODO add map() mapset() location() gisbase() to grass provider
-	    QString source = QDir::cleanPath ( provider->getDataSourceUri() );
+	    QString source = QDir::cleanPath ( provider->dataSourceUri() );
             #ifdef QGISDEBUG
             std::cerr << "source = " << source.ascii() << std::endl;
             #endif
@@ -2336,7 +2325,12 @@
 
 	    mMapLayers.push_back ( vector );
 	    mVectorLayerNames.push_back ( grassLayer );
-            std::vector<QgsField> fields = vector->fields();
+            
+            // convert from QgsFieldMap to std::vector<QgsField>
+            QgsFieldMap flds = vector->getDataProvider()->fields();
+            std::vector<QgsField> fields;
+            for (QgsFieldMap::iterator it = flds.begin(); it != flds.end(); ++it)
+              fields.push_back(it.value());
 	    mVectorFields.push_back ( fields );
 	} 
 	else if ( mType == Raster && layer->type() == QgsMapLayer::RASTER ) 
@@ -2386,8 +2380,12 @@
     QStringList list;
     QString opt;
 
-    int current = mLayerComboBox->currentItem();
+    int c = mLayerComboBox->currentItem();
+    if (c < 0) // not found 
+      return list;
 
+    unsigned current = c;
+
     // TODO: this is hack for network nodes, do it somehow better
     if ( mMapId.isEmpty() )
     {
@@ -2422,8 +2420,12 @@
 
     std::vector<QgsField> fields;
     
-    int current = mLayerComboBox->currentItem();
+    int c = mLayerComboBox->currentItem();
+    if (c < 0)
+      return fields;
 
+    unsigned current = c;
+
     if ( current >= 0 && current <  mVectorFields.size() ) 
     {
 	fields = mVectorFields[current];
@@ -2438,8 +2440,12 @@
     std::cerr << "QgsGrassModuleInput::currentLayer" << std::endl;
     #endif
 
-    int current = mLayerComboBox->currentItem();
+    int c = mLayerComboBox->currentItem();
+    if (c < 0)
+      return 0;
 
+    unsigned int current = c;
+
     if ( current >= 0 && current <  mMapLayers.size() ) 
     {
 	return mMapLayers[current];
@@ -2454,8 +2460,12 @@
     std::cerr << "QgsGrassModuleInput::currentMap" << std::endl;
     #endif
 
-    int current = mLayerComboBox->currentItem();
+    int c = mLayerComboBox->currentItem();
+    if (c < 0)
+      return QString();
 
+    unsigned int current = c;
+
     if ( current >= 0 && current <  mMaps.size() ) 
     {
 	return mMaps[current];
@@ -2493,9 +2503,9 @@
 
 QgsGrassModuleItem::QgsGrassModuleItem( QgsGrassModule *module, QString key,
 	 				QDomElement &qdesc, QDomElement &gdesc, QDomNode &gnode )
-	:mKey(key),
-	mHidden(false), 
-	mModule(module)
+        :mModule(module),
+         mKey(key),
+         mHidden(false)
 { 
     //mAnswer = qdesc.attribute("answer", "");
 
@@ -2631,24 +2641,24 @@
             if ( vector->providerType() == "postgres" ) 
             {
                 // Construct OGR DSN
-                QgsDataSourceURI *dsUri = provider->getURI();
-                uri = "PG:host=" + dsUri->host 
-                      + " dbname=" + dsUri->database; 
+                QgsDataSourceURI dsUri(provider->dataSourceUri());
+                uri = "PG:host=" + dsUri.host 
+                      + " dbname=" + dsUri.database; 
 
-                if ( dsUri->port.length() > 0 ) 
-		    uri += " port=" + dsUri->port;
+                if ( dsUri.port.length() > 0 ) 
+		    uri += " port=" + dsUri.port;
 
-                if ( dsUri->username.length() > 0 ) 
-		    uri += " user=" + dsUri->username;
+                if ( dsUri.username.length() > 0 ) 
+		    uri += " user=" + dsUri.username;
 
-                if ( dsUri->password.length() > 0 ) 
-		    uri += " password=" + dsUri->password;
+                if ( dsUri.password.length() > 0 ) 
+		    uri += " password=" + dsUri.password;
 
-                ogrLayer = dsUri->schema + "." + dsUri->table;
+                ogrLayer = dsUri.schema + "." + dsUri.table;
             }
             else
             {
-	        uri = provider->getDataSourceUri();
+	        uri = provider->dataSourceUri();
                 ogrLayer = "";
             }
 
@@ -2676,8 +2686,12 @@
 {
     QStringList list;
 
-    int current = mLayerComboBox->currentItem();
+    int c = mLayerComboBox->currentItem();
+    if (c < 0)
+      return list;
 
+    unsigned int current = c;
+
     QString opt(mKey + "=");
 
     if ( current >=0 && current <  mUri.size() ) {
@@ -2788,13 +2802,13 @@
     QString current = mFieldComboBox->currentText ();
     mFieldComboBox->clear();
 
-    QgsMapCanvas *canvas = mModule->qgisIface()->getMapCanvas();
+    //QgsMapCanvas *canvas = mModule->qgisIface()->getMapCanvas();
 
     if ( mLayerInput == 0 ) return;
 
     std::vector<QgsField> fields = mLayerInput->currentFields();
 
-    for ( int i = 0; i < fields.size(); i++ )
+    for ( unsigned int i = 0; i < fields.size(); i++ )
     {
 	if ( mType.contains ( fields[i].type() ) )
 	{
@@ -2877,7 +2891,7 @@
     #endif
 
     mLineEdit->setText("");
-    QgsMapCanvas *canvas = mModule->qgisIface()->getMapCanvas();
+    //QgsMapCanvas *canvas = mModule->qgisIface()->getMapCanvas();
     if ( mLayerInput == 0 ) return;
 
     QgsMapLayer *layer = mLayerInput->currentLayer();
@@ -2885,24 +2899,29 @@
     QgsVectorLayer *vector = dynamic_cast<QgsVectorLayer*>(layer);
 	    
     QgsGrassProvider *provider = (QgsGrassProvider *) vector->getDataProvider();
+    QgsAttributeList allAttributes = provider->allAttributesList();
+    const QgsFeatureIds& selected = vector->selectedFeaturesIds();
     int keyField = provider->keyField();
 
     if ( keyField < 0 ) return;
     
     QString cats;
-    QgsFeature *feature = vector->getFirstFeature(true, true);
+    provider->select(allAttributes, QgsRect(), true);
+    QgsFeature feature;
 
     int i = 0;
-    while ( feature )
+    while ( provider->getNextFeature(feature) )
     {
-	std::vector<QgsFeatureAttribute> attr = feature->attributeMap();
-	if ( attr.size() > keyField )
-	{
-	    if ( i > 0 ) cats.append( "," );
-	    cats.append( attr[keyField].fieldValue() );
-	    i++;
-	}
-        feature = vector->getNextFeature(true, true);
+      if (!selected.contains(feature.featureId()))
+          continue;
+      
+      QgsAttributeMap attr = feature.attributeMap();
+      if ( attr.size() > keyField )
+      {
+          if ( i > 0 ) cats.append( "," );
+          cats.append( attr[keyField].toString() );
+          i++;
+      }
     }
     if ( mVectorLayer != vector ) 
     {

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassmodule.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -3,7 +3,7 @@
 #include <QCloseEvent>
 #include <Q3Frame>
 /***************************************************************************
-                              qgsgrasstools.h 
+                              qgsgrassmodule.h 
                              -------------------
     begin                : March, 2005
     copyright            : (C) 2005 by Radim Blazek
@@ -43,9 +43,9 @@
 #include <QProcess>
 
 // Must be here, so that it is included to moc file
-#include "qgisapp.h"
-#include "qgisiface.h"
 #include "qgsvectorlayer.h"
+class QgisInterface;
+class QgsMapCanvas;
 
 class QgsGrassProvider;
 class QgsGrassTools;
@@ -64,7 +64,7 @@
 
 public:
     //! Constructor
-    QgsGrassModule ( QgsGrassTools *tools, QString moduleName, QgisApp *qgisApp, QgisIface *iface,  
+    QgsGrassModule ( QgsGrassTools *tools, QString moduleName, QgisInterface *iface,  
 	           QString path, QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 );
 
     //! Destructor
@@ -82,11 +82,8 @@
     static QDomNode nodeByKey ( QDomElement gDocElem, QString key );
 
     //! Returns pointer to QGIS interface 
-    QgisIface *qgisIface();
+    QgisInterface *qgisIface();
 
-    //! Returns pointer to QGIS application
-    QgisApp *qgisApp();
-
     // ! Options widget 
     QgsGrassModuleOptions *options() { return mOptions; }
 
@@ -130,11 +127,8 @@
     void readStderr();
 
 private:
-    //! QGIS application
-    QgisApp *mQgisApp;
-
     //! Pointer to the QGIS interface object
-    QgisIface *mIface;
+    QgisInterface *mIface;
 
     //! Pointer to canvas
     QgsMapCanvas *mCanvas;
@@ -183,7 +177,7 @@
     //! Constructor
     QgsGrassModuleOptions ( 
             QgsGrassTools *tools, QgsGrassModule *module, 
-            QgisApp *qgisApp, QgisIface *iface ); 
+            QgisInterface *iface ); 
 
     //! Destructor
     virtual ~QgsGrassModuleOptions();
@@ -229,11 +223,8 @@
     virtual QStringList flagNames() { return QStringList() ; }
 
 protected:
-    //! QGIS application
-    QgisApp *mQgisApp;
-
     //! Pointer to the QGIS interface object
-    QgisIface *mIface;
+    QgisInterface *mIface;
 
     //! Pointer to canvas
     QgsMapCanvas *mCanvas;
@@ -261,7 +252,7 @@
     //! Constructor
     QgsGrassModuleStandardOptions ( 
             QgsGrassTools *tools, QgsGrassModule *module, 
-            QgisApp *qgisApp, QgisIface *iface,  
+            QgisInterface *iface,  
 	    QString xname, QDomElement docElem,
             QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 );
 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,4 @@
+
 /***************************************************************************
     qgsgrassnewmapset.cpp  - New GRASS mapset wizard
                                -------------------
@@ -47,20 +48,20 @@
 #include <Q3Wizard>
 
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgsmapcanvas.h"
 #include "qgsproject.h"
 #include "qgsrect.h"
 #include "qgscoordinatetransform.h"
 #include "qgsspatialrefsys.h"
-#include "../../src/widgets/projectionselector/qgsprojectionselector.h"
+#include "qgsprojectionselector.h"
 
 #include "../../src/providers/grass/qgsgrass.h"
 #include "qgsgrassnewmapset.h"
 
 // For bug in GPJ_osr_to_grass()
 #include "grass/version.h"
-
 // Prevents some compiler warnings from the version.h include
 #ifndef GRASS_VERSION_RELEASE
 // When using newer version of GRASS (cvs >= 26.4.2007),
@@ -73,7 +74,7 @@
 
 bool QgsGrassNewMapset::mRunning = false;
 
-QgsGrassNewMapset::QgsGrassNewMapset ( QgisApp *qgisApp, QgisIface *iface, 
+QgsGrassNewMapset::QgsGrassNewMapset ( QgisInterface *iface, 
 	QgsGrassPlugin *plugin, QWidget * parent, 
         const char * name, Qt::WFlags f ):
         Q3Wizard(parent, name, false, f),
@@ -86,7 +87,6 @@
     setupUi(this);
 
     mRunning = true;
-    mQgisApp = qgisApp;
     mIface = iface;
     mProjectionSelector = 0;
     mPreviousPage = -1;
@@ -237,7 +237,7 @@
     // database is writable
     bool locationExists = false;
     QDir d ( mDatabaseLineEdit->text() );
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
 	if ( d[i] == "." || d[i] == ".." ) continue; 
 
@@ -290,7 +290,7 @@
     // Add all subdirs containing PERMANENT/DEFAULT_WIND
     int idx = 0;
     int sel = -1;
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
 	if ( d[i] == "." || d[i] == ".." ) continue; 
 
@@ -363,7 +363,7 @@
         {
 	    QDir d ( mDatabaseLineEdit->text() );
 
-	    for ( int i = 0; i < d.count(); i++ ) 
+	    for ( unsigned int i = 0; i < d.count(); i++ ) 
 	    {
 		if ( d[i] == "." || d[i] == ".." ) continue; 
 		
@@ -639,7 +639,7 @@
         mRegionButton->show();
         mSetRegionFrame->show();
 
-	QgsRect ext = mQgisApp->getMapCanvas()->extent();
+	QgsRect ext = mIface->getMapCanvas()->extent();
 
 	if ( ext.xMin() >= ext.xMax() || ext.yMin() >= ext.yMax() )
 	{
@@ -668,7 +668,7 @@
     std::cerr << "current project srsid = " << srsid << std::endl;
 #endif
         
-    QgsRect ext = mQgisApp->getMapCanvas()->extent();
+    QgsRect ext = mIface->getMapCanvas()->extent();
     bool extSet = false;
     if ( ext.xMin() < ext.xMax() && ext.yMin() < ext.yMax() )
     {
@@ -791,13 +791,7 @@
     std::cerr << "QgsGrassNewMapset::loadRegions()" << std::endl;
 #endif
 
-#if defined(WIN32) || defined(Q_OS_MACX)
-    QString appDir = qApp->applicationDirPath();
-#else
-    QString appDir = PREFIX;
-#endif
-
-    QString path = appDir + "/share/qgis/grass/locations.gml";
+    QString path = QgsApplication::pkgDataPath() + "/grass/locations.gml";
 #ifdef QGISDEBUG
     std::cerr << "load:" << path.local8Bit().data() << std::endl;
 #endif
@@ -1005,7 +999,7 @@
     std::cerr << "QgsGrassNewMapset::setCurrentRegion()" << std::endl;
 #endif
 
-    QgsRect ext = mQgisApp->getMapCanvas()->extent();
+    QgsRect ext = mIface->getMapCanvas()->extent();
 
     int srsid = QgsProject::instance()->readNumEntry(
 	   "SpatialRefSys","/ProjectSRSID",0);
@@ -1247,7 +1241,7 @@
 
     // Add all subdirs containing WIND
     Q3ListViewItem *lvi;
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
 	if ( d[i] == "." || d[i] == ".." ) continue; 
 
@@ -1287,7 +1281,7 @@
 	QString locationPath = mDatabaseLineEdit->text() + "/" + mLocationComboBox->currentText();
 	QDir d ( locationPath );
 
-	for ( int i = 0; i < d.count(); i++ ) 
+	for ( unsigned int i = 0; i < d.count(); i++ ) 
 	{
 	    if ( d[i] == "." || d[i] == ".." ) continue; 
 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapset.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -26,11 +26,10 @@
 #include <qlabel.h>
 
 // Must be here, so that it is included to moc file
-#include "qgisapp.h"
-#include "qgisiface.h"
 #include "qgspoint.h"
 #include "qgsspatialrefsys.h"
 #include "qgsprojectionselector.h"
+class QgisInterface;
 
 class QgsGrassProvider;
 #include "qgsgrassplugin.h"
@@ -65,7 +64,7 @@
     	      };
     
     //! Constructor
-    QgsGrassNewMapset ( QgisApp *qgisApp, QgisIface *iface,
+    QgsGrassNewMapset ( QgisInterface *iface,
                    QgsGrassPlugin *plugin, 
           QWidget * parent = 0, const char * name = "", Qt::WFlags f = 0 );
 
@@ -191,11 +190,8 @@
     //! Set error line
     void setError ( QLabel *line, const QString &err ); 
 private:
-    //! QGIS application
-    QgisApp *mQgisApp; 
-    
     //! Pointer to the QGIS interface object
-    QgisIface *mIface;
+    QgisInterface *mIface;
 
     //! Plugin
     QgsGrassPlugin *mPlugin;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapsetbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapsetbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassnewmapsetbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -23,7 +23,7 @@
   <property name="focusPolicy" >
    <enum>Qt::TabFocus</enum>
   </property>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage1" >
    <property name="geometry" >
     <rect>
      <x>0</x>
@@ -478,7 +478,7 @@
     </item>
    </layout>
   </widget>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage2" >
    <property name="geometry" >
     <rect>
      <x>0</x>
@@ -864,7 +864,7 @@
     </item>
    </layout>
   </widget>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage3" >
    <property name="geometry" >
     <rect>
      <x>0</x>
@@ -1226,7 +1226,7 @@
     </item>
    </layout>
   </widget>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage4" >
    <property name="geometry" >
     <rect>
      <x>0</x>
@@ -1669,7 +1669,7 @@
     </item>
    </layout>
   </widget>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage5" >
    <property name="geometry" >
     <rect>
      <x>0</x>
@@ -2117,7 +2117,7 @@
     </item>
    </layout>
   </widget>
-  <widget class="QWidget" name="WizardPage" >
+  <widget class="QWidget" name="WizardPage6" >
    <property name="geometry" >
     <rect>
      <x>0</x>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,18 +13,15 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: qgsgrassplugin.cpp 6917 2007-04-28 04:18:31Z gsherman $ */
+/*  $Id: qgsgrassplugin.cpp 6937 2007-05-08 01:56:36Z gsherman $ */
 
 // includes
-#include "qgisapp.h"
 #include "qgsmaplayer.h"
-#include "qgslegend.h"
-#include "qgisiface.h"
+#include "qgisinterface.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
 #include "qgsdataprovider.h"
-#include "qgsfeatureattribute.h"
 #include "qgsproviderregistry.h"
 #include <qgsrasterlayer.h>
 
@@ -89,8 +86,8 @@
  * @param theQGisApp Pointer to the QGIS main window
  * @param theQgisInterFace Pointer to the QGIS interface object
  */
-QgsGrassPlugin::QgsGrassPlugin(QgisApp * theQGisApp, QgisIface * theQgisInterFace):
-  mQgis(theQGisApp), qGisInterface(theQgisInterFace)
+QgsGrassPlugin::QgsGrassPlugin(QgisInterface * theQgisInterFace):
+  qGisInterface(theQgisInterFace)
 {
   /** Initialize the plugin and set the required attributes */
   pluginNameQString = tr("GrassVector");
@@ -147,14 +144,15 @@
   QgsGrass::init();
 
   mCanvas = qGisInterface->getMapCanvas();
+  QWidget* qgis = qGisInterface->getMainWindow();
 
   // Connect project
-  connect( mQgis, SIGNAL( projectRead() ), this, SLOT( projectRead()));
-  connect( mQgis, SIGNAL( newProject() ), this, SLOT(newProject()));
+  connect( qgis, SIGNAL( projectRead() ), this, SLOT( projectRead()));
+  connect( qgis, SIGNAL( newProject() ), this, SLOT(newProject()));
 
   // Create region rubber band
   mRegionBand = new QgsRubberBand(mCanvas, 1);
-  mRegionBand->setZ(20);
+  mRegionBand->setZValue(20);
 
   // Create the action for tool
   mOpenMapsetAction = new QAction(QIcon(icon_open_mapset), tr("Open mapset"), this );
@@ -210,7 +208,7 @@
   qGisInterface->addPluginMenu(tr("&GRASS"), mNewVectorAction);
 
   // Add the toolbar to the main window
-  toolBarPointer = mQgis->addToolBar(tr("GRASS")); 
+  toolBarPointer = qGisInterface->addToolBar(tr("GRASS")); 
   toolBarPointer->setIconSize(QSize(24,24));
   toolBarPointer->setObjectName("GRASS");
 
@@ -426,7 +424,7 @@
 void QgsGrassPlugin::openTools()
 {
   if ( !mTools ) { 
-      mTools = new QgsGrassTools ( mQgis, qGisInterface, mQgis, 0, Qt::WType_Dialog );
+      mTools = new QgsGrassTools ( qGisInterface, qGisInterface->getMainWindow(), 0, Qt::WType_Dialog );
     
       std::cout << "connect = " <<
       connect( mTools, SIGNAL( regionChanged() ), this, SLOT( redrawRegion()) )
@@ -446,7 +444,7 @@
   }
 
   mEditAction->setEnabled(false);
-  QgsGrassEdit *ed = new QgsGrassEdit( mQgis, qGisInterface, mQgis, Qt::WType_Dialog );
+  QgsGrassEdit *ed = new QgsGrassEdit( qGisInterface, qGisInterface->getMainWindow(), Qt::WType_Dialog );
 
   if ( ed->isValid() ) {
     ed->show();
@@ -534,9 +532,8 @@
         return;
     }
 
-    QgsGrassEdit *ed = new QgsGrassEdit( mQgis, 
-               qGisInterface, provider, mQgis, 
-               Qt::WType_Dialog );
+    QgsGrassEdit *ed = new QgsGrassEdit(qGisInterface, provider, 
+               qGisInterface->getMainWindow(), Qt::WType_Dialog );
 
     if ( ed->isValid() ) {
         ed->show();
@@ -647,8 +644,7 @@
   }
 
   // Warning: don't use Qt::WType_Dialog, it would ignore restorePosition
-  mRegion = new QgsGrassRegion(this, mQgis, qGisInterface, 
-      mQgis, Qt::Window );
+  mRegion = new QgsGrassRegion(this, qGisInterface, qGisInterface->getMainWindow(), Qt::Window );
 
   connect ( mRegion, SIGNAL(destroyed(QObject *)), this, SLOT( regionClosed() ));
 
@@ -724,9 +720,8 @@
 {
     if ( !QgsGrassNewMapset::isRunning() )
     {
-        mNewMapset = new QgsGrassNewMapset ( 
-	                    mQgis, qGisInterface, 
-                            this, mQgis );
+        mNewMapset = new QgsGrassNewMapset ( qGisInterface, 
+                            this, qGisInterface->getMainWindow() );
     }
     mNewMapset->show();
     mNewMapset->raise();
@@ -831,9 +826,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-extern "C" QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+extern "C" QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsGrassPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsGrassPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,17 +13,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsgrassplugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: qgsgrassplugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSGRASSPLUGIN_H
 #define QGSGRASSPLUGIN_H
 #include "../qgisplugin.h"
 #include <qwidget.h>
 #include <qpen.h>
 
-#include "qgisapp.h"
 
 #include <vector>
 
+class QgisInterface;
+class QgsMapCanvas;
 class QgsRubberBand;
 
 class QgsGrassTools;
@@ -39,12 +40,11 @@
 {
 Q_OBJECT public:
       /** 
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+       * Constructor for a plugin. The QgisInterface pointer is passed by 
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object. 
+       * @param qI Pointer to the QgisInterface object. 
        */
-      QgsGrassPlugin(QgisApp * , QgisIface * );
+      QgsGrassPlugin(QgisInterface * qI);
   /**
    * Virtual function to return the name of the plugin. The name will be used when presenting a list 
    * of installable plugins to the user
@@ -126,10 +126,8 @@
   int pluginType;
   //! Pointer to our toolbar
   QToolBar *toolBarPointer;
-  //! Pionter to QGIS main application object
-  QgisApp *mQgis;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to canvas
   QgsMapCanvas *mCanvas;
 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -44,10 +44,9 @@
 
 #include <qgsrasterlayer.h>
 #include "qgis.h"
-#include "qgisapp.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
-#include "qgisiface.h"
+#include "qgisinterface.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaptool.h"
 #include "qgsmaptopixel.h"
@@ -143,7 +142,7 @@
 
 
 
-QgsGrassRegion::QgsGrassRegion ( QgsGrassPlugin *plugin,  QgisApp *qgisApp, QgisIface *iface,
+QgsGrassRegion::QgsGrassRegion ( QgsGrassPlugin *plugin,  QgisInterface *iface,
         QWidget * parent, Qt::WFlags f ) 
         :QDialog(parent, f), QgsGrassRegionBase ( )
 {
@@ -154,7 +153,6 @@
     setupUi(this);
 
     mPlugin = plugin;
-    mQgisApp = qgisApp;
     mInterface = iface;
     mCanvas = mInterface->getMapCanvas();
     restorePosition();
@@ -399,8 +397,6 @@
     std::cerr << "QgsGrassRegion::draw()" << std::endl;
     #endif
 
-    double n, s, e, w;
-
     if ( x1 < x2 ) {
         mWindow.west = x1;
 	mWindow.east = x2; 
@@ -470,14 +466,14 @@
     }
 
     saveWindowLocation();
-    mQgisApp->pan(); // change to pan tool
+    mCanvas->setMapTool(NULL);
     delete this;
 }
 
 void QgsGrassRegion::reject()
 {
     saveWindowLocation();
-    mQgisApp->pan(); // change to pan tool
+    mCanvas->setMapTool(NULL);
     delete this;
 }
 

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassregion.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -20,8 +20,7 @@
 
 class QgsGrassProvider;
 class QgsGrassPlugin;
-class QgisApp;
-class QgisIface;
+class QgisInterface;
 class QgsMapCanvas;
 class Q3ButtonGroup;
 class QgsPoint;
@@ -44,7 +43,7 @@
 
 public:
     //! Constructor
-    QgsGrassRegion ( QgsGrassPlugin *plugin, QgisApp *qgisApp, QgisIface *iface, 
+    QgsGrassRegion ( QgsGrassPlugin *plugin, QgisInterface *iface, 
 	             QWidget * parent = 0, Qt::WFlags f = 0 );
 
     //! Destructor
@@ -92,11 +91,8 @@
     //! Pointer to plugin 
     QgsGrassPlugin *mPlugin;
 
-    //! Pointer to vector provider 
-    QgisApp *mQgisApp;
-
     //! Pointer to QGIS interface
-    QgisIface *mInterface;
+    QgisInterface *mInterface;
 
     //! Pointer to canvas
     QgsMapCanvas *mCanvas;

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassselect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -110,7 +110,7 @@
   
   QSettings settings;
   int ww = settings.readNumEntry("/GRASS/windows/select/w", 500);
-  int wh = settings.readNumEntry("/GRASS/windows/select/h", 100);
+  //int wh = settings.readNumEntry("/GRASS/windows/select/h", 100);
   int wx = settings.readNumEntry("/GRASS/windows/select/x", 100);
   int wy = settings.readNumEntry("/GRASS/windows/select/y", 100);
   resize(ww,height());

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsgrassshell.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:06:10 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 #include <vector>
 
@@ -24,6 +38,8 @@
 #include <qfontmetrics.h>
 #include <q3progressbar.h>
 
+#include "qgsapplication.h"
+
 #include "qgsgrassshell.h"
 //Added by qt3to4:
 #include <QGridLayout>
@@ -35,9 +51,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
+
 #ifndef WIN32
 #ifdef Q_OS_MACX
-#include "/usr/include/util.h"
+#include <util.h>
 #else
 #ifdef __NetBSD__
 #include <util.h>
@@ -61,856 +78,856 @@
 
 QgsGrassShell::QgsGrassShell ( QgsGrassTools *tools, 
     QWidget * parent, const char * name  ):
-    QDialog(parent), QgsGrassShellBase(), mTools(tools)
+QDialog(parent), QgsGrassShellBase(), mTools(tools)
 {
-    mValid = false;
-    mSkipLines = 2;
+  mValid = false;
+  mSkipLines = 2;
 
 #ifdef WIN32
-    QMessageBox::warning( 0, tr("Warning"), 
-              tr("GRASS Shell is not supported on Windows.") );
-    return;
+  QMessageBox::warning( 0, "Warning", 
+      "GRASS Shell is not supported on Windows." );
+  return;
 #else 
 
-    setupUi(this);
+  setupUi(this);
 
-    QGridLayout *layout = new QGridLayout( mTextFrame, 1, 1 );
-    mText = new QgsGrassShellText( this, mTextFrame);
-    layout->addWidget ( mText, 0 , 0 );
-    mText->show();
-	    
-    mFont = QFont ( "Courier", 10 );
+  QGridLayout *layout = new QGridLayout( mTextFrame, 1, 1 );
+  mText = new QgsGrassShellText( this, mTextFrame);
+  layout->addWidget ( mText, 0 , 0 );
+  mText->show();
 
-    mAppDir = mTools->appDir();
-    
-    mText->setReadOnly(TRUE);
-    //mText->setFocusPolicy ( QWidget::NoFocus ); // To get key press directly
+  mFont = QFont ( "Courier", 10 );
 
+  mAppDir = mTools->appDir();
+
+  mText->setReadOnly(TRUE);
+  //mText->setFocusPolicy ( QWidget::NoFocus ); // To get key press directly
+
 #ifndef HAVE_OPENPTY
-    mText->append ( tr("GRASS shell is not supported") ); 
-    return;
+  mText->append ( "GRASS shell is not supported" ); 
+  return;
 #endif
 
-    // TODO set cursor IbeamCursor
-    // This does not work - the cursor is used for scrollbars -> disabled
-    //mText->setCursor ( QCursor(Qt::IbeamCursor) );
-    mParagraph = -1; // first will be 0
-    mIndex = -1;
-    
-    mNewLine = true;
-    
-    for ( int i = 0; i < ModeCount; i++ )
-    {
-	resetMode(i);
-    }
-    
-    int uid;
-    seteuid( uid=getuid() );	/* Run unprivileged */
+  // TODO set cursor IbeamCursor
+  // This does not work - the cursor is used for scrollbars -> disabled
+  //mText->setCursor ( QCursor(Qt::IbeamCursor) );
+  mParagraph = -1; // first will be 0
+  mIndex = -1;
 
-    // Get and open pseudo terminal 
-    // Note: 0 (stdin), 1 (stdout) or 2 (stderr)
-    int fdSlave; // slave file descriptor
-    seteuid(0);
-    int ret =  openpty ( &mFdMaster, &fdSlave, NULL, NULL, NULL );
-    if ( ret != 0 )
-    {
-	QMessageBox::warning( 0, tr("Warning"), tr("Cannot open pseudo terminal") );
-	return;
-    }
-    fchown( fdSlave, uid, (gid_t)-1);
-    fchmod( fdSlave, S_IRUSR | S_IWUSR);
-    seteuid(uid);
+  mNewLine = true;
 
+  for ( int i = 0; i < ModeCount; i++ )
+  {
+    resetMode(i);
+  }
+
+  int uid;
+  seteuid( uid=getuid() );	/* Run unprivileged */
+
+  // Get and open pseudo terminal 
+  // Note: 0 (stdin), 1 (stdout) or 2 (stderr)
+  int fdSlave; // slave file descriptor
+  seteuid(0);
+  int ret =  openpty ( &mFdMaster, &fdSlave, NULL, NULL, NULL );
+  if ( ret != 0 )
+  {
+    QMessageBox::warning( 0, "Warning", "Cannot open pseudo terminal" );
+    return;
+  }
+  fchown( fdSlave, uid, (gid_t)-1);
+  fchmod( fdSlave, S_IRUSR | S_IWUSR);
+  seteuid(uid);
+
 #ifdef QGISDEBUG
-    std::cerr << "mFdMaster = " << mFdMaster << std::endl;
-    std::cerr << "fdSlave = " << fdSlave << std::endl;
+  std::cerr << "mFdMaster = " << mFdMaster << std::endl;
+  std::cerr << "fdSlave = " << fdSlave << std::endl;
 #endif
 
-    fcntl( mFdMaster, F_SETFL, O_NDELAY); 
-    //fcntl( fdSlave, F_SETFL, O_NDELAY); // enable? 
-    
-    QString slaveName = ttyname(fdSlave);
+  fcntl( mFdMaster, F_SETFL, O_NDELAY); 
+  //fcntl( fdSlave, F_SETFL, O_NDELAY); // enable? 
+
+  QString slaveName = ttyname(fdSlave);
 #ifdef QGISDEBUG
-    std::cerr << "master ttyname = " << ttyname(mFdMaster)  << std::endl;
-    std::cerr << "slave ttyname = " << ttyname(fdSlave)  << std::endl;
+  std::cerr << "master ttyname = " << ttyname(mFdMaster)  << std::endl;
+  std::cerr << "slave ttyname = " << ttyname(fdSlave)  << std::endl;
 #endif
-        
-    //close ( fdSlave ); // -> crash  
 
-    // Fork slave and open shell 
-    int pid = fork();
+  //close ( fdSlave ); // -> crash  
+
+  // Fork slave and open shell 
+  int pid = fork();
 #ifdef QGISDEBUG
-    std::cerr << "pid = " << pid << std::endl;
+  std::cerr << "pid = " << pid << std::endl;
 #endif
-    if ( pid == -1 )
-    {
-	QMessageBox::warning( 0, tr("Warning"), tr("Cannot fork shell") );
-	return;
-    }
+  if ( pid == -1 )
+  {
+    QMessageBox::warning( 0, "Warning", "Cannot fork shell" );
+    return;
+  }
 
-    // Child - slave
-    if ( pid == 0 ) 
-    {
+  // Child - slave
+  if ( pid == 0 ) 
+  {
 #ifdef QGISDEBUG
-	std::cerr << "child ->" << std::endl;
+    std::cerr << "child ->" << std::endl;
 #endif
 
-	// TODO close all opened file descriptors - close(0)???
-        close ( mFdMaster );
+    // TODO close all opened file descriptors - close(0)???
+    close ( mFdMaster );
 
-        //close ( fdSlave ); // -> freeze  
-	
-        setsid();
-        seteuid(0);
+    //close ( fdSlave ); // -> freeze  
 
-        int fd = open ( (char*) slaveName.ascii(), O_RDWR);
-        if ( fd < 0 ) 
-	{
-	    QMessageBox::warning( 0, tr("Warning"), tr("Cannot open slave file "
-                                                "in child process") );
-	    return;
-	}
+    setsid();
+    seteuid(0);
 
-	fchown(fd, uid, (gid_t)-1);
- 	fchmod(fd, S_IRUSR | S_IWUSR);
-	setuid(uid);
+    int fd = open ( (char*) slaveName.ascii(), O_RDWR);
+    if ( fd < 0 ) 
+    {
+      QMessageBox::warning( 0, "Warning", "Cannot open slave file "
+          "in child process" );
+      return;
+    }
 
-        dup2 (fd, 0);  /* stdin */
-        dup2 (fd, 1);  /* stdout */
-        dup2 (fd, 2);  /* stderr */
+    fchown(fd, uid, (gid_t)-1);
+    fchmod(fd, S_IRUSR | S_IWUSR);
+    setuid(uid);
 
-	// TODO: test if shell is available
-	QString shell = ( getenv("SHELL") );
-	if ( shell.isEmpty() )
-	{
-	    shell = "/bin/bash";
-	}
-        
-        char *norc = "";
-        QFileInfo si(shell);
-	if ( si.fileName() ==  "bash" || si.fileName() ==  "sh" )
-        { 
-	    norc = "--norc";
-        }
-	else if ( si.fileName() ==  "tcsh" || si.fileName() ==  "csh" )
-        { 
-	    norc = "-f";
-        }
-        
-        // Warning: execle + --norc will not inherit not given variables
-        // -> overwrite here
-	char *env = "GRASS_MESSAGE_FORMAT=gui";
-	char *envstr = new char[strlen(env)+1];
-	strcpy ( envstr, env );
-	putenv( envstr );
+    dup2 (fd, 0);  /* stdin */
+    dup2 (fd, 1);  /* stdout */
+    dup2 (fd, 2);  /* stderr */
 
-        putenv ( "GISRC_MODE_MEMORY" );  // unset
+    // TODO: test if shell is available
+    QString shell = ( getenv("SHELL") );
+    if ( shell.isEmpty() )
+    {
+      shell = "/bin/bash";
+    }
 
-	env = "PS1=GRASS > ";
-	envstr = new char[strlen(env)+1];
-	strcpy ( envstr, env );
-	putenv( envstr );
+    char *norc = "";
+    QFileInfo si(shell);
+    if ( si.fileName() ==  "bash" || si.fileName() ==  "sh" )
+    { 
+      norc = "--norc";
+    }
+    else if ( si.fileName() ==  "tcsh" || si.fileName() ==  "csh" )
+    { 
+      norc = "-f";
+    }
 
-	env = "TERM=vt100";
-	envstr = new char[strlen(env)+1];
-	strcpy ( envstr, env );
-	putenv( envstr );
+    // Warning: execle + --norc will not inherit not given variables
+    // -> overwrite here
+    char *env = "GRASS_MESSAGE_FORMAT=gui";
+    char *envstr = new char[strlen(env)+1];
+    strcpy ( envstr, env );
+    putenv( envstr );
 
-        //char *envar[] = { "PS1=GRASS > ", "TERM=vt100", "GISRC_MODE_MEMORY=", 
-        //                  "GRASS_MESSAGE_FORMAT=gui", (char *)0 };
+    putenv ( "GISRC_MODE_MEMORY" );  // unset
 
-	//execle ( (char*)shell.ascii(), (char *)si.fileName().ascii(), 
-        //         norc, (char *) 0, envar);
-	execl ( (char*)shell.ascii(), (char *)si.fileName().ascii(), 
-                norc, (char *) 0);
+    env = "PS1=GRASS > ";
+    envstr = new char[strlen(env)+1];
+    strcpy ( envstr, env );
+    putenv( envstr );
 
-	// Failed (QMessageBox here does not work)
-	fprintf ( stderr, "GRASS_INFO_ERROR(1,1): Cannot start shell %s\n", 
-		           (char*)shell.ascii() );
-	exit(1);
-    }
+    env = "TERM=vt100";
+    envstr = new char[strlen(env)+1];
+    strcpy ( envstr, env );
+    putenv( envstr );
 
-    mPid = pid;
+    //char *envar[] = { "PS1=GRASS > ", "TERM=vt100", "GISRC_MODE_MEMORY=", 
+    //                  "GRASS_MESSAGE_FORMAT=gui", (char *)0 };
 
-    // Create socket notifier
-    mOutNotifier = new QSocketNotifier ( mFdMaster, QSocketNotifier::Read, this);
+    //execle ( (char*)shell.ascii(), (char *)si.fileName().ascii(), 
+    //         norc, (char *) 0, envar);
+    execl ( (char*)shell.ascii(), (char *)si.fileName().ascii(), 
+        norc, (char *) 0);
 
-    QObject::connect ( mOutNotifier, SIGNAL(activated(int)),
-	                         this, SLOT(readStdout(int)));
+    // Failed (QMessageBox here does not work)
+    fprintf ( stderr, "GRASS_INFO_ERROR(1,1): Cannot start shell %s\n", 
+        (char*)shell.ascii() );
+    exit(1);
+  }
 
-    // Set tab stops ???
-    mTabStop.resize(200);
-    for ( int i = 0 ; i * 8 < (int)mTabStop.size(); i++ )
-    {
-        mTabStop[i*8] = true;
-    }
+  mPid = pid;
 
-    // Set trap to write history on SIGUSR1
-    //QString trap = "trap 'history -w' SIGUSR1\015\012";
-    QString trap = "trap 'history -w' SIGUSR1\015";
-    write( mFdMaster, trap.ascii(), trap.length());
-    mText->clear();
+  // Create socket notifier
+  mOutNotifier = new QSocketNotifier ( mFdMaster, QSocketNotifier::Read, this);
 
-    resizeTerminal();
-    mValid = true;
+  QObject::connect ( mOutNotifier, SIGNAL(activated(int)),
+      this, SLOT(readStdout(int)));
+
+  // Set tab stops ???
+  mTabStop.resize(200);
+  for ( int i = 0 ; i * 8 < (int)mTabStop.size(); i++ )
+  {
+    mTabStop[i*8] = true;
+  }
+
+  // Set trap to write history on SIGUSR1
+  //QString trap = "trap 'history -w' SIGUSR1\015\012";
+  QString trap = "trap 'history -w' SIGUSR1\015";
+  write( mFdMaster, trap.ascii(), trap.length());
+  mText->clear();
+
+  resizeTerminal();
+  mValid = true;
 #endif // !WIN32
 }
 
 QgsGrassShell::~QgsGrassShell()
 {
 #ifdef QGISDEBUG
-    std::cerr << "QgsGrassShell::~QgsGrassShell()" << std::endl;
+  std::cerr << "QgsGrassShell::~QgsGrassShell()" << std::endl;
 #endif
 
 #ifndef WIN32
-    // This was old trick to write history
-    /*
-    write( mFdMaster, "exit\015\012", 6);
-    while ( 1 ) 
-    {
-	readStdout(0);
+  // This was old trick to write history
+  /*
+     write( mFdMaster, "exit\015\012", 6);
+     while ( 1 ) 
+     {
+     readStdout(0);
 
-        int status;
-        if ( waitpid ( mPid, &status, WNOHANG ) > 0 ) break;
+     int status;
+     if ( waitpid ( mPid, &status, WNOHANG ) > 0 ) break;
 
-        struct timespec t, r;
-        t.tv_sec = 0;
-        t.tv_nsec = 10000000; // 0.01 s
-        nanosleep ( &t, &r );
-    }
-    */
+     struct timespec t, r;
+     t.tv_sec = 0;
+     t.tv_nsec = 10000000; // 0.01 s
+     nanosleep ( &t, &r );
+     }
+     */
 
-    // Write history
-    if ( kill(mPid,SIGUSR1) == -1 )
-    {
-        std::cerr << "cannot write history (signal SIGUSR1 to pid = " << mPid << ")" << std::endl;
-    }
+  // Write history
+  if ( kill(mPid,SIGUSR1) == -1 )
+  {
+    std::cerr << "cannot write history (signal SIGUSR1 to pid = " << mPid << ")" << std::endl;
+  }
 
-    std::cerr << "kill shell pid = " << mPid << std::endl;
-    if ( kill(mPid,SIGTERM ) == -1 )
-    {
-        std::cerr << "cannot kill shell pid = " << mPid << std::endl;
-    }
+  std::cerr << "kill shell pid = " << mPid << std::endl;
+  if ( kill(mPid,SIGTERM ) == -1 )
+  {
+    std::cerr << "cannot kill shell pid = " << mPid << std::endl;
+  }
 #endif
 }
 
 void QgsGrassShell::keyPressEvent( QKeyEvent * e  )
 {
 #ifdef QGISDEBUG
-    std::cerr << "QgsGrassShell::keyPressEvent()" << std::endl;
+  std::cerr << "QgsGrassShell::keyPressEvent()" << std::endl;
 #endif
 
-    char s[10];
-    int length = 0;
-    int ret = 0;
+  char s[10];
+  int length = 0;
+  int ret = 0;
 
-    if ( !mValid ) return;
-		
-    mProgressBar->setProgress ( 0, 100 );
+  if ( !mValid ) return;
 
-    char c = (char) e->ascii();
+  mProgressBar->setProgress ( 0, 100 );
+
+  char c = (char) e->ascii();
 #ifdef QGISDEBUG
-    std::cerr << "c = " << (int)c << " key = " << e->key() 
-	      << " text = " << e->text().local8Bit().data() << std::endl;
+  std::cerr << "c = " << (int)c << " key = " << e->key() 
+    << " text = " << e->text().local8Bit().data() << std::endl;
 #endif
-    s[0] = c;
-    length = 1;
+  s[0] = c;
+  length = 1;
 
-    // Set key down 
-    if ( e->key() == Qt::Key_Control ) mKeyDown[DownControl] = true;
-    else if ( e->key() == Qt::Key_Shift ) mKeyDown[DownShift] = true;
-    else if ( e->key() == Qt::Key_Alt ) mKeyDown[DownAlt] = true;
-    else if ( e->key() == Qt::Key_Meta ) mKeyDown[DownMeta] = true;
+  // Set key down 
+  if ( e->key() == Qt::Key_Control ) mKeyDown[DownControl] = true;
+  else if ( e->key() == Qt::Key_Shift ) mKeyDown[DownShift] = true;
+  else if ( e->key() == Qt::Key_Alt ) mKeyDown[DownAlt] = true;
+  else if ( e->key() == Qt::Key_Meta ) mKeyDown[DownMeta] = true;
 
-    if ( c == 0 )
+  if ( c == 0 )
+  {
+    switch ( e->key() )
     {
-	switch ( e->key() )
-	{
-	    case Qt::Key_Up :
-		strcpy ( s, "\033[A" );
-		length = 3;
-		break;
+      case Qt::Key_Up :
+        strcpy ( s, "\033[A" );
+        length = 3;
+        break;
 
-	    case Qt::Key_Down :
-		strcpy ( s, "\033[B" );
-		length = 3;
-		break;
+      case Qt::Key_Down :
+        strcpy ( s, "\033[B" );
+        length = 3;
+        break;
 
-	    case Qt::Key_Right :
-		strcpy ( s, "\033[C" );
-		length = 3;
-		break;
+      case Qt::Key_Right :
+        strcpy ( s, "\033[C" );
+        length = 3;
+        break;
 
-	    case Qt::Key_Left :
-		strcpy ( s, "\033[D" );
-		length = 3;
-		break;
-	}
+      case Qt::Key_Left :
+        strcpy ( s, "\033[D" );
+        length = 3;
+        break;
     }
+  }
 
-    ret = write( mFdMaster, s, length);
+  ret = write( mFdMaster, s, length);
 #ifdef QGISDEBUG
-    std::cerr << "write ret = " << ret << std::endl;
+  std::cerr << "write ret = " << ret << std::endl;
 #endif
 }
 
 void QgsGrassShell::keyReleaseEvent( QKeyEvent * e  )
 {
 #ifdef QGISDEBUG
-//    std::cerr << "QgsGrassShell::keyReleaseEvent()" << std::endl;
+  //    std::cerr << "QgsGrassShell::keyReleaseEvent()" << std::endl;
 #endif
 
-    // Reset key down 
-    if ( e->key() == Qt::Key_Control ) mKeyDown[DownControl] = false;
-    else if ( e->key() == Qt::Key_Shift ) mKeyDown[DownShift] = false;
-    else if ( e->key() == Qt::Key_Alt ) mKeyDown[DownAlt] = false;
-    else if ( e->key() == Qt::Key_Meta ) mKeyDown[DownMeta] = false;
+  // Reset key down 
+  if ( e->key() == Qt::Key_Control ) mKeyDown[DownControl] = false;
+  else if ( e->key() == Qt::Key_Shift ) mKeyDown[DownShift] = false;
+  else if ( e->key() == Qt::Key_Alt ) mKeyDown[DownAlt] = false;
+  else if ( e->key() == Qt::Key_Meta ) mKeyDown[DownMeta] = false;
 }
 
 void QgsGrassShell::readStdout( int socket )
 {
 #ifdef QGISDEBUG
-    //std::cerr << "QgsGrassShell::readStdout()" << std::endl;
+  //std::cerr << "QgsGrassShell::readStdout()" << std::endl;
 #endif
 
-    char buf[4097];
-    int len; 
-    while ( (len = read( mFdMaster, buf, 4096)) > 0 )
-    {	
-	// Terminate string
-	buf[len] = '\0';
+  char buf[4097];
+  int len; 
+  while ( (len = read( mFdMaster, buf, 4096)) > 0 )
+  {	
+    // Terminate string
+    buf[len] = '\0';
 
-	mStdoutBuffer.append ( buf );
-    }
+    mStdoutBuffer.append ( buf );
+  }
 
-    printStdout();
+  printStdout();
 }
 
 void QgsGrassShell::printStdout()
 {
-    // Debug
+  // Debug
 #ifdef QGISDEBUG
-    std::cerr << "****** buffer ******" << std::endl;
-    std::cerr << "-->";
-    for ( int i = 0; i < (int)mStdoutBuffer.length(); i++ )
+  std::cerr << "****** buffer ******" << std::endl;
+  std::cerr << "-->";
+  for ( int i = 0; i < (int)mStdoutBuffer.length(); i++ )
+  {
+    int c = mStdoutBuffer[i];
+    QString s = "";
+    if ( c > '\037' && c != '\177' ) // control characters
     {
-	int c = mStdoutBuffer[i];
-	QString s = "";
-	if ( c > '\037' && c != '\177' ) // control characters
-	{
-	    s = (char) c;
-	    std::cerr << s.local8Bit().data();
-	}
-	else
-	{
-	    std::cerr << "(c=" << QString::number(c,8).local8Bit().data() << ")";
-	}
+      s = (char) c;
+      std::cerr << s.local8Bit().data();
     }
-    std::cerr << "<--" << std::endl;
+    else
+    {
+      std::cerr << "(c=" << QString::number(c,8).local8Bit().data() << ")";
+    }
+  }
+  std::cerr << "<--" << std::endl;
 #endif
 
-    eraseCursor();
-    // To make it faster we want to print maximum lenght blocks from buffer
-    while ( mStdoutBuffer.length() > 0 ) 
-    {
+  eraseCursor();
+  // To make it faster we want to print maximum lenght blocks from buffer
+  while ( mStdoutBuffer.length() > 0 ) 
+  {
 #ifdef QGISDEBUG
-        std::cerr << "------ cycle ------" << std::endl;
+    std::cerr << "------ cycle ------" << std::endl;
 #endif
 
-        // Search control character
-	int control = -1; 
-	for ( int i = 0; i < (int)mStdoutBuffer.length(); i++ )
-	{
-	    int c = mStdoutBuffer[i];
-	    if ( c < '\037' || c == '\177' )
-	    {
-		control = i;
-		break;
-	    }
-	}
+    // Search control character
+    int control = -1; 
+    for ( int i = 0; i < (int)mStdoutBuffer.length(); i++ )
+    {
+      int c = mStdoutBuffer[i];
+      if ( c < '\037' || c == '\177' )
+      {
+        control = i;
+        break;
+      }
+    }
 #ifdef QGISDEBUG
-        std::cerr << "control = " << control << std::endl;
+    std::cerr << "control = " << control << std::endl;
 #endif
 
-        // Process control character if found at index 0
-        if ( control == 0 ) 
-	{
-	    int c = mStdoutBuffer[0];
+    // Process control character if found at index 0
+    if ( control == 0 ) 
+    {
+      int c = mStdoutBuffer[0];
 #ifdef QGISDEBUG
-	    std::cerr << "c = " << QString::number(c,8).local8Bit().data() << std::endl;
+      std::cerr << "c = " << QString::number(c,8).local8Bit().data() << std::endl;
 #endif
 
-	    // control sequence
-	    if ( c == '\033' )
-	    {
-		//std::cerr << "control sequence" << std::endl;
-		
-		bool found = false;
+      // control sequence
+      if ( c == '\033' )
+      {
+        //std::cerr << "control sequence" << std::endl;
 
-                // It is sequence, so it should be at least one more character
- 		// wait for more data 
-                if ( mStdoutBuffer.length() < 2 ) break;
-                if ( mStdoutBuffer[1] == ']' && mStdoutBuffer.length() < 3 ) break;
+        bool found = false;
 
-		// ESC ] Ps ; Pt BEL    (xterm title hack)
-		QRegExp rx ( "\\](\\d+);([^\\a]+)\\a" ); 
-		if ( rx.search ( mStdoutBuffer, 1 ) == 1 ) 
-		{
-		    int mlen = rx.matchedLength();
+        // It is sequence, so it should be at least one more character
+        // wait for more data 
+        if ( mStdoutBuffer.length() < 2 ) break;
+        if ( mStdoutBuffer[1] == ']' && mStdoutBuffer.length() < 3 ) break;
+
+        // ESC ] Ps ; Pt BEL    (xterm title hack)
+        QRegExp rx ( "\\](\\d+);([^\\a]+)\\a" ); 
+        if ( rx.search ( mStdoutBuffer, 1 ) == 1 ) 
+        {
+          int mlen = rx.matchedLength();
 #ifdef QGISDEBUG
-		    std::cerr << "ESC(set title): " << rx.cap(2).local8Bit().data() << std::endl;
+          std::cerr << "ESC(set title): " << rx.cap(2).local8Bit().data() << std::endl;
 #endif
-		    mStdoutBuffer.remove ( 0, mlen+1 );
-		    found = true;
-		}
-		
-		if ( !found ) 
-		{
-		    //    ESC [ Pn ; Pn FINAL
-		    // or ESC [ = Pn ; Pn FINAL
-		    // or ESC [ = Pn ; Pn FINAL
-		    // TODO: QRegExp captures only last of repeated patterns 
-		    //       ( ; separated nums - (;\\d+)* )
-		    rx.setPattern ( "\\[([?=])*(\\d+)*(;\\d+)*([A-z])" ); 
-		    if ( rx.search ( mStdoutBuffer, 1 ) == 1 ) 
-		    {
-			int mlen = rx.matchedLength();
-			char final = rx.cap(4).at(0).latin1();
+          mStdoutBuffer.remove ( 0, mlen+1 );
+          found = true;
+        }
 
-			std::cerr << "final = " << final << std::endl;
-			//std::cerr << "ESC: " << rx.cap(0) << std::endl;
+        if ( !found ) 
+        {
+          //    ESC [ Pn ; Pn FINAL
+          // or ESC [ = Pn ; Pn FINAL
+          // or ESC [ = Pn ; Pn FINAL
+          // TODO: QRegExp captures only last of repeated patterns 
+          //       ( ; separated nums - (;\\d+)* )
+          rx.setPattern ( "\\[([?=])*(\\d+)*(;\\d+)*([A-z])" ); 
+          if ( rx.search ( mStdoutBuffer, 1 ) == 1 ) 
+          {
+            int mlen = rx.matchedLength();
+            char final = rx.cap(4).at(0).latin1();
 
-			switch ( final )
-			{
-			    case 'l' : // RM - Reset Mode
-			    case 'h' : // SM - Set Mode
-			    {
-				int mode = -1;
-				switch ( rx.cap(2).toInt() )
+            std::cerr << "final = " << final << std::endl;
+            //std::cerr << "ESC: " << rx.cap(0) << std::endl;
+
+            switch ( final )
+            {
+              case 'l' : // RM - Reset Mode
+              case 'h' : // SM - Set Mode
+                {
+                  int mode = -1;
+                  switch ( rx.cap(2).toInt() )
+                  {
+                    case 4 :
+                      mode = Insert;
+                      break;
+
+                    default:
+                      std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
+                      break;
+                  }
+                  if ( mode >= 0 )
+                  {
+                    if ( final == 'l' )
+                      resetMode ( mode );
+                    else
+                      setMode ( mode );
+                  }
+                  break;
+                }
+
+              case 'm' : // SGR - Select Graphic Rendition
+                if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
+                {
+                  for ( int i = 0; i < RendetionCount; i++ )
+                  {
+                    mRendetion[i] = false;
+                  }
+                }
+                else
+                {
+                  std::cerr << "ESC SGR ignored: " << rx.cap(0).local8Bit().data() << std::endl;
+                }
+                break;
+
+              case 'P' : // DCH - Delete Character
+                {
+                  int n = rx.cap(2).toInt();
+                  mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+n, 0 );
+                  mText->removeSelectedText ( 0 );
+                  break;
+                }
+
+              case 'K' : // EL - Erase In Line
+                if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
+                {
+                  //mText->setSelectionAttributes ( 1, QColor(255,255,255), true );  
+                  mText->setSelection ( mParagraph, mIndex, mParagraph, 
+                      mText->paragraphLength(mParagraph), 0 );
+                  mText->removeSelectedText ( 0 );
+                }
+                break;
+
+                // TODO: multiple tab stops
+              case 'H' : // Horizontal Tabulation Set (HTS)
+                mTabStop[mIndex] = true;
+                std::cerr << "TAB set on " << mIndex << std::endl;
+                break;
+
+              case 'g' : // Tabulation Clear (TBC)
+                // ESC [ g 	Clears tab stop at the cursor
+                // ESC [ 2 g 	Clears all tab stops in the line
+                // ESC [ 3 g 	Clears all tab stops in the Page
+                std::cerr << "TAB reset" << std::endl;
+                if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
+                {
+                  mTabStop[mIndex] = false;
+                } 
+                else
+                {
+                  for (int i = 0; i < (int)mTabStop.size(); i++ ) 
+                    mTabStop[mIndex] = false;
+                }
+                break;
+
+              default:
+                std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
+                break;
+            }
+
+            mStdoutBuffer.remove ( 0, mlen+1 );
+            found = true;
+          }
+        }
+
+        if ( !found ) 
         {
-          case 4 :
-            mode = Insert;
-            break;
+          // ESC # DIGIT
+          rx.setPattern ( "#(\\d)" ); 
+          if ( rx.search ( mStdoutBuffer, 1 ) == 1 )
+          {
+            std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
+            mStdoutBuffer.remove ( 0, 3 );
+            found = true;
+          }
+        }
 
-          default:
+        if ( !found ) 
+        {
+          // ESC CHARACTER
+          rx.setPattern ( "[A-z<>=]" ); 
+          if ( rx.search ( mStdoutBuffer, 1 ) == 1 )
+          {
             std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
-            break;
+            mStdoutBuffer.remove ( 0, 2 );
+            found = true;
+          }
         }
-				if ( mode >= 0 )
-				{
-				    if ( final == 'l' )
-					resetMode ( mode );
-				    else
-					setMode ( mode );
-				}
-				break;
-			    }
 
-			    case 'm' : // SGR - Select Graphic Rendition
-				if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
-				{
-				    for ( int i = 0; i < RendetionCount; i++ )
-				    {
-					mRendetion[i] = false;
-                                    }
-				}
-				else
-				{
-				    std::cerr << "ESC SGR ignored: " << rx.cap(0).local8Bit().data() << std::endl;
-				}
-				break;
+        // TODO: it can happen that the sequence is not complete ->
+        //       no match -> how to distinguish unknown sequence from
+        //       missing characters
+        if ( !found ) 
+        {
+          // For now move forward
+          std::cerr << "UNKNOWN ESC ignored: " << mStdoutBuffer.mid(1,5).data() << std::endl;
+          mStdoutBuffer.remove ( 0, 1 );
+        }
+      }
+      else
+      {
+        // control character
+        switch ( c ) 
+        {
+          case '\015' : // CR
+            //std::cerr << "CR" << std::endl;
+            mStdoutBuffer.remove ( 0, 1 );
+            // TODO : back tab stops?
+            mIndex = 0;
+            break;
 
-			    case 'P' : // DCH - Delete Character
-			    {
-				int n = rx.cap(2).toInt();
-				mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+n, 0 );
-				mText->removeSelectedText ( 0 );
-				break;
-			    }
+          case '\012' : // NL
+            //std::cerr << "NL" << std::endl;
+            newLine();
+            mStdoutBuffer.remove ( 0, 1 );
+            break;
 
-			    case 'K' : // EL - Erase In Line
-				if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
-				{
-    				    //mText->setSelectionAttributes ( 1, QColor(255,255,255), true );  
-				    mText->setSelection ( mParagraph, mIndex, mParagraph, 
-						mText->paragraphLength(mParagraph), 0 );
-				    mText->removeSelectedText ( 0 );
-				}
-				break;
+          case '\010' : // BS 
+            //std::cerr << "BS" << std::endl;
+            mIndex--;
+            mStdoutBuffer.remove ( 0, 1 );
+            break;
 
-			    // TODO: multiple tab stops
-			    case 'H' : // Horizontal Tabulation Set (HTS)
-				mTabStop[mIndex] = true;
-				std::cerr << "TAB set on " << mIndex << std::endl;
-				break;
+          case '\011' : // HT (tabulator)
+            {
+              //std::cerr << "HT" << std::endl;
+              QString space;
+              for ( int i = mIndex; i < (int)mTabStop.size(); i++ )
+              {
+                space.append ( " " );
+                if ( mTabStop[i] ) break;
+              }
+              insert (space);
+              mStdoutBuffer.remove ( 0, 1 );
+              break;
+            }
 
-			    case 'g' : // Tabulation Clear (TBC)
-				// ESC [ g 	Clears tab stop at the cursor
-				// ESC [ 2 g 	Clears all tab stops in the line
-				// ESC [ 3 g 	Clears all tab stops in the Page
-				std::cerr << "TAB reset" << std::endl;
-				if ( rx.cap(2).isEmpty() || rx.cap(2).toInt() == 0 )
-				{
-				    mTabStop[mIndex] = false;
-                                } 
-				else
-				{
-				    for (int i = 0; i < (int)mTabStop.size(); i++ ) 
-					mTabStop[mIndex] = false;
-				}
-				break;
+          case '>' : // Keypad Numeric Mode 
+            std::cerr << "Keypad Numeric Mode ignored: " 
+              << QString::number(c,8).local8Bit().data() << std::endl;
+            mStdoutBuffer.remove ( 0, 2 );
+            break;
 
-			    default:
-				std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
-				break;
-			}
-			
-			mStdoutBuffer.remove ( 0, mlen+1 );
-			found = true;
-		    }
-		}
+          default : // unknown control, do nothing
+            std::cerr << "UNKNOWN control char ignored: " << QString::number(c,8).local8Bit().data() << std::endl;
+            mStdoutBuffer.remove ( 0, 1 );
+            break;
+        }
+      }
+      continue;
+    }
 
-		if ( !found ) 
-		{
-		    // ESC # DIGIT
-		    rx.setPattern ( "#(\\d)" ); 
-		    if ( rx.search ( mStdoutBuffer, 1 ) == 1 )
-		    {
-			std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
-			mStdoutBuffer.remove ( 0, 3 );
-			found = true;
-		    }
-		}
+    // GRASS messages. GRASS messages start with GRASS_INFO_
+    // and stop with \015\012 (\n)
 
-		if ( !found ) 
-		{
-		    // ESC CHARACTER
-		    rx.setPattern ( "[A-z<>=]" ); 
-		    if ( rx.search ( mStdoutBuffer, 1 ) == 1 )
-		    {
-			std::cerr << "ESC ignored: " << rx.cap(0).local8Bit().data() << std::endl;
-			mStdoutBuffer.remove ( 0, 2 );
-			found = true;
-		    }
-		}
+    // first info
+    QRegExp rxinfo ( "GRASS_INFO_" );
+    int message = rxinfo.search(mStdoutBuffer);
 
-		// TODO: it can happen that the sequence is not complete ->
-                //       no match -> how to distinguish unknown sequence from
-                //       missing characters
-		if ( !found ) 
-		{
-		    // For now move forward
-		    std::cerr << "UNKNOWN ESC ignored: " << mStdoutBuffer.mid(1,5).data() << std::endl;
-		    mStdoutBuffer.remove ( 0, 1 );
-		}
-	    }
-	    else
-	    {
-		// control character
-		switch ( c ) 
-		{
-		    case '\015' : // CR
-			//std::cerr << "CR" << std::endl;
-			mStdoutBuffer.remove ( 0, 1 );
-			// TODO : back tab stops?
-			mIndex = 0;
-			break;
+    if ( message == 0 ) // Info found at index 0
+    { 
+      // First try percent
+      QRegExp rxpercent ( "GRASS_INFO_PERCENT: (\\d+)\\015\\012" );
+      if ( rxpercent.search(mStdoutBuffer) == 0 ) {
+        int mlen = rxpercent.matchedLength();
+        int progress = rxpercent.cap(1).toInt();
+        mProgressBar->setProgress ( progress, 100 );
+        mStdoutBuffer.remove ( 0, mlen );
+        continue;
+      }
 
-		    case '\012' : // NL
-			//std::cerr << "NL" << std::endl;
-                        newLine();
-			mStdoutBuffer.remove ( 0, 1 );
-			break;
+      QRegExp rxwarning ( "GRASS_INFO_WARNING\\(\\d+,\\d+\\): ([^\\015]*)\\015\\012" );
+      QRegExp rxerror ( "GRASS_INFO_ERROR\\(\\d+,\\d+\\): ([^\\015]*)\\015\\012" );
+      QRegExp rxend ( "GRASS_INFO_END\\(\\d+,\\d+\\)\\015\\012" );
 
-		    case '\010' : // BS 
-			//std::cerr << "BS" << std::endl;
-			mIndex--;
-			mStdoutBuffer.remove ( 0, 1 );
-			break;
+      int mlen = 0; 
+      QString msg;
+      QString img;
+      if ( rxwarning.search(mStdoutBuffer) == 0 ) 
+      {
+        mlen = rxwarning.matchedLength();
+        msg = rxwarning.cap(1);
+        img = QgsApplication::pkgDataPath() + "/themes/default/grass/grass_module_warning.png";
+      }
+      else if ( rxerror.search(mStdoutBuffer) == 0 ) 
+      {
+        mlen = rxerror.matchedLength();
+        msg = rxerror.cap(1);
+        img = QgsApplication::pkgDataPath() + "/themes/default/grass/grass_module_error.png";
+      }
 
-		    case '\011' : // HT (tabulator)
-                        {
-			//std::cerr << "HT" << std::endl;
-                        QString space;
-			for ( int i = mIndex; i < (int)mTabStop.size(); i++ )
-			{
-			    space.append ( " " );
-			    if ( mTabStop[i] ) break;
-			}
-                        insert (space);
-			mStdoutBuffer.remove ( 0, 1 );
-			break;
-                        }
-			
-		    case '>' : // Keypad Numeric Mode 
-		        std::cerr << "Keypad Numeric Mode ignored: " 
-                      << QString::number(c,8).local8Bit().data() << std::endl;
-			mStdoutBuffer.remove ( 0, 2 );
-			break;
-
-		    default : // unknown control, do nothing
-		        std::cerr << "UNKNOWN control char ignored: " << QString::number(c,8).local8Bit().data() << std::endl;
-			mStdoutBuffer.remove ( 0, 1 );
-			break;
-		}
-	    }
-	    continue;
-	}
-	
-	// GRASS messages. GRASS messages start with GRASS_INFO_
-	// and stop with \015\012 (\n)
-	
-        // first info
-        QRegExp rxinfo ( "GRASS_INFO_" );
-        int message = rxinfo.search(mStdoutBuffer);
-	
-        if ( message == 0 ) // Info found at index 0
-        { 
-	    // First try percent
-	    QRegExp rxpercent ( "GRASS_INFO_PERCENT: (\\d+)\\015\\012" );
-	    if ( rxpercent.search(mStdoutBuffer) == 0 ) {
-		int mlen = rxpercent.matchedLength();
-		int progress = rxpercent.cap(1).toInt();
-		mProgressBar->setProgress ( progress, 100 );
-		mStdoutBuffer.remove ( 0, mlen );
-		continue;
-	    }
-
-	    QRegExp rxwarning ( "GRASS_INFO_WARNING\\(\\d+,\\d+\\): ([^\\015]*)\\015\\012" );
-	    QRegExp rxerror ( "GRASS_INFO_ERROR\\(\\d+,\\d+\\): ([^\\015]*)\\015\\012" );
-	    QRegExp rxend ( "GRASS_INFO_END\\(\\d+,\\d+\\)\\015\\012" );
-	    
-	    int mlen = 0; 
-	    QString msg;
-	    QString img;
-	    if ( rxwarning.search(mStdoutBuffer) == 0 ) 
-	    {
-		mlen = rxwarning.matchedLength();
-		msg = rxwarning.cap(1);
-		img = mAppDir + "/share/qgis/themes/default/grass/grass_module_warning.png";
-	    }
-	    else if ( rxerror.search(mStdoutBuffer) == 0 ) 
-	    {
-		mlen = rxerror.matchedLength();
-		msg = rxerror.cap(1);
-		img = mAppDir + "/share/qgis/themes/default/grass/grass_module_error.png";
-	    }
-
-	    if ( mlen > 0 ) // found error or warning
-	    {
+      if ( mlen > 0 ) // found error or warning
+      {
 #ifdef QGISDEBUG
-		std::cerr << "MSG: " << msg.local8Bit().data() << std::endl;
+        std::cerr << "MSG: " << msg.local8Bit().data() << std::endl;
 #endif
 
-		// Delete all previous empty paragraphs.
-		// Messages starts with \n (\015\012) which is previously interpreted 
-		// as new line, so it is OK delete it, but it is not quite correct
-		// to delete more  because it can be regular module output
-		// but it does not look nice to have empty rows before 
-		removeEmptyParagraphs();
+        // Delete all previous empty paragraphs.
+        // Messages starts with \n (\015\012) which is previously interpreted 
+        // as new line, so it is OK delete it, but it is not quite correct
+        // to delete more  because it can be regular module output
+        // but it does not look nice to have empty rows before 
+        removeEmptyParagraphs();
 
-		msg.replace ( "&", "&amp;" );
-		msg.replace ( "<", "&lt;" );
-		msg.replace ( ">", "&gt;" );
-		msg.replace ( " ", "&nbsp;" );
+        msg.replace ( "&", "&amp;" );
+        msg.replace ( "<", "&lt;" );
+        msg.replace ( ">", "&gt;" );
+        msg.replace ( " ", "&nbsp;" );
 
-		mText->setTextFormat(Qt::RichText);
-		mText->append ( "<img src=\"" + img + "\">" + QString::fromLocal8Bit( msg ) );
-		mParagraph++;
-		mNewLine = true;
-		mStdoutBuffer.remove ( 0, mlen );
-		continue;
-	    } 
-	   
-	    if ( rxend.search(mStdoutBuffer) == 0 ) 
-	    {
-		mlen = rxend.matchedLength();
-		mStdoutBuffer.remove ( 0, mlen );
-		continue;
-	    }
+        mText->setTextFormat(Qt::RichText);
+        mText->append ( "<img src=\"" + img + "\">" + QString::fromLocal8Bit( msg ) );
+        mParagraph++;
+        mNewLine = true;
+        mStdoutBuffer.remove ( 0, mlen );
+        continue;
+      } 
 
-	    // No complete message found => wait for input 
-	    // TODO: 1) Sleep for a moment because GRASS writes 
-	    //          1 character in loop
-	    //       2) Fix GRASS to write longer strings
-	    break;
-        }
+      if ( rxend.search(mStdoutBuffer) == 0 ) 
+      {
+        mlen = rxend.matchedLength();
+        mStdoutBuffer.remove ( 0, mlen );
+        continue;
+      }
 
-	// Print plain text
-	int length = mStdoutBuffer.length();
-	if ( control >= 0 ) length = control;
-        if ( message >= 0 && (control == -1 || control > message ) )
-        {
-	    length = message;
-        }
+      // No complete message found => wait for input 
+      // TODO: 1) Sleep for a moment because GRASS writes 
+      //          1 character in loop
+      //       2) Fix GRASS to write longer strings
+      break;
+    }
 
-	if ( length > 0 ) 
-	{
-	    QString out = mStdoutBuffer.left ( length ) ;
+    // Print plain text
+    int length = mStdoutBuffer.length();
+    if ( control >= 0 ) length = control;
+    if ( message >= 0 && (control == -1 || control > message ) )
+    {
+      length = message;
+    }
+
+    if ( length > 0 ) 
+    {
+      QString out = mStdoutBuffer.left ( length ) ;
 #ifdef QGISDEBUG
-	    std::cerr << "TXT: '" << out.local8Bit().data()<< "'" << std::endl;
+      std::cerr << "TXT: '" << out.local8Bit().data()<< "'" << std::endl;
 #endif
-	    
-	    insert ( QString::fromLocal8Bit( out ) );
-	    
-	    mStdoutBuffer.remove ( 0, length );
-	}
+
+      insert ( QString::fromLocal8Bit( out ) );
+
+      mStdoutBuffer.remove ( 0, length );
     }
-    
-    showCursor();
-    mText->ensureCursorVisible();
+  }
+
+  showCursor();
+  mText->ensureCursorVisible();
 }
 
 void QgsGrassShell::removeEmptyParagraphs()
 {
-    while ( mParagraph >= 0 
-	    && mText->text(mParagraph).stripWhiteSpace().length() <= 0 )
-    {
-	mText->removeParagraph ( mParagraph );
-	mParagraph--;
-    }
-    mIndex = mText->paragraphLength(mParagraph);
+  while ( mParagraph >= 0 
+      && mText->text(mParagraph).stripWhiteSpace().length() <= 0 )
+  {
+    mText->removeParagraph ( mParagraph );
+    mParagraph--;
+  }
+  mIndex = mText->paragraphLength(mParagraph);
 }
 
 void QgsGrassShell::insert ( QString s )
 {
 #ifdef QGISDEBUG
-    std::cerr << "insert()" << std::endl;
+  std::cerr << "insert()" << std::endl;
 #endif
 
-    if ( s.isEmpty() ) return; 
+  if ( s.isEmpty() ) return; 
 
-    // In theory mParagraph == mText->paragrephs()-1
-    // but if something goes wrong (more paragraphs) we want to write 
-    // at the end
-    if ( mParagraph > -1 && mParagraph != mText->paragraphs()-1 )
-    {
-        std::cerr << "WRONG mParagraph!" << std::endl;
-        mNewLine = true;
-    }
+  // In theory mParagraph == mText->paragrephs()-1
+  // but if something goes wrong (more paragraphs) we want to write 
+  // at the end
+  if ( mParagraph > -1 && mParagraph != mText->paragraphs()-1 )
+  {
+    std::cerr << "WRONG mParagraph!" << std::endl;
+    mNewLine = true;
+  }
 
-    // Bug?: QTextEdit::setOverwriteMode does not work, always 'insert'
-    //       -> if Insert mode is not set, delete first the string 
-    //          to the right
-    // mText->setOverwriteMode ( !mMode[Insert] ); // does not work
-    if ( !mMode[Insert] && !mNewLine && mParagraph >= 0 &&
-         mText->paragraphLength(mParagraph) > mIndex ) 
-    {
+  // Bug?: QTextEdit::setOverwriteMode does not work, always 'insert'
+  //       -> if Insert mode is not set, delete first the string 
+  //          to the right
+  // mText->setOverwriteMode ( !mMode[Insert] ); // does not work
+  if ( !mMode[Insert] && !mNewLine && mParagraph >= 0 &&
+      mText->paragraphLength(mParagraph) > mIndex ) 
+  {
 #ifdef QGISDEBUG
-        std::cerr << "erase old " << mIndex+s.length() << " chars "  << std::endl;
+    std::cerr << "erase old " << mIndex+s.length() << " chars "  << std::endl;
 #endif
-	mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+s.length(), 0 );
-	mText->removeSelectedText ( 0 );
-    }
+    mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+s.length(), 0 );
+    mText->removeSelectedText ( 0 );
+  }
 
-    if ( mNewLine )
-    {
-        // Start new paragraph
-        mText->setTextFormat(Qt::PlainText);
-        mText->setCurrentFont ( mFont ); 
-        mText->append ( s );
-        mIndex = s.length();
-        //mParagraph++;
-        mParagraph = mText->paragraphs()-1;
-        mNewLine = false;
-    }
-    else
-    {
-        // Append to existing paragraph
-        mText->setCursorPosition ( mParagraph, mIndex );
-        mText->setTextFormat(Qt::PlainText);
-        mText->setCurrentFont ( mFont ); 
-        mText->insert ( s );
+  if ( mNewLine )
+  {
+    // Start new paragraph
+    mText->setTextFormat(Qt::PlainText);
+    mText->setCurrentFont ( mFont ); 
+    mText->append ( s );
+    mIndex = s.length();
+    //mParagraph++;
+    mParagraph = mText->paragraphs()-1;
+    mNewLine = false;
+  }
+  else
+  {
+    // Append to existing paragraph
+    mText->setCursorPosition ( mParagraph, mIndex );
+    mText->setTextFormat(Qt::PlainText);
+    mText->setCurrentFont ( mFont ); 
+    mText->insert ( s );
 
-	mIndex += s.length(); 
-    }
+    mIndex += s.length(); 
+  }
 }
 
 void QgsGrassShell::newLine()
 {
-    if ( mSkipLines > 0 )
-    {
-        mText->clear();
-        mSkipLines--;
-    }
-    if ( mNewLine ) 
-    {
-        mText->setTextFormat(Qt::PlainText);
-        mText->setCurrentFont ( mFont ); 
-        mText->append ( " " );
-        //mParagraph++; 
-        // To be sure that we are at the end
-        mParagraph = mText->paragraphs()-1;
-        mIndex = 0;
-    }
-    mNewLine = true;
+  if ( mSkipLines > 0 )
+  {
+    mText->clear();
+    mSkipLines--;
+  }
+  if ( mNewLine ) 
+  {
+    mText->setTextFormat(Qt::PlainText);
+    mText->setCurrentFont ( mFont ); 
+    mText->append ( " " );
+    //mParagraph++; 
+    // To be sure that we are at the end
+    mParagraph = mText->paragraphs()-1;
+    mIndex = 0;
+  }
+  mNewLine = true;
 }
 
 void QgsGrassShell::eraseCursor()
 {
-    // Remove space representing cursor from the end of current paragraph
-    if ( !mNewLine && mCursorSpace && mParagraph >= 0 ) 
-    {
-	mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+1, 0 );
-	mText->removeSelectedText ( 0 );
-    }
-    mCursorSpace = false;
+  // Remove space representing cursor from the end of current paragraph
+  if ( !mNewLine && mCursorSpace && mParagraph >= 0 ) 
+  {
+    mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+1, 0 );
+    mText->removeSelectedText ( 0 );
+  }
+  mCursorSpace = false;
 }
 
 void QgsGrassShell::showCursor()
 {
-    // Do not highlite cursor if last printed paragraph was GRASS message
-    if ( mNewLine ) return;
+  // Do not highlite cursor if last printed paragraph was GRASS message
+  if ( mNewLine ) return;
 
-    // If cursor is at the end of paragraph add space  
-    if ( mParagraph >= 0 && mIndex > mText->paragraphLength(mParagraph)-1 )
-    {
-        mText->setCursorPosition(mParagraph,mIndex);
-        mText->setCursorPosition ( mParagraph, mIndex );
-        mText->insert ( " " );
-        // Warning: do not increase mIndex, 
-	// the space if after current position
-	mCursorSpace = true;
-    }
-    
-    // Selection 1 is used as cursor highlite
-    mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+1, 1 );
-    mText->setSelectionAttributes ( 1, QColor(0,0,0), true );  
+  // If cursor is at the end of paragraph add space  
+  if ( mParagraph >= 0 && mIndex > mText->paragraphLength(mParagraph)-1 )
+  {
+    mText->setCursorPosition(mParagraph,mIndex);
+    mText->setCursorPosition ( mParagraph, mIndex );
+    mText->insert ( " " );
+    // Warning: do not increase mIndex, 
+    // the space if after current position
+    mCursorSpace = true;
+  }
+
+  // Selection 1 is used as cursor highlite
+  mText->setSelection ( mParagraph, mIndex, mParagraph, mIndex+1, 1 );
+  mText->setSelectionAttributes ( 1, QColor(0,0,0), true );  
 }
 
 void QgsGrassShell::mousePressEvent(QMouseEvent* e)
 {
 #ifdef QGISDEBUG
-    std::cerr << "mousePressEvent()" << std::endl;
+  std::cerr << "mousePressEvent()" << std::endl;
 #endif
 
-    if ( !mValid ) return;
+  if ( !mValid ) return;
 
-    // paste clipboard
-    if ( e->button() == Qt::MidButton )
-    {
-	QClipboard *cb = QApplication::clipboard();
-	QString text = cb->text(QClipboard::Selection);
-        write( mFdMaster, (char*) text.ascii(), text.length() );
-    }
+  // paste clipboard
+  if ( e->button() == Qt::MidButton )
+  {
+    QClipboard *cb = QApplication::clipboard();
+    QString text = cb->text(QClipboard::Selection);
+    write( mFdMaster, (char*) text.ascii(), text.length() );
+  }
 }
 
 void QgsGrassShell::resizeTerminal()
 {
-    int width = mText->visibleWidth(); 
-    int height = mText->visibleHeight(); 
+#ifndef WIN32
+  int width = mText->visibleWidth(); 
+  int height = mText->visibleHeight(); 
 
-    QFontMetrics fm ( mFont );
-    int col = (int) (width / fm.width("x")); 
-    int row = (int) (height / fm.height()); 
+  QFontMetrics fm ( mFont );
+  int col = (int) (width / fm.width("x")); 
+  int row = (int) (height / fm.height()); 
 
-#ifndef WIN32
-    struct winsize winSize;
-    memset(&winSize, 0, sizeof(winSize));
-    winSize.ws_row = row;
-    winSize.ws_col = col;
+  struct winsize winSize;
+  memset(&winSize, 0, sizeof(winSize));
+  winSize.ws_row = row;
+  winSize.ws_col = col;
 
-    ioctl( mFdMaster, TIOCSWINSZ, (char *)&winSize );
+  ioctl( mFdMaster, TIOCSWINSZ, (char *)&winSize );
 #endif
 }
 
@@ -919,9 +936,9 @@
 }
 
 QgsGrassShellText::QgsGrassShellText ( QgsGrassShell *gs, 
-      QWidget * parent, const char *name )
-    : Q3TextEdit (parent,name),
-      mShell(gs)
+    QWidget * parent, const char *name )
+: Q3TextEdit (parent,name),
+mShell(gs)
 {
 }
 
@@ -930,33 +947,33 @@
 void QgsGrassShellText::contentsMousePressEvent(QMouseEvent* e)
 {
 #ifdef QGISDEBUG
-    std::cerr << "contentsMousePressEvent()" << std::endl;
+  std::cerr << "contentsMousePressEvent()" << std::endl;
 #endif
-    mShell->mousePressEvent(e);
-    Q3TextEdit::contentsMousePressEvent(e);
+  mShell->mousePressEvent(e);
+  Q3TextEdit::contentsMousePressEvent(e);
 }
 
 void QgsGrassShellText::keyPressEvent ( QKeyEvent * e )
 {
 #ifdef QGISDEBUG
-    std::cerr << "QgsGrassShellText::keyPressEvent()" << std::endl;
+  std::cerr << "QgsGrassShellText::keyPressEvent()" << std::endl;
 #endif
-    mShell->keyPressEvent(e);
+  mShell->keyPressEvent(e);
 }
 
 void QgsGrassShellText::keyReleaseEvent ( QKeyEvent * e )
 {
 #ifdef QGISDEBUG
-    std::cerr << "QgsGrassShellText::keyReleaseEvent()" << std::endl;
+  std::cerr << "QgsGrassShellText::keyReleaseEvent()" << std::endl;
 #endif
-    mShell->keyReleaseEvent(e);
+  mShell->keyReleaseEvent(e);
 }
 
 void QgsGrassShellText::resizeEvent(QResizeEvent *e)
 {
 #ifdef QGISDEBUG
-    std::cerr << "resizeEvent()" << std::endl;
+  std::cerr << "resizeEvent()" << std::endl;
 #endif
-    mShell->resizeTerminal();
-    Q3TextEdit::resizeEvent(e);
+  mShell->resizeTerminal();
+  Q3TextEdit::resizeEvent(e);
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassshell.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgsgrassshell.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:06:16 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <qstring.h>
 #include <q3textedit.h>
 #include <q3process.h>

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,53 +15,47 @@
  ***************************************************************************/
 #include <iostream>
 
-#include <qapplication.h>
-#include <qdir.h>
-#include <qfile.h>
-#include <qsettings.h>
-#include <qpixmap.h>
-#include <q3listbox.h>
-#include <qstringlist.h>
-#include <qlabel.h>
+#include <QApplication>
+#include <QDir>
+#include <QFile>
+#include <QSettings>
+#include <QPixmap>
+#include <QStringList>
+#include <QLabel>
 #include <QComboBox>
-#include <qspinbox.h>
-#include <qmessagebox.h>
-#include <qinputdialog.h>
-#include <qsettings.h>
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qpen.h>
-#include <q3pointarray.h>
-#include <qcursor.h>
-#include <qnamespace.h>
-#include <q3listview.h>
-#include <qcolordialog.h>
-#include <q3table.h>
-#include <qstatusbar.h>
-#include <qevent.h>
-#include <qpoint.h>
-#include <qsize.h>
-#include <qdom.h>
-#include <qtabwidget.h>
-#include <qlayout.h>
-#include <qcheckbox.h>
-#include <q3process.h>
-#include <qicon.h>
-//Added by qt3to4:
+#include <QSpinBox>
+#include <QMessageBox>
+#include <QInputDialog>
+#include <QSettings>
+#include <QPainter>
+#include <QPen>
+#include <QCursor>
+//#include <qnamespace.h>
+#include <QColorDialog>
+#include <QStatusBar>
+#include <QEvent>
+#include <QPoint>
+#include <QSize>
+#include <QDomDocument>
+#include <QTabWidget>
+#include <QLayout>
+#include <QCheckBox>
+#include <QIcon>
 #include <QCloseEvent>
 #include <QTabBar>
-#include <QListView>
-#include <QProcess>
+#include <QTreeWidget>
+#include <QTreeWidgetItem>
 #include <QHeaderView>
+#include <QProcess>
 
 #include "qgis.h"
+#include "qgisinterface.h"
 #include "qgsapplication.h"
 #include "qgsmapcanvas.h"
 #include "qgsmaplayer.h"
 #include "qgsvectorlayer.h"
 #include "qgsdataprovider.h"
 #include "qgsfield.h"
-#include "qgsfeatureattribute.h"
 
 extern "C" {
 #include <grass/gis.h>
@@ -94,7 +88,7 @@
 
 QgsGrassToolsTabWidget::~QgsGrassToolsTabWidget() {}
 
-QgsGrassTools::QgsGrassTools ( QgisApp *qgisApp, QgisIface *iface, 
+QgsGrassTools::QgsGrassTools ( QgisInterface *iface, 
 	                     QWidget * parent, const char * name, Qt::WFlags f )
              :QDialog ( parent )
 {
@@ -105,7 +99,6 @@
    setWindowTitle ( tr("GRASS Tools") );
 //    setupUi(this);
 
-    mQgisApp = qgisApp;
     mIface = iface;
     mCanvas = mIface->getMapCanvas();
 
@@ -117,45 +110,36 @@
     layout1->addWidget(mTabWidget);
 
 
-    mModulesListView = new Q3ListView();
+    mModulesListView = new QTreeWidget();
     mTabWidget->addTab( mModulesListView, tr("Modules") );
-    mModulesListView->addColumn("col1",0);
-    
+    mModulesListView->setColumnCount(1);
+    QStringList headers;
+    headers << tr("Modules");
+    mModulesListView->setHeaderLabels(headers);    
     // Set list view
-    mModulesListView->setColumnText(0,tr("Modules"));
     mModulesListView->clear();
-    mModulesListView->setSorting(-1);
+    mModulesListView->setSortingEnabled(false);
     mModulesListView->setRootIsDecorated(true);
-    mModulesListView->setResizeMode(Q3ListView::AllColumns);
+//    mModulesListView->setResizeMode(QTreeWidget::AllColumns);
     mModulesListView->header()->hide();
 
-    connect( mModulesListView, SIGNAL(clicked(Q3ListViewItem *)), 
-		         this, SLOT(moduleClicked( Q3ListViewItem *)) );
+    connect( mModulesListView, SIGNAL(itemClicked(QTreeWidgetItem *, int)), 
+		         this, SLOT(moduleClicked( QTreeWidgetItem *, int)) );
 
     QString title = tr("GRASS Tools: ") + QgsGrass::getDefaultLocation()
                 + "/" + QgsGrass::getDefaultMapset();
     setCaption(title);
 
-    // Warning: QgsApplication initialized in main.cpp
-    //          is not valid here (static libraries / linking)
+    QString conf = QgsApplication::pkgDataPath() + "/grass/config/default.qgc";
 
-#if defined(WIN32) || defined(Q_OS_MACX)
-    mAppDir = qApp->applicationDirPath();
-#else
-    mAppDir = PREFIX;
-#endif
-
-    //QString conf = QgsApplication::pkgDataPath() + "/grass/config/default.qgc";
-    QString conf = mAppDir + "/share/qgis/grass/config/default.qgc";
-
     restorePosition();
 
     // Show before loadConfig() so that user can see loading
     mModulesListView->show(); 
+
     QApplication::setOverrideCursor(Qt::waitCursor);
     loadConfig ( conf );
     QApplication::restoreOverrideCursor();
-
     //statusBar()->hide();
 
     // Add map browser 
@@ -168,7 +152,7 @@
 		         this, SLOT(emitRegionChanged()) );
 }
 
-void QgsGrassTools::moduleClicked( Q3ListViewItem * item )
+void QgsGrassTools::moduleClicked( QTreeWidgetItem * item, int column )
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassTools::moduleClicked()" << std::endl;
@@ -176,17 +160,21 @@
     if ( !item ) return;
 
     QString name = item->text(1);
-    //std::cerr << "name = " << name << std::endl;
+#ifdef QGISDEBUG
+    std::cerr << "name = " << name.ascii() << std::endl;
+#endif
     
     if ( name.length() == 0 ) return;  // Section
     
-    //QString path = QgsApplication::pkgDataPath() + "/grass/modules/" + name;
-    QString path = mAppDir + "/share/qgis/grass/modules/" + name;
+#ifndef WIN32
+    QgsGrassShell* sh = 0;
+#endif
+    
+    QString path = QgsApplication::pkgDataPath() + "/grass/modules/" + name;
     #ifdef QGISDEBUG
     std::cerr << "path = " << path.ascii() << std::endl;
     #endif
     QWidget *m;
-    QgsGrassShell *sh = 0;
     if ( name == "shell" )
     {
          // Set history file
@@ -213,7 +201,7 @@
          // Note: I was not able to run cmd.exe and command.com
          //       with QProcess
 
-         QString msysPath = mAppDir + "/msys/bin/rxvt.exe";
+         QString msysPath = appDir() + "/msys/bin/rxvt.exe";
          QString myArguments = "-backspacekey ^H -sl 2500 -fg white -bg black -sr -fn Courier-16 -tn msys -geometry 80x25 -e    /bin/sh --login -i";
          QFile file ( msysPath );
 
@@ -230,9 +218,9 @@
            proc->start(msysPath + " " +  myArguments);
            proc->waitForStarted();
            if ( proc->state() != QProcess::Running )
-           {
-             QMessageBox::warning( 0, tr("Warning"),
-                 tr("Cannot start MSYS (") + msysPath + ")" );
+  {
+             QMessageBox::warning( 0, "Warning",
+                 "Cannot start MSYS (" + msysPath + ")" );
            }
          }
          return;
@@ -250,7 +238,7 @@
     else
     {
 	m = dynamic_cast<QWidget *> ( new QgsGrassModule ( this, name,
-                                      mQgisApp, mIface, path, mTabWidget ) );
+                                      mIface, path, mTabWidget ) );
     }
     
     int height = mTabWidget->iconSize().height();
@@ -287,6 +275,7 @@
     std::cerr << "QgsGrassTools::loadConfig(): " << filePath.toLocal8Bit().data() << std::endl;
     #endif
     mModulesListView->clear();
+    mModulesListView->setIconSize(QSize(80,22));
 
     QFile file ( filePath );
 
@@ -326,14 +315,15 @@
     addModules ( 0, modulesElem );
     
     file.close();
+    return true;
 }
 
-void QgsGrassTools::addModules (  Q3ListViewItem *parent, QDomElement &element )
+void QgsGrassTools::addModules (  QTreeWidgetItem *parent, QDomElement &element )
 {
     QDomNode n = element.firstChild();
 
-    Q3ListViewItem *item;
-    Q3ListViewItem *lastItem = 0;
+    QTreeWidgetItem *item;
+    QTreeWidgetItem *lastItem = 0;
     while( !n.isNull() ) {
 	QDomElement e = n.toElement();
 	if( !e.isNull() ) {
@@ -345,16 +335,16 @@
 	    }
 	    
 	    if ( parent ) {
-		item = new Q3ListViewItem( parent, lastItem );
+		item = new QTreeWidgetItem( parent, lastItem );
 	    } else {
-		item = new Q3ListViewItem( mModulesListView, lastItem );
+		item = new QTreeWidgetItem( mModulesListView, lastItem );
 	    }
 
 	    if ( e.tagName() == "section" ) {
 		QString label = e.attribute("label");
 	        std::cout << "label = " << label.toLocal8Bit().data() << std::endl;
 		item->setText( 0, label );
-		item->setOpen(true); // for debuging to spare one click
+		item->setExpanded(true); // for debuging to spare one click
 
 		addModules ( item, e );
 		
@@ -363,13 +353,12 @@
 		QString name = e.attribute("name");
 	        std::cout << "name = " << name.toLocal8Bit().data() << std::endl;
 
-                //QString path = QgsApplication::pkgDataPath() + "/grass/modules/" + name;
-                QString path = mAppDir + "/share/qgis/grass/modules/" + name;
+                QString path = QgsApplication::pkgDataPath() + "/grass/modules/" + name;
                 QString label = QgsGrassModule::label ( path );
 		QPixmap pixmap = QgsGrassModule::pixmap ( path, 25 ); 
 
 		item->setText( 0, label );
-		item->setPixmap( 0, pixmap );
+		item->setIcon( 0, QIcon(pixmap) );
 		item->setText( 1, name );
 		lastItem = item;
 	    }
@@ -404,8 +393,7 @@
 
 QString QgsGrassTools::appDir(void)
 {
-    //return QgsApplication::applicationDirPath();
-    return mAppDir;
+    return QgsApplication::applicationDirPath();
 }
 
 void QgsGrassTools::close(void)

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrasstools.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -20,20 +20,19 @@
 
 class QCloseEvent;
 class QString;
-class Q3ListView;
-class Q3ListViewItem;
+class QTreeWidget;
+class QTreeWidgetItem;
 class QDomNode;
 class QDomElement;
+class QSize;
 
-// Must be here, so that it is included to moc file
-#include "qgisapp.h"
-#include "qgisiface.h"
-
+class QgisInterface;
 class QgsGrassProvider;
 class QgsGrassBrowser;
+class QgsMapCanvas;
+
 #include <QDialog>
-#include <QTabBar>
-class QSize;
+#include <QTabWidget>
 
 class QgsGrassToolsTabWidget: public QTabWidget
 {
@@ -59,7 +58,7 @@
 
 public:
     //! Constructor
-    QgsGrassTools ( QgisApp *qgisApp, QgisIface *iface, 
+    QgsGrassTools ( QgisInterface *iface, 
 	           QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 );
 
     //! Destructor
@@ -67,7 +66,7 @@
 
     //! Recursively add sections and modules to the list view
     //  If parent is 0, the modules are added to mModulesListView root
-    void addModules ( Q3ListViewItem *parent, QDomElement &element );
+    void addModules ( QTreeWidgetItem *parent, QDomElement &element );
 
     //! Returns application directory
     QString appDir();
@@ -89,7 +88,7 @@
     void saveWindowLocation();
 
     //! Module in list clicked
-    void moduleClicked ( Q3ListViewItem * item );
+    void moduleClicked ( QTreeWidgetItem * item, int column );
 
     //! Current mapset changed
     void mapsetChanged();
@@ -104,23 +103,17 @@
     void regionChanged();
 
 private:
-    //! QGIS application
-    QgisApp *mQgisApp;
-
     //! Pointer to the QGIS interface object
-    QgisIface *mIface;
+    QgisInterface *mIface;
 
     //! Pointer to canvas
     QgsMapCanvas *mCanvas;
 
-    //! QGIS directory
-    QString mAppDir;
-
     //! Browser
     QgsGrassBrowser *mBrowser;
 
     QgsGrassToolsTabWidget *mTabWidget;
-    Q3ListView *mModulesListView;
+    QTreeWidget *mModulesListView;
 };
 
 #endif // QGSGRASSTOOLS_H

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -30,6 +30,8 @@
 #include <grass/Vect.h>
 }
 
+#include "qgisinterface.h"
+
 #include "../../src/providers/grass/qgsgrass.h"
 #include "qgsgrassutils.h"
 #include "qgsgrassselect.h"
@@ -45,7 +47,7 @@
     return name;
 }
 
-void QgsGrassUtils::addVectorLayers ( QgisIface *iface,
+void QgsGrassUtils::addVectorLayers ( QgisInterface *iface,
         QString gisbase, QString location, QString mapset, QString map)
 {
     QStringList layers = QgsGrassSelect::vectorLayers(

Modified: packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/qgsgrassutils.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -21,7 +21,7 @@
 class QLineEdit;
 class QLabel;
 class QPushButton;
-#include "qgisiface.h"
+class QgisInterface;
 
 /*! \class QgsGrassUtils
  *  \brief Various utilities.
@@ -41,7 +41,7 @@
     static QString vectorLayerName( QString map, QString layer, int nLayers );
 
     // Add all vector layers to QGIS view
-    static void addVectorLayers ( QgisIface *iface,
+    static void addVectorLayers ( QgisInterface *iface,
         QString gisbase, QString location, QString mapset, QString map);
 
     // Check if element exists in current mapset

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/themes/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/themes/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/themes/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/themes/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/themes/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,2 +0,0 @@
-
-SUBDIRS =  default

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in

Deleted: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +0,0 @@
-
-imagedir = ${pkgdatadir}/themes/default/grass/
-image_DATA = *.png
-
-EXTRA_DIST = $(image_DATA)

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_close_mapset.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_close_mapset.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_mapset.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_mapset.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_vector_layer.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_new_vector_layer.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_open_mapset.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/themes/default/grass_open_mapset.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grass/world.png
===================================================================
(Binary files differ)


Property changes on: packages/qgis/branches/upstream/current/src/plugins/grass/world.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: packages/qgis/branches/upstream/current/src/plugins/grid_maker/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+gridmaker
+pluginguibase.cpp
+pluginguibase.h
+

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,82 +1,78 @@
-
-########################################################
-# Files
-
-SET (GRID_COMMON_SRCS
-     plugingui.cpp
-     graticulecreator.cpp
-     utils.c
-     shpopen.c
-     dbfopen.c
-)
-
-SET (GRID_SRCS
-     plugin.cpp
-     ${GRID_COMMON_SRCS}
-)
-
-SET (GRID_BINARY_SRCS
-     main.cpp
-     ${GRID_COMMON_SRCS}
-)
-
-SET (GRID_UIS pluginguibase.ui)
-
-SET (GRID_COMMON_MOC_HDRS plugingui.h)
-
-SET (GRID_MOC_HDRS plugin.h)
-
-SET (GRID_RCCS  gridmaker_plugin.qrc)
-
-########################################################
-# Build
-
-QT4_WRAP_UI (GRID_UIS_H  ${GRID_UIS})
-
-QT4_WRAP_CPP (GRID_COMMON_MOC_SRCS  ${GRID_COMMON_MOC_HDRS})
-
-QT4_WRAP_CPP (GRID_MOC_SRCS  ${GRID_MOC_HDRS})
-
-QT4_ADD_RESOURCES(GRID_RCC_SRCS ${GRID_RCCS})
-
-ADD_LIBRARY (gridmakerplugin MODULE ${GRID_SRCS} ${GRID_MOC_SRCS} ${GRID_COMMON_MOC_SRCS} ${GRID_RCC_SRCS} ${GRID_UIS_H})
-
-INCLUDE_DIRECTORIES(
-     ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../core/raster ../../core/renderer ../../core/symbology
-     ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
-     ..
-	${GEOS_INCLUDE_DIR}
-  ${PROJ_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
-)
-
-TARGET_LINK_LIBRARIES(gridmakerplugin
-  ${QT_LIBRARIES}
-  ${PROJ_LIBRARY}
-  ${GDAL_LIBRARIES}
-  qgis_core
-)
-
-IF (PLUGINS_ALSO_BINARIES)
-
-  ADD_EXECUTABLE (gridmaker ${GRID_BINARY_SRCS} ${GRID_COMMON_MOC_SRCS} ${GRID_RCC_SRCS})
-
-  TARGET_LINK_LIBRARIES(gridmaker
-    ${QT_LIBRARIES}
-    qgis_core
-  )
-
-ENDIF (PLUGINS_ALSO_BINARIES)
-
-########################################################
-# Install
-
-INSTALL(TARGETS gridmakerplugin
-  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
-  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
-
-IF (PLUGINS_ALSO_BINARIES)
-  INSTALL(TARGETS gridmaker RUNTIME DESTINATION ${QGIS_BIN_DIR})
-ENDIF (PLUGINS_ALSO_BINARIES)
+
+########################################################
+# Files
+
+SET (GRID_COMMON_SRCS
+     plugingui.cpp
+     graticulecreator.cpp
+     utils.c
+     shpopen.c
+     dbfopen.c
+)
+
+SET (GRID_SRCS
+     plugin.cpp
+     ${GRID_COMMON_SRCS}
+)
+
+SET (GRID_BINARY_SRCS
+     main.cpp
+     ${GRID_COMMON_SRCS}
+)
+
+SET (GRID_UIS pluginguibase.ui)
+
+SET (GRID_COMMON_MOC_HDRS plugingui.h)
+
+SET (GRID_MOC_HDRS plugin.h)
+
+SET (GRID_RCCS  gridmaker_plugin.qrc)
+
+########################################################
+# Build
+
+QT4_WRAP_UI (GRID_UIS_H  ${GRID_UIS})
+
+QT4_WRAP_CPP (GRID_COMMON_MOC_SRCS  ${GRID_COMMON_MOC_HDRS})
+
+QT4_WRAP_CPP (GRID_MOC_SRCS  ${GRID_MOC_HDRS})
+
+QT4_ADD_RESOURCES(GRID_RCC_SRCS ${GRID_RCCS})
+
+ADD_LIBRARY (gridmakerplugin MODULE ${GRID_SRCS} ${GRID_MOC_SRCS} ${GRID_COMMON_MOC_SRCS} ${GRID_RCC_SRCS} ${GRID_UIS_H})
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
+     ../../gui
+     ..
+)
+
+TARGET_LINK_LIBRARIES(gridmakerplugin
+  ${QT_LIBRARIES}
+  qgis_core
+  qgis_gui
+)
+
+IF (PLUGINS_ALSO_BINARIES)
+
+  ADD_EXECUTABLE (gridmaker ${GRID_BINARY_SRCS} ${GRID_COMMON_MOC_SRCS} ${GRID_RCC_SRCS})
+
+  TARGET_LINK_LIBRARIES(gridmaker
+    ${QT_LIBRARIES}
+    qgis_core
+    qgis_gui
+  )
+
+ENDIF (PLUGINS_ALSO_BINARIES)
+
+########################################################
+# Install
+
+INSTALL(TARGETS gridmakerplugin
+  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
+  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
+
+IF (PLUGINS_ALSO_BINARIES)
+  INSTALL(TARGETS gridmaker RUNTIME DESTINATION ${QGIS_BIN_DIR})
+ENDIF (PLUGINS_ALSO_BINARIES)

Deleted: packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,105 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-if !HAVE_QTMAC
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-plugindir = ${pkglibdir}
-
-#for plugin so
-plugin_LTLIBRARIES = gridmakerplugin.la
-
-# For standalone executable
-# don't build on mingw since we haven't figured out the makefile issues
-if MINGW_FALSE
-bin_PROGRAMS = gridmaker 
-endif
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-##
-##  For plugin lib
-##
-
-gridmakerplugin_la_SOURCES = plugin.cpp \
-	graticulecreator.cpp \
-	graticulecreator.h \
-	utils.c \
-	shpopen.c \
-	dbfopen.c \
-	shapefile.h \
-	plugingui.cpp \
-	$(plugin_UI)\
-	$(plugin_MOC)\
-	$(plugin_QRC) \
-	$(plugin_RES)
-
-	     
-plugin_MOC = plugin.moc.cpp \
-    plugingui.moc.cpp 
-
-plugin_UI = ui_pluginguibase.h 
-
-plugin_UIC = pluginguibase.ui
-
-plugin_RES = gridmaker_plugin.qrc.cpp
-
-#plugin_QRC = gridmaker_plugin.qrc
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-gridmakerplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-gridmakerplugin_la_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG_QGIS)
-gridmakerplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../core -I../../ui -I../../gui 
-gridmakerplugin_la_LDFLAGS = -avoid-version -module
-
-##
-##  For standalone executable
-##
-
-gridmaker_SOURCES = main.cpp \
-	graticulecreator.cpp \
-	graticulecreator.h \
-	utils.c \
-	shpopen.c \
-	dbfopen.c \
-	shapefile.h \
-	plugingui.cpp \
-	$(standalone_MOC) 
-
-gridmaker_LDADD = $(QT_LDADD) 
-gridmaker_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG_QGIS)
-gridmaker_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PKGDATAPATH) $(DEBUG_QGIS) -I../../gui -I../../ui -I../../core
-
-standalone_MOC = plugingui.moc.cpp 
-
-standalone_UI = ui_pluginguibase.h 
-
-CLEANFILES = $(BUILT_SOURCES)
-
-## 
-## Anything that must go in the tarball gets added here
-##
-
-EXTRA_DIST = $(plugin_UIC) icon.xpm \
-ui_pluginguibase.h \
-plugingui.h \
-plugin.h \
-utils.h

Deleted: packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/gridmakerplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/gridmakerplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/dbfopen.c
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/dbfopen.c	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/dbfopen.c	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,9 +1,9 @@
 /******************************************************************************
- * $Id: dbfopen.c 1581 2004-06-14 04:35:20Z gsherman $
+ * $Id: dbfopen.c 7058 2007-07-04 15:41:25Z timlinux $
  *
  * Project:  Shapelib
  * Purpose:  Implementation of .dbf access API documented in dbf_api.html.
- * Author:   Frank Warmerdam, warmerda at home.com
+ * Author:   Frank Warmerdam, warmerdam at pobox.com
  *
  ******************************************************************************
  * Copyright (c) 1999, Frank Warmerdam
@@ -33,111 +33,82 @@
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  *
- * $Log$
- * Revision 1.2  2004/06/14 04:35:19  gsherman
- * Changes to support Windows version
+ * $Log: dbfopen.c,v $
+ * Revision 1.71  2006/06/22 14:37:18  fwarmerdam
+ * avoid memory leak if dbfopen fread fails
  *
- * Revision 1.1  2004/04/05 15:39:45  timlinux
- * Initial commit of new plugin to build graticules - not working yet! And thus not added to higher level makefiles yet.
+ * Revision 1.70  2006/06/17 17:47:05  fwarmerdam
+ * use calloc() for dbfinfo in DBFCreate
  *
- * Revision 1.2  2004/03/31 20:36:46  timlinux
- * Fix for knock on effects of change of filename from shapefil.h to shapefile.h
+ * Revision 1.69  2006/06/17 15:34:32  fwarmerdam
+ * disallow creating fields wider than 255
  *
- * Revision 1.1  2004/03/22 23:38:25  timlinux
- * This is a c++ first draft of a port of a perl script by Schuyler to import Garmin gps dump files as a shapefile. The resulting imported file will be displayed in the map view. At the moment it only generates a point layer of the waypoints but a future version will generate polylines and perhaps polygons too using similar logic to that used by Shuylers perl stuff. Note this plugin is still under construction and I am commiting it mainly so that other developers can assist me when I get stuck. Also note that the plugins Makefile builds a standalone app based on the plugin gui that can be run separately from qgis.
+ * Revision 1.68  2006/06/17 15:12:40  fwarmerdam
+ * Fixed C++ style comments.
  *
- * Revision 1.22  1999/12/15 13:47:24  warmerda
- * Added stdlib.h to ensure that atof() is prototyped.
+ * Revision 1.67  2006/06/17 00:24:53  fwarmerdam
+ * Don't treat non-zero decimals values as high order byte for length
+ * for strings.  It causes serious corruption for some files.
+ * http://bugzilla.remotesensing.org/show_bug.cgi?id=1202
  *
- * Revision 1.21  1999/12/13 17:25:46  warmerda
- * Added support for upper case .DBF extention.
+ * Revision 1.66  2006/03/29 18:26:20  fwarmerdam
+ * fixed bug with size of pachfieldtype in dbfcloneempty
  *
- * Revision 1.20  1999/11/30 16:32:11  warmerda
- * Use atof() instead of sscanf().
+ * Revision 1.65  2006/02/15 01:14:30  fwarmerdam
+ * added DBFAddNativeFieldType
  *
- * Revision 1.19  1999/11/05 14:12:04  warmerda
- * updated license terms
+ * Revision 1.64  2006/02/09 00:29:04  fwarmerdam
+ * Changed to put spaces into string fields that are NULL as
+ * per http://bugzilla.maptools.org/show_bug.cgi?id=316.
  *
- * Revision 1.18  1999/07/27 00:53:28  warmerda
- * ensure that whole old field value clear on write of string
+ * Revision 1.63  2006/01/25 15:35:43  fwarmerdam
+ * check success on DBFFlushRecord
  *
- * Revision 1.1  1999/07/05 18:58:07  warmerda
- * New
+ * Revision 1.62  2006/01/10 16:28:03  fwarmerdam
+ * Fixed typo in CPLError.
  *
- * Revision 1.17  1999/06/11 19:14:12  warmerda
- * Fixed some memory leaks.
+ * Revision 1.61  2006/01/10 16:26:29  fwarmerdam
+ * Push loading record buffer into DBFLoadRecord.
+ * Implement CPL error reporting if USE_CPL defined.
  *
- * Revision 1.16  1999/06/11 19:04:11  warmerda
- * Remoted some unused variables.
+ * Revision 1.60  2006/01/05 01:27:27  fwarmerdam
+ * added dbf deletion mark/fetch
  *
- * Revision 1.15  1999/05/11 03:19:28  warmerda
- * added new Tuple api, and improved extension handling - add from candrsn
+ * Revision 1.59  2005/03/14 15:20:28  fwarmerdam
+ * Fixed last change.
  *
- * Revision 1.14  1999/05/04 15:01:48  warmerda
- * Added 'F' support.
+ * Revision 1.58  2005/03/14 15:18:54  fwarmerdam
+ * Treat very wide fields with no decimals as double.  This is
+ * more than 32bit integer fields.
  *
- * Revision 1.13  1999/03/23 17:38:59  warmerda
- * DBFAddField() now actually does return the new field number, or -1 if
- * it fails.
+ * Revision 1.57  2005/02/10 20:16:54  fwarmerdam
+ * Make the pszStringField buffer for DBFReadAttribute() static char [256]
+ * as per bug 306.
  *
- * Revision 1.12  1999/03/06 02:54:46  warmerda
- * Added logic to convert shapefile name to dbf filename in DBFOpen()
- * for convenience.
+ * Revision 1.56  2005/02/10 20:07:56  fwarmerdam
+ * Fixed bug 305 in DBFCloneEmpty() - header length problem.
  *
- * Revision 1.11  1998/12/31 15:30:34  warmerda
- * Improved the interchangability of numeric and string attributes.  Add
- * white space trimming option for attributes.
+ * Revision 1.55  2004/09/26 20:23:46  fwarmerdam
+ * avoid warnings with rcsid and signed/unsigned stuff
  *
- * Revision 1.10  1998/12/03 16:36:44  warmerda
- * Use r+b instead of rb+ for binary access.
- *
- * Revision 1.9  1998/12/03 15:34:23  warmerda
- * Updated copyright message.
- *
- * Revision 1.8  1997/12/04 15:40:15  warmerda
- * Added newline character after field definitions.
- *
- * Revision 1.7  1997/03/06 14:02:10  warmerda
- * Ensure bUpdated is initialized.
- *
- * Revision 1.6  1996/02/12 04:54:41  warmerda
- * Ensure that DBFWriteAttribute() returns TRUE if it succeeds.
- *
- * Revision 1.5  1995/10/21  03:15:12  warmerda
- * Changed to use binary file access, and ensure that the
- * field name field is zero filled, and limited to 10 chars.
- *
- * Revision 1.4  1995/08/24  18:10:42  warmerda
- * Added use of SfRealloc() to avoid pre-ANSI realloc() functions such
- * as on the Sun.
- *
- * Revision 1.3  1995/08/04  03:15:16  warmerda
- * Fixed up header.
- *
- * Revision 1.2  1995/08/04  03:14:43  warmerda
- * Added header.
+ * Revision 1.54  2004/09/15 16:26:10  fwarmerdam
+ * Treat all blank numeric fields as null too.
  */
 
-static char rcsid[] = 
-  "$Id: dbfopen.c 1581 2004-06-14 04:35:20Z gsherman $";
+#include "shapefil.h"
 
-#include "shapefile.h"
-
 #include <math.h>
 #include <stdlib.h>
-#ifdef WIN32
+#include <ctype.h>
 #include <string.h>
-#endif
-typedef unsigned char uchar;
 
+SHP_CVSID("$Id: dbfopen.c 7058 2007-07-04 15:41:25Z timlinux $")
+
 #ifndef FALSE
 #  define FALSE		0
 #  define TRUE		1
 #endif
 
-static int	nStringFieldLen = 0;
-static char * pszStringField = NULL;
-
 /************************************************************************/
 /*                             SfRealloc()                              */
 /*                                                                      */
@@ -166,7 +137,7 @@
 static void DBFWriteHeader(DBFHandle psDBF)
 
 {
-    uchar	abyHeader[XBASE_FLDHDR_SZ];
+    unsigned char	abyHeader[XBASE_FLDHDR_SZ];
     int		i;
 
     if( !psDBF->bNoHeader )
@@ -182,13 +153,18 @@
 
     abyHeader[0] = 0x03;		/* memo field? - just copying 	*/
 
-    /* date updated on close, record count preset at zero */
+    /* write out a dummy date */
+    abyHeader[1] = 95;			/* YY */
+    abyHeader[2] = 7;			/* MM */
+    abyHeader[3] = 26;			/* DD */
 
-    abyHeader[8] = psDBF->nHeaderLength % 256;
-    abyHeader[9] = psDBF->nHeaderLength / 256;
+    /* record count preset at zero */
+
+    abyHeader[8] = (unsigned char) (psDBF->nHeaderLength % 256);
+    abyHeader[9] = (unsigned char) (psDBF->nHeaderLength / 256);
     
-    abyHeader[10] = psDBF->nRecordLength % 256;
-    abyHeader[11] = psDBF->nRecordLength / 256;
+    abyHeader[10] = (unsigned char) (psDBF->nRecordLength % 256);
+    abyHeader[11] = (unsigned char) (psDBF->nRecordLength / 256);
 
 /* -------------------------------------------------------------------- */
 /*      Write the initial 32 byte file header, and all the field        */
@@ -216,7 +192,7 @@
 /*      Write out the current record if there is one.                   */
 /************************************************************************/
 
-static void DBFFlushRecord( DBFHandle psDBF )
+static int DBFFlushRecord( DBFHandle psDBF )
 
 {
     int		nRecordOffset;
@@ -228,23 +204,116 @@
 	nRecordOffset = psDBF->nRecordLength * psDBF->nCurrentRecord 
 	                                             + psDBF->nHeaderLength;
 
-	fseek( psDBF->fp, nRecordOffset, 0 );
-	fwrite( psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp );
+	if( fseek( psDBF->fp, nRecordOffset, 0 ) != 0 
+            || fwrite( psDBF->pszCurrentRecord, psDBF->nRecordLength, 
+                       1, psDBF->fp ) != 1 )
+        {
+#ifdef USE_CPL
+            CPLError( CE_Failure, CPLE_FileIO, 
+                      "Failure writing DBF record %d.", 
+                      psDBF->nCurrentRecord );
+#else           
+            fprintf( stderr, "Failure writing DBF record %d.", 
+                     psDBF->nCurrentRecord );
+#endif
+            return FALSE;
+        }
     }
+
+    return TRUE;
 }
 
 /************************************************************************/
+/*                           DBFLoadRecord()                            */
+/************************************************************************/
+
+static int DBFLoadRecord( DBFHandle psDBF, int iRecord )
+
+{
+    if( psDBF->nCurrentRecord != iRecord )
+    {
+        int nRecordOffset;
+
+	if( !DBFFlushRecord( psDBF ) )
+            return FALSE;
+
+	nRecordOffset = psDBF->nRecordLength * iRecord + psDBF->nHeaderLength;
+
+	if( fseek( psDBF->fp, nRecordOffset, 0 ) != 0 )
+        {
+#ifdef USE_CPL
+            CPLError( CE_Failure, CPLE_FileIO,
+                      "fseek(%d) failed on DBF file.\n",
+                      nRecordOffset );
+#else
+            fprintf( stderr, "fseek(%d) failed on DBF file.\n",
+                     nRecordOffset );
+#endif
+            return FALSE;
+        }
+
+	if( fread( psDBF->pszCurrentRecord, psDBF->nRecordLength, 
+                   1, psDBF->fp ) != 1 )
+        {
+#ifdef USE_CPL
+            CPLError( CE_Failure, CPLE_FileIO, 
+                      "fread(%d) failed on DBF file.\n",
+                      psDBF->nRecordLength );
+#else
+            fprintf( stderr, "fread(%d) failed on DBF file.\n",
+                     psDBF->nRecordLength );
+#endif
+            return FALSE;
+        }
+
+	psDBF->nCurrentRecord = iRecord;
+    }
+
+    return TRUE;
+}
+
+/************************************************************************/
+/*                          DBFUpdateHeader()                           */
+/************************************************************************/
+
+void SHPAPI_CALL
+DBFUpdateHeader( DBFHandle psDBF )
+
+{
+    unsigned char		abyFileHeader[32];
+
+    if( psDBF->bNoHeader )
+        DBFWriteHeader( psDBF );
+
+    DBFFlushRecord( psDBF );
+
+    fseek( psDBF->fp, 0, 0 );
+    fread( abyFileHeader, 32, 1, psDBF->fp );
+    
+    abyFileHeader[4] = (unsigned char) (psDBF->nRecords % 256);
+    abyFileHeader[5] = (unsigned char) ((psDBF->nRecords/256) % 256);
+    abyFileHeader[6] = (unsigned char) ((psDBF->nRecords/(256*256)) % 256);
+    abyFileHeader[7] = (unsigned char) ((psDBF->nRecords/(256*256*256)) % 256);
+    
+    fseek( psDBF->fp, 0, 0 );
+    fwrite( abyFileHeader, 32, 1, psDBF->fp );
+
+    fflush( psDBF->fp );
+}
+
+/************************************************************************/
 /*                              DBFOpen()                               */
 /*                                                                      */
 /*      Open a .dbf file.                                               */
 /************************************************************************/
    
-DBFHandle DBFOpen( const char * pszFilename, const char * pszAccess )
+DBFHandle SHPAPI_CALL
+DBFOpen( const char * pszFilename, const char * pszAccess )
 
 {
     DBFHandle		psDBF;
-    uchar		*pabyBuf;
-    int			nFields, nRecords, nHeadLen, nRecLen, iField, i;
+    unsigned char		*pabyBuf;
+    int			nFields, nHeadLen, iField, i;
     char		*pszBasename, *pszFullname;
 
 /* -------------------------------------------------------------------- */
@@ -255,6 +324,12 @@
         && strcmp(pszAccess,"r+b") != 0 )
         return( NULL );
 
+    if( strcmp(pszAccess,"r") == 0 )
+        pszAccess = "rb";
+ 
+    if( strcmp(pszAccess,"r+") == 0 )
+        pszAccess = "rb+";
+
 /* -------------------------------------------------------------------- */
 /*	Compute the base (layer) name.  If there is any extension	*/
 /*	on the passed in filename we will strip it off.			*/
@@ -297,28 +372,41 @@
 /* -------------------------------------------------------------------- */
 /*  Read Table Header info                                              */
 /* -------------------------------------------------------------------- */
-    pabyBuf = (uchar *) malloc(500);
-    fread( pabyBuf, 32, 1, psDBF->fp );
+    pabyBuf = (unsigned char *) malloc(500);
+    if( fread( pabyBuf, 32, 1, psDBF->fp ) != 1 )
+    {
+        fclose( psDBF->fp );
+        free( pabyBuf );
+        free( psDBF );
+        return NULL;
+    }
 
-    psDBF->nRecords = nRecords = 
+    psDBF->nRecords = 
      pabyBuf[4] + pabyBuf[5]*256 + pabyBuf[6]*256*256 + pabyBuf[7]*256*256*256;
 
     psDBF->nHeaderLength = nHeadLen = pabyBuf[8] + pabyBuf[9]*256;
-    psDBF->nRecordLength = nRecLen = pabyBuf[10] + pabyBuf[11]*256;
+    psDBF->nRecordLength = pabyBuf[10] + pabyBuf[11]*256;
     
     psDBF->nFields = nFields = (nHeadLen - 32) / 32;
 
-    psDBF->pszCurrentRecord = (char *) malloc(nRecLen);
+    psDBF->pszCurrentRecord = (char *) malloc(psDBF->nRecordLength);
 
 /* -------------------------------------------------------------------- */
 /*  Read in Field Definitions                                           */
 /* -------------------------------------------------------------------- */
     
-    pabyBuf = (uchar *) SfRealloc(pabyBuf,nHeadLen);
+    pabyBuf = (unsigned char *) SfRealloc(pabyBuf,nHeadLen);
     psDBF->pszHeader = (char *) pabyBuf;
 
     fseek( psDBF->fp, 32, 0 );
-    fread( pabyBuf, nHeadLen, 1, psDBF->fp );
+    if( fread( pabyBuf, nHeadLen-32, 1, psDBF->fp ) != 1 )
+    {
+        fclose( psDBF->fp );
+        free( pabyBuf );
+        free( psDBF->pszCurrentRecord );
+        free( psDBF );
+        return NULL;
+    }
 
     psDBF->panFieldOffset = (int *) malloc(sizeof(int) * nFields);
     psDBF->panFieldSize = (int *) malloc(sizeof(int) * nFields);
@@ -327,7 +415,7 @@
 
     for( iField = 0; iField < nFields; iField++ )
     {
-	uchar		*pabyFInfo;
+	unsigned char		*pabyFInfo;
 
 	pabyFInfo = pabyBuf+iField*32;
 
@@ -338,8 +426,17 @@
 	}
 	else
 	{
+	    psDBF->panFieldSize[iField] = pabyFInfo[16];
+	    psDBF->panFieldDecimals[iField] = 0;
+
+/*
+** The following seemed to be used sometimes to handle files with long
+** string fields, but in other cases (such as bug 1202) the decimals field
+** just seems to indicate some sort of preferred formatting, not very
+** wide fields.  So I have disabled this code.  FrankW.
 	    psDBF->panFieldSize[iField] = pabyFInfo[16] + pabyFInfo[17]*256;
 	    psDBF->panFieldDecimals[iField] = 0;
+*/
 	}
 
 	psDBF->pachFieldType[iField] = (char) pabyFInfo[11];
@@ -357,7 +454,8 @@
 /*                              DBFClose()                              */
 /************************************************************************/
 
-void	DBFClose(DBFHandle psDBF)
+void SHPAPI_CALL
+DBFClose(DBFHandle psDBF)
 {
 /* -------------------------------------------------------------------- */
 /*      Write out header if not already written.                        */
@@ -372,25 +470,8 @@
 /*	write access.                					*/
 /* -------------------------------------------------------------------- */
     if( psDBF->bUpdated )
-    {
-	uchar		abyFileHeader[32];
+        DBFUpdateHeader( psDBF );
 
-	fseek( psDBF->fp, 0, 0 );
-	fread( abyFileHeader, 32, 1, psDBF->fp );
-
-	abyFileHeader[1] = 95;			/* YY */
-	abyFileHeader[2] = 7;			/* MM */
-	abyFileHeader[3] = 26;			/* DD */
-
-	abyFileHeader[4] = psDBF->nRecords % 256;
-	abyFileHeader[5] = (psDBF->nRecords/256) % 256;
-	abyFileHeader[6] = (psDBF->nRecords/(256*256)) % 256;
-	abyFileHeader[7] = (psDBF->nRecords/(256*256*256)) % 256;
-
-	fseek( psDBF->fp, 0, 0 );
-	fwrite( abyFileHeader, 32, 1, psDBF->fp );
-    }
-
 /* -------------------------------------------------------------------- */
 /*      Close, and free resources.                                      */
 /* -------------------------------------------------------------------- */
@@ -404,17 +485,13 @@
         free( psDBF->pachFieldType );
     }
 
+    if( psDBF->pszWorkField != NULL )
+        free( psDBF->pszWorkField );
+
     free( psDBF->pszHeader );
     free( psDBF->pszCurrentRecord );
 
     free( psDBF );
-
-    if( pszStringField != NULL )
-    {
-        free( pszStringField );
-        pszStringField = NULL;
-        nStringFieldLen = 0;
-    }
 }
 
 /************************************************************************/
@@ -423,7 +500,8 @@
 /*      Create a new .dbf file.                                         */
 /************************************************************************/
 
-DBFHandle DBFCreate( const char * pszFilename )
+DBFHandle SHPAPI_CALL
+DBFCreate( const char * pszFilename )
 
 {
     DBFHandle	psDBF;
@@ -468,7 +546,7 @@
 /* -------------------------------------------------------------------- */
 /*	Create the info structure.					*/
 /* -------------------------------------------------------------------- */
-    psDBF = (DBFHandle) malloc(sizeof(DBFInfo));
+    psDBF = (DBFHandle) calloc(1,sizeof(DBFInfo));
 
     psDBF->fp = fp;
     psDBF->nRecords = 0;
@@ -498,10 +576,36 @@
 /*      are written.                                                    */
 /************************************************************************/
 
-int	DBFAddField(DBFHandle psDBF, const char * pszFieldName, 
-		    DBFFieldType eType, int nWidth, int nDecimals )
+int SHPAPI_CALL
+DBFAddField(DBFHandle psDBF, const char * pszFieldName, 
+            DBFFieldType eType, int nWidth, int nDecimals )
 
 {
+    char chNativeType = 'C';
+
+    if( eType == FTLogical )
+        chNativeType = 'L';
+    else if( eType == FTString )
+        chNativeType = 'C';
+    else
+        chNativeType = 'N';
+
+    return DBFAddNativeFieldType( psDBF, pszFieldName, chNativeType, 
+                                  nWidth, nDecimals );
+}
+
+/************************************************************************/
+/*                            DBFAddField()                             */
+/*                                                                      */
+/*      Add a field to a newly created .dbf file before any records     */
+/*      are written.                                                    */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFAddNativeFieldType(DBFHandle psDBF, const char * pszFieldName, 
+                      char chType, int nWidth, int nDecimals )
+
+{
     char	*pszFInfo;
     int		i;
 
@@ -514,9 +618,12 @@
     if( !psDBF->bNoHeader )
         return( -1 );
 
-    if( eType != FTDouble && nDecimals != 0 )
-        return( -1 );
+    if( nWidth < 1 )
+        return -1;
 
+    if( nWidth > 255 )
+        nWidth = 255;
+
 /* -------------------------------------------------------------------- */
 /*      SfRealloc all the arrays larger to hold the additional field      */
 /*      information.                                                    */
@@ -524,16 +631,16 @@
     psDBF->nFields++;
 
     psDBF->panFieldOffset = (int *) 
-      SfRealloc( psDBF->panFieldOffset, sizeof(int) * psDBF->nFields );
+        SfRealloc( psDBF->panFieldOffset, sizeof(int) * psDBF->nFields );
 
     psDBF->panFieldSize = (int *) 
-      SfRealloc( psDBF->panFieldSize, sizeof(int) * psDBF->nFields );
+        SfRealloc( psDBF->panFieldSize, sizeof(int) * psDBF->nFields );
 
     psDBF->panFieldDecimals = (int *) 
-      SfRealloc( psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields );
+        SfRealloc( psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields );
 
     psDBF->pachFieldType = (char *) 
-      SfRealloc( psDBF->pachFieldType, sizeof(char) * psDBF->nFields );
+        SfRealloc( psDBF->pachFieldType, sizeof(char) * psDBF->nFields );
 
 /* -------------------------------------------------------------------- */
 /*      Assign the new field information fields.                        */
@@ -542,12 +649,8 @@
     psDBF->nRecordLength += nWidth;
     psDBF->panFieldSize[psDBF->nFields-1] = nWidth;
     psDBF->panFieldDecimals[psDBF->nFields-1] = nDecimals;
+    psDBF->pachFieldType[psDBF->nFields-1] = chType;
 
-    if( eType == FTString )
-        psDBF->pachFieldType[psDBF->nFields-1] = 'C';
-    else
-        psDBF->pachFieldType[psDBF->nFields-1] = 'N';
-
 /* -------------------------------------------------------------------- */
 /*      Extend the required header information.                         */
 /* -------------------------------------------------------------------- */
@@ -561,29 +664,29 @@
     for( i = 0; i < 32; i++ )
         pszFInfo[i] = '\0';
 
-    if( strlen(pszFieldName) < 10 )
+    if( (int) strlen(pszFieldName) < 10 )
         strncpy( pszFInfo, pszFieldName, strlen(pszFieldName));
     else
         strncpy( pszFInfo, pszFieldName, 10);
 
     pszFInfo[11] = psDBF->pachFieldType[psDBF->nFields-1];
 
-    if( eType == FTString )
+    if( chType == 'C' )
     {
-        pszFInfo[16] = nWidth % 256;
-        pszFInfo[17] = nWidth / 256;
+        pszFInfo[16] = (unsigned char) (nWidth % 256);
+        pszFInfo[17] = (unsigned char) (nWidth / 256);
     }
     else
     {
-        pszFInfo[16] = nWidth;
-        pszFInfo[17] = nDecimals;
+        pszFInfo[16] = (unsigned char) nWidth;
+        pszFInfo[17] = (unsigned char) nDecimals;
     }
     
 /* -------------------------------------------------------------------- */
 /*      Make the current record buffer appropriately larger.            */
 /* -------------------------------------------------------------------- */
     psDBF->pszCurrentRecord = (char *) SfRealloc(psDBF->pszCurrentRecord,
-					       psDBF->nRecordLength);
+                                                 psDBF->nRecordLength);
 
     return( psDBF->nFields-1 );
 }
@@ -598,56 +701,57 @@
                               char chReqType )
 
 {
-    int	       	nRecordOffset;
-    uchar	*pabyRec;
+    unsigned char	*pabyRec;
     void	*pReturnField = NULL;
 
     static double dDoubleField;
 
 /* -------------------------------------------------------------------- */
-/*	Have we read the record?					*/
+/*      Verify selection.                                               */
 /* -------------------------------------------------------------------- */
     if( hEntity < 0 || hEntity >= psDBF->nRecords )
         return( NULL );
 
-    if( psDBF->nCurrentRecord != hEntity )
-    {
-	DBFFlushRecord( psDBF );
+    if( iField < 0 || iField >= psDBF->nFields )
+        return( NULL );
 
-	nRecordOffset = psDBF->nRecordLength * hEntity + psDBF->nHeaderLength;
+/* -------------------------------------------------------------------- */
+/*	Have we read the record?					*/
+/* -------------------------------------------------------------------- */
+    if( !DBFLoadRecord( psDBF, hEntity ) )
+        return NULL;
 
-	fseek( psDBF->fp, nRecordOffset, 0 );
-	fread( psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp );
+    pabyRec = (unsigned char *) psDBF->pszCurrentRecord;
 
-	psDBF->nCurrentRecord = hEntity;
-    }
-
-    pabyRec = (uchar *) psDBF->pszCurrentRecord;
-
 /* -------------------------------------------------------------------- */
-/*	Ensure our field buffer is large enough to hold this buffer.	*/
+/*      Ensure we have room to extract the target field.                */
 /* -------------------------------------------------------------------- */
-    if( psDBF->panFieldSize[iField]+1 > nStringFieldLen )
+    if( psDBF->panFieldSize[iField] >= psDBF->nWorkFieldLength )
     {
-	nStringFieldLen = psDBF->panFieldSize[iField]*2 + 10;
-	pszStringField = (char *) SfRealloc(pszStringField,nStringFieldLen);
+        psDBF->nWorkFieldLength = psDBF->panFieldSize[iField] + 100;
+        if( psDBF->pszWorkField == NULL )
+            psDBF->pszWorkField = (char *) malloc(psDBF->nWorkFieldLength);
+        else
+            psDBF->pszWorkField = (char *) realloc(psDBF->pszWorkField,
+                                                   psDBF->nWorkFieldLength);
     }
 
 /* -------------------------------------------------------------------- */
 /*	Extract the requested field.					*/
 /* -------------------------------------------------------------------- */
-    strncpy( pszStringField, pabyRec+psDBF->panFieldOffset[iField],
+    strncpy( psDBF->pszWorkField,
+	     ((const char *) pabyRec) + psDBF->panFieldOffset[iField],
 	     psDBF->panFieldSize[iField] );
-    pszStringField[psDBF->panFieldSize[iField]] = '\0';
+    psDBF->pszWorkField[psDBF->panFieldSize[iField]] = '\0';
 
-    pReturnField = pszStringField;
+    pReturnField = psDBF->pszWorkField;
 
 /* -------------------------------------------------------------------- */
 /*      Decode the field.                                               */
 /* -------------------------------------------------------------------- */
     if( chReqType == 'N' )
     {
-        dDoubleField = atof(pszStringField);
+        dDoubleField = atof(psDBF->pszWorkField);
 
 	pReturnField = &dDoubleField;
     }
@@ -660,7 +764,7 @@
     {
         char	*pchSrc, *pchDst;
 
-        pchDst = pchSrc = pszStringField;
+        pchDst = pchSrc = psDBF->pszWorkField;
         while( *pchSrc == ' ' )
             pchSrc++;
 
@@ -668,9 +772,8 @@
             *(pchDst++) = *(pchSrc++);
         *pchDst = '\0';
 
-        while( *(--pchDst) == ' ' && pchDst != pszStringField )
+        while( pchDst != psDBF->pszWorkField && *(--pchDst) == ' ' )
             *pchDst = '\0';
-
     }
 #endif
     
@@ -683,14 +786,18 @@
 /*      Read an integer attribute.                                      */
 /************************************************************************/
 
-int	DBFReadIntegerAttribute( DBFHandle psDBF, int iRecord, int iField )
+int SHPAPI_CALL
+DBFReadIntegerAttribute( DBFHandle psDBF, int iRecord, int iField )
 
 {
     double	*pdValue;
 
     pdValue = (double *) DBFReadAttribute( psDBF, iRecord, iField, 'N' );
 
-    return( (int) *pdValue );
+    if( pdValue == NULL )
+        return 0;
+    else
+        return( (int) *pdValue );
 }
 
 /************************************************************************/
@@ -699,14 +806,18 @@
 /*      Read a double attribute.                                        */
 /************************************************************************/
 
-double	DBFReadDoubleAttribute( DBFHandle psDBF, int iRecord, int iField )
+double SHPAPI_CALL
+DBFReadDoubleAttribute( DBFHandle psDBF, int iRecord, int iField )
 
 {
     double	*pdValue;
 
     pdValue = (double *) DBFReadAttribute( psDBF, iRecord, iField, 'N' );
 
-    return( *pdValue );
+    if( pdValue == NULL )
+        return 0.0;
+    else
+        return( *pdValue );
 }
 
 /************************************************************************/
@@ -715,19 +826,87 @@
 /*      Read a string attribute.                                        */
 /************************************************************************/
 
-const char *DBFReadStringAttribute( DBFHandle psDBF, int iRecord, int iField )
+const char SHPAPI_CALL1(*)
+DBFReadStringAttribute( DBFHandle psDBF, int iRecord, int iField )
 
 {
     return( (const char *) DBFReadAttribute( psDBF, iRecord, iField, 'C' ) );
 }
 
 /************************************************************************/
+/*                        DBFReadLogicalAttribute()                     */
+/*                                                                      */
+/*      Read a logical attribute.                                       */
+/************************************************************************/
+
+const char SHPAPI_CALL1(*)
+DBFReadLogicalAttribute( DBFHandle psDBF, int iRecord, int iField )
+
+{
+    return( (const char *) DBFReadAttribute( psDBF, iRecord, iField, 'L' ) );
+}
+
+/************************************************************************/
+/*                         DBFIsAttributeNULL()                         */
+/*                                                                      */
+/*      Return TRUE if value for field is NULL.                         */
+/*                                                                      */
+/*      Contributed by Jim Matthews.                                    */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFIsAttributeNULL( DBFHandle psDBF, int iRecord, int iField )
+
+{
+    const char	*pszValue;
+    int i;
+
+    pszValue = DBFReadStringAttribute( psDBF, iRecord, iField );
+
+    if( pszValue == NULL )
+        return TRUE;
+
+    switch(psDBF->pachFieldType[iField])
+    {
+      case 'N':
+      case 'F':
+        /*
+        ** We accept all asterisks or all blanks as NULL 
+        ** though according to the spec I think it should be all 
+        ** asterisks. 
+        */
+        if( pszValue[0] == '*' )
+            return TRUE;
+
+        for( i = 0; pszValue[i] != '\0'; i++ )
+        {
+            if( pszValue[i] != ' ' )
+                return FALSE;
+        }
+        return TRUE;
+
+      case 'D':
+        /* NULL date fields have value "00000000" */
+        return strncmp(pszValue,"00000000",8) == 0;
+
+      case 'L':
+        /* NULL boolean fields have value "?" */ 
+        return pszValue[0] == '?';
+
+      default:
+        /* empty string fields are considered NULL */
+        return strlen(pszValue) == 0;
+    }
+}
+
+/************************************************************************/
 /*                          DBFGetFieldCount()                          */
 /*                                                                      */
 /*      Return the number of fields in this table.                      */
 /************************************************************************/
 
-int	DBFGetFieldCount( DBFHandle psDBF )
+int SHPAPI_CALL
+DBFGetFieldCount( DBFHandle psDBF )
 
 {
     return( psDBF->nFields );
@@ -739,7 +918,8 @@
 /*      Return the number of records in this table.                     */
 /************************************************************************/
 
-int	DBFGetRecordCount( DBFHandle psDBF )
+int SHPAPI_CALL
+DBFGetRecordCount( DBFHandle psDBF )
 
 {
     return( psDBF->nRecords );
@@ -751,8 +931,9 @@
 /*      Return any requested information about the field.               */
 /************************************************************************/
 
-DBFFieldType DBFGetFieldInfo( DBFHandle psDBF, int iField, char * pszFieldName,
-			      int * pnWidth, int * pnDecimals )
+DBFFieldType SHPAPI_CALL
+DBFGetFieldInfo( DBFHandle psDBF, int iField, char * pszFieldName,
+                 int * pnWidth, int * pnDecimals )
 
 {
     if( iField < 0 || iField >= psDBF->nFields )
@@ -774,11 +955,14 @@
 	    pszFieldName[i] = '\0';
     }
 
-    if( psDBF->pachFieldType[iField] == 'N' 
-        || psDBF->pachFieldType[iField] == 'F'
-        || psDBF->pachFieldType[iField] == 'D' )
+    if ( psDBF->pachFieldType[iField] == 'L' )
+	return( FTLogical);
+
+    else if( psDBF->pachFieldType[iField] == 'N' 
+             || psDBF->pachFieldType[iField] == 'F' )
     {
-	if( psDBF->panFieldDecimals[iField] > 0 )
+	if( psDBF->panFieldDecimals[iField] > 0 
+            || psDBF->panFieldSize[iField] > 10 )
 	    return( FTDouble );
 	else
 	    return( FTInteger );
@@ -799,9 +983,9 @@
 			     void * pValue )
 
 {
-    int	       	nRecordOffset, i, j;
-    uchar	*pabyRec;
-    char	szSField[40], szFormat[12];
+    int	       	i, j, nRetResult = TRUE;
+    unsigned char	*pabyRec;
+    char	szSField[400], szFormat[20];
 
 /* -------------------------------------------------------------------- */
 /*	Is this a valid record?						*/
@@ -817,7 +1001,8 @@
 /* -------------------------------------------------------------------- */
     if( hEntity == psDBF->nRecords )
     {
-	DBFFlushRecord( psDBF );
+	if( !DBFFlushRecord( psDBF ) )
+            return FALSE;
 
 	psDBF->nRecords++;
 	for( i = 0; i < psDBF->nRecordLength; i++ )
@@ -830,20 +1015,51 @@
 /*      Is this an existing record, but different than the last one     */
 /*      we accessed?                                                    */
 /* -------------------------------------------------------------------- */
-    if( psDBF->nCurrentRecord != hEntity )
+    if( !DBFLoadRecord( psDBF, hEntity ) )
+        return FALSE;
+
+    pabyRec = (unsigned char *) psDBF->pszCurrentRecord;
+
+    psDBF->bCurrentRecordModified = TRUE;
+    psDBF->bUpdated = TRUE;
+
+/* -------------------------------------------------------------------- */
+/*      Translate NULL value to valid DBF file representation.          */
+/*                                                                      */
+/*      Contributed by Jim Matthews.                                    */
+/* -------------------------------------------------------------------- */
+    if( pValue == NULL )
     {
-	DBFFlushRecord( psDBF );
+        switch(psDBF->pachFieldType[iField])
+        {
+          case 'N':
+          case 'F':
+	    /* NULL numeric fields have value "****************" */
+            memset( (char *) (pabyRec+psDBF->panFieldOffset[iField]), '*', 
+                    psDBF->panFieldSize[iField] );
+            break;
 
-	nRecordOffset = psDBF->nRecordLength * hEntity + psDBF->nHeaderLength;
+          case 'D':
+	    /* NULL date fields have value "00000000" */
+            memset( (char *) (pabyRec+psDBF->panFieldOffset[iField]), '0', 
+                    psDBF->panFieldSize[iField] );
+            break;
 
-	fseek( psDBF->fp, nRecordOffset, 0 );
-	fread( psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp );
+          case 'L':
+	    /* NULL boolean fields have value "?" */ 
+            memset( (char *) (pabyRec+psDBF->panFieldOffset[iField]), '?', 
+                    psDBF->panFieldSize[iField] );
+            break;
 
-	psDBF->nCurrentRecord = hEntity;
+          default:
+            /* empty string fields are considered NULL */
+            memset( (char *) (pabyRec+psDBF->panFieldOffset[iField]), ' ', 
+                    psDBF->panFieldSize[iField] );
+            break;
+        }
+        return TRUE;
     }
 
-    pabyRec = (uchar *) psDBF->pszCurrentRecord;
-
 /* -------------------------------------------------------------------- */
 /*      Assign all the record fields.                                   */
 /* -------------------------------------------------------------------- */
@@ -854,30 +1070,54 @@
       case 'F':
 	if( psDBF->panFieldDecimals[iField] == 0 )
 	{
-	    sprintf( szFormat, "%%%dd", psDBF->panFieldSize[iField] );
+            int		nWidth = psDBF->panFieldSize[iField];
+
+            if( (int) sizeof(szSField)-2 < nWidth )
+                nWidth = sizeof(szSField)-2;
+
+	    sprintf( szFormat, "%%%dd", nWidth );
 	    sprintf(szSField, szFormat, (int) *((double *) pValue) );
-	    if( strlen(szSField) > psDBF->panFieldSize[iField] )
+	    if( (int)strlen(szSField) > psDBF->panFieldSize[iField] )
+            {
 	        szSField[psDBF->panFieldSize[iField]] = '\0';
+                nRetResult = FALSE;
+            }
 
 	    strncpy((char *) (pabyRec+psDBF->panFieldOffset[iField]),
 		    szSField, strlen(szSField) );
 	}
 	else
 	{
+            int		nWidth = psDBF->panFieldSize[iField];
+
+            if( (int) sizeof(szSField)-2 < nWidth )
+                nWidth = sizeof(szSField)-2;
+
 	    sprintf( szFormat, "%%%d.%df", 
-		     psDBF->panFieldSize[iField],
-		     psDBF->panFieldDecimals[iField] );
+                     nWidth, psDBF->panFieldDecimals[iField] );
 	    sprintf(szSField, szFormat, *((double *) pValue) );
-	    if( strlen(szSField) > psDBF->panFieldSize[iField] )
+	    if( (int) strlen(szSField) > psDBF->panFieldSize[iField] )
+            {
 	        szSField[psDBF->panFieldSize[iField]] = '\0';
+                nRetResult = FALSE;
+            }
 	    strncpy((char *) (pabyRec+psDBF->panFieldOffset[iField]),
 		    szSField, strlen(szSField) );
 	}
 	break;
 
+      case 'L':
+        if (psDBF->panFieldSize[iField] >= 1  && 
+            (*(char*)pValue == 'F' || *(char*)pValue == 'T'))
+            *(pabyRec+psDBF->panFieldOffset[iField]) = *(char*)pValue;
+        break;
+
       default:
-	if( strlen((char *) pValue) > psDBF->panFieldSize[iField] )
+	if( (int) strlen((char *) pValue) > psDBF->panFieldSize[iField] )
+        {
 	    j = psDBF->panFieldSize[iField];
+            nRetResult = FALSE;
+        }
 	else
         {
             memset( pabyRec+psDBF->panFieldOffset[iField], ' ',
@@ -890,6 +1130,73 @@
 	break;
     }
 
+    return( nRetResult );
+}
+
+/************************************************************************/
+/*                     DBFWriteAttributeDirectly()                      */
+/*                                                                      */
+/*      Write an attribute record to the file, but without any          */
+/*      reformatting based on type.  The provided buffer is written     */
+/*      as is to the field position in the record.                      */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField,
+                              void * pValue )
+
+{
+    int	       		i, j;
+    unsigned char	*pabyRec;
+
+/* -------------------------------------------------------------------- */
+/*	Is this a valid record?						*/
+/* -------------------------------------------------------------------- */
+    if( hEntity < 0 || hEntity > psDBF->nRecords )
+        return( FALSE );
+
+    if( psDBF->bNoHeader )
+        DBFWriteHeader(psDBF);
+
+/* -------------------------------------------------------------------- */
+/*      Is this a brand new record?                                     */
+/* -------------------------------------------------------------------- */
+    if( hEntity == psDBF->nRecords )
+    {
+	if( !DBFFlushRecord( psDBF ) )
+            return FALSE;
+
+	psDBF->nRecords++;
+	for( i = 0; i < psDBF->nRecordLength; i++ )
+	    psDBF->pszCurrentRecord[i] = ' ';
+
+	psDBF->nCurrentRecord = hEntity;
+    }
+
+/* -------------------------------------------------------------------- */
+/*      Is this an existing record, but different than the last one     */
+/*      we accessed?                                                    */
+/* -------------------------------------------------------------------- */
+    if( !DBFLoadRecord( psDBF, hEntity ) )
+        return FALSE;
+
+    pabyRec = (unsigned char *) psDBF->pszCurrentRecord;
+
+/* -------------------------------------------------------------------- */
+/*      Assign all the record fields.                                   */
+/* -------------------------------------------------------------------- */
+    if( (int)strlen((char *) pValue) > psDBF->panFieldSize[iField] )
+        j = psDBF->panFieldSize[iField];
+    else
+    {
+        memset( pabyRec+psDBF->panFieldOffset[iField], ' ',
+                psDBF->panFieldSize[iField] );
+        j = strlen((char *) pValue);
+    }
+
+    strncpy((char *) (pabyRec+psDBF->panFieldOffset[iField]),
+            (char *) pValue, j );
+
     psDBF->bCurrentRecordModified = TRUE;
     psDBF->bUpdated = TRUE;
 
@@ -902,8 +1209,9 @@
 /*      Write a double attribute.                                       */
 /************************************************************************/
 
-int DBFWriteDoubleAttribute( DBFHandle psDBF, int iRecord, int iField,
-			     double dValue )
+int SHPAPI_CALL
+DBFWriteDoubleAttribute( DBFHandle psDBF, int iRecord, int iField,
+                         double dValue )
 
 {
     return( DBFWriteAttribute( psDBF, iRecord, iField, (void *) &dValue ) );
@@ -915,8 +1223,9 @@
 /*      Write a integer attribute.                                      */
 /************************************************************************/
 
-int DBFWriteIntegerAttribute( DBFHandle psDBF, int iRecord, int iField,
-			      int nValue )
+int SHPAPI_CALL
+DBFWriteIntegerAttribute( DBFHandle psDBF, int iRecord, int iField,
+                          int nValue )
 
 {
     double	dValue = nValue;
@@ -930,24 +1239,53 @@
 /*      Write a string attribute.                                       */
 /************************************************************************/
 
-int DBFWriteStringAttribute( DBFHandle psDBF, int iRecord, int iField,
-			     const char * pszValue )
+int SHPAPI_CALL
+DBFWriteStringAttribute( DBFHandle psDBF, int iRecord, int iField,
+                         const char * pszValue )
 
 {
     return( DBFWriteAttribute( psDBF, iRecord, iField, (void *) pszValue ) );
 }
 
 /************************************************************************/
+/*                      DBFWriteNULLAttribute()                         */
+/*                                                                      */
+/*      Write a string attribute.                                       */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFWriteNULLAttribute( DBFHandle psDBF, int iRecord, int iField )
+
+{
+    return( DBFWriteAttribute( psDBF, iRecord, iField, NULL ) );
+}
+
+/************************************************************************/
+/*                      DBFWriteLogicalAttribute()                      */
+/*                                                                      */
+/*      Write a logical attribute.                                      */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFWriteLogicalAttribute( DBFHandle psDBF, int iRecord, int iField,
+		       const char lValue)
+
+{
+    return( DBFWriteAttribute( psDBF, iRecord, iField, (void *) (&lValue) ) );
+}
+
+/************************************************************************/
 /*                         DBFWriteTuple()                              */
 /*									*/
 /*	Write an attribute record to the file.				*/
 /************************************************************************/
 
-int DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple )
+int SHPAPI_CALL
+DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple )
 
 {
-    int	       	nRecordOffset, i;
-    uchar	*pabyRec;
+    int	       		i;
+    unsigned char	*pabyRec;
 
 /* -------------------------------------------------------------------- */
 /*	Is this a valid record?						*/
@@ -963,7 +1301,8 @@
 /* -------------------------------------------------------------------- */
     if( hEntity == psDBF->nRecords )
     {
-	DBFFlushRecord( psDBF );
+	if( !DBFFlushRecord( psDBF ) )
+            return FALSE;
 
 	psDBF->nRecords++;
 	for( i = 0; i < psDBF->nRecordLength; i++ )
@@ -976,20 +1315,11 @@
 /*      Is this an existing record, but different than the last one     */
 /*      we accessed?                                                    */
 /* -------------------------------------------------------------------- */
-    if( psDBF->nCurrentRecord != hEntity )
-    {
-	DBFFlushRecord( psDBF );
+    if( !DBFLoadRecord( psDBF, hEntity ) )
+        return FALSE;
 
-	nRecordOffset = psDBF->nRecordLength * hEntity + psDBF->nHeaderLength;
+    pabyRec = (unsigned char *) psDBF->pszCurrentRecord;
 
-	fseek( psDBF->fp, nRecordOffset, 0 );
-	fread( psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp );
-
-	psDBF->nCurrentRecord = hEntity;
-    }
-
-    pabyRec = (uchar *) psDBF->pszCurrentRecord;
-
     memcpy ( pabyRec, pRawTuple,  psDBF->nRecordLength );
 
     psDBF->bCurrentRecordModified = TRUE;
@@ -1004,11 +1334,11 @@
 /*      Read one of the attribute fields of a record.                   */
 /************************************************************************/
 
-const char *DBFReadTuple(DBFHandle psDBF, int hEntity )
+const char SHPAPI_CALL1(*)
+DBFReadTuple(DBFHandle psDBF, int hEntity )
 
 {
-    int	       	nRecordOffset;
-    uchar	*pabyRec;
+    unsigned char	*pabyRec;
     static char	*pReturnTuple = NULL;
 
     static int	nTupleLen = 0;
@@ -1019,23 +1349,14 @@
     if( hEntity < 0 || hEntity >= psDBF->nRecords )
         return( NULL );
 
-    if( psDBF->nCurrentRecord != hEntity )
-    {
-	DBFFlushRecord( psDBF );
+    if( !DBFLoadRecord( psDBF, hEntity ) )
+        return NULL;
 
-	nRecordOffset = psDBF->nRecordLength * hEntity + psDBF->nHeaderLength;
+    pabyRec = (unsigned char *) psDBF->pszCurrentRecord;
 
-	fseek( psDBF->fp, nRecordOffset, 0 );
-	fread( psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp );
-
-	psDBF->nCurrentRecord = hEntity;
-    }
-
-    pabyRec = (uchar *) psDBF->pszCurrentRecord;
-
     if ( nTupleLen < psDBF->nRecordLength) {
-      nTupleLen = psDBF->nRecordLength;
-      pReturnTuple = (char *) SfRealloc(pReturnTuple, psDBF->nRecordLength);
+        nTupleLen = psDBF->nRecordLength;
+        pReturnTuple = (char *) SfRealloc(pReturnTuple, psDBF->nRecordLength);
     }
     
     memcpy ( pReturnTuple, pabyRec, psDBF->nRecordLength );
@@ -1049,28 +1370,29 @@
 /*      Read one of the attribute fields of a record.                   */
 /************************************************************************/
 
-DBFHandle DBFCloneEmpty(DBFHandle psDBF, const char * pszFilename ) 
+DBFHandle SHPAPI_CALL
+DBFCloneEmpty(DBFHandle psDBF, const char * pszFilename ) 
 {
     DBFHandle	newDBF;
 
    newDBF = DBFCreate ( pszFilename );
    if ( newDBF == NULL ) return ( NULL ); 
    
-   newDBF->pszHeader = (void *) malloc ( 32 * psDBF->nFields );
-   memcpy ( newDBF->pszHeader, psDBF->pszHeader, 32 * psDBF->nFields );
-   
    newDBF->nFields = psDBF->nFields;
    newDBF->nRecordLength = psDBF->nRecordLength;
    newDBF->nHeaderLength = psDBF->nHeaderLength;
     
-   newDBF->panFieldOffset = (void *) malloc ( sizeof(int) * psDBF->nFields ); 
+   newDBF->pszHeader = (char *) malloc ( newDBF->nHeaderLength );
+   memcpy ( newDBF->pszHeader, psDBF->pszHeader, newDBF->nHeaderLength );
+   
+   newDBF->panFieldOffset = (int *) malloc ( sizeof(int) * psDBF->nFields ); 
    memcpy ( newDBF->panFieldOffset, psDBF->panFieldOffset, sizeof(int) * psDBF->nFields );
-   newDBF->panFieldSize = (void *) malloc ( sizeof(int) * psDBF->nFields );
+   newDBF->panFieldSize = (int *) malloc ( sizeof(int) * psDBF->nFields );
    memcpy ( newDBF->panFieldSize, psDBF->panFieldSize, sizeof(int) * psDBF->nFields );
-   newDBF->panFieldDecimals = (void *) malloc ( sizeof(int) * psDBF->nFields );
+   newDBF->panFieldDecimals = (int *) malloc ( sizeof(int) * psDBF->nFields );
    memcpy ( newDBF->panFieldDecimals, psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields );
-   newDBF->pachFieldType = (void *) malloc ( sizeof(int) * psDBF->nFields );
-   memcpy ( newDBF->pachFieldType, psDBF->pachFieldType, sizeof(int) * psDBF->nFields );
+   newDBF->pachFieldType = (char *) malloc ( sizeof(char) * psDBF->nFields );
+   memcpy ( newDBF->pachFieldType, psDBF->pachFieldType, sizeof(char)*psDBF->nFields );
 
    newDBF->bNoHeader = TRUE;
    newDBF->bUpdated = TRUE;
@@ -1082,3 +1404,140 @@
 
    return ( newDBF );
 }
+
+/************************************************************************/
+/*                       DBFGetNativeFieldType()                        */
+/*                                                                      */
+/*      Return the DBase field type for the specified field.            */
+/*                                                                      */
+/*      Value can be one of: 'C' (String), 'D' (Date), 'F' (Float),     */
+/*                           'N' (Numeric, with or without decimal),    */
+/*                           'L' (Logical),                             */
+/*                           'M' (Memo: 10 digits .DBT block ptr)       */
+/************************************************************************/
+
+char SHPAPI_CALL
+DBFGetNativeFieldType( DBFHandle psDBF, int iField )
+
+{
+    if( iField >=0 && iField < psDBF->nFields )
+        return psDBF->pachFieldType[iField];
+
+    return  ' ';
+}
+
+/************************************************************************/
+/*                            str_to_upper()                            */
+/************************************************************************/
+
+static void str_to_upper (char *string)
+{
+    int len;
+    short i = -1;
+
+    len = strlen (string);
+
+    while (++i < len)
+        if (isalpha(string[i]) && islower(string[i]))
+            string[i] = (char) toupper ((int)string[i]);
+}
+
+/************************************************************************/
+/*                          DBFGetFieldIndex()                          */
+/*                                                                      */
+/*      Get the index number for a field in a .dbf file.                */
+/*                                                                      */
+/*      Contributed by Jim Matthews.                                    */
+/************************************************************************/
+
+int SHPAPI_CALL
+DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName)
+
+{
+    char          name[12], name1[12], name2[12];
+    int           i;
+
+    strncpy(name1, pszFieldName,11);
+    name1[11] = '\0';
+    str_to_upper(name1);
+
+    for( i = 0; i < DBFGetFieldCount(psDBF); i++ )
+    {
+        DBFGetFieldInfo( psDBF, i, name, NULL, NULL );
+        strncpy(name2,name,11);
+        str_to_upper(name2);
+
+        if(!strncmp(name1,name2,10))
+            return(i);
+    }
+    return(-1);
+}
+
+/************************************************************************/
+/*                         DBFIsRecordDeleted()                         */
+/*                                                                      */
+/*      Returns TRUE if the indicated record is deleted, otherwise      */
+/*      it returns FALSE.                                               */
+/************************************************************************/
+
+int SHPAPI_CALL DBFIsRecordDeleted( DBFHandle psDBF, int iShape )
+
+{
+/* -------------------------------------------------------------------- */
+/*      Verify selection.                                               */
+/* -------------------------------------------------------------------- */
+    if( iShape < 0 || iShape >= psDBF->nRecords )
+        return TRUE;
+
+/* -------------------------------------------------------------------- */
+/*	Have we read the record?					*/
+/* -------------------------------------------------------------------- */
+    if( !DBFLoadRecord( psDBF, iShape ) )
+        return FALSE;
+
+/* -------------------------------------------------------------------- */
+/*      '*' means deleted.                                              */
+/* -------------------------------------------------------------------- */
+    return psDBF->pszCurrentRecord[0] == '*';
+}
+
+/************************************************************************/
+/*                        DBFMarkRecordDeleted()                        */
+/************************************************************************/
+
+int SHPAPI_CALL DBFMarkRecordDeleted( DBFHandle psDBF, int iShape, 
+                                      int bIsDeleted )
+
+{
+    char chNewFlag;
+
+/* -------------------------------------------------------------------- */
+/*      Verify selection.                                               */
+/* -------------------------------------------------------------------- */
+    if( iShape < 0 || iShape >= psDBF->nRecords )
+        return FALSE;
+
+/* -------------------------------------------------------------------- */
+/*      Is this an existing record, but different than the last one     */
+/*      we accessed?                                                    */
+/* -------------------------------------------------------------------- */
+    if( !DBFLoadRecord( psDBF, iShape ) )
+        return FALSE;
+
+/* -------------------------------------------------------------------- */
+/*      Assign value, marking record as dirty if it changes.            */
+/* -------------------------------------------------------------------- */
+    if( bIsDeleted )
+        chNewFlag = '*';
+    else 
+        chNewFlag = ' ';
+
+    if( psDBF->pszCurrentRecord[0] != chNewFlag )
+    {
+        psDBF->bCurrentRecordModified = TRUE;
+        psDBF->bUpdated = TRUE;
+        psDBF->pszCurrentRecord[0] = chNewFlag;
+    }
+
+    return TRUE;
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     graticulecreator.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:06:45 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include "graticulecreator.h"
 
 #include <stdio.h>
@@ -189,7 +203,7 @@
   double * myYArrayDouble;
   long myXIntersectionCount = 1;
   long myYIntersectionCount = 1;
-  myXArrayDouble = (double *)malloc(myYIntersectionCount * sizeof(double));
+  myXArrayDouble = (double *)malloc(myXIntersectionCount * sizeof(double));
   myYArrayDouble = (double *)malloc(myYIntersectionCount * sizeof(double));
   for (double myXDouble = theXOriginDouble;myXDouble <=theXEndPointDouble;myXDouble+=theXIntervalDouble)
   {
@@ -307,7 +321,7 @@
   //
   //Longitude loop
   //
-  myXArrayDouble = (double *)malloc(myYVertexCount * sizeof(double));
+  myXArrayDouble = (double *)malloc(myXVertexCount * sizeof(double));
   myYArrayDouble = (double *)malloc(myYVertexCount * sizeof(double));
   for (double myXDouble = theXOriginDouble ; myXDouble < theXEndPointDouble ; myXDouble+=theXIntervalDouble)
   {

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/graticulecreator.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     graticulecreator.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:06:50 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef _GRATICULECREATOR_H_
 #define _GRATICULECREATOR_H_
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/grid_maker/grid_maker.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/grid_maker.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/grid_maker.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,58 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gridmaker plugin
-#
-
-include(../../../settings.pro)
-TARGET=gridmakerplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=grid_maker
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-
-message("Building libs into $${DESTDIR}")
-
-RESOURCES += gridmaker_plugin.qrc
-
-HEADERS += graticulecreator.h \
-           plugin.h \
-           plugingui.h \
-           pluginguibase.ui.h \
-           shapefile.h \
-           utils.h 
-INTERFACES += pluginguibase.ui
-SOURCES += dbfopen.c \
-           shpopen.c \
-           utils.c   \
-           graticulecreator.cpp \
-    #       main.cpp   \
-           plugin.cpp \
-           plugingui.cpp \
-          
-           

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     main.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:06:57 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifdef HAVE_CONFIG_H
 #include <qgsconfig.h>
 #endif
@@ -9,19 +23,16 @@
 #include <QApplication>
 #include <QTranslator>
 #include <QString>
+#include <QTextCodec>
+#include "qgsapplication.h"
 
 int main(int argc, char *argv[])
 {
   QApplication a(argc, argv);
 
-#if defined(Q_OS_MACX) || defined(WIN32)
-  //  XXX Is the PKGDATAPATH setting below  needed under Qt 4.x?
-  //  PKGDATAPATH = QString(qApp->applicationDirPath() + "/share/qgis");
-#endif
-
   /* Load translationfile */
   QTranslator tor(0);
-  tor.load(QString("qgis_") + QTextCodec::locale(), QString(PKGDATAPATH) + "/i18n");
+  tor.load(QString("qgis_") + QTextCodec::locale(), QgsApplication::pkgDataPath() + "/i18n");
   a.installTranslator(&tor);
   
   QgsGridMakerPluginGui *myPluginGui=new QgsGridMakerPluginGui();

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,11 +18,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgisgui.h"
 #include "qgsmaplayer.h"
 #include "plugin.h"
@@ -45,7 +45,7 @@
 #endif
 
 
-static const char * const ident_ = "$Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+static const char * const ident_ = "$Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $";
 
 static const QString name_ = QObject::tr("Graticule Creator");
 static const QString description_ = QObject::tr("Builds a graticule");
@@ -57,10 +57,8 @@
  * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-QgsGridMakerPlugin::QgsGridMakerPlugin(QgisApp * theQGisApp, 
-				       QgisIface * theQgisInterFace):
+QgsGridMakerPlugin::QgsGridMakerPlugin(QgisInterface * theQgisInterFace):
           QgisPlugin(name_,description_,version_,type_),
-          qgisMainWindowPointer(theQGisApp), 
           qGisInterface(theQgisInterFace)
 {
 }
@@ -118,7 +116,8 @@
 // Slot called when the buffer menu item is activated
 void QgsGridMakerPlugin::run()
 {
-  QgsGridMakerPluginGui *myPluginGui=new QgsGridMakerPluginGui(qgisMainWindowPointer, QgisGui::ModalDialogFlags);
+  QgsGridMakerPluginGui *myPluginGui=new QgsGridMakerPluginGui(qGisInterface->getMainWindow(), QgisGui::ModalDialogFlags);
+  myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
   //listen for when the layer has been made so we can draw it
   connect(myPluginGui, SIGNAL(drawRasterLayer(QString)), this, SLOT(drawRasterLayer(QString)));
   connect(myPluginGui, SIGNAL(drawVectorLayer(QString,QString,QString)), this, SLOT(drawVectorLayer(QString,QString,QString)));
@@ -151,9 +150,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsGridMakerPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsGridMakerPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,27 +16,29 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: plugin.h 5785 2006-09-09 01:30:19Z g_j_m $ */
+ /*  $Id: plugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSGRIDMAKERPLUGIN
 #define QGSGRIDMAKERPLUGIN
 #include "../qgisplugin.h"
-#include <qgisapp.h>
 
+#include <QObject>
+class QAction;
+class QgisInterface;
+
 /**
 * \class Plugin
-* \brief OpenModeller plugin for QGIS
+* \brief Grid maker plugin for QGIS
 *
 */
 class QgsGridMakerPlugin:public QObject, public QgisPlugin
 {
   Q_OBJECT public:
       /** 
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+       * Constructor for a plugin. The QgisInterface pointer is passed by 
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object. 
+       * @param qI Pointer to the QgisInterface object. 
        */
-    QgsGridMakerPlugin(QgisApp * , QgisIface * );
+    QgsGridMakerPlugin(QgisInterface * );
   /**
    * Virtual function to return the name of the plugin. The name will be used when presenting a list 
    * of installable plugins to the user
@@ -80,10 +82,8 @@
   QString pluginDescriptionQString;
   //! Plugin type as defined in QgisPlugin::PLUGINTYPE
   int pluginType;
-  //! Pionter to QGIS main application object
-  QgisApp *qgisMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *myQActionPointer;
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,24 +16,24 @@
 #include <QMessageBox>
 
 #include "graticulecreator.h"
-#include <qgslogger.h>
+#include "qgscontexthelp.h"
+#include "qgslogger.h"
 
 //standard includes
 #include <iostream>
 
-QgsGridMakerPluginGui::QgsGridMakerPluginGui() : QgsGridMakerPluginGuiBase()
-{
-  setupUi(this);
-}
 QgsGridMakerPluginGui::QgsGridMakerPluginGui(QWidget* parent, Qt::WFlags fl)
   : QDialog(parent, fl)
 {
   setupUi(this);
+  pbnOK = buttonBox->button(QDialogButtonBox::Ok);
+  pbnOK->setEnabled(false);
 }
+
 QgsGridMakerPluginGui::~QgsGridMakerPluginGui()
 {}
 
-void QgsGridMakerPluginGui::on_pbnOK_clicked()
+void QgsGridMakerPluginGui::on_buttonBox_accepted()
 {
   //check input file exists
   //
@@ -150,7 +150,7 @@
 
   emit drawVectorLayer(leOutputShapeFile->text(),QString("Graticule"),QString("ogr"));
   //close the dialog
-  done(1);
+  accept();
 }
 
 
@@ -178,8 +178,12 @@
 }
 
 
-void QgsGridMakerPluginGui::on_pbnCancel_clicked()
+void QgsGridMakerPluginGui::on_buttonBox_rejected()
 {
-  close(1);
+  reject();
 }
 
+void QgsGridMakerPluginGui::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -22,19 +22,23 @@
 {
   Q_OBJECT
 public:
-  QgsGridMakerPluginGui();
-  QgsGridMakerPluginGui(QWidget* parent, Qt::WFlags);
+  QgsGridMakerPluginGui(QWidget* parent = 0, Qt::WFlags = 0);
   ~QgsGridMakerPluginGui();
 
-public slots:
+private slots:
   
   void on_pbnSelectOutputFile_clicked();
-  void on_pbnCancel_clicked();
-  void on_pbnOK_clicked();
+  void on_buttonBox_accepted();
+  void on_buttonBox_rejected();
+  void on_buttonBox_helpRequested();
 
 signals:
   void drawRasterLayer(QString);
   void drawVectorLayer(QString,QString,QString);
+
+private:
+  QAbstractButton *pbnOK;
+  static const int context_id = 0;
 };
 
 #endif

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,4 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsGridMakerPluginGuiBase</class>
  <widget class="QDialog" name="QgsGridMakerPluginGuiBase" >
   <property name="geometry" >
@@ -284,7 +281,7 @@
           <item>
            <widget class="QPushButton" name="pbnSelectOutputFile" >
             <property name="text" >
-             <string>...</string>
+             <string>Save As...</string>
             </property>
            </widget>
           </item>
@@ -296,62 +293,18 @@
     </layout>
    </item>
    <item>
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>441</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="enabled" >
-        <bool>false</bool>
-       </property>
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
- <tabstops>
-  <tabstop>pbnOK</tabstop>
-  <tabstop>pbnCancel</tabstop>
- </tabstops>
  <resources>
   <include location="gridmaker_plugin.qrc" />
  </resources>

Added: packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefil.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefil.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefil.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,486 @@
+#ifndef _SHAPEFILE_H_INCLUDED
+#define _SHAPEFILE_H_INCLUDED
+
+/******************************************************************************
+ * $Id: shapefil.h,v 1.34 2006/06/17 15:33:32 fwarmerdam Exp $
+ *
+ * Project:  Shapelib
+ * Purpose:  Primary include file for Shapelib.
+ * Author:   Frank Warmerdam, warmerdam at pobox.com
+ *
+ ******************************************************************************
+ * Copyright (c) 1999, Frank Warmerdam
+ *
+ * This software is available under the following "MIT Style" license,
+ * or at the option of the licensee under the LGPL (see LICENSE.LGPL).  This
+ * option is discussed in more detail in shapelib.html.
+ *
+ * --
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ ******************************************************************************
+ *
+ * $Log: shapefil.h,v $
+ * Revision 1.34  2006/06/17 15:33:32  fwarmerdam
+ * added pszWorkField - bug 1202 (rso)
+ *
+ * Revision 1.33  2006/02/15 01:14:30  fwarmerdam
+ * added DBFAddNativeFieldType
+ *
+ * Revision 1.32  2006/01/26 15:07:32  fwarmerdam
+ * add bMeasureIsUsed flag from Craig Bruce: Bug 1249
+ *
+ * Revision 1.31  2006/01/05 01:27:27  fwarmerdam
+ * added dbf deletion mark/fetch
+ *
+ * Revision 1.30  2005/01/03 22:30:13  fwarmerdam
+ * added support for saved quadtrees
+ *
+ * Revision 1.29  2004/09/26 20:09:35  fwarmerdam
+ * avoid rcsid warnings
+ *
+ * Revision 1.28  2003/12/29 06:02:18  fwarmerdam
+ * added cpl_error.h option
+ *
+ * Revision 1.27  2003/04/21 18:30:37  warmerda
+ * added header write/update public methods
+ *
+ * Revision 1.26  2002/09/29 00:00:08  warmerda
+ * added FTLogical and logical attribute read/write calls
+ *
+ * Revision 1.25  2002/05/07 13:46:30  warmerda
+ * added DBFWriteAttributeDirectly().
+ *
+ * Revision 1.24  2002/04/10 16:59:54  warmerda
+ * added SHPRewindObject
+ *
+ * Revision 1.23  2002/01/15 14:36:07  warmerda
+ * updated email address
+ *
+ * Revision 1.22  2002/01/15 14:32:00  warmerda
+ * try to improve SHPAPI_CALL docs
+ */
+
+#include <stdio.h>
+
+#ifdef USE_DBMALLOC
+#include <dbmalloc.h>
+#endif
+
+#ifdef USE_CPL
+#include "cpl_error.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/************************************************************************/
+/*                        Configuration options.                        */
+/************************************************************************/
+
+/* -------------------------------------------------------------------- */
+/*      Should the DBFReadStringAttribute() strip leading and           */
+/*      trailing white space?                                           */
+/* -------------------------------------------------------------------- */
+#define TRIM_DBF_WHITESPACE
+
+/* -------------------------------------------------------------------- */
+/*      Should we write measure values to the Multipatch object?        */
+/*      Reportedly ArcView crashes if we do write it, so for now it     */
+/*      is disabled.                                                    */
+/* -------------------------------------------------------------------- */
+#define DISABLE_MULTIPATCH_MEASURE
+
+/* -------------------------------------------------------------------- */
+/*      SHPAPI_CALL                                                     */
+/*                                                                      */
+/*      The following two macros are present to allow forcing           */
+/*      various calling conventions on the Shapelib API.                */
+/*                                                                      */
+/*      To force __stdcall conventions (needed to call Shapelib         */
+/*      from Visual Basic and/or Dephi I believe) the makefile could    */
+/*      be modified to define:                                          */
+/*                                                                      */
+/*        /DSHPAPI_CALL=__stdcall                                       */
+/*                                                                      */
+/*      If it is desired to force export of the Shapelib API without    */
+/*      using the shapelib.def file, use the following definition.      */
+/*                                                                      */
+/*        /DSHAPELIB_DLLEXPORT                                          */
+/*                                                                      */
+/*      To get both at once it will be necessary to hack this           */
+/*      include file to define:                                         */
+/*                                                                      */
+/*        #define SHPAPI_CALL __declspec(dllexport) __stdcall           */
+/*        #define SHPAPI_CALL1 __declspec(dllexport) * __stdcall        */
+/*                                                                      */
+/*      The complexity of the situtation is partly caused by the        */
+/*      peculiar requirement of Visual C++ that __stdcall appear        */
+/*      after any "*"'s in the return value of a function while the     */
+/*      __declspec(dllexport) must appear before them.                  */
+/* -------------------------------------------------------------------- */
+
+#ifdef SHAPELIB_DLLEXPORT
+#  define SHPAPI_CALL __declspec(dllexport)
+#  define SHPAPI_CALL1(x)  __declspec(dllexport) x
+#endif
+
+#ifndef SHPAPI_CALL
+#  define SHPAPI_CALL
+#endif
+
+#ifndef SHPAPI_CALL1
+#  define SHPAPI_CALL1(x)      x SHPAPI_CALL
+#endif
+    
+/* -------------------------------------------------------------------- */
+/*      Macros for controlling CVSID and ensuring they don't appear     */
+/*      as unreferenced variables resulting in lots of warnings.        */
+/* -------------------------------------------------------------------- */
+#ifndef DISABLE_CVSID
+#  define SHP_CVSID(string)     static char cpl_cvsid[] = string; \
+static char *cvsid_aw() { return( cvsid_aw() ? ((char *) NULL) : cpl_cvsid ); }
+#else
+#  define SHP_CVSID(string)
+#endif
+
+/************************************************************************/
+/*                             SHP Support.                             */
+/************************************************************************/
+typedef	struct
+{
+    FILE        *fpSHP;
+    FILE	*fpSHX;
+
+    int		nShapeType;				/* SHPT_* */
+    
+    int		nFileSize;				/* SHP file */
+
+    int         nRecords;
+    int		nMaxRecords;
+    int		*panRecOffset;
+    int		*panRecSize;
+
+    double	adBoundsMin[4];
+    double	adBoundsMax[4];
+
+    int		bUpdated;
+
+    unsigned char *pabyRec;
+    int         nBufSize;
+} SHPInfo;
+
+typedef SHPInfo * SHPHandle;
+
+/* -------------------------------------------------------------------- */
+/*      Shape types (nSHPType)                                          */
+/* -------------------------------------------------------------------- */
+#define SHPT_NULL	0
+#define SHPT_POINT	1
+#define SHPT_ARC	3
+#define SHPT_POLYGON	5
+#define SHPT_MULTIPOINT	8
+#define SHPT_POINTZ	11
+#define SHPT_ARCZ	13
+#define SHPT_POLYGONZ	15
+#define SHPT_MULTIPOINTZ 18
+#define SHPT_POINTM	21
+#define SHPT_ARCM	23
+#define SHPT_POLYGONM	25
+#define SHPT_MULTIPOINTM 28
+#define SHPT_MULTIPATCH 31
+
+
+/* -------------------------------------------------------------------- */
+/*      Part types - everything but SHPT_MULTIPATCH just uses           */
+/*      SHPP_RING.                                                      */
+/* -------------------------------------------------------------------- */
+
+#define SHPP_TRISTRIP	0
+#define SHPP_TRIFAN	1
+#define SHPP_OUTERRING	2
+#define SHPP_INNERRING	3
+#define SHPP_FIRSTRING	4
+#define SHPP_RING	5
+
+/* -------------------------------------------------------------------- */
+/*      SHPObject - represents on shape (without attributes) read       */
+/*      from the .shp file.                                             */
+/* -------------------------------------------------------------------- */
+typedef struct
+{
+    int		nSHPType;
+
+    int		nShapeId; /* -1 is unknown/unassigned */
+
+    int		nParts;
+    int		*panPartStart;
+    int		*panPartType;
+    
+    int		nVertices;
+    double	*padfX;
+    double	*padfY;
+    double	*padfZ;
+    double	*padfM;
+
+    double	dfXMin;
+    double	dfYMin;
+    double	dfZMin;
+    double	dfMMin;
+
+    double	dfXMax;
+    double	dfYMax;
+    double	dfZMax;
+    double	dfMMax;
+
+    int		bMeasureIsUsed;
+} SHPObject;
+
+/* -------------------------------------------------------------------- */
+/*      SHP API Prototypes                                              */
+/* -------------------------------------------------------------------- */
+SHPHandle SHPAPI_CALL
+      SHPOpen( const char * pszShapeFile, const char * pszAccess );
+SHPHandle SHPAPI_CALL
+      SHPCreate( const char * pszShapeFile, int nShapeType );
+void SHPAPI_CALL
+      SHPGetInfo( SHPHandle hSHP, int * pnEntities, int * pnShapeType,
+                  double * padfMinBound, double * padfMaxBound );
+
+SHPObject SHPAPI_CALL1(*)
+      SHPReadObject( SHPHandle hSHP, int iShape );
+int SHPAPI_CALL
+      SHPWriteObject( SHPHandle hSHP, int iShape, SHPObject * psObject );
+
+void SHPAPI_CALL
+      SHPDestroyObject( SHPObject * psObject );
+void SHPAPI_CALL
+      SHPComputeExtents( SHPObject * psObject );
+SHPObject SHPAPI_CALL1(*)
+      SHPCreateObject( int nSHPType, int nShapeId, int nParts, 
+                       const int * panPartStart, const int * panPartType,
+                       int nVertices, 
+                       const double * padfX, const double * padfY,
+                       const double * padfZ, const double * padfM );
+SHPObject SHPAPI_CALL1(*)
+      SHPCreateSimpleObject( int nSHPType, int nVertices,
+                             const double * padfX, 
+                             const double * padfY, 
+                             const double * padfZ );
+
+int SHPAPI_CALL
+      SHPRewindObject( SHPHandle hSHP, SHPObject * psObject );
+
+void SHPAPI_CALL SHPClose( SHPHandle hSHP );
+void SHPAPI_CALL SHPWriteHeader( SHPHandle hSHP );
+
+const char SHPAPI_CALL1(*)
+      SHPTypeName( int nSHPType );
+const char SHPAPI_CALL1(*)
+      SHPPartTypeName( int nPartType );
+
+/* -------------------------------------------------------------------- */
+/*      Shape quadtree indexing API.                                    */
+/* -------------------------------------------------------------------- */
+
+/* this can be two or four for binary or quad tree */
+#define MAX_SUBNODE	4
+
+typedef struct shape_tree_node
+{
+    /* region covered by this node */
+    double	adfBoundsMin[4];
+    double	adfBoundsMax[4];
+
+    /* list of shapes stored at this node.  The papsShapeObj pointers
+       or the whole list can be NULL */
+    int		nShapeCount;
+    int		*panShapeIds;
+    SHPObject   **papsShapeObj;
+
+    int		nSubNodes;
+    struct shape_tree_node *apsSubNode[MAX_SUBNODE];
+    
+} SHPTreeNode;
+
+typedef struct
+{
+    SHPHandle   hSHP;
+    
+    int		nMaxDepth;
+    int		nDimension;
+    int         nTotalCount;
+    
+    SHPTreeNode	*psRoot;
+} SHPTree;
+
+SHPTree SHPAPI_CALL1(*)
+      SHPCreateTree( SHPHandle hSHP, int nDimension, int nMaxDepth,
+                     double *padfBoundsMin, double *padfBoundsMax );
+void    SHPAPI_CALL
+      SHPDestroyTree( SHPTree * hTree );
+
+int	SHPAPI_CALL
+      SHPWriteTree( SHPTree *hTree, const char * pszFilename );
+SHPTree SHPAPI_CALL
+      SHPReadTree( const char * pszFilename );
+
+int	SHPAPI_CALL
+      SHPTreeAddObject( SHPTree * hTree, SHPObject * psObject );
+int	SHPAPI_CALL
+      SHPTreeAddShapeId( SHPTree * hTree, SHPObject * psObject );
+int	SHPAPI_CALL
+      SHPTreeRemoveShapeId( SHPTree * hTree, int nShapeId );
+
+void 	SHPAPI_CALL
+      SHPTreeTrimExtraNodes( SHPTree * hTree );
+
+int    SHPAPI_CALL1(*)
+      SHPTreeFindLikelyShapes( SHPTree * hTree,
+                               double * padfBoundsMin,
+                               double * padfBoundsMax,
+                               int * );
+int     SHPAPI_CALL
+      SHPCheckBoundsOverlap( double *, double *, double *, double *, int );
+
+int SHPAPI_CALL1(*) 
+SHPSearchDiskTree( FILE *fp, 
+                   double *padfBoundsMin, double *padfBoundsMax,
+                   int *pnShapeCount );
+
+/************************************************************************/
+/*                             DBF Support.                             */
+/************************************************************************/
+typedef	struct
+{
+    FILE	*fp;
+
+    int         nRecords;
+
+    int		nRecordLength;
+    int		nHeaderLength;
+    int		nFields;
+    int		*panFieldOffset;
+    int		*panFieldSize;
+    int		*panFieldDecimals;
+    char	*pachFieldType;
+
+    char	*pszHeader;
+
+    int		nCurrentRecord;
+    int		bCurrentRecordModified;
+    char	*pszCurrentRecord;
+
+    int         nWorkFieldLength;
+    char        *pszWorkField;
+    
+    int		bNoHeader;
+    int		bUpdated;
+} DBFInfo;
+
+typedef DBFInfo * DBFHandle;
+
+typedef enum {
+  FTString,
+  FTInteger,
+  FTDouble,
+  FTLogical,
+  FTInvalid
+} DBFFieldType;
+
+#define XBASE_FLDHDR_SZ       32
+
+DBFHandle SHPAPI_CALL
+      DBFOpen( const char * pszDBFFile, const char * pszAccess );
+DBFHandle SHPAPI_CALL
+      DBFCreate( const char * pszDBFFile );
+
+int	SHPAPI_CALL
+      DBFGetFieldCount( DBFHandle psDBF );
+int	SHPAPI_CALL
+      DBFGetRecordCount( DBFHandle psDBF );
+int	SHPAPI_CALL
+      DBFAddField( DBFHandle hDBF, const char * pszFieldName,
+                   DBFFieldType eType, int nWidth, int nDecimals );
+
+int	SHPAPI_CALL
+      DBFAddNativeFieldType( DBFHandle hDBF, const char * pszFieldName,
+                             char chType, int nWidth, int nDecimals );
+
+DBFFieldType SHPAPI_CALL
+      DBFGetFieldInfo( DBFHandle psDBF, int iField, 
+                       char * pszFieldName, int * pnWidth, int * pnDecimals );
+
+int SHPAPI_CALL
+      DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName);
+
+int 	SHPAPI_CALL
+      DBFReadIntegerAttribute( DBFHandle hDBF, int iShape, int iField );
+double 	SHPAPI_CALL
+      DBFReadDoubleAttribute( DBFHandle hDBF, int iShape, int iField );
+const char SHPAPI_CALL1(*)
+      DBFReadStringAttribute( DBFHandle hDBF, int iShape, int iField );
+const char SHPAPI_CALL1(*)
+      DBFReadLogicalAttribute( DBFHandle hDBF, int iShape, int iField );
+int     SHPAPI_CALL
+      DBFIsAttributeNULL( DBFHandle hDBF, int iShape, int iField );
+
+int SHPAPI_CALL
+      DBFWriteIntegerAttribute( DBFHandle hDBF, int iShape, int iField, 
+                                int nFieldValue );
+int SHPAPI_CALL
+      DBFWriteDoubleAttribute( DBFHandle hDBF, int iShape, int iField,
+                               double dFieldValue );
+int SHPAPI_CALL
+      DBFWriteStringAttribute( DBFHandle hDBF, int iShape, int iField,
+                               const char * pszFieldValue );
+int SHPAPI_CALL
+     DBFWriteNULLAttribute( DBFHandle hDBF, int iShape, int iField );
+
+int SHPAPI_CALL
+     DBFWriteLogicalAttribute( DBFHandle hDBF, int iShape, int iField,
+			       const char lFieldValue);
+int SHPAPI_CALL
+     DBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity, int iField,
+                               void * pValue );
+const char SHPAPI_CALL1(*)
+      DBFReadTuple(DBFHandle psDBF, int hEntity );
+int SHPAPI_CALL
+      DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple );
+
+int SHPAPI_CALL DBFIsRecordDeleted( DBFHandle psDBF, int iShape );
+int SHPAPI_CALL DBFMarkRecordDeleted( DBFHandle psDBF, int iShape, 
+                                      int bIsDeleted );
+
+DBFHandle SHPAPI_CALL
+      DBFCloneEmpty(DBFHandle psDBF, const char * pszFilename );
+ 
+void	SHPAPI_CALL
+      DBFClose( DBFHandle hDBF );
+void    SHPAPI_CALL
+      DBFUpdateHeader( DBFHandle hDBF );
+char    SHPAPI_CALL
+      DBFGetNativeFieldType( DBFHandle hDBF, int iField );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ndef _SHAPEFILE_H_INCLUDED */

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefile.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefile.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/shapefile.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,7 +2,7 @@
 #define _SHAPEFILE_H_INCLUDED
 
 /******************************************************************************
- * $Id: shapefile.h 1155 2004-04-05 15:39:45Z timlinux $
+ * $Id: shapefile.h 7058 2007-07-04 15:41:25Z timlinux $
  *
  * Project:  Shapelib
  * Purpose:  Primary include file for Shapelib.
@@ -37,6 +37,12 @@
  ******************************************************************************
  *
  * $Log$
+ * Revision 1.1  2005/08/17 14:31:55  timlinux
+ * incorporated stuff from locscraper project I made the other weekend
+ *
+ * Revision 1.1  2004/04/24 00:59:39  timlinux
+ * Added shapefile builder libs and start of generic shapefilemaker class that Ill eventually move into qgis core. Modified makefile to build this stuff.
+ *
  * Revision 1.1  2004/04/05 15:39:45  timlinux
  * Initial commit of new plugin to build graticules - not working yet! And thus not added to higher level makefiles yet.
  *

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/shpopen.c
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/shpopen.c	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/shpopen.c	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,12 +1,12 @@
 /******************************************************************************
- * $Id: shpopen.c 1155 2004-04-05 15:39:45Z timlinux $
+ * $Id: shpopen.c 7058 2007-07-04 15:41:25Z timlinux $
  *
  * Project:  Shapelib
  * Purpose:  Implementation of core Shapefile read/write functions.
- * Author:   Frank Warmerdam, warmerda at home.com
+ * Author:   Frank Warmerdam, warmerdam at pobox.com
  *
  ******************************************************************************
- * Copyright (c) 1999, Frank Warmerdam
+ * Copyright (c) 1999, 2001, Frank Warmerdam
  *
  * This software is available under the following "MIT Style" license,
  * or at the option of the licensee under the LGPL (see LICENSE.LGPL).  This
@@ -33,16 +33,85 @@
  * DEALINGS IN THE SOFTWARE.
  ******************************************************************************
  *
- * $Log$
- * Revision 1.1  2004/04/05 15:39:45  timlinux
- * Initial commit of new plugin to build graticules - not working yet! And thus not added to higher level makefiles yet.
+ * $Log: shpopen.c,v $
+ * Revision 1.51  2006/09/04 15:24:01  fwarmerdam
+ * Fixed up log message for 1.49.
  *
- * Revision 1.2  2004/03/31 20:36:46  timlinux
- * Fix for knock on effects of change of filename from shapefil.h to shapefile.h
+ * Revision 1.50  2006/09/04 15:21:39  fwarmerdam
+ * fix of last fix
  *
- * Revision 1.1  2004/03/22 23:38:26  timlinux
- * This is a c++ first draft of a port of a perl script by Schuyler to import Garmin gps dump files as a shapefile. The resulting imported file will be displayed in the map view. At the moment it only generates a point layer of the waypoints but a future version will generate polylines and perhaps polygons too using similar logic to that used by Shuylers perl stuff. Note this plugin is still under construction and I am commiting it mainly so that other developers can assist me when I get stuck. Also note that the plugins Makefile builds a standalone app based on the plugin gui that can be run separately from qgis.
+ * Revision 1.49  2006/09/04 15:21:00  fwarmerdam
+ * MLoskot: Added stronger test of Shapefile reading failures, e.g. truncated
+ * files.  The problem was discovered by Tim Sutton and reported here
+ *   https://svn.qgis.org/trac/ticket/200
  *
+ * Revision 1.48  2006/01/26 15:07:32  fwarmerdam
+ * add bMeasureIsUsed flag from Craig Bruce: Bug 1249
+ *
+ * Revision 1.47  2006/01/04 20:07:23  fwarmerdam
+ * In SHPWriteObject() make sure that the record length is updated
+ * when rewriting an existing record.
+ *
+ * Revision 1.46  2005/02/11 17:17:46  fwarmerdam
+ * added panPartStart[0] validation
+ *
+ * Revision 1.45  2004/09/26 20:09:48  fwarmerdam
+ * const correctness changes
+ *
+ * Revision 1.44  2003/12/29 00:18:39  fwarmerdam
+ * added error checking for failed IO and optional CPL error reporting
+ *
+ * Revision 1.43  2003/12/01 16:20:08  warmerda
+ * be careful of zero vertex shapes
+ *
+ * Revision 1.42  2003/12/01 14:58:27  warmerda
+ * added degenerate object check in SHPRewindObject()
+ *
+ * Revision 1.41  2003/07/08 15:22:43  warmerda
+ * avoid warning
+ *
+ * Revision 1.40  2003/04/21 18:30:37  warmerda
+ * added header write/update public methods
+ *
+ * Revision 1.39  2002/08/26 06:46:56  warmerda
+ * avoid c++ comments
+ *
+ * Revision 1.38  2002/05/07 16:43:39  warmerda
+ * Removed debugging printf.
+ *
+ * Revision 1.37  2002/04/10 17:35:22  warmerda
+ * fixed bug in ring reversal code
+ *
+ * Revision 1.36  2002/04/10 16:59:54  warmerda
+ * added SHPRewindObject
+ *
+ * Revision 1.35  2001/12/07 15:10:44  warmerda
+ * fix if .shx fails to open
+ *
+ * Revision 1.34  2001/11/01 16:29:55  warmerda
+ * move pabyRec into SHPInfo for thread safety
+ *
+ * Revision 1.33  2001/07/03 12:18:15  warmerda
+ * Improved cleanup if SHX not found, provied by Riccardo Cohen.
+ *
+ * Revision 1.32  2001/06/22 01:58:07  warmerda
+ * be more careful about establishing initial bounds in face of NULL shapes
+ *
+ * Revision 1.31  2001/05/31 19:35:29  warmerda
+ * added support for writing null shapes
+ *
+ * Revision 1.30  2001/05/28 12:46:29  warmerda
+ * Add some checking on reasonableness of record count when opening.
+ *
+ * Revision 1.29  2001/05/23 13:36:52  warmerda
+ * added use of SHPAPI_CALL
+ *
+ * Revision 1.28  2001/02/06 22:25:06  warmerda
+ * fixed memory leaks when SHPOpen() fails
+ *
+ * Revision 1.27  2000/07/18 15:21:33  warmerda
+ * added better enforcement of -1 for append in SHPWriteObject
+ *
  * Revision 1.26  2000/02/16 16:03:51  warmerda
  * added null shape support
  *
@@ -128,16 +197,17 @@
  *
  */
 
-static char rcsid[] = 
-  "$Id: shpopen.c 1155 2004-04-05 15:39:45Z timlinux $";
+#include "shapefil.h"
 
-#include "shapefile.h"
-
 #include <math.h>
 #include <limits.h>
 #include <assert.h>
 #include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
 
+SHP_CVSID("$Id: shpopen.c 7058 2007-07-04 15:41:25Z timlinux $")
+
 typedef unsigned char uchar;
 
 #if UINT_MAX == 65535
@@ -158,8 +228,6 @@
 #endif
 
 static int 	bBigEndian;
-static uchar	*pabyRec = NULL;
-static int	nBufSize = 0;
 
 
 /************************************************************************/
@@ -205,7 +273,7 @@
 /*	contents of the index (.shx) file.				*/
 /************************************************************************/
 
-static void SHPWriteHeader( SHPHandle psSHP )
+void SHPWriteHeader( SHPHandle psSHP )
 
 {
     uchar     	abyHeader[100];
@@ -270,8 +338,15 @@
 /* -------------------------------------------------------------------- */
 /*      Write .shp file header.                                         */
 /* -------------------------------------------------------------------- */
-    fseek( psSHP->fpSHP, 0, 0 );
-    fwrite( abyHeader, 100, 1, psSHP->fpSHP );
+    if( fseek( psSHP->fpSHP, 0, 0 ) != 0 
+        || fwrite( abyHeader, 100, 1, psSHP->fpSHP ) != 1 )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_OpenFailed, 
+                  "Failure writing .shp header." );
+#endif
+        return;
+    }
 
 /* -------------------------------------------------------------------- */
 /*      Prepare, and write .shx file header.                            */
@@ -280,8 +355,15 @@
     ByteCopy( &i32, abyHeader+24, 4 );
     if( !bBigEndian ) SwapWord( 4, abyHeader+24 );
     
-    fseek( psSHP->fpSHX, 0, 0 );
-    fwrite( abyHeader, 100, 1, psSHP->fpSHX );
+    if( fseek( psSHP->fpSHX, 0, 0 ) != 0 
+        || fwrite( abyHeader, 100, 1, psSHP->fpSHX ) != 1 )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_OpenFailed, 
+                  "Failure writing .shx header." );
+#endif
+        return;
+    }
 
 /* -------------------------------------------------------------------- */
 /*      Write out the .shx contents.                                    */
@@ -296,19 +378,33 @@
 	if( !bBigEndian ) SwapWord( 4, panSHX+i*2+1 );
     }
 
-    fwrite( panSHX, sizeof(int32) * 2, psSHP->nRecords, psSHP->fpSHX );
+    if( (int)fwrite( panSHX, sizeof(int32)*2, psSHP->nRecords, psSHP->fpSHX ) 
+        != psSHP->nRecords )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_OpenFailed, 
+                  "Failure writing .shx contents." );
+#endif
+    }
 
     free( panSHX );
+
+/* -------------------------------------------------------------------- */
+/*      Flush to disk.                                                  */
+/* -------------------------------------------------------------------- */
+    fflush( psSHP->fpSHP );
+    fflush( psSHP->fpSHX );
 }
 
 /************************************************************************/
-/*                              SHPOpen()                               */
+/*                              shpopen()                               */
 /*                                                                      */
 /*      Open the .shp and .shx files based on the basename of the       */
 /*      files or either file name.                                      */
 /************************************************************************/
    
-SHPHandle SHPOpen( const char * pszLayer, const char * pszAccess )
+SHPHandle SHPAPI_CALL
+SHPOpen( const char * pszLayer, const char * pszAccess )
 
 {
     char		*pszFullname, *pszBasename;
@@ -341,7 +437,7 @@
 /* -------------------------------------------------------------------- */
 /*	Initialize the info structure.					*/
 /* -------------------------------------------------------------------- */
-    psSHP = (SHPHandle) malloc(sizeof(SHPInfo));
+    psSHP = (SHPHandle) calloc(sizeof(SHPInfo),1);
 
     psSHP->bUpdated = FALSE;
 
@@ -373,7 +469,17 @@
     }
     
     if( psSHP->fpSHP == NULL )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_OpenFailed, 
+                  "Unable to open %s.shp or %s.SHP.", 
+                  pszBasename, pszBasename );
+#endif
+        free( psSHP );
+        free( pszBasename );
+        free( pszFullname );
         return( NULL );
+    }
 
     sprintf( pszFullname, "%s.shx", pszBasename );
     psSHP->fpSHX = fopen(pszFullname, pszAccess );
@@ -384,7 +490,18 @@
     }
     
     if( psSHP->fpSHX == NULL )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_OpenFailed, 
+                  "Unable to open %s.shx or %s.SHX.", 
+                  pszBasename, pszBasename );
+#endif
+        fclose( psSHP->fpSHP );
+        free( psSHP );
+        free( pszBasename );
+        free( pszFullname );
         return( NULL );
+    }
 
     free( pszFullname );
     free( pszBasename );
@@ -403,13 +520,16 @@
 /* -------------------------------------------------------------------- */
 /*  Read SHX file Header info                                           */
 /* -------------------------------------------------------------------- */
-    fread( pabyBuf, 100, 1, psSHP->fpSHX );
-
-    if( pabyBuf[0] != 0 
+    if( fread( pabyBuf, 100, 1, psSHP->fpSHX ) != 1 
+        || pabyBuf[0] != 0 
         || pabyBuf[1] != 0 
         || pabyBuf[2] != 0x27 
         || (pabyBuf[3] != 0x0a && pabyBuf[3] != 0x0d) )
     {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  ".shx file is unreadable, or corrupt." );
+#endif
 	fclose( psSHP->fpSHP );
 	fclose( psSHP->fpSHX );
 	free( psSHP );
@@ -423,6 +543,21 @@
 
     psSHP->nShapeType = pabyBuf[32];
 
+    if( psSHP->nRecords < 0 || psSHP->nRecords > 256000000 )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Record count in .shp header is %d, which seems\n"
+                  "unreasonable.  Assuming header is corrupt.",
+                  psSHP->nRecords );
+#endif
+	fclose( psSHP->fpSHP );
+	fclose( psSHP->fpSHX );
+	free( psSHP );
+
+	return( NULL );
+    }
+
 /* -------------------------------------------------------------------- */
 /*      Read the bounds.                                                */
 /* -------------------------------------------------------------------- */
@@ -472,8 +607,24 @@
         (int *) malloc(sizeof(int) * MAX(1,psSHP->nMaxRecords) );
 
     pabyBuf = (uchar *) malloc(8 * MAX(1,psSHP->nRecords) );
-    fread( pabyBuf, 8, psSHP->nRecords, psSHP->fpSHX );
+    if( (int) fread( pabyBuf, 8, psSHP->nRecords, psSHP->fpSHX ) 
+			!= psSHP->nRecords )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Failed to read all values for %d records in .shx file.",
+                  psSHP->nRecords );
+#endif
+        /* SHX is short or unreadable for some reason. */
+	fclose( psSHP->fpSHP );
+	fclose( psSHP->fpSHX );
+        free( psSHP->panRecOffset );
+        free( psSHP->panRecSize );
+	free( psSHP );
 
+	return( NULL );
+    }
+
     for( i = 0; i < psSHP->nRecords; i++ )
     {
 	int32		nOffset, nLength;
@@ -498,16 +649,18 @@
 /*	Close the .shp and .shx files.					*/
 /************************************************************************/
 
-void	SHPClose(SHPHandle psSHP )
+void SHPAPI_CALL
+SHPClose(SHPHandle psSHP )
 
 {
+    if( psSHP == NULL )
+        return;
+
 /* -------------------------------------------------------------------- */
 /*	Update the header if we have modified anything.			*/
 /* -------------------------------------------------------------------- */
     if( psSHP->bUpdated )
-    {
 	SHPWriteHeader( psSHP );
-    }
 
 /* -------------------------------------------------------------------- */
 /*      Free all resources, and close files.                            */
@@ -518,14 +671,12 @@
     fclose( psSHP->fpSHX );
     fclose( psSHP->fpSHP );
 
-    free( psSHP );
-
-    if( pabyRec != NULL )
+    if( psSHP->pabyRec != NULL )
     {
-        free( pabyRec );
-        pabyRec = NULL;
-        nBufSize = 0;
+        free( psSHP->pabyRec );
     }
+    
+    free( psSHP );
 }
 
 /************************************************************************/
@@ -534,11 +685,15 @@
 /*      Fetch general information about the shape file.                 */
 /************************************************************************/
 
-void SHPGetInfo(SHPHandle psSHP, int * pnEntities, int * pnShapeType,
-                double * padfMinBound, double * padfMaxBound )
+void SHPAPI_CALL
+SHPGetInfo(SHPHandle psSHP, int * pnEntities, int * pnShapeType,
+           double * padfMinBound, double * padfMaxBound )
 
 {
     int		i;
+
+    if( psSHP == NULL )
+        return;
     
     if( pnEntities != NULL )
         *pnEntities = psSHP->nRecords;
@@ -562,7 +717,8 @@
 /*      shape file with read/write access.                              */
 /************************************************************************/
 
-SHPHandle SHPCreate( const char * pszLayer, int nShapeType )
+SHPHandle SHPAPI_CALL
+SHPCreate( const char * pszLayer, int nShapeType )
 
 {
     char	*pszBasename, *pszFullname;
@@ -602,12 +758,26 @@
     sprintf( pszFullname, "%s.shp", pszBasename );
     fpSHP = fopen(pszFullname, "wb" );
     if( fpSHP == NULL )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Failed to create file %s.",
+                  pszFullname );
+#endif
         return( NULL );
+    }
 
     sprintf( pszFullname, "%s.shx", pszBasename );
     fpSHX = fopen(pszFullname, "wb" );
     if( fpSHX == NULL )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Failed to create file %s.",
+                  pszFullname );
+#endif
         return( NULL );
+    }
 
     free( pszFullname );
     free( pszBasename );
@@ -642,7 +812,14 @@
 /* -------------------------------------------------------------------- */
 /*      Write .shp file header.                                         */
 /* -------------------------------------------------------------------- */
-    fwrite( abyHeader, 100, 1, fpSHP );
+    if( fwrite( abyHeader, 100, 1, fpSHP ) != 1 )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Failed to write .shp header." );
+#endif
+        return NULL;
+    }
 
 /* -------------------------------------------------------------------- */
 /*      Prepare, and write .shx file header.                            */
@@ -651,7 +828,14 @@
     ByteCopy( &i32, abyHeader+24, 4 );
     if( !bBigEndian ) SwapWord( 4, abyHeader+24 );
     
-    fwrite( abyHeader, 100, 1, fpSHX );
+    if( fwrite( abyHeader, 100, 1, fpSHX ) != 1 )
+    {
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_AppDefined, 
+                  "Failed to write .shx header." );
+#endif
+        return NULL;
+    }
 
 /* -------------------------------------------------------------------- */
 /*      Close the files, and then open them as regular existing files.  */
@@ -693,7 +877,8 @@
 /*      SHPCreateObject().                                              */
 /************************************************************************/
 
-void SHPComputeExtents( SHPObject * psObject )
+void SHPAPI_CALL
+SHPComputeExtents( SHPObject * psObject )
 
 {
     int		i;
@@ -730,10 +915,11 @@
 /*      SHPDestroyObject().                                             */
 /************************************************************************/
 
-SHPObject *SHPCreateObject( int nSHPType, int nShapeId, int nParts,
-                            int * panPartStart, int * panPartType,
-                            int nVertices, double * padfX, double * padfY,
-                            double * padfZ, double * padfM )
+SHPObject SHPAPI_CALL1(*)
+SHPCreateObject( int nSHPType, int nShapeId, int nParts,
+                 const int * panPartStart, const int * panPartType,
+                 int nVertices, const double *padfX, const double *padfY,
+                 const double * padfZ, const double * padfM )
 
 {
     SHPObject	*psObject;
@@ -742,6 +928,7 @@
     psObject = (SHPObject *) calloc(1,sizeof(SHPObject));
     psObject->nSHPType = nSHPType;
     psObject->nShapeId = nShapeId;
+    psObject->bMeasureIsUsed = FALSE;
 
 /* -------------------------------------------------------------------- */
 /*	Establish whether this shape type has M, and Z values.		*/
@@ -791,40 +978,56 @@
         for( i = 0; i < nParts; i++ )
         {
             psObject->panPartStart[i] = panPartStart[i];
+
             if( panPartType != NULL )
                 psObject->panPartType[i] = panPartType[i];
             else
                 psObject->panPartType[i] = SHPP_RING;
         }
+
+        if( psObject->panPartStart[0] != 0 )
+        {
+#ifdef USE_CPL
+            CPLError( CE_Failure, CPLE_AppDefined,
+                      "panPartStart[0] != 0, patching internally.  Please fix your code!\n" );
+#else
+            fprintf( stderr, "panPartStart[0] != 0, patching internally.  Please fix your code!\n" );
+#endif
+            psObject->panPartStart[0] = 0;
+        }
     }
 
 /* -------------------------------------------------------------------- */
 /*      Capture vertices.  Note that Z and M are optional, but X and    */
 /*      Y are not.                                                      */
 /* -------------------------------------------------------------------- */
-    psObject->padfX = (double *) calloc(sizeof(double),nVertices);
-    psObject->padfY = (double *) calloc(sizeof(double),nVertices);
-    psObject->padfZ = (double *) calloc(sizeof(double),nVertices);
-    psObject->padfM = (double *) calloc(sizeof(double),nVertices);
+    if( nVertices > 0 )
+    {
+        psObject->padfX = (double *) calloc(sizeof(double),nVertices);
+        psObject->padfY = (double *) calloc(sizeof(double),nVertices);
+        psObject->padfZ = (double *) calloc(sizeof(double),nVertices);
+        psObject->padfM = (double *) calloc(sizeof(double),nVertices);
 
-    assert( padfX != NULL );
-    assert( padfY != NULL );
+        assert( padfX != NULL );
+        assert( padfY != NULL );
     
-    for( i = 0; i < nVertices; i++ )
-    {
-        psObject->padfX[i] = padfX[i];
-        psObject->padfY[i] = padfY[i];
-        if( padfZ != NULL && bHasZ )
-            psObject->padfZ[i] = padfZ[i];
+        for( i = 0; i < nVertices; i++ )
+        {
+            psObject->padfX[i] = padfX[i];
+            psObject->padfY[i] = padfY[i];
+            if( padfZ != NULL && bHasZ )
+                psObject->padfZ[i] = padfZ[i];
+            if( padfM != NULL && bHasM )
+                psObject->padfM[i] = padfM[i];
+        }
         if( padfM != NULL && bHasM )
-            psObject->padfM[i] = padfM[i];
+            psObject->bMeasureIsUsed = TRUE;
     }
 
 /* -------------------------------------------------------------------- */
 /*      Compute the extents.                                            */
 /* -------------------------------------------------------------------- */
     psObject->nVertices = nVertices;
-    
     SHPComputeExtents( psObject );
 
     return( psObject );
@@ -837,9 +1040,10 @@
 /*      SHPDestroyObject().                                             */
 /************************************************************************/
 
-SHPObject *SHPCreateSimpleObject( int nSHPType, int nVertices,
-                                  double * padfX, double * padfY,
-                                  double * padfZ )
+SHPObject SHPAPI_CALL1(*)
+SHPCreateSimpleObject( int nSHPType, int nVertices,
+                       const double * padfX, const double * padfY,
+                       const double * padfZ )
 
 {
     return( SHPCreateObject( nSHPType, -1, 0, NULL, NULL,
@@ -853,10 +1057,11 @@
 /*      only possible to write vertices at the end of the file.         */
 /************************************************************************/
 
-int SHPWriteObject(SHPHandle psSHP, int nShapeId, SHPObject * psObject )
+int SHPAPI_CALL
+SHPWriteObject(SHPHandle psSHP, int nShapeId, SHPObject * psObject )
 		      
 {
-    int	       	nRecordOffset, i, nRecordSize;
+    int	       	nRecordOffset, i, nRecordSize=0;
     uchar	*pabyRec;
     int32	i32;
 
@@ -866,9 +1071,21 @@
 /*      Ensure that shape object matches the type of the file it is     */
 /*      being written to.                                               */
 /* -------------------------------------------------------------------- */
-    assert( psObject->nSHPType == psSHP->nShapeType );
+    assert( psObject->nSHPType == psSHP->nShapeType 
+            || psObject->nSHPType == SHPT_NULL );
 
 /* -------------------------------------------------------------------- */
+/*      Ensure that -1 is used for appends.  Either blow an             */
+/*      assertion, or if they are disabled, set the shapeid to -1       */
+/*      for appends.                                                    */
+/* -------------------------------------------------------------------- */
+    assert( nShapeId == -1 
+            || (nShapeId >= 0 && nShapeId < psSHP->nRecords) );
+
+    if( nShapeId != -1 && nShapeId >= psSHP->nRecords )
+        nShapeId = -1;
+
+/* -------------------------------------------------------------------- */
 /*      Add the new entity to the in memory index.                      */
 /* -------------------------------------------------------------------- */
     if( nShapeId == -1 && psSHP->nRecords+1 > psSHP->nMaxRecords )
@@ -876,9 +1093,9 @@
 	psSHP->nMaxRecords =(int) ( psSHP->nMaxRecords * 1.3 + 100);
 
 	psSHP->panRecOffset = (int *) 
-	  SfRealloc(psSHP->panRecOffset,sizeof(int) * psSHP->nMaxRecords );
+            SfRealloc(psSHP->panRecOffset,sizeof(int) * psSHP->nMaxRecords );
 	psSHP->panRecSize = (int *) 
-	  SfRealloc(psSHP->panRecSize,sizeof(int) * psSHP->nMaxRecords );
+            SfRealloc(psSHP->panRecSize,sizeof(int) * psSHP->nMaxRecords );
     }
 
 /* -------------------------------------------------------------------- */
@@ -890,13 +1107,13 @@
 /* -------------------------------------------------------------------- */
 /*  Extract vertices for a Polygon or Arc.				*/
 /* -------------------------------------------------------------------- */
-    if( psSHP->nShapeType == SHPT_POLYGON
-        || psSHP->nShapeType == SHPT_POLYGONZ
-        || psSHP->nShapeType == SHPT_POLYGONM
-        || psSHP->nShapeType == SHPT_ARC 
-        || psSHP->nShapeType == SHPT_ARCZ
-        || psSHP->nShapeType == SHPT_ARCM
-        || psSHP->nShapeType == SHPT_MULTIPATCH )
+    if( psObject->nSHPType == SHPT_POLYGON
+        || psObject->nSHPType == SHPT_POLYGONZ
+        || psObject->nSHPType == SHPT_POLYGONM
+        || psObject->nSHPType == SHPT_ARC 
+        || psObject->nSHPType == SHPT_ARCZ
+        || psObject->nSHPType == SHPT_ARCM
+        || psObject->nSHPType == SHPT_MULTIPATCH )
     {
 	int32		nPoints, nParts;
 	int    		i;
@@ -928,7 +1145,7 @@
         /*
          * Write multipatch part types if needed.
          */
-        if( psSHP->nShapeType == SHPT_MULTIPATCH )
+        if( psObject->nSHPType == SHPT_MULTIPATCH )
         {
             memcpy( pabyRec + nRecordSize, psObject->panPartType,
                     4*psObject->nParts );
@@ -959,9 +1176,9 @@
         /*
          * Write the Z coordinates (if any).
          */
-        if( psSHP->nShapeType == SHPT_POLYGONZ
-            || psSHP->nShapeType == SHPT_ARCZ
-            || psSHP->nShapeType == SHPT_MULTIPATCH )
+        if( psObject->nSHPType == SHPT_POLYGONZ
+            || psObject->nSHPType == SHPT_ARCZ
+            || psObject->nSHPType == SHPT_MULTIPATCH )
         {
             ByteCopy( &(psObject->dfZMin), pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
@@ -982,13 +1199,14 @@
         /*
          * Write the M values, if any.
          */
-        if( psSHP->nShapeType == SHPT_POLYGONM
-            || psSHP->nShapeType == SHPT_ARCM
+        if( psObject->bMeasureIsUsed
+            && (psObject->nSHPType == SHPT_POLYGONM
+            || psObject->nSHPType == SHPT_ARCM
 #ifndef DISABLE_MULTIPATCH_MEASURE            
-            || psSHP->nShapeType == SHPT_MULTIPATCH
+            || psObject->nSHPType == SHPT_MULTIPATCH
 #endif            
-            || psSHP->nShapeType == SHPT_POLYGONZ
-            || psSHP->nShapeType == SHPT_ARCZ )
+            || psObject->nSHPType == SHPT_POLYGONZ
+            || psObject->nSHPType == SHPT_ARCZ) )
         {
             ByteCopy( &(psObject->dfMMin), pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
@@ -1010,9 +1228,9 @@
 /* -------------------------------------------------------------------- */
 /*  Extract vertices for a MultiPoint.					*/
 /* -------------------------------------------------------------------- */
-    else if( psSHP->nShapeType == SHPT_MULTIPOINT
-             || psSHP->nShapeType == SHPT_MULTIPOINTZ
-             || psSHP->nShapeType == SHPT_MULTIPOINTM )
+    else if( psObject->nSHPType == SHPT_MULTIPOINT
+             || psObject->nSHPType == SHPT_MULTIPOINTZ
+             || psObject->nSHPType == SHPT_MULTIPOINTM )
     {
 	int32		nPoints;
 	int    		i;
@@ -1035,7 +1253,7 @@
 
 	nRecordSize = 48 + 16 * psObject->nVertices;
 
-        if( psSHP->nShapeType == SHPT_MULTIPOINTZ )
+        if( psObject->nSHPType == SHPT_MULTIPOINTZ )
         {
             ByteCopy( &(psObject->dfZMin), pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
@@ -1053,8 +1271,9 @@
             }
         }
 
-        if( psSHP->nShapeType == SHPT_MULTIPOINTZ
-            || psSHP->nShapeType == SHPT_MULTIPOINTM )
+        if( psObject->bMeasureIsUsed
+            && (psObject->nSHPType == SHPT_MULTIPOINTZ
+            || psObject->nSHPType == SHPT_MULTIPOINTM) )
         {
             ByteCopy( &(psObject->dfMMin), pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
@@ -1074,11 +1293,11 @@
     }
 
 /* -------------------------------------------------------------------- */
-/*      Extract vertices for a point.                                   */
+/*      Write point.							*/
 /* -------------------------------------------------------------------- */
-    else if( psSHP->nShapeType == SHPT_POINT
-             || psSHP->nShapeType == SHPT_POINTZ
-             || psSHP->nShapeType == SHPT_POINTM )
+    else if( psObject->nSHPType == SHPT_POINT
+             || psObject->nSHPType == SHPT_POINTZ
+             || psObject->nSHPType == SHPT_POINTM )
     {
 	ByteCopy( psObject->padfX, pabyRec + 12, 8 );
 	ByteCopy( psObject->padfY, pabyRec + 20, 8 );
@@ -1088,15 +1307,16 @@
 
         nRecordSize = 28;
         
-        if( psSHP->nShapeType == SHPT_POINTZ )
+        if( psObject->nSHPType == SHPT_POINTZ )
         {
             ByteCopy( psObject->padfZ, pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
             nRecordSize += 8;
         }
         
-        if( psSHP->nShapeType == SHPT_POINTZ
-            || psSHP->nShapeType == SHPT_POINTM )
+        if( psObject->bMeasureIsUsed
+            && (psObject->nSHPType == SHPT_POINTZ
+            || psObject->nSHPType == SHPT_POINTM) )
         {
             ByteCopy( psObject->padfM, pabyRec + nRecordSize, 8 );
             if( bBigEndian ) SwapWord( 8, pabyRec + nRecordSize );
@@ -1104,6 +1324,14 @@
         }
     }
 
+/* -------------------------------------------------------------------- */
+/*      Not much to do for null geometries.                             */
+/* -------------------------------------------------------------------- */
+    else if( psObject->nSHPType == SHPT_NULL )
+    {
+        nRecordSize = 12;
+    }
+
     else
     {
         /* unknown type */
@@ -1127,6 +1355,7 @@
     else
     {
         nRecordOffset = psSHP->panRecOffset[nShapeId];
+        psSHP->panRecSize[nShapeId] = nRecordSize-8;
     }
     
 /* -------------------------------------------------------------------- */
@@ -1140,7 +1369,7 @@
     if( !bBigEndian ) SwapWord( 4, &i32 );
     ByteCopy( &i32, pabyRec + 4, 4 );
 
-    i32 = psSHP->nShapeType;				/* shape type */
+    i32 = psObject->nSHPType;				/* shape type */
     if( bBigEndian ) SwapWord( 4, &i32 );
     ByteCopy( &i32, pabyRec + 8, 4 );
 
@@ -1150,7 +1379,10 @@
     if( fseek( psSHP->fpSHP, nRecordOffset, 0 ) != 0
         || fwrite( pabyRec, nRecordSize, 1, psSHP->fpSHP ) < 1 )
     {
-        printf( "Error in fseek() or fwrite().\n" );
+#ifdef USE_CPL
+        CPLError( CE_Failure, CPLE_FileIO, 
+                "Error in fseek() or fwrite() writing object to .shp file." );
+#endif
         free( pabyRec );
         return -1;
     }
@@ -1160,12 +1392,25 @@
 /* -------------------------------------------------------------------- */
 /*	Expand file wide bounds based on this shape.			*/
 /* -------------------------------------------------------------------- */
-    if( psSHP->nRecords == 1 )
+    if( psSHP->adBoundsMin[0] == 0.0
+        && psSHP->adBoundsMax[0] == 0.0
+        && psSHP->adBoundsMin[1] == 0.0
+        && psSHP->adBoundsMax[1] == 0.0 )
     {
-	psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = psObject->padfX[0];
-	psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = psObject->padfY[0];
-	psSHP->adBoundsMin[2] = psSHP->adBoundsMax[2] = psObject->padfZ[0];
-	psSHP->adBoundsMin[3] = psSHP->adBoundsMax[3] = psObject->padfM[0];
+        if( psObject->nSHPType == SHPT_NULL || psObject->nVertices == 0 )
+        {
+            psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = 0.0;
+            psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = 0.0;
+            psSHP->adBoundsMin[2] = psSHP->adBoundsMax[2] = 0.0;
+            psSHP->adBoundsMin[3] = psSHP->adBoundsMax[3] = 0.0;
+        }
+        else
+        {
+            psSHP->adBoundsMin[0] = psSHP->adBoundsMax[0] = psObject->padfX[0];
+            psSHP->adBoundsMin[1] = psSHP->adBoundsMax[1] = psObject->padfY[0];
+            psSHP->adBoundsMin[2] = psSHP->adBoundsMax[2] = psObject->padfZ[0];
+            psSHP->adBoundsMin[3] = psSHP->adBoundsMax[3] = psObject->padfM[0];
+        }
     }
 
     for( i = 0; i < psObject->nVertices; i++ )
@@ -1190,7 +1435,8 @@
 /*	for one shape.							*/
 /************************************************************************/
 
-SHPObject *SHPReadObject( SHPHandle psSHP, int hEntity )
+SHPObject SHPAPI_CALL1(*)
+SHPReadObject( SHPHandle psSHP, int hEntity )
 
 {
     SHPObject		*psShape;
@@ -1204,25 +1450,38 @@
 /* -------------------------------------------------------------------- */
 /*      Ensure our record buffer is large enough.                       */
 /* -------------------------------------------------------------------- */
-    if( psSHP->panRecSize[hEntity]+8 > nBufSize )
+    if( psSHP->panRecSize[hEntity]+8 > psSHP->nBufSize )
     {
-	nBufSize = psSHP->panRecSize[hEntity]+8;
-	pabyRec = (uchar *) SfRealloc(pabyRec,nBufSize);
+	psSHP->nBufSize = psSHP->panRecSize[hEntity]+8;
+	psSHP->pabyRec = (uchar *) SfRealloc(psSHP->pabyRec,psSHP->nBufSize);
     }
 
 /* -------------------------------------------------------------------- */
 /*      Read the record.                                                */
 /* -------------------------------------------------------------------- */
-    fseek( psSHP->fpSHP, psSHP->panRecOffset[hEntity], 0 );
-    fread( pabyRec, psSHP->panRecSize[hEntity]+8, 1, psSHP->fpSHP );
+    if( fseek( psSHP->fpSHP, psSHP->panRecOffset[hEntity], 0 ) != 0 
+        || fread( psSHP->pabyRec, psSHP->panRecSize[hEntity]+8, 1, 
+                  psSHP->fpSHP ) != 1 )
+    {
+        /*
+         * TODO - mloskot: Consider detailed diagnostics of shape file,
+         * for example to detect if file is truncated.
+         */
 
+#ifdef USE_CPL
+        CPLDebug( "Shape", "Error in fseek() or fread() reading object from .shp file." );
+#endif
+        return NULL;
+    }
+
 /* -------------------------------------------------------------------- */
 /*	Allocate and minimally initialize the object.			*/
 /* -------------------------------------------------------------------- */
     psShape = (SHPObject *) calloc(1,sizeof(SHPObject));
     psShape->nShapeId = hEntity;
+    psShape->bMeasureIsUsed = FALSE;
 
-    memcpy( &psShape->nSHPType, pabyRec + 8, 4 );
+    memcpy( &psShape->nSHPType, psSHP->pabyRec + 8, 4 );
     if( bBigEndian ) SwapWord( 4, &(psShape->nSHPType) );
 
 /* ==================================================================== */
@@ -1241,10 +1500,10 @@
 /* -------------------------------------------------------------------- */
 /*	Get the X/Y bounds.						*/
 /* -------------------------------------------------------------------- */
-        memcpy( &(psShape->dfXMin), pabyRec + 8 +  4, 8 );
-        memcpy( &(psShape->dfYMin), pabyRec + 8 + 12, 8 );
-        memcpy( &(psShape->dfXMax), pabyRec + 8 + 20, 8 );
-        memcpy( &(psShape->dfYMax), pabyRec + 8 + 28, 8 );
+        memcpy( &(psShape->dfXMin), psSHP->pabyRec + 8 +  4, 8 );
+        memcpy( &(psShape->dfYMin), psSHP->pabyRec + 8 + 12, 8 );
+        memcpy( &(psShape->dfXMax), psSHP->pabyRec + 8 + 20, 8 );
+        memcpy( &(psShape->dfYMax), psSHP->pabyRec + 8 + 28, 8 );
 
 	if( bBigEndian ) SwapWord( 8, &(psShape->dfXMin) );
 	if( bBigEndian ) SwapWord( 8, &(psShape->dfYMin) );
@@ -1255,8 +1514,8 @@
 /*      Extract part/point count, and build vertex and part arrays      */
 /*      to proper size.                                                 */
 /* -------------------------------------------------------------------- */
-	memcpy( &nPoints, pabyRec + 40 + 8, 4 );
-	memcpy( &nParts, pabyRec + 36 + 8, 4 );
+	memcpy( &nPoints, psSHP->pabyRec + 40 + 8, 4 );
+	memcpy( &nParts, psSHP->pabyRec + 36 + 8, 4 );
 
 	if( bBigEndian ) SwapWord( 4, &nPoints );
 	if( bBigEndian ) SwapWord( 4, &nParts );
@@ -1277,7 +1536,7 @@
 /* -------------------------------------------------------------------- */
 /*      Copy out the part array from the record.                        */
 /* -------------------------------------------------------------------- */
-	memcpy( psShape->panPartStart, pabyRec + 44 + 8, 4 * nParts );
+	memcpy( psShape->panPartStart, psSHP->pabyRec + 44 + 8, 4 * nParts );
 	for( i = 0; i < nParts; i++ )
 	{
 	    if( bBigEndian ) SwapWord( 4, psShape->panPartStart+i );
@@ -1290,7 +1549,7 @@
 /* -------------------------------------------------------------------- */
         if( psShape->nSHPType == SHPT_MULTIPATCH )
         {
-            memcpy( psShape->panPartType, pabyRec + nOffset, 4*nParts );
+            memcpy( psShape->panPartType, psSHP->pabyRec + nOffset, 4*nParts );
             for( i = 0; i < nParts; i++ )
             {
                 if( bBigEndian ) SwapWord( 4, psShape->panPartType+i );
@@ -1305,11 +1564,11 @@
 	for( i = 0; i < nPoints; i++ )
 	{
 	    memcpy(psShape->padfX + i,
-		   pabyRec + nOffset + i * 16,
+		   psSHP->pabyRec + nOffset + i * 16,
 		   8 );
 
 	    memcpy(psShape->padfY + i,
-		   pabyRec + nOffset + i * 16 + 8,
+		   psSHP->pabyRec + nOffset + i * 16 + 8,
 		   8 );
 
 	    if( bBigEndian ) SwapWord( 8, psShape->padfX + i );
@@ -1325,8 +1584,8 @@
             || psShape->nSHPType == SHPT_ARCZ
             || psShape->nSHPType == SHPT_MULTIPATCH )
         {
-            memcpy( &(psShape->dfZMin), pabyRec + nOffset, 8 );
-            memcpy( &(psShape->dfZMax), pabyRec + nOffset + 8, 8 );
+            memcpy( &(psShape->dfZMin), psSHP->pabyRec + nOffset, 8 );
+            memcpy( &(psShape->dfZMax), psSHP->pabyRec + nOffset + 8, 8 );
             
             if( bBigEndian ) SwapWord( 8, &(psShape->dfZMin) );
             if( bBigEndian ) SwapWord( 8, &(psShape->dfZMax) );
@@ -1334,7 +1593,7 @@
             for( i = 0; i < nPoints; i++ )
             {
                 memcpy( psShape->padfZ + i,
-                        pabyRec + nOffset + 16 + i*8, 8 );
+                        psSHP->pabyRec + nOffset + 16 + i*8, 8 );
                 if( bBigEndian ) SwapWord( 8, psShape->padfZ + i );
             }
 
@@ -1349,8 +1608,8 @@
 /* -------------------------------------------------------------------- */
         if( psSHP->panRecSize[hEntity]+8 >= nOffset + 16 + 8*nPoints )
         {
-            memcpy( &(psShape->dfMMin), pabyRec + nOffset, 8 );
-            memcpy( &(psShape->dfMMax), pabyRec + nOffset + 8, 8 );
+            memcpy( &(psShape->dfMMin), psSHP->pabyRec + nOffset, 8 );
+            memcpy( &(psShape->dfMMax), psSHP->pabyRec + nOffset + 8, 8 );
             
             if( bBigEndian ) SwapWord( 8, &(psShape->dfMMin) );
             if( bBigEndian ) SwapWord( 8, &(psShape->dfMMax) );
@@ -1358,11 +1617,11 @@
             for( i = 0; i < nPoints; i++ )
             {
                 memcpy( psShape->padfM + i,
-                        pabyRec + nOffset + 16 + i*8, 8 );
+                        psSHP->pabyRec + nOffset + 16 + i*8, 8 );
                 if( bBigEndian ) SwapWord( 8, psShape->padfM + i );
             }
+            psShape->bMeasureIsUsed = TRUE;
         }
-        
     }
 
 /* ==================================================================== */
@@ -1375,7 +1634,7 @@
 	int32		nPoints;
 	int    		i, nOffset;
 
-	memcpy( &nPoints, pabyRec + 44, 4 );
+	memcpy( &nPoints, psSHP->pabyRec + 44, 4 );
 	if( bBigEndian ) SwapWord( 4, &nPoints );
 
 	psShape->nVertices = nPoints;
@@ -1386,8 +1645,8 @@
 
 	for( i = 0; i < nPoints; i++ )
 	{
-	    memcpy(psShape->padfX+i, pabyRec + 48 + 16 * i, 8 );
-	    memcpy(psShape->padfY+i, pabyRec + 48 + 16 * i + 8, 8 );
+	    memcpy(psShape->padfX+i, psSHP->pabyRec + 48 + 16 * i, 8 );
+	    memcpy(psShape->padfY+i, psSHP->pabyRec + 48 + 16 * i + 8, 8 );
 
 	    if( bBigEndian ) SwapWord( 8, psShape->padfX + i );
 	    if( bBigEndian ) SwapWord( 8, psShape->padfY + i );
@@ -1398,10 +1657,10 @@
 /* -------------------------------------------------------------------- */
 /*	Get the X/Y bounds.						*/
 /* -------------------------------------------------------------------- */
-        memcpy( &(psShape->dfXMin), pabyRec + 8 +  4, 8 );
-        memcpy( &(psShape->dfYMin), pabyRec + 8 + 12, 8 );
-        memcpy( &(psShape->dfXMax), pabyRec + 8 + 20, 8 );
-        memcpy( &(psShape->dfYMax), pabyRec + 8 + 28, 8 );
+        memcpy( &(psShape->dfXMin), psSHP->pabyRec + 8 +  4, 8 );
+        memcpy( &(psShape->dfYMin), psSHP->pabyRec + 8 + 12, 8 );
+        memcpy( &(psShape->dfXMax), psSHP->pabyRec + 8 + 20, 8 );
+        memcpy( &(psShape->dfYMax), psSHP->pabyRec + 8 + 28, 8 );
 
 	if( bBigEndian ) SwapWord( 8, &(psShape->dfXMin) );
 	if( bBigEndian ) SwapWord( 8, &(psShape->dfYMin) );
@@ -1413,8 +1672,8 @@
 /* -------------------------------------------------------------------- */
         if( psShape->nSHPType == SHPT_MULTIPOINTZ )
         {
-            memcpy( &(psShape->dfZMin), pabyRec + nOffset, 8 );
-            memcpy( &(psShape->dfZMax), pabyRec + nOffset + 8, 8 );
+            memcpy( &(psShape->dfZMin), psSHP->pabyRec + nOffset, 8 );
+            memcpy( &(psShape->dfZMax), psSHP->pabyRec + nOffset + 8, 8 );
             
             if( bBigEndian ) SwapWord( 8, &(psShape->dfZMin) );
             if( bBigEndian ) SwapWord( 8, &(psShape->dfZMax) );
@@ -1422,7 +1681,7 @@
             for( i = 0; i < nPoints; i++ )
             {
                 memcpy( psShape->padfZ + i,
-                        pabyRec + nOffset + 16 + i*8, 8 );
+                        psSHP->pabyRec + nOffset + 16 + i*8, 8 );
                 if( bBigEndian ) SwapWord( 8, psShape->padfZ + i );
             }
 
@@ -1437,8 +1696,8 @@
 /* -------------------------------------------------------------------- */
         if( psSHP->panRecSize[hEntity]+8 >= nOffset + 16 + 8*nPoints )
         {
-            memcpy( &(psShape->dfMMin), pabyRec + nOffset, 8 );
-            memcpy( &(psShape->dfMMax), pabyRec + nOffset + 8, 8 );
+            memcpy( &(psShape->dfMMin), psSHP->pabyRec + nOffset, 8 );
+            memcpy( &(psShape->dfMMax), psSHP->pabyRec + nOffset + 8, 8 );
             
             if( bBigEndian ) SwapWord( 8, &(psShape->dfMMin) );
             if( bBigEndian ) SwapWord( 8, &(psShape->dfMMax) );
@@ -1446,9 +1705,10 @@
             for( i = 0; i < nPoints; i++ )
             {
                 memcpy( psShape->padfM + i,
-                        pabyRec + nOffset + 16 + i*8, 8 );
+                        psSHP->pabyRec + nOffset + 16 + i*8, 8 );
                 if( bBigEndian ) SwapWord( 8, psShape->padfM + i );
             }
+            psShape->bMeasureIsUsed = TRUE;
         }
     }
 
@@ -1467,8 +1727,8 @@
         psShape->padfZ = (double *) calloc(1,sizeof(double));
         psShape->padfM = (double *) calloc(1,sizeof(double));
 
-	memcpy( psShape->padfX, pabyRec + 12, 8 );
-	memcpy( psShape->padfY, pabyRec + 20, 8 );
+	memcpy( psShape->padfX, psSHP->pabyRec + 12, 8 );
+	memcpy( psShape->padfY, psSHP->pabyRec + 20, 8 );
 
 	if( bBigEndian ) SwapWord( 8, psShape->padfX );
 	if( bBigEndian ) SwapWord( 8, psShape->padfY );
@@ -1480,7 +1740,7 @@
 /* -------------------------------------------------------------------- */
         if( psShape->nSHPType == SHPT_POINTZ )
         {
-            memcpy( psShape->padfZ, pabyRec + nOffset, 8 );
+            memcpy( psShape->padfZ, psSHP->pabyRec + nOffset, 8 );
         
             if( bBigEndian ) SwapWord( 8, psShape->padfZ );
             
@@ -1495,9 +1755,10 @@
 /* -------------------------------------------------------------------- */
         if( psSHP->panRecSize[hEntity]+8 >= nOffset + 8 )
         {
-            memcpy( psShape->padfM, pabyRec + nOffset, 8 );
+            memcpy( psShape->padfM, psSHP->pabyRec + nOffset, 8 );
         
             if( bBigEndian ) SwapWord( 8, psShape->padfM );
+            psShape->bMeasureIsUsed = TRUE;
         }
 
 /* -------------------------------------------------------------------- */
@@ -1517,12 +1778,13 @@
 /*                            SHPTypeName()                             */
 /************************************************************************/
 
-const char *SHPTypeName( int nSHPType )
+const char SHPAPI_CALL1(*)
+SHPTypeName( int nSHPType )
 
 {
     switch( nSHPType )
     {
-      case 0:
+      case SHPT_NULL:
         return "NullShape";
 
       case SHPT_POINT:
@@ -1573,7 +1835,8 @@
 /*                          SHPPartTypeName()                           */
 /************************************************************************/
 
-const char *SHPPartTypeName( int nPartType )
+const char SHPAPI_CALL1(*)
+SHPPartTypeName( int nPartType )
 
 {
     switch( nPartType )
@@ -1605,7 +1868,8 @@
 /*                          SHPDestroyObject()                          */
 /************************************************************************/
 
-void SHPDestroyObject( SHPObject * psShape )
+void SHPAPI_CALL
+SHPDestroyObject( SHPObject * psShape )
 
 {
     if( psShape == NULL )
@@ -1627,3 +1891,157 @@
 
     free( psShape );
 }
+
+/************************************************************************/
+/*                          SHPRewindObject()                           */
+/*                                                                      */
+/*      Reset the winding of polygon objects to adhere to the           */
+/*      specification.                                                  */
+/************************************************************************/
+
+int SHPAPI_CALL
+SHPRewindObject( SHPHandle hSHP, SHPObject * psObject )
+
+{
+    int  iOpRing, bAltered = 0;
+
+/* -------------------------------------------------------------------- */
+/*      Do nothing if this is not a polygon object.                     */
+/* -------------------------------------------------------------------- */
+    if( psObject->nSHPType != SHPT_POLYGON
+        && psObject->nSHPType != SHPT_POLYGONZ
+        && psObject->nSHPType != SHPT_POLYGONM )
+        return 0;
+
+    if( psObject->nVertices == 0 || psObject->nParts == 0 )
+        return 0;
+
+/* -------------------------------------------------------------------- */
+/*      Process each of the rings.                                      */
+/* -------------------------------------------------------------------- */
+    for( iOpRing = 0; iOpRing < psObject->nParts; iOpRing++ )
+    {
+        int      bInner, iVert, nVertCount, nVertStart, iCheckRing;
+        double   dfSum, dfTestX, dfTestY;
+
+/* -------------------------------------------------------------------- */
+/*      Determine if this ring is an inner ring or an outer ring        */
+/*      relative to all the other rings.  For now we assume the         */
+/*      first ring is outer and all others are inner, but eventually    */
+/*      we need to fix this to handle multiple island polygons and      */
+/*      unordered sets of rings.                                        */
+/* -------------------------------------------------------------------- */
+        dfTestX = psObject->padfX[psObject->panPartStart[iOpRing]];
+        dfTestY = psObject->padfY[psObject->panPartStart[iOpRing]];
+
+        bInner = FALSE;
+        for( iCheckRing = 0; iCheckRing < psObject->nParts; iCheckRing++ )
+        {
+            int iEdge;
+
+            if( iCheckRing == iOpRing )
+                continue;
+            
+            nVertStart = psObject->panPartStart[iCheckRing];
+
+            if( iCheckRing == psObject->nParts-1 )
+                nVertCount = psObject->nVertices 
+                    - psObject->panPartStart[iCheckRing];
+            else
+                nVertCount = psObject->panPartStart[iCheckRing+1] 
+                    - psObject->panPartStart[iCheckRing];
+
+            for( iEdge = 0; iEdge < nVertCount; iEdge++ )
+            {
+                int iNext;
+
+                if( iEdge < nVertCount-1 )
+                    iNext = iEdge+1;
+                else
+                    iNext = 0;
+
+                if( (psObject->padfY[iEdge+nVertStart] < dfTestY 
+                     && psObject->padfY[iNext+nVertStart] >= dfTestY)
+                    || (psObject->padfY[iNext+nVertStart] < dfTestY 
+                        && psObject->padfY[iEdge+nVertStart] >= dfTestY) )
+                {
+                    if( psObject->padfX[iEdge+nVertStart] 
+                        + (dfTestY - psObject->padfY[iEdge+nVertStart])
+                           / (psObject->padfY[iNext+nVertStart]
+                              - psObject->padfY[iEdge+nVertStart])
+                           * (psObject->padfX[iNext+nVertStart]
+                              - psObject->padfX[iEdge+nVertStart]) < dfTestX )
+                        bInner = !bInner;
+                }
+            }
+        }
+
+/* -------------------------------------------------------------------- */
+/*      Determine the current order of this ring so we will know if     */
+/*      it has to be reversed.                                          */
+/* -------------------------------------------------------------------- */
+        nVertStart = psObject->panPartStart[iOpRing];
+
+        if( iOpRing == psObject->nParts-1 )
+            nVertCount = psObject->nVertices - psObject->panPartStart[iOpRing];
+        else
+            nVertCount = psObject->panPartStart[iOpRing+1] 
+                - psObject->panPartStart[iOpRing];
+
+        dfSum = 0.0;
+        for( iVert = nVertStart; iVert < nVertStart+nVertCount-1; iVert++ )
+        {
+            dfSum += psObject->padfX[iVert] * psObject->padfY[iVert+1]
+                - psObject->padfY[iVert] * psObject->padfX[iVert+1];
+        }
+
+        dfSum += psObject->padfX[iVert] * psObject->padfY[nVertStart]
+               - psObject->padfY[iVert] * psObject->padfX[nVertStart];
+
+/* -------------------------------------------------------------------- */
+/*      Reverse if necessary.                                           */
+/* -------------------------------------------------------------------- */
+        if( (dfSum < 0.0 && bInner) || (dfSum > 0.0 && !bInner) )
+        {
+            int   i;
+
+            bAltered++;
+            for( i = 0; i < nVertCount/2; i++ )
+            {
+                double dfSaved;
+
+                /* Swap X */
+                dfSaved = psObject->padfX[nVertStart+i];
+                psObject->padfX[nVertStart+i] = 
+                    psObject->padfX[nVertStart+nVertCount-i-1];
+                psObject->padfX[nVertStart+nVertCount-i-1] = dfSaved;
+
+                /* Swap Y */
+                dfSaved = psObject->padfY[nVertStart+i];
+                psObject->padfY[nVertStart+i] = 
+                    psObject->padfY[nVertStart+nVertCount-i-1];
+                psObject->padfY[nVertStart+nVertCount-i-1] = dfSaved;
+
+                /* Swap Z */
+                if( psObject->padfZ )
+                {
+                    dfSaved = psObject->padfZ[nVertStart+i];
+                    psObject->padfZ[nVertStart+i] = 
+                        psObject->padfZ[nVertStart+nVertCount-i-1];
+                    psObject->padfZ[nVertStart+nVertCount-i-1] = dfSaved;
+                }
+
+                /* Swap M */
+                if( psObject->padfM )
+                {
+                    dfSaved = psObject->padfM[nVertStart+i];
+                    psObject->padfM[nVertStart+i] = 
+                        psObject->padfM[nVertStart+nVertCount-i-1];
+                    psObject->padfM[nVertStart+nVertCount-i-1] = dfSaved;
+                }
+            }
+        }
+    }
+
+    return bAltered;
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.c
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.c	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.c	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +1,16 @@
 /* Taken from txt2dbf 1.0.2 by Frank Koormann, see
  * http://www.usf.uni-osnabrueck.de/~fkoorman/software/dbftools.en.html
+ * 
+ * Licensed as "The program is free of charge as well as the source" 
+ * but no license is mentioned - 2007-09-16 [gsherman]
  */
 
 /*
  * $Source$
  * 
- * $Author: timlinux $
+ * $Author: gsherman $
  * 
- * $Revision: 1155 $
+ * $Revision: 7204 $
  *
  * Description: utils.c
  *	collection of useful functions:

Modified: packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/grid_maker/utils.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +1,16 @@
 /* Taken from txt2dbf 1.0.2 by Frank Koormann, see
  * http://www.usf.uni-osnabrueck.de/~fkoorman/software/dbftools.en.html
+ * 
+ * Licensed as "The program is free of charge as well as the source" 
+ * but no license is mentioned - 2007-09-16 [gsherman]
  */
 
 /* 
  * $Source$
  * 
- * $Author: timlinux $
+ * $Author: gsherman $
  * 
- * $Revision: 1155 $
+ * $Revision: 7204 $
  *
  * Description: header of utils.c
  *	collection of useful functions:

Added: packages/qgis/branches/upstream/current/src/plugins/maplayer/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/maplayer/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/maplayer/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,4 @@
+.deps 
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/src/plugins/maplayer/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/maplayer/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/maplayer/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = maplayerplugin.la
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-%.h: %.ui
-	$(UIC) -o $@ $<
-
-%.cpp: %.ui
-	$(UIC) -o $@ -impl $*.h $<
-
-maplayer_MOC = 	maplayertest.moc.cpp
-
-maplayer_UI = 
-
-maplayerplugin_la_SOURCES =  maplayertest.cpp \
-				$(maplayer_UI)\
-				$(maplayer_MOC)
-
-# UI dependencies			
-
-
-maplayerplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) ../../libqgis.la
-maplayerplugin_la_LDFLAGS = -avoid-version -module
-maplayerplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) -I../../src

Deleted: packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayer.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayer.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayer.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-# File generated by kdevelop's qmake manager. 
-# ------------------------------------------- 
-# Subdir relative project main directory: ./plugins
-# Target is a library:  
-
-TEMPLATE = lib 
-CONFIG += debug \
-          warn_on \
-          qt \
-          thread 
-SOURCES += maplayertest.cpp 
-HEADERS += maplayertest.h \
-	   ../../src/qgsmaplayerinterface.h

Modified: packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     maplayertest.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:10:17 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <q3popupmenu.h>
 #include <qmessagebox.h>
 #include "../qgisplugin.h"

Modified: packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/maplayer/maplayertest.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     maplayertest.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:10:21 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef QGSMAPLAYERTESTPLUGIN_H
 #define QGSMAPLAYERTESTPLUGIN_H
 #include <q3mainwindow.h>

Added: packages/qgis/branches/upstream/current/src/plugins/north_arrow/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+pluginguibase.cpp
+pluginguibase.h
+

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,54 +1,49 @@
-
-########################################################
-# Files
-
-SET (NORTH_SRCS
-     plugin.cpp
-     plugingui.cpp
-)
-
-SET (NORTH_UIS pluginguibase.ui)
-
-SET (NORTH_MOC_HDRS
-     plugin.h
-     plugingui.h
-)
-
-SET (NORTH_RCCS  northarrow_plugin.qrc)
-
-########################################################
-# Build
-
-QT4_WRAP_UI (NORTH_UIS_H  ${NORTH_UIS})
-
-QT4_WRAP_CPP (NORTH_MOC_SRCS  ${NORTH_MOC_HDRS})
-
-QT4_ADD_RESOURCES(NORTH_RCC_SRCS ${NORTH_RCCS})
-
-ADD_LIBRARY (northarrowplugin MODULE ${NORTH_SRCS} ${NORTH_MOC_SRCS} ${NORTH_RCC_SRCS} ${NORTH_UIS_H})
-
-INCLUDE_DIRECTORIES(
-     ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../core/raster ../../core/renderer ../../core/symbology
-     ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
-     ..
-	${GEOS_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
-  ${PROJ_INCLUDE_DIR}
-)
-
-TARGET_LINK_LIBRARIES(northarrowplugin
-  ${QT_LIBRARIES}
-  ${GDAL_LIBRARIES}
-  ${PROJ_LIBRARY}
-  qgis_core
-)
-
-
-########################################################
-# Install
-
-INSTALL(TARGETS northarrowplugin
-  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
-  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
+
+########################################################
+# Files
+
+SET (NORTH_SRCS
+     plugin.cpp
+     plugingui.cpp
+)
+
+SET (NORTH_UIS pluginguibase.ui)
+
+SET (NORTH_MOC_HDRS
+     plugin.h
+     plugingui.h
+)
+
+SET (NORTH_RCCS  northarrow_plugin.qrc)
+
+########################################################
+# Build
+
+QT4_WRAP_UI (NORTH_UIS_H  ${NORTH_UIS})
+
+QT4_WRAP_CPP (NORTH_MOC_SRCS  ${NORTH_MOC_HDRS})
+
+QT4_ADD_RESOURCES(NORTH_RCC_SRCS ${NORTH_RCCS})
+
+ADD_LIBRARY (northarrowplugin MODULE ${NORTH_SRCS} ${NORTH_MOC_SRCS} ${NORTH_RCC_SRCS} ${NORTH_UIS_H})
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
+     ../../gui
+     ..
+)
+
+TARGET_LINK_LIBRARIES(northarrowplugin
+  ${QT_LIBRARIES}
+  qgis_core
+  qgis_gui
+)
+
+
+########################################################
+# Install
+
+INSTALL(TARGETS northarrowplugin
+  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
+  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})

Deleted: packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,61 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-plugindir = ${pkglibdir}
-if !HAVE_QTMAC
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-#NorthArrow below to be replaced with the name of the plugin
-plugin_LTLIBRARIES = northarrowplugin.la
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-northarrowplugin_la_SOURCES =  plugin.cpp \
-			      plugin.h \
-			      plugingui.cpp \
-			      plugingui.h \
-			      $(plugin_UI)\
-			      $(plugin_MOC) \
-			      $(plugin_QRC) \
-			      $(plugin_RES)
-
-plugin_MOC = plugin.moc.cpp \
-	     plugingui.moc.cpp 
-
-plugin_UI = ui_pluginguibase.h 
-
-plugin_UIC = pluginguibase.ui
-
-plugin_RES = northarrow_plugin.qrc.cpp
-
-#plugin_QRC = northarrow_plugin.qrc
-
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-
-northarrowplugin_la_LIBADD = $(QT_LDADD) $(GDAL_LDADD) ../../core/libqgis_core.la 
-northarrowplugin_la_LDFLAGS = -avoid-version -module
-northarrowplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) $(PKGDATAPATH) -I../../gui -I../../ui -I../../core
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) icon.xpm \
-        ui_pluginguibase.h
-

Deleted: packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/northarrowplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/northarrowplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/plugins/north_arrow/north_arrow.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/north_arrow.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/north_arrow.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,47 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the scale_bar plugin
-#
-
-include(../../../settings.pro)
-TARGET=northarrowplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=north_arrow
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-RESOURCES += northarrow_plugin.qrc
-
-HEADERS += plugin.h \
-           plugingui.h \
-           pluginguibase.ui.h 
-INTERFACES += pluginguibase.ui
-SOURCES += plugin.cpp \
-           plugingui.cpp 

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,16 +18,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 
-#include <qgisapp.h>
+#include "qgisinterface.h"
 #include "qgisgui.h"
-#include <qgsmaplayer.h>
+#include "qgscoordinatetransform.h"
+#include "qgsmaplayer.h"
 #include "plugin.h"
 #include "qgsproject.h"
 #include "qgsmapcanvas.h"
+#include "qgsmaprender.h"
 #include "qgsapplication.h"
 
 // qt includes
@@ -51,8 +53,12 @@
 #define QGISEXTERN extern "C"
 #endif
 
+#ifdef _MSC_VER
+#define round(x)  ((x) >= 0 ? floor((x)+0.5) : floor((x)-0.5))
+#endif
+
 //
-static const char * const ident_ = "$Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+static const char * const ident_ = "$Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $";
 
 static const QString name_ = QObject::tr("NorthArrow");
 static const QString description_ = QObject::tr("Displays a north arrow overlayed onto the map");
@@ -70,10 +76,8 @@
  * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-QgsNorthArrowPlugin::QgsNorthArrowPlugin(QgisApp * theQGisApp,
-                                         QgisIface * theQgisInterFace):
+QgsNorthArrowPlugin::QgsNorthArrowPlugin(QgisInterface * theQgisInterFace):
     QgisPlugin(name_,description_,version_,type_),
-    qgisMainWindowPointer(theQGisApp),
     qGisInterface(theQgisInterFace)
 {
   mRotationInt=0;
@@ -99,7 +103,7 @@
   //render the arrow each time the map is rendered
   connect(qGisInterface->getMapCanvas(), SIGNAL(renderComplete(QPainter *)), this, SLOT(renderNorthArrow(QPainter *)));
   //this resets this plugin up if a project is loaded
-  connect(qgisMainWindowPointer, SIGNAL(projectRead()), this, SLOT(projectRead()));
+  connect(qGisInterface->getMainWindow(), SIGNAL(projectRead()), this, SLOT(projectRead()));
   // Add the icon to the toolbar & appropriate menu
   qGisInterface->addToolBarIcon(myQActionPointer);
   qGisInterface->addPluginMenu(tr("&Decorations"), myQActionPointer);
@@ -131,7 +135,8 @@
 // Slot called when the buffer menu item is activated
 void QgsNorthArrowPlugin::run()
 {
-  QgsNorthArrowPluginGui *myPluginGui = new QgsNorthArrowPluginGui(qgisMainWindowPointer, QgisGui::ModalDialogFlags);
+  QgsNorthArrowPluginGui *myPluginGui = new QgsNorthArrowPluginGui(qGisInterface->getMainWindow(), QgisGui::ModalDialogFlags);
+  myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
   //overides function by the same name created in .ui
   myPluginGui->setRotation(mRotationInt);
   myPluginGui->setPlacementLabels(mPlacementLabels);
@@ -293,9 +298,7 @@
 
   if (mapCanvas.layerCount() > 0)
   {
-    // Grab an SRS from any layer
-    QgsMapLayer& mapLayer = *(mapCanvas.getZpos(0));
-    QgsSpatialRefSys& outputSRS = mapLayer.coordinateTransform()->destSRS();
+    QgsSpatialRefSys outputSRS = mapCanvas.mapRender()->destinationSrs();
 
     if (outputSRS.isValid() && !outputSRS.geographicFlag())
     {
@@ -397,9 +400,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsNorthArrowPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsNorthArrowPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,14 +16,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: plugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: plugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSNORTHARROWPLUGIN
 #define QGSNORTHARROWPLUGIN
 
 #include "../qgisplugin.h"
-#include "qgisapp.h"
 
+#include <QObject>
+#include <QStringList>
+class QgisInterface;
+class QAction;
 class QToolBar;
+class QPainter;
 /**
 * \class Plugin
 * \brief North Arrow plugin for QGIS
@@ -33,12 +37,11 @@
 {
   Q_OBJECT public:
       /**
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by
+       * Constructor for a plugin. The QgisInterface pointer is passed by
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object.
+       * @param qI Pointer to the QgisInterface object.
        */
-    QgsNorthArrowPlugin(QgisApp * , QgisIface * );
+    QgsNorthArrowPlugin( QgisInterface * );
   //! Destructor
   virtual ~QgsNorthArrowPlugin();
   public slots:
@@ -88,10 +91,8 @@
   QStringList mPlacementLabels;
   //! Pointer to our toolbar
   QToolBar *toolBarPointer;
-  //! Pionter to QGIS main application object
-  QgisApp *qgisMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *myQActionPointer;
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -11,20 +11,13 @@
  ***************************************************************************/
 #include "plugingui.h"
 #include "qgsapplication.h"
+#include "qgscontexthelp.h"
 
 #include <QPainter>
 #include <cmath>
 
 #include <iostream>
 
-QgsNorthArrowPluginGui::QgsNorthArrowPluginGui() : QDialog()
-{
-  setupUi(this);
-  //temporary hack until this is implemented
-  tabNorthArrowOptions->removePage( tabIcon );
-  rotatePixmap(0);
-}
-
 QgsNorthArrowPluginGui::QgsNorthArrowPluginGui(QWidget* parent, Qt::WFlags fl)
 : QDialog(parent, fl)
 {
@@ -37,7 +30,7 @@
 {
 }
 
-void QgsNorthArrowPluginGui::on_pbnOK_clicked()
+void QgsNorthArrowPluginGui::on_buttonBox_accepted()
 {
   // Hide the dialog
   hide();
@@ -48,13 +41,19 @@
   emit enableNorthArrow(cboxShow->isChecked());
   emit needToRefresh();
 
-  done(1);
+  accept();
 }
-void QgsNorthArrowPluginGui::on_pbnCancel_clicked()
+
+void QgsNorthArrowPluginGui::on_buttonBox_rejected()
 {
-  close(1);
+  reject();
 }
 
+void QgsNorthArrowPluginGui::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}
+
 void QgsNorthArrowPluginGui::setRotation(int theInt)
 {
   rotatePixmap(theInt);

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,7 +12,7 @@
 #ifndef QGSNORTHARROWPLUGINGUI_H
 #define QGSNORTHARROWPLUGINGUI_H
 
-#include <ui_pluginguibase.h>
+#include "ui_pluginguibase.h"
 
 /**
 @author Tim Sutton
@@ -21,18 +21,16 @@
 {
 Q_OBJECT
 public:
-    QgsNorthArrowPluginGui();
     QgsNorthArrowPluginGui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsNorthArrowPluginGui();
 
-public slots:
-    void on_pbnOK_clicked();
-    void on_pbnCancel_clicked();
-
 private:
     void rotatePixmap(int theRotationInt);
     //    void paintEvent( QPaintEvent * );//overloads qwidget
     void resizeEvent(QResizeEvent *); //overloads qwidget
+
+    static const int context_id = 0;
+
 signals:
    //void drawRasterLayer(QString);
    //void drawVectorrLayer(QString,QString,QString);
@@ -52,6 +50,9 @@
     void setAutomaticDisabled();
 
 private slots:
+    void on_buttonBox_accepted();
+    void on_buttonBox_rejected();
+    void on_buttonBox_helpRequested();
     void on_spinAngle_valueChanged( int theInt);
     void on_sliderRotation_valueChanged( int theInt);
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/north_arrow/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/north_arrow/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/north_arrow/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,4 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsNorthArrowPluginGuiBase</class>
  <widget class="QDialog" name="QgsNorthArrowPluginGuiBase" >
   <property name="geometry" >
@@ -198,7 +195,7 @@
        <item row="0" column="1" >
         <widget class="QPushButton" name="btnBrowse" >
          <property name="text" >
-          <string>...</string>
+          <string>Browse...</string>
          </property>
         </widget>
        </item>
@@ -215,52 +212,6 @@
      </widget>
     </widget>
    </item>
-   <item row="2" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>351</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="0" column="2" >
     <widget class="QLabel" name="txtHeading" >
      <property name="sizePolicy" >
@@ -319,17 +270,24 @@
      </property>
     </widget>
    </item>
+   <item row="2" column="0" colspan="3" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
  <customwidgets>
   <customwidget>
    <class>Q3IconView</class>
-   <extends></extends>
+   <extends>Q3Frame</extends>
    <header>q3iconview.h</header>
-   <container>0</container>
-   <pixmap></pixmap>
   </customwidget>
  </customwidgets>
  <resources>

Deleted: packages/qgis/branches/upstream/current/src/plugins/plugin_builder.pl
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_builder.pl	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_builder.pl	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,193 +0,0 @@
-#!/usr/bin/perl
-use Cwd;
-
-#####################################################
-# A script to automate creation of a new QGIS plugin
-# using the plugin_template
-# Authors GSherman TSutton
-# Feb 21, 2004
-#####################################################
-# $Id: plugin_builder.pl 5212 2006-04-07 23:21:38Z timlinux $ #
-
-#make sure we are in a the plugins directory otherwise the changes this script will make will 
-#wreak havoc....
-$myDir = fastgetcwd;
-print "\n\nChecking that we are in the <qgis dir>/src/plugins/ directory....";
-if ($myDir =~ m/src\/plugins$/) {
-  print "yes\n";
-}else {
-  print "no\n";
-  print $myDir;
-  print "\nPlease relocate to the plugins directory before attempting to run this script.\n";
-  exit;
-}
-# get the needed information from the user
-print "\n\nEnter the directory name under qgis/src/plugins/ where your new plugin will be created.\n";
-print "We suggest using a lowercase underscore separated name e.g. clever_plugin\n";
-print "Directory for the new plugin:";
-$pluginDir =<STDIN>;
-chop $pluginDir;
-
-print "\n\nEnter the name that will be used when creating the plugin library.\n";
-print "The name should be entered as a mixed case name with no spaces. e.g. CleverTool\n";
-print "The plugin name will be used in the following ways:\n";
-print "1) it will be 'lower cased' and used as the root of the generated lib name \n";
-print "   e.g. libqgis_plugin_clevertool\n";
-print "2) in its upper cased form it will be used as the basis for class names, in particular\n";
-print "   CleverToolGuiBase <- The base class for the plugins configuration dialog / gui generated by uic\n";
-print "   CleverToolGui     <- The concrete class for the plugins configuration dialog\n";
-print "3) CleverTool     <- The class that includes the plugin loader instructions and\n";
-print "                     and calls to your custom application logic\n";
-print "4) clevertool.h, clevertool.cpp  etc. <- the filenames used to hold the above derived classes\n";
-print "Plugin name: " ;
-$pluginName = <STDIN>;
-chop $pluginName;
-$pluginLCaseName = lc($pluginName); #todo convert to lower case 
-
-print "\n\nEnter a short description (typically one line)\n";
-print "e.g. The clever plugin does clever stuff in QGIS\n";
-print "Plugin description: " ;
-$pluginDescription = <STDIN>;
-chop $pluginDescription;
-
-print "\n\n Enter the name of the application menu that will be created for your plugin\n";
-print "Clever Tools\n";
-print "Menu name: ";
-$menuName = <STDIN>;
-chop $menuName;
-
-print "\n\n Enter the name of the menu entry  (under the menu that you have just defined) that\n";
-print "will be used to invoke your plugin. e.g. Clever Plugin\n";
-print "Menu item name: ";
-$menuItemName = <STDIN>;
-chop $menuItemName;
-
-# print a summary of what's about to happen
-print << "EOF";
-
-Summary of plugin parameters:
----------------------------------------------
-Plugin directory      $pluginDir
-Name of the plugin:   $pluginName
-Library name of the plugin:   libqgis_plugin_$pluginLCaseName
-Description of the plugin:   $pluginDescription
-Menu name:            $menuName
-Menu item name:       $menuItemName
-
-Warning - Proceeding will make changes to Makefile.am in this directory,
-as well as ../../configure.in. Please use caution.
-EOF
-# ask if we should proceed
-print "Create the plugin? [y/n]: ";
-$createIt = <STDIN>;
-chop $createIt;
-
-if(($createIt eq 'y') || ($createIt eq 'Y')){
-  #
-  # its a go -- create the plugin and modify the build files
-  #
-  # create the new plugin directory
-  system("mkdir $pluginDir");
-  # copy files to appropriate names
-  system("cp plugin_template/Makefile.am $pluginDir/");
-  system("cp plugin_template/README.whatnext $pluginDir/README");
-  system("cp plugin_template/plugin.qrc $pluginDir/$pluginLCaseName.qrc");
-  system("cp plugin_template/plugin.png $pluginDir/$pluginLCaseName.png");
-  system("cp plugin_template/plugin.cpp $pluginDir/$pluginLCaseName.cpp");
-  system("cp plugin_template/plugin.h $pluginDir/$pluginLCaseName.h");
-  system("cp plugin_template/plugingui.cpp $pluginDir/${pluginLCaseName}gui.cpp");
-  system("cp plugin_template/plugingui.h $pluginDir/${pluginLCaseName}gui.h");
-  system("cp plugin_template/pluginguibase.ui $pluginDir/${pluginLCaseName}guibase.ui");
-  system("cp plugin_template/pluginguibase.ui.h $pluginDir/${pluginLCaseName}guibase.ui.h");
-  
-  # Substitute the plugin specific vars in the various files
-  # This is a brute force approach but its quick and dirty :)
-  #
-  # replace [pluginlcasename] in template with the new plugin name
-  system("perl -pi -e 's/\\\[pluginlcasename\\\]/$pluginLCaseName/g' $pluginDir/*.qrc $pluginDir/*.cpp $pluginDir/*.h $pluginDir/*.am $pluginDir/*.ui");
-  # replace [pluginname] in template with the new plugin name
-  system("perl -pi -e 's/\\\[pluginname\\\]/$pluginName/g' $pluginDir/*.cpp $pluginDir/*.h $pluginDir/*.am $pluginDir/*.ui");
-  # replace [plugindescription] in template with the description
-  system("perl -pi -e 's/\\\[plugindescription\\\]/$pluginDescription/g' $pluginDir/*.cpp $pluginDir/*.h $pluginDir/*.am");
-  # replace [menuname] in the template with the menu name
-  system("perl -pi -e 's/\\\[menuname\\\]/$menuName/g' $pluginDir/*.cpp $pluginDir/*.h $pluginDir/*.am");
-  # replace [menuitemname] in the template with the menu item name
-  system("perl -pi -e 's/\\\[menuitemname\\\]/$menuItemName/g' $pluginDir/*.cpp $pluginDir/*.h $pluginDir/*.am");
-  
-  # Add an entry to qgis/plugins/Makefile.am
-  # We won't add it the EXTRA_DIST since we don't want to necesarily distribute
-  # third party plugins
-  open MAKEFILE, "<./Makefile.am" || die 'Unable to open Makefile.am';
-  open MAKEFILEMOD, ">./Makefile.am.mod" || die 'Unable to create Makefile.am.mod';
-  # read through Makefile.am and write each line to Makefile.am.mod
-  while(<MAKEFILE>){
-    if(/^\s*SUBDIRS =*/){
-      # add our plugin dir to the next line after SUBDIRS line
-      print MAKEFILEMOD;
-      print MAKEFILEMOD "\t\t$pluginDir \\\n";
-    }else{
-      print MAKEFILEMOD;
-    }
-  }
-  # close the Makefile file handles
-  close MAKEFILEMOD;
-  close MAKEFILE;
-  
-  # save Makefile.am in case we die before done moving things around
-  system("mv Makefile.am Makefile.am.save");
-  # move the new Makefile.am to where it belongs
-  system("mv Makefile.am.mod Makefile.am");
-  # delete the original Makefile.am
-  unlink("Makefile.am.save");
-
-  # Add an entry to qgis/configure.in
-  # Do we really want to do this or add a message telling the user how to do
-  # it?
-  open CONFIGUREIN, "<../../configure.in" || die 'Unable to open ../../configure.in';
-  open CONFIGUREINMOD, ">../../configure.in.mod" || die 'Unable to create ../../configure.in.mod';
-  # read through configure.in until we find the AC_CONFIG_FILES section
-   while(<CONFIGUREIN>){
-    if(/^\s*AC_CONFIG_FILES*/){
-      # set the flag so we can look for the closing ])
-      $inConfigFile = 1;
-      print CONFIGUREINMOD;
-      
-    }else{
-      if($inConfigFile){
-        if(/^\s*\]\)*/){
-          # write our entry 
-          print CONFIGUREINMOD "\tsrc/plugins/$pluginDir/Makefile\n";
-          $inConfigFile = 0;
-        }
-      }
-      print CONFIGUREINMOD;
-    }
-  }
-  close CONFIGUREIN;
-  close CONFIGUREINMOD;
-  
-   # save configure.in in case we die before done moving things around
-  system("mv ../../configure.in ../../configure.in.save");
-  # move the new configure.in to where it belongs
-  system("mv ../../configure.in.mod ../../configure.in");
-  # delete the original configure.in
-  unlink("../../configure.in.save");
-  
-# print out some end of processing info
-print << "EOP";
-
-Your plugin ($pluginName) has been created in $pluginDir.
-Makefile.am and configure.in have been modified.
-To build the plugin, you must change to the top level of the source tree and
-run autoreconf, configure, then make.
-
-Once your plugin has successfully built, please see $pluginDir/README for 
-hints on how to get started.
-
-EOP
-
-}else{
-  # user cancelled
-  print "Plugin not created\n";
-}
-

Added: packages/qgis/branches/upstream/current/src/plugins/plugin_builder.py
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_builder.py	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_builder.py	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,169 @@
+#***************************************************************************
+#    plugin_builder.py
+# A script to automate creation of a new QGIS plugin using the plugin_template
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:11:04 AKDT 2007
+#   Copyright            : (C) Copyright 2007 Martin Dobias
+#   Email                : 
+# Original authors of Perl version: Gary Sherman and Tim Sutton
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
+
+
+
+import os, sys, shutil, re
+
+def template_file(file):
+	return os.path.join('plugin_template', file)
+
+def plugin_file(pluginDir, file):
+	return os.path.join(pluginDir, file)
+
+# make sure we are in a the plugins directory otherwise the changes this script will make will 
+# wreak havoc....
+
+myDir = os.getcwd()
+print "Checking that we are in the <qgis dir>/src/plugins/ directory....",
+
+pluginsDirectory = os.path.join('src','plugins')
+
+if myDir[-len(pluginsDirectory):] == pluginsDirectory:
+	print "yes"
+else:
+	print "no"
+	print myDir
+ 	print "Please relocate to the plugins directory before attempting to run this script."
+	sys.exit(1)
+
+
+# get the needed information from the user
+print "Enter the directory name under qgis/src/plugins/ where your new plugin will be created."
+print "We suggest using a lowercase underscore separated name e.g. clever_plugin"
+print "Directory for the new plugin:",
+
+pluginDir = raw_input()
+
+print
+print "Enter the name that will be used when creating the plugin library."
+print "The name should be entered as a mixed case name with no spaces. e.g. CleverTool"
+print "The plugin name will be used in the following ways:"
+print "1) it will be 'lower cased' and used as the root of the generated lib name"
+print "   e.g. libqgis_plugin_clevertool"
+print "2) in its upper cased form it will be used as the basis for class names, in particular"
+print "   CleverToolGuiBase <- The base class for the plugins configuration dialog / gui generated by uic"
+print "   CleverToolGui     <- The concrete class for the plugins configuration dialog"
+print "3) CleverTool     <- The class that includes the plugin loader instructions and"
+print "                     and calls to your custom application logic"
+print "4) clevertool.h, clevertool.cpp  etc. <- the filenames used to hold the above derived classes"
+print "Plugin name:",
+
+pluginName = raw_input()
+pluginLCaseName = pluginName.lower()
+
+print
+print "Enter a short description (typically one line)"
+print "e.g. The clever plugin does clever stuff in QGIS"
+print "Plugin description:",
+pluginDescription = raw_input()
+
+print
+print "Enter the name of the application menu that will be created for your plugin"
+print "Clever Tools"
+print "Menu name:",
+menuName = raw_input()
+
+print
+print "Enter the name of the menu entry  (under the menu that you have just defined) that"
+print "will be used to invoke your plugin. e.g. Clever Plugin"
+print "Menu item name:",
+menuItemName = raw_input()
+
+# print a summary of what's about to happen
+# and ask if we should proceed
+print
+print "Summary of plugin parameters:"
+print "---------------------------------------------"
+print "Plugin directory:         ", pluginDir
+print "Name of the plugin:       ", pluginName
+print "Description of the plugin:", pluginDescription
+print "Menu name:                ", menuName
+print "Menu item name:           ", menuItemName
+print
+print "Warning - Proceeding will make changes to CMakeLists.txt in this directory."
+print "Create the plugin? [y/n]:",
+
+createIt = raw_input()
+
+if createIt.lower() != 'y':
+	print "Plugin creation cancelled, exiting"
+	sys.exit(2)
+
+# create the plugin and modify the build files
+
+# create the new plugin directory
+os.mkdir(pluginDir)
+
+# copy files to appropriate names
+shutil.copy(template_file('CMakeLists.txt'), pluginDir)
+shutil.copy(template_file('README.whatnext'), os.path.join(pluginDir, 'README'))
+shutil.copy(template_file('plugin.qrc'),      os.path.join(pluginDir, pluginLCaseName + '.qrc'))
+shutil.copy(template_file('plugin.png'),      os.path.join(pluginDir, pluginLCaseName + '.png'))
+shutil.copy(template_file('plugin.cpp'),      os.path.join(pluginDir, pluginLCaseName + '.cpp'))
+shutil.copy(template_file('plugin.h'),        os.path.join(pluginDir, pluginLCaseName + '.h'))
+shutil.copy(template_file('plugingui.cpp'),   os.path.join(pluginDir, pluginLCaseName + 'gui.cpp'))
+shutil.copy(template_file('plugingui.h'),     os.path.join(pluginDir, pluginLCaseName + 'gui.h'))
+shutil.copy(template_file('plugingui.ui'),    os.path.join(pluginDir, pluginLCaseName + 'gui.ui'))
+
+# Substitute the plugin specific vars in the various files
+# This is a brute force approach but its quick and dirty :)
+#
+
+files = [ plugin_file(pluginDir, 'CMakeLists.txt'),
+	  plugin_file(pluginDir, pluginLCaseName + '.qrc'),
+	  plugin_file(pluginDir, pluginLCaseName + '.cpp'),
+	  plugin_file(pluginDir, pluginLCaseName + '.h'),
+	  plugin_file(pluginDir, pluginLCaseName + 'gui.cpp'),
+	  plugin_file(pluginDir, pluginLCaseName + 'gui.h'),
+	  plugin_file(pluginDir, pluginLCaseName + 'gui.ui') ]
+
+# replace occurences of [pluginlcasename], [pluginname], [plugindescription], [menuname], [menutiem]
+# in template with the values from user
+replacements = [ ('\\[pluginlcasename\\]', pluginLCaseName),
+	         ('\\[pluginname\\]', pluginName),
+	         ('\\[plugindescription\\]', pluginDescription),
+	         ('\\[menuname\\]', menuName),
+	         ('\\[menuitemname\\]', menuItemName) ]
+
+for file in files:
+	
+	# read contents of the file
+	f = open(file)
+	content = f.read()
+	f.close()
+	
+	# replace everything neccessary
+	for repl in replacements:
+		content = re.sub(repl[0], repl[1], content)
+	
+	# write changes to the file
+	f = open(file, "w")
+	f.write(content)
+	f.close()
+
+
+# Add an entry to src/plugins/CMakeLists.txt
+f = open('CMakeLists.txt','a')
+f.write('\nSUBDIRS ('+pluginDir+')\n')
+f.close()
+
+print "Your plugin %s has been created in %s, CMakeLists.txt has been modified." % (pluginName, pluginDir)
+print
+print "Once your plugin has successfully built, please see %s/README for" % (pluginDir)
+print "hints on how to get started."
+


Property changes on: packages/qgis/branches/upstream/current/src/plugins/plugin_builder.py
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/qgis/branches/upstream/current/src/plugins/plugin_template/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,50 @@
+
+########################################################
+# Files
+
+SET ([pluginlcasename]_SRCS
+     [pluginlcasename].cpp
+     [pluginlcasename]gui.cpp
+)
+
+SET ([pluginlcasename]_UIS [pluginlcasename]gui.ui)
+
+SET ([pluginlcasename]_MOC_HDRS
+     [pluginlcasename].h
+     [pluginlcasename]gui.h
+)
+
+SET ([pluginlcasename]_RCCS  [pluginlcasename].qrc)
+
+########################################################
+# Build
+
+QT4_WRAP_UI ([pluginlcasename]_UIS_H  ${[pluginlcasename]_UIS})
+
+QT4_WRAP_CPP ([pluginlcasename]_MOC_SRCS  ${[pluginlcasename]_MOC_HDRS})
+
+QT4_ADD_RESOURCES([pluginlcasename]_RCC_SRCS ${[pluginlcasename]_RCCS})
+
+ADD_LIBRARY ([pluginlcasename]plugin MODULE ${[pluginlcasename]_SRCS} ${[pluginlcasename]_MOC_SRCS} ${[pluginlcasename]_RCC_SRCS} ${[pluginlcasename]_UIS_H})
+
+INCLUDE_DIRECTORIES(
+     ${CMAKE_CURRENT_BINARY_DIR}
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
+     ../../gui
+     ..
+)
+
+TARGET_LINK_LIBRARIES([pluginlcasename]plugin
+  ${QT_LIBRARIES}
+  qgis_core
+  qgis_gui
+)
+
+
+########################################################
+# Install
+
+INSTALL(TARGETS [pluginlcasename]plugin
+  RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
+  LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
+

Deleted: packages/qgis/branches/upstream/current/src/plugins/plugin_template/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,81 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com> 
-#           and 2006 Tim Sutton <tim at linfiniti.com>
-# 
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 5198 2006-04-06 14:35:09Z timlinux $
-
-#[pluginlcasename] below to be replaced with the name of the plugin
-
-##
-## Legacy support for pkgdatapath - you are encouraged to use
-## Qt4.x resource files where possible rather!
-##
-if !HAVE_QTMAC
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-plugindir = ${pkglibdir}
-
-#for plugin so
-plugin_LTLIBRARIES = libqgis_plugin_[pluginlcasename].la
-
-## For Qt4 intermerdiary meta object compiler files
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-## For Qt4 User Interface Files
-ui_%.h: %.ui
-	$(UIC) -o $@ $<
-
-## For Qt4 Resource Files
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-##
-##  For plugin lib
-##
-
-libqgis_plugin_[pluginlcasename]_la_SOURCES = [pluginlcasename].cpp \
-	[pluginlcasename]gui.cpp \
-	$(plugin_UI)\
-	$(plugin_MOC)\
-	$(plugin_QRC) \
-	$(plugin_RES)
-
-	     
-plugin_MOC = [pluginlcasename].moc.cpp \
-    [pluginlcasename]gui.moc.cpp 
-
-plugin_UI = ui_[pluginlcasename]guibase.h 
-
-plugin_UIC = [pluginlcasename]guibase.ui
-
-plugin_RES = [pluginlcasename].qrc.cpp
-
-plugin_QRC = [pluginlcasename].qrc
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-libqgis_plugin_[pluginlcasename]_la_LIBADD = $(QT_LDADD) \
-			    $(GDAL_LDADD) \
-			    ../../core/libqgis_core.la \
-			    ../../gui/libqgis_gui.la
-libqgis_plugin_[pluginlcasename]_la_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG_QGIS)
-libqgis_plugin_[pluginlcasename]_la_CXXFLAGS = $(CXXFLAGS) \
-			      $(EXTRA_CXXFLAGS) \
-			      $(QT_CXXFLAGS) \
-			      $(DEBUG_QGIS) \
-			      $(GDAL_CFLAGS) \
-			      $(GEOS_CFLAGS) \
-			      -I../../core \
-			      -I../../ui \
-			      -I../../gui -I../../raster
-
-libqgis_plugin_[pluginlcasename]_la_LDFLAGS = -avoid-version -module

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/README
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/README	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/README	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,6 +10,6 @@
 new plugins. Altering these files may break
 the automated plugin template generation process.
 
-Please visit: http://mrcc.com/qgiswiki/PluginDevelopersGuide
+Please visit: http://wiki.qgis.org/qgiswiki/DevelopingPlugins
 
 For more information on creating plugins.

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/README.whatnext
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/README.whatnext	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/README.whatnext	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,27 +13,26 @@
 In particular look at the following classes:
 
 QGisInterface : http://svn.qgis.org/api_doc/html/classQgisInterface.html
-QGisIface     : http://svn.qgis.org/api_doc/html/classQgisIface.html
+QgsMapCanvas  : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html
 QgsMapTool    : http://svn.qgis.org/api_doc/html/classQgsMapTool.html
 QgsPlugin     : http://svn.qgis.org/api_doc/html/classQgisPlugin.html
 
-QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.
+QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.
 
 QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.
 
 What are all the files in my generated plugin directory for?
 -------------------------------------------------------------
 
-Makefile.am  
-This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.
+CMakeLists.txt
+This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.
 
 [pluginlcasename].h
 [pluginlcasename].cpp  
 This is the class that provides the 'glue' between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete implementation of QgisPlugin (which defines required behaviour for a plugin). In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.
 
-[pluginlcasename]guibase.ui  
-[pluginlcasename]guibase.ui.h  
-This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer 'ui' file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).
+[pluginlcasename]gui.ui  
+This is a Qt designer 'ui' file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).
 
 
 [pluginlcasename]gui.cpp  
@@ -63,4 +62,4 @@
 Have fun and thank you for choosing QGIS.
 
 The QGIS Team
-2006
+2007

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,6 @@
 /***************************************************************************
   [pluginlcasename].cpp 
   [plugindescription]
-
   -------------------
          begin                : [PluginDate]
          copyright            : [(C) Your Name and Date]
@@ -15,35 +14,25 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: plugin.cpp 6935 2007-05-07 14:29:51Z wonder $ */
 
 //
 // QGIS Specific includes
 //
 
-#include <qgisapp.h>
+#include <qgisinterface.h>
 #include <qgisgui.h>
-#include <qgsmaplayer.h>
-#include <qgsrasterlayer.h>
+
 #include "[pluginlcasename].h"
-//the gui subclass
 #include "[pluginlcasename]gui.h"
 
 //
 // Qt4 Related Includes
 //
 
-#include <QToolBar>
-#include <QMenuBar>
-#include <QMessageBox>
-#include <QMenu>
-#include <QLineEdit>
 #include <QAction>
-#include <QApplication>
-#include <QCursor>
+#include <QToolBar>
 
-//non qt includes
-#include <iostream>
 
 
 #ifdef WIN32
@@ -52,7 +41,7 @@
 #define QGISEXTERN extern "C"
 #endif
 
-static const char * const sIdent = "$Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+static const char * const sIdent = "$Id: plugin.cpp 6935 2007-05-07 14:29:51Z wonder $";
 static const QString sName = QObject::tr("[menuitemname]");
 static const QString sDescription = QObject::tr("[plugindescription]");
 static const QString sPluginVersion = QObject::tr("Version 0.1");
@@ -65,15 +54,12 @@
 //////////////////////////////////////////////////////////////////////
 
 /**
- * Constructor for the plugin. The plugin is passed a pointer to the main app
- * and an interface object that provides access to exposed functions in QGIS.
- * @param theQGisApp - Pointer to the QGIS main window
+ * Constructor for the plugin. The plugin is passed a pointer 
+ * an interface object that provides access to exposed functions in QGIS.
  * @param theQGisInterface - Pointer to the QGIS interface object
  */
-[pluginname]::[pluginname](QgisApp * theQGisApp, 
-				       QgisIface * theQgisInterface):
+[pluginname]::[pluginname](QgisInterface * theQgisInterface):
                  QgisPlugin(sName,sDescription,sPluginVersion,sPluginType),
-                 mQGisApp(theQGisApp), 
                  mQGisIface(theQgisInterface)
 {
 }
@@ -97,9 +83,9 @@
   // Connect the action to the run
   connect(mQActionPointer, SIGNAL(activated()), this, SLOT(run()));
   // Add the toolbar
-  mToolBarPointer = new QToolBar((QMainWindow *) mQGisApp, "[menuname]");
+  mToolBarPointer = new QToolBar(mQGisIface->getMainWindow(), "[menuname]");
   mToolBarPointer->setLabel("[menuitemname]");
-  // Add the to the toolbar
+  // Add the icon to the toolbar
   mQGisIface->addToolBarIcon(mQActionPointer);
   mQGisIface->addPluginMenu("&[menuname]", mQActionPointer);
 
@@ -116,10 +102,9 @@
 // not be enough
 void [pluginname]::run()
 {
-  [pluginname]Gui *myPluginGui=new [pluginname]Gui(mQGisApp, QgisGui::ModalDialogFlags);
-  //listen for when the layer has been made so we can draw it
-  connect(myPluginGui, SIGNAL(drawRasterLayer(QString)), this, SLOT(drawRasterLayer(QString)));
-  connect(myPluginGui, SIGNAL(drawVectorLayer(QString,QString,QString)), this, SLOT(drawVectorLayer(QString,QString,QString)));
+  [pluginname]Gui *myPluginGui=new [pluginname]Gui(mQGisIface->getMainWindow(), QgisGui::ModalDialogFlags);
+  myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
+  
   myPluginGui->show();
 }
 
@@ -132,34 +117,7 @@
   delete mQActionPointer;
 }
 
-//////////////////////////////////////////////////////////////////////
-//
-//                  END OF MANDATORY PLUGIN METHODS
-//
-//////////////////////////////////////////////////////////////////////
-//
-// The following methods are provided to demonstrate how you can 
-// load a vector or raster layer into the main gui. Please delete
-// if you are not intending to use these. Note also that there are
-// ways in which layers can be loaded.
-//
 
-//!draw a raster layer in the qui - intended to respond to signal sent by diolog when it as finished creating
-//layer
-void [pluginname]::drawRasterLayer(QString theQString)
-{
-  mQGisIface->addRasterLayer(theQString);
-}
-
-//!draw a vector layer in the qui - intended to respond to signal sent by 
-// dialog when it as finished creating a layer. It needs to be given 
-// vectorLayerPath, baseName, providerKey ("ogr" or "postgres");
-void [pluginname]::drawVectorLayer(QString thePathNameQString, QString theBaseNameQString, QString theProviderQString)
-{
-  mQGisIface->addVectorLayer( thePathNameQString, theBaseNameQString, theProviderQString);
-}
-
-
 //////////////////////////////////////////////////////////////////////////
 //
 //
@@ -177,9 +135,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new [pluginname](theQGisAppPointer, theQgisInterfacePointer);
+  return new [pluginname](theQgisInterfacePointer);
 }
 // Return the name of the plugin - note that we do not user class members as
 // the class may not yet be insantiated when this method is called.

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,6 @@
 /***************************************************************************
-                          plugin.h 
- Functions:
-                             -------------------
+    [pluginlcasename].h 
+    -------------------
     begin                : Jan 21, 2004
     copyright            : (C) 2004 by Tim Sutton
     email                : tim at linfiniti.com
@@ -16,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: plugin.h 5476 2006-05-19 09:53:08Z g_j_m $ */
+ /*  $Id: plugin.h 6931 2007-05-06 02:40:33Z wonder $ */
 /***************************************************************************
  *   QGIS Programming conventions:
  *   
@@ -41,12 +40,14 @@
 #include <QObject>
 
 //QGIS includes
-#include <qgisapp.h>
 #include "../qgisplugin.h"
 
 //forward declarations
+class QAction;
 class QToolBar;
 
+class QgisInterface;
+
 /**
 * \class Plugin
 * \brief [name] plugin for QGIS
@@ -64,12 +65,11 @@
   //////////////////////////////////////////////////////////////////////
 
   /** 
-  * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+  * Constructor for a plugin. The QgisInterface pointer is passed by 
   * QGIS when it attempts to instantiate the plugin.
-  * @param Pointer to the QgisApp object
-  * @param Pointer to the QgisIface object. 
+  * @param theInterface Pointer to the QgisInterface object. 
    */
-  [pluginname](QgisApp * theApplication, QgisIface * theInterface);
+  [pluginname](QgisInterface * theInterface);
   //! Destructor
   virtual ~[pluginname]();
 
@@ -83,23 +83,6 @@
   //! show the help document
   void help();
 
-  //////////////////////////////////////////////////////////////////////
-  //
-  //                  END OF MANDATORY PLUGIN METHODS
-  //
-  //////////////////////////////////////////////////////////////////////
-  //
-  // The following methods are provided to demonstrate how you can 
-  // load a vector or raster layer into the main gui. Please delete
-  // if you are not intending to use these. Note also that there are
-  // other ways in which layers can be loaded.
-  //
-  
-  //!draw a raster layer in the qui
-  void drawRasterLayer(QString);
-  //! Add a vector layer given vectorLayerPath, baseName, providerKey ("ogr" or "postgres");
-  void drawVectorLayer(QString,QString,QString);
-  
 private:
 
   ////////////////////////////////////////////////////////////////////
@@ -111,10 +94,8 @@
   int mPluginType;
   //! Pointer to our toolbar
   QToolBar *mToolBarPointer;
-  //! Pionter to QGIS main application object
-  QgisApp *mQGisApp;
   //! Pointer to the QGIS interface object
-  QgisIface *mQGisIface;
+  QgisInterface *mQGisIface;
   //!pointer to the qaction for this plugin
   QAction * mQActionPointer;
   ////////////////////////////////////////////////////////////////////

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,38 +10,35 @@
  *   (at your option) any later version.                                   *
  ***************************************************************************/
 #include "[pluginlcasename]gui.h"
+#include "qgscontexthelp.h"
 
 //qt includes
 
 //standard includes
 
-[pluginname]Gui::[pluginname]Gui() : [pluginname]GuiBase()
-{
-  setupUi(this);
-}
-
 [pluginname]Gui::[pluginname]Gui( QWidget* parent, Qt::WFlags fl )
 : QDialog ( parent, fl )
 {
   setupUi(this);
 }  
+
 [pluginname]Gui::~[pluginname]Gui()
 {
 }
 
-void [pluginname]Gui::pbnOK_clicked()
+void [pluginname]Gui::on_buttonBox_accepted()
 {
-  //
-  // If you have a produced a raster layer using your plugin, you can ask qgis to 
-  // add it to the view using:
-  // emit drawRasterLayer(QString("layername"));
-  // or for a vector layer
-  // emit drawVectorLayer(QString("pathname"),QString("layername"),QString("provider name (either ogr or postgres"));
-  //
   //close the dialog
-  done(1);
+  accept();
 } 
-void [pluginname]Gui::pbnCancel_clicked()
+
+void [pluginname]Gui::on_buttonBox_rejected()
 {
- close(1);
+  reject();
 }
+
+void [pluginname]Gui::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}
+

Modified: packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,25 +13,26 @@
 #define [pluginname]GUI_H
 
 #include <QDialog>
-#include <ui_[pluginlcasename]guibase.h>
+#include <ui_[pluginlcasename]gui.h>
 
 /**
 @author Tim Sutton
 */
-class [pluginname]Gui : public QDialog, private Ui::[pluginname]GuiBase
+class [pluginname]Gui : public QDialog, private Ui::[pluginname]Gui
 {
 Q_OBJECT
 public:
-    [pluginname]Gui();
     [pluginname]Gui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~[pluginname]Gui();
-    void pbnOK_clicked();
-    void pbnCancel_clicked();
+
 private:
-    
-signals:
-   void drawRasterLayer(QString);
-   void drawVectorrLayer(QString,QString,QString);
+    static const int context_id = 0;
+
+private slots:
+    void on_buttonBox_accepted();
+    void on_buttonBox_rejected();
+    void on_buttonBox_helpRequested();
+
 };
 
 #endif

Added: packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.ui	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/plugingui.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,139 @@
+<ui version="4.0" >
+ <class>[pluginname]Gui</class>
+ <widget class="QDialog" name="[pluginname]Gui" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>584</width>
+    <height>435</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>QGIS Plugin Template</string>
+  </property>
+  <property name="windowIcon" >
+   <iconset/>
+  </property>
+  <layout class="QGridLayout" >
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item row="0" column="0" >
+    <widget class="QLabel" name="txtHeading" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>5</hsizetype>
+       <vsizetype>1</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="font" >
+      <font>
+       <family>Sans Serif</family>
+       <pointsize>24</pointsize>
+       <weight>75</weight>
+       <italic>false</italic>
+       <bold>true</bold>
+       <underline>false</underline>
+       <strikeout>false</strikeout>
+      </font>
+     </property>
+     <property name="text" >
+      <string>Plugin Template</string>
+     </property>
+     <property name="alignment" >
+      <set>Qt::AlignCenter</set>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0" >
+    <widget class="QTextBrowser" name="textBrowser" >
+     <property name="html" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'DejaVu Sans Condensed'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-size:12pt; font-weight:600;">Welcome to your automatically generated plugin!&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-size:12pt; font-weight:600;">Documentation:&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">You really need to read the QGIS API Documentation now at:&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" color:#0000ff;">http://svn.qgis.org/api_doc/html/&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">In particular look at the following classes:&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">QGisInterface&lt;/span>      : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">QgsMapCanvas &lt;/span> : http://svn.qgis.org/api_doc/html/classQgsMapCanvas.html&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">QgsMapTool&lt;/span>         : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">QgsPlugin&lt;/span>              : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">QGisInterface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-size:12pt; font-weight:600;">What are all the files in my generated plugin directory for?&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">CMakeLists.txt&lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">This is the generated CMake file that builds the plugin. You should add you application specific dependencies and source files to this file.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].h&lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#dc143c;">[pluginlcasename].cpp  &lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">This is the class that provides the 'glue' between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename]gui.ui&lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#000000;">&lt;span style=" font-weight:400;">This is a Qt designer 'ui' file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; color:#000000;">&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename]gui.cpp  &lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#dc143c;">[pluginlcasename]gui.h &lt;span style=" font-weight:400; color:#000000;"> &lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].qrc  &lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#dc143c;">&lt;span style=" font-weight:400; color:#000000;">This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (":/[pluginname]/"). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].png  &lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#dc143c;">&lt;span style=" font-weight:400; color:#000000;">This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600; color:#dc143c;">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600; color:#dc143c;">README&lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">This file contains the documentation you are reading now!&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-size:12pt; font-weight:600;">Getting developer help:&lt;/span>&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"> * the QGIS developers mailing list, or&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"> * IRC (#qgis on freenode.net)&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">Have fun and thank you for choosing QGIS.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';">&lt;span style=" font-weight:600;">The QGIS Team&lt;/span>&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;">2007&lt;/p>&lt;/body>&lt;/html></string>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok|QDialogButtonBox::SaveAll</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11" />
+ <resources/>
+ <connections/>
+</ui>

Deleted: packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,155 +0,0 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
- <class>[pluginname]GuiBase</class>
- <widget class="QDialog" name="[pluginname]GuiBase" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>491</width>
-    <height>435</height>
-   </rect>
-  </property>
-  <property name="windowTitle" >
-   <string>QGIS Plugin Template</string>
-  </property>
-  <property name="windowIcon" >
-   <iconset/>
-  </property>
-  <layout class="QGridLayout" >
-   <property name="margin" >
-    <number>9</number>
-   </property>
-   <property name="spacing" >
-    <number>6</number>
-   </property>
-   <item row="2" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>320</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="maximumSize" >
-        <size>
-         <width>32767</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item row="0" column="0" >
-    <widget class="QLabel" name="txtHeading" >
-     <property name="sizePolicy" >
-      <sizepolicy>
-       <hsizetype>5</hsizetype>
-       <vsizetype>1</vsizetype>
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="font" >
-      <font>
-       <family>Sans Serif</family>
-       <pointsize>24</pointsize>
-       <weight>75</weight>
-       <italic>false</italic>
-       <bold>true</bold>
-       <underline>false</underline>
-       <strikeout>false</strikeout>
-      </font>
-     </property>
-     <property name="text" >
-      <string>Plugin Template</string>
-     </property>
-     <property name="alignment" >
-      <set>Qt::AlignCenter</set>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0" >
-    <widget class="QTextBrowser" name="textBrowser" >
-     <property name="html" >
-      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:12pt; font-weight:600;">Welcome to your automatically generated plugin!&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is just a starting point. You now need to modify the code to make it do something useful....read on for a more information to get yourself started.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:12pt; font-weight:600;">Documentation:&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You really need to read the QGIS API Documentation now at:&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" color:#0000ff;">http://svn.qgis.org/api_doc/html/&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">In particular look at the following classes:&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">QGisInterface&lt;/span> : http://svn.qgis.org/api_doc/html/classQgisInterface.html&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">QGisIface&lt;/span>        :  http://svn.qgis.org/api_doc/html/classQgisIface.html&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">QgsMapTool&lt;/span>   : http://svn.qgis.org/api_doc/html/classQgsMapTool.html&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">QgsPlugin&lt;/span>       : http://svn.qgis.org/api_doc/html/classQgisPlugin.html&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QGisIface is an abstract base class (ABC) that specifies what publicly available features of QGIS are exposed to third party code and plugins. QgisInterface is an concrete implementation of this ABC. The preferred way to carry out operations on QGIS is via the QGisInterface. An instance of the QgisInterface is passed to the plugin when it loads. Please consult the QGIS development team if there is functionality required in the QGisInterface that is not available.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QgsPlugin is an ABC that defines required behaviour your plugin must provide. See below for more details.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:12pt; font-weight:600;">What are all the files in my generated plugin directory for?&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">Makefile.am  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is the generated Makefile specification for your plugin. You will see that specifies c++ include paths (-I) and library linkages -l) to Qt4, GDAL, GEOS, QGIS Core, QGIS Ui, QGIS Gui and QGis Raster. You should add you application specific dependencies and source files to this Makefile.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].h&lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">[pluginlcasename].cpp  &lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is the class that provides the 'glue' between your custom application logic and the QGIS application. You will see that a number of methods are already implemented for you - including some examples of how to add a raster or vector layer to the main application map canvas. This class is a concrete instance of the QgisPlugin interface which defines required behaviour for a plugin. In particular, a plugin has a number of static methods and members so that the QgsPluginManager and plugin loader logic can identify each plugin, create an appropriate menu entry for it etc. Note there is nothing stopping you creating multiple toolbar icons and menu entries for a single plugin. By default though a single menu entry and toolbar button is created and its pre-configured to call the run() method in this class when selected. This default implementation provided for you by the plugin builder is well documented, so please refer to the code for further advice.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename]guibase.ui  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">[pluginlcasename]guibase.ui.h&lt;span style=" font-weight:400; color:#000000;">  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is an Abstract Base Class implemented in Qt4 fashion as a Qt designer 'ui' file. It defines the look of the default plugin dialog without implementing any application logic. You can modify this form to suite your needs or completely remove it if your plugin does not need to display a user form (e.g. for custom MapTools).&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename]gui.cpp  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">[pluginlcasename]gui.h &lt;span style=" font-weight:400; color:#000000;"> &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is the concrete class where application logic for the above mentioned dialog should go. The world is your oyster here really....&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].qrc  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">&lt;span style=" font-weight:400; color:#000000;">This is the Qt4 resources file for your plugin. The Makefile generated for your plugin is all set up to compile the resource file so all you need to do is add your additional icons etc using the simple xml file format. Note the namespace used for all your resources e.g. (":/[pluginname]/"). It is important to use this prefix for all your resources. We suggest you include any other images and run time data in this resurce file too.&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">[pluginlcasename].png  &lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">&lt;span style=" font-weight:400; color:#000000;">This is the icon that will be used for your plugin menu entry and toolbar icon. Simply replace this icon with your own icon to make your plugin disctinctive from the rest.&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; color:#dc143c;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; color:#dc143c;">README&lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This file contains the documentation you are reading now!&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:12pt; font-weight:600;">Getting developer help:&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">For Questions and Comments regarding the plugin builder template and creating your features in QGIS using the plugin interface please contact us via:&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> * the QGIS developers mailing list, or&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> * IRC (#qgis on freenode.net)&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">QGIS is distributed under the Gnu Public License. If you create a useful plugin please consider contributing it back to the community.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Have fun and thank you for choosing QGIS.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">The QGIS Team&lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;">2006&lt;/p>&lt;/body>&lt;/html></string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
- <resources/>
- <connections>
-  <connection>
-   <sender>pbnOK</sender>
-   <signal>clicked()</signal>
-   <receiver>[pluginname]GuiBase</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel" >
-     <x>318</x>
-     <y>412</y>
-    </hint>
-    <hint type="destinationlabel" >
-     <x>194</x>
-     <y>403</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>pbnCancel</sender>
-   <signal>clicked()</signal>
-   <receiver>[pluginname]GuiBase</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel" >
-     <x>407</x>
-     <y>406</y>
-    </hint>
-    <hint type="destinationlabel" >
-     <x>83</x>
-     <y>409</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>

Deleted: packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugin_template/pluginguibase.ui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,21 +0,0 @@
-/****************************************************************************
-** ui.h extension file, included from the uic-generated form implementation.
-**
-** If you wish to add, delete or rename functions or slots use
-** Qt Designer which will update this file, preserving your code. Create an
-** init() function in place of a constructor, and a destroy() function in
-** place of a destructor.
-*****************************************************************************/
-
-
-
-void [pluginname]GuiBase::pbnOK_clicked()
-{
-
-}
-
-
-void [pluginname]GuiBase::pbnCancel_clicked()
-{
-
-}

Deleted: packages/qgis/branches/upstream/current/src/plugins/plugins.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/plugins.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/plugins.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,20 +0,0 @@
-####################################################################
-# Qmake project file for QGIS top-level plugins directory
-# This file is used by qmake to generate the Makefiles for building
-# QGIS plugins on Windows
-#
-# plugins.pro,v 1.6 2004/08/16 19:06:00 gsherman Exp
-####################################################################
-
-TEMPLATE = subdirs
-SUBDIRS =  delimited_text \
-           scale_bar \
-           grid_maker \
-           north_arrow \
-           grass \
-           copyright_label \
-           georeferencer \
-           geoprocessing \
-           spit \
-           gps_importer \
-           wfs

Modified: packages/qgis/branches/upstream/current/src/plugins/qgisplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/qgisplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/qgisplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     qgisplugin.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:12:31 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 /*!  \mainpage Quantum GIS - Plugin API
  *
  *  \section about  About QGis Plugins
@@ -23,7 +37,7 @@
 
 #include <QString>
 
-#include <qgisapp.h>
+class QgisInterface;
 
 //#include "qgisplugingui.h"
 
@@ -146,7 +160,7 @@
 // Typedefs used by qgis main app
 
 //! Typedef for the function that returns a generic pointer to a plugin object
-typedef QgisPlugin *create_t(QgisApp *, QgisInterface *);
+typedef QgisPlugin *create_t(QgisInterface *);
 
 //! Typedef for the function to unload a plugin and free its resources
 typedef void unload_t(QgisPlugin *);

Added: packages/qgis/branches/upstream/current/src/plugins/scale_bar/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,10 @@
+*.lo
+*.la
+*.moc.cpp
+Makefile.in
+Makefile
+.libs
+.deps
+pluginguibase.cpp
+pluginguibase.h
+

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -31,18 +31,13 @@
      ${CMAKE_CURRENT_BINARY_DIR}
      ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ..
-     ${GEOS_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(scalebarplugin
   ${QT_LIBRARIES}
-  ${GDAL_LIBRARIES}
-  ${PROJ_LIBRARY}
   qgis_core
+  qgis_gui
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,60 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-plugindir = ${pkglibdir}
-#ScaleBar below to be replaced with the name of the plugin
-plugin_LTLIBRARIES = scalebarplugin.la
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-scalebarplugin_la_SOURCES =  plugin.cpp \
-			      plugin.h \
-			      plugingui.cpp \
-			      plugingui.h \
-			      $(plugin_UI)\
-			      $(plugin_MOC) \
-			      $(plugin_QRC) \
-			      $(plugin_RES)
-
-plugin_MOC = plugin.moc.cpp \
-	     plugingui.moc.cpp 
-
-plugin_UI = ui_pluginguibase.h 
-
-plugin_UIC = pluginguibase.ui
-
-plugin_RES = scalebar_plugin.qrc.cpp
-
-#plugin_QRC = scalebar_plugin.qrc
-
-# UI dependencies
-pluginguibase.cpp: pluginguibase.h pluginguibase.ui
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI) $(plugin_RES)
-
-
-scalebarplugin_la_LIBADD = $(QT_LDADD) ../../core/libqgis_core.la
-scalebarplugin_la_LDFLAGS = -avoid-version -module
-scalebarplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS) $(GEOS_CFLAGS) -I../../gui -I../../ui -I../../core 
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(plugin_UIC) \
-	icon.xpm \
-	ui_pluginguibase.h

Deleted: packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,26 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/libScaleBarplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/libScaleBarplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,19 +18,20 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/*  $Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+/*  $Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 
-#include <qgisapp.h>
+#include "qgisinterface.h"
 #include "qgisgui.h"
-#include <qgsmaplayer.h>
-#include "plugin.h"
+#include "qgsmapcanvas.h"
+#include "qgsmaplayer.h"
+#include "qgsmaptopixel.h"
+#include "qgspoint.h"
 #include "qgsproject.h"
-#include "qgsmapcanvas.h"
-#include <qgspoint.h>
-#include <qgsmaptopixel.h>
 
+#include "plugin.h"
+
 #include <QPainter>
 #include <QAction>
 #include <QPen>
@@ -57,8 +58,12 @@
 #define QGISEXTERN extern "C"
 #endif
 
-static const char * const ident_ = "$Id: plugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+#ifdef _MSC_VER
+#define round(x)  ((x) >= 0 ? floor((x)+0.5) : floor((x)-0.5))
+#endif
 
+static const char * const ident_ = "$Id: plugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $";
+
 static const QString name_ = QObject::tr("ScaleBar");
 static const QString description_ = QObject::tr("Draws a scale bar");
 static const QString version_ = QObject::tr("Version 0.1");
@@ -71,10 +76,8 @@
  * @param qgis Pointer to the QGIS main window
  * @param _qI Pointer to the QGIS interface object
  */
-QgsScaleBarPlugin::QgsScaleBarPlugin(QgisApp * theQGisApp,
-                                     QgisIface * theQgisInterFace):
+QgsScaleBarPlugin::QgsScaleBarPlugin(QgisInterface * theQgisInterFace):
         QgisPlugin(name_,description_,version_,type_),
-        qgisMainWindowPointer(theQGisApp),
         qGisInterface(theQgisInterFace)
 {
   mPlacementLabels << tr("Bottom Left") << tr("Top Left") 
@@ -108,7 +111,7 @@
   //render the scale bar each time the map is rendered
   connect(qGisInterface->getMapCanvas(), SIGNAL(renderComplete(QPainter *)), this, SLOT(renderScaleBar(QPainter *)));
   //this resets this plugin up if a project is loaded
-  connect(qgisMainWindowPointer, SIGNAL(projectRead()), this, SLOT(projectRead()));
+  connect(qGisInterface->getMainWindow(), SIGNAL(projectRead()), this, SLOT(projectRead()));
   // Add the icon to the toolbar
   qGisInterface->addToolBarIcon(myQActionPointer);
   qGisInterface->addPluginMenu(tr("&Decorations"), myQActionPointer);
@@ -140,7 +143,8 @@
 // Slot called when the  menu item is activated
 void QgsScaleBarPlugin::run()
 {
-  QgsScaleBarPluginGui *myPluginGui=new QgsScaleBarPluginGui(qgisMainWindowPointer, QgisGui::ModalDialogFlags);
+  QgsScaleBarPluginGui *myPluginGui=new QgsScaleBarPluginGui(qGisInterface->getMainWindow(), QgisGui::ModalDialogFlags);
+  myPluginGui->setAttribute(Qt::WA_DeleteOnClose);
   myPluginGui->setPreferredSize(mPreferredSize);
   myPluginGui->setSnapping(mSnapping);
   myPluginGui->setPlacementLabels(mPlacementLabels);
@@ -582,9 +586,9 @@
  * of the plugin class
  */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsScaleBarPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsScaleBarPlugin(theQgisInterfacePointer);
 }
 
 // Return the name of the plugin - note that we do not user class members as

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,14 +18,19 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: plugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: plugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSCALEBARPLUGIN
 #define QGSCALEBARPLUGIN
 #include "../qgisplugin.h"
 
-#include "qgisapp.h"
+class QgisInterface;
+class QAction;
 class QToolBar;
 class QPainter;
+
+#include <QColor>
+#include <QObject>
+
 /**
 * \class Plugin
 * \brief OpenModeller plugin for QGIS
@@ -35,12 +40,11 @@
 {
   Q_OBJECT public:
       /**
-       * Constructor for a plugin. The QgisApp and QgisIface pointers are passed by
+       * Constructor for a plugin. The QgisInterface pointer is passed by
        * QGIS when it attempts to instantiate the plugin.
-       * @param qgis Pointer to the QgisApp object
-       * @param qI Pointer to the QgisIface object.
+       * @param qI Pointer to the QgisInterface object.
        */
-      QgsScaleBarPlugin(QgisApp * , QgisIface * );
+      QgsScaleBarPlugin(QgisInterface * );
 
 
   //! Destructor
@@ -95,10 +99,8 @@
 
   //! Pointer to our toolbar
   QToolBar *toolBarPointer;
-  //! Pionter to QGIS main application object
-  QgisApp *qgisMainWindowPointer;
   //! Pointer to the QGIS interface object
-  QgisIface *qGisInterface;
+  QgisInterface *qGisInterface;
   //! Pointer to the QAction object used in the menu and toolbar
   QAction *myQActionPointer;
 };

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,20 +10,16 @@
  *   (at your option) any later version.                                   *
  ***************************************************************************/
 #include "plugingui.h"
+#include "qgscontexthelp.h"
 #include <QComboBox>
 #include <QColorDialog>
 
-QgsScaleBarPluginGui::QgsScaleBarPluginGui() : QDialog()
-{
-  setupUi(this);
-
-}
-
 QgsScaleBarPluginGui::QgsScaleBarPluginGui(QWidget* parent, Qt::WFlags fl)
 : QDialog(parent, fl)
 {
   setupUi(this);
 }  
+
 QgsScaleBarPluginGui::~QgsScaleBarPluginGui()
 {
 }
@@ -33,7 +29,7 @@
     return spnSize;
 }
 
-void QgsScaleBarPluginGui::on_pbnOK_clicked()
+void QgsScaleBarPluginGui::on_buttonBox_accepted()
 {
   hide();
   emit changePlacement(cboPlacement->currentIndex());
@@ -43,8 +39,9 @@
   emit changeStyle(cboStyle->currentItem());
   emit changeColour(pbnChangeColour->color());
   emit refreshCanvas();
-  done(1);
+  accept();
 } 
+
 void QgsScaleBarPluginGui::on_pbnChangeColour_clicked()
 {
   QColor colour = QColorDialog::getColor(pbnChangeColour->color(), this);
@@ -52,9 +49,10 @@
   if (colour.isValid())
     setColour(colour);
 }
-void QgsScaleBarPluginGui::on_pbnCancel_clicked()
+
+void QgsScaleBarPluginGui::on_buttonBox_rejected()
 {
- close(1);
+  reject();
 }
 
 void QgsScaleBarPluginGui::setPlacementLabels(QStringList& labels)
@@ -97,3 +95,8 @@
 {
   pbnChangeColour->setColor(theQColor);
 }
+
+void QgsScaleBarPluginGui::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/plugingui.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -22,7 +22,6 @@
 {
 Q_OBJECT;
 public:
-    QgsScaleBarPluginGui();
     QgsScaleBarPluginGui( QWidget* parent = 0, Qt::WFlags fl = 0 );
     ~QgsScaleBarPluginGui();
     void setPlacementLabels(QStringList&);
@@ -33,17 +32,19 @@
     void setStyleLabels(QStringList&);
     void setStyle(int);
     void setColour(QColor);
-
     
    //accessor for getting a pointer to the size spin widget
    QSpinBox * getSpinSize();
 
-public slots:
-    void on_pbnOK_clicked();
-    void on_pbnCancel_clicked();
+private slots:
+    void on_buttonBox_accepted();
+    void on_buttonBox_rejected();
+    void on_buttonBox_helpRequested();
     void on_pbnChangeColour_clicked();
     
 private:
+
+    static const int context_id = 0;
     
 signals:
    void drawRasterLayer(QString);

Modified: packages/qgis/branches/upstream/current/src/plugins/scale_bar/pluginguibase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/pluginguibase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/pluginguibase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -6,7 +6,7 @@
     <x>0</x>
     <y>0</y>
     <width>518</width>
-    <height>454</height>
+    <height>406</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -22,58 +22,6 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="3" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>513</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnOK" >
-       <property name="maximumSize" >
-        <size>
-         <width>32767</width>
-         <height>32767</height>
-        </size>
-       </property>
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="pbnCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+C</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item rowspan="3" row="0" column="1" >
     <widget class="Line" name="line1" >
      <property name="maximumSize" >
@@ -356,6 +304,16 @@
      </property>
     </widget>
    </item>
+   <item row="3" column="0" colspan="3" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />

Deleted: packages/qgis/branches/upstream/current/src/plugins/scale_bar/scale_bar.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/scale_bar/scale_bar.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/scale_bar/scale_bar.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,48 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the scale_bar plugin
-#
-
-include(../../../settings.pro)
-TARGET=scalebarplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=scale_bar
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-RESOURCES += scalebar_plugin.qrc
-
-HEADERS += plugin.h \
-           plugingui.h \
-           pluginguibase.ui.h 
-INTERFACES += pluginguibase.ui
-SOURCES += plugin.cpp \
-           plugingui.cpp 

Added: packages/qgis/branches/upstream/current/src/plugins/spit/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,19 @@
+*.lo
+*.la
+spit
+*.moc.cpp
+Makefile
+Makefile.in
+.libs
+.deps
+qgsconnectiondialogbase.cpp
+qgsconnectiondialogbase.h
+qgseditreservedwordsbase.cpp
+qgseditreservedwordsbase.h
+qgsmessageviewerbase.cpp
+qgsmessageviewerbase.h
+qgsscangeometries.cpp
+qgsscangeometries.h
+qgsspitbase.cpp
+qgsspitbase.h
+

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,7 +5,7 @@
 SET (SPIT_SRCS
      qgsspit.cpp
      qgsconnectiondialog.cpp
-     ../../gui/qgspgutil.cpp
+     qgspgutil.cpp
      qgsshapefile.cpp
      qgseditreservedwordsdialog.cpp
 )
@@ -55,21 +55,19 @@
 
 INCLUDE_DIRECTORIES(
      ${CMAKE_CURRENT_BINARY_DIR}
-     ../../core ../../raster ../../renderer ../../core/symbology
+     ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
      ..
-     ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ${POSTGRES_INCLUDE_DIR}
      ${GDAL_INCLUDE_DIR}
-     ${GEOS_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(spitplugin
   ${QT_LIBRARIES}
   ${POSTGRES_LIBRARY}
   ${GDAL_LIBRARY}
-  ${GEOS_LIBRARY}
   qgis_core
+  qgis_gui
 )
 
 IF (PLUGINS_ALSO_BINARIES)
@@ -80,6 +78,7 @@
     ${QT_LIBRARIES}
     ${POSTGRES_LIBRARY}
     qgis_core
+    qgis_gui
   )
 ENDIF (PLUGINS_ALSO_BINARIES)
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,90 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 6350 2006-12-30 02:15:25Z gsherman $
-
-plugindir = ${pkglibdir}
-
-plugin_LTLIBRARIES = spitplugin.la
-if MINGW_FALSE
-bin_PROGRAMS = spit
-endif
-
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-spit_MOC = qgsspit.moc.cpp \
-	qgsshapefile.moc.cpp \
-	qgseditreservedwordsdialog.moc.cpp \
-	qgsconnectiondialog.moc.cpp
-
-spit_RES = spit.qrc.cpp
-
-#spit_QRC = spit.qrc
-
-spitplugin_la_MOC = $(spit_MOC) qgsspitplugin.moc.cpp
-
-spit_UI = ui_qgsconnectiondialogbase.h \
-	ui_qgsspitbase.h \
-	ui_qgseditreservedwordsbase.h 
-
-spit_UIC = qgsconnectiondialogbase.ui \
-	qgsspitbase.ui \
-	qgseditreservedwordsbase.ui 
-
-common_sources =  qgsspit.cpp \
-	qgsspit.h \
-	qgsdbfbase.h \
-	qgsconnectiondialog.cpp \
-	qgsconnectiondialog.h \
-	qgsshapefile.cpp \
-	qgsshapefile.h \
-	qgseditreservedwordsdialog.h \
-	qgseditreservedwordsdialog.cpp \
-	$(spit_UI) \
-	$(spit_QRC) \
-	$(spit_RES)
-
-spitplugin_la_SOURCES =  $(common_sources) \
-	qgsspitplugin.cpp \
-	qgsspitplugin.h
-
-spit_SOURCES = ../../gui/qgsmessageviewer.cpp ../../gui/qgspgutil.cpp $(common_sources) main.cpp $(SPIT_UIC) $(spit_MOC)
-
-nodist_spitplugin_la_SOURCES = $(spitplugin_la_MOC)
-
-# UI dependencies			
-##qgsconnectiondialogbase.cpp: qgsconnectiondialogbase.ui qgsconnectiondialogbase.h
-##qgsconnectiondialogbase.h: qgsconnectiondialogbase.ui
-##qgsspitbase.cpp: qgsspitbase.h qgsspitbase.ui
-##qgsspitbase.h: qgsspitbase.ui
-
-BUILT_SOURCES = $(spit_MOC) $(spit_UI) $(spitplugin_la_MOC)
-
-
-spitplugin_la_LIBADD = $(QT_LDADD)  $(PG_LIB) $(GDAL_LDADD) ../../core/libqgis_core.la
-spitplugin_la_LDFLAGS = -avoid-version -module
-spitplugin_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(GEOS_CFLAGS) $(GDAL_CFLAGS) $(QT_CXXFLAGS) $(PG_INC) -I../../gui -I../../ui -I../../core
-
-
-spit_LDADD = $(QT_LDADD)  $(PG_LIB) $(GDAL_LDADD) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-#spit_LDFLAGS = -avoid-version -module
-spit_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(GDAL_CFLAGS) $(QT_CXXFLAGS) $(PG_INC)  -I../../gui -I../../ui -I../../core
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(spit_UIC) icon_spit.xpm spiticon.xpm spit_icons.h

Deleted: packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = $(wildcard *.o) 
-
-PLUGIN = .libs/spitplugin.dll
-
-all: objects $(PLUGIN)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(PLUGIN): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive $(OBJECTS) \
-		-Wl,--no-whole-archive \
-			-L ../../providers/postgres/.libs/ -lpostgresprovider  -lpq \
-		-lwsock32 \
-			$(PLUGIN_LIBS) 
-	$(STRIP) $@ 
-
-#			../../providers/grass/.libs/libqgisgrass.a \
-
-install: all 
-	$(INSTALL) -m 755 $(PLUGIN) $(prefix)/lib/qgis/spitplugin.dll
-
-include $(QGTOP)/Makefile.win.rules

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     main.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:12:52 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <qapplication.h>
 #include "qgsspit.h"
 

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *                                                                         *
  ***************************************************************************/
  
-// $Id: qgsconnectiondialog.cpp 6290 2006-12-20 04:51:35Z telwertowski $
+// $Id: qgsconnectiondialog.cpp 6475 2007-02-01 01:12:20Z telwertowski $
 
 #include <iostream>
 
@@ -52,18 +52,6 @@
 		}
 		txtName->setText(connName);
 	}
-	
-	QWidget::setTabOrder(txtName, txtHost);
-	QWidget::setTabOrder(txtHost, txtDatabase);
-	QWidget::setTabOrder(txtDatabase, txtPort);
-	QWidget::setTabOrder(txtPort, txtUsername);
-	QWidget::setTabOrder(txtUsername, txtPassword);
-	QWidget::setTabOrder(txtPassword, chkStorePassword);
-	QWidget::setTabOrder(chkStorePassword, (QWidget*)btnConnect);
-	QWidget::setTabOrder((QWidget*)btnConnect, (QWidget*)btnOk);
-	QWidget::setTabOrder((QWidget*)btnOk, (QWidget*)btnCancel);
-	QWidget::setTabOrder((QWidget*)btnCancel, (QWidget*)btnHelp);
-	QWidget::setTabOrder((QWidget*)btnHelp, txtName);
 }
 
 QgsConnectionDialog::~QgsConnectionDialog()
@@ -107,5 +95,5 @@
   QString message = tr("General Interface Help:\n\n");
   QgsMessageViewer * e = new QgsMessageViewer(this);
   e->setMessageAsPlainText(message);
-  e->exec();
+  e->exec();  // deletes itself on close
 }

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,7 @@
 #ifndef QGSCONNECTIONDIALOG_H
 #define QGSCONNECTIONDIALOG_H
 
-// $Id: qgsconnectiondialog.h 4949 2006-03-03 01:47:39Z wonder $
+// $Id: qgsconnectiondialog.h 6475 2007-02-01 01:12:20Z telwertowski $
 
 #include "ui_qgsconnectiondialogbase.h"
 #include "qgisgui.h"
@@ -36,10 +36,10 @@
 
 public slots:
 
-  void on_btnOk_clicked()      { saveConnection(); }
-  void on_btnCancel_clicked()  { done(1); }
-  void on_btnHelp_clicked()    { helpInfo(); }
-  void on_btnConnect_clicked() { testConnection(); }
+  void on_buttonBox_accepted()      { saveConnection(); }
+  void on_buttonBox_rejected()      { reject(); }
+  void on_buttonBox_helpRequested() { helpInfo(); }
+  void on_btnConnect_clicked()      { testConnection(); }
 };
 
 #endif

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsconnectiondialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -79,17 +79,6 @@
           </property>
           <item>
            <widget class="QLabel" name="TextLabel1_2" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Name</string>
             </property>
@@ -97,17 +86,6 @@
           </item>
           <item>
            <widget class="QLabel" name="TextLabel1" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Host</string>
             </property>
@@ -115,17 +93,6 @@
           </item>
           <item>
            <widget class="QLabel" name="TextLabel2" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Database</string>
             </property>
@@ -133,17 +100,6 @@
           </item>
           <item>
            <widget class="QLabel" name="TextLabel2_2" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Port</string>
             </property>
@@ -151,17 +107,6 @@
           </item>
           <item>
            <widget class="QLabel" name="TextLabel3" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Username</string>
             </property>
@@ -169,17 +114,6 @@
           </item>
           <item>
            <widget class="QLabel" name="TextLabel3_2" >
-            <property name="font" >
-             <font>
-              <family>Sans Serif</family>
-              <pointsize>11</pointsize>
-              <weight>50</weight>
-              <italic>false</italic>
-              <bold>false</bold>
-              <underline>false</underline>
-              <strikeout>false</strikeout>
-             </font>
-            </property>
             <property name="text" >
              <string>Password</string>
             </property>
@@ -233,72 +167,14 @@
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="text" >
-        <string>Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>111</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnOk" >
-       <property name="text" >
-        <string>OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnCancel" >
-       <property name="text" >
-        <string>Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>
@@ -308,13 +184,12 @@
   <tabstop>txtName</tabstop>
   <tabstop>txtHost</tabstop>
   <tabstop>txtDatabase</tabstop>
+  <tabstop>txtPort</tabstop>
   <tabstop>txtUsername</tabstop>
   <tabstop>txtPassword</tabstop>
   <tabstop>chkStorePassword</tabstop>
   <tabstop>btnConnect</tabstop>
-  <tabstop>btnOk</tabstop>
-  <tabstop>btnCancel</tabstop>
-  <tabstop>btnHelp</tabstop>
+  <tabstop>buttonBox</tabstop>
  </tabstops>
  <resources/>
  <connections/>

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -59,74 +59,6 @@
      </column>
     </widget>
    </item>
-   <item row="2" column="0" colspan="2" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="buttonHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="0" column="0" colspan="2" >
     <widget class="QTextEdit" name="txtExplanation" >
      <property name="sizePolicy" >
@@ -184,6 +116,16 @@
      </layout>
     </widget>
    </item>
+   <item row="2" column="0" colspan="2" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,10 +1,24 @@
+/***************************************************************************
+     qgseditreservedwordsdialog.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:13:18 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+// $Id: qgseditreservedwordsdialog.cpp 7204 2007-09-16 20:18:38Z gsherman $
 
-// $Id: qgseditreservedwordsdialog.cpp 4949 2006-03-03 01:47:39Z wonder $
-
 #include <QIcon>
 #include <QPixmap>
 #include <QTableWidgetItem>
 
+#include "qgscontexthelp.h"
 #include "qgspgutil.h"
 #include "spit_icons.h"
 
@@ -96,4 +110,7 @@
 {
   txtExplanation->setPlainText(description);
 }
-
+void QgsEditReservedWordsDialog::on_buttonBox_helpRequested()
+{
+  QgsContextHelp::run(context_id);
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgseditreservedwordsdialog.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,21 @@
+/***************************************************************************
+     qgseditreservedwordsdialog.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:13:24 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #ifndef QGSEDITRESERVEDWORDSDIALOG_H
 #define QGSEDITRESERVEDWORDSDIALOG_H
 
-// $Id: qgseditreservedwordsdialog.h 4746 2006-01-25 06:31:43Z g_j_m $
+// $Id: qgseditreservedwordsdialog.h 7204 2007-09-16 20:18:38Z gsherman $
 
 #include "ui_qgseditreservedwordsbase.h"
 #include "qgisgui.h"
@@ -16,12 +30,16 @@
     QStringList columnNames();
     //! Set the description displayed in the dialog
     void setDescription(const QString &description);
-public slots:
+
+private:
     void checkWord(QTableWidgetItem *);
 
-    void on_buttonOk_clicked()     { done(1); }
-    void on_buttonCancel_clicked() { done(1); }
-    void on_buttonHelp_clicked() {};
+    static const int context_id = 0;
+
+private slots:
+    void on_buttonBox_accepted() { accept(); }
+    void on_buttonBox_rejected() { reject(); }
+    void on_buttonBox_helpRequested();
     void on_lvColumns_itemChanged(QTableWidgetItem* item) { checkWord(item); }
     void on_lvColumns_itemClicked(QTableWidgetItem* item) 
       { lvColumns->editItem(item); }

Added: packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,153 @@
+/***************************************************************************
+                qgspgutil.cpp - PostgreSQL Utility Functions
+                     --------------------------------------
+               Date                 : 2004-11-21
+               Copyright            : (C) 2004 by Gary E.Sherman
+               Email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspgutil.cpp 6415 2007-01-09 02:39:15Z wonder $ */
+#include "qgspgutil.h"
+
+QgsPgUtil *QgsPgUtil::mInstance = 0;
+QgsPgUtil * QgsPgUtil::instance()
+{
+  if(mInstance == 0)
+  {
+    mInstance = new QgsPgUtil();
+  }
+  return mInstance;
+}
+QgsPgUtil::QgsPgUtil()
+{
+  // load the reserved word map
+  initReservedWords();
+}
+QgsPgUtil::~QgsPgUtil()
+{
+}
+bool QgsPgUtil::isReserved(QString word)
+{
+  // uppercase the word before testing it since all our reserved words are
+  // stored in uppercase
+  
+  QStringList::iterator it = mReservedWords.find(word.upper());
+  return (it != mReservedWords.end());
+}
+void QgsPgUtil::setConnection(PGconn *con)
+{
+  mPgConnection = con;
+}
+PGconn *QgsPgUtil::connection()
+{
+  return mPgConnection;
+}
+const QStringList & QgsPgUtil::reservedWords()
+{
+  return mReservedWords;
+}
+void QgsPgUtil::initReservedWords()
+{
+  // create the reserved word list by loading
+  // the words into a QStringList. We code them here
+  // for now rather than deal with the complexities
+  // of finding and loading from a text file
+  // in the install path
+  mReservedWords << "ALL"
+    << "ANALYSE"
+    << "ANALYZE"
+    << "AND"
+    << "ANY"
+    << "ARRAY"
+    << "AS"
+    << "ASC"
+    << "AUTHORIZATION"
+    << "BETWEEN"
+    << "BINARY"
+    << "BOTH"
+    << "CASE"
+    << "CAST"
+    << "CHECK"
+    << "COLLATE"
+    << "COLUMN"
+    << "CONSTRAINT"
+    << "CREATE"
+    << "CROSS"
+    << "CURRENT_DATE"
+    << "CURRENT_TIME"
+    << "CURRENT_TIMESTAMP"
+    << "CURRENT_USER"
+    << "DEFAULT"
+    << "DEFERRABLE"
+    << "DESC"
+    << "DISTINCT"
+    << "DO"
+    << "ELSE"
+    << "END"
+    << "EXCEPT"
+    << "FALSE"
+    << "FOR"
+    << "FOREIGN"
+    << "FREEZE"
+    << "FROM"
+    << "FULL"
+    << "GRANT"
+    << "GROUP"
+    << "HAVING"
+    << "ILIKE"
+    << "IN"
+    << "INITIALLY"
+    << "INNER"
+    << "INTERSECT"
+    << "INTO"
+    << "IS"
+    << "ISNULL"
+    << "JOIN"
+    << "LEADING"
+    << "LEFT"
+    << "LIKE"
+    << "LIMIT"
+    << "LOCALTIME"
+    << "LOCALTIMESTAMP"
+    << "NAMES"
+    << "NATURAL"
+    << "NEW"
+    << "NOT"
+    << "NOTNULL"
+    << "NULL"
+    << "OFF"
+    << "OFFSET"
+    << "OLD"
+    << "ON"
+    << "ONLY"
+    << "OR"
+    << "ORDER"
+    << "OUTER"
+    << "OVERLAPS"
+    << "PLACING"
+    << "PRIMARY"
+    << "REFERENCES"
+    << "RIGHT"
+    << "SELECT"
+    << "SESSION_USER"
+    << "SIMILAR"
+    << "SOME"
+    << "TABLE"
+    << "THEN"
+    << "TO"
+    << "TRAILING"
+    << "TRUE"
+    << "UNION"
+    << "UNIQUE"
+    << "USER"
+    << "USING"
+    << "VERBOSE"
+    << "WHEN"
+    << "WHERE";
+}

Added: packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgspgutil.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,71 @@
+/***************************************************************************
+                qgspgutil.h - PostgreSQL Utility Functions
+                     --------------------------------------
+               Date                 : 2004-11-21
+               Copyright            : (C) 2004 by Gary E.Sherman
+               Email                : sherman at mrcc.com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+/* $Id: qgspgutil.h 6415 2007-01-09 02:39:15Z wonder $ */
+#ifndef QGSPGUTIL_H
+#define QGSPGUTIL_H
+#include <map>
+#include <qstringlist.h>
+extern "C"
+{
+  #include <libpq-fe.h>
+}
+
+/*!
+ * \class QgsPgUtil
+ * \brief Class containing utility functions for working with PostgreSQL
+ * tables/databases
+ */
+class QgsPgUtil
+{
+  public:
+    //! Instance function to return a pointer to the one and
+    //only QgsPgUtil object (QgsPgUtil is a Singleton)
+    static QgsPgUtil* instance();
+    /*! Checks to see if word is a PG reserved word.
+     * The comparison is case-insensitive.
+     * @param word Word to check
+     * @return True if word is a PG reserved word
+     */
+    bool isReserved(QString word);
+    /*!
+     * Set the connection to be used in database operations
+     * @param con Pointer to an active PostgreSQL connection
+     */
+    void setConnection(PGconn *con);
+    /*!
+     * Get the connection currently in use for database operations
+     * @return Pointer to the PostgreSQL connection object
+     */
+    PGconn *connection();
+    /*!
+     * Get the reserved word list
+     */
+    const QStringList & reservedWords();
+  protected:
+    //! Protected constructor
+    QgsPgUtil();
+    //! Destructor
+    ~QgsPgUtil();
+  private:
+    //! Initialize the list of reserved words
+    void initReservedWords();
+    //! Instance member
+    static QgsPgUtil* mInstance;
+    //! Reserved word list
+    QStringList mReservedWords;
+    //! PostgreSQL connection
+    PGconn *mPgConnection;
+};
+#endif // QGSPGUTIL_H

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsshapefile.cpp 6469 2007-01-28 14:42:51Z homann $ */
+/* $Id: qgsshapefile.cpp 7126 2007-08-06 11:57:07Z wonder $ */
 
 #include <QApplication>
 #include <ogrsf_frmts.h>
@@ -82,8 +82,6 @@
 }
 bool QgsShapeFile::scanGeometries()
 {
-  int progressThreshold = 5;
-  int progressCount = 0;
   QProgressDialog *sg = new QProgressDialog();
   sg->setMinimum(0);
   sg->setMaximum(0);
@@ -94,7 +92,7 @@
   qApp->processEvents();
 
   OGRFeature *feat;
-  int currentType = 0;
+  unsigned int currentType = 0;
   bool multi = false;
   while((feat = ogrLayer->GetNextFeature()))
   {
@@ -125,6 +123,17 @@
 
     }
   }
+  
+  // a hack to support 2.5D geometries (their wkb is equivalent to 2D variants
+  // except that the highest bit is set also). For now we will ignore 3rd coordinate.
+  hasMoreDimensions = false;
+  if (currentType & 0x80000000)
+  {
+    QgsDebugMsg("Got a shapefile with 2.5D geometry.");
+    currentType &= ~0x80000000;
+    hasMoreDimensions = true;
+  }
+  
   ogrLayer->ResetReading();
   geom_type = geometries[currentType];
   if(multi && (geom_type.find("MULTI") == -1))
@@ -132,6 +141,7 @@
     geom_type = "MULTI" + geom_type;
   }
   delete sg;
+  
   //  std::cerr << "Geometry type is " << currentType << " (" << geometries[currentType] << ")" << std::endl; 
   return multi;
 }
@@ -272,14 +282,14 @@
 
   QString query = "CREATE TABLE "+schema+"."+table_name+"(gid int4 PRIMARY KEY, ";
 
-  for(int n=0; n<column_names.size() && result; n++){
+  for(uint n=0; n<column_names.size() && result; n++){
     if(!column_names[n][0].isLetter())
       result = false;
 
     char * esc_str = new char[column_names[n].length()*2+1];
 
     PQescapeString(esc_str, (const char *)column_names[n].lower(), column_names[n].length());
-    QgsDebugMsg("Escaped " + QString(column_names[n]) + " to " + QString(esc_str)); 
+    QgsDebugMsg("Escaped " + column_names[n] + " to " + QString(esc_str)); 
     query += esc_str;
     query += " " + column_types[n];
 
@@ -365,11 +375,15 @@
 
         int num = geom->WkbSize();
         char * geo_temp = new char[num*3];
+        // 'GeometryFromText' supports only 2D coordinates
+        // TODO for proper 2.5D support we would need to use 'GeomFromEWKT'
+        if (hasMoreDimensions)
+          geom->setCoordinateDimension(2);
         geom->exportToWkt(&geo_temp);
         QString geometry(geo_temp);
 
         QString quotes;
-        for(int n=0; n<column_types.size(); n++){
+        for(uint n=0; n<column_types.size(); n++){
           bool numericType(false);
           if(column_types[n] == "int" || column_types[n] == "float")
           {

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsshapefile.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsshapefile.h 6391 2007-01-04 02:42:09Z g_j_m $ */
+/* $Id: qgsshapefile.h 7126 2007-08-06 11:57:07Z wonder $ */
 
 #ifndef QGSSHAPEFILE_H
 #define QGSSHAPEFILE_H
@@ -68,6 +68,7 @@
   bool valid;
   //! Flag to indicate the file contains multiple geometry types
   bool isMulti;
+  bool hasMoreDimensions;
   int features;
   QString filename;
   QString geom_type;

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsspit.cpp 6391 2007-01-04 02:42:09Z g_j_m $ */
+/* $Id: qgsspit.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 #include <QMessageBox>
 #include <QComboBox>
@@ -39,7 +39,6 @@
 #include "qgseditreservedwordsdialog.h"
 #include "qgsmessageviewer.h"
 #include "spiticon.xpm"
-#include "spit_icons.h"
 #include "qgslogger.h"
 
 // Qt implementation of alignment() + changed the numeric types to be shown on the left as well
@@ -124,6 +123,7 @@
     populateConnectionList();
     getSchema();
   }
+  delete con;
 }
 
 void QgsSpit::editConnection()
@@ -134,6 +134,7 @@
     con->saveConnection();
     getSchema();
   }
+  delete con;
 }
 
 void QgsSpit::removeConnection()
@@ -141,8 +142,8 @@
   QSettings settings;
   QString key = "/PostgreSQL/connections/" + cmbConnections->currentText();
   QString msg = tr("Are you sure you want to remove the [") + cmbConnections->currentText() + tr("] connection and all associated settings?");
-  int result = QMessageBox::information( this, tr("Confirm Delete"), msg, tr("Yes"), tr("No") );
-  if ( result == 0 )
+  QMessageBox::StandardButton result = QMessageBox::information( this, tr("Confirm Delete"), msg, QMessageBox::Ok | QMessageBox::Cancel);
+  if ( result == QMessageBox::Ok )
   {
     settings.removeEntry( key + "/host" );
     settings.removeEntry( key + "/database" );
@@ -250,7 +251,7 @@
           // if a reserved word is found, set the flag so the "adjustment"
           // dialog can be presented to the user
 	  hasReservedWords = false;
-          for ( int i = 0; i < file->column_names.size(); i++ )
+          for ( std::vector<QString>::size_type i = 0; i < file->column_names.size(); i++ )
           {
             if ( pgu->isReserved( file->column_names[ i ] ) )
             {
@@ -270,7 +271,7 @@
             // load the reserved words list
             srw->setReservedWords( pgu->reservedWords() );
             // load the columns and set their status
-            for ( int i = 0; i < file->column_names.size(); i++ )
+            for ( std::vector<QString>::size_type i = 0; i < file->column_names.size(); i++ )
             {
               srw->addColumn( file->column_names[ i ],
                               pgu->isReserved( file->column_names[ i ] ), i );
@@ -316,7 +317,7 @@
     }
     QgsMessageViewer * e = new QgsMessageViewer( this );
     e->setMessageAsPlainText( message + error1 + error2 );
-    e->exec();
+    e->exec(); // deletes itself on close
   }
 }
 
@@ -414,7 +415,7 @@
                tr("[Help] - display this help dialog") + "\n\n" );
   QgsMessageViewer * e = new QgsMessageViewer( this );
   e->setMessageAsPlainText( message );
-  e->exec();
+  e->exec(); // deletes itself on close
 }
 
 PGconn* QgsSpit::checkConnection()
@@ -443,8 +444,8 @@
       result = false;
     }
   
-    int errcode = PQsetClientEncoding(pd, "UNICODE");
 #ifdef QGISDEBUG
+    int errcode = PQsetClientEncoding(pd, "UNICODE");
     if(errcode==0)
       qWarning("encoding successfully set");
     else if(errcode==-1)
@@ -557,7 +558,7 @@
     //pro->show();
     qApp->processEvents();
 
-    for ( int i = 0; i < fileList.size() ; i++ )
+    for ( std::vector<QgsShapeFile*>::size_type i = 0; i < fileList.size() ; i++ )
     {
       QString error = tr("Problem inserting features from file:") + "\n" + 
                       tblShapefiles->item( i, ColFILENAME )->text();
@@ -587,7 +588,7 @@
       QString dupl = "";
       std::sort( names_copy.begin(), names_copy.end() );
 
-      for ( int k = 1; k < names_copy.size(); k++ )
+      for ( std::vector<QString>::size_type k = 1; k < names_copy.size(); k++ )
       {
         QgsDebugMsg( tr("Checking to see if ") + names_copy[ k ] + " == " + names_copy[ k - 1 ] );
         if ( names_copy[ k ] == names_copy[ k - 1 ] )
@@ -696,23 +697,17 @@
         PQclear( res );
       }
 
-      QMessageBox *del_confirm;
       if ( rel_exists1 || rel_exists2 )
       {
-        del_confirm = new QMessageBox( tr("Import Shapefiles - Relation Exists"),
+        QMessageBox::StandardButton del_confirm = QMessageBox::warning( this,
+                                       tr("Import Shapefiles - Relation Exists"),
                                        tr("The Shapefile:" ) + "\n" + tblShapefiles->item( i, 0 )->text() + "\n" + tr("will use [") +
                                        tblShapefiles->item( i, ColDBRELATIONNAME )->text() + tr("] relation for its data,") + "\n" + tr("which already exists and possibly contains data.") + "\n" +
                                        tr("To avoid data loss change the \"DB Relation Name\"") + "\n" + tr("for this Shapefile in the main dialog file list.") + "\n\n" +
                                        tr("Do you want to overwrite the [") + tblShapefiles->item( i, ColDBRELATIONNAME )->text() + tr("] relation?"),
-                                       QMessageBox::Warning,
-                                       QMessageBox::Yes | QMessageBox::Default,
-                                       QMessageBox::No | QMessageBox::Escape,
-                                       Qt::NoButton, 
-                                       this
-//                                       tr("Relation Exists") 
-                                     );
+                                       QMessageBox::Ok | QMessageBox::Cancel );
 
-        if ( del_confirm->exec() == QMessageBox::Yes )
+        if ( del_confirm == QMessageBox::Ok )
         {
           if ( rel_exists2 )
           {
@@ -852,8 +847,9 @@
         break;
       }
     }
+    PQfinish( pd );
+    accept();
   }
-  PQfinish( pd );
 }
 void QgsSpit::editColumns( int row, int col, int button, const QPoint &mousePos )
 {
@@ -869,7 +865,7 @@
   // load the reserved words list
   srw->setReservedWords( pgu->reservedWords() );
   // load the columns and set their status
-  for ( int i = 0; i < fileList[ row ] ->column_names.size(); i++ )
+  for ( std::vector<QString>::size_type i = 0; i < fileList[ row ] ->column_names.size(); i++ )
   {
     srw->addColumn( fileList[ row ] ->column_names[ i ],
                     pgu->isReserved( fileList[ row ] ->column_names[ i ] ), i );
@@ -880,7 +876,7 @@
     // and replace the existing column spec for the shapefile
     fileList[ row ] ->setColumnNames( srw->columnNames() );
   }
-
+  delete srw;
 }
 
 void QgsSpit::editShapefile(int row, int col, int button, const QPoint& mousePos)
@@ -918,6 +914,7 @@
       break;
     }
   }
+  return NULL;
 }
 
 void ShapefileTableDelegate::setEditorData(QWidget *editor,

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsspit.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,7 +17,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsspit.h 5934 2006-10-09 06:38:04Z g_j_m $ */
+/* $Id: qgsspit.h 6475 2007-02-01 01:12:20Z telwertowski $ */
 #include <vector>
 #include <algorithm>
 
@@ -88,9 +88,9 @@
   void on_btnEdit_clicked()       { editConnection();   }
   void on_btnNew_clicked()        { newConnection();    }
   void on_btnRemove_clicked()     { removeConnection(); }
-  void on_btnImport_clicked()     { import();           } 
-  void on_btnHelp_clicked()       { helpInfo();         }
-  void on_btnQuit_clicked()       { close();           }
+  void on_buttonBox_accepted()    { import();           } 
+  void on_buttonBox_helpRequested() { helpInfo();       }
+  void on_buttonBox_rejected()    { reject();           }
   void on_btnAddFile_clicked()    { addFile();          }
   void on_btnRemoveAll_clicked()  { removeAllFiles();   }
   void on_btnRemoveFile_clicked() { removeFile();       }

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,4 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsSpitBase</class>
  <widget class="QDialog" name="QgsSpitBase" >
   <property name="geometry" >
@@ -9,7 +6,7 @@
     <x>0</x>
     <y>0</y>
     <width>662</width>
-    <height>500</height>
+    <height>487</height>
    </rect>
   </property>
   <property name="baseSize" >
@@ -441,59 +438,6 @@
      </layout>
     </widget>
    </item>
-   <item row="3" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="text" >
-        <string>Help</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>361</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnImport" >
-       <property name="toolTip" >
-        <string>Import the defined shapefiles to PostGIS</string>
-       </property>
-       <property name="whatsThis" >
-        <string>Import the defined shapefiles to PostGIS</string>
-       </property>
-       <property name="text" >
-        <string>Import</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnQuit" >
-       <property name="text" >
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item rowspan="3" row="0" column="0" >
     <widget class="QLabel" name="pixmapLabel1" >
      <property name="pixmap" >
@@ -517,10 +461,19 @@
      </property>
     </widget>
    </item>
+   <item row="3" column="0" colspan="3" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
  <resources>
   <include location="spit.qrc" />
  </resources>

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,7 +16,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsspitplugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $ */
+ /*  $Id: qgsspitplugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $ */
 
 // includes
 #include <iostream>
@@ -25,7 +25,7 @@
 #include <QAction>
 #include <QMenu>
 
-#include "qgisapp.h"
+#include "qgisinterface.h"
 #include "qgsspitplugin.h"
 #include "qgsspit.h"
 // xpm for creating the toolbar icon
@@ -37,7 +37,7 @@
 #define QGISEXTERN extern "C"
 #endif
 
-static const char * const ident_ = "$Id: qgsspitplugin.cpp 6301 2006-12-22 07:43:47Z g_j_m $";
+static const char * const ident_ = "$Id: qgsspitplugin.cpp 6475 2007-02-01 01:12:20Z telwertowski $";
 
 static const QString name_ = QObject::tr("SPIT");
 static const QString description_ = QObject::tr("Shapefile to PostgreSQL/PostGIS Import Tool");
@@ -52,10 +52,10 @@
 * @param qgis Pointer to the QGIS main window
 * @parma _qI Pointer to the QGIS interface object
 */
-QgsSpitPlugin::QgsSpitPlugin(QgisApp * qgis, QgisIface * _qI)
-    : qgisMainWindow(qgis), 
-      qI(_qI),
-      QgisPlugin(name_, description_, version_, type_ )
+QgsSpitPlugin::QgsSpitPlugin(QgisInterface * _qI)
+  : QgisPlugin(name_, description_, version_, type_ ),
+    qgisMainWindow(_qI->getMainWindow()), 
+    qI(_qI)
 {
 }
 
@@ -85,6 +85,7 @@
 void QgsSpitPlugin::spit()
 {
  QgsSpit *spitDlg = new QgsSpit(qgisMainWindow, Qt::Window);
+ spitDlg->setAttribute(Qt::WA_DeleteOnClose);
  spitDlg->show();
 }
 
@@ -104,9 +105,9 @@
 * of the plugin class
 */
 // Class factory to return a new instance of the plugin class
-QGISEXTERN QgisPlugin * classFactory(QgisApp * qgis, QgisIface * qI)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * qI)
 {
-    return new QgsSpitPlugin(qgis, qI);
+    return new QgsSpitPlugin(qI);
 }
 
 // Return the name of the plugin

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/qgsspitplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,7 +16,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
- /*  $Id: qgsspitplugin.h 5450 2006-05-14 04:54:03Z g_j_m $ */
+ /*  $Id: qgsspitplugin.h 6415 2007-01-09 02:39:15Z wonder $ */
 #ifndef QGSSPITPLUGIN_H
 #define QGSSPITPLUGIN_H
 #include "../qgisplugin.h"
@@ -26,7 +26,8 @@
 #include <libpq-fe.h>
 }
 
-#include "qgisapp.h"
+class QAction;
+#include <QObject>
 
 /**
 * \class QgsSpitPlugin
@@ -37,12 +38,11 @@
 {
   Q_OBJECT public:
 /** 
-* Constructor for a plugin. The QgisApp and QgisIface pointers are passed by 
+* Constructor for a plugin. The QgisInterface pointer is passed by 
 * QGIS when it attempts to instantiate the plugin.
-* @param qgis Pointer to the QgisApp object
-* @param qI Pointer to the QgisIface object. 
+* @param qI Pointer to the QgisInterface object. 
 */
-    QgsSpitPlugin(QgisApp * qgis, QgisIface * qI);
+    QgsSpitPlugin(QgisInterface * qI);
 
     //! Destructor
       virtual ~ QgsSpitPlugin();
@@ -62,9 +62,9 @@
     //! Plugin type as defined in QgisPlugin::PLUGINTYPE
     int ptype;
     //! Pionter to QGIS main application object
-    QgisApp *qgisMainWindow;
+    QWidget *qgisMainWindow;
     //! Pointer to the QGIS interface object
-    QgisIface *qI;
+    QgisInterface *qI;
     //! Pointer to the QAction used in the menu and on the toolbar
     QAction *spitAction;
 };

Deleted: packages/qgis/branches/upstream/current/src/plugins/spit/spit.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/spit.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/spit.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,68 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the spit plugin
-#
-
-include(../../../settings.pro)
-TARGET=spitplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-# This is a hack (thanks freddy!) because many plugins use the
-# same class names and file names we need to force the compiler
-# to create separate object files for them.
-MYDIRNAME=spit
-MOC_DIR = $${OBJDIR}/moc/plugins/$${MYDIRNAME}
-UI_DIR = $${OBJDIR}/ui/plugins/$${MYDIRNAME}
-win32:OBJECTS_DIR = $${OBJDIR}/o/win32/plugins/$${MYDIRNAME}
-INCLUDEPATH += $${OBJDIR}/ui 
-#INCLUDEPATH += $${GEOSINCLUDE}
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${POSTGRESLIBADD}
-#LIBS += $${GEOSLIBADD}
-LIBS += $${GDALLIBADD}
-
-
-
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-
-message("Building libs into $${DESTDIR}")
-
-RESOURCES += spit.qrc
-
-HEADERS += qgsconnectiondialog.h \
-           qgsdbfbase.h \
-           qgseditreservedwordsdialog.h \
-           qgsshapefile.h \
-           qgsspit.h \
-           qgsspitplugin.h \
-           qgseditreservedwordsdialog.h \
-           spit_icons.h
-
-INTERFACES += qgsconnectiondialogbase.ui \
-              qgseditreservedwordsbase.ui \
-              qgsspitbase.ui
-
-SOURCES += qgsconnectiondialog.cpp \
-           qgseditreservedwordsdialog.cpp \
-           qgsspit.cpp \
-           qgsspitplugin.cpp \
-           qgsshapefile.cpp 
-

Modified: packages/qgis/branches/upstream/current/src/plugins/spit/spit_icons.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/spit/spit_icons.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/spit/spit_icons.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     spit_icons.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:13:54 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 /* XPM */
 static const char *icon_ok[] = {
 /* columns rows colors chars-per-pixel */

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,7 +5,7 @@
 SET (WFS_SRCS
      qgswfsplugin.cpp
      qgswfssourceselect.cpp
-     ../../gui/qgsnewhttpconnection.cpp
+     ../../app/qgsnewhttpconnection.cpp
 )
 
 SET (WFS_UIS qgswfssourceselectbase.ui)
@@ -13,7 +13,7 @@
 SET (WFS_MOC_HDRS
      qgswfsplugin.h
      qgswfssourceselect.h
-     ../../gui/qgsnewhttpconnection.h
+     ../../app/qgsnewhttpconnection.h
 )
 
 #SET (WFS_RCCS  northarrow_plugin.qrc)
@@ -34,21 +34,16 @@
      ${CMAKE_CURRENT_BINARY_DIR}/../../ui
      ../../core ../../core/raster ../../core/renderer ../../core/symbology
      ../../gui
-     ../../widgets/projectionselector
-     ../../providers/wfs
      ..
+     ../../app # for QgsNewHttpConnection
      ${GEOS_INCLUDE_DIR}
      ${GEOS_INCLUDE_DIR}/geos
-     ${PROJ_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(wfsplugin
   ${QT_LIBRARIES}
-  ${GEOS_LIBRARY}
-  ${PROJ_LIBRARY}
-  ${GDAL_LIBRARY}
   qgis_core
+  qgis_gui
 )
 
 

Deleted: packages/qgis/branches/upstream/current/src/plugins/wfs/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,86 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com> 
-#           and 2006 Tim Sutton <tim at linfiniti.com>
-# 
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 5198 2006-04-06 14:35:09Z timlinux $
-
-#qgswfsplugin below to be replaced with the name of the plugin
-
-##
-## Legacy support for pkgdatapath - you are encouraged to use
-## Qt4.x resource files where possible rather!
-##
-if !HAVE_QTMAC
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-plugindir = ${pkglibdir}
-
-#for plugin so
-plugin_LTLIBRARIES = wfsplugin.la
-
-## For Qt4 intermerdiary meta object compiler files
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-## For Qt4 User Interface Files
-ui_%.h: %.ui
-	$(UIC) -o $@ $<
-
-## For Qt4 Resource Files
-%.qrc.cpp: %.qrc
-	$(RCC) -o $@ $<
-
-##
-##  For plugin lib
-##
-
-wfsplugin_la_SOURCES = qgswfsplugin.cpp \
-	qgswfssourceselect.cpp \
-  qgswfsplugin.h \
-  qgswfssourceselect.h \
-	$(plugin_UI)\
-	$(plugin_MOC)
-
-
-plugin_MOC = qgswfsplugin.moc.cpp \
-    qgswfssourceselect.moc.cpp 
-
-plugin_UI = ui_qgswfssourceselectbase.h 
-
-plugin_UIC = qgswfssourceselectbase.ui
-
-BUILT_SOURCES = $(plugin_MOC) $(plugin_UI)
-
-wfsplugin_la_LIBADD = $(QT_LDADD) \
-			    $(GDAL_LDADD) \
-			    ../../core/libqgis_core.la \
-			    ../../gui/libqgis_gui.la
-
-wfsplugin_la_CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) $(DEBUG_QGIS)
-wfsplugin_la_CXXFLAGS = $(CXXFLAGS) \
-			      $(EXTRA_CXXFLAGS) \
-			      $(QT_CXXFLAGS) \
-			      $(DEBUG_QGIS) \
-			      $(GDAL_CFLAGS) \
-			      $(GEOS_CFLAGS) \
-				$(GEOS_CFLAGS)/geos \
-			      	-I../../core \
-			      	-I../../ui \
-			      	-I../../gui \
-			  	-I../../raster \
-				-I../../../include/qgis \
-				-I../../providers/wfs \
-				-I../../widgets/projectionselector \
-				-I..
-
-wfsplugin_la_LDFLAGS = -avoid-version -module
-
-EXTRA_DIST = $(wfsplugin_la_HEADERS) $(PLUGIN_UI) $(PLUGIN_UIC) mIconAddWfsLayer.xpm

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,12 +15,12 @@
  *                                                                         *
  ***************************************************************************/
 
+#include "qgisinterface.h"
 #include "qgsproviderregistry.h"
 #include "qgswfssourceselect.h"
 #include "qgssinglesymbolrenderer.h"
 #include "qgsvectorlayer.h"
 #include "qgswfsplugin.h"
-#include "qgswfsprovider.h"
 
 #include "mIconAddWfsLayer.xpm"
 
@@ -34,7 +34,9 @@
 static const QString description_ = QObject::tr("Adds WFS layers to the QGIS canvas");
 static const QString version_ = QObject::tr("Version 0.0001");
 
-QgsWFSPlugin::QgsWFSPlugin(QgisApp* app, QgisIface* iface): QgisPlugin(name_, description_, version_, QgisPlugin::MAPLAYER), mApp(app), mIface(iface), mWfsDialogAction(0)
+QgsWFSPlugin::QgsWFSPlugin(QgisInterface* iface)
+: QgisPlugin(name_, description_, version_, QgisPlugin::MAPLAYER), 
+  mIface(iface), mWfsDialogAction(0)
 {
 
 }
@@ -69,9 +71,9 @@
   serverDialog.exec();
 }
 
-QGISEXTERN QgisPlugin * classFactory(QgisApp * theQGisAppPointer, QgisIface * theQgisInterfacePointer)
+QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer)
 {
-  return new QgsWFSPlugin(theQGisAppPointer, theQgisInterfacePointer);
+  return new QgsWFSPlugin(theQgisInterfacePointer);
 }
 
 QGISEXTERN QString name()

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfsplugin.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -21,15 +21,15 @@
 #include "qgisplugin.h"
 #include <QObject>
 
-class QGisApp;
-class QgisIface;
+class QgisInterface;
+class QAction;
 
 /**A plugin for adding vector layers with the WFS provider*/
 class QgsWFSPlugin: public QObject, public QgisPlugin
 {
   Q_OBJECT
  public:
-  QgsWFSPlugin(QgisApp* app, QgisIface* iface);
+  QgsWFSPlugin(QgisInterface* iface);
   ~QgsWFSPlugin();
   /**initialize connection to GUI*/
   void initGui();
@@ -37,8 +37,7 @@
   void unload();
 
  private:
-  QgisApp* mApp;
-  QgisIface* mIface;
+  QgisInterface* mIface;
   QAction* mWfsDialogAction;
 
   private slots:

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,11 +15,12 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "qgisiface.h"
+#include "qgisinterface.h"
 #include "qgswfssourceselect.h"
 #include "qgsnewhttpconnection.h"
 #include "qgslayerprojectionselector.h"
 #include "qgshttptransaction.h"
+#include "qgscontexthelp.h"
 #include <QDomDocument>
 #include <QListWidgetItem>
 #include <QMessageBox>
@@ -27,12 +28,15 @@
 
 static const QString WFS_NAMESPACE = "http://www.opengis.net/wfs";
 
-QgsWFSSourceSelect::QgsWFSSourceSelect(QWidget* parent, QgisIface* iface): QDialog(parent), mIface(iface) 
+QgsWFSSourceSelect::QgsWFSSourceSelect(QWidget* parent, QgisInterface* iface): QDialog(parent), mIface(iface) 
 {
   setupUi(this);
+  btnAdd = buttonBox->button(QDialogButtonBox::Ok);
+  btnAdd->setEnabled(false);
   
-  connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
-  connect(btnAdd, SIGNAL(clicked()), this, SLOT(addLayer()));
+  connect(buttonBox, SIGNAL(accepted()), this, SLOT(addLayer()));
+  connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+  connect(buttonBox, SIGNAL(helpRequested()), this, SLOT(showHelp()));
   connect(btnNew, SIGNAL(clicked()), this, SLOT(addEntryToServerList()));
   connect(btnEdit, SIGNAL(clicked()), this, SLOT(modifyEntryOfServerList()));
   connect(btnDelete, SIGNAL(clicked()), this, SLOT(deleteEntryOfServerList()));
@@ -120,6 +124,11 @@
       if(nameList.length() > 0)
 	{
 	  tname = nameList.at(0).toElement().text();
+	  //strip away namespace prefixes
+	  if(tname.contains(":"))
+	    {
+	      tname = tname.section(":", 1, 1);
+	    }
 	}
       //Title
       QDomNodeList titleList = featureTypeElem.elementsByTagNameNS(WFS_NAMESPACE, "Title");
@@ -206,8 +215,8 @@
   QString key = "/Qgis/connections-wfs/" + cmbConnections->currentText();
   QString msg =
     tr("Are you sure you want to remove the ") + cmbConnections->currentText() + tr(" connection and all associated settings?");
-  int result = QMessageBox::information(this, tr("Confirm Delete"), msg, tr("Yes"), tr("No"));
-  if (result == 0)
+  QMessageBox::StandardButton result = QMessageBox::information(this, tr("Confirm Delete"), msg, QMessageBox::Ok | QMessageBox::Cancel);
+  if (result == QMessageBox::Ok)
   {
     settings.remove(key);
     cmbConnections->removeItem(cmbConnections->currentItem());
@@ -339,3 +348,8 @@
 	}
     }
 }
+
+void QgsWFSSourceSelect::showHelp()
+{
+  QgsContextHelp::run(context_id);
+}

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.h
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselect.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -20,7 +20,7 @@
 
 #include "ui_qgswfssourceselectbase.h"
 
-class QgisIface;
+class QgisInterface;
 class QgsLayerProjectionSelector;
 
 class QgsWFSSourceSelect: public QDialog, private Ui::QgsWFSSourceSelectBase
@@ -35,18 +35,20 @@
       SOAP /*Note that this goes also through HTTP POST but additionally uses soap envelope and friends*/
     };
 
-  QgsWFSSourceSelect(QWidget* parent, QgisIface* iface);
+  QgsWFSSourceSelect(QWidget* parent, QgisInterface* iface);
   ~QgsWFSSourceSelect();
   
  private:
   QgsWFSSourceSelect(); //default constructor is forbidden
-  QgisIface* mIface; //pointer to the QGIS interface object (needed to add WFS layers)
+  QgisInterface* mIface; //pointer to the QGIS interface object (needed to add WFS layers)
   QString mUri; //uri of the currently connected server
   QgsLayerProjectionSelector* mProjectionSelector;
   /**Stores the available CRS for a server connections.
    The first string is the typename, the corresponding list
   stores the CRS for the typename in the form 'EPSG:XXXX'*/
   std::map<QString, std::list<QString> > mAvailableCRS;
+  static const int context_id = 0;
+  QAbstractButton* btnAdd;
   void populateConnectionList();
 
   /**Makes a GetCapabilities and returns the typenamse and crs supported by the server.
@@ -70,6 +72,7 @@
   void addLayer();
   void changeCRS();
   void changeCRSFilter();
+  void showHelp();
 };
 
 #endif

Modified: packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselectbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselectbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/qgswfssourceselectbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -89,80 +89,6 @@
      </layout>
     </widget>
    </item>
-   <item row="3" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="enabled" >
-        <bool>true</bool>
-       </property>
-       <property name="text" >
-        <string>Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>111</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnAdd" >
-       <property name="enabled" >
-        <bool>false</bool>
-       </property>
-       <property name="text" >
-        <string>&amp;Add</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+A</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnCancel" >
-       <property name="text" >
-        <string>C&amp;lose</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+L</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="0" column="0" >
     <widget class="QGroupBox" name="GroupBox1" >
      <property name="title" >
@@ -234,6 +160,16 @@
      </layout>
     </widget>
    </item>
+   <item row="3" column="0" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <resources/>

Deleted: packages/qgis/branches/upstream/current/src/plugins/wfs/wfs.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/plugins/wfs/wfs.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/plugins/wfs/wfs.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the wfs plugin
-#
-
-include(../../../settings.pro)
-TARGET=wfsplugin
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPLUGINDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-INCLUDEPATH += $${GEOSINCADD}
-
-HEADERS += qgswfsplugin.h \
-           qgswfssourceselect.h 
-FORMS +=  qgswfssourceselectbase.ui
-SOURCES += qgswfsplugin.cpp \
-           qgswfssourceselect.cpp 

Added: packages/qgis/branches/upstream/current/src/providers/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile
+Makefile.in
+

Deleted: packages/qgis/branches/upstream/current/src/providers/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-if HAVE_POSTGRESQL
-POSTGRESQL = postgres
-endif
-
-if HAVE_GRASS
-GRASS = grass
-endif
-
-if HAVE_WFS
-WFS = wfs
-endif
-
-SUBDIRS = ogr $(POSTGRESQL) $(GRASS) delimitedtext gpx wms $(WFS) 

Added: packages/qgis/branches/upstream/current/src/providers/delimitedtext/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+*.lo
+*.la
+Makefile.in
+Makefile
+.libs
+.deps
+

Modified: packages/qgis/branches/upstream/current/src/providers/delimitedtext/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -11,8 +11,6 @@
 INCLUDE_DIRECTORIES(
   .
   ../../core
-  ../../gui
-  ${CMAKE_CURRENT_BINARY_DIR}/../../ui
   ${GDAL_INCLUDE_DIR}
   ${GEOS_INCLUDE_DIR}
 )

Deleted: packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +0,0 @@
-## $Id: Makefile.am 5698 2006-08-15 10:54:55Z g_j_m $
-
-INCLUDES = -I../../core/ -I../../gui/ -I../../ui
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = delimitedtextprovider.la 
-
-delimitedtextprovider_la_SOURCES = qgsdelimitedtextprovider.cpp
-
-
-delimitedtextprovider_la_LIBADD = $(QT_LDADD)  $(GDAL_LIB) $(GEOS_LDADD) ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-delimitedtextprovider_la_LDFLAGS = -avoid-version -module
-delimitedtextprovider_la_CXXFLAGS = $(GDAL_CFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GEOS_CFLAGS)
-
-EXTRA_DIST = qgsdelimitedtextprovider.h

Deleted: packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,33 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-OBJECTS = delimitedtextprovider_la-qgsdelimitedtextprovider.o
-
-PROVIDER = .libs/delimitedtextprovider.dll
-
-all: objects $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile
-
-$(PROVIDER): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--enable-runtime-pseudo-reloc \
-		-Wl,--whole-archive delimitedtextprovider_la-qgsdelimitedtextprovider.o \
-		-Wl,--no-whole-archive \
-			$(CORE_DLL) $(GUI_DLL) $(CORE_DLL) \
-			$(RASTER_DLL) $(PROJSEL_DLL) $(LEGEND_DLL) \
-			$(GUI_DLL) $(CORE_DLL) $(COMPOSER_DLL) $(GUI_DLL) \
-			-lgdal -lgeos -lsqlite3 -lproj $(PG_LIB) \
-                        $(QT_LDADD) \
-                        -lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 .libs/delimitedtextprovider.dll $(prefix)/lib/qgis/delimitedtextprovider.dll
-
-include ../../../Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/providers/delimitedtext/delimitedtext.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/delimitedtext.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/delimitedtext.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,35 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gui library - the app is built in a separate pro file
-#
-
-include(../../../settings.pro)
-TARGET=delimitedtextprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-LIBS += $${GEOSLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgsdelimitedtextprovider.h
-SOURCES += qgsdelimitedtextprovider.cpp 

Modified: packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,13 +14,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsdelimitedtextprovider.cpp 6511 2007-02-03 22:55:24Z homann $ */
+/* $Id: qgsdelimitedtextprovider.cpp 6893 2007-04-17 19:51:58Z wonder $ */
 
 #include "qgsdelimitedtextprovider.h"
 
-#include <cfloat>
-#include <iostream>
 
+#include <QtGlobal>
 #include <QFile>
 #include <QDataStream>
 #include <QTextStream>
@@ -30,16 +29,16 @@
 #include <QRegExp>
 #include <QUrl>
 
-#include <ogrsf_frmts.h>
 
+#include "qgsapplication.h"
 #include "qgsdataprovider.h"
-#include "qgsencodingfiledialog.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
+#include "qgslogger.h"
+#include "qgsmessageoutput.h"
 #include "qgsrect.h"
+#include "qgsspatialrefsys.h"
 #include "qgis.h"
-#include "qgsmessageviewer.h"
-#include "qgslogger.h"
 
 #ifdef WIN32
 #define QGISEXTERN extern "C" __declspec( dllexport )
@@ -53,233 +52,212 @@
 
 
 
-QgsDelimitedTextProvider::QgsDelimitedTextProvider(QString const &uri)
+QgsDelimitedTextProvider::QgsDelimitedTextProvider(QString uri)
     : QgsVectorDataProvider(uri), 
-      mMinMaxCacheDirty(true),
+      mXFieldIndex(-1), mYFieldIndex(-1),
       mShowInvalidLines(true)
 {
   // Get the file name and mDelimiter out of the uri
   mFileName = uri.left(uri.find("?"));
   // split the string up on & to get the individual parameters
   QStringList parameters = QStringList::split("&", uri.mid(uri.find("?")));
-#ifdef QGISDEBUG
-  std::cerr << "Parameter count after split on &" << parameters.
-    size() << std::endl;
-#endif
+  
+  QgsDebugMsg("Parameter count after split on &" + QString::number(parameters.size()));
+  
   // get the individual parameters and assign values
   QStringList temp = parameters.grep("delimiter=");
   mDelimiter = temp.size()? temp[0].mid(temp[0].find("=") + 1) : "";
   temp = parameters.grep("xField=");
-  mXField = temp.size()? temp[0].mid(temp[0].find("=") + 1) : "";
+  QString xField = temp.size()? temp[0].mid(temp[0].find("=") + 1) : "";
   temp = parameters.grep("yField=");
-  mYField = temp.size()? temp[0].mid(temp[0].find("=") + 1) : "";
+  QString yField = temp.size()? temp[0].mid(temp[0].find("=") + 1) : "";
   // Decode the parts of the uri. Good if someone entered '=' as a delimiter, for instance.
   mFileName  = QUrl::fromPercentEncoding(mFileName.toUtf8());
   mDelimiter = QUrl::fromPercentEncoding(mDelimiter.toUtf8());
-  mXField    = QUrl::fromPercentEncoding(mXField.toUtf8());
-  mYField    = QUrl::fromPercentEncoding(mYField.toUtf8());
-#ifdef QGISDEBUG
-  std::cerr << "Data source uri is " << (const char *)uri.toLocal8Bit().data() << std::endl;
-  std::cerr << "Delimited text file is: " << (const char *)mFileName.toLocal8Bit().data() << std::endl;
-  std::cerr << "Delimiter is: " << (const char *)mDelimiter.toLocal8Bit().data() << std::endl;
-  std::cerr << "xField is: " << (const char *)mXField.toLocal8Bit().data() << std::endl;
-  std::cerr << "yField is: " << (const char *)mYField.toLocal8Bit().data() << std::endl;
-#endif
+  xField    = QUrl::fromPercentEncoding(xField.toUtf8());
+  yField    = QUrl::fromPercentEncoding(yField.toUtf8());
   
+  QgsDebugMsg("Data source uri is " + uri);
+  QgsDebugMsg("Delimited text file is: " + mFileName);
+  QgsDebugMsg("Delimiter is: " + mDelimiter);
+  QgsDebugMsg("xField is: " + xField);
+  QgsDebugMsg("yField is: " + yField);
+  
   // if delimiter contains some special characters, convert them
   // (we no longer use delimiter as regexp as it introduces problems with special characters)
   mDelimiter.replace("\\t", "\t"); // replace "\t" with a real tabulator
   
   // Set the selection rectangle to null
-  mSelectionRectangle = 0;
+  mSelectionRectangle = QgsRect();
   // assume the layer is invalid until proven otherwise
   mValid = false;
-  if (!mFileName.isEmpty() && !mDelimiter.isEmpty() && !mXField.isEmpty() &&
-      !mYField.isEmpty())
+  if (mFileName.isEmpty() || mDelimiter.isEmpty() || xField.isEmpty() || yField.isEmpty())
   {
-    // check to see that the file exists and perform some sanity checks
-    if (QFile::exists(mFileName))
+    // uri is invalid so the layer must be too...
+    QString("Data source is invalid");
+    return;
+  }
+
+  // check to see that the file exists and perform some sanity checks
+  if (!QFile::exists(mFileName))
+  {
+    QgsDebugMsg("Data source " + dataSourceUri() + " doesn't exist");
+    return;
+  }
+      
+  // Open the file and get number of rows, etc. We assume that the
+  // file has a header row and process accordingly. Caller should make
+  // sure the the delimited file is properly formed.
+  mFile = new QFile(mFileName);
+  if (!mFile->open(QIODevice::ReadOnly))
+  {
+    QgsDebugMsg("Data source " + dataSourceUri() + " could not be opened");
+    delete mFile;
+    return;
+  }
+  
+  // now we have the file opened and ready for parsing
+  
+  // set the initial extent
+  mExtent = QgsRect();
+  
+  QMap<int, bool> couldBeInt;
+  QMap<int, bool> couldBeDouble;
+  
+  mStream = new QTextStream(mFile);
+  QString line;
+  mNumberFeatures = 0;
+  int lineNumber = 0;
+  bool firstPoint = true;
+  bool hasFields = false;
+  while (!mStream->atEnd())
+  {
+    lineNumber++;
+    line = mStream->readLine(); // line of text excluding '\n', default local 8 bit encoding.
+    if (!hasFields)
     {
-      // Open the file and get number of rows, etc. We assume that the
-      // file has a header row and process accordingly. Caller should make
-      // sure the the delimited file is properly formed.
-      mFile = new QFile(mFileName);
-      if (mFile->open(QIODevice::ReadOnly))
+      // Get the fields from the header row and store them in the 
+      // fields vector
+      QgsDebugMsg("Attempting to split the input line: " + line + " using delimiter " + mDelimiter);
+      
+      QStringList fieldList = QStringList::split(mDelimiter, line, true);
+      QgsDebugMsg("Split line into " + QString::number(fieldList.size()) + " parts");
+      
+      // We don't know anything about a text based field other
+      // than its name. All fields are assumed to be text
+      int fieldPos = 0;
+      for (QStringList::Iterator it = fieldList.begin();
+            it != fieldList.end(); ++it)
       {
-        mStream = new QTextStream(mFile);
-        QString line;
-        mNumberFeatures = 0;
-        int xyCount = 0;
-        int lineNumber = 0;
-        // set the initial extent
-        mExtent = new QgsRect();
-        //commented out by Tim for now - setMinimal needs to be merged in from 0.7 branch
-        //mExtent->setMinimal(); // This defeats normalization
-        bool firstPoint = true;
-        while (!mStream->atEnd())
+        QString field = *it;
+        if (field.length() > 0)
         {
-          lineNumber++;
-          line = mStream->readLine(); // line of text excluding '\n', default local 8 bit encoding.
-          if (mNumberFeatures++ == 0)
+          // for now, let's set field type as text
+          attributeFields[fieldPos] = QgsField(*it, QVariant::String, "Text");
+          
+          // check to see if this field matches either the x or y field 
+          if (xField == *it)
           {
-            // Get the fields from the header row and store them in the 
-            // fields vector
-#ifdef QGISDEBUG
-            std::
-              cerr << "Attempting to split the input line: " << (const char *)line.toLocal8Bit().data() <<
-              " using delimiter " << (const char *)mDelimiter.toLocal8Bit().data() << std::endl;
-#endif
-            QStringList fieldList = QStringList::split(mDelimiter, line, true);
-#ifdef QGISDEBUG
-            std::cerr << "Split line into " 
-                      << fieldList.size() << " parts" << std::endl;
-#endif
-            // We don't know anything about a text based field other
-            // than its name. All fields are assumed to be text
-            int fieldPos = 0;
-            for (QStringList::Iterator it = fieldList.begin();
-                 it != fieldList.end(); ++it)
-            {
-              QString field = *it;
-              if (field.length() > 0)
-              {
-                attributeFields.push_back(QgsField(*it, "Text"));
-                fieldPositions[*it] = fieldPos++;
-                // check to see if this field matches either the x or y field 
-                if (mXField == *it)
-                {
-#ifdef QGISDEBUG
-                  std::cerr << "Found x field " << (const char *)(*it).toLocal8Bit().data() << std::endl;
-#endif
-                  xyCount++;
-                }
-                if (mYField == *it)
-                {
-#ifdef QGISDEBUG
-                  std::cerr << "Found y field " << (const char *)(*it).toLocal8Bit().data() << std::endl;
-#endif
-                  xyCount++;
-                }
-#ifdef QGISDEBUG
-                std::cerr << "Adding field: " << (const char *)(*it).toLocal8Bit().data() << std::endl;
-#endif
-
-              }
-            }
-#ifdef QGISDEBUG
-            std::
-              cerr << "Field count for the delimited text file is " <<
-              attributeFields.size() << std::endl;
-#endif
+            QgsDebugMsg("Found x field: " + (*it));
+            mXFieldIndex = fieldPos;
           }
-          else
+          else if (yField == *it)
           {
-            // examine the x,y and update extents
-            //  std::cout << line << std::endl; 
-            // split the line on the delimiter
-            QStringList parts =
-              QStringList::split(mDelimiter, line, true);
-
-	    // Skip malformed lines silently. Report line number with getNextFeature()
-	    if ( (parts.size() <= fieldPositions[mXField]) || (parts.size() <= fieldPositions[mYField]) )
-	    {
-	      continue;
-	    }
-            //if(parts.size() == attributeFields.size())
-            //{
-            //  // we can populate attributes if required
-            //  fieldsMatch = true;
-            //}else
-            //{
-            //  fieldsMatch = false;
-            //}
-            /*
-               std::cout << "Record hit line " << lineNumber << ": " <<
-               parts[fieldPositions[mXField]] << ", " <<
-               parts[fieldPositions[mYField]] << std::endl;
-             */
-            // Get the x and y values, first checking to make sure they
-            // aren't null.
-            QString sX = parts[fieldPositions[mXField]];
-            QString sY = parts[fieldPositions[mYField]];
-            //std::cout << "x ,y " << sX << ", " << sY << std::endl; 
-            bool xOk = true;
-            bool yOk = true;
-            double x = sX.toDouble(&xOk);
-            double y = sY.toDouble(&yOk);
-
-            if (xOk && yOk)
-            {
-              if (!firstPoint)
-              {
-                if (x > mExtent->xMax())
-                {
-                  mExtent->setXmax(x);
-                }
-                if (x < mExtent->xMin())
-                {
-                  mExtent->setXmin(x);
-                }
-                if (y > mExtent->yMax())
-                {
-                  mExtent->setYmax(y);
-                }
-                if (y < mExtent->yMin())
-                {
-                  mExtent->setYmin(y);
-                }
-              }
-              else
-              { // Extent for the first point is just the first point
-                mExtent->set(x,y,x,y);
-                firstPoint = false;
-              }
-            }
+            QgsDebugMsg("Found y field: " + (*it));
+            mYFieldIndex = fieldPos;
           }
+            
+          QgsDebugMsg("Adding field: " + (*it));
+          // assume that the field could be integer or double
+          couldBeInt.insert(fieldPos, true);
+          couldBeDouble.insert(fieldPos, true);
+          fieldPos++;
         }
-        reset();
-        mNumberFeatures--;
+      }
+      QgsDebugMsg("Field count for the delimited text file is " + QString::number(attributeFields.size()));
+      hasFields = true;
+    }
+    else
+    {
+      mNumberFeatures++;
+      
+      // split the line on the delimiter
+      QStringList parts = QStringList::split(mDelimiter, line, true);
 
-        if (xyCount == 2)
+      // Skip malformed lines silently. Report line number with getNextFeature()
+      if (attributeFields.size() != parts.size())
+      {
+        continue;
+      }
+      
+      // Get the x and y values, first checking to make sure they
+      // aren't null.
+      QString sX = parts[mXFieldIndex];
+      QString sY = parts[mYFieldIndex];
+      
+      bool xOk = true;
+      bool yOk = true;
+      double x = sX.toDouble(&xOk);
+      double y = sY.toDouble(&yOk);
+
+      if (xOk && yOk)
+      {
+        if (!firstPoint)
         {
-#ifdef QGISDEBUG
-          std::cerr << "Data store is valid" << std::endl;
-          std::cerr << "Number of features " << mNumberFeatures << std::endl;
-          std::cerr << "Extents " << (const char *)mExtent->stringRep().toLocal8Bit().data() << std::endl;
-#endif
-          mValid = true;
+          mExtent.combineExtentWith(x,y);
         }
         else
-        {
-          std::
-            cerr << "Data store is invalid. Specified x,y fields do not match\n"
-            << "those in the database (xyCount=" << xyCount << ")" << std::endl;
+        { // Extent for the first point is just the first point
+          mExtent.set(x,y,x,y);
+          firstPoint = false;
         }
       }
-#ifdef QGISDEBUG
-      std::cerr << "Done checking validity\n";
-#endif
-
-      //resize the cache matrix
-      mMinMaxCache = new double *[attributeFields.size()];
-      for (int i = 0; i < attributeFields.size(); i++)
+      
+      int i = 0;
+      for (QStringList::iterator it = parts.begin(); it != parts.end(); ++it, ++i)
       {
-        mMinMaxCache[i] = new double[2];
+        // try to convert attribute values to integer and double
+        if (couldBeInt[i])
+        {
+          it->toInt(&couldBeInt[i]);
+        }
+        if (couldBeDouble[i])
+        {
+          it->toDouble(&couldBeDouble[i]);
+        }
       }
     }
-    else
-      // file does not exist
-      std::
-        cerr << "Data source " << (const char *)getDataSourceUri().toLocal8Bit().data() << " could not be opened" <<
-        std::endl;
+  }
+  
+  // now it's time to decide the types for the fields
+  for (QgsFieldMap::iterator it = attributeFields.begin(); it != attributeFields.end(); ++it)
+  {
+    if (couldBeInt[it.key()])
+    {
+      it->setType(QVariant::Int);
+      it->setTypeName("integer");
+    }
+    else if (couldBeDouble[it.key()])
+    {
+      it->setType(QVariant::Double);
+      it->setTypeName("double");
+    }
+  }
 
+  if (mXFieldIndex != -1 && mYFieldIndex != -1)
+  {
+    QgsDebugMsg("Data store is valid");
+    QgsDebugMsg("Number of features " + QString::number(mNumberFeatures));
+    QgsDebugMsg("Extents " + mExtent.stringRep());
+    
+    mValid = true;
   }
   else
   {
-    // uri is invalid so the layer must be too...
-    std::cerr << "Data source is invalid" << std::endl;
-
+    QgsDebugMsg("Data store is invalid. Specified x,y fields do not match those in the database");
   }
+  QgsDebugMsg("Done checking validity");
+
 }
 
 QgsDelimitedTextProvider::~QgsDelimitedTextProvider()
@@ -287,314 +265,180 @@
   mFile->close();
   delete mFile;
   delete mStream;
-  for (int i = 0; i < fieldCount(); i++)
-  {
-    delete mMinMaxCache[i];
-  }
-  delete[]mMinMaxCache;
 }
 
 
-QString QgsDelimitedTextProvider::storageType()
+QString QgsDelimitedTextProvider::storageType() const
 {
   return "Delimited text file";
 }
 
 
-/**
- * Get the first feature resutling from a select operation
- * @return QgsFeature
- */
-QgsFeature * QgsDelimitedTextProvider::getFirstFeature(bool fetchAttributes)
+bool QgsDelimitedTextProvider::getNextFeature(QgsFeature& feature)
 {
-    QgsFeature *f = new QgsFeature;
+  // before we do anything else, assume that there's something wrong with
+  // the feature
+  feature.setValid( false );
+  while ( ! mStream->atEnd() )
+  {
+    double x = 0.0;
+    double y = 0.0;
+    QString line = mStream->readLine(); // Default local 8 bit encoding
+        
+    // lex the tokens from the current data line
+    QStringList tokens = QStringList::split(mDelimiter, line, true);
 
-    reset();                    // reset back to first feature
+    bool xOk = false;
+    bool yOk = false;
 
-    if ( getNextFeature_( *f, fetchAttributes ) )
+    // Skip indexing malformed lines.
+    if (attributeFields.size() == tokens.size())
     {
-        return f;
+      x = tokens[mXFieldIndex].toDouble( &xOk );
+      y = tokens[mYFieldIndex].toDouble( &yOk );
     }
-
-    delete f;
-
-    return 0x0;
-} // QgsDelimitedTextProvider::getFirstFeature(bool fetchAttributes)
-
-/**
-
-  insure double value is properly translated into locate endian-ness
-
-*/
-static
-double
-translateDouble_( double d )
-{
-    union
+    
+    if (! (xOk && yOk))
     {
-        double fpval;
-        char   char_val[8];
-    } from, to;
+      // Accumulate any lines that weren't ok, to report on them
+      // later, and look at the next line in the file, but only if
+      // we need to.
+      QgsDebugMsg("Malformed line : " + line);
+      if (mShowInvalidLines)
+        mInvalidLines << line;
 
-    // break double into byte sized chunks
-    from.fpval = d;
+      continue;
+    }
 
-    to.char_val[7] = from.char_val[0];
-    to.char_val[6] = from.char_val[1];
-    to.char_val[5] = from.char_val[2];
-    to.char_val[4] = from.char_val[3];
-    to.char_val[3] = from.char_val[4];
-    to.char_val[2] = from.char_val[5];
-    to.char_val[1] = from.char_val[6];
-    to.char_val[0] = from.char_val[7];
+    // Give every valid line in the file an id, even if it's not
+    // in the current extent or bounds.
+    ++mFid;             // increment to next feature ID
 
-    return to.fpval;
+    // skip the feature if it's out of current bounds
+    if (! boundsCheck(x,y))
+      continue;
 
-} // translateDouble_
+    // at this point, one way or another, the current feature values
+    // are valid
+    feature.setValid( true );
 
+    feature.setFeatureId( mFid );
 
-bool
-QgsDelimitedTextProvider::getNextFeature_( QgsFeature & feature, 
-                                           bool getAttributes,
-                                           std::list<int> const * desiredAttributes )
-{
-    // before we do anything else, assume that there's something wrong with
-    // the feature
-    feature.setValid( false );
-    while ( ! mStream->atEnd() )
+    QByteArray  buffer;
+    QDataStream s( &buffer, QIODevice::WriteOnly ); // open on buffers's data
+
+    switch ( QgsApplication::endian() )
     {
-      double x = 0.0;
-      double y = 0.0;
-      QString line = mStream->readLine(); // Default local 8 bit encoding
-        // lex the tokens from the current data line
-        QStringList tokens = QStringList::split(mDelimiter, line, true);
+        case QgsApplication::NDR :
+            // we're on a little-endian platform, so tell the data
+            // stream to use that
+            s.setByteOrder( QDataStream::LittleEndian );
+            s << (Q_UINT8)1; // 1 is for little-endian
+            break;
+        case QgsApplication::XDR :
+            // don't change byte order since QDataStream is big endian by default
+            s << (Q_UINT8)0; // 0 is for big-endian
+            break;
+        default :
+            qDebug( "%s:%d unknown endian", __FILE__, __LINE__ );
+            //delete [] geometry;
+            return false;
+    }
 
-        bool xOk = false;
-        bool yOk = false;
+    s << (Q_UINT32)QGis::WKBPoint;
+    s << x;
+    s << y;
 
-	// Skip indexing malformed lines.
-	if ( ! ((tokens.size() <= fieldPositions[mXField]) || (tokens.size() <= fieldPositions[mXField])) )
-	{
+    unsigned char* geometry = new unsigned char[buffer.size()];
+    memcpy(geometry, buffer.data(), buffer.size());
 
-	  int xFieldPos = fieldPositions[mXField];
-	  int yFieldPos = fieldPositions[mYField];
+    feature.setGeometryAndOwnership( geometry, sizeof(wkbPoint) );
 
-	  x = tokens[xFieldPos].toDouble( &xOk );
-	  y = tokens[yFieldPos].toDouble( &yOk );
-
-	}
-        if (! (xOk && yOk))
-        {
-          // Accumulate any lines that weren't ok, to report on them
-          // later, and look at the next line in the file, but only if
-          // we need to.
-	  QgsDebugMsg("Malformed line : " + line);
-          if (mShowInvalidLines)
-            mInvalidLines << line;
-
-          continue;
-        }
-
-        // Give every valid line in the file an id, even if it's not
-        // in the current extent or bounds.
-        ++mFid;             // increment to next feature ID
-
-        if (! boundsCheck(x,y))
-          continue;
-
-        // at this point, one way or another, the current feature values
-        // are valid
-           feature.setValid( true );
-
-           feature.setFeatureId( mFid );
-
-           QByteArray  buffer;
-           QDataStream s( &buffer, QIODevice::WriteOnly ); // open on buffers's data
-
-           switch ( endian() )
-           {
-               case QgsDataProvider::NDR :
-                   // we're on a little-endian platform, so tell the data
-                   // stream to use that
-                   s.setByteOrder( QDataStream::LittleEndian );
-                   s << (Q_UINT8)1; // 1 is for little-endian
-                   break;
-               case QgsDataProvider::XDR :
-                   // don't change byte order since QDataStream is big endian by default
-                   s << (Q_UINT8)0; // 0 is for big-endian
-                   break;
-               default :
-                   qDebug( "%s:%d unknown endian", __FILE__, __LINE__ );
-                   //delete [] geometry;
-                   return false;
-           }
-
-           s << (Q_UINT32)QGis::WKBPoint;
-           s << x;
-           s << y;
-
-           unsigned char* geometry = new unsigned char[buffer.size()];
-           memcpy(geometry, buffer.data(), buffer.size());
-
-           feature.setGeometryAndOwnership( geometry, sizeof(wkbPoint) );
-
-           if ( getAttributes && ! desiredAttributes )
-           {
-               for (int fi = 0; fi < attributeFields.size(); fi++)
-               {
-                   feature.addAttribute(attributeFields[fi].name(), tokens[fi]);
-               }
-           }
-           // regardless of whether getAttributes is true or not, if the
-           // programmer went through the trouble of passing in such a list of
-           // attribute fields, then obviously they want them
-           else if ( desiredAttributes )
-           {
-               for ( std::list<int>::const_iterator i = desiredAttributes->begin();
-                     i != desiredAttributes->end();
-                     ++i )
-               {
-                   feature.addAttribute(attributeFields[*i].name(), tokens[*i]);
-               }
-           }
-           // We have a good line, so return
-           return true;
-
-    } // ! textStream EOF
-
-    // End of the file. If there are any lines that couldn't be
-    // loaded, display them now.
-
-    if (mShowInvalidLines && !mInvalidLines.isEmpty())
+    for ( QgsAttributeList::const_iterator i = mAttributesToFetch.begin();
+          i != mAttributesToFetch.end();
+          ++i )
     {
-      mShowInvalidLines = false;
-      QgsMessageViewer lineViewer;
-      lineViewer.setMessageAsPlainText(tr("Note: the following lines were not loaded because Qgis was unable to determine values for the x and y coordinates:\n"));
-      for (int i = 0; i < mInvalidLines.size(); ++i)
-        lineViewer.appendMessage(mInvalidLines.at(i));
-
-      lineViewer.exec();
-      // We no longer need these lines.
-      mInvalidLines.empty();
+      QVariant val;
+      switch (attributeFields[*i].type())
+      {
+        case QVariant::Int:
+          val = QVariant(tokens[*i].toInt());
+          break;
+        case QVariant::Double:
+          val = QVariant(tokens[*i].toDouble());
+          break;
+        default:
+          val = QVariant(tokens[*i]);
+          break;
+      }
+      feature.addAttribute(*i, val);
     }
+      
+    // We have a good line, so return
+    return true;
+  
+  } // ! textStream EOF
 
-    return false;
+  // End of the file. If there are any lines that couldn't be
+  // loaded, display them now.
 
-} // getNextFeature_( QgsFeature & feature )
+  if (mShowInvalidLines && !mInvalidLines.isEmpty())
+  {
+    mShowInvalidLines = false;
+    QgsMessageOutput* output = QgsMessageOutput::createMessageOutput();
+    output->setTitle(tr("Error"));
+    output->setMessage(tr("Note: the following lines were not loaded because Qgis was "
+                          "unable to determine values for the x and y coordinates:\n"),
+                        QgsMessageOutput::MessageText);
+    
+    for (int i = 0; i < mInvalidLines.size(); ++i)
+      output->appendMessage(mInvalidLines.at(i));
+    
+    output->showMessage();
 
+    // We no longer need these lines.
+    mInvalidLines.empty();
+  }
 
+  return false;
 
-/**
-  Get the next feature resulting from a select operation
-  Return 0 if there are no features in the selection set
- * @return false if unable to get the next feature
- */
-bool QgsDelimitedTextProvider::getNextFeature(QgsFeature & feature,
-                                              bool fetchAttributes)
-{
-    return getNextFeature_( feature, fetchAttributes );
-} // QgsDelimitedTextProvider::getNextFeature
+} // getNextFeature
 
 
-
-QgsFeature * QgsDelimitedTextProvider::getNextFeature(bool fetchAttributes)
+void QgsDelimitedTextProvider::select(QgsAttributeList fetchAttributes,
+                                      QgsRect rect,
+                                      bool fetchGeometry,
+                                      bool useIntersect)
 {
-    QgsFeature * f = new QgsFeature;
-
-    if ( getNextFeature( *f, fetchAttributes ) )
+  mSelectionRectangle = rect;
+  mAttributesToFetch = fetchAttributes;
+  mFetchGeom = fetchGeometry;
+  if(rect.isEmpty())
     {
-        return f;
+      mSelectionRectangle = mExtent;
     }
-    
-    delete f;
-
-    return 0x0;
-} // QgsDelimitedTextProvider::getNextFeature(bool fetchAttributes)
-
-
-
-QgsFeature * QgsDelimitedTextProvider::getNextFeature(std::list<int> const & desiredAttributes, int featureQueueSize)
-{
-    QgsFeature * f = new QgsFeature;
-
-    if ( getNextFeature_( *f, true, &desiredAttributes ) )
+  else
     {
-        return f;
+      mSelectionRectangle = rect;
     }
-    
-    delete f;
-
-    return 0x0;
-
-} // QgsDelimitedTextProvider::getNextFeature(std::list < int >&attlist)
-
-
-
-
-/**
- * Select features based on a bounding rectangle. Features can be retrieved
- * with calls to getFirstFeature and getNextFeature.
- * @param mbr QgsRect containing the extent to use in selecting features
- */
-void QgsDelimitedTextProvider::select(QgsRect * rect, bool useIntersect)
-{
-
-  // Setting a spatial filter doesn't make much sense since we have to
-  // compare each point against the rectangle.
-  // We store the rect and use it in getNextFeature to determine if the
-  // feature falls in the selection area
   reset();
-  mSelectionRectangle = new QgsRect((*rect));
 }
 
 
-/**
- * Identify features within the search radius specified by rect
- * @param rect Bounding rectangle of search radius
- * @return std::vector containing QgsFeature objects that intersect rect
- */
-std::vector < QgsFeature > &QgsDelimitedTextProvider::identify(QgsRect * rect)
-{
-  // reset the data source since we need to be able to read through
-  // all features
-  reset();
-  std::cerr << "Attempting to identify features falling within " << (const char *)rect->
-    stringRep().toLocal8Bit().data() << std::endl;
-  // select the features
-  select(rect);
-#ifdef WIN32
-  //TODO fix this later for win32
-  std::vector < QgsFeature > feat;
-  return feat;
-#endif
 
-}
 
-/*
-   unsigned char * QgsDelimitedTextProvider::getGeometryPointer(OGRFeature *fet){
-   unsigned char *gPtr=0;
-// get the wkb representation
-
-//geom->exportToWkb((OGRwkbByteOrder) endian(), gPtr);
-return gPtr;
-
-}
-*/
-
-
 // Return the extent of the layer
-QgsRect *QgsDelimitedTextProvider::extent()
+QgsRect QgsDelimitedTextProvider::extent()
 {
-  return new QgsRect(mExtent->xMin(), mExtent->yMin(), mExtent->xMax(),
-                     mExtent->yMax());
+  return mExtent;
 }
 
 /** 
  * Return the feature type
  */
-int QgsDelimitedTextProvider::geometryType() const
+QGis::WKBTYPE QgsDelimitedTextProvider::geometryType() const
 {
-  return 1;                     // WKBPoint
+  return QGis::WKBPoint;
 }
 
 /** 
@@ -608,30 +452,13 @@
 /**
  * Return the number of fields
  */
-int QgsDelimitedTextProvider::fieldCount() const
+uint QgsDelimitedTextProvider::fieldCount() const
 {
   return attributeFields.size();
 }
 
-/**
- * Fetch attributes for a selected feature
- */
-void QgsDelimitedTextProvider::getFeatureAttributes(int key, QgsFeature * f)
-{
-  //for (int i = 0; i < ogrFet->GetFieldCount(); i++) {
 
-  //  // add the feature attributes to the tree
-  //  OGRFieldDefn *fldDef = ogrFet->GetFieldDefnRef(i);
-  //  QString fld = fldDef->GetNameRef();
-  //  //    OGRFieldType fldType = fldDef->GetType();
-  //  QString val;
-
-  //  val = ogrFet->GetFieldAsString(i);
-  //  f->addAttribute(fld, val);
-  //}
-}
-
-std::vector<QgsField> const & QgsDelimitedTextProvider::fields() const
+const QgsFieldMap & QgsDelimitedTextProvider::fields() const
 {
   return attributeFields;
 }
@@ -644,79 +471,8 @@
   // the header record
   mStream->seek(0);
   mStream->readLine();
-  //reset any spatial filters
-  if(mSelectionRectangle && mExtent)
-    {
-      *mSelectionRectangle = *mExtent;
-    }
 }
 
-QString QgsDelimitedTextProvider::minValue(int position)
-{
-  if (position >= fieldCount())
-  {
-    std::
-      cerr << "Warning: access requested to invalid position " <<
-      "in QgsDelimitedTextProvider::minValue(..)" << std::endl;
-  }
-  if (mMinMaxCacheDirty)
-  {
-    fillMinMaxCash();
-  }
-  return QString::number(mMinMaxCache[position][0], 'f', 2);
-}
-
-
-QString QgsDelimitedTextProvider::maxValue(int position)
-{
-  if (position >= fieldCount())
-  {
-    std::
-      cerr << "Warning: access requested to invalid position " <<
-      "in QgsDelimitedTextProvider::maxValue(..)" << std::endl;
-  }
-  if (mMinMaxCacheDirty)
-  {
-    fillMinMaxCash();
-  }
-  return QString::number(mMinMaxCache[position][1], 'f', 2);
-}
-
-void QgsDelimitedTextProvider::fillMinMaxCash()
-{
-  for (int i = 0; i < fieldCount(); i++)
-  {
-    mMinMaxCache[i][0] = DBL_MAX;
-    mMinMaxCache[i][1] = -DBL_MAX;
-  }
-
-  QgsFeature f;
-  reset();
-
-  getNextFeature(f, true);
-  do
-  {
-    for (int i = 0; i < fieldCount(); i++)
-    {
-      double value = (f.attributeMap())[i].fieldValue().toDouble();
-      if (value < mMinMaxCache[i][0])
-      {
-        mMinMaxCache[i][0] = value;
-      }
-      if (value > mMinMaxCache[i][1])
-      {
-        mMinMaxCache[i][1] = value;
-      }
-    }
-  }
-  while (getNextFeature(f, true));
-
-  mMinMaxCacheDirty = false;
-}
-
-//TODO - add sanity check for shape file layers, to include cheking to
-//       see if the .shp, .dbf, .shx files are all present and the layer
-//       actually has features
 bool QgsDelimitedTextProvider::isValid()
 {
   return mValid;
@@ -727,270 +483,29 @@
  */
 bool QgsDelimitedTextProvider::boundsCheck(double x, double y)
 {
-  bool inBounds(true);
-  if (mSelectionRectangle)
-    inBounds = (((x <= mSelectionRectangle->xMax()) &&
-                 (x >= mSelectionRectangle->xMin())) &&
-                ((y <= mSelectionRectangle->yMax()) &&
-                 (y >= mSelectionRectangle->yMin())));
-  // QString hit = inBounds?"true":"false";
-
-  // std::cerr << "Checking if " << x << ", " << y << " is in " << 
-  //mSelectionRectangle->stringRep().ascii() << ": " << hit.ascii() << std::endl; 
-  return inBounds;
+  // no selection rectangle => always in the bounds
+  if (mSelectionRectangle.isEmpty())
+    return true;
+  
+  return (x <= mSelectionRectangle.xMax()) && (x >= mSelectionRectangle.xMin()) &&
+         (y <= mSelectionRectangle.yMax()) && (y >= mSelectionRectangle.yMin());
 }
 
 int QgsDelimitedTextProvider::capabilities() const
 {
-    return QgsVectorDataProvider::SaveAsShapefile;
+    return 0;
 }
 
 
-bool QgsDelimitedTextProvider::saveAsShapefile()
+QgsSpatialRefSys QgsDelimitedTextProvider::getSRS()
 {
-  // save the layer as a shapefile
-  QString driverName = "ESRI Shapefile";
-  OGRSFDriver *poDriver;
-  OGRRegisterAll();
-  poDriver =
-    OGRSFDriverRegistrar::GetRegistrar()->
-    GetDriverByName((const char *)driverName.toLocal8Bit().data());
-  bool returnValue = true;
-  if (poDriver != NULL)
-  {
-    // get a name for the shapefile
-    // Get a file to process, starting at the current directory
-    // Set inital dir to last used in delimited text plugin
-    QSettings settings;
-    QString enc;
-    QString shapefileName;
-    QString filter =  tr("Shapefiles (*.shp)", "The *.shp is used as a file filter in a dialog box");
-    QString dirName = settings.readEntry("/Plugin-DelimitedText/text_path", "./");
-
-    QgsEncodingFileDialog* openFileDialog = new QgsEncodingFileDialog(0,
-                                                                      tr("Save layer as..."),
-                                                                      dirName,
-                                                                      filter,
-                                                                      QString("UTF-8"));
-
-    // allow for selection of more than one file
-    openFileDialog->setMode(QFileDialog::AnyFile);
-
-
-    if (openFileDialog->exec() == QDialog::Accepted)
-    {
-        shapefileName = openFileDialog->selectedFile();
-        enc = openFileDialog->encoding();
-    }
-    else
-    {
-      return returnValue;
-    }
-
-    if (!shapefileName.isNull())
-    {
-      // add the extension if not present
-      if (shapefileName.find(".shp") == -1)
-      {
-        shapefileName += ".shp";
-      }
-      OGRDataSource *poDS;
-      // create the data source
-      poDS = poDriver->CreateDataSource(QFile::encodeName(shapefileName).constData(), NULL);
-      if (poDS != NULL)
-      {
-        QTextCodec* saveCodec = QTextCodec::codecForName(enc.toLocal8Bit().data());
-        if(!saveCodec)
-        {
-#ifdef QGISDEBUG
-          qWarning("error finding QTextCodec in QgsDelimitedTextProvider::saveAsShapefile()");
-#endif
-          saveCodec = QTextCodec::codecForLocale();
-        }
- 
-        std::cerr << "created datasource" << std::endl;
-        // datasource created, now create the output layer, use utf8() for now.
-        OGRLayer *poLayer;
-        poLayer =
-           poDS->CreateLayer((const char *) (shapefileName.
-                             left(shapefileName.find(".shp"))).utf8(), NULL,
-                              static_cast < OGRwkbGeometryType > (1), NULL);
-        if (poLayer != NULL)
-        {
-          std::cerr << "created layer" << std::endl;
-          // calculate the field lengths
-          int *lengths = getFieldLengths();
-          // create the fields
-          std::cerr << "creating " << attributeFields.
-            size() << " fields" << std::endl;
-          for (int i = 0; i < attributeFields.size(); i++)
-          {
-            // check the field length - if > 10 we need to truncate it
-            QgsField attrField = attributeFields[i];
-            if (attrField.name().length() > 10)
-            {
-              attrField = attrField.name().left(10);
-            }
-            // all fields are created as string (for now)
-            OGRFieldDefn fld(saveCodec->fromUnicode(attrField.name()), OFTString);
-            // set the length for the field -- but we don't know what it is...
-            fld.SetWidth(lengths[i]);
-            // create the field
-            std::cerr << "creating field " << (const char *)attrField.
-              name().toLocal8Bit().data() << " width length " << lengths[i] << std::endl;
-            if (poLayer->CreateField(&fld) != OGRERR_NONE)
-            {
-              QMessageBox::warning(0, tr("Error"),
-                                   tr("Error creating field ") + attrField.name());
-            }
-          }
-          // read the delimited text file and create the features
-          std::cerr << "Done creating fields" << std::endl;
-          // read the line
-          reset();
-          QString line;
-          while (!mStream->atEnd())
-          {
-            line = mStream->readLine(); // line of text excluding '\n'
-            // split the line
-            QStringList parts =
-              QStringList::split(mDelimiter, line, true);
-
-            // create the feature
-            OGRFeature *poFeature;
-
-            poFeature = new OGRFeature(poLayer->GetLayerDefn());
-
-            // iterate over the parts and set the fields
-            // set limit - we will ignore extra fields on the line
-            int limit = attributeFields.size();
-
-            if (parts.size() < limit)
-            {
-
-              // this is bad - not enough values where supplied on the line
-              // TODO We should inform the user about this...
-            }
-            else
-            {
-
-              for (int i = 0; i < limit; i++)
-              {
-                if (parts[i] != QString::null)
-                {
-                  poFeature->SetField(saveCodec->fromUnicode(attributeFields[i].name()).data(),
-                                      saveCodec->fromUnicode(parts[i]).data());
-
-                }
-                else
-                {
-                  poFeature->SetField(saveCodec->fromUnicode(attributeFields[i].name()).data(), "");
-                }
-              }
-              std::cerr << "Field values set" << std::endl;
-              // create the point
-              OGRPoint *poPoint = new OGRPoint();
-              QString sX = parts[fieldPositions[mXField]];
-              QString sY = parts[fieldPositions[mYField]];
-              poPoint->setX(sX.toDouble());
-              poPoint->setY(sY.toDouble());
-              std::cerr << "Setting geometry" << std::endl;
-
-              poFeature->SetGeometryDirectly(poPoint);
-              if (poLayer->CreateFeature(poFeature) != OGRERR_NONE)
-              {
-                std::cerr << "Failed to create feature in shapefile" << std::
-                  endl;
-              }
-              else
-              {
-                std::cerr << "Added feature" << std::endl;
-              }
-
-              delete poFeature;
-            }
-          }
-          delete poDS;
-        }
-        else
-        {
-          QMessageBox::warning(0, tr("Error"), tr("Layer creation failed"));
-        }
-
-      }
-      else
-      {
-        QMessageBox::warning(0, tr("Error creating shapefile"),
-                             tr("The shapefile could not be created (") +
-                             shapefileName + ")");
-      }
-
-    }
-    //std::cerr << "Saving to " << shapefileName << std::endl; 
-  }
-  else
-  {
-    QMessageBox::warning(0, tr("Driver not found"),
-                         driverName + tr(" driver is not available"));
-    returnValue = false;
-  }
-  return returnValue;
+  // TODO: make provider projection-aware
+  return QgsSpatialRefSys(); // return default SRS
 }
 
 
 
-size_t QgsDelimitedTextProvider::layerCount() const
-{
-    return 1;                   // XXX How to calculate the layers?
-} // QgsOgrProvider::layerCount()
 
-
-
-int *QgsDelimitedTextProvider::getFieldLengths()
-{
-  // this function parses the entire data file and calculates the
-  // max for each
-
-  // Only do this if we haven't done it already (ie. the vector is
-  // empty)
-  int *lengths = new int[attributeFields.size()];
-  // init the lengths to zero
-  for (int il = 0; il < attributeFields.size(); il++)
-  {
-    lengths[il] = 0;
-  }
-  if (mValid)
-  {
-    reset();
-    // read the line
-    QString line;
-    while (!mStream->atEnd())
-    {
-      line = mStream->readLine(); // line of text excluding '\n'
-      // split the line
-      QStringList parts = QStringList::split(mDelimiter, line, true);
-      // iterate over the parts and update the max value
-      for (int i = 0; i < parts.size(); i++)
-      {
-        if (parts[i] != QString::null)
-        {
-          // std::cerr << "comparing length for " << parts[i] << " against max len of " << lengths[i] << std::endl; 
-          if (parts[i].length() > lengths[i])
-          {
-            lengths[i] = parts[i].length();
-          }
-        }
-
-      }
-    }
-  }
-  return lengths;
-}
-
-
-
-
-
 QString  QgsDelimitedTextProvider::name() const
 {
     return TEXT_PROVIDER_KEY;

Modified: packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/delimitedtext/qgsdelimitedtextprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *                                                                         *
  ***************************************************************************/
 
-/* $Id: qgsdelimitedtextprovider.h 5698 2006-08-15 10:54:55Z g_j_m $ */
+/* $Id: qgsdelimitedtextprovider.h 6893 2007-04-17 19:51:58Z wonder $ */
 
 #include "qgsvectordataprovider.h"
 
@@ -47,262 +47,148 @@
 {
 public:
 
-  QgsDelimitedTextProvider(QString const & uri = "");
+  QgsDelimitedTextProvider(QString uri = QString());
 
-  virtual ~ QgsDelimitedTextProvider();
+  virtual ~QgsDelimitedTextProvider();
 
+  /* Implementation of functions from QgsVectorDataProvider */
+  
   /**
-    *   Returns the permanent storage type for this layer as a friendly name.
-    */
-  QString storageType();
+   * Returns the permanent storage type for this layer as a friendly name.
+   */
+  virtual QString storageType() const;
 
-  /** get the first feature
+  /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+   *  @param fetchAttributes list of attributes which should be fetched
+   *  @param rect spatial filter
+   *  @param fetchGeometry true if the feature geometry should be fetched
+   *  @param useIntersect true if an accurate intersection test should be used,
+   *                     false if a test based on bounding box is sufficient
+   */
+  virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                      QgsRect rect = QgsRect(),
+                      bool fetchGeometry = true,
+                      bool useIntersect = false);
 
-    mFile should be open with the file pointer at the record of the next
-    feature, or EOF.  The feature found on the current line is parsed.
-
-    @param feature the feature object to be populated with next feature
-    @param fetchAttributes is true if you want to get the feature attributes, too
-
-    The search will be limited to the search region if one is active.
-
-    @return found QgsFeature, or null if not found
-  */
-  QgsFeature *getFirstFeature(bool fetchAttributes = false);
-
-  /** Get the next feature, if any
-
-    mFile should be open with the file pointer at the record of the next
-    feature, or EOF.  The feature found on the current line is parsed.
-
-    @param feature the feature object to be populated with next feature
-    @param fetchAttributes is true if you want to get the feature attributes, too
-
-    The search will be limited to the search region if one is active.
-
-  * @return found QgsFeature, or null if not found
-  */
-  QgsFeature *getNextFeature(bool fetchAttributes = false);
-
-  /** get the next feature, if any
-
-    mFile should be open with the file pointer at the record of the next
-    feature, or EOF.  The feature found on the current line is parsed.
-
-    @param feature the feature object to be populated with next feature
-    @param fetchAttributes is true if you want to get the feature attributes, too
-
-    @return false if unable to get the next feature
-
-    @note that feature will also be set invalid if unable to locate the next
-    feature
-
-    The search will be limited to the search region if one is active.
-
-  /** Used to ask the layer for its projection as a WKT string. Implements
-  virtual method of same name in QgsDataProvider. */
-  QString getProjectionWKT()  {return QString("Not implemented yet");} ;
-
   /**
-  * Get the first feature resulting from a select operation
-  * @return QgsFeature
-  */
-  bool getNextFeature(QgsFeature & feature, bool fetchAttributes = false);
+   * Get the next feature resulting from a select operation.
+   * @param feature feature which will receive data from the provider
+   * @return true when there was a feature to fetch, false when end was hit
+   *
+   * mFile should be open with the file pointer at the record of the next
+   * feature, or EOF.  The feature found on the current line is parsed.
+   */
+  virtual bool getNextFeature(QgsFeature& feature);
 
-  /** get the next feature, if any
-
-    mFile should be open with the file pointer at the record of the next
-    feature, or EOF.  The feature found on the current line is parsed.
-
-    @param feature the feature object to be populated with next feature @param
-           attlist is list of attributes by their field positions to fetch
-                   with object
-
-    @return false if unable to get the next feature
-
-    @note That feature will also be set invalid if unable to locate the next
-    feature.
-
-    The search will be limited to the search region if one is active.
-
-  */
-  QgsFeature *getNextFeature(std::list<int> const & desiredAttributes, int featureQueueSize = 1);
-
-
-  /** Get the feature type. This corresponds to 
-      WKBPoint,
-      WKBLineString,
-      WKBPolygon,
-      WKBMultiPoint,
-      WKBMultiLineString or
-      WKBMultiPolygon
-  * as defined in qgis.h
-  * This provider will always return WKBPoint
-  */
-  int geometryType() const;
-
-
-  /** return the number of layers for the current data source
-
-  @note 
-
-  Should this be subLayerCount() instead?
-  */
-  size_t layerCount() const;
-
-
-
-    /** 
-    * Get the number of features in the layer
-    */
-  long featureCount() const;
-    /** 
-    * Get the number of fields in the layer
-    */
-  int fieldCount() const;
   /**
-  * Select features based on a bounding rectangle. Features can be retrieved 
-  * with calls to getFirstFeature and getNextFeature.
-  * @param mbr QgsRect containing the extent to use in selecting features
-  */
-  void select(QgsRect * mbr, bool useIntersect = false);
+   * Get feature type.
+   * @return int representing the feature type
+   */
+  virtual QGis::WKBTYPE geometryType() const;
 
   /**
-  * Identify features within the search radius specified by rect
-  * @param rect Bounding rectangle of search radius
-  * @return std::vector containing QgsFeature objects that intersect rect
-  */
-  virtual std::vector < QgsFeature > &identify(QgsRect * rect);
+   * Number of features in the layer
+   * @return long containing number of features
+   */
+  virtual long featureCount() const;
 
-  /** Return the extent for this data layer
-  */
-  virtual QgsRect *extent();
   /**
-  * Get the attributes associated with a feature
-  */
-  void getFeatureAttributes(int key, QgsFeature * f);
- /**
- * Get the field information for the layer
- */
-    std::vector<QgsField> const & fields() const;
-
-  /* Reset the layer (ie move the file pointer to the head
-     of the file.
+   * Number of attribute fields for a feature in the layer
    */
-  void reset();
+  virtual uint fieldCount() const;
+    
+  /**
+   * Return a map of indexes with field names for this layer
+   * @return map of fields
+   */
+  virtual const QgsFieldMap & fields() const;
 
- /**Returns the minimum value of an attribute
-    @param position the number of the attribute*/
-  QString minValue(int position);
+  /** Restart reading features from previous select operation */
+  virtual void reset();
 
- /**Returns the maximum value of an attribute
-    @param position the number of the attribute*/
-  QString maxValue(int position);
+  /** Returns a bitmask containing the supported capabilities
+      Note, some capabilities may change depending on whether
+      a spatial filter is active on this provider, so it may
+      be prudent to check this value per intended operation.
+   */
+  virtual int capabilities() const;
 
- /**Returns true if this is a valid delimited file
- */
-  bool isValid();
+  
+  /* Implementation of functions from QgsDataProvider */
+  
+  /** return a provider name
 
- /**
-  * Check to see if the point is withn the selection
-  * rectangle
-  * @param x X value of point
-  * @param y Y value of point
-  * @return True if point is within the rectangle
-  */
-  bool boundsCheck(double x, double y);
-
-  int capabilities() const;
-
-  //! Save the layer as a shapefile
-  bool saveAsShapefile();
-
-  QgsDataSourceURI *getURI()
-  {
-    return 0;
-  };
-  /** The delimited text provider does not do its own transforms so we return
-     * false for the following three functions to indicate that transforms
-     * should be handled by the QgsCoordinateTransform object. See the
-     * documentation on QgsVectorDataProvider for details on these functions.
-     */
-    bool supportsNativeTransform(){return false;}
-    bool usesSrid(){return false;}
-    bool usesWKT(){return false;}
-
-      /** return a provider name
-
       Essentially just returns the provider key.  Should be used to build file
       dialogs so that providers can be shown with their supported types. Thus
       if more than one provider supports a given format, the user is able to
       select a specific provider to open that file.
-
+    
       @note
-
+    
       Instead of being pure virtual, might be better to generalize this
       behavior and presume that none of the sub-classes are going to do
       anything strange with regards to their name or description?
+   */
+  QString name() const;
 
-      */
-    QString name() const;
+  /** return description
 
-
-    /** return description
-
       Return a terse string describing what the provider is.
-
+    
       @note
-
+    
       Instead of being pure virtual, might be better to generalize this
       behavior and presume that none of the sub-classes are going to do
       anything strange with regards to their name or description?
+   */
+  QString description() const;
 
-     */
-    QString description() const;
+  /**
+   * Return the extent for this data layer
+   */
+  virtual QgsRect extent();
 
+  /**
+   * Returns true if this is a valid delimited file
+   */
+  bool isValid();
 
+  virtual QgsSpatialRefSys getSRS();
 
+  /* new functions */
+ 
+  /**
+   * Check to see if the point is withn the selection
+   * rectangle
+   * @param x X value of point
+   * @param y Y value of point
+   * @return True if point is within the rectangle
+  */
+  bool boundsCheck(double x, double y);
 
-private:
+ 
 
-  /** get the next feature, if any
 
-    mFile should be open with the file pointer at the record of the next
-    feature, or EOF.  The feature found on the current line is parsed.
 
-    @param feature the feature object to be populated with next feature
-    @param getAttributes is true if you want to get the feature attributes, too
-    
-    @param desiredAttributes attributes fields to be collected for the feature
-                             as denoted by their position
+private:
 
-    @return false if unable to get the next feature
-  */
-  bool getNextFeature_( QgsFeature & feature, 
-                        bool getAttributes, 
-                        std::list<int> const * desiredAttributes = 0 );
-
-  void fillMinMaxCash();
-
-  int *getFieldLengths();
-
   //! Fields
-  std::vector < QgsField > attributeFields;
+  QgsFieldMap attributeFields;
+  
+  QgsAttributeList mAttributesToFetch;
 
-  //! Map to store field position by name
-  std::map < QString, int >fieldPositions;
-
   QString mFileName;
   QString mDelimiter;
-  QString mXField;
-  QString mYField;
+  
+  int mXFieldIndex;
+  int mYFieldIndex;
 
   //! Layer extent
-  QgsRect *mExtent;
+  QgsRect mExtent;
 
   //! Current selection rectangle
 
-  QgsRect *mSelectionRectangle;
+  QgsRect mSelectionRectangle;
 
   //! Text file
   QFile *mFile;
@@ -323,15 +209,6 @@
   //! Feature id
   long mFid;
 
-  /**Flag indicating, if the minmaxcache should be renewed (true) or not (false)*/
-  bool mMinMaxCacheDirty;
-
-  /**Matrix storing the minimum and maximum values*/
-  double **mMinMaxCache;
-
-  /**Fills the cash and sets minmaxcachedirty to false*/
-  void mFillMinMaxCash();
-
   struct wkbPoint
   {
     unsigned char byteOrder;

Added: packages/qgis/branches/upstream/current/src/providers/gpx/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+*.lo
+*.la
+Makefile.in
+Makefile
+.libs
+.deps
+

Modified: packages/qgis/branches/upstream/current/src/providers/gpx/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,11 +10,8 @@
 
 INCLUDE_DIRECTORIES(
   ../../core
-  ../../gui
-  ${CMAKE_CURRENT_BINARY_DIR}/../../ui
   ${GEOS_INCLUDE_DIR}
   ${EXPAT_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
 )
 
 ADD_LIBRARY(gpxprovider MODULE ${OGR_SRCS})
@@ -23,7 +20,6 @@
   ${QT_LIBRARIES}
   ${GEOS_LIBRARY}
   ${EXPAT_LIBRARY}
-  ${GDAL_LIBRARIES}
   qgis_core
 )
 

Deleted: packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,20 +0,0 @@
-## $Id: Makefile.am 5315 2006-04-19 16:23:02Z mhugent $
-
-if HAVE_EXPAT
-
-INCLUDES = -I../../core -I../../gui
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = gpxprovider.la 
-
-gpxprovider_la_SOURCES = qgsgpxprovider.cpp		\
-	gpsdata.cpp
-
-
-gpxprovider_la_LIBADD = $(QT_LDADD) $(GEOS_LDADD) ../../core/libqgis_core.la -lexpat
-gpxprovider_la_LDFLAGS = -avoid-version -module
-gpxprovider_la_CXXFLAGS = $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(GDAL_CFLAGS)
-
-EXTRA_DIST = qgsgpxprovider.h gpsdata.h
-
-endif

Deleted: packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,30 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-PROVIDER = .libs/gpxprovider.dll
-
-all: objects $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile
-
-$(PROVIDER): .libs/gpxprovider.a
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/gpxprovider.a \
-		-Wl,--no-whole-archive \
-			$(CORE_A) $(GUI_A) $(CORE_A) \
-			$(RASTER_A) $(PROJSEL_A) $(LEGEND_A) \
-			$(GUI_A) $(CORE_A) $(COMPOSER_A) $(GUI_A) \
-			-lgdal -lgeos -lsqlite3 -lproj -lexpat \
-                        $(QT_LDADD) \
-                        -lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 .libs/gpxprovider.dll $(prefix)/lib/qgis/gpxprovider.dll
-
-include ../../../Makefile.win.rules

Modified: packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -21,6 +21,7 @@
 #include <QFile>
 #include <QTextStream>
 #include <QObject>
+#include <QSet>
 
 #include "gpsdata.h"
 #include <qgslogger.h>
@@ -136,8 +137,8 @@
 }
 
 
-QgsRect* GPSData::getExtent() const {
-  return new QgsRect(xMin, yMin, xMax, yMax);
+QgsRect GPSData::getExtent() const {
+  return QgsRect(xMin, yMin, xMax, yMax);
 }
 
 void GPSData::setNoDataExtent() {
@@ -253,10 +254,10 @@
 }
 
 
-void GPSData::removeWaypoints(std::list<int> const & ids) {
-  std::list<int> ids2 = ids;
-  ids2.sort();
-  std::list<int>::const_iterator iter = ids2.begin();
+void GPSData::removeWaypoints(const QgsFeatureIds & ids) {
+  QList<int> ids2 = ids.toList();
+  qSort(ids2);
+  QList<int>::const_iterator iter = ids2.begin();
   WaypointIterator wIter;
   for (wIter = waypoints.begin(); 
        wIter != waypoints.end() && iter != ids2.end(); ) {
@@ -271,10 +272,10 @@
 }
   
 
-void GPSData::removeRoutes(std::list<int> const & ids) {
-  std::list<int> ids2 = ids;
-  ids2.sort();
-  std::list<int>::const_iterator iter = ids2.begin();
+void GPSData::removeRoutes(const QgsFeatureIds & ids) {
+  QList<int> ids2 = ids.toList();
+  qSort(ids2);
+  QList<int>::const_iterator iter = ids2.begin();
   RouteIterator rIter;
   for (rIter = routes.begin(); rIter != routes.end() && iter != ids2.end(); ) {
     RouteIterator tmpIter = rIter;
@@ -288,10 +289,10 @@
 }
   
 
-void GPSData::removeTracks(std::list<int> const & ids) {
-  std::list<int> ids2 = ids;
-  ids2.sort();
-  std::list<int>::const_iterator iter = ids2.begin();
+void GPSData::removeTracks(const QgsFeatureIds & ids) {
+  QList<int> ids2 = ids.toList();
+  qSort(ids2);
+  QList<int>::const_iterator iter = ids2.begin();
   TrackIterator tIter;
   for (tIter = tracks.begin(); tIter != tracks.end() && iter != ids2.end(); ) {
     TrackIterator tmpIter = tIter;

Modified: packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/gpsdata.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -32,12 +32,22 @@
 
 #include "qgsrect.h"
 
+// workaround for MSVC compiler which already has defined macro max
+// that interferes with calling std::numeric_limits<int>::max
+#ifdef _MSC_VER
+# ifdef max(x,y)
+#  undef max(x,y)
+# endif
+#endif
 
+typedef QSet<int> QgsFeatureIds;
+
 /** This is the parent class for all GPS data classes (except tracksegment).
     It contains the variables that all GPS objects can have.
 */
 class GPSObject {
  public:
+  virtual ~GPSObject() {};
   QString xmlify(const QString& str);
   virtual void writeXML(QTextStream& stream);
   QString name, cmt, desc, src, url, urlname;
@@ -131,7 +141,7 @@
   /** This function returns a pointer to a dynamically allocated QgsRect
       which is the bounding box for this dataset. You'll have to deallocate it
       yourself. */
-  QgsRect* getExtent() const;
+  QgsRect getExtent() const;
 
   /** Sets a default sensible extent. Only applies when there are no actual data. */
   void setNoDataExtent();
@@ -187,13 +197,13 @@
   TrackIterator addTrack(const Track& trk);
   
   /** This function removes the waypoints whose IDs are in the list. */
-  void removeWaypoints(std::list<int> const & ids);
+  void removeWaypoints(const QgsFeatureIds & ids);
   
   /** This function removes the routes whose IDs are in the list. */
-  void removeRoutes(std::list<int> const & ids);
+  void removeRoutes(const QgsFeatureIds & ids);
   
   /** This function removes the tracks whose IDs are in the list. */
-  void removeTracks(std::list<int> const & ids);
+  void removeTracks(const QgsFeatureIds & ids);
   
   /** This function will write the contents of this GPSData object as XML to
       the given text stream. */

Deleted: packages/qgis/branches/upstream/current/src/providers/gpx/gpx.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/gpx.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/gpx.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,32 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-include(../../../settings.pro)
-TARGET=gpxprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-LIBS += $${GEOSLIBADD}
-LIBS += $${EXPATLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-HEADERS += gpsdata.h qgsgpxprovider.h
-SOURCES += gpsdata.cpp \
-           qgsgpxprovider.cpp 

Modified: packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,10 +16,9 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgpxprovider.cpp 5802 2006-09-10 02:08:13Z g_j_m $ */
+/* $Id: qgsgpxprovider.cpp 6887 2007-04-15 16:37:05Z wonder $ */
 
 #include <algorithm>
-#include <cfloat>
 #include <iostream>
 #include <limits>
 #include <cmath>
@@ -28,19 +27,21 @@
 // debian distros do not include the qapp.h wrapper and the compilation
 // fails. [gsherman]
 #include <QApplication>
-
 #include <QFile>
 #include <QTextStream>
 #include <QObject>
 
 #include "qgis.h"
+#include "qgsapplication.h"
 #include "qgsdataprovider.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
+#include "qgsgeometry.h"
+#include "qgsspatialrefsys.h"
 #include "qgsrect.h"
 #include "qgsgpxprovider.h"
 #include "gpsdata.h"
-#include <qgslogger.h>
+#include "qgslogger.h"
 
 #ifdef WIN32
 #define QGISEXTERN extern "C" __declspec( dllexport )
@@ -59,10 +60,8 @@
 const QString GPX_DESCRIPTION = QObject::tr("GPS eXchange format provider");
 
 
-QgsGPXProvider::QgsGPXProvider(QString const & uri) : 
-        QgsVectorDataProvider(uri),
-        mEditable(false),
-        mMinMaxCacheDirty(true)
+QgsGPXProvider::QgsGPXProvider(QString uri) : 
+        QgsVectorDataProvider(uri)
 {
   // assume that it won't work
   mValid = false;
@@ -81,36 +80,24 @@
 		  (typeStr == "route" ? RouteType : TrackType));
   
   // set up the attributes and the geometry type depending on the feature type
-  attributeFields.push_back(QgsField(attr[NameAttr], "text"));
+  attributeFields[NameAttr] = QgsField(attr[NameAttr], QVariant::String, "text");
   if (mFeatureType == WaypointType) {
-    mGeomType = 1;
-    for (int i = 0; i < 8; ++i)
-      mAllAttributes.push_back(i);
-    attributeFields.push_back(QgsField(attr[EleAttr], "text"));
-    attributeFields.push_back(QgsField(attr[SymAttr], "text"));
+    attributeFields[EleAttr] = QgsField(attr[EleAttr], QVariant::Double, "double");
+    attributeFields[SymAttr] = QgsField(attr[SymAttr], QVariant::String, "text");
   }
   else if (mFeatureType == RouteType || mFeatureType == TrackType) {
-    mGeomType = 2;
-    for (int i = 0; i < 8; ++i)
-      mAllAttributes.push_back(i);
-    attributeFields.push_back(QgsField(attr[NumAttr], "text"));
+    attributeFields[NumAttr] = QgsField(attr[NumAttr], QVariant::Int, "int");
   }
-  attributeFields.push_back(QgsField(attr[CmtAttr], "text"));
-  attributeFields.push_back(QgsField(attr[DscAttr], "text"));
-  attributeFields.push_back(QgsField(attr[SrcAttr], "text"));
-  attributeFields.push_back(QgsField(attr[URLAttr], "text"));
-  attributeFields.push_back(QgsField(attr[URLNameAttr], "text"));
+  attributeFields[CmtAttr] = QgsField(attr[CmtAttr], QVariant::String, "text");
+  attributeFields[DscAttr] = QgsField(attr[DscAttr], QVariant::String, "text");
+  attributeFields[SrcAttr] = QgsField(attr[SrcAttr], QVariant::String, "text");
+  attributeFields[URLAttr] = QgsField(attr[URLAttr], QVariant::String, "text");
+  attributeFields[URLNameAttr] = QgsField(attr[URLNameAttr], QVariant::String, "text");
   mFileName = uri.left(fileNameEnd);
 
   // set the selection rectangle to null
   mSelectionRectangle = 0;
   
-  // resize the cache matrix
-  mMinMaxCache=new double*[attributeFields.size()];
-  for(int i=0;i<attributeFields.size();i++) {
-    mMinMaxCache[i]=new double[2];
-  }
-
   // parse the file
   data = GPSData::getData(mFileName);
   if (data == 0) {
@@ -121,324 +108,264 @@
 }
 
 
-QgsGPXProvider::~QgsGPXProvider() {
-  for(int i=0;i<fieldCount();i++) {
-    delete mMinMaxCache[i];
-  }
-  delete[] mMinMaxCache;
+QgsGPXProvider::~QgsGPXProvider()
+{
   GPSData::releaseData(mFileName);
 }
 
 
-QString QgsGPXProvider::storageType()
+QString QgsGPXProvider::storageType() const
 {
   return tr("GPS eXchange file");
 }
 
-
-QString QgsGPXProvider::getProjectionWKT() {
-  return 
-    "GEOGCS[\"WGS 84\", "
-    "  DATUM[\"WGS_1984\", "
-    "    SPHEROID[\"WGS 84\",6378137,298.257223563, "
-    "      AUTHORITY[\"EPSG\",7030]], "
-    "    TOWGS84[0,0,0,0,0,0,0], "
-    "    AUTHORITY[\"EPSG\",6326]], "
-    "  PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",8901]], "
-    "  UNIT[\"DMSH\",0.0174532925199433,AUTHORITY[\"EPSG\",9108]], "
-    "  AXIS[\"Lat\",NORTH], "
-    "  AXIS[\"Long\",EAST], "
-    "  AUTHORITY[\"EPSG\",4326]]";
+int QgsGPXProvider::capabilities() const
+{
+  return QgsVectorDataProvider::AddFeatures |
+         QgsVectorDataProvider::DeleteFeatures |
+         QgsVectorDataProvider::ChangeAttributeValues;
 }
 
-
-/**
- * Get the first feature resulting from a select operation
- * @return QgsFeature
- */
-QgsFeature *QgsGPXProvider::getFirstFeature(bool fetchAttributes) {
-  reset();
-  return getNextFeature(fetchAttributes);
-}
-
-
-/**
- * Get the next feature resulting from a select operation
- * Return 0 if there are no features in the selection set
- * @return QgsFeature
- */
-bool QgsGPXProvider::getNextFeature(QgsFeature &feature, bool fetchAttributes){
-  return false;
-}
-
-
-/**
- * Get the next feature resulting from a select operation
- * Return 0 if there are no features in the selection set
- * @return QgsFeature
- */
-QgsFeature *QgsGPXProvider::getNextFeature(bool fetchAttributes) {
-  QgsFeature* feature = new QgsFeature(-1);
-  bool success;
-  if (fetchAttributes)
-    success = getNextFeature(feature, mAllAttributes);
-  else {
-    std::list<int> emptyList;
-    success = getNextFeature(feature, emptyList);
-  }
-  if (success)
-    return feature;
-  delete feature;
-  return NULL;
-}
-
-
-QgsFeature * QgsGPXProvider::getNextFeature(std::list<int> const & attlist, int featureQueueSize) {
-  QgsFeature* feature = new QgsFeature(-1);
-  bool success = getNextFeature(feature, attlist);
-  if (success)
-    return feature;
-  delete feature;
-  return NULL;
-}
-
-
-bool QgsGPXProvider::getNextFeature(QgsFeature* feature, 
-				    std::list<int> const & attlist) {
+bool QgsGPXProvider::getNextFeature(QgsFeature& feature)
+{
   bool result = false;
   
-  std::list<int>::const_iterator iter;
+  QgsAttributeList::const_iterator iter;
   
-  if (mFeatureType == WaypointType) {
-    // go through the list of waypoints and return the first one that is in
-    // the bounds rectangle
-    for (; mWptIter != data->waypointsEnd(); ++mWptIter) {
-      const Waypoint* wpt;
-      wpt = &(*mWptIter);
-      if (boundsCheck(wpt->lon, wpt->lat)) {
-	feature->setFeatureId(wpt->id);
-	result = true;
+  if (mFeatureType == WaypointType) 
+    {
+      // go through the list of waypoints and return the first one that is in
+      // the bounds rectangle
+      for (; mWptIter != data->waypointsEnd(); ++mWptIter) 
+	{
+	  const Waypoint* wpt;
+	  wpt = &(*mWptIter);
+	  if (boundsCheck(wpt->lon, wpt->lat)) 
+	    {
+	      feature.setFeatureId(wpt->id);
+	      result = true;
+	      
+	      // some wkb voodoo
+	      if(mFetchGeom)
+		{
+		  char* geo = new char[21];
+		  std::memset(geo, 0, 21);
+		  geo[0] = QgsApplication::endian();
+		  geo[geo[0] == QgsApplication::NDR ? 1 : 4] = QGis::WKBPoint;
+		  std::memcpy(geo+5, &wpt->lon, sizeof(double));
+		  std::memcpy(geo+13, &wpt->lat, sizeof(double));
+		  feature.setGeometryAndOwnership((unsigned char *)geo, sizeof(wkbPoint));
+		}
+	      feature.setValid(true);
 	
-	// some wkb voodoo
-	char* geo = new char[21];
-	std::memset(geo, 0, 21);
-	geo[0] = endian();
-	geo[geo[0] == NDR ? 1 : 4] = QGis::WKBPoint;
-	std::memcpy(geo+5, &wpt->lon, sizeof(double));
-	std::memcpy(geo+13, &wpt->lat, sizeof(double));
-	feature->setGeometryAndOwnership((unsigned char *)geo, sizeof(wkbPoint));
-	feature->setValid(true);
-	
-	// add attributes if they are wanted
-	for (iter = attlist.begin(); iter != attlist.end(); ++iter) {
-	  switch (*iter) {
-	  case 0:
-	    feature->addAttribute(attr[NameAttr], wpt->name);
-	    break;
-	  case 1:
-	    if (wpt->ele == -std::numeric_limits<double>::max())
-	      feature->addAttribute(attr[EleAttr], "");
-	    else
-	      feature->addAttribute(attr[EleAttr], QString("%1").arg(wpt->ele));
-	    break;
-	  case 2:
-	    feature->addAttribute(attr[SymAttr], wpt->sym);
-	    break;
-	  case 3:
-	    feature->addAttribute(attr[CmtAttr], wpt->cmt);
-	    break;
-	  case 4:
-	    feature->addAttribute(attr[DscAttr], wpt->desc);
-	    break;
-	  case 5:
-	    feature->addAttribute(attr[SrcAttr], wpt->src);
-	    break;
-	  case 6:
-	    feature->addAttribute(attr[URLAttr], wpt->url);
-	    break;
-	  case 7:
-	    feature->addAttribute(attr[URLNameAttr], wpt->urlname);
-	    break;
-	  }
+        // add attributes if they are wanted
+	      for (iter = mAttributesToFetch.begin(); iter != mAttributesToFetch.end(); ++iter) 
+		{
+		  switch (*iter) 
+		    {
+        case NameAttr:
+          feature.addAttribute(NameAttr, QVariant(wpt->name));
+		      break;
+        case EleAttr:
+		      if (wpt->ele != -std::numeric_limits<double>::max())
+            feature.addAttribute(EleAttr, QVariant(wpt->ele));
+		      break;
+		    case SymAttr:
+          feature.addAttribute(SymAttr, QVariant(wpt->sym));
+		      break;
+        case CmtAttr:
+          feature.addAttribute(CmtAttr, QVariant(wpt->cmt));
+		      break;
+		    case DscAttr:
+          feature.addAttribute(DscAttr, QVariant(wpt->desc));
+		      break;
+		    case SrcAttr:
+          feature.addAttribute(SrcAttr, QVariant(wpt->src));
+		      break;
+		    case URLAttr:
+          feature.addAttribute(URLAttr, QVariant(wpt->url));
+		      break;
+		    case URLNameAttr:
+          feature.addAttribute(URLNameAttr, QVariant(wpt->urlname));
+		      break;
+		    }
+		}
+	      
+	      ++mWptIter;
+	      break;
+	    }
 	}
-	
-	++mWptIter;
-	break;
-      }
     }
-  }
   
-  else if (mFeatureType == RouteType) {
-    // go through the routes and return the first one that is in the bounds
-    // rectangle
-    for (; mRteIter != data->routesEnd(); ++mRteIter) {
-      const Route* rte;
-      rte = &(*mRteIter);
-      
-      if (rte->points.size() == 0)
-	continue;
-      const QgsRect& b(*mSelectionRectangle);
-      if ((rte->xMax >= b.xMin()) && (rte->xMin <= b.xMax()) &&
-	  (rte->yMax >= b.yMin()) && (rte->yMin <= b.yMax())) {
-	feature->setFeatureId(rte->id);
-	result = true;
-	
-	// some wkb voodoo
-	int nPoints = rte->points.size();
-	char* geo = new char[9 + 16 * nPoints];
-	std::memset(geo, 0, 9 + 16 * nPoints);
-	geo[0] = endian();
-	geo[geo[0] == NDR ? 1 : 4] = QGis::WKBLineString;
-	std::memcpy(geo + 5, &nPoints, 4);
-	for (int i = 0; i < rte->points.size(); ++i) {
-	  std::memcpy(geo + 9 + 16 * i, &rte->points[i].lon, sizeof(double));
-	  std::memcpy(geo + 9 + 16 * i + 8, &rte->points[i].lat, sizeof(double));
-	}
-	feature->setGeometryAndOwnership((unsigned char *)geo, 9 + 16 * nPoints);
-	feature->setValid(true);
-	
-	// add attributes if they are wanted
-	for (iter = attlist.begin(); iter != attlist.end(); ++iter) {
-	  if (*iter == 0)
-	    feature->addAttribute(attr[NameAttr], rte->name);
-	  else if (*iter == 1) {
-	    if (rte->number == std::numeric_limits<int>::max())
-	      feature->addAttribute(attr[NumAttr], "");
-	    else
-	      feature->addAttribute(attr[NumAttr], QString("%1").arg(rte->number));
+  else if (mFeatureType == RouteType) 
+    {
+      // go through the routes and return the first one that is in the bounds
+      // rectangle
+      for (; mRteIter != data->routesEnd(); ++mRteIter) 
+	{
+	  const Route* rte;
+	  rte = &(*mRteIter);
+	  
+	  if (rte->points.size() == 0)
+	    continue;
+	  const QgsRect& b(*mSelectionRectangle);
+	  if ((rte->xMax >= b.xMin()) && (rte->xMin <= b.xMax()) &&
+	      (rte->yMax >= b.yMin()) && (rte->yMin <= b.yMax())) {
+	    feature.setFeatureId(rte->id);
+	    result = true;
+	    
+	    // some wkb voodoo
+	    if(mFetchGeom)
+	      {
+		int nPoints = rte->points.size();
+		char* geo = new char[9 + 16 * nPoints];
+		std::memset(geo, 0, 9 + 16 * nPoints);
+		geo[0] = QgsApplication::endian();
+		geo[geo[0] == QgsApplication::NDR ? 1 : 4] = QGis::WKBLineString;
+		std::memcpy(geo + 5, &nPoints, 4);
+		for (uint i = 0; i < rte->points.size(); ++i) {
+		  std::memcpy(geo + 9 + 16 * i, &rte->points[i].lon, sizeof(double));
+		  std::memcpy(geo + 9 + 16 * i + 8, &rte->points[i].lat, sizeof(double));
+		}
+		feature.setGeometryAndOwnership((unsigned char *)geo, 9 + 16 * nPoints);
+	      }
+	    feature.setValid(true);
+	    
+	    // add attributes if they are wanted
+	    for (iter = mAttributesToFetch.begin(); iter != mAttributesToFetch.end(); ++iter) 
+      {
+        switch (*iter)
+        {
+          case NameAttr:
+            feature.addAttribute(NameAttr, QVariant(rte->name));
+            break;
+          case NumAttr:
+            if (rte->number != std::numeric_limits<int>::max())
+              feature.addAttribute(NumAttr, QVariant(rte->number));
+            break;
+          case CmtAttr:
+            feature.addAttribute(CmtAttr, QVariant(rte->cmt));
+            break;
+          case DscAttr:
+            feature.addAttribute(DscAttr, QVariant(rte->desc));
+            break;
+          case SrcAttr:
+            feature.addAttribute(SrcAttr, QVariant(rte->src));
+            break;
+          case URLAttr:
+            feature.addAttribute(URLAttr, QVariant(rte->url));
+            break;
+          case URLNameAttr:
+            feature.addAttribute(URLNameAttr, QVariant(rte->urlname));
+            break;
+        }
+      }
+	    
+	    ++mRteIter;
+	    break;
 	  }
-	  else if (*iter == 2)
-	    feature->addAttribute(attr[CmtAttr], rte->cmt);
-	  else if (*iter == 3)
-	    feature->addAttribute(attr[DscAttr], rte->desc);
-	  else if (*iter == 4)
-	    feature->addAttribute(attr[SrcAttr], rte->src);
-	  else if (*iter == 5)
-	    feature->addAttribute(attr[URLAttr], rte->url);
-	  else if (*iter == 6)
-	    feature->addAttribute(attr[URLNameAttr], rte->urlname);
 	}
-	
-	++mRteIter;
-	break;
-      }
     }
-  }
   
-  else if (mFeatureType == TrackType) {
-    // go through the tracks and return the first one that is in the bounds
-    // rectangle
-    for (; mTrkIter != data->tracksEnd(); ++mTrkIter) {
-      const Track* trk;
-      trk = &(*mTrkIter);
-      
-      if (trk->segments.size() == 0)
-	continue;
-      if (trk->segments[0].points.size() == 0)
-	continue;
-      const QgsRect& b(*mSelectionRectangle);
-      if ((trk->xMax >= b.xMin()) && (trk->xMin <= b.xMax()) &&
-	  (trk->yMax >= b.yMin()) && (trk->yMin <= b.yMax())) {
-	feature->setFeatureId(trk->id);
-	result = true;
-	
-	// some wkb voodoo
-	int nPoints = trk->segments[0].points.size();
-	char* geo = new char[9 + 16 * nPoints];
-	std::memset(geo, 0, 9 + 16 * nPoints);
-	geo[0] = endian();
-	geo[geo[0] == NDR ? 1 : 4] = QGis::WKBLineString;
-	std::memcpy(geo + 5, &nPoints, 4);
-	for (int i = 0; i < nPoints; ++i) {
-	  std::memcpy(geo + 9 + 16 * i, &trk->segments[0].points[i].lon, sizeof(double));
-	  std::memcpy(geo + 9 + 16 * i + 8, &trk->segments[0].points[i].lat, sizeof(double));
-	}
-	feature->setGeometryAndOwnership((unsigned char *)geo, 9 + 16 * nPoints);
-	feature->setValid(true);
-	
-	// add attributes if they are wanted
-	for (iter = attlist.begin(); iter != attlist.end(); ++iter) {
-	  if (*iter == 0)
-	    feature->addAttribute(attr[NameAttr], trk->name);
-	  else if (*iter == 1) {
-	    if (trk->number == std::numeric_limits<int>::max())
-	      feature->addAttribute(attr[NumAttr], "");
-	    else
-	      feature->addAttribute(attr[NumAttr], QString("%1").arg(trk->number));
+  else if (mFeatureType == TrackType) 
+    {
+      // go through the tracks and return the first one that is in the bounds
+      // rectangle
+      for (; mTrkIter != data->tracksEnd(); ++mTrkIter) 
+	{
+	  const Track* trk;
+	  trk = &(*mTrkIter);
+	  
+	  if (trk->segments.size() == 0)
+	    continue;
+	  if (trk->segments[0].points.size() == 0)
+	    continue;
+	  const QgsRect& b(*mSelectionRectangle);
+	  if ((trk->xMax >= b.xMin()) && (trk->xMin <= b.xMax()) &&
+	      (trk->yMax >= b.yMin()) && (trk->yMin <= b.yMax())) {
+	    feature.setFeatureId(trk->id);
+	    result = true;
+	    
+	    // some wkb voodoo
+	    if(mFetchGeom)
+	      {
+		int nPoints = trk->segments[0].points.size();
+		char* geo = new char[9 + 16 * nPoints];
+		std::memset(geo, 0, 9 + 16 * nPoints);
+		geo[0] = QgsApplication::endian();
+		geo[geo[0] == QgsApplication::NDR ? 1 : 4] = QGis::WKBLineString;
+		std::memcpy(geo + 5, &nPoints, 4);
+		for (int i = 0; i < nPoints; ++i) 
+		  {
+		    std::memcpy(geo + 9 + 16 * i, &trk->segments[0].points[i].lon, sizeof(double));
+		    std::memcpy(geo + 9 + 16 * i + 8, &trk->segments[0].points[i].lat, sizeof(double));
+		  }
+		feature.setGeometryAndOwnership((unsigned char *)geo, 9 + 16 * nPoints);
+	      }
+	    feature.setValid(true);
+	    
+	    // add attributes if they are wanted
+	    for (iter = mAttributesToFetch.begin(); iter != mAttributesToFetch.end(); ++iter) 
+      {
+        switch (*iter)
+        {
+          case NameAttr:
+            feature.addAttribute(NameAttr, QVariant(trk->name));
+            break;
+          case NumAttr:
+            if (trk->number != std::numeric_limits<int>::max())
+              feature.addAttribute(NumAttr, QVariant(trk->number));
+            break;
+          case CmtAttr:
+            feature.addAttribute(CmtAttr, QVariant(trk->cmt));
+            break;
+          case DscAttr:
+            feature.addAttribute(DscAttr, QVariant(trk->desc));
+            break;
+          case SrcAttr:
+            feature.addAttribute(SrcAttr, QVariant(trk->src));
+            break;
+          case URLAttr:
+            feature.addAttribute(URLAttr, QVariant(trk->url));
+            break;
+          case URLNameAttr:
+            feature.addAttribute(URLNameAttr, QVariant(trk->urlname));
+            break;
+        }
+      }
+	    
+      ++mTrkIter;
+	    break;
 	  }
-	  else if (*iter == 2)
-	    feature->addAttribute(attr[CmtAttr], trk->cmt);
-	  else if (*iter == 3)
-	    feature->addAttribute(attr[DscAttr], trk->desc);
-	  else if (*iter == 4)
-	    feature->addAttribute(attr[SrcAttr], trk->src);
-	  else if (*iter == 5)
-	    feature->addAttribute(attr[URLAttr], trk->url);
-	  else if (*iter == 6)
-	    feature->addAttribute(attr[URLNameAttr], trk->urlname);
 	}
-	
-	++mTrkIter;
-	break;
-      }
     }
-  }
   return result;
 }
 
-
-/**
- * Select features based on a bounding rectangle. Features can be retrieved
- * with calls to getFirstFeature and getNextFeature.
- * @param mbr QgsRect containing the extent to use in selecting features
- */
-void QgsGPXProvider::select(QgsRect *rect, bool useIntersect) {
+void QgsGPXProvider::select(QgsAttributeList fetchAttributes,
+                            QgsRect rect,
+                            bool fetchGeometry,
+                            bool useIntersect)
+{
+  if(rect.isEmpty())
+    {
+      mSelectionRectangle = new QgsRect(extent());
+    }
+  else
+    {
+      mSelectionRectangle = new QgsRect(rect);
+    }
+  mAttributesToFetch = fetchAttributes;
+  mFetchGeom = fetchGeometry;
   
-  // Setting a spatial filter doesn't make much sense since we have to
-  // compare each point against the rectangle.
-  // We store the rect and use it in getNextFeature to determine if the
-  // feature falls in the selection area
-  mSelectionRectangle = new QgsRect(*rect);
-  // Select implies an upcoming feature read so we reset the data source
   reset();
 }
 
 
-/**
- * Identify features within the search radius specified by rect
- * @param rect Bounding rectangle of search radius
- * @return std::vector containing QgsFeature objects that intersect rect
- */
-std::vector<QgsFeature>& QgsGPXProvider::identify(QgsRect * rect) {
-  // reset the data source since we need to be able to read through
-  // all features
-  reset();
-  QgsLogger::debug("Attempting to identify features falling within " +
-                   rect->stringRep()); 
-  // select the features
-  select(rect);
-  // temporary fix to get this to compile under windows
-  // XXX What the heck is going on here?
-  static std::vector<QgsFeature> features;
-  return features;
-}
 
-
-/*
-   unsigned char * QgsGPXProvider::getGeometryPointer(OGRFeature *fet){
-   unsigned char *gPtr=0;
-// get the wkb representation
-
-//geom->exportToWkb((OGRwkbByteOrder) endian(), gPtr);
-return gPtr;
-
-}
-*/
-
-
-
 // Return the extent of the layer
-QgsRect *QgsGPXProvider::extent() {
+QgsRect QgsGPXProvider::extent()
+{
   return data->getExtent();
 }
 
@@ -446,9 +373,15 @@
 /** 
  * Return the feature type
  */
-int QgsGPXProvider::geometryType() const
+QGis::WKBTYPE QgsGPXProvider::geometryType() const
 {
-  return mGeomType;
+  if (mFeatureType == WaypointType)
+    return QGis::WKBPoint;
+  
+  if (mFeatureType == RouteType || mFeatureType == TrackType)
+    return QGis::WKBLineString;
+  
+  return QGis::WKBUnknown;
 }
 
 
@@ -470,19 +403,20 @@
 /**
  * Return the number of fields
  */
-int QgsGPXProvider::fieldCount() const
+uint QgsGPXProvider::fieldCount() const
 {
   return attributeFields.size();
 }
 
 
-std::vector<QgsField> const & QgsGPXProvider::fields() const
+const QgsFieldMap& QgsGPXProvider::fields() const
 {
   return attributeFields;
 }
 
 
-void QgsGPXProvider::reset() {
+void QgsGPXProvider::reset()
+{
   if (mFeatureType == WaypointType)
     mWptIter = data->waypointsBegin();
   else if (mFeatureType == RouteType)
@@ -492,66 +426,17 @@
 }
 
 
-QString QgsGPXProvider::minValue(int position) {
-  if (position >= fieldCount()) {
-    QgsLogger::warning(tr("Warning: access requested to invalid position "
-                       "in QgsGPXProvider::minValue(..)"));
-  }
-  if (mMinMaxCacheDirty) {
-    fillMinMaxCash();
-  }
-  return QString::number(mMinMaxCache[position][0],'f',2);
-}
-
-
-QString QgsGPXProvider::maxValue(int position) {
-  if (position >= fieldCount()) {
-    QgsLogger::warning(tr("Warning: access requested to invalid position "
-                       "in QgsGPXProvider::maxValue(..)"));
-  }
-  if (mMinMaxCacheDirty) {
-    fillMinMaxCash();
-  }
-  return QString::number(mMinMaxCache[position][1],'f',2);
-}
-
-
-void QgsGPXProvider::fillMinMaxCash() {
-  for(int i=0;i<fieldCount();i++) {
-    mMinMaxCache[i][0]=DBL_MAX;
-    mMinMaxCache[i][1]=-DBL_MAX;
-  }
-
-  QgsFeature f;
-  reset();
-
-  getNextFeature(f, true);
-  do {
-    for(int i=0;i<fieldCount();i++) {
-      double value=(f.attributeMap())[i].fieldValue().toDouble();
-      if(value<mMinMaxCache[i][0]) {
-        mMinMaxCache[i][0]=value;  
-      }  
-      if(value>mMinMaxCache[i][1]) {
-        mMinMaxCache[i][1]=value;  
-      }
-    }
-  } while(getNextFeature(f, true));
-
-  mMinMaxCacheDirty=false;
-}
-
-
-
-bool QgsGPXProvider::isValid(){
+bool QgsGPXProvider::isValid()
+{
   return mValid;
 }
 
 
-bool QgsGPXProvider::addFeatures(std::list<QgsFeature*> flist) {
+bool QgsGPXProvider::addFeatures(QgsFeatureList & flist)
+{
   
   // add all the features
-  for (std::list<QgsFeature*>::const_iterator iter = flist.begin(); 
+  for (QgsFeatureList::iterator iter = flist.begin(); 
        iter != flist.end(); ++iter) {
     if (!addFeature(*iter))
       return false;
@@ -567,14 +452,17 @@
 }
 
 
-bool QgsGPXProvider::addFeature(QgsFeature* f) {
-  unsigned char* geo = f->getGeometry();
+bool QgsGPXProvider::addFeature(QgsFeature& f)
+{
+  unsigned char* geo = f.geometry()->wkbBuffer();
+  QGis::WKBTYPE wkbType = f.geometry()->wkbType();
   bool success = false;
   GPSObject* obj = NULL;
-  const std::vector<QgsFeatureAttribute>& attrs(f->attributeMap());
+  const QgsAttributeMap& attrs(f.attributeMap());
+  QgsAttributeMap::const_iterator it;
   
   // is it a waypoint?
-  if (mFeatureType == WaypointType && geo != NULL && geo[geo[0] == NDR ? 1 : 4] == QGis::WKBPoint) {
+  if (mFeatureType == WaypointType && geo != NULL && wkbType == QGis::WKBPoint) {
     
     // add geometry
     Waypoint wpt;
@@ -582,15 +470,15 @@
     std::memcpy(&wpt.lat, geo+13, sizeof(double));
     
     // add waypoint-specific attributes
-    for (int i = 0; i < attrs.size(); ++i) {
-      if (attrs[i].fieldName() == attr[EleAttr]) {
+    for (it = attrs.begin(); it != attrs.end(); ++it) {
+      if (it.key() == EleAttr) {
 	bool eleIsOK;
-	double ele = attrs[i].fieldValue().toDouble(&eleIsOK);
+	double ele = it->toDouble(&eleIsOK);
 	if (eleIsOK)
 	  wpt.ele = ele;
       }
-      else if (attrs[i].fieldName() == attr[SymAttr]) {
-	wpt.sym = attrs[i].fieldValue();
+      else if (it.key() == SymAttr) {
+	wpt.sym = it->toString();
       }
     }
     
@@ -600,7 +488,7 @@
   }
   
   // is it a route?
-  if (mFeatureType == RouteType && geo != NULL && geo[geo[0] == NDR ? 1 : 4] == QGis::WKBLineString) {
+  if (mFeatureType == RouteType && geo != NULL && wkbType == QGis::WKBLineString) {
 
     Route rte;
     
@@ -628,10 +516,10 @@
     }
     
     // add route-specific attributes
-    for (int i = 0; i < attrs.size(); ++i) {
-      if (attrs[i].fieldName() == attr[NumAttr]) {
+    for (it = attrs.begin(); it != attrs.end(); ++it) {
+      if (it.key() == NumAttr) {
 	bool numIsOK;
-	long num = attrs[i].fieldValue().toLong(&numIsOK);
+	long num = it->toInt(&numIsOK);
 	if (numIsOK)
 	  rte.number = num;
       }
@@ -643,7 +531,7 @@
   }
   
   // is it a track?
-  if (mFeatureType == TrackType && geo != NULL && geo[geo[0] == NDR ? 1 : 4] == QGis::WKBLineString) {
+  if (mFeatureType == TrackType && geo != NULL && wkbType == QGis::WKBLineString) {
 
     Track trk;
     TrackSegment trkseg;
@@ -672,10 +560,10 @@
     }
     
     // add track-specific attributes
-    for (int i = 0; i < attrs.size(); ++i) {
-      if (attrs[i].fieldName() == attr[NumAttr]) {
+    for (it = attrs.begin(); it != attrs.end(); ++it) {
+      if (it.key() == NumAttr) {
 	bool numIsOK;
-	long num = attrs[i].fieldValue().toLong(&numIsOK);
+	long num = it->toInt(&numIsOK);
 	if (numIsOK)
 	  trk.number = num;
       }
@@ -690,24 +578,24 @@
   
   // add common attributes
   if (obj) {
-    for (int i = 0; i < attrs.size(); ++i) {
-      if (attrs[i].fieldName() == attr[NameAttr]) {
-	obj->name = attrs[i].fieldValue();
+    for (it = attrs.begin(); it != attrs.end(); ++it) {
+      if (it.key() == NameAttr) {
+	      obj->name = it->toString();
       }
-      else if (attrs[i].fieldName() == attr[CmtAttr]) {
-	obj->cmt = attrs[i].fieldValue();
+      else if (it.key() == CmtAttr) {
+        obj->cmt = it->toString();
       }
-      else if (attrs[i].fieldName() == attr[DscAttr]) {
-	obj->desc = attrs[i].fieldValue();
+      else if (it.key() ==DscAttr) {
+        obj->desc = it->toString();
       }
-      else if (attrs[i].fieldName() == attr[SrcAttr]) {
-	obj->src = attrs[i].fieldValue();
+      else if (it.key() == SrcAttr) {
+        obj->src = it->toString();
       }
-      else if (attrs[i].fieldName() == attr[URLAttr]) {
-	obj->url = attrs[i].fieldValue();
+      else if (it.key() == URLAttr) {
+        obj->url = it->toString();
       }
-      else if (attrs[i].fieldName() == attr[URLNameAttr]) {
-	obj->urlname = attrs[i].fieldValue();
+      else if (it.key() == URLNameAttr) {
+        obj->urlname = it->toString();
       }
     }
   }
@@ -716,7 +604,8 @@
 }
 
 
-bool QgsGPXProvider::deleteFeatures(std::list<int> const & id) {
+bool QgsGPXProvider::deleteFeatures(const QgsFeatureIds & id)
+{
   if (mFeatureType == WaypointType)
     data->removeWaypoints(id);
   else if (mFeatureType == RouteType)
@@ -734,14 +623,14 @@
 }
 
 
-bool QgsGPXProvider::changeAttributeValues(std::map<int,std::map<QString,QString> > const& attr_map) {
-  std::map<int, std::map<QString, QString> >::const_iterator aIter =
-    attr_map.begin();
+bool QgsGPXProvider::changeAttributeValues(const QgsChangedAttributesMap & attr_map)
+{
+  QgsChangedAttributesMap::const_iterator aIter = attr_map.begin();
   if (mFeatureType == WaypointType) {
     GPSData::WaypointIterator wIter = data->waypointsBegin();
     for (; wIter != data->waypointsEnd() && aIter != attr_map.end(); ++wIter) {
-      if (wIter->id == aIter->first) {
-	changeAttributeValues(*wIter, aIter->second);
+      if (wIter->id == aIter.key()) {
+	changeAttributeValues(*wIter, aIter.value());
 	++aIter;
       }
     }
@@ -749,8 +638,8 @@
   else if (mFeatureType == RouteType) {
     GPSData::RouteIterator rIter = data->routesBegin();
     for (; rIter != data->routesEnd() && aIter != attr_map.end(); ++rIter) {
-      if (rIter->id == aIter->first) {
-	changeAttributeValues(*rIter, aIter->second);
+      if (rIter->id == aIter.key()) {
+	changeAttributeValues(*rIter, aIter.value());
 	++aIter;
       }
     }
@@ -758,8 +647,8 @@
   if (mFeatureType == TrackType) {
     GPSData::TrackIterator tIter = data->tracksBegin();
     for (; tIter != data->tracksEnd() && aIter != attr_map.end(); ++tIter) {
-      if (tIter->id == aIter->first) {
-	changeAttributeValues(*tIter, aIter->second);
+      if (tIter->id == aIter.key()) {
+	changeAttributeValues(*tIter, aIter.value());
 	++aIter;
       }
     }
@@ -775,61 +664,57 @@
 }
 
 
-void QgsGPXProvider::changeAttributeValues(GPSObject& obj, 
-					   const std::map<QString, QString>& attrs) {
-  std::map<QString, QString>::const_iterator aIter;
+void QgsGPXProvider::changeAttributeValues(GPSObject& obj, const QgsAttributeMap& attrs)
+{
+  QgsAttributeMap::const_iterator aIter;
   
-  // common attributes
-  if ((aIter = attrs.find(attr[NameAttr])) != attrs.end())
-    obj.name = aIter->second;
-  if ((aIter = attrs.find(attr[CmtAttr])) != attrs.end())
-    obj.cmt = aIter->second;
-  if ((aIter = attrs.find(attr[DscAttr])) != attrs.end())
-    obj.desc = aIter->second;
-  if ((aIter = attrs.find(attr[SrcAttr])) != attrs.end())
-    obj.src = aIter->second;
-  if ((aIter = attrs.find(attr[URLAttr])) != attrs.end())
-    obj.url = aIter->second;
-  if ((aIter = attrs.find(attr[URLNameAttr])) != attrs.end())
-    obj.urlname = aIter->second;
+  // TODO: 
+  if (attrs.contains(NameAttr))
+    obj.name = attrs[NameAttr].toString();
+  if (attrs.contains(CmtAttr))
+    obj.cmt = attrs[CmtAttr].toString();
+  if (attrs.contains(DscAttr))
+    obj.desc = attrs[DscAttr].toString();
+  if (attrs.contains(SrcAttr))
+    obj.src = attrs[SrcAttr].toString();
+  if (attrs.contains(URLAttr))
+    obj.url = attrs[URLAttr].toString();
+  if (attrs.contains(URLNameAttr))
+    obj.urlname = attrs[URLNameAttr].toString();
   
   // waypoint-specific attributes
   Waypoint* wpt = dynamic_cast<Waypoint*>(&obj);
   if (wpt != NULL) {
-    if ((aIter = attrs.find(attr[SymAttr])) != attrs.end())
-      wpt->sym = aIter->second;
-    if ((aIter = attrs.find(attr[EleAttr])) != attrs.end()) {
+    if (attrs.contains(SymAttr))
+      wpt->sym = attrs[SymAttr].toString();
+    if (attrs.contains(EleAttr))
+    {
       bool eleIsOK;
-      double ele = aIter->second.toDouble(&eleIsOK);
+      double ele = attrs[EleAttr].toDouble(&eleIsOK);
       if (eleIsOK)
-	wpt->ele = ele;
+        wpt->ele = ele;
     }
   }
   
   // route- and track-specific attributes
   GPSExtended* ext = dynamic_cast<GPSExtended*>(&obj);
   if (ext != NULL) {
-    if ((aIter = attrs.find(attr[NumAttr])) != attrs.end()) {
+    if (attrs.contains(NumAttr))
+    {
       bool eleIsOK;
-      int number = aIter->second.toInt(&eleIsOK);
+      double ele = attrs[NumAttr].toDouble(&eleIsOK);
       if (eleIsOK)
-	ext->number = number;
+        wpt->ele = ele;
     }
   }
 }
 
 
-size_t QgsGPXProvider::layerCount() const
+QVariant QgsGPXProvider::getDefaultValue(int fieldId)
 {
-    return 1;                   // XXX need to calculate actual number of layers
-} // QgsGPXProvider::layerCount()
-
-
-
-QString QgsGPXProvider::getDefaultValue(const QString& attr, QgsFeature* f) {
-  if (attr == "source")
+  if (fieldId == SrcAttr)
     return tr("Digitized in QGIS");
-  return "";
+  return QVariant();
 }
 
 
@@ -859,6 +744,10 @@
     return GPX_DESCRIPTION;
 } // QgsGPXProvider::description()
 
+QgsSpatialRefSys QgsGPXProvider::getSRS()
+{
+  return QgsSpatialRefSys(); // use default SRS - it's WGS84
+}
 
 
 

Modified: packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/gpx/qgsgpxprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -17,7 +17,6 @@
  *                                                                         *
  ***************************************************************************/
 
-#include <map>
 
 #include "qgsvectordataprovider.h"
 #include "gpsdata.h"
@@ -36,122 +35,120 @@
 * This provider adds the ability to load GPX files as vector layers.
 * 
 */
-class QgsGPXProvider : public QgsVectorDataProvider {
+class QgsGPXProvider : public QgsVectorDataProvider
+{
+  
 public:
-  QgsGPXProvider(QString const & uri = "");
+  
+  QgsGPXProvider(QString uri = QString());
   virtual ~QgsGPXProvider();
   
+  /* Functions inherited from QgsVectorDataProvider */
+  
   /**
-    *   Returns the permanent storage type for this layer as a friendly name.
-    */
-  QString storageType();
+   *   Returns the permanent storage type for this layer as a friendly name.
+   */
+  virtual QString storageType() const;
 
-  /** Used to ask the layer for its projection as a WKT string. Implements 
-      virtual method of same name in QgsDataProvider. */
-  QString getProjectionWKT();
+  /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+   * @param fetchAttributes list of attributes which should be fetched
+   * @param rect spatial filter
+   * @param fetchGeometry true if the feature geometry should be fetched
+   * @param useIntersect true if an accurate intersection test should be used,
+   *                     false if a test based on bounding box is sufficient
+   */
+  virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                      QgsRect rect = QgsRect(),
+                      bool fetchGeometry = true,
+                      bool useIntersect = false);
+
   /**
-   * Get the first feature resulting from a select operation
-   * @return QgsFeature
+   * Get the next feature resulting from a select operation.
+   * @param feature feature which will receive data from the provider
+   * @return true when there was a feature to fetch, false when end was hit
    */
-  QgsFeature * getFirstFeature(bool fetchAttributes=false);
-  /** 
-  * Get the next feature resutling from a select operation
-  * @return QgsFeature
-  */
-  QgsFeature * getNextFeature(bool fetchAttributes=false);
-  bool getNextFeature(QgsFeature &feature, bool fetchAttributes=false);
-  QgsFeature * getNextFeature(std::list<int> const & attlist, int featureQueueSize = 1);
+  virtual bool getNextFeature(QgsFeature& feature);
   
-  /** Get the feature type. This corresponds to 
-      WKBPoint,
-      WKBLineString,
-      WKBPolygon,
-      WKBMultiPoint,
-      WKBMultiLineString or
-      WKBMultiPolygon
-  * as defined in qgis.h
-  * This provider will always return WKBPoint
-  */
-  int geometryType() const;
-  /** 
-   * Get the number of features in the layer
+  /**
+   * Get feature type.
+   * @return int representing the feature type
    */
-  long featureCount() const;
+  virtual QGis::WKBTYPE geometryType() const;
+
+  /**
+   * Number of features in the layer
+   * @return long containing number of features
+   */
+  virtual long featureCount() const;
+    
   /** 
    * Get the number of fields in the layer
    */
-  int fieldCount() const;
+  virtual uint fieldCount() const;
+
   /**
-   * Select features based on a bounding rectangle. Features can be retrieved 
-   * with calls to getFirstFeature and getNextFeature.
-   * @param mbr QgsRect containing the extent to use in selecting features
+   * Get the field information for the layer
    */
-  void select(QgsRect *mbr, bool useIntersect=false);
-  /** 
-   * Set the data source specification. This may be a path or database
-   * connection string
-   * @uri data source specification
-   */
-  void setDataSourceUri(QString uri);
+  virtual const QgsFieldMap & fields() const;
   
+  /** Restart reading features from previous select operation */
+  virtual void reset();
+    
+  /**
+   * Adds a list of features
+   * @return true in case of success and false in case of failure
+   */
+  virtual bool addFeatures(QgsFeatureList & flist);
+
   /** 
-   * Get the data source specification. This may be a path or database
-   * connection string
-   * @return data source specification
+   * Deletes a feature
+   * @param id list containing feature ids to delete
+   * @return true in case of success and false in case of failure
    */
-  QString getDataSourceUri();
+  virtual bool deleteFeatures(const QgsFeatureIds & id);
   
   /**
-   * Identify features within the search radius specified by rect
-   * @param rect Bounding rectangle of search radius
-   * @return std::vector containing QgsFeature objects that intersect rect
+   * Changes attribute values of existing features.
+   * @param attr_map a map containing changed attributes
+   * @return true in case of success and false in case of failure 
    */
-  virtual std::vector<QgsFeature>& identify(QgsRect *rect);
+  virtual bool changeAttributeValues(const QgsChangedAttributesMap & attr_map);
   
-  /** Return the extent for this data layer
-   */
-  virtual QgsRect * extent();
+  virtual int capabilities() const;
   
   /**
-   * Get the field information for the layer
+   * Returns the default value for field specified by @c fieldId
    */
-  std::vector<QgsField> const & fields() const;
+  virtual QVariant getDefaultValue(int fieldId);
   
-  /* Reset the layer (ie move the file pointer to the head
-     of the file.
-  */
-  void reset();
-    
-  /**Returns the minimum value of an attribute
-     @param position the number of the attribute*/
-  QString minValue(int position);
   
-  /**Returns the maximum value of an attribute
-     @param position the number of the attribute*/
-  QString maxValue(int position);
+  /* Functions inherited from QgsDataProvider */
   
+  /** Return the extent for this data layer
+   */
+  virtual QgsRect extent();
+  
   /**Returns true if this is a valid delimited file
    */
-  bool isValid();
+  virtual bool isValid();
 
-  /**Adds a list of features
-     @return true in case of success and false in case of failure*/
-  bool addFeatures(std::list<QgsFeature*> flist);
+  /** return a provider name */
+  virtual QString name() const;
+
+  /** return description */
+  virtual QString description() const;
+
+  virtual QgsSpatialRefSys getSRS();
   
-  bool deleteFeatures(std::list<int> const & id);
   
-  bool changeAttributeValues(std::map<int,std::map<QString,QString> > const & 
-			     attr_map);
-  
+  /* new functions */
+
   void changeAttributeValues(GPSObject& obj, 
-			     const std::map<QString, QString>& attrs);
+                             const QgsAttributeMap& attrs);
   
   /** Adds one feature (used by addFeatures()) */
-  bool addFeature(QgsFeature* f);
+  bool addFeature(QgsFeature& f);
   
-  /**Returns the default value for attribute @c attr for feature @c f. */
-  QString getDefaultValue(const QString& attr, QgsFeature* f);
-  
   /**
    * Check to see if the point is withn the selection
    * rectangle
@@ -161,69 +158,14 @@
    */
   bool boundsCheck(double x, double y);
 
-  int capabilities() const {
-    return AddFeatures | DeleteFeatures | ChangeAttributeValues;
-  }
-  
-  QgsDataSourceURI *getURI()
-  {
-      return 0;
-  }
 
-  /** return the number of layers for the current data source
-
-  @note 
-
-  Should this be subLayerCount() instead?
-  */
-  size_t layerCount() const;
-
-
-    /** return a provider name
-
-    Essentially just returns the provider key.  Should be used to build file
-    dialogs so that providers can be shown with their supported types. Thus
-    if more than one provider supports a given format, the user is able to
-    select a specific provider to open that file.
-
-    @note
-
-    Instead of being pure virtual, might be better to generalize this
-    behavior and presume that none of the sub-classes are going to do
-    anything strange with regards to their name or description?
-
-    */
-    QString name() const;
-
-
-    /** return description
-
-    Return a terse string describing what the provider is.
-
-    @note
-
-    Instead of being pure virtual, might be better to generalize this
-    behavior and presume that none of the sub-classes are going to do
-    anything strange with regards to their name or description?
-
-    */
-    QString description() const;
-
-  
 private:
   
-  /** Internal function used by the other getNextFeature() functions. */
-  bool getNextFeature(QgsFeature* feature, std::list<int> const & attlist);
-
-  bool mEditable;
   GPSData* data;
-  void fillMinMaxCash();
+  
   //! Fields
-  std::vector<QgsField> attributeFields;
-  std::list<int> mAllAttributes;
-  //! Map to store field position by name
-  std::map<QString, int> fieldPositions;
-
+  QgsFieldMap attributeFields;
+  
   QString mFileName;
 
   enum { WaypointType, RouteType, TrackType } mFeatureType;
@@ -233,7 +175,6 @@
   //! Current selection rectangle
   QgsRect *mSelectionRectangle;
   bool mValid;
-  int mGeomType;
   long mNumberFeatures;
   
   //! Current waypoint iterator
@@ -243,12 +184,6 @@
   //! Current track iterator
   GPSData::TrackIterator mTrkIter;
 
-  /**Flag indicating, if the minmaxcache should be renewed (true) or not (false)*/
-  bool mMinMaxCacheDirty;
-  /**Matrix storing the minimum and maximum values*/
-  double** mMinMaxCache;
-  /**Fills the cash and sets minmaxcachedirty to false*/
-  void mFillMinMaxCash();
   struct wkbPoint{
     char byteOrder;
     unsigned wkbType;

Added: packages/qgis/branches/upstream/current/src/providers/grass/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/grass/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+.deps
+Makefile
+Makefile.in
+*.lo
+*.la
+.libs
+

Modified: packages/qgis/branches/upstream/current/src/providers/grass/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -8,18 +8,24 @@
 
 SET(GRASS_LIB_SRCS qgsgrassprovider.cpp qgsgrass.cpp)
 
+IF (PEDANTIC)
+  MESSAGE("providers/grass : -Werror removed for qgsgrassprovider.cpp for now - please get rid of any compiler warnings!")
+ENDIF (PEDANTIC)
+# The warnings are caused by multiple definitions of NDEBUG in grass sources
+# I have submitted a bug to teh grass folks in the meantime we need to
+# disable treating warnings as errors for the affected files
+SET_SOURCE_FILES_PROPERTIES(qgsgrassprovider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
+SET_SOURCE_FILES_PROPERTIES(qgsgrass.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
+SET_SOURCE_FILES_PROPERTIES(provider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
 
 ########################################################
 # Build
 
 INCLUDE_DIRECTORIES (
   ../../core
-  ../../gui
-  ${CMAKE_CURRENT_BINARY_DIR}/../../ui
   ${GRASS_INCLUDE_DIR}
   ${GDAL_INCLUDE_DIR}
   ${PROJ_INCLUDE_DIR}
-  ${GEOS_INCLUDE_DIR}
 )
 
 ADD_LIBRARY (qgisgrass SHARED ${GRASS_LIB_SRCS})
@@ -27,7 +33,6 @@
 TARGET_LINK_LIBRARIES (qgisgrass
   ${QT_LIBRARIES}
   ${GRASS_LIBRARIES}
-  ${GEOS_LIBRARIES}
   qgis_core
 )
 

Deleted: packages/qgis/branches/upstream/current/src/providers/grass/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-##
-## $Id: Makefile.am 4789 2006-02-01 17:20:27Z rblazek $
-##
-
-INCLUDES = -I../../core -I../../gui
-
-DEFS=-DGRASS_BASE=\"$(GRASS_BASE)\"
-
-lib_LTLIBRARIES = libqgisgrass.la
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = grassprovider.la
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-%.h: %.ui
-	$(UIC) -o $@ $<
-
-%.cpp: %.ui
-	$(UIC) -o $@ -impl $*.h $<
-
-grassprovider_la_SOURCES = provider.cpp \
-			qgsgrassprovider.h
-
-grassprovider_la_LIBADD = $(QT_LDADD) libqgisgrass.la
-grassprovider_la_LDFLAGS = -avoid-version -module
-grassprovider_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) -I$(GRASS_INC) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(GDAL_CFLAGS)
-
-libqgisgrass_la_SOURCES = qgsgrassprovider.cpp \
-			qgsgrassprovider.h \
-			qgsgrass.cpp \
-			qgsgrass.h
-
-libqgisgrass_la_LIBADD = $(QT_LDADD) $(GRASS_LIB) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-libqgisgrass_la_LDFLAGS = -version-info $(INTERFACE_VERSION)
-libqgisgrass_la_CXXFLAGS = $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) -I$(GRASS_INC) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(GDAL_CFLAGS)
-if HAVE_POSTGRESQL
-libqgisgrass_la_CXXFLAGS += -I$(PG_INC)
-endif

Deleted: packages/qgis/branches/upstream/current/src/providers/grass/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,47 +0,0 @@
-QGTOP=../../../
-
-OBJECTS = grassprovider_la-provider.o
-
-GRASS_DLL = .libs/qgis_grass.dll
-
-PROVIDER = .libs/grassprovider.dll
-
-all: objects $(GRASS_DLL) $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile 
-
-$(GRASS_DLL): .libs/libqgisgrass.a
-	$(CXX) -shared -o $(GRASS_DLL) \
-		-Wl,--out-implib=.libs/libqgis_grass.dll.a \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/libqgisgrass.a \
-		-Wl,--no-whole-archive \
-			$(CORE_A) $(GUI_A) $(CORE_A) \
-			-lgeos \
-			$(GRASS_LIB) \
-			$(QT_LDADD) \
-			-lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-$(PROVIDER): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive grassprovider_la-provider.o \
-		-Wl,--no-whole-archive \
-			-L .libs/ -lqgis_grass \
-			.libs/libqgisgrass.a \
-			$(CORE_DLL) $(GUI_DLL) $(CORE_DLL) \
-			$(GRASS_LIB) \
-			$(QT_LDADD) \
-			-lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 $(GRASS_DLL) $(DLLDIR)/qgis_grass.dll
-	$(INSTALL) -m 755 $(PROVIDER) $(prefix)/lib/qgis/grassprovider.dll
-
-include $(QGTOP)/Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/providers/grass/grass.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/grass.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/grass.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,37 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the wfs provider
-#
-
-include(../../../settings.pro)
-TARGET=grassprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-#LIBS += $${GEOSLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${GRASSLIBADD}
-
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgsgrass.h \
-           qgsgrassprovider.h
-SOURCES += provider.cpp \
-           qgsgrass.cpp \ 
-           qgsgrassprovider.cpp 

Modified: packages/qgis/branches/upstream/current/src/providers/grass/provider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/provider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/provider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,12 +18,8 @@
 #include <vector>
 #include <cfloat>
 
-#include <qpixmap.h>
-#include <qicon.h>
-#include <qdir.h>
-#include <qstring.h>
-#include <qdatetime.h>
-#include <qmessagebox.h>
+#include <QString>
+#include <QDateTime>
 
 #include "qgis.h"
 #include "qgsdataprovider.h"

Modified: packages/qgis/branches/upstream/current/src/providers/grass/qgsgrass.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/qgsgrass.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/qgsgrass.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,18 +13,18 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgrass.cpp 6932 2007-05-06 02:47:04Z wonder $ */
+/* $Id: qgsgrass.cpp 6923 2007-05-01 21:34:03Z wonder $ */
 
 #include <iostream>
 
-#include "qstring.h"
+#include "QString"
 #include "q3process.h"
-#include "qfile.h"
-#include "qfileinfo.h"
-#include "qfiledialog.h"
-#include "qdir.h"
-#include "qtextstream.h"
-#include "qsettings.h"
+#include "QFile"
+#include "QFileInfo"
+#include "QFileDialog"
+#include "QDir"
+#include "QTextStream"
+#include "QSettings"
 #include <QMessageBox>
 #include <QCoreApplication>
 #include <QProcess>
@@ -118,12 +118,12 @@
   while ( !(valid = isValidGrassBaseDir(gisBase)) ) {
     
     // ask user if he wants to specify GISBASE
-    int res = QMessageBox::warning(0, QObject::tr("GRASS plugin"),
+    QMessageBox::StandardButton res = QMessageBox::warning(0, QObject::tr("GRASS plugin"),
                     QObject::tr("QGIS couldn't find your GRASS installation.\n"
                     "Would you like to specify path (GISBASE) to your GRASS installation?"),
-                 QMessageBox::Yes, QMessageBox::No);
+                 QMessageBox::Ok | QMessageBox::Cancel);
     
-    if (res != QMessageBox::Yes)
+    if (res != QMessageBox::Ok)
     {
       userGisbase = false;
       break;
@@ -416,13 +416,15 @@
     // TODO better wait 
     while ( process->isRunning () ) { }
 
+#ifndef WIN32
     int status = process->exitStatus ();
-    delete process;
-
 #ifdef QGISDEBUG
     std::cerr << "status = " << status << std::endl;
 #endif
+#endif
+    delete process;
 
+
 // TODO WIN32 (lock.exe does not work properly?)
 #ifndef WIN32
     if ( status > 0 ) return QObject::tr("Mapset is already in use.");
@@ -557,7 +559,7 @@
         if ( mTmp.left(4) == "/tmp" ) 
         {
 	    QDir dir ( mTmp );
-	    for ( int i = 0; i < dir.count(); i++ )
+	    for ( unsigned int i = 0; i < dir.count(); i++ )
 	    {
 		if ( dir[i] == "." || dir[i] == ".." ) continue;
 
@@ -592,7 +594,7 @@
     QDir d = QDir( gisbase );
     d.setFilter(QDir::NoDotAndDotDot|QDir::Dirs);
 
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
         if ( QFile::exists ( gisbase + "/" + d[i] 
 		             + "/PERMANENT/DEFAULT_WIND" ) )
@@ -630,7 +632,7 @@
     QDir d = QDir( locationPath );
     d.setFilter(QDir::NoDotAndDotDot|QDir::Dirs);
 
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
         if ( QFile::exists ( locationPath + "/" + d[i] + "/WIND" ) )
 	{
@@ -691,7 +693,7 @@
     QDir d = QDir( mapsetPath + "/vector" );
     d.setFilter(QDir::NoDotAndDotDot|QDir::Dirs);
 
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
         /*
         if ( QFile::exists ( mapsetPath + "/vector/" + d[i] + "/head" ) )
@@ -756,7 +758,7 @@
     QDir d = QDir( mapsetPath + "/cellhd" );
     d.setFilter(QDir::Files);
 
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
         list.append(d[i]);
     }
@@ -787,7 +789,7 @@
     QDir d = QDir( mapsetPath + "/" + element );
     d.setFilter(QDir::Files);
 
-    for ( int i = 0; i < d.count(); i++ ) 
+    for ( unsigned int i = 0; i < d.count(); i++ ) 
     {
         list.append(d[i]);
     }

Modified: packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -13,28 +13,28 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsgrassprovider.cpp 6293 2006-12-21 18:00:15Z rblazek $ */
+/* $Id: qgsgrassprovider.cpp 7059 2007-07-04 15:43:44Z timlinux $ */
 
 #include <string.h>
 #include <iostream>
 #include <vector>
 #include <cfloat>
 
-#include <qpixmap.h>
-#include <qicon.h>
-#include <qdir.h>
-#include <qstring.h>
-#include <qdatetime.h>
-#include <qmessagebox.h>
-//Added by qt3to4:
 #include <Q3CString>
+#include <QDir>
+#include <QString>
+#include <QDateTime>
+#include <QMessageBox>
+#include <QTextCodec>
 
 #include "qgis.h"
+#include "qgsapplication.h"
 #include "qgsdataprovider.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
+#include "qgslogger.h"
 #include "qgsrect.h"
-#include "qgsfeatureattribute.h"
+#include "qgsspatialrefsys.h"
 
 extern "C" {
 #include <grass/gprojects.h>
@@ -55,7 +55,7 @@
 
 
 
-QgsGrassProvider::QgsGrassProvider(QString const & uri)
+QgsGrassProvider::QgsGrassProvider(QString uri)
     : QgsVectorDataProvider(uri)
 {
 #ifdef QGISDEBUG
@@ -274,94 +274,25 @@
 }
 
 
-QString QgsGrassProvider::storageType()
+QString QgsGrassProvider::storageType() const
 {
   return "GRASS (Geographic Resources Analysis and Support System) file";
 }
 
-
-/**
-* Get the first feature resutling from a select operation
-* @return QgsFeature
-*/
-QgsFeature *QgsGrassProvider::getFirstFeature(bool fetchAttributes)
+bool QgsGrassProvider::getNextFeature(QgsFeature& feature)
 {
-    #ifdef QGISDEBUG
-    std::cout << "QgsGrassProvider::getFirstFeature()" << std::endl;
-    #endif
-
-    if ( isEdited() || isFrozen() || !mValid )
-	return 0;
-    
-    if ( mCidxFieldIndex < 0 ) return 0; // No features, no features in this layer
-
-    mNextCidx = 0;
-	
-    return ( getNextFeature(fetchAttributes) );
-}
-
-/**
-* Get the next feature resulting from a select operation
-* @return false if there are no features in the selection set
-*/
-bool QgsGrassProvider::getNextFeature(QgsFeature &feature, bool fetchAttributes)
-{
-    #if QGISDEBUG > 3
-    std::cout << "QgsGrassProvider::getNextFeature()" << std::endl;
-    #endif
-
-    if ( isEdited() || isFrozen() || !mValid )
-	return 0;
-    
-    if ( mCidxFieldIndex < 0 ) return 0; // No features, no features in this layer
-
-    // TODO once clear how to do that 
-    return false;
-}
-
-/**
-* Get the next feature resulting from a select operation
-* Return 0 if there are no features in the selection set
-* @return QgsFeature
-*/
-QgsFeature *QgsGrassProvider::getNextFeature(bool fetchAttributes)
-{
-    #if QGISDEBUG > 3
-    std::cout << "QgsGrassProvider::getNextFeature() mNextCidx = " << mNextCidx 
-    	      << " fetchAttributes = " << fetchAttributes << std::endl;
-    #endif
-    
-    if ( isEdited() || isFrozen() || !mValid )
-	return 0;
-
-    if ( mCidxFieldIndex < 0 ) return 0; // No features, no features in this layer
-
-    std::list<int> attlist;
-
-    if ( fetchAttributes ) {
-	int fc = fieldCount();
-	for ( int i = 0; i < fc; i++ ) {
-	    attlist.push_back(i);
-	}
-    }
-
-    return ( getNextFeature(attlist) );
-}
-
-QgsFeature* QgsGrassProvider::getNextFeature(std::list<int> const& attlist, int featureQueueSize)
-{
-    int cat, type, id, idx;
+  int cat, type, id;
     unsigned char *wkb;
     int wkbsize;
 
     #if QGISDEBUG > 3
-    std::cout << "QgsGrassProvider::getNextFeature( attlist )" << std::endl;
+    std::cout << "QgsGrassProvider::getNextFeature()" << std::endl;
     #endif
 
     if ( isEdited() || isFrozen() || !mValid )
-	return 0;
+	return false;
     
-    if ( mCidxFieldIndex < 0 ) return 0; // No features, no features in this layer
+    if ( mCidxFieldIndex < 0 ) return false; // No features, no features in this layer
     
     // Get next line/area id
     int found = 0;
@@ -374,12 +305,12 @@
         found = 1;
 	break;
     }
-    if ( !found ) return 0; // No more features
+    if ( !found ) return false; // No more features
     #if QGISDEBUG > 3
     std::cout << "cat = " << cat << " type = " << type << " id = " << id << std::endl;
     #endif
 
-    QgsFeature *f = new QgsFeature(id);
+    feature = QgsFeature(id);
 
     // TODO int may be 64 bits (memcpy)
     if ( type & (GV_POINTS | GV_LINES) ) { /* points or lines */
@@ -393,7 +324,7 @@
 	}	    
 	wkb = new unsigned char[wkbsize];
 	unsigned char *wkbp = wkb;
-	wkbp[0] = (unsigned char) endian();
+	wkbp[0] = (unsigned char) QgsApplication::endian();
 	wkbp += 1;
 
 	/* WKB type */
@@ -417,7 +348,7 @@
 
 	wkbsize = 1+4+4+4+npoints*2*8; // size without islands
 	wkb = new unsigned char[wkbsize];
-	wkb[0] = (unsigned char) endian();
+	wkb[0] = (unsigned char) QgsApplication::endian();
 	int offset = 1;
 
 	/* WKB type */
@@ -458,13 +389,11 @@
 	}
     }
 
-    f->setGeometryAndOwnership(wkb, wkbsize);
+    feature.setGeometryAndOwnership(wkb, wkbsize);
 
-    setFeatureAttributes( mLayerId, cat, f, attlist );  
+    setFeatureAttributes( mLayerId, cat, &feature, mAttributesToFetch);  
     
-    return f;
-
-    return 0;//soon
+    return true;
 }
 
 void QgsGrassProvider::resetSelection( bool sel)
@@ -477,108 +406,108 @@
     mNextCidx = 0;
 }
 
-/**
-* Select features based on a bounding rectangle. Features can be retrieved
-* with calls to getFirstFeature and getNextFeature.
-* @param mbr QgsRect containing the extent to use in selecting features
-*/
-void QgsGrassProvider::select(QgsRect *rect, bool useIntersect)
+void QgsGrassProvider::select(QgsAttributeList fetchAttributes,
+                              QgsRect rect,
+                              bool fetchGeometry,
+                              bool useIntersect)
 {
-    #ifdef QGISDEBUG
-    std::cout << "QgsGrassProvider::select() useIntersect = " << useIntersect << std::endl;
-    #endif
-
-    if ( isEdited() || isFrozen() || !mValid )
+  mAttributesToFetch = fetchAttributes;
+  mFetchGeom = fetchGeometry;
+  
+  if ( isEdited() || isFrozen() || !mValid )
 	return;
 
     // check if outdated and update if necessary
     int mapId = mLayers[mLayerId].mapId;
-    if ( mapOutdated(mapId) ) {
+    if ( mapOutdated(mapId) ) 
+      {
         updateMap ( mapId );
-    }
-    if ( mMapVersion < mMaps[mapId].version ) {
+      }
+    if ( mMapVersion < mMaps[mapId].version ) 
+      {
         update();
-    }
-    if ( attributesOutdated(mapId) ) {
+      }
+    if ( attributesOutdated(mapId) ) 
+      {
 	loadAttributes (mLayers[mLayerId]);
-    }
+      }
 
+    //no selection rectangle - use all features
+    if(rect.isEmpty())
+      {
+	resetSelection(1);
+	return;
+      }
+
+    //apply selection rectangle
     resetSelection(0);
     
-    if ( !useIntersect ) { // select by bounding boxes only
+    if ( !useIntersect ) 
+      { // select by bounding boxes only
 	BOUND_BOX box;
-	box.N = rect->yMax(); box.S = rect->yMin(); 
-	box.E = rect->xMax(); box.W = rect->xMin(); 
+	box.N = rect.yMax(); box.S = rect.yMin(); 
+	box.E = rect.xMax(); box.W = rect.xMin(); 
 	box.T = PORT_DOUBLE_MAX; box.B = -PORT_DOUBLE_MAX; 
-	if ( mLayerType == POINT || mLayerType == CENTROID || mLayerType == LINE || mLayerType == BOUNDARY ) {
+	if ( mLayerType == POINT || mLayerType == CENTROID || mLayerType == LINE || mLayerType == BOUNDARY ) 
+	  {
 	    Vect_select_lines_by_box(mMap, &box, mGrassType, mList);
-	} else if ( mLayerType == POLYGON ) {
+	  } 
+	else if ( mLayerType == POLYGON ) 
+	  {
 	    Vect_select_areas_by_box(mMap, &box, mList);
-	}
-
-    } else { // check intersection
+	  }
+	
+      } 
+    else 
+      { // check intersection
 	struct line_pnts *Polygon;
 	
 	Polygon = Vect_new_line_struct();
-
-	Vect_append_point( Polygon, rect->xMin(), rect->yMin(), 0);
-	Vect_append_point( Polygon, rect->xMax(), rect->yMin(), 0);
-	Vect_append_point( Polygon, rect->xMax(), rect->yMax(), 0);
-	Vect_append_point( Polygon, rect->xMin(), rect->yMax(), 0);
-	Vect_append_point( Polygon, rect->xMin(), rect->yMin(), 0);
-
-	if ( mLayerType == POINT || mLayerType == CENTROID || mLayerType == LINE || mLayerType == BOUNDARY ) {
+	
+	Vect_append_point( Polygon, rect.xMin(), rect.yMin(), 0);
+	Vect_append_point( Polygon, rect.xMax(), rect.yMin(), 0);
+	Vect_append_point( Polygon, rect.xMax(), rect.yMax(), 0);
+	Vect_append_point( Polygon, rect.xMin(), rect.yMax(), 0);
+	Vect_append_point( Polygon, rect.xMin(), rect.yMin(), 0);
+	
+	if ( mLayerType == POINT || mLayerType == CENTROID || mLayerType == LINE || mLayerType == BOUNDARY ) 
+	  {
 	    Vect_select_lines_by_polygon ( mMap, Polygon, 0, NULL, mGrassType, mList);
-	} else if ( mLayerType == POLYGON ) {
+	  } 
+	else if ( mLayerType == POLYGON ) 
+	  {
 	    Vect_select_areas_by_polygon ( mMap, Polygon, 0, NULL, mList);
-	}
-
+	  }
+	
 	Vect_destroy_line_struct (Polygon);
-    }
-    for ( int i = 0; i < mList->n_values; i++ ) {
-        if ( mList->value[i] <= mSelectionSize ) {
+      }
+    for ( int i = 0; i < mList->n_values; i++ ) 
+      {
+        if ( mList->value[i] <= mSelectionSize ) 
+	  {
 	    mSelection[mList->value[i]] = 1;
-	} else {
+	  } 
+	else 
+	  {
 	    std::cerr << "Selected element out of range" << std::endl;
-	}
-    }
-	
-    #ifdef QGISDEBUG
-    std::cout << mList->n_values << " features selected" << std::endl;
-    #endif
+	  }
+      }	
 }
 
 
-/**
-* Identify features within the search radius specified by rect
-* @param rect Bounding rectangle of search radius
-* @return std::vector containing QgsFeature objects that intersect rect
-*/
-std::vector<QgsFeature>& QgsGrassProvider::identify(QgsRect * rect)
-{
-    #ifdef QGISDEBUG
-    std::cout << "QgsGrassProvider::identify()" << std::endl;
-    #endif
 
-    // TODO: does not return vector of features! Should it?
-
-    if ( !isEdited() && !isFrozen() && mValid ) {
-        select(rect, true);
-    }
-}
-
-QgsRect *QgsGrassProvider::extent()
+QgsRect QgsGrassProvider::extent()
 {
     BOUND_BOX box;
     Vect_get_map_box ( mMap, &box );
 
-    return new QgsRect( box.W, box.S, box.E, box.N);
+    return QgsRect( box.W, box.S, box.E, box.N);
 }
 
 /** 
 * Return the feature type
 */
-int QgsGrassProvider::geometryType() const
+QGis::WKBTYPE QgsGrassProvider::geometryType() const
 {
     return mQgisType;
 }
@@ -593,7 +522,7 @@
 /**
 * Return the number of fields
 */
-int QgsGrassProvider::fieldCount() const
+uint QgsGrassProvider::fieldCount() const
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassProvider::fieldCount() return:" << mLayers[mLayerId].fields.size() << std::endl;
@@ -604,7 +533,7 @@
 /**
 * Return fields
 */
-std::vector<QgsField> const & QgsGrassProvider::fields() const
+const QgsFieldMap & QgsGrassProvider::fields() const
 {
       return mLayers[mLayerId].fields;
 }
@@ -630,27 +559,28 @@
 	loadAttributes (mLayers[mLayerId]);
     }
     
-    resetSelection(1);
     mNextCidx = 0;
 }
 
-QString QgsGrassProvider::minValue(int position)
+QVariant QgsGrassProvider::minValue(int index)
 {
-    if ( position >= fieldCount() ) {
-	std::cerr << "Warning: access requested to invalid position in QgsGrassProvider::minValue()" 
-	          << std::endl;
-    }
-    return QString::number( mLayers[mLayerId].minmax[position][0], 'f', 2 );
+  if (!fields().contains(index))
+  {
+    QgsDebugMsg("Warning: access requested to invalid field index: " + QString::number(index));
+    return QVariant();
+  }
+  return QVariant(mLayers[mLayerId].minmax[index][0]);
 }
 
  
-QString QgsGrassProvider::maxValue(int position)
+QVariant QgsGrassProvider::maxValue(int index)
 {
-    if ( position >= fieldCount() ) {
-	std::cerr << "Warning: access requested to invalid position in QgsGrassProvider::maxValue()" 
-	          << std::endl;
-    }
-    return QString::number( mLayers[mLayerId].minmax[position][1], 'f', 2 );
+  if (!fields().contains(index))
+  {
+    QgsDebugMsg("Warning: access requested to invalid field index: " + QString::number(index));
+    return QVariant();
+  }
+  return QVariant(mLayers[mLayerId].minmax[index][1]);
 }
 
 bool QgsGrassProvider::isValid(){
@@ -683,7 +613,7 @@
 
     // Check if this layer is already opened
 
-    for ( int i = 0; i <  mLayers.size(); i++) {
+    for ( unsigned int i = 0; i <  mLayers.size(); i++) {
 	if ( !(mLayers[i].valid) ) continue;
 
 	GMAP *mp = &(mMaps[mLayers[i].mapId]);
@@ -823,6 +753,7 @@
 		    dbColumn *column = db_get_table_column (databaseTable, i);
 
 		    int ctype = db_sqltype_to_Ctype ( db_get_column_sqltype(column) );
+        QVariant::Type qtype = QVariant::String; //default to string
                     #ifdef QGISDEBUG
 		    std::cerr << "column = " << db_get_column_name(column) 
 			      << " ctype = " << ctype << std::endl;
@@ -832,19 +763,23 @@
 		    switch ( ctype ) {
 			case DB_C_TYPE_INT:
 			    ctypeStr = "integer";
+          qtype = QVariant::Int;
 			    break; 
 			case DB_C_TYPE_DOUBLE:
 			    ctypeStr = "double";
+          qtype = QVariant::Double;
 			    break; 
 			case DB_C_TYPE_STRING:
 			    ctypeStr = "string";
+          qtype = QVariant::String;
 			    break; 
 			case DB_C_TYPE_DATETIME:
 			    ctypeStr = "datetime";
+          qtype = QVariant::String;
 			    break; 
 		    }
-		    layer.fields.push_back ( QgsField( db_get_column_name(column), ctypeStr, 
-		                     db_get_column_length(column), db_get_column_precision(column) ) );
+		    layer.fields[i] = QgsField( db_get_column_name(column), qtype, ctypeStr,
+		                     db_get_column_length(column), db_get_column_precision(column) );
 		    
 		    if ( G_strcasecmp ( db_get_column_name(column), layer.fieldInfo->key) == 0 ) {
 			layer.keyColumn = i;
@@ -932,7 +867,7 @@
     // Add cat if no attribute fields exist (otherwise qgis crashes)
     if ( layer.nColumns == 0 ) {
         layer.keyColumn = 0;
-	layer.fields.push_back ( QgsField( "cat", "integer", 10, 0) );
+	layer.fields[0] = ( QgsField( "cat", QVariant::Int, "integer") );
 	layer.minmax = new double[1][2];
 	layer.minmax[0][0] = 0; 
 	layer.minmax[0][1] = 0; 
@@ -976,7 +911,7 @@
         mLayers[layerId].valid = false;
 
 	// Column names/types
-	mLayers[layerId].fields.resize(0);
+	mLayers[layerId].fields.clear();
 	
 	// Attributes
         #ifdef QGISDEBUG
@@ -1006,7 +941,7 @@
     QString tmpPath = gisdbase + "/" + location + "/" + mapset + "/" + mapName;
 
     // Check if this map is already opened
-    for ( int i = 0; i <  mMaps.size(); i++) {
+    for ( unsigned int i = 0; i <  mMaps.size(); i++) {
 	if ( mMaps[i].valid && mMaps[i].path == tmpPath ) 
 	{
 	    // the map is already opened, return map id
@@ -1070,12 +1005,12 @@
 
     if ( level == 1 )
     {
-        int ret = QMessageBox::question ( 0, "Warning",
+        QMessageBox::StandardButton ret = QMessageBox::question ( 0, "Warning",
                       "GRASS vector map " + mapName + 
                       + " does not have topology. Build topology?",
-                      QMessageBox::Yes,  QMessageBox::No );
+                      QMessageBox::Ok | QMessageBox::Cancel );
 
-        if ( ret == QMessageBox::No ) return -1;
+        if ( ret == QMessageBox::Cancel ) return -1;
     }
 
     // Open vector
@@ -1156,7 +1091,7 @@
     std::cerr << "GRASS map successfully reopened for reading." << std::endl;
     #endif
 
-    for ( int i = 0; i <  mLayers.size(); i++) {
+    for ( unsigned int i = 0; i <  mLayers.size(); i++) {
 	// if ( !(mLayers[i].valid) ) continue; // ?
 
 	if  ( mLayers[i].mapId == mapId ) {
@@ -1256,19 +1191,17 @@
 	for (int i = 0; i < mLayers[layerId].nColumns; i++) {
 	    if ( att != NULL ) {
 		Q3CString cstr( att->values[i] );
-		feature->addAttribute ( mLayers[layerId].fields[i].name(), mEncoding->toUnicode(cstr) );
+		feature->addAttribute (i, QVariant(mEncoding->toUnicode(cstr)) );
 	    } else { /* it may happen that attributes are missing -> set to empty string */
-		feature->addAttribute ( mLayers[layerId].fields[i].name(), "");
+		feature->addAttribute (i, QVariant());
 	    }
 	}
     } else { 
-	QString tmp;
-	tmp.sprintf("%d", cat );
-	feature->addAttribute ( "cat", tmp);
+	feature->addAttribute (0, QVariant(cat));
     }
 }
 
-void QgsGrassProvider::setFeatureAttributes ( int layerId, int cat, QgsFeature *feature, std::list<int> const& attlist)
+void QgsGrassProvider::setFeatureAttributes ( int layerId, int cat, QgsFeature *feature, const QgsAttributeList& attlist)
 {
     #if QGISDEBUG > 3
     std::cerr << "setFeatureAttributes cat = " << cat << std::endl;
@@ -1280,18 +1213,16 @@
 	GATT *att = (GATT *) bsearch ( &key, mLayers[layerId].attributes, mLayers[layerId].nAttributes,
 		                       sizeof(GATT), cmpAtt);
 
-	for (std::list<int>::const_iterator iter=attlist.begin(); iter!=attlist.end();++iter) {
+	for (QgsAttributeList::const_iterator iter=attlist.begin(); iter!=attlist.end();++iter) {
 	    if ( att != NULL ) {
 		Q3CString cstr( att->values[*iter] );
-		feature->addAttribute ( mLayers[layerId].fields[*iter].name(), mEncoding->toUnicode(cstr) );
+		feature->addAttribute (*iter, QVariant( mEncoding->toUnicode(cstr) ));
 	    } else { /* it may happen that attributes are missing -> set to empty string */
-		feature->addAttribute ( mLayers[layerId].fields[*iter].name(), "");	
+		feature->addAttribute (*iter, QVariant());
 	    } 
 	}
     } else { 
-	QString tmp;
-	tmp.sprintf("%d", cat );
-	feature->addAttribute ( "cat", tmp);
+	feature->addAttribute (0, QVariant(cat));
     }
 }
 
@@ -1301,7 +1232,8 @@
     return ( mMaps[mLayers[layerId].mapId].map );
 }
 
-QString QgsGrassProvider::getProjectionWKT(void)
+
+QgsSpatialRefSys QgsGrassProvider::getSRS()
 {
     QString WKT;
 
@@ -1317,7 +1249,10 @@
 	free ( wkt);
     }
     
-    return WKT;
+    QgsSpatialRefSys srs;
+    srs.createFromWkt(WKT);
+    
+    return srs;
 }
 
 int QgsGrassProvider::grassLayer()
@@ -1434,7 +1369,7 @@
 {
 #ifdef QGISDEBUG
     std::cerr << "QgsGrassProvider::startEdit" << std::endl;
-    std::cerr << "  uri = " << getDataSourceUri().toLocal8Bit().data() << std::endl;
+    std::cerr << "  uri = " << dataSourceUri().toLocal8Bit().data() << std::endl;
     std::cerr << "  mMaps.size() = " << mMaps.size() << std::endl;
 #endif
 
@@ -1579,7 +1514,7 @@
     #endif
 
     // Reload sources to layers
-    for ( int i = 0; i <  mLayers.size(); i++) {
+    for ( unsigned int i = 0; i <  mLayers.size(); i++) {
 	// if ( !(mLayers[i].valid) ) continue; // ?
 
 	if  ( mLayers[i].mapId == mLayers[mLayerId].mapId ) {
@@ -1896,21 +1831,26 @@
 
 	int ctype = db_sqltype_to_Ctype( db_get_column_sqltype (column) );
 	QString type;
+  QVariant::Type qtype = QVariant::String; //default to string to prevent compiler warnings
 	switch ( ctype ) {
 	    case DB_C_TYPE_INT:
 		type = "int";
+    qtype = QVariant::Int;
 		break;
 	    case DB_C_TYPE_DOUBLE:
 		type = "double";
+    qtype = QVariant::Double;
 		break;
 	    case DB_C_TYPE_STRING:
 		type = "string";
+    qtype = QVariant::String;
 		break;
 	    case DB_C_TYPE_DATETIME:
 		type = "datetime";
+    qtype = QVariant::String;
 		break;
 	}
-        col->push_back ( QgsField( db_get_column_name (column), type, db_get_column_length(column), 0) );
+        col->push_back ( QgsField( db_get_column_name (column), qtype, type, db_get_column_length(column), 0) );
     }
 	
     db_close_database_shutdown_driver ( driver );
@@ -1918,13 +1858,13 @@
     return col;
 }
 
-std::vector<QgsFeatureAttribute> *QgsGrassProvider::attributes ( int field, int cat )
+QgsAttributeMap *QgsGrassProvider::attributes ( int field, int cat )
 {
     #ifdef QGISDEBUG
     std::cerr << "QgsGrassProvider::attributes() field = " << field << " cat = " << cat << std::endl;
     #endif
 
-    std::vector<QgsFeatureAttribute> *att = new std::vector<QgsFeatureAttribute>;
+    QgsAttributeMap *att = new QgsAttributeMap;
 
     struct  field_info *fi = Vect_get_field( mMap, field); // should work also with field = 0
 
@@ -1996,7 +1936,7 @@
 
         QString v = mEncoding->toUnicode(db_get_string(&dbstr));
 	std::cerr << "Value: " << v.toLocal8Bit().data() << std::endl;
-        att->push_back ( QgsFeatureAttribute( db_get_column_name(column), v ) );
+        att->insert(i, QVariant( v ) );
     }
 
     db_close_cursor (&databaseCursor);
@@ -2425,13 +2365,6 @@
     
 
 
-size_t QgsGrassProvider::layerCount() const
-{
-    return 1;                   // XXX how to find how many layers?
-} // QgsGrassProvider::layerCount()
-
-
-
 QString QgsGrassProvider::name() const
 {
     return GRASS_KEY;

Modified: packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/grass/qgsgrassprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -18,7 +18,8 @@
 
 class QgsFeature;
 class QgsField;
-#include <qdatetime.h>
+
+#include <QDateTime>
 #include "qgsvectordataprovider.h"
 
 /* Update.
@@ -70,7 +71,7 @@
   int     nColumns;              // number of columns in database table, if 0, attributes are not available
   // and category (column name 'cat') is used instead
   int     keyColumn;             // number of key column
-  std::vector<QgsField> fields;  // description of layer fields
+  QgsFieldMap fields;  // description of layer fields
   int     nAttributes;           // number of attributes read to the memory (may be < nRecords)
   GATT    *attributes;           // vector of attributes
   double  (*minmax)[2];          // minimum and maximum values of attributes
@@ -111,50 +112,45 @@
 {
 public:
 
-  QgsGrassProvider(QString const & uri = "");
+  QgsGrassProvider(QString uri = QString());
 
   virtual ~QgsGrassProvider();
 
   /**
     *   Returns the permanent storage type for this layer as a friendly name.
     */
-  QString storageType();
+  QString storageType() const;
 
-  /** Used to ask the layer for its projection as a WKT string. Implements
-   * virtual method of same name in QgsDataProvider. */
-  QString getProjectionWKT(void);
+  
+  /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+   *  @param fetchAttributes list of attributes which should be fetched
+   *  @param rect spatial filter
+   *  @param fetchGeometry true if the feature geometry should be fetched
+   *  @param useIntersect true if an accurate intersection test should be used,
+   *                     false if a test based on bounding box is sufficient
+   *
+   * @note This function works only until first edit operation! (category index used)
+   */
+  virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                      QgsRect rect = QgsRect(),
+                      bool fetchGeometry = true,
+                      bool useIntersect = false);
 
-  /* Following functions work only until first edit operation! (category index used) */
-
   /**
-   * Get the first feature resulting from a select operation
-   * @return QgsFeature
+   * Get the next feature resulting from a select operation.
+   * @param feature feature which will receive data from the provider
+   * @return true when there was a feature to fetch, false when end was hit
    */
-  QgsFeature * getFirstFeature(bool fetchAttributes=false);
-
+  virtual bool getNextFeature(QgsFeature& feature);
+  
+  
   /** 
-   * Get the next feature resutling from a select operation
-   * @return QgsFeature
-   */
-  QgsFeature * getNextFeature(bool fetchAttributes=false);
-  bool getNextFeature(QgsFeature &feature, bool fetchAttributes=false);
-  QgsFeature* getNextFeature(std::list<int> const & attlist, int featureQueueSize = 1);
-	
-  /** 
    * Get the feature type as defined in WKBTYPE (qgis.h). 
    * @return int representing the feature type
    */
-  int geometryType() const;
+  QGis::WKBTYPE geometryType() const;
 
-  /** return the number of layers for the current data source
 
-    @note 
-
-    Should this be subLayerCount() instead?
-  */
-  size_t layerCount() const;
-
-
   /** 
    * Get the number of features in the layer
    */
@@ -163,47 +159,31 @@
   /** 
    * Get the number of fields in the layer
    */
-  int fieldCount() const;
+  uint fieldCount() const;
 
-  /**
-   * Select features based on a bounding rectangle. Features can be retrieved 
-   * with calls to getFirstFeature and getNextFeature.
-   * @param mbr QgsRect containing the extent to use in selecting features
-   */
-  void select(QgsRect *mbr, bool useIntersect=false);
-
 	
-  /**
-   * Identify features within the search radius specified by rect
-   * @param rect Bounding rectangle of search radius
-   * @return std::vector containing QgsFeature objects that intersect rect
-   */
-  virtual std::vector<QgsFeature>& identify(QgsRect *rect);
-
   /** Return the extent for this data layer
    */
-  virtual QgsRect *extent();
+  virtual QgsRect extent();
 
   /**
    * Get the field information for the layer
    */
-  std::vector<QgsField> const& fields() const;
+  const QgsFieldMap & fields() const;
 
   // ! Key (category) field index
   int keyField();
 	 
-  /* Reset the layer - for an OGRLayer, this means clearing the
-   * spatial filter and calling ResetReading
-   */
+  /** Restart reading features from previous select operation */
   void reset();
 
-  /**Returns the minimum value of an attribut
-     @param position the number of the attribute*/
-  QString minValue(int position);
+  /** Returns the minimum value of an attributs
+   *  @param index the index of the attribute */
+  QVariant minValue(int index);
 
-  /**Returns the maximum value of an attribut
-     @param position the number of the attribute*/
-  QString maxValue(int position);
+  /** Returns the maximum value of an attributs
+   *  @param index the index of the attribute */
+  QVariant maxValue(int index);
 
   /** Update (reload) non static members (marked !UPDATE!) from the static layer and the map.
    *   This method MUST be called whenever lastUpdate of the map is later then mapLastUpdate 
@@ -215,6 +195,8 @@
    */
   bool isValid();
 
+  QgsSpatialRefSys getSRS();
+  
   // ----------------------------------- Edit ----------------------------------
 	
   /** Is the layer editable? I.e. the layer is valid and current user is owner of the mapset
@@ -391,7 +373,7 @@
    *   @param cat
    *   @return vector of attributes
    */
-  std::vector<QgsFeatureAttribute> *attributes ( int field, int cat );
+  QgsAttributeMap *attributes ( int field, int cat );
 
   /** Key (cat) column name 
    *   @param field
@@ -472,8 +454,6 @@
 
   /** Get maximum category for field index */
   int cidxGetMaxCat ( int idx );
-  /** get data source uri (not implemented) */
-  QgsDataSourceURI * getURI(){ return 0;};
   
   /** Returns GRASS layer number */
   int grassLayer();
@@ -541,7 +521,7 @@
   int     mLayerType;     // layer type POINT, LINE, ...
   int     mGrassType;     // grass feature type: GV_POINT, GV_LINE | GV_BOUNDARY, GV_AREA, 
   // ( GV_BOUNDARY, GV_CENTROID )
-  int     mQgisType;      // WKBPoint, WKBLineString, ...
+  QGis::WKBTYPE mQgisType;// WKBPoint, WKBLineString, ...
   int     mLayerId;       // ID used in layers
   struct  Map_info *mMap; // vector header pointer
   int     mMapVersion;    // The version of the map for which the instance was last time updated
@@ -688,7 +668,7 @@
    *  @param cat category number
    *  @param attlist a list containing the index number of the fields to set
    */
-  void setFeatureAttributes ( int layerId, int cat, QgsFeature *feature, std::list<int> const & attlist);
+  void setFeatureAttributes ( int layerId, int cat, QgsFeature *feature, const QgsAttributeList & attlist);
 
   /* Static arrays of opened layers and vectors */
   static 	std::vector<GLAYER> mLayers; // Map + field/attributes

Deleted: packages/qgis/branches/upstream/current/src/providers/mysql/mysql.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/mysql/mysql.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/mysql/mysql.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,12 +0,0 @@
-######################################################################
-# Automatically generated by qmake (2.00a) Sat Jan 7 08:34:57 2006
-######################################################################
-
-TEMPLATE = app
-TARGET += 
-DEPENDPATH += .
-INCLUDEPATH += . /usr/local/mysql/include/mysql ../../src ../..
-LIBS += -lmysqlclient -L/usr/local/mysql/lib/mysql
-CONFIG += qt
-# Input
-SOURCES += testmysql.cpp #qgsmysqlprovider.cpp

Modified: packages/qgis/branches/upstream/current/src/providers/mysql/testmysql.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/mysql/testmysql.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/mysql/testmysql.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     testmysql.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:18:04 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 
 extern "C"{

Added: packages/qgis/branches/upstream/current/src/providers/ogr/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,7 @@
+*.lo
+*.la
+Makefile.in
+Makefile
+.libs
+.deps
+

Deleted: packages/qgis/branches/upstream/current/src/providers/ogr/.indent.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/.indent.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/.indent.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,2 +0,0 @@
--npsl -nbfda -l135 -i2 -ci2 -cbi2 -cp2 -ts2 -cli2 -bl -ce -lp -npcs -nut
-

Modified: packages/qgis/branches/upstream/current/src/providers/ogr/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -4,7 +4,6 @@
 INCLUDE_DIRECTORIES(
   .
   ../../core
-  ../../gui
   ${GDAL_INCLUDE_DIR}
   ${GEOS_INCLUDE_DIR}
 )

Deleted: packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,12 +0,0 @@
-INCLUDES = -I../../core/ -I../../gui
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = ogrprovider.la 
-
-ogrprovider_la_SOURCES = qgsogrprovider.cpp			\
-			 qgsogrprovider.h
-
-ogrprovider_la_LIBADD = $(QT_LDADD)  $(GDAL_LDADD) $(GEOS_LDADD) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-ogrprovider_la_LDFLAGS = -avoid-version -module
-ogrprovider_la_CXXFLAGS := $(GDAL_CFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GEOS_CFLAGS)
-

Deleted: packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,33 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-OBJECTS = ogrprovider_la-qgsogrprovider.o
-
-PROVIDER = .libs/ogrprovider.dll
-
-all: objects $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile
-
-$(PROVIDER): $(OBJECTS)
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive ogrprovider_la-qgsogrprovider.o \
-		-Wl,--enable-runtime-pseudo-reloc \
-		-Wl,--no-whole-archive \
-			$(CORE_DLL) $(GUI_DLL) $(CORE_DLL) \
-			$(RASTER_DLL) $(PROJSEL_DLL) $(LEGEND_DLL) \
-			$(GUI_DLL) $(CORE_DLL) $(COMPOSER_DLL) $(GUI_DLL) \
-			-lgdal -lgeos -lsqlite3 -lproj $(PG_LIB) \
-                        $(QT_LDADD) \
-                        -lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 .libs/ogrprovider.dll $(prefix)/lib/qgis/ogrprovider.dll
-
-include ../../../Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/providers/ogr/ogr.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/ogr.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/ogr.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,31 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-include(../../../settings.pro)
-TARGET=ogrprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${GDALLIBADD}
-LIBS += $${GEOSLIBADD}
-#LIBS += $${PROJLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgsogrprovider.h
-SOURCES += qgsogrprovider.cpp 

Modified: packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,14 +1,18 @@
-//
-// C++ Implementation: qgsogrfactory
-//
-// Description: 
-//
-//
-// Author: Christoph Spoerri <spoerri at sourceforge.net>, (C) 2004
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
+/***************************************************************************
+     qgsogrfactory.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:18:21 AKDT 2007
+    Copyright            : (C) 2004 Christoph Spoerri 
+    Email                : <spoerri at sourceforge.net>
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
 #include <iostream>
 #include <qmessagebox.h>
 
@@ -61,7 +65,7 @@
     valid = true;
   } else
   {
-    QMessageBox::warning(NULL, tr("Wrong Path/URI"), tr("The provided path for the dataset is not valid."),QMessageBox::Ok, Qt::NoButton, Qt::NoButton);
+    QMessageBox::warning(NULL, tr("Wrong Path/URI"), tr("The provided path for the dataset is not valid."));
     valid = false;
   }
 }

Modified: packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrfactory.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,14 +1,18 @@
-//
-// C++ Interface: qgsogrfactory
-//
-// Description: 
-//
-//
-// Author: Christoph Spoerri <spoerri at sourceforge.net>, (C) 2004
-//
-// Copyright: See COPYING file that comes with this distribution
-//
-//
+/***************************************************************************
+     qgsogrfactory.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:18:58 AKDT 2007
+    Copyright            : (C) 2004 Christoph Spoerri 
+    Email                : <spoerri at sourceforge.net>
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
 #ifndef QGSOGRFACTORY_H
 #define QGSOGRFACTORY_H
 

Modified: packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,15 +14,12 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsogrprovider.cpp 6323 2006-12-28 08:49:04Z homann $ */
+/* $Id: qgsogrprovider.cpp 7198 2007-09-15 06:55:27Z mhugent $ */
 
 #include "qgsogrprovider.h"
 
-#ifndef WIN32
-#include <netinet/in.h>
-#endif
+
 #include <iostream>
-#include <cfloat>
 #include <cassert>
 
 #include <gdal.h>         // to collect version information
@@ -36,7 +33,6 @@
 #include <QtDebug>
 #include <QFile>
 #include <QFileInfo>
-#include <QMessageBox>
 #include <QMap>
 #include <QString>
 
@@ -50,11 +46,13 @@
 #endif 
 
 
-#include "qgssearchtreenode.h"
+#include "qgsapplication.h"
 #include "qgsdataprovider.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
+#include "qgsgeometry.h"
 #include "qgslogger.h"
+#include "qgsspatialrefsys.h"
 #include "qgis.h"
 
 
@@ -76,7 +74,11 @@
 
 
 QgsOgrProvider::QgsOgrProvider(QString const & uri)
-    : QgsVectorDataProvider(uri), ogrDataSource(0), extent_(0), ogrLayer(0), ogrDriver(0), minmaxcachedirty(true)
+ : QgsVectorDataProvider(uri),
+   ogrDataSource(0),
+   extent_(0),
+   ogrLayer(0),
+   ogrDriver(0)
 {
   OGRRegisterAll();
 
@@ -136,38 +138,23 @@
     valid = false;
   }
 
-  //resize the cache matrix
-  minmaxcache=new double*[fieldCount()];
-  for(int i=0;i<fieldCount();i++)
-  {
-    minmaxcache[i]=new double[2];
-  }
   // create the geos objects
   geometryFactory = new GEOS_GEOM::GeometryFactory();
   assert(geometryFactory!=0);
-  // create the reader
-  //    std::cerr << "Creating the wktReader\n";
-  wktReader = new GEOS_IO::WKTReader(geometryFactory);
 
-  mNumericalTypes.push_back("Integer");
-  mNumericalTypes.push_back("Real");
-  mNonNumericalTypes.push_back("String");
+  mSupportedNativeTypes.insert("Integer");
+  mSupportedNativeTypes.insert("Real");
+  mSupportedNativeTypes.insert("String");
 }
 
 QgsOgrProvider::~QgsOgrProvider()
 {
-  for(int i=0;i<fieldCount();i++)
-  {
-    delete[] minmaxcache[i];
-  }
-  delete[] minmaxcache;
-
   OGRDataSource::DestroyDataSource(ogrDataSource);
   ogrDataSource = 0;
   delete extent_;
   extent_ = 0;
   delete geometryFactory;
-  delete wktReader;
+  delete mSelectionRectangle;
 }
 
 void QgsOgrProvider::setEncoding(const QString& e)
@@ -179,7 +166,7 @@
 void QgsOgrProvider::loadFields()
 {
     //the attribute fields need to be read again when the encoding changes
-    attributeFields.clear();
+    mAttributeFields.clear();
     OGRFeatureDefn* fdef = ogrLayer->GetLayerDefn();
     if(fdef)
     {
@@ -205,490 +192,215 @@
       for(int i=0;i<fdef->GetFieldCount();++i)
       {
         OGRFieldDefn *fldDef = fdef->GetFieldDefn(i);
-        OGRFieldType type = type = fldDef->GetType();
-        bool numeric = (type == OFTInteger || type == OFTReal);
-        attributeFields.push_back(QgsField(
-              mEncoding->toUnicode(fldDef->GetNameRef()), 
-              mEncoding->toUnicode(fldDef->GetFieldTypeName(type)),
+        OGRFieldType ogrType = fldDef->GetType();
+        QVariant::Type varType;
+        switch (ogrType)
+        {
+          case OFTInteger: varType = QVariant::Int; break;
+          case OFTReal: varType = QVariant::Double; break;
+          // unsupported in OGR 1.3
+          //case OFTDateTime: varType = QVariant::DateTime; break;
+          case OFTString: varType = QVariant::String; break;
+          default: varType = QVariant::String; // other unsupported, leave it as a string
+        }
+        
+        mAttributeFields.insert(i, QgsField(
+              mEncoding->toUnicode(fldDef->GetNameRef()), varType,
+              mEncoding->toUnicode(fldDef->GetFieldTypeName(ogrType)),
               fldDef->GetWidth(),
-              fldDef->GetPrecision(),
-              numeric));
+              fldDef->GetPrecision() ));
       }
     }
 }
 
-QString QgsOgrProvider::getProjectionWKT()
-{ 
-  QgsDebugMsg("QgsOgrProvider::getProjectionWKT()");
-  OGRSpatialReference * mySpatialRefSys = ogrLayer->GetSpatialRef();
-  if (mySpatialRefSys == NULL)
-  {
-    QgsLogger::critical("QgsOgrProvider::getProjectionWKT() --- no wkt found..returning null"); 
-    return NULL;
-  }
-  else
-  {
-    // if appropriate, morph the projection from ESRI form
-    QString fileName = ogrDataSource->GetName();
-    QgsDebugMsg("Data source file name is : " + fileName); 
-    if(fileName.contains(".shp"))
-    {
-      QgsDebugMsg("Morphing " + fileName + " WKT from ESRI"); 
-      // morph it
-      mySpatialRefSys->morphFromESRI();
-    }
-    // get the proj4 text
-    char * ppszProj4;
-    mySpatialRefSys->exportToProj4   ( &ppszProj4 );
-    QgsDebugMsg(ppszProj4); 
-    char    *pszWKT = NULL;
-    mySpatialRefSys->exportToWkt( &pszWKT );
-    QString myWKTString = QString(pszWKT);
-    OGRFree(pszWKT);  
-    return myWKTString;
-  }
-}
 
-
-QString QgsOgrProvider::storageType()
+QString QgsOgrProvider::storageType() const
 {
   // Delegate to the driver loaded in by OGR
   return ogrDriverName;
 }
 
 
-/**
- * Get the first feature resutling from a select operation
- * @return QgsFeature
- */
-QgsFeature * QgsOgrProvider::getFirstFeature(bool fetchAttributes)
+
+bool QgsOgrProvider::getFeatureAtId(int featureId,
+                                    QgsFeature& feature,
+                                    bool fetchGeometry,
+                                    QgsAttributeList fetchAttributes)
 {
-  QgsFeature *f = 0;
+  OGRFeature *fet = ogrLayer->GetFeature(featureId);
+  if (fet == NULL)
+    return false;
+  
+  feature.setFeatureId(fet->GetFID());
 
-  if(valid)
+  /* fetch geometry */
+  if (fetchGeometry)
   {
-    QgsDebugMsg("getting first feature");
-    ogrLayer->ResetReading();
-
-    OGRFeature * feat = ogrLayer->GetNextFeature();
-
-    Q_CHECK_PTR( feat  );
-
-    if(feat)
-    {
-      QgsDebugMsg("First feature is not null");
-    }
-    else
-    {
-      QgsLogger::warning("First feature is null");
-      return 0x0;               // so return a null feature indicating that we got a null feature
-    }
-
-    // get the feature type name, if any
-    OGRFeatureDefn * featureDefinition = feat->GetDefnRef();
-    QString featureTypeName =   
-      featureDefinition ? QString(featureDefinition->GetName()) : QString("");
-
-    f = new QgsFeature(feat->GetFID(), featureTypeName );
-
-    Q_CHECK_PTR( f );
-
-    if ( ! f )                  // return null if we can't get a new QgsFeature
-    {
-      delete feat;
-
-      return 0x0;
-    }
-
-    size_t geometry_size = feat->GetGeometryRef()->WkbSize();
-    f->setGeometryAndOwnership(getGeometryPointer(feat), geometry_size);
-
-    if(fetchAttributes)
-    {
-      getFeatureAttributes(feat, f);
-    }
-
-    delete feat;
-
+    OGRGeometry *geom = fet->GetGeometryRef();
+      
+    // get the wkb representation
+    unsigned char *wkb = new unsigned char[geom->WkbSize()];
+    geom->exportToWkb((OGRwkbByteOrder) QgsApplication::endian(), wkb);
+      
+    feature.setGeometryAndOwnership(wkb, geom->WkbSize());
   }
 
-  return f;
-
-} // QgsOgrProvider::getFirstFeature()
-
-
-
-
-bool QgsOgrProvider::getNextFeature(QgsFeature &f, bool fetchAttributes)
-{
-  bool returnValue;
-  if(valid){
-    //std::cerr << "getting next feature\n";
-    // skip features without geometry
-    OGRFeature *fet;
-    while ((fet = ogrLayer->GetNextFeature()) != NULL) {
-      if (fet->GetGeometryRef())
-        break;
-    }
-    if(fet){
-      OGRGeometry *geom = fet->GetGeometryRef();
-
-      // get the wkb representation
-      unsigned char *feature = new unsigned char[geom->WkbSize()];
-      geom->exportToWkb((OGRwkbByteOrder) endian(), feature);
-      f.setFeatureId(fet->GetFID());
-      f.setGeometryAndOwnership(feature, geom->WkbSize());
-
-      OGRFeatureDefn * featureDefinition = fet->GetDefnRef();
-      QString featureTypeName =   
-        featureDefinition ? QString(featureDefinition->GetName()) : QString("");
-      f.typeName( featureTypeName );
-
-      if(fetchAttributes){
-        getFeatureAttributes(fet, &f);
-      }
-      /*   char *wkt = new char[2 * geom->WkbSize()];
-           geom->exportToWkt(&wkt);
-           f->setWellKnownText(wkt);
-           delete[] wkt;  */
-      delete fet;
-      returnValue = true;
-    }else{
-#ifdef QGISDEBUG
-      QgsLogger::warning("Feature is null");
-      f.setValid(false);
-      returnValue = false;
-#endif
-      // probably should reset reading here
-      ogrLayer->ResetReading();
-    }
-
-
-  }else{
-    QgsLogger::critical("Read attempt on an invalid shapefile data source");
+  /* fetch attributes */
+  for(QgsAttributeList::iterator it = fetchAttributes.begin(); it != fetchAttributes.end(); ++it)
+  {
+    getFeatureAttribute(fet,feature,*it);
   }
-  return returnValue;
+  
+  return true;
 }
 
-/**
- * Get the next feature resutling from a select operation
- * Return 0 if there are no features in the selection set
- * @return QgsFeature
- */
-QgsFeature *QgsOgrProvider::getNextFeature(bool fetchAttributes)
+bool QgsOgrProvider::getNextFeature(QgsFeature& feature)
 {
-   if(!valid)
-   {
-       QgsLogger::critical("Read attempt on an invalid shapefile data source");
-       return 0;
-   }
-   
-   OGRFeature* fet;
-   OGRGeometry* geom;
-   QgsFeature *f = 0;
-   while((fet = ogrLayer->GetNextFeature()) != NULL)
-   {
-     
-     if (fet->GetGeometryRef())
-       {
-	   geom = fet->GetGeometryRef();
-	   // get the wkb representation
-	   unsigned char *feature = new unsigned char[geom->WkbSize()];
-	   geom->exportToWkb((OGRwkbByteOrder) endian(), feature);
-	   OGRFeatureDefn * featureDefinition = fet->GetDefnRef();
-	   QString featureTypeName =   featureDefinition ? QString(featureDefinition->GetName()) : QString("");
-
-	   f = new QgsFeature(fet->GetFID(), featureTypeName);
-	   f->setGeometryAndOwnership(feature, geom->WkbSize());
-	   if(fetchAttributes  /*|| !mAttributeFilter.isEmpty()*/)
-	   {
-	       getFeatureAttributes(fet, f);
-	   
-        // filtering by attribute
-        // TODO: improve, speed up!
-/*        if (!mAttributeFilter.isEmpty() && !mAttributeFilter.tree()->checkAgainst(f->attributeMap()))
-        {
-          delete fet;
-          continue;
-        }    */
-	   }
-    
-	   if(mUseIntersect)
-	   {
-	       GEOS_GEOM::Geometry *geosGeom = 0;
-	       geosGeom=f->geosGeometry();
-	       assert(geosGeom != 0);
-         
-	       char *sWkt = new char[2 * mSelectionRectangle->WkbSize()];
-	       mSelectionRectangle->exportToWkt(&sWkt);  
-	       GEOS_GEOM::Geometry *geosRect = wktReader->read(sWkt);
-	       assert(geosRect != 0);
-         bool intersection = false;
-         
-         try // geos might throw exception on error
-         {
-           if(geosGeom->intersects(geosRect))
-             intersection = true;
-         }
-         catch (GEOS_UTIL::TopologyException* e)
-         {
-#if GEOS_VERSION_MAJOR < 3
-           QString error = e->toString().c_str();
-#else
-           QString error = e->what();
-#endif
-           QgsLogger::warning("GEOS: " + error);
-         }
-         
-         if (intersection)
-	       {
-		   QgsDebugMsg("intersection found");
-		   delete[] sWkt;
-		   delete geosGeom;
-		   break;
-	       }
-	       else
-	       {
-		   QgsDebugMsg("no intersection found");
-		   delete[] sWkt;
-		   delete geosGeom;
-		   delete f;
-		   f=0;
-	       }
-	   }
-	   else
-	   {
-	       break;
-	   }
-       }
-	   delete fet;
-   }
-   return f;
-}
-
-/**
- * Get the next feature resutling from a select operation
- * Return 0 if there are no features in the selection set
- * @return QgsFeature
- */
-/*QgsFeature *QgsOgrProvider::getNextFeature(bool fetchAttributes)
-{
-  QgsFeature *f = 0;
-  if(valid){
-    OGRFeature *fet;
-    OGRGeometry *geom;
-    while ((fet = ogrLayer->GetNextFeature()) != NULL) {
-      if (fet->GetGeometryRef())
-	{
-        if(mUseIntersect)
-        {
-          geom  =  fet->GetGeometryRef();
-          char *wkt = new char[2 * geom->WkbSize()];
-          geom->exportToWkt(&wkt);
-          GEOS_GEOM::Geometry *geosGeom = wktReader->read(wkt);
-          assert(geosGeom != 0);
-          QgsDebugMsg("Geometry type of geos object is : " + geosGeom->getGeometryType()); 
-          // get the selection rectangle and create a geos geometry from it
-          char *sWkt = new char[2 * mSelectionRectangle->WkbSize()];
-          mSelectionRectangle->exportToWkt(&sWkt);
-          std::cerr << "Passing " << sWkt << " to goes\n";    
-          GEOS_GEOM::Geometry *geosRect = wktReader->read(sWkt);
-          assert(geosRect != 0);
-          std::cerr << "About to apply intersects function\n";
-          // test the geometry
-          if(geosGeom->intersects(geosRect))
-          {
-            std::cerr << "Intersection found\n";
-            break;
-          }
-          //XXX For some reason deleting these on win32 causes segfault
-          //XXX Someday I'll figure out why...
-          //delete[] wkt;  
-          //delete[] sWkt;  
-        }
-        else
-        {
-          break;
-        }
-      }
+  if (!valid)
+    {
+      QgsLogger::warning("Read attempt on an invalid shapefile data source");
+      return false;
     }
-    if(fet){
-      geom = fet->GetGeometryRef();
-
-      // get the wkb representation
-      unsigned char *feature = new unsigned char[geom->WkbSize()];
-      geom->exportToWkb((OGRwkbByteOrder) endian(), feature);
-
-      OGRFeatureDefn * featureDefinition = fet->GetDefnRef();
-      QString featureTypeName =   
-        featureDefinition ? QString(featureDefinition->GetName()) : QString("");
-
-      f = new QgsFeature(fet->GetFID(), featureTypeName);
-      f->setGeometryAndOwnership(feature, geom->WkbSize());
-
-      if(fetchAttributes){
-        getFeatureAttributes(fet, f);
-      }
-      delete fet;
-    }else{
-#ifdef QGISDEBUG
-      std::cerr << "Feature is null\n";
-#endif
-      // probably should reset reading here
-      ogrLayer->ResetReading();
-    }
-
-
-  }else{
-#ifdef QGISDEBUG    
-    std::cerr << "Read attempt on an invalid shapefile data source\n";
-#endif
-  }
-  return f;
-}*/
-
-
-QgsFeature *QgsOgrProvider::getNextFeature(std::list<int> const& attlist, int featureQueueSize)
-{
-  QgsFeature *f = 0; 
-  if(valid)
-  {
-    // skip features without geometry
-    OGRFeature *fet;
-    while ((fet = ogrLayer->GetNextFeature()) != NULL) {
-
-      if (fet->GetGeometryRef())
-      {
-        if(mUseIntersect)
-        {
-          // test this geometry to see if it should be
-          // returned 
-	  //QgsDebugMsg("Testing geometry using intersect");
-        }
-        else
-        {
-	  //QgsDebugMsg("Testing geometry using mbr");
-          break;
-        }
-      }
-    }
-    if(fet)
+  
+  OGRFeature *fet;
+  QgsRect selectionRect;
+  
+  while ((fet = ogrLayer->GetNextFeature()) != NULL)
     {
-      OGRGeometry *geom = fet->GetGeometryRef();
-      // get the wkb representation
-      unsigned char *feature = new unsigned char[geom->WkbSize()];
-      geom->exportToWkb((OGRwkbByteOrder) endian(), feature);
+      // skip features without geometry
+      if (fet->GetGeometryRef() == NULL && !mFetchFeaturesWithoutGeom)
+	{
+	  delete fet;
+	  continue;
+	}
+      
       OGRFeatureDefn * featureDefinition = fet->GetDefnRef();
-      QString featureTypeName =   
-        featureDefinition ? QString(featureDefinition->GetName()) : QString("");
-
-      f = new QgsFeature(fet->GetFID(), featureTypeName);
-      f->setGeometryAndOwnership(feature, geom->WkbSize());
-      for(std::list<int>::const_iterator it=attlist.begin();it!=attlist.end();++it)
-      {
-        getFeatureAttribute(fet,f,*it);
-      }
+      QString featureTypeName = featureDefinition ? QString(featureDefinition->GetName()) : QString("");
+      feature.setFeatureId(fet->GetFID());
+      feature.setTypeName(featureTypeName);
+      
+      /* fetch geometry */
+      if (mFetchGeom)
+	{
+	  OGRGeometry *geom = fet->GetGeometryRef();
+	  
+	  // get the wkb representation
+	  unsigned char *wkb = new unsigned char[geom->WkbSize()];
+	  geom->exportToWkb((OGRwkbByteOrder) QgsApplication::endian(), wkb);
+	  
+	  feature.setGeometryAndOwnership(wkb, geom->WkbSize());
+	  
+	  if (mUseIntersect)
+	    {
+	      //precise test for intersection with search rectangle
+	      //first make QgsRect from OGRPolygon
+	      OGREnvelope env;
+	      mSelectionRectangle->getEnvelope(&env);
+	      if(env.IsInit()) //if envelope is invalid, skip the precise intersection test
+		{
+		  selectionRect.set(env.MinX, env.MinY, env.MaxX, env.MaxY);
+		  if(!feature.geometry()->intersects(selectionRect))
+		    {
+		      delete fet;
+		      continue;
+		    }
+		}
+	      
+	    }
+	}
+      
+      /* fetch attributes */
+      for(QgsAttributeList::iterator it = mAttributesToFetch.begin(); it != mAttributesToFetch.end(); ++it)
+	{
+	  getFeatureAttribute(fet,feature,*it);
+	}
+      
+      /* we have a feature, end this cycle */
+      break;
+      
+    } /* while */
+  
+  if (fet)
+    {
       delete fet;
-      //delete [] feature;
+      return true;
     }
-    else
+  else
     {
       QgsDebugMsg("Feature is null");  
       // probably should reset reading here
       ogrLayer->ResetReading();
+      return false;
     }
-  }
-  else
-  {
-    QgsLogger::warning("Read attempt on an invalid shapefile data source");
-  }
-  return f;
 }
 
-/**
- * Select features based on a bounding rectangle. Features can be retrieved
- * with calls to getFirstFeature and getNextFeature.
- * @param mbr QgsRect containing the extent to use in selecting features
- * @param useIntersect If true, an intersect test will be used in selecting
- * features. In OGR, this is a two pass affair. The mUseIntersect value is
- * stored. If true, a secondary filter (using GEOS) is applied to each
- * feature in the getNextFeature function.
- */
-void QgsOgrProvider::select(QgsRect *rect, bool useIntersect)
+void QgsOgrProvider::select(QgsAttributeList fetchAttributes, QgsRect rect, bool fetchGeometry, \
+			    bool useIntersect)
 {
   mUseIntersect = useIntersect;
-  // spatial query to select features
-#ifdef QGISDEBUG
-  QgsLogger::debug<QgsRect>("Selection rectangle is: ", *rect, __FILE__, __FUNCTION__, __LINE__, 1);
-#endif
-  OGRGeometry *filter = 0;
-  filter = OGRGeometryFactory::createGeometry(wkbPolygon);
-  QString wktExtent = QString("POLYGON ((%1))").arg(rect->asPolygon());
-  const char *wktText = (const char *)wktExtent;
+  mAttributesToFetch = fetchAttributes;
+  mFetchGeom = fetchGeometry;
 
-  if(useIntersect)
-  {
-    // store the selection rectangle for use in filtering features during
-    // an identify and display attributes
-    delete mSelectionRectangle;
-    mSelectionRectangle = new OGRPolygon();
-    mSelectionRectangle->importFromWkt((char **)&wktText);
-  }
-
-  // reset the extent for the ogr filter
-  wktExtent = QString("POLYGON ((%1))").arg(rect->asPolygon());
-  wktText = (const char *)wktExtent;
-
-  OGRErr result = ((OGRPolygon *) filter)->importFromWkt((char **)&wktText);
-  //TODO - detect an error in setting the filter and figure out what to
-  //TODO   about it. If setting the filter fails, all records will be returned
-  if (result == OGRERR_NONE) 
-  {
-    QgsDebugMsg("Setting spatial filter using " + wktExtent);
-    ogrLayer->SetSpatialFilter(filter);
-    //ogrLayer->SetSpatialFilterRect(rect->xMin(), rect->yMin(), rect->xMax(), rect->yMax());
-  }else{
+  // spatial query to select features
+  if(rect.isEmpty())
+    {
+        ogrLayer->SetSpatialFilter(0);
+    }
+  else
+    {
+      OGRGeometry *filter = 0;
+      filter = OGRGeometryFactory::createGeometry(wkbPolygon);
+      QString wktExtent = QString("POLYGON ((%1))").arg(rect.asPolygon());
+      const char *wktText = (const char *)wktExtent;
+      
+      if(useIntersect)
+	{
+	  // store the selection rectangle for use in filtering features during
+	  // an identify and display attributes
+	  delete mSelectionRectangle;
+	  mSelectionRectangle = new OGRPolygon();
+	  mSelectionRectangle->importFromWkt((char **)&wktText);
+	}
+      
+      // reset the extent for the ogr filter
+      wktExtent = QString("POLYGON ((%1))").arg(rect.asPolygon());
+      wktText = (const char *)wktExtent;
+      
+      OGRErr result = ((OGRPolygon *) filter)->importFromWkt((char **)&wktText);
+      //TODO - detect an error in setting the filter and figure out what to
+      //TODO   about it. If setting the filter fails, all records will be returned
+      if (result == OGRERR_NONE) 
+	{
+	  QgsDebugMsg("Setting spatial filter using " + wktExtent);
+	  ogrLayer->SetSpatialFilter(filter);
+	  //ogrLayer->SetSpatialFilterRect(rect->xMin(), rect->yMin(), rect->xMax(), rect->yMax());
+	}else{
 #ifdef QGISDEBUG    
-    QgsLogger::warning("Setting spatial filter failed!");
+	QgsLogger::warning("Setting spatial filter failed!");
 #endif
-  }
-  OGRGeometryFactory::destroyGeometry(filter);  
-} // QgsOgrProvider::select
+      }
+      OGRGeometryFactory::destroyGeometry(filter);
+    }  
+}
 
 
-
-/**
- * Identify features within the search radius specified by rect
- * @param rect Bounding rectangle of search radius
- * @return std::vector containing QgsFeature objects that intersect rect
- */
-std::vector<QgsFeature>& QgsOgrProvider::identify(QgsRect * rect)
+unsigned char * QgsOgrProvider::getGeometryPointer(OGRFeature *fet)
 {
-  // select the features
-  select(rect);
-#ifdef WIN32
-  //TODO fix this later for win32
-  std::vector<QgsFeature> feat;
-  return feat;
-#endif
-}
-
-unsigned char * QgsOgrProvider::getGeometryPointer(OGRFeature *fet){
   OGRGeometry *geom = fet->GetGeometryRef();
   unsigned char *gPtr=0;
   // get the wkb representation
   gPtr = new unsigned char[geom->WkbSize()];
 
-  geom->exportToWkb((OGRwkbByteOrder) endian(), gPtr);
+  geom->exportToWkb((OGRwkbByteOrder) QgsApplication::endian(), gPtr);
   return gPtr;
 
 }
 
 
-QgsRect *QgsOgrProvider::extent()
+QgsRect QgsOgrProvider::extent()
 {
   mExtentRect.set(extent_->MinX, extent_->MinY, extent_->MaxX, extent_->MaxY);
-  return &mExtentRect;
+  return mExtentRect;
 }
 
 
@@ -701,9 +413,9 @@
 /** 
  * Return the feature type
  */
-int QgsOgrProvider::geometryType() const
+QGis::WKBTYPE QgsOgrProvider::geometryType() const
 {
-  return geomType;
+  return (QGis::WKBTYPE) geomType;
 }
 
 /** 
@@ -717,12 +429,12 @@
 /**
  * Return the number of fields
  */
-int QgsOgrProvider::fieldCount() const
+uint QgsOgrProvider::fieldCount() const
 {
-  return attributeFields.size();
+  return mAttributeFields.size();
 }
 
-void QgsOgrProvider::getFeatureAttribute(OGRFeature * ogrFet, QgsFeature * f, int attindex)
+void QgsOgrProvider::getFeatureAttribute(OGRFeature * ogrFet, QgsFeature & f, int attindex)
 {
   OGRFieldDefn *fldDef = ogrFet->GetFieldDefnRef(attindex);
 
@@ -732,165 +444,35 @@
     return;
   }
 
-  QString fld = mEncoding->toUnicode(fldDef->GetNameRef());
+  //QString fld = mEncoding->toUnicode(fldDef->GetNameRef());
   QByteArray cstr(ogrFet->GetFieldAsString(attindex));
-  bool numeric = attributeFields[attindex].isNumeric();
-
-  f->addAttribute(fld, mEncoding->toUnicode(cstr), numeric);
-}
-
-/**
- * Fetch attributes for a selected feature
- */
-void QgsOgrProvider::getFeatureAttributes(OGRFeature *ogrFet, QgsFeature *f){
-  for (int i = 0; i < ogrFet->GetFieldCount(); i++) {
-    getFeatureAttribute(ogrFet,f,i);
-    // add the feature attributes to the tree
-    /*OGRFieldDefn *fldDef = ogrFet->GetFieldDefnRef(i);
-    QString fld = mEncoding->toUnicode(fldDef->GetNameRef());
-    //    OGRFieldType fldType = fldDef->GetType();
-    QString val;
-
-    val = ogrFet->GetFieldAsString(i);
-    f->addAttribute(fld, val);*/
-  }
-}
-
-void QgsOgrProvider::getFeatureAttributes(int key, int &row, QgsFeature *f)
-{
-  if(!valid)
+  QString str = mEncoding->toUnicode(cstr);
+  QVariant value;
+  
+  switch (mAttributeFields[attindex].type())
   {
-      QgsLogger::critical("Read attempt on an invalid shapefile data source");
-      return;
+    case QVariant::String: value = QVariant(str); break;
+    case QVariant::Int: value = QVariant(str.toInt()); break;
+    case QVariant::Double: value = QVariant(str.toDouble()); break;
+    //case QVariant::DateTime: value = QVariant(QDateTime::fromString(str)); break;
+    default: assert(NULL && "unsupported field type");
   }
 
-  OGRFeature* fet;
-  OGRGeometry* geom;
-
-  if ((fet = ogrLayer->GetFeature(key)) != NULL)
-  {
-    getFeatureAttributes(fet, f);
-
-    delete fet;
-  }
+  f.addAttribute(attindex, value);
 }
 
-void QgsOgrProvider::getFeatureGeometry(int key, QgsFeature *f)
-{
-  if(!valid)
-  {
-      QgsLogger::critical("Read attempt on an invalid shapefile data source");
-      return;
-  }
 
-  OGRFeature* fet;
-  OGRGeometry* geom;
-
-  if ((fet = ogrLayer->GetFeature(key)) != NULL)
-  {
-    if (geom = fet->GetGeometryRef())
-    {
-      geom = fet->GetGeometryRef();
-      // get the wkb representation
-      unsigned char *feature = new unsigned char[geom->WkbSize()];
-      geom->exportToWkb((OGRwkbByteOrder) endian(), feature);
-      OGRFeatureDefn * featureDefinition = fet->GetDefnRef();
-      QString featureTypeName = featureDefinition ? 
-                                QString(featureDefinition->GetName()) : 
-                                QString("");
-
-      f->setGeometryAndOwnership(feature, geom->WkbSize());
-
-    }
-    delete fet;
-  }
-}
-
-std::vector<QgsField> const & QgsOgrProvider::fields() const
+const QgsFieldMap & QgsOgrProvider::fields() const
 {
-  return attributeFields;
+  return mAttributeFields;
 }
 
 void QgsOgrProvider::reset()
 {
-  // TODO: check whether it supports normal SQL or only that "restricted_sql"
-  if (mAttributeFilter.isEmpty())
-    ogrLayer->SetAttributeFilter(NULL);
-  else
-    ogrLayer->SetAttributeFilter(mAttributeFilter.string());
-
-  ogrLayer->SetSpatialFilter(0);
   ogrLayer->ResetReading();
-  // Reset the use intersect flag on a provider reset, otherwise only the last
-  // selected feature(s) will be displayed when the attribute table
-  // is opened. 
-  //XXX In a future release, this "feature" can be used to implement
-  // the display of only selected records in the attribute table.
-  mUseIntersect = false;
 }
 
-QString QgsOgrProvider::minValue(int position)
-{
-  if(position>=fieldCount())
-  {
-#ifdef QGISDEBUG
-    QgsLogger::warning("Warning: access requested to invalid position in QgsOgrProvider::minValue(..)");
-#endif
-  }
-  if(minmaxcachedirty)
-  {
-    fillMinMaxCash();
-  }
-  return QString::number(minmaxcache[position][0],'f',2);
-}
 
-
-QString QgsOgrProvider::maxValue(int position)
-{
-  if(position>=fieldCount() || position < 0)
-  {
-#ifdef QGISDEBUG
-    QgsLogger::warning("Warning: access requested to invalid position in QgsOgrProvider::maxValue(..)");
-#endif
-    return "";
-  }
-  if(minmaxcachedirty)
-  {
-    fillMinMaxCash();
-  }
-  return QString::number(minmaxcache[position][1],'f',2);
-}
-
-void QgsOgrProvider::fillMinMaxCash()
-{
-  for(int i=0;i<fieldCount();i++)
-  {
-    minmaxcache[i][0]=DBL_MAX;
-    minmaxcache[i][1]=-DBL_MAX;
-  }
-
-  QgsFeature* f=getFirstFeature(true);
-  do
-  {
-    for(int i=0;i<fieldCount();i++)
-    {
-      double value=(f->attributeMap())[i].fieldValue().toDouble();
-      if(value<minmaxcache[i][0])
-      {
-        minmaxcache[i][0]=value;  
-      }  
-      if(value>minmaxcache[i][1])
-      {
-        minmaxcache[i][1]=value;  
-      }
-    }
-    delete f;
-
-  }while(f=getNextFeature(true));
-
-  minmaxcachedirty=false;
-}
-
 //TODO - add sanity check for shape file layers, to include cheking to
 //       see if the .shp, .dbf, .shx files are all present and the layer
 //       actually has features
@@ -899,20 +481,21 @@
   return valid;
 }
 
-bool QgsOgrProvider::addFeature(QgsFeature* f)
+bool QgsOgrProvider::addFeature(QgsFeature& f)
 { 
   bool returnValue = true;
   OGRFeatureDefn* fdef=ogrLayer->GetLayerDefn();
   OGRFeature* feature=new OGRFeature(fdef);
-  QGis::WKBTYPE ftype;
+  QGis::WKBTYPE ftype = f.geometry()->wkbType();
+  unsigned char* wkb = f.geometry()->wkbBuffer();
   OGRErr err;
-  memcpy(&ftype, (f->getGeometry()+1), sizeof(int));
+  
   switch(ftype)
   {
     case QGis::WKBPoint:
       {
         OGRPoint* p=new OGRPoint();
-        p->importFromWkb(f->getGeometry(),1+sizeof(int)+2*sizeof(double));
+        p->importFromWkb(wkb,1+sizeof(int)+2*sizeof(double));
         err = feature->SetGeometry(p);
 	if(err != OGRERR_NONE)
 	  {
@@ -925,8 +508,8 @@
       {
         OGRLineString* l=new OGRLineString();
         int length;
-        memcpy(&length,f->getGeometry()+1+sizeof(int),sizeof(int));
-        l->importFromWkb(f->getGeometry(),1+2*sizeof(int)+2*length*sizeof(double));
+        memcpy(&length,wkb+1+sizeof(int),sizeof(int));
+        l->importFromWkb(wkb,1+2*sizeof(int)+2*length*sizeof(double));
         err = feature->SetGeometry(l);
 	if(err != OGRERR_NONE)
 	  {
@@ -941,7 +524,7 @@
         int numrings;
         int totalnumpoints=0;
         int numpoints;//number of points in one ring
-        unsigned char* ptr=f->getGeometry()+1+sizeof(int);
+        unsigned char* ptr=wkb+1+sizeof(int);
         memcpy(&numrings,ptr,sizeof(int));
         ptr+=sizeof(int);
         for(int i=0;i<numrings;++i)
@@ -951,7 +534,7 @@
           totalnumpoints+=numpoints;
           ptr+=(2*sizeof(double));
         }
-        pol->importFromWkb(f->getGeometry(),1+2*sizeof(int)+numrings*sizeof(int)+totalnumpoints*2*sizeof(double));
+        pol->importFromWkb(wkb,1+2*sizeof(int)+numrings*sizeof(int)+totalnumpoints*2*sizeof(double));
         err = feature->SetGeometry(pol);
 	if(err != OGRERR_NONE)
 	  {
@@ -965,8 +548,8 @@
         OGRMultiPoint* multip= new OGRMultiPoint();
         int count;
         //determine how many points
-        memcpy(&count,f->getGeometry()+1+sizeof(int),sizeof(int));
-        multip->importFromWkb(f->getGeometry(),1+2*sizeof(int)+count*2*sizeof(double));
+        memcpy(&count,wkb+1+sizeof(int),sizeof(int));
+        multip->importFromWkb(wkb,1+2*sizeof(int)+count*2*sizeof(double));
         err = feature->SetGeometry(multip);
 	if(err != OGRERR_NONE)
 	  {
@@ -979,10 +562,10 @@
       {
         OGRMultiLineString* multil=new OGRMultiLineString();
         int numlines;
-        memcpy(&numlines,f->getGeometry()+1+sizeof(int),sizeof(int));
+        memcpy(&numlines,wkb+1+sizeof(int),sizeof(int));
         int totalpoints=0;
         int numpoints;//number of point in one line
-        unsigned char* ptr=f->getGeometry()+9;
+        unsigned char* ptr=wkb+9;
         for(int i=0;i<numlines;++i)
         {
           memcpy(&numpoints,ptr,sizeof(int));
@@ -994,7 +577,7 @@
           }
         }
         int size=1+2*sizeof(int)+numlines*sizeof(int)+totalpoints*2*sizeof(double);
-        multil->importFromWkb(f->getGeometry(),size);
+        multil->importFromWkb(wkb,size);
         err = feature->SetGeometry(multil);
 	if(err != OGRERR_NONE)
 	  {
@@ -1007,12 +590,12 @@
       {
         OGRMultiPolygon* multipol=new OGRMultiPolygon();
         int numpolys;
-        memcpy(&numpolys,f->getGeometry()+1+sizeof(int),sizeof(int));
+        memcpy(&numpolys,wkb+1+sizeof(int),sizeof(int));
         int numrings;//number of rings in one polygon
         int totalrings=0;
         int totalpoints=0;
         int numpoints;//number of points in one ring
-        unsigned char* ptr=f->getGeometry()+9;
+        unsigned char* ptr=wkb+9;
 
         for(int i=0;i<numpolys;++i)
         {
@@ -1030,7 +613,7 @@
           }
         }
         int size=1+2*sizeof(int)+numpolys*sizeof(int)+totalrings*sizeof(int)+totalpoints*2*sizeof(double);
-        multipol->importFromWkb(f->getGeometry(),size);
+        multipol->importFromWkb(wkb,size);
         err = feature->SetGeometry(multipol);
 	if(err != OGRERR_NONE)
 	  {
@@ -1039,44 +622,46 @@
 	  }
         break;
       }
+    default:
+      {
+        QgsLogger::debug("Unknown feature type of: ", (int)(ftype), 1, 
+                         __FILE__, __FUNCTION__, __LINE__);
+	return false;
+	break;
+      }
   }
+  
+  QgsAttributeMap attrs = f.attributeMap();
 
   //add possible attribute information
-  for(int i=0;i<f->attributeMap().size();++i)
+  for(QgsAttributeMap::iterator it = attrs.begin(); it != attrs.end(); ++it)
   {
-    QString s=(f->attributeMap())[i].fieldValue();
-    
-    //find a matching field for the new attribute
-    QString newAttribute = (f->attributeMap())[i].fieldName();
-    int targetAttributeId = fdef->GetFieldIndex(mEncoding->fromUnicode(newAttribute).constData());
-    if(targetAttributeId == -1)
-      {
-	continue;
-      }
+    int targetAttributeId = it.key();
 
-    if(!s.isEmpty())
+    //if(!s.isEmpty())
+    // continue;
+      
+    if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTInteger)
     {
-      if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTInteger)
-      {
-        feature->SetField(targetAttributeId,s.toInt());
-      }
-      else if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTReal)
-      {
-        feature->SetField(targetAttributeId,s.toDouble());
-      }
-      else if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTString)
-      {
+      feature->SetField(targetAttributeId,it->toInt());
+    }
+    else if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTReal)
+    {
+      feature->SetField(targetAttributeId,it->toDouble());
+    }
+    else if(fdef->GetFieldDefn(targetAttributeId)->GetType()==OFTString)
+    {
 #ifdef QGISDEBUG
-	  std::cerr << "Writing string attribute " << newAttribute.toLocal8Bit().data() <<
-	  " with " << s.toLocal8Bit().data() << ", encoding " << mEncoding->name().data() << "\n";    
+        std::cerr << "Writing string attribute " << targetAttributeId
+	                << " with " << it->toString().toLocal8Bit().data()
+                  << ", encoding " << mEncoding->name().data() << std::endl;
 #endif
-	  feature->SetField(targetAttributeId,mEncoding->fromUnicode(s).constData());
-      }
-      else
-      {
-        QgsLogger::warning("QgsOgrProvider::addFeature, no type found");
-      }
+      feature->SetField(targetAttributeId,mEncoding->fromUnicode(it->toString()).constData());
     }
+    else
+    {
+      QgsLogger::warning("QgsOgrProvider::addFeature, no type found");
+    }
   }
 
   if(ogrLayer->CreateFeature(feature)!=OGRERR_NONE)
@@ -1086,50 +671,54 @@
   }
   ++numberFeatures;
   delete feature;
-  ogrLayer->SyncToDisk();
   return returnValue;
 }
 
-bool QgsOgrProvider::addFeatures(std::list<QgsFeature*> const flist)
+
+bool QgsOgrProvider::addFeatures(QgsFeatureList & flist)
 {
   bool returnvalue=true;
-  for(std::list<QgsFeature*>::const_iterator it=flist.begin();it!=flist.end();++it)
+  for(QgsFeatureList::iterator it = flist.begin(); it != flist.end(); ++it)
   {
     if(!addFeature(*it))
     {
       returnvalue=false;
     }
   }
+
+  // flush features
+  ogrLayer->SyncToDisk();
+  numberFeatures = ogrLayer->GetFeatureCount(); //new feature count
   return returnvalue;
 }
 
-bool QgsOgrProvider::addAttributes(std::map<QString,QString> const & name)
+bool QgsOgrProvider::addAttributes(const QgsNewAttributesMap & attributes)
 {
     bool returnvalue=true;
 
-    for(std::map<QString,QString>::const_iterator iter=name.begin();iter!=name.end();++iter)
+    for(QgsNewAttributesMap::const_iterator iter = attributes.begin(); iter != attributes.end(); ++iter)
     {
-	if(iter->second=="OFTInteger")
+	if(*iter=="OFTInteger")
 	{
-	    OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter->first).data(),OFTInteger);
+      OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter.key()).data(),OFTInteger);
 	    if(ogrLayer->CreateField(&fielddefn)!=OGRERR_NONE)
 	    {
 		QgsLogger::warning("QgsOgrProvider.cpp: writing of OFTInteger field failed");	
 		returnvalue=false;
 	    }
 	}
-	else if(iter->second=="OFTReal")
+  else if(*iter=="OFTReal")
 	{
-	    OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter->first).data(),OFTReal);
+      OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter.key()).data(),OFTReal);
 	    if(ogrLayer->CreateField(&fielddefn)!=OGRERR_NONE)
 	    {
 		QgsLogger::warning("QgsOgrProvider.cpp: writing of OFTReal field failed");
 		returnvalue=false;
 	    }
 	}
-	else if(iter->second=="OFTString")
+  else if(*iter=="OFTString")
 	{
-	    OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter->first).data(),OFTString);
+      OGRFieldDefn fielddefn(mEncoding->fromUnicode(iter.key()).data(),OFTString);
 	    if(ogrLayer->CreateField(&fielddefn)!=OGRERR_NONE)
 	    {
 		QgsLogger::warning("QgsOgrProvider.cpp: writing of OFTString field failed");
@@ -1145,54 +734,53 @@
     return returnvalue;
 }
 
-bool QgsOgrProvider::changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map)
+bool QgsOgrProvider::changeAttributeValues(const QgsChangedAttributesMap & attr_map)
 {   
-  std::map<int,std::map<QString,QString> > am = attr_map; // stupid, but I don't know other way to convince gcc to compile
-  for( std::map<int,std::map<QString,QString> >::iterator it=am.begin();it!=am.end();++it)
+  for(QgsChangedAttributesMap::const_iterator it = attr_map.begin(); it != attr_map.end(); ++it)
   {
-    long fid = (long) (*it).first;
+    long fid = (long) it.key();
 
     OGRFeature *of = ogrLayer->GetFeature ( fid );
 
-    if ( !of ) {
+    if ( !of )
+    {
       QgsLogger::warning("QgsOgrProvider::changeAttributeValues, Cannot read feature, cannot change attributes");
       return false;
     }
 
-    std::map<QString,QString> attr = (*it).second;
+    const QgsAttributeMap& attr = it.value();
 
-    for( std::map<QString,QString>::iterator it2 = attr.begin(); it2!=attr.end(); ++it2 )
+    for( QgsAttributeMap::const_iterator it2 = attr.begin(); it2 != attr.end(); ++it2 )
     {
-	QString name = (*it2).first;
-	QString value = (*it2).second;
+      int f = it2.key();
 		
-	int fc = of->GetFieldCount();
-	for ( int f = 0; f < fc; f++ ) {
-	    OGRFieldDefn *fd = of->GetFieldDefnRef ( f );
-	    
-    if ( name.compare( mEncoding->toUnicode(fd->GetNameRef()) ) == 0 ) {
-		OGRFieldType type = fd->GetType();
-		switch ( type ) {
-		    case OFTInteger:
-		        of->SetField ( f, value.toInt() );
-			break;
-		    case OFTReal:
-		        of->SetField ( f, value.toDouble() );
-			break;
-		    case OFTString:
-		        of->SetField ( f, mEncoding->fromUnicode(value).constData());
-			break;
-		    default:
-			QgsLogger::warning("QgsOgrProvider::changeAttributeValues, Unknown field type,\
-cannot change attribute");
-			break;
-		}
+      OGRFieldDefn *fd = of->GetFieldDefnRef ( f );
+      if (fd == NULL)
+      {
+        QgsLogger::warning("QgsOgrProvider::changeAttributeValues, Field " + QString::number(f) + " doesn't exist");
+        continue;
+      }
+      
+      OGRFieldType type = fd->GetType();
+      switch ( type )
+      {
+        case OFTInteger:
+          of->SetField ( f, it2->toInt() );
+          break;
+        case OFTReal:
+          of->SetField ( f, it2->toDouble() );
+          break;
+        case OFTString:
+          of->SetField ( f, mEncoding->fromUnicode(it2->toString()).constData() );
+          break;
+        default:
+          QgsLogger::warning("QgsOgrProvider::changeAttributeValues, Unknown field type, cannot change attribute");
+          break;
+      }
 
-		continue;
-	    }	
-	}
-	ogrLayer->SetFeature ( of );
     }
+
+    ogrLayer->SetFeature ( of );
   }
 
   ogrLayer->SyncToDisk();
@@ -1200,58 +788,62 @@
   return true;
 }
 
-bool QgsOgrProvider::changeGeometryValues(std::map<int, QgsGeometry> & geometry_map)
+bool QgsOgrProvider::changeGeometryValues(QgsGeometryMap & geometry_map)
 {
   OGRFeature* theOGRFeature = 0;
   OGRGeometry* theNewGeometry = 0;
 
-  for(std::map<int, QgsGeometry>::iterator it = geometry_map.begin(); it != geometry_map.end(); ++it)
+  for (QgsGeometryMap::iterator it = geometry_map.begin(); it != geometry_map.end(); ++it)
+  {
+    theOGRFeature = ogrLayer->GetFeature(it.key());
+    if(!theOGRFeature)
     {
-      theOGRFeature = ogrLayer->GetFeature(it->first);
-      if(!theOGRFeature)
-	{
-	  QgsLogger::warning("QgsOgrProvider::changeGeometryValues, cannot find feature");
-	  continue;
-	}
+      QgsLogger::warning("QgsOgrProvider::changeGeometryValues, cannot find feature");
+      continue;
+    }
 
-      //create an OGRGeometry
-      if(OGRGeometryFactory::createFromWkb(it->second.wkbBuffer(), ogrLayer->GetSpatialRef(), &theNewGeometry, it->second.wkbSize()) != OGRERR_NONE)
-	{
-	  QgsLogger::warning("QgsOgrProvider::changeGeometryValues, error while creating new OGRGeometry");
-	  delete theNewGeometry;
-	  theNewGeometry = 0;
-	  continue;
-	}
+    //create an OGRGeometry
+    if (OGRGeometryFactory::createFromWkb(it->wkbBuffer(),
+                                          ogrLayer->GetSpatialRef(),
+                                          &theNewGeometry,
+                                          it->wkbSize()) != OGRERR_NONE)
+    {
+      QgsLogger::warning("QgsOgrProvider::changeGeometryValues, error while creating new OGRGeometry");
+      delete theNewGeometry;
+      theNewGeometry = 0;
+      continue;
+    }
 
-      if(!theNewGeometry)
-	{
-	  QgsLogger::warning("QgsOgrProvider::changeGeometryValues, new geometry is NULL");
-	  continue;
-	}
+    if(!theNewGeometry)
+    {
+      QgsLogger::warning("QgsOgrProvider::changeGeometryValues, new geometry is NULL");
+      continue;
+    }
       
-      //set the new geometry
-      if(theOGRFeature->SetGeometryDirectly(theNewGeometry) != OGRERR_NONE)
-	{
-	  QgsLogger::warning("QgsOgrProvider::changeGeometryValues, error while replacing geometry");
-	  delete theNewGeometry;
-	  theNewGeometry = 0;
-	  continue;
-	}
-      ogrLayer->SetFeature(theOGRFeature);
+    //set the new geometry
+    if(theOGRFeature->SetGeometryDirectly(theNewGeometry) != OGRERR_NONE)
+    {
+      QgsLogger::warning("QgsOgrProvider::changeGeometryValues, error while replacing geometry");
+      delete theNewGeometry;
+      theNewGeometry = 0;
+      continue;
     }
+    
+    ogrLayer->SetFeature(theOGRFeature);
+  }
   ogrLayer->SyncToDisk();
   return true;
 }
 
 bool QgsOgrProvider::createSpatialIndex()
 {
-    QString filename=getDataSourceUri().section('/',-1,-1);//find out the filename from the uri
+    QString filename=dataSourceUri().section('/',-1,-1);//find out the filename from the uri
     QString layername=filename.section('.',0,0);
     QString sql="CREATE SPATIAL INDEX ON "+layername;
     ogrDataSource->ExecuteSQL (sql.ascii(), ogrLayer->GetSpatialFilter(),"");
     //find out, if the .qix file is there
-    QString indexname = getDataSourceUri();
-    indexname.truncate(getDataSourceUri().length()-filename.length());
+    QString indexname = dataSourceUri();
+    indexname.truncate(dataSourceUri().length()-filename.length());
     indexname=indexname+layername+".qix";
     QFile indexfile(indexname);
     if(indexfile.exists())
@@ -1264,17 +856,23 @@
     }
 }
 
-bool QgsOgrProvider::deleteFeatures(std::list<int> const & id)
+bool QgsOgrProvider::deleteFeatures(const QgsFeatureIds & id)
 {
   bool returnvalue=true;
-  for(std::list<int>::const_iterator it=id.begin();it!=id.end();++it)
+  for (QgsFeatureIds::const_iterator it = id.begin(); it != id.end(); ++it)
   {
     if(!deleteFeature(*it))
     {
       returnvalue=false;
     }
   }
+
   ogrLayer->SyncToDisk();
+  QString filename=dataSourceUri().section('/',-1,-1);//find out the filename from the uri
+  QString layername=filename.section('.',0,0);
+  QString sql="REPACK " + layername;
+  ogrDataSource->ExecuteSQL(sql.toLocal8Bit().data(), NULL, NULL);
+  numberFeatures = ogrLayer->GetFeatureCount(); //new feature count
   return returnvalue;
 }
 
@@ -1444,6 +1042,9 @@
     {
         return myFileFilters;
     }
+    
+    // register ogr plugins
+    OGRRegisterAll();
 
     // first get the GDAL driver manager
 
@@ -1589,7 +1190,7 @@
     myFileFilters += "All files (*.*)";
 
 #ifdef QGISDEBUG
-    qDebug() << myFileFilters;
+    //qDebug() << myFileFilters;
 #endif
     return myFileFilters;
 
@@ -1650,8 +1251,11 @@
 @param vectortype point/line/polygon or multitypes
 @param attributes a list of name/type pairs for the initial attributes
 @return true in case of success*/
-QGISEXTERN bool createEmptyDataSource(const QString& uri,const QString& format, const QString& encoding,\
-QGis::WKBTYPE vectortype, const std::list<std::pair<QString, QString> >& attributes)
+QGISEXTERN bool createEmptyDataSource(const QString& uri,
+                                      const QString& format,
+                                      const QString& encoding,
+                                      QGis::WKBTYPE vectortype,
+                                      const std::list<std::pair<QString, QString> >& attributes)
 {
     OGRSFDriver* driver;
     OGRRegisterAll();
@@ -1672,16 +1276,8 @@
     OGRSpatialReference* reference = NULL;
     QgsSpatialRefSys mySpatialRefSys;
     mySpatialRefSys.validate();
-    char* WKT;
-    QString myWKT = NULL;
-    if(mySpatialRefSys.toOgrSrs().exportToWkt(&WKT)==OGRERR_NONE)
-    {
-	myWKT=WKT;
-    }
-    else
-    {
-	QgsLogger::warning("createEmptyDataSource: export of srs to wkt failed");
-    }
+    QString myWKT = mySpatialRefSys.toWkt();
+    
     if( !myWKT.isNull()  &&  myWKT.length() != 0 )
     {
 	reference = new OGRSpatialReference(myWKT.toLocal8Bit().data());
@@ -1700,6 +1296,22 @@
     case QGis::WKBPolygon:
       OGRvectortype = wkbPolygon;
       break;
+    case QGis::WKBMultiPoint:
+      OGRvectortype = wkbMultiPoint;
+      break;
+    case QGis::WKBMultiLineString:
+      OGRvectortype = wkbMultiLineString;
+      break;
+    case QGis::WKBMultiPolygon:
+      OGRvectortype = wkbMultiPolygon;
+      break;
+    default:
+      {
+        QgsLogger::debug("Unknown vector type of: ", (int)(vectortype), 1, 
+                         __FILE__, __FUNCTION__, __LINE__);
+	return false;
+	break;
+      }
     }
 
     OGRLayer* layer;	
@@ -1710,7 +1322,7 @@
     }
 
     //create the attribute fields
-
+    
     QTextCodec* codec=QTextCodec::codecForName(encoding.toLocal8Bit().data());
     
     for(std::list<std::pair<QString, QString> >::const_iterator it= attributes.begin(); it != attributes.end(); ++it)
@@ -1759,3 +1371,40 @@
 
 
 
+QgsSpatialRefSys QgsOgrProvider::getSRS()
+{
+  QgsDebugMsg("QgsOgrProvider::getSRS()");
+
+  QgsSpatialRefSys srs;
+  
+  OGRSpatialReference * mySpatialRefSys = ogrLayer->GetSpatialRef();
+  if (mySpatialRefSys == NULL)
+  {
+    QgsDebugMsg("no spatial reference found"); 
+  }
+  else
+  {
+    // if appropriate, morph the projection from ESRI form
+    QString fileName = ogrDataSource->GetName();
+    QgsDebugMsg("Data source file name is : " + fileName); 
+    if(fileName.contains(".shp"))
+    {
+      QgsDebugMsg("Morphing " + fileName + " WKT from ESRI"); 
+      // morph it
+      mySpatialRefSys->morphFromESRI();
+    }
+    // get the proj4 text
+    char * ppszProj4;
+    mySpatialRefSys->exportToProj4   ( &ppszProj4 );
+    QgsDebugMsg(ppszProj4); 
+    char    *pszWKT = NULL;
+    mySpatialRefSys->exportToWkt( &pszWKT );
+    QString myWKTString = QString(pszWKT);
+    OGRFree(pszWKT);  
+    
+    // create SRS from WKT
+    srs.createFromWkt( myWKTString );
+  }
+
+  return srs;
+}

Modified: packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/ogr/qgsogrprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -14,7 +14,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgsogrprovider.h 6274 2006-12-18 06:06:48Z telwertowski $ */
+/* $Id: qgsogrprovider.h 6879 2007-04-11 11:46:35Z wonder $ */
 
 #include "qgsrect.h"
 #include "qgsvectordataprovider.h"
@@ -30,12 +30,10 @@
 #define GEOS_UTIL geos::util
 #endif
 
-#include <ogr_spatialref.h>
-#include <ogrsf_frmts.h>
-
 class QgsFeature;
 class QgsField;
 class OGRDataSource;
+class OGRSFDriver;
 class OGRLayer;
 class OGRFeature;
 class OGREnvelope;
@@ -45,52 +43,68 @@
   \class QgsOgrProvider
   \brief Data provider for ESRI shapefiles
   */
-class QgsOgrProvider:public QgsVectorDataProvider
+class QgsOgrProvider : public QgsVectorDataProvider
 {
   public:
+    
+    /**
+     * Constructor of the vector provider
+     * @param uri  uniform resource locator (URI) for a dataset
+     */
     QgsOgrProvider(QString const & uri = "");
-    virtual ~ QgsOgrProvider();
+    
+    /**
+     * Destructor
+     */
+    virtual ~QgsOgrProvider();
 
+    
+    
+    virtual QgsSpatialRefSys getSRS();
+   
+    
     /**
-      *   Returns the permanent storage type for this layer as a friendly name.
-      */
-    QString storageType();
+     *   Returns the permanent storage type for this layer as a friendly name.
+     */
+    virtual QString storageType() const;
 
-    /** Used to ask the layer for its projection as a WKT string. Implements virtual method of same name in      QgsDataProvider. */
-    QString getProjectionWKT()  ;    
+    /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+     *  @param fetchAttributes list of attributes which should be fetched
+     *  @param rect spatial filter
+     *  @param fetchGeometry true if the feature geometry should be fetched
+     *  @param useIntersect true if an accurate intersection test should be used,
+     *                     false if a test based on bounding box is sufficient
+     */
+    virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                        QgsRect rect = QgsRect(),
+                        bool fetchGeometry = true,
+                        bool useIntersect = false);
+  
     /**
-     * Get the first feature resulting from a select operation
-     * @return QgsFeature
+     * Get the next feature resulting from a select operation.
+     * @param feature feature which will receive data from the provider
+     * @return true when there was a feature to fetch, false when end was hit
      */
-    QgsFeature *getFirstFeature(bool fetchAttributes = false);
+    virtual bool getNextFeature(QgsFeature& feature);
+    
     /** 
-     * Get the next feature resutling from a select operation
-     * @return QgsFeature
+     * Gets the feature at the given feature ID.
+     * @param featureId id of the feature
+     * @param feature feature which will receive the data
+     * @param fetchGeoemtry if true, geometry will be fetched from the provider
+     * @param fetchAttributes a list containing the indexes of the attribute fields to copy
+     * @return True when feature was found, otherwise false
      */
-    QgsFeature *getNextFeature(bool fetchAttributes = false);
-    /**Get the next feature resulting from a select operation.
-    *@param attlist a list containing the indexes of the attribute fields to copy
-    *@param getnotcommited flag indicating if not commited features should be returned
-    */
-    QgsFeature *getNextFeature(std::list<int> const& attlist, int featureQueueSize = 1);
-    /** 
-     * Get the next feature resutling from a select operation
-     * @return True if the feature was read. This does not indicate
-     * that the feature is valid. Use QgsFeature::isValid() to check
-     * the validity of a feature before using it.
-     */
-    bool getNextFeature(QgsFeature &feature, bool fetchAttributes = false);
+    virtual bool getFeatureAtId(int featureId,
+                                QgsFeature& feature,
+                                bool fetchGeometry = true,
+                                QgsAttributeList fetchAttributes = QgsAttributeList());
 
-    /** Get the feature type. This corresponds to 
-      WKBPoint,
-      WKBLineString,
-      WKBPolygon,
-      WKBMultiPoint,
-      WKBMultiLineString or
-      WKBMultiPolygon
-     * as defined in qgis.h
+    /**
+     * Get feature type.
+     * @return int representing the feature type
      */
-    int geometryType() const;
+    virtual QGis::WKBTYPE geometryType() const;
 
     /** return the number of layers for the current data source
 
@@ -98,101 +112,49 @@
 
     Should this be subLayerCount() instead?
     */
-    size_t layerCount() const;
+    virtual size_t layerCount() const;
 
     /** 
      * Get the number of features in the layer
      */
-    long featureCount() const;
+    virtual long featureCount() const;
+
+
     /** 
      * Get the number of fields in the layer
      */
-    int fieldCount() const;
-    /**
-     * Select features based on a bounding rectangle. Features can be retrieved 
-     * with calls to getFirstFeature and getNextFeature.
-     * @param mbr QgsRect containing the extent to use in selecting features
-     * @param useIntersect Use geos functions to determine the selected set
-     */
-    void select(QgsRect * mbr, bool useIntersect = false);
+    virtual uint fieldCount() const;
 
     /**
-     * Identify features within the search radius specified by rect
-     * @param rect Bounding rectangle of search radius
-     * @return std::vector containing QgsFeature objects that intersect rect
+     * Get the field information for the layer
      */
-    virtual std::vector < QgsFeature > &identify(QgsRect * rect);
+    virtual const QgsFieldMap & fields() const;
 
     /** Return the extent for this data layer
-    */
-    virtual QgsRect *extent();
-
-    /**Get an attribute associated with a feature*/
-    void getFeatureAttribute(OGRFeature * ogrFet, QgsFeature * f, int attindex);
-
-    /**
-     * Get the attributes associated with a feature
      */
-    void getFeatureAttributes(OGRFeature * ogrFet, QgsFeature * f);
+    virtual QgsRect extent();
 
-    /**
-     * Get the attributes associated with a feature
-     * TODO: Get rid of "row" and set up provider-internal caching instead
-     *       ("row" was only ever used in the PostgreSQL provider context anyway)
-     */
-    void getFeatureAttributes(int key, int& row, QgsFeature *f);
+    /** Restart reading features from previous select operation */
+    virtual void reset();
 
-    /**
-     * Fetch geometry for a particular feature with id "key",
-     * modifies "f" in-place.
-     */
-    void getFeatureGeometry(int key, QgsFeature *f);
-
-    /**
-     * Get the field information for the layer
-     */
-    std::vector < QgsField > const & fields() const;
-
-    /* Reset the layer - for an OGRLayer, this means clearing the
-     * spatial filter and calling ResetReading
-     */
-    /* virtual */ void reset();
-
-    /**Returns the minimum value of an attribut
-      @param position the number of the attribute*/
-    QString minValue(int position);
-
-    /**Returns the maximum value of an attribut
-      @param position the number of the attribute*/
-    QString maxValue(int position);
-
-    /**Returns true if this is a valid shapefile
-    */
-    bool isValid();
-
     /**Writes a list of features to the file*/
-    bool addFeatures(std::list<QgsFeature*> const flist);
+    virtual bool addFeatures(QgsFeatureList & flist);
 
     /**Deletes a feature*/
-    bool deleteFeatures(std::list<int> const & id);
+    virtual bool deleteFeatures(const QgsFeatureIds & id);
     
     /**Adds new attributess. Unfortunately not supported for layers with features in it*/
-    bool addAttributes(std::map<QString,QString> const & name);
+    virtual bool addAttributes(const QgsNewAttributesMap & attributes);
 
     /**Changes attribute values of existing features */
-    bool changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map);
+    virtual bool changeAttributeValues(const QgsChangedAttributesMap & attr_map);
 
     /**Changes existing geometries*/
-    bool changeGeometryValues(std::map<int, QgsGeometry> & geometry_map);
+    virtual bool changeGeometryValues(QgsGeometryMap & geometry_map);
 
-    QgsDataSourceURI * getURI()
-    { 
-        return 0;
-    }
-
     /**Tries to create a .qix index file for faster access if only a subset of the features is required
      @return true in case of success*/
-    bool createSpatialIndex();
+    virtual bool createSpatialIndex();
 
     /** Returns a bitmask containing the supported capabilities
         Note, some capabilities may change depending on whether
@@ -200,9 +162,9 @@
         be prudent to check this value per intended operation.
         See the OGRLayer::TestCapability API for details.
       */
-    int capabilities() const;
+    virtual int capabilities() const;
 
-    void setEncoding(const QString& e);
+    virtual void setEncoding(const QString& e);
     
 
     /** return vector file filter string
@@ -218,11 +180,17 @@
     */
     /* virtual */ QString fileVectorFilters() const;
 
+    /**Returns true if this is a valid shapefile
+    */
+    bool isValid();
 
+
   protected:
     /** loads fields from input file to member attributeFields */
     void loadFields();
 
+    /**Get an attribute associated with a feature*/
+    void getFeatureAttribute(OGRFeature * ogrFet, QgsFeature & f, int attindex);
 
       /** return a provider name
 
@@ -257,7 +225,8 @@
 
   private:
     unsigned char *getGeometryPointer(OGRFeature * fet);
-    std::vector < QgsField > attributeFields;
+    
+    QgsFieldMap mAttributeFields;
 
     OGRDataSource *ogrDataSource;
     OGREnvelope *extent_;
@@ -277,26 +246,14 @@
     bool mUseIntersect;
     int geomType;
     long numberFeatures;
-    enum ENDIAN
-    {
-      NDR = 1,
-      XDR = 0
-    };
-    /**Flag indicating, if the minmaxcache should be renewed (true) or not (false)*/
-    bool minmaxcachedirty;
-    /**Matrix storing the minimum and maximum values*/
-    double **minmaxcache;
-    /**Fills the cash and sets minmaxcachedirty to false*/
-    void fillMinMaxCash();
+    
     //! Selection rectangle 
     OGRPolygon * mSelectionRectangle;
     /**Adds one feature*/
-    bool addFeature(QgsFeature* f);
+    bool addFeature(QgsFeature& f);
     /**Deletes one feature*/
     bool deleteFeature(int id);
     //! The geometry factory
     GEOS_GEOM::GeometryFactory *geometryFactory;
-    //! The well known text reader
-    GEOS_IO::WKTReader *wktReader;
 
 };

Added: packages/qgis/branches/upstream/current/src/providers/postgres/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,8 @@
+*.lo
+*.la
+Makefile.in
+Makefile
+.libs
+.deps
+*.moc.cpp
+

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -10,10 +10,9 @@
 qgspostgresextentthread.cpp
 )
 
-IF(NOT WIN32)
-    SET(PG_MOC_HDRS qgspostgresprovider.h)
-ENDIF(NOT WIN32)
+SET(PG_MOC_HDRS qgspostgresprovider.h)
 
+
 ########################################################
 # Build
 
@@ -21,11 +20,8 @@
 
 INCLUDE_DIRECTORIES (
   ../../core
-  ../../gui
-  ${CMAKE_CURRENT_BINARY_DIR}/../../ui
   ${POSTGRES_INCLUDE_DIR}
   ${GEOS_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
 )
 
 ADD_LIBRARY (postgresprovider MODULE ${PG_SRCS} ${PG_MOC_SRCS})
@@ -33,7 +29,6 @@
 TARGET_LINK_LIBRARIES (postgresprovider
   ${QT_LIBRARIES}
   ${POSTGRES_LIBRARY}
-  ${GDAL_LIBRARIES}
   qgis_core
 )
 

Deleted: packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,34 +0,0 @@
-INCLUDES = -I../../core/ -I../../gui/ -I../../ui/
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES     = postgresprovider.la
-
-
-## non-uic files generated from MOC
-
-postgresprovider_MOC =	qgspostgresprovider.moc.cpp
-
-                
-postgresprovider_la_SOURCES =					\
-		qgspostgresprovider.cpp				\
-		qgspostgresprovider.moc.cpp			\
-		qgspostgresprovider.h				\
-		qgspostgisbox2d.cpp				\
-		qgspostgisbox2d.h				\
-		qgspostgisbox3d.cpp				\
-		qgspostgisbox3d.h				\
-		qgspostgrescountthread.cpp			\
-		qgspostgrescountthread.h			\
-		qgspostgresextentthread.cpp			\
-		qgspostgresextentthread.h
-
-BUILT_SOURCES = $(postgresprovider_MOC)
-                                
-postgresprovider_la_LIBADD = $(QT_LDADD) $(PG_LIB) $(GEOS_LDADD) ../../core/libqgis_core.la ../../gui/libqgis_gui.la
-postgresprovider_la_LDFLAGS = -avoid-version -module
-postgresprovider_la_CXXFLAGS = $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(GDAL_CFLAGS)
-
-CLEANFILES = $(BUILT_SOURCES)

Deleted: packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,30 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-PROVIDER = .libs/postgresprovider.dll
-
-all: objects $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile
-
-$(PROVIDER): .libs/postgresprovider.a
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/postgresprovider.a \
-		-Wl,--no-whole-archive \
-			$(CORE_A) $(GUI_A) $(CORE_A) \
-			$(RASTER_A) $(PROJSEL_A) $(LEGEND_A) \
-			$(GUI_A) $(CORE_A) $(COMPOSER_A) $(GUI_A) \
-			-lpq -lgdal -lgeos -lsqlite3 -lproj  \
-                        $(QT_LDADD) \
-                        -lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 .libs/postgresprovider.dll $(prefix)/lib/qgis/postgresprovider.dll
-
-include ../../../Makefile.win.rules

Deleted: packages/qgis/branches/upstream/current/src/providers/postgres/postgres.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/postgres.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/postgres.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,47 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the gui library - the app is built in a separate pro file
-#
-
-include(../../../settings.pro)
-TARGET=postgresprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-#LIBS += $${GDALLIBADD}
-LIBS += $${GEOSLIBADD}
-LIBS += $${PROJLIBADD}
-LIBS += $${POSTGRESLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-LIBS += $${QGISPROJECTIONSELECTORLIBADD}
-DESTDIR=$${QGISPROVIDERDIR}
-#QT += qt3support svg core gui xml network
-QT += core gui qt3support xml
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgspostgresprovider.h \
-           qgspostgrescountthread.h \
-           qgspostgisbox2d.h \
-           qgspostgisbox3d.h \
-           qgspostgresextentthread.h \
-           
-
-SOURCES += qgspostgresprovider.cpp \
-           qgspostgrescountthread.cpp \
-           qgspostgisbox2d.cpp \
-           qgspostgisbox3d.cpp \
-           qgspostgresextentthread.cpp \

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,11 +15,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgisbox2d.cpp 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgisbox2d.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include <fstream>
 
-#include <qstring.h>
+#include <QString>
 
 #include "qgsrect.h"
 

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox2d.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,15 +15,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgisbox2d.h 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgisbox2d.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPOSTGISBOX2D_H
 #define QGSPOSTGISBOX2D_H
 
 #include <string>
 
-#include <qstring.h>
-
 #include "qgsrect.h"
 
 /*!

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,11 +15,11 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgisbox3d.cpp 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgisbox3d.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include <fstream>
 
-#include <qstring.h>
+#include <QString>
 
 #include "qgsrect.h"
 

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgisbox3d.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,15 +15,13 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgisbox3d.h 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgisbox3d.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPOSTGISBOX3D_H
 #define QGSPOSTGISBOX3D_H
 
 #include <string>
 
-#include <qstring.h>
-
 #include "qgsrect.h"
 
 /*!

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,15 +15,14 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgrescountthread.cpp 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgrescountthread.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include <fstream>
-#include <qevent.h>
-#include <qapplication.h>
+#include <QEvent>
+#include <QApplication>
 
 #include "qgis.h"
 #include "qgsrect.h"
-#include "qgsmapcanvas.h"
 
 #include "qgsprovidercountcalcevent.h"
 

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgrescountthread.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgrescountthread.h 2936 2005-03-10 05:38:27Z gsherman $ */
+/* $Id: qgspostgrescountthread.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPOSTGRESCOUNTTHREAD_H
 #define QGSPOSTGRESCOUNTTHREAD_H
@@ -25,7 +25,7 @@
 #include <libpq-fe.h>
 }
 
-#include <qthread.h>
+#include <QThread>
 
 /*!
  * \brief   A thread to retrieve the exact number of items in a PostgreSQL/PostGIS table.

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,17 +15,15 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgresextentthread.cpp 4501 2006-01-08 01:17:57Z timlinux $ */
+/* $Id: qgspostgresextentthread.cpp 6415 2007-01-09 02:39:15Z wonder $ */
 
 #include <fstream>
-#include <qevent.h>
-#include <qapplication.h>
-//Added by qt3to4:
+#include <QEvent>
+#include <QApplication>
 #include <QCustomEvent>
 
 #include "qgis.h"
 #include "qgsrect.h"
-#include "qgsmapcanvas.h"
 
 
 #include "qgspostgresextentthread.h"

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresextentthread.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,7 +15,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgresextentthread.h 2936 2005-03-10 05:38:27Z gsherman $ */
+/* $Id: qgspostgresextentthread.h 6415 2007-01-09 02:39:15Z wonder $ */
 
 #ifndef QGSPOSTGRESEXTENTTHREAD_H
 #define QGSPOSTGRESEXTENTTHREAD_H
@@ -25,7 +25,7 @@
 #include <libpq-fe.h>
 }
 
-#include <qthread.h>
+#include <QThread>
 
 /*!
  * \brief   A thread to retrieve the exact extent in a PostgreSQL/PostGIS table in its native coordinates

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,33 +15,34 @@
  *                                                                         *
  ***************************************************************************/
 
-/* $Id: qgspostgresprovider.cpp 6837 2007-03-27 17:51:29Z homann $ */
+/* $Id: qgspostgresprovider.cpp 7138 2007-08-14 15:28:22Z mhugent $ */
 
+// for htonl
+#ifdef WIN32
+#include <winsock.h>
+#else
+#include <netinet/in.h>
+#endif
+
 #include <fstream>
 #include <iostream>
 #include <cassert>
 
 #include <QStringList>
 #include <QApplication>
-#include <QMessageBox>
 #include <QEvent>
 #include <QCustomEvent>
 #include <QTextOStream>
-#include <QRegExp>
-#include <QMap>
 
-// for ntohl
-#ifdef WIN32
-#include <winsock.h>
-#else
-#include <netinet/in.h>
-#endif
 
 #include <qgis.h>
+#include <qgsapplication.h>
 #include <qgsfeature.h>
 #include <qgsfield.h>
+#include <qgsgeometry.h>
+#include <qgsmessageoutput.h>
 #include <qgsrect.h>
-#include <qgsmessageviewer.h>
+#include <qgsspatialrefsys.h>
 
 #include "qgsprovidercountcalcevent.h"
 #include "qgsproviderextentcalcevent.h"
@@ -65,8 +66,9 @@
 
 
 QgsPostgresProvider::QgsPostgresProvider(QString const & uri)
-  :  QgsVectorDataProvider(uri),
+  : QgsVectorDataProvider(uri),
   geomType(QGis::WKBUnknown),
+  mFeatureQueueSize(200),
   gotPostgisVersion(FALSE)
 {
   // assume this is a valid layer until we determine otherwise
@@ -78,310 +80,225 @@
   // string:
   //  host=192.168.1.5 dbname=test port=5342 user=gsherman password=xxx table=tablename
 
-  // A little bit of backwards compability. At r6193 the schema/table
-  // names became fully quoted, but with the problem that earlier
-  // project files then didn't load. This bit of code puts in the
-  // quotes that are now required.
-  QString uriModified = uri;
-  int start = uriModified.indexOf("table=\"");
-  if (start == -1)
-    {
-      // Need to put in some "'s
-      start = uriModified.indexOf("table=");
-      uriModified.insert(start+6, '"');
-      int start_dot = uriModified.indexOf('.', start+7);
-      if (start_dot != -1)
-        {
-          uriModified.insert(start_dot, '"');
-          uriModified.insert(start_dot+2, '"');
-        }
-      // and one at the end
-      int end = uriModified.indexOf(' ',start);
-      if (end != -1)
-        uriModified.insert(end, '"');
-    }
+  QgsDebugMsg("Postgresql Layer Creation");
+  QgsDebugMsg("URI: " + uri);
 
-  // Strip the table and sql statement name off and store them
-  int sqlStart = uriModified.find(" sql");
-  int tableStart = uriModified.find("table=");
-#ifdef QGISDEBUG
-  qDebug(  "****************************************");
-  qDebug(  "****   Postgresql Layer Creation   *****" );
-  qDebug(  "****************************************");
-  qDebug(  (const char*)(QString("URI: ") + uriModified).toLocal8Bit().data() );
-  QString msg;
+  mUri = QgsDataSourceURI(uri);
 
-  qDebug(  "tableStart: " + msg.setNum(tableStart) );
-  qDebug(  "sqlStart: " + msg.setNum(sqlStart));
-#endif 
-  mTableName = uriModified.mid(tableStart + 6, sqlStart - tableStart -6);
+  /* populate members from the uri structure */
+  mSchemaName = mUri.schema;
+  mTableName = mUri.table;
+  geometryColumn = mUri.geometryColumn;
+  sqlWhereClause = mUri.sql;
 
-  if(sqlStart > -1)
-  { 
-    sqlWhereClause = uriModified.mid(sqlStart + 5);
-  }
-  else
-  {
-    sqlWhereClause = QString::null;
-  }
-  QString connInfo = uriModified.left(uriModified.find("table="));
-#ifdef QGISDEBUG
-  qDebug( (const char*)(QString("Table name is ") + mTableName).toLocal8Bit().data());
-  qDebug( (const char*)(QString("SQL is ") + sqlWhereClause).toLocal8Bit().data() );
-  qDebug( "Connection info is " + connInfo);
-#endif
-
-  // Pick up some stuff from the uriModified: basically two bits of text
-  // inside double quote marks, separated by a .
-  QRegExp reg("\"(.+)\"\\.\"(.+)\".+\\((.+)\\)");
-  reg.indexIn(mTableName);
-  QStringList stuff = reg.capturedTexts();
-
-  mSchemaName = stuff[1];
-  mTableName = stuff[2];
-  geometryColumn = stuff[3];
-
   // Keep a schema qualified table name for convenience later on.
   if (mSchemaName.length() > 0)
     mSchemaTableName = "\"" + mSchemaName + "\".\"" + mTableName + "\"";
   else
     mSchemaTableName = "\"" + mTableName + "\"";
 
-  /* populate the uri structure */
-  mUri.schema = mSchemaName;
-  mUri.table = mTableName;
-  mUri.geometryColumn = geometryColumn;
-  mUri.sql = sqlWhereClause;
-  // parse the connection info
-  QStringList conParts = QStringList::split(" ", connInfo);
-  QStringList parm = QStringList::split("=", conParts[0]);
-  if(parm.size() == 2)
-  {
-    mUri.host = parm[1];
-  }
-  parm = QStringList::split("=", conParts[1]);
-  if(parm.size() == 2)
-  {
-    mUri.database = parm[1];
-  }
-  parm = QStringList::split("=", conParts[2]);
-  if(parm.size() == 2)
-  {
-    mUri.port = parm[1];
-  }
 
-  parm = QStringList::split("=", conParts[3]);
-  if(parm.size() == 2)
-  {
-    mUri.username = parm[1];
-  }
-
-  // The password can have '=' and ' ' characters in it, so we can't
-  // use the split on '=' and ' ' technique - use indexOf()
-  // instead.
-  QString key="password='";
-  int i = connInfo.indexOf(key);
-  if (i != -1)
-    {
-      QString password = connInfo.mid(i+key.length());
-      // Now walk through the string till we find a ' character, but
-      // need to allow for an escaped ' character (which will be the
-      // \' character pair).
-      int n = 0;
-      bool escaped = false;
-      while (n < password.length() && (password[n] != '\'' || escaped))
-        {
-          if (password[n] == '\\')
-            escaped = true;
-          else
-            escaped = false;
-          n++;
-        }
-      // The -1 is to remove the trailing ' character
-      mUri.password = password.left(n);
-    }
-  else
-  /* end uri structure */
-
+  QgsDebugMsg("Table name is " + mTableName);
+  QgsDebugMsg("SQL is " + sqlWhereClause);
+  QgsDebugMsg("Connection info is " + mUri.connInfo);
+  
   QgsDebugMsg("Geometry column is: " + geometryColumn);
   QgsDebugMsg("Schema is: " + mSchemaName);
   QgsDebugMsg("Table name is: " + mTableName);
-
+  
   //QString logFile = "./pg_provider_" + mTableName + ".log";
   //pLog.open((const char *)logFile);
-
-  QgsDebugMsg("Opened log file for " + mTableName);
-
-  PGconn *pd = PQconnectdb((const char *) connInfo);
+  //QgsDebugMsg("Opened log file for " + mTableName);
+  
+  PGconn *pd = PQconnectdb((const char *) mUri.connInfo);
   // check the connection status
-  if (PQstatus(pd) == CONNECTION_OK)
+  if (PQstatus(pd) != CONNECTION_OK)
   {
-    // store the connection for future use
-    connection = pd;
+    QgsDebugMsg("Connection to database failed");
+    valid = false;
+    return;
+  }
+  
+  // store the connection for future use
+  connection = pd;
 
-    //set client encoding to unicode because QString uses UTF-8 anyway
-    QgsDebugMsg("setting client encoding to UNICODE");
+  //set client encoding to unicode because QString uses UTF-8 anyway
+  QgsDebugMsg("setting client encoding to UNICODE");
+  
+  int errcode=PQsetClientEncoding(connection, "UNICODE");
+  
+  if(errcode==0) {
+    QgsDebugMsg("encoding successfully set");
+  } else if(errcode==-1) {
+      QgsDebugMsg("error in setting encoding");
+  } else {
+      QgsDebugMsg("undefined return value from encoding setting");
+  }
 
-    int errcode=PQsetClientEncoding(connection, "UNICODE");
-#ifdef QGISDEBUG
-    if(errcode==0)
-    {
-        qWarning("encoding successfully set");
-    }
-    else if(errcode==-1)
-    {
-        qWarning("error in setting encoding");
-    }
-    else
-    {
-        qWarning("undefined return value from encoding setting");
-    }
-#endif
+  QgsDebugMsg("Checking for select permission on the relation\n");
+  
+  // Check that we can read from the table (i.e., we have
+  // select permission).
+  QString sql = "select * from " + mSchemaTableName + " limit 1";
+  PGresult* testAccess = PQexec(pd, (const char*)(sql.utf8()));
+  if (PQresultStatus(testAccess) != PGRES_TUPLES_OK)
+  {
+    showMessageBox(tr("Unable to access relation"),
+        tr("Unable to access the ") + mSchemaTableName + 
+        tr(" relation.\nThe error message from the database was:\n") +
+        QString(PQresultErrorMessage(testAccess)) + ".\n" + 
+        "SQL: " + sql);
+    PQclear(testAccess);
+    valid = false;
+    PQfinish(connection);
+    return;
+  }
+  PQclear(testAccess);
 
-    QgsDebugMsg("Checking for select permission on the relation");
+  /* Check to see if we have GEOS support and if not, warn the user about
+      the problems they will see :) */
+  QgsDebugMsg("Checking for GEOS support");
 
-    // Check that we can read from the table (i.e., we have
-    // select permission).
-    QString sql = "select * from " + mSchemaTableName + " limit 1";
-    PGresult* testAccess = PQexec(pd, (const char*)(sql.utf8()));
-    if (PQresultStatus(testAccess) != PGRES_TUPLES_OK)
-    {
-      showMessageBox(tr("Unable to access relation"),
-          tr("Unable to access the ") + mSchemaTableName + 
-          tr(" relation.\nThe error message from the database was:\n") +
-          QString(PQresultErrorMessage(testAccess)) + ".\n" + 
-          "SQL: " + sql);
-      PQclear(testAccess);
-      valid = false;
-      return;
-    }
-    PQclear(testAccess);
+  if(!hasGEOS(pd))
+  {
+    showMessageBox(tr("No GEOS Support!"),
+        tr("Your PostGIS installation has no GEOS support.\n"
+    "Feature selection and identification will not "
+    "work properly.\nPlease install PostGIS with " 
+    "GEOS support (http://geos.refractions.net)"));
+  }
+  //--std::cout << "Connection to the database was successful\n";
 
-    /* Check to see if we have GEOS support and if not, warn the user about
-       the problems they will see :) */
-    QgsDebugMsg("Checking for GEOS support");
+  if (!getGeometryDetails()) // gets srid and geometry type
+  {
+    // the table is not a geometry table
+    numberFeatures = 0;
+    valid = false;
+    
+    QgsDebugMsg("Invalid Postgres layer");
+    PQfinish(connection);
+    return;
+  }
+  
+  deduceEndian();
+  calculateExtents();
+  getFeatureCount();
 
-    if(!hasGEOS(pd))
-    {
-      showMessageBox(tr("No GEOS Support!"),
-		     tr("Your PostGIS installation has no GEOS support.\n"
-			"Feature selection and identification will not "
-			"work properly.\nPlease install PostGIS with " 
-			"GEOS support (http://geos.refractions.net)"));
-    }
-    //QgsDebugMsg("Connection to the database was successful");
+  // Get the relation oid for use in later queries
+  sql = "SELECT oid FROM pg_class WHERE relname = '" + mTableName + "' AND relnamespace = ("
+"SELECT oid FROM pg_namespace WHERE nspname = '" + mSchemaName + "')";
+  PGresult *tresult= PQexec(pd, (const char *)(sql.utf8()));
+  QString tableoid = PQgetvalue(tresult, 0, 0);
+  PQclear(tresult);
 
-    if (getGeometryDetails()) // gets srid and geometry type
-    {
-      deduceEndian();
-      calculateExtents();
-      getFeatureCount();
+  // Get the table description
+  sql = "SELECT description FROM pg_description WHERE "
+      "objoid = " + tableoid + " AND objsubid = 0";
+  tresult = PQexec(pd, (const char*) sql.utf8());
+  if (PQntuples(tresult) > 0)
+    mDataComment = PQgetvalue(tresult, 0, 0);
+  PQclear(tresult);
 
-      // Populate the field vector for this layer. The field vector contains
-      // field name, type, length, and precision (if numeric)
-      sql = "select * from " + mSchemaTableName + " limit 1";
+  // Populate the field vector for this layer. The field vector contains
+  // field name, type, length, and precision (if numeric)
+  sql = "select * from " + mSchemaTableName + " limit 0";
 
-      PGresult* result = PQexec(pd, (const char *) (sql.utf8()));
-      //QgsDebugMsg("Field: Name, Type, Size, Modifier:");
-      for (int i = 0; i < PQnfields(result); i++)
-      {
-        QString fieldName = PQfname(result, i);
-        int fldtyp = PQftype(result, i);
-        QString typOid = QString().setNum(fldtyp);
-        int fieldModifier = PQfmod(result, i);
+  PGresult *result = PQexec(pd, (const char *) (sql.utf8()));
+  //--std::cout << "Field: Name, Type, Size, Modifier:" << std::endl;
 
-        sql = "select typelem from pg_type where typelem = " + typOid + " and typlen = -1";
-        //QgsDebugMsg(sql);
-        PGresult *oidResult = PQexec(pd, (const char *) sql);
-        // get the oid of the "real" type
-        QString poid = PQgetvalue(oidResult, 0, PQfnumber(oidResult, "typelem"));
-        PQclear(oidResult);
+  // The queries inside this loop could possibly be combined into one
+  // single query - this would make the code run faster.
 
-        sql = "select typname, typlen from pg_type where oid = " + poid;
-        //QgsDebugMsg(sql);
-        oidResult = PQexec(pd, (const char *) sql);
-        QString fieldType = PQgetvalue(oidResult, 0, 0);
-        QString fieldSize = PQgetvalue(oidResult, 0, 1);
-        PQclear(oidResult);
+  for (int i = 0; i < PQnfields(result); i++)
+  {
+    QString fieldName = PQfname(result, i);
+    int fldtyp = PQftype(result, i);
+    QString typOid = QString().setNum(fldtyp);
+    int fieldModifier = PQfmod(result, i);
+    QString fieldComment("");
 
-        sql = "select oid from pg_class where relname = '" + mTableName + "' and relnamespace = ("
-	  "select oid from pg_namespace where nspname = '" + mSchemaName + "')";
-        PGresult *tresult= PQexec(pd, (const char *)(sql.utf8()));
-        QString tableoid = PQgetvalue(tresult, 0, 0);
-        PQclear(tresult);
+    sql = "SELECT typname, typlen FROM pg_type WHERE "
+        "oid = (SELECT typelem FROM pg_type WHERE "
+        "typelem = " + typOid + " AND typlen = -1)";
 
-        sql = "select attnum from pg_attribute where attrelid = " + tableoid + " and attname = '" + fieldName + "'";
-        tresult = PQexec(pd, (const char *)(sql.utf8()));
-        QString attnum = PQgetvalue(tresult, 0, 0);
-        PQclear(tresult);
+    PGresult* oidResult = PQexec(pd, (const char *) sql);
+    QString fieldTypeName = PQgetvalue(oidResult, 0, 0);
+    QString fieldSize = PQgetvalue(oidResult, 0, 1);
+    PQclear(oidResult);
 
-        QgsDebugMsg("Field: " + attnum + " maps to " + QString::number(i) + " " + fieldName + ", " +  
-		    fieldType + " (" + QString::number(fldtyp) + "),  " + fieldSize + ", " + QString::number(fieldModifier));
+    sql = "SELECT attnum FROM pg_attribute WHERE "
+        "attrelid = " + tableoid + " AND attname = '" + fieldName + "'";
+    PGresult *tresult = PQexec(pd, (const char *)(sql.utf8()));
+    QString attnum = PQgetvalue(tresult, 0, 0);
+    PQclear(tresult);
 
-        attributeFieldsIdMap[attnum.toInt()] = i;
+    sql = "SELECT description FROM pg_description WHERE "
+        "objoid = " + tableoid + " AND objsubid = " + attnum;
+    tresult = PQexec(pd, (const char*)(sql.utf8()));
+    if (PQntuples(tresult) > 0)
+      fieldComment = PQgetvalue(tresult, 0, 0);
+    PQclear(tresult);
 
-        if(fieldName!=geometryColumn)
-        {
-          attributeFields.push_back(QgsField(fieldName, fieldType, fieldSize.toInt(), fieldModifier));
-        }
-      }
-      PQclear(result);
+    QgsDebugMsg("Field: " + attnum + " maps to " + QString::number(i) + " " + fieldName + ", " 
+      + fieldTypeName + " (" + QString::number(fldtyp) + "),  " + fieldSize + ", " + QString::number(fieldModifier));
+    
+    if(fieldName!=geometryColumn)
+    {
+      QVariant::Type fieldType;
+      if (fieldTypeName.find("int") != -1 || fieldTypeName.find("serial") != -1)
+        fieldType = QVariant::Int;
+      else if (fieldTypeName == "real" || fieldTypeName == "double precision" || \
+    fieldTypeName.find("float") != -1)
+        fieldType = QVariant::Double;
+      else
+        fieldType = QVariant::String;
+      attributeFields.insert(i, QgsField(fieldName, fieldType, fieldTypeName, fieldSize.toInt(), fieldModifier, fieldComment));
+    }
+  }
+  PQclear(result);
 
-      // set the primary key
-      getPrimaryKey();
-  
-      // Set the postgresql message level so that we don't get the
-      // 'there is no transaction in progress' warning.
+  // set the primary key
+  getPrimaryKey();
+
+  // Set the postgresql message level so that we don't get the
+  // 'there is no transaction in progress' warning.
 #ifndef QGISDEBUG
-      PQexec(connection, "set client_min_messages to error");
+  PQexec(connection, "set client_min_messages to error");
 #endif
 
-      // Kick off the long running threads
+  // Kick off the long running threads
 
 #ifdef POSTGRESQL_THREADS
-      QgsDebugMsg("QgsPostgresProvider: About to touch mExtentThread");
-      mExtentThread.setConnInfo( connInfo );
-      mExtentThread.setTableName( mTableName );
-      mExtentThread.setSqlWhereClause( sqlWhereClause );
-      mExtentThread.setGeometryColumn( geometryColumn );
-      mExtentThread.setCallback( this );
-      QgsDebugMsg("QgsPostgresProvider: About to start mExtentThread");
-      mExtentThread.start();
-      QgsDebugMsg("QgsPostgresProvider: Main thread just dispatched mExtentThread");
+  QgsDebugMsg("About to touch mExtentThread");
+  mExtentThread.setConnInfo( mUri.connInfo );
+  mExtentThread.setTableName( mTableName );
+  mExtentThread.setSqlWhereClause( sqlWhereClause );
+  mExtentThread.setGeometryColumn( geometryColumn );
+  mExtentThread.setCallback( this );
+  QgsDebugMsg("About to start mExtentThread");
+  mExtentThread.start();
+  QgsDebugMsg("Main thread just dispatched mExtentThread");
 
-      QgsDebugMsg("QgsPostgresProvider: About to touch mCountThread");
-      mCountThread.setConnInfo( connInfo );
-      mCountThread.setTableName( mTableName );
-      mCountThread.setSqlWhereClause( sqlWhereClause );
-      mCountThread.setGeometryColumn( geometryColumn );
-      mCountThread.setCallback( this );
-      QgsDebugMsg("QgsPostgresProvider: About to start mCountThread");
-      mCountThread.start();
-      QgsDebugMsg("QgsPostgresProvider: Main thread just dispatched mCountThread");
+  QgsDebugMsg("About to touch mCountThread");
+  mCountThread.setConnInfo( mUri.connInfo );
+  mCountThread.setTableName( mTableName );
+  mCountThread.setSqlWhereClause( sqlWhereClause );
+  mCountThread.setGeometryColumn( geometryColumn );
+  mCountThread.setCallback( this );
+  QgsDebugMsg("About to start mCountThread");
+  mCountThread.start();
+  QgsDebugMsg("Main thread just dispatched mCountThread");
 #endif
-    } 
-    else 
-    {
-      // the table is not a geometry table
-      numberFeatures = 0;
-      valid = false;
-      QgsDebugMsg("Invalid Postgres layer");
-    }
 
-    ready = false; // not ready to read yet cuz the cursor hasn't been created
+  ready = false; // not ready to read yet cuz the cursor hasn't been created
 
-  } else {
-    valid = false;
-    //QgsDebugMsg("Connection to database failed");
-  }
+  //fill type names into sets
+  mSupportedNativeTypes.insert("double precision");
+  mSupportedNativeTypes.insert("int4");
+  mSupportedNativeTypes.insert("int8");
+  mSupportedNativeTypes.insert("text");
+  mSupportedNativeTypes.insert("varchar(30)");
 
-  //fill type names into lists
-  mNumericalTypes.push_back("double precision");
-  mNumericalTypes.push_back("int4");
-  mNumericalTypes.push_back("int8");
-  mNonNumericalTypes.push_back("text");
-  mNonNumericalTypes.push_back("varchar(30)");
-
   if (primaryKey.isEmpty())
   {
     valid = false;
@@ -395,17 +312,17 @@
 QgsPostgresProvider::~QgsPostgresProvider()
 {
 #ifdef POSTGRESQL_THREADS
-  QgsDebugMsg("QgsPostgresProvider: About to wait for mExtentThread");
+  QgsDebugMsg("About to wait for mExtentThread");
 
   mExtentThread.wait();
 
-  QgsDebugMsg("QgsPostgresProvider: Finished waiting for mExtentThread");
+  QgsDebugMsg("Finished waiting for mExtentThread");
 
-  QgsDebugMsg("QgsPostgresProvider: About to wait for mCountThread");
+  QgsDebugMsg("About to wait for mCountThread");
 
   mCountThread.wait();
 
-  QgsDebugMsg("QgsPostgresProvider: Finished waiting for mCountThread");
+  QgsDebugMsg("Finished waiting for mCountThread");
 
   // Make sure all events from threads have been processed
   // (otherwise they will get destroyed prematurely)
@@ -414,7 +331,7 @@
 #endif
   PQfinish(connection);
 
-  QgsDebugMsg("QgsPostgresProvider: deconstructing.");
+  QgsDebugMsg("deconstructing.");
 
   //pLog.flush();
 }
@@ -424,125 +341,16 @@
   return "PostgreSQL database with PostGIS extension";
 }
 
-//TODO - we may not need this function - consider removing it from
-//       the dataprovider.h interface
-/**
- * Get the first feature resutling from a select operation
- * @return QgsFeature
- */
-//TODO - this function is a stub and always returns 0
-QgsFeature *QgsPostgresProvider::getFirstFeature(bool fetchAttributes)
+bool QgsPostgresProvider::getNextFeature(QgsFeature& feature)
 {
-  QgsFeature *f = 0;
-  if (valid) {
-    //QgsDebugMsg("getting first feature");
-
-    f = new QgsFeature();
-    /*  f->setGeometry(getGeometryPointer(feat));
-        if(fetchAttributes){
-        getFeatureAttributes(feat, f);
-        } */
-  }
-  return f;
-}
-
-bool QgsPostgresProvider::getNextFeature(QgsFeature &feature, bool fetchAttributes)
-{
-  return true;
-}
-
-/**
- * Get the next feature resutling from a select operation
- * Return 0 if there are no features in the selection set
- * @return QgsFeature
- */
-QgsFeature *QgsPostgresProvider::getNextFeature(bool fetchAttributes)
-{
-  QgsFeature *f = 0;
-  
-  int row = 0;  // TODO: Make this useful
-
-  if (valid){
-    QString fetch = "fetch forward 1 from qgisf";
-    queryResult = PQexec(connection, (const char *)fetch);
-    //    std::cerr << "Error: " << PQerrorMessage(connection) << std::endl;
-    //   std::cerr << "Fetched " << PQntuples(queryResult) << "rows" << std::endl;
-    if(PQntuples(queryResult) == 0){
-      if (ready)
-        PQexec(connection, "end work");
-      ready = false;
-      return 0;
-    } 
-    // QgsDebugMsg("Raw value of the geometry field: " + PQgetvalue(queryResult,0,PQfnumber(queryResult,"qgs_feature_geometry")));
-    //QgsDebugMsg("Length of oid is " + PQgetlength(queryResult,0, PQfnumber(queryResult,"oid")));
-
-    // get the value of the primary key based on type
-
-    int oid = *(int *)PQgetvalue(queryResult, row, PQfnumber(queryResult,"\""+primaryKey+"\""));
-    // QgsDebugMsg("OID from database: " + QString::number(oid)); 
-
-    if (swapEndian)
-      oid = ntohl(oid); // convert oid to opposite endian
-
-    // oid is the key to be used in fetching attributes if 
-    // fetchAttributes = true
-    //QgsDebugMsg("Using OID: " + QString::number(oid));
-
-    f = new QgsFeature(oid);
-    if (fetchAttributes)
-      getFeatureAttributes(oid, row, f);
-
-    int returnedLength = PQgetlength(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry"));
-    //--std::cerr << __FILE__ << ":" << __LINE__ << " Returned length is " << returnedLength << std::endl;
-    if(returnedLength > 0)
-    {
-      unsigned char *feature = new unsigned char[returnedLength + 1];
-      memset(feature, '\0', returnedLength + 1);
-      memcpy(feature, PQgetvalue(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry")), returnedLength);
-#ifdef QGISDEBUG
-      // a bit verbose
-      //int wkbType = *((int *) (feature + 1));
-      //QgsDebugMsg("WKBtype is: " + QString::number(wkbType));
-#endif
-      f->setGeometryAndOwnership(feature, returnedLength + 1);
-    }
-    else
-    {
-      //QgsDebugMsg("Couldn't get the feature geometry in binary form");
-    }
-    
-    PQclear(queryResult);
-  }
-  else
-  {
-    //QgsDebugMsg("Read attempt on an invalid postgresql data source");
-  }
-  return f;
-}
-
-// // TODO: Remove completely (see morb_au)
-// QgsFeature* QgsPostgresProvider::getNextFeature(std::list<int> const & attlist)
-// {
-//   return getNextFeature(attlist, 1);
-// }
-
-QgsFeature* QgsPostgresProvider::getNextFeature(std::list<int> const & attlist, int featureQueueSize)
-{
-  QgsFeature *f = 0;
   if (valid)
   {
   
     // Top up our queue if it is empty
     if (mFeatureQueue.empty())
     {
-    
-      if (featureQueueSize < 1)
-      {
-        featureQueueSize = 1;
-      }
-
       QString fetch = QString("fetch forward %1 from qgisf")
-                         .arg(featureQueueSize);
+                         .arg(mFeatureQueueSize);
                          
       queryResult = PQexec(connection, (const char *)fetch);
       
@@ -550,52 +358,76 @@
 
       if (rows == 0)
       {
-        QgsDebugMsg("End of features."); 
+        QgsDebugMsg("End of features");
+        
         if (ready)
           PQexec(connection, "end work");
         ready = false;
-        return 0;
+        return false;
       }
       
       for (int row = 0; row < rows; row++)
       {
         int oid = *(int *)PQgetvalue(queryResult, row, PQfnumber(queryResult,"\""+primaryKey+"\""));
-        //QgsDebugMsg("Primary key type is " + primaryKeyType); 
-	if (swapEndian)
+        //  QgsDebugMsg("Primary key type is " + QString::number(primaryKeyType)); 
+	
+        if (swapEndian)
 	  oid = ntohl(oid); // convert oid to opposite endian
 
-        f = new QgsFeature(oid);
-        if(!attlist.empty())
+        // set ID
+        feature.setFeatureId(oid);
+
+        // fetch attributes
+	std::list<QString>::const_iterator name_it = mFetchAttributeNames.begin();
+	QgsAttributeList::const_iterator index_it = mAttributesToFetch.constBegin();
+
+	for(; name_it != mFetchAttributeNames.end(); ++name_it, ++index_it)
+	  {
+	    QString name = *name_it; //just for the debugger
+	    //int number = PQfnumber(queryResult,*name_it); //just for the debugger
+	    char* attribute = PQgetvalue(queryResult, row, PQfnumber(queryResult,*name_it));
+
+	    QString val = QString::fromUtf8(attribute);
+      switch (attributeFields[*index_it].type())
+	      {
+	      case QVariant::Int:
+		feature.addAttribute(*index_it, val.toInt());
+		break;
+	      case QVariant::Double:
+		feature.addAttribute(*index_it, val.toDouble());
+		break;
+	      case QVariant::String:
+		feature.addAttribute(*index_it, val);
+		break;
+	      default:
+		assert(0 && "unsupported field type");
+	      }
+	  }
+        
+	//fetch geometry
+        if (mFetchGeom)
         {
-          getFeatureAttributes(oid, row, f, attlist);
+          int returnedLength = PQgetlength(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry")); 
+          if(returnedLength > 0)
+          {
+            unsigned char *featureGeom = new unsigned char[returnedLength + 1];
+            memset(featureGeom, '\0', returnedLength + 1);
+            memcpy(featureGeom, PQgetvalue(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry")), returnedLength); 
+            feature.setGeometryAndOwnership(featureGeom, returnedLength + 1);
+          }
+          else
+          {
+            //QgsDebugMsg("Couldn't get the feature geometry in binary form");
+          }
         }
-        int returnedLength = PQgetlength(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry")); 
-        if(returnedLength > 0)
-        {
-          unsigned char *feature = new unsigned char[returnedLength + 1];
-          memset(feature, '\0', returnedLength + 1);
-          memcpy(feature, PQgetvalue(queryResult, row, PQfnumber(queryResult,"qgs_feature_geometry")), returnedLength); 
-    
-          // Too verbose
-          //int wkbType = *((int *) (feature + 1));
-          //QgsDebugMsg("WKBtype is: " + QString::number(wkbType));
-    
-          f->setGeometryAndOwnership(feature, returnedLength + 1);
-    
-        }
-        else
-        {
-          //QgsDebugMsg("Couldn't get the feature geometry in binary form");
-        }
 
-//      QgsDebugMsg("QgsPostgresProvider::getNextFeature: pushing " + QString::number(f->featureId())); 
+        //QgsDebugMsg(" pushing " + QString::number(f->featureId()); 
   
-        mFeatureQueue.push(f);
+        mFeatureQueue.push(feature);
         
       } // for each row in queue
       
-//      QgsDebugMsg("QgsPostgresProvider::getNextFeature: retrieved batch of features."); 
-
+      //QgsDebugMsg("retrieved batch of features.");
             
       PQclear(queryResult);
       
@@ -603,69 +435,100 @@
     
     // Now return the next feature from the queue
     
-    f = mFeatureQueue.front();
+    feature = mFeatureQueue.front();
     mFeatureQueue.pop();
     
   }
   else 
   {
     //QgsDebugMsg("Read attempt on an invalid postgresql data source");
+    return false;
   }
-//QgsDebugMsg("QgsPostgresProvider::getNextFeature: returning " + QString::number(f->featureId())); 
+  
+  //QgsDebugMsg("returning feature " + QString::number(feat.featureId())); 
 
-
-  return f;   
+  return true;
 }
 
-/**
- * Select features based on a bounding rectangle. Features can be retrieved
- * with calls to getFirstFeature and getNextFeature.
- * @param mbr QgsRect containing the extent to use in selecting features
- */
-void QgsPostgresProvider::select(QgsRect * rect, bool useIntersect)
+void QgsPostgresProvider::select(QgsAttributeList fetchAttributes,
+                                 QgsRect rect,
+                                 bool fetchGeometry,
+                                 bool useIntersect)
 {
-  // spatial query to select features
-  QgsDebugMsg("Selection polygon is " + rect->asPolygon());
+  mFetchGeom = fetchGeometry;
+  mAttributesToFetch = fetchAttributes;
 
-  QString declare = QString("declare qgisf binary cursor for select \""
-      + primaryKey  
-      + "\",asbinary(\"%1\",'%2') as qgs_feature_geometry from %3").arg(geometryColumn).arg(endianString()).arg(mSchemaTableName);
+  mFetchAttributeNames.clear();
+  QgsFieldMap attributeMap = fields();
+  QgsFieldMap::const_iterator fieldIt;
+  for(QgsAttributeList::const_iterator it = mAttributesToFetch.constBegin(); \
+      it != mAttributesToFetch.constEnd(); ++it)
+    {
+      fieldIt = attributeMap.find(*it);
+      if(fieldIt != attributeMap.end())
+	{
+	  mFetchAttributeNames.push_back(fieldIt.value().name());
+	}
+    }
 
-  QgsDebugMsg("Binary cursor: " + declare); 
+  QString declare = "declare qgisf binary cursor for select \"" + primaryKey + "\"";
+  
+  if(fetchGeometry)
+    {
+      declare += QString(",asbinary(\"%1\",'%2') as qgs_feature_geometry").arg(geometryColumn).arg(endianString()); 
+    }
+  for(std::list<QString>::const_iterator it = mFetchAttributeNames.begin(); it != mFetchAttributeNames.end(); ++it)
+    {
+      declare += "," + *it + "::text";
+    }
 
-  if(useIntersect){
-    //    declare += " where intersects(" + geometryColumn;
-    //    declare += ", GeometryFromText('BOX3D(" + rect->asWKTCoords();
-    //    declare += ")'::box3d,";
-    //    declare += srid;
-    //    declare += "))";
+  declare += " ";
+  declare += QString("from %1").arg(mSchemaTableName);
+  
+  QgsDebugMsg("Binary cursor: " + declare);
+  
+  bool hasWhere = FALSE;
+  
+  if(!rect.isEmpty())
+    {
+      if(useIntersect)
+	{ 
+	  // Contributed by #qgis irc "creeping"
+	  // This version actually invokes PostGIS's use of spatial indexes
+	  declare += " where " + geometryColumn;
+	  declare += " && setsrid('BOX3D(" + rect.asWKTCoords();
+	  declare += ")'::box3d,";
+	  declare += srid;
+	  declare += ")";
+	  declare += " and intersects(" + geometryColumn;
+	  declare += ", setsrid('BOX3D(" + rect.asWKTCoords();
+	  declare += ")'::box3d,";
+	  declare += srid;
+	  declare += "))";
+	}
+      else
+	{
+	  declare += " where " + geometryColumn;
+	  declare += " && setsrid('BOX3D(" + rect.asWKTCoords();
+	  declare += ")'::box3d,";
+	  declare += srid;
+	  declare += ")";
+	}
+      hasWhere = TRUE;
+    }
 
-    // Contributed by #qgis irc "creeping"
-    // This version actually invokes PostGIS's use of spatial indexes
-    declare += " where " + geometryColumn;
-    declare += " && setsrid('BOX3D(" + rect->asWKTCoords();
-    declare += ")'::box3d,";
-    declare += srid;
-    declare += ")";
-    declare += " and intersects(" + geometryColumn;
-    declare += ", setsrid('BOX3D(" + rect->asWKTCoords();
-    declare += ")'::box3d,";
-    declare += srid;
-    declare += "))";
-  }else{
-    declare += " where " + geometryColumn;
-    declare += " && setsrid('BOX3D(" + rect->asWKTCoords();
-    declare += ")'::box3d,";
-    declare += srid;
-    declare += ")";
-  }
   if(sqlWhereClause.length() > 0)
-  {
-    declare += " and (" + sqlWhereClause + ")";
-  }
-
+    {
+      if (hasWhere)
+        declare += " and ";
+      else
+        declare += " where ";
+      declare += "(" + sqlWhereClause + ")";
+      hasWhere = TRUE;
+    }
+  
   QgsDebugMsg("Selecting features using: " + declare);
-
+  
   // set up the cursor
   if(ready){
     PQexec(connection, "end work");
@@ -674,60 +537,134 @@
   ready = true;
   PQexec(connection, (const char *)(declare.utf8()));
   
-  // TODO - see if this deallocates member features
   mFeatureQueue.empty();
 }
 
-
-QgsDataSourceURI * QgsPostgresProvider::getURI()
+bool QgsPostgresProvider::getFeatureAtId(int featureId,
+                                         QgsFeature& feature,
+                                         bool fetchGeometry,
+                                         QgsAttributeList fetchAttributes)
 {
-  return &mUri;
-}
 
+  std::list<QString> attributeNames;
+  QgsFieldMap fldMap = fields();
+  QgsFieldMap::const_iterator fieldIt;
+  QgsAttributeList::const_iterator it;
+  std::list<QString>::const_iterator namesIt;
+  
+  for (it = fetchAttributes.constBegin(); it != fetchAttributes.constEnd(); ++it)
+  {
+    fieldIt = fldMap.find(*it);
+    if(fieldIt != fldMap.end())
+    {
+      attributeNames.push_back(fieldIt.value().name());
+    }
+  }
 
-/**
- * Identify features within the search radius specified by rect
- * @param rect Bounding rectangle of search radius
- * @return std::vector containing QgsFeature objects that intersect rect
- */
-std::vector<QgsFeature>& QgsPostgresProvider::identify(QgsRect * rect)
-{
-  features.clear();
-  // select the features
-  select(rect);
+  QString sql = "declare qgisfid binary cursor for select \"" + primaryKey + "\"";
+  
+  if(fetchGeometry)
+  {
+    sql += QString(",asbinary(\"%1\",'%2') as qgs_feature_geometry").arg(geometryColumn).arg(endianString()); 
+  }
+  for(namesIt = attributeNames.begin(); namesIt != attributeNames.end(); ++namesIt)
+  {
+    sql += "," + *namesIt + "::text";
+  }
 
-  return features;
-}
+  sql += " " + QString("from %1").arg(mSchemaTableName);
+  
+  sql += " where " + primaryKey + " = " + QString::number(featureId);
+  
+  QgsDebugMsg("Selecting feature using: " + sql);
+  
+  PQexec(connection,"begin work");
+  
+  // execute query
+  PQexec(connection, (const char *)(sql.utf8()));
+  
+  PGresult *res = PQexec(connection, "fetch forward 1 from qgisfid");
+  
+  int rows = PQntuples(res);
+  if (rows == 0)
+  {
+    PQexec(connection, "end work");
+    QgsDebugMsg("feature " + QString::number(featureId) + " not found");
+    return FALSE;
+  }
+      
+   // set ID
+  int oid = *(int *)PQgetvalue(res, 0, PQfnumber(res,"\""+primaryKey+"\""));
+  if (swapEndian)
+    oid = ntohl(oid); // convert oid to opposite endian
+  feature.setFeatureId(oid);
 
-/* unsigned char * QgsPostgresProvider::getGeometryPointer(OGRFeature *fet){
-//  OGRGeometry *geom = fet->GetGeometryRef();
-unsigned char *gPtr=0;
-// get the wkb representation
-gPtr = new unsigned char[geom->WkbSize()];
+  // fetch attributes
+  it = fetchAttributes.constBegin();
 
-geom->exportToWkb((OGRwkbByteOrder) endian(), gPtr);
-return gPtr;
+  for(namesIt = attributeNames.begin(); namesIt != attributeNames.end(); ++namesIt, ++it)
+  {
+    QString name = *namesIt; //just for the debugger
+    char* attribute = PQgetvalue(res, 0, PQfnumber(res,*namesIt));
 
-} */
+    QString val = QString::fromUtf8(attribute);
+    switch (attributeFields[*it].type())
+    {
+      case QVariant::Int:
+        feature.addAttribute(*it, val.toInt());
+        break;
+      case QVariant::Double:
+        feature.addAttribute(*it, val.toDouble());
+        break;
+      case QVariant::String:
+        feature.addAttribute(*it, val);
+        break;
+      default:
+        assert(0 && "unsupported field type");
+    }
+  }
+        
+	// fetch geometry
+  if (fetchGeometry)
+  {
+    int returnedLength = PQgetlength(res, 0, PQfnumber(res,"qgs_feature_geometry")); 
+    if(returnedLength > 0)
+    {
+      unsigned char *featureGeom = new unsigned char[returnedLength + 1];
+      memset(featureGeom, '\0', returnedLength + 1);
+      memcpy(featureGeom, PQgetvalue(res, 0, PQfnumber(res,"qgs_feature_geometry")), returnedLength); 
+      feature.setGeometryAndOwnership(featureGeom, returnedLength + 1);
+    }
+  }
+  
+  PQexec(connection, "end work");
 
-void QgsPostgresProvider::setExtent( QgsRect* newExtent )
+  return TRUE;
+}
+
+QgsDataSourceURI& QgsPostgresProvider::getURI()
 {
-  layerExtent.setXmax( newExtent->xMax() );
-  layerExtent.setXmin( newExtent->xMin() );
-  layerExtent.setYmax( newExtent->yMax() );
-  layerExtent.setYmin( newExtent->yMin() );
+  return mUri;
 }
 
+void QgsPostgresProvider::setExtent( QgsRect& newExtent )
+{
+  layerExtent.setXmax( newExtent.xMax() );
+  layerExtent.setXmin( newExtent.xMin() );
+  layerExtent.setYmax( newExtent.yMax() );
+  layerExtent.setYmin( newExtent.yMin() );
+}
+
 // TODO - make this function return the real extent_
-QgsRect *QgsPostgresProvider::extent()
+QgsRect QgsPostgresProvider::extent()
 {
-  return &layerExtent;      //extent_->MinX, extent_->MinY, extent_->MaxX, extent_->MaxY);
+  return layerExtent;      //extent_->MinX, extent_->MinY, extent_->MaxX, extent_->MaxY);
 }
 
 /** 
  * Return the feature type
  */
-int QgsPostgresProvider::geometryType() const
+QGis::WKBTYPE QgsPostgresProvider::geometryType() const
 {
   return geomType;
 }
@@ -743,185 +680,37 @@
 /**
  * Return the number of fields
  */
-int QgsPostgresProvider::fieldCount() const
+uint QgsPostgresProvider::fieldCount() const
 {
   return attributeFields.size();
 }
 
-/**
- * Fetch attributes for a selected feature
- */
-void QgsPostgresProvider::getFeatureAttributes(int key, int &row, QgsFeature *f) {
-
-  QString sql = QString("select * from %1 where \"%2\" = %3").arg(mSchemaTableName).arg(primaryKey).arg(key);
-  QgsDebugMsg("QgsPostgresProvider::getFeatureAttributes using: " + sql); 
-
-  PGresult *attr = PQexec(connection, (const char *)(sql.utf8()));
-
-  for (int i = 0; i < PQnfields(attr); i++) {
-    QString fld = PQfname(attr, i);
-    // Dont add the WKT representation of the geometry column to the identify
-    // results
-    if(fld != geometryColumn){
-      // Add the attribute to the feature
-      //QString val = mEncoding->toUnicode(PQgetvalue(attr,0, i));
-	QString val = QString::fromUtf8 (PQgetvalue(attr, row, i));
-      f->addAttribute(fld, val);
-    }
-  }
-  PQclear(attr);
-} 
-
-/**Fetch attributes with indices contained in attlist*/
-void QgsPostgresProvider::getFeatureAttributes(int key, int &row,
-    QgsFeature *f, 
-    std::list<int> const & attlist)
+const QgsFieldMap & QgsPostgresProvider::fields() const
 {
-  std::list<int>::const_iterator iter;
-  for(iter=attlist.begin();iter!=attlist.end();++iter)
-  {
-    QString sql = QString("select \"%1\" from %2 where \"%3\" = %4")
-      .arg(fields()[*iter].name())
-      .arg(mSchemaTableName)
-      .arg(primaryKey)
-      .arg(key);//todo: only query one attribute
-
-    PGresult *attr = PQexec(connection, (const char *)(sql.utf8()));
-    QString fld = PQfname(attr, 0);
-
-    // Dont add the WKT representation of the geometry column to the identify
-    // results
-    if(fld != geometryColumn)
-    {
-      // Add the attribute to the feature
-	QString val = QString::fromUtf8(PQgetvalue(attr, 0, 0));
-      f->addAttribute(fld, val);
-    }
-    PQclear(attr);
-  }
+  return attributeFields;
 }
 
-
-void QgsPostgresProvider::getFeatureGeometry(int key, QgsFeature *f)
+QString QgsPostgresProvider::dataComment() const
 {
-  if (!valid)
-  {
-    return;
-  }
-
-  QString cursor = QString("declare qgisf binary cursor for "
-                           "select asbinary(\"%1\",'%2') from %3 where \"%4\" = %5")
-                   .arg(geometryColumn)
-                   .arg(endianString())
-                   .arg(mSchemaTableName)
-                   .arg(primaryKey)
-                   .arg(key);
-
-  QgsDebugMsg("QgsPostgresProvider::getFeatureGeometry using: " + cursor); 
-
-  if (ready)
-    PQexec(connection, "end work");
-  PQexec(connection, "begin work");
-  ready = true;
-  PQexec(connection, (const char *)(cursor.utf8()));
-
-  QString fetch = "fetch forward 1 from qgisf";
-  PGresult *geomResult = PQexec(connection, (const char *)fetch);
-
-  if (PQntuples(geomResult) == 0)
-  {
-    // Nothing found - therefore nothing to change
-    PQexec(connection,"end work");
-    ready = false;
-    PQclear(geomResult);
-    return;
-  }
-
-  int row = 0;
-
-  int returnedLength = PQgetlength(geomResult, row, 0);
-
-  if(returnedLength > 0)
-  {
-      unsigned char *wkbgeom = new unsigned char[returnedLength];
-      memcpy(wkbgeom, PQgetvalue(geomResult, row, 0), returnedLength);
-      f->setGeometryAndOwnership(wkbgeom, returnedLength);
-  }
-  else
-  {
-    //QgsDebugMsg("Couldn't get the feature geometry in binary form");
-  }
-
-  PQclear(geomResult);
-
-  if (ready)
-    PQexec(connection,"end work");
-  ready = false;
+  return mDataComment;
 }
 
-
-std::vector<QgsField> const & QgsPostgresProvider::fields() const
-{
-  return attributeFields;
-}
-
 void QgsPostgresProvider::reset()
 {
-  // reset the cursor to the first record
-  //QgsDebugMsg("Resetting the cursor to the first record ");
-  QString declare = QString("declare qgisf binary cursor for select \"" +
-      primaryKey + 
-      "\",asbinary(\"%1\",'%2') as qgs_feature_geometry from %3").arg(geometryColumn)
-    .arg(endianString()).arg(mSchemaTableName);
-  if(sqlWhereClause.length() > 0)
-  {
-    declare += " where " + sqlWhereClause;
-  }
-  //QgsDebugMsg("Selecting features using: " + declare);
-  QgsDebugMsg("Setting up binary cursor: " + declare);
-
-  // set up the cursor
-  if (ready)
-    PQexec(connection,"end work");
-
-  PQexec(connection,"begin work");
-  ready = true;
-  PQexec(connection, (const char *)(declare.utf8()));
-  //QgsDebugMsg("Error: " + PQerrorMessage(connection));
-  
-  // TODO - see if this deallocates member features
+  QString move = "move 0 in qgisf"; //move cursor to first record
+  PQexec(connection, (const char *)(move.utf8()));
   mFeatureQueue.empty();
-
 }
-/* QString QgsPostgresProvider::getFieldTypeName(PGconn * pd, int oid)
-   {
-   QString typOid = QString().setNum(oid);
-   QString sql = "select typelem from pg_type where typelem = " + typOid + " and typlen = -1";
-////QgsDebugMsg(sql);
-PGresult *result = PQexec(pd, (const char *) sql);
-// get the oid of the "real" type
-QString poid = PQgetvalue(result, 0, PQfnumber(result, "typelem"));
-PQclear(result);
-sql = "select typname, typlen from pg_type where oid = " + poid;
-// QgsDebugMsg(sql);
-result = PQexec(pd, (const char *) sql);
 
-QString typeName = PQgetvalue(result, 0, 0);
-QString typeLen = PQgetvalue(result, 0, 1);
-PQclear(result);
-typeName += "(" + typeLen + ")";
-return typeName;
-} */
-
 /** @todo XXX Perhaps this should be promoted to QgsDataProvider? */
 QString QgsPostgresProvider::endianString()
 {
-  switch ( endian() )
+  switch ( QgsApplication::endian() )
   {
-    case QgsDataProvider::NDR : 
+    case QgsApplication::NDR : 
       return QString("NDR");
       break;
-    case QgsDataProvider::XDR : 
+    case QgsApplication::XDR : 
       return QString("XDR");
       break;
     default :
@@ -940,10 +729,11 @@
     + mTableName + "' and relnamespace = (select oid from pg_namespace where "
     "nspname = '" + mSchemaName + "'))";
 
-  QgsDebugMsg("Getting unique index using '" + sql);;
+  QgsDebugMsg("Getting unique index using '" + sql + "'");
+  
   PGresult *pk = executeDbCommand(connection, sql);
 
-  QgsDebugMsg("Got " + QString::number(PQntuples(pk)) + " rows");
+  QgsDebugMsg("Got " + QString::number(PQntuples(pk)) + " rows.");
 
   QStringList log;
 
@@ -969,7 +759,7 @@
     if (type == "r") // the relation is a table
     {
       QgsDebugMsg("Relation is a table. Checking to see if it has an oid column.");
-
+      
       // If there is an oid on the table, use that instead,
       // otherwise give up
       sql = "select attname from pg_attribute where attname = 'oid' and "
@@ -1009,7 +799,7 @@
       primaryKey = chooseViewColumn(cols);
     }
     else
-      qWarning("Unexpected relation type of '" + type + "'.");
+      QgsDebugMsg("Unexpected relation type of '" + type + "'.");
   }
   else // have some unique indices on the table. Now choose one...
   {
@@ -1116,16 +906,11 @@
   }
   PQclear(pk);
 
-#ifdef QGISDEBUG
-  if (primaryKey.length() > 0)
-    {
-      QgsDebugMsg("Qgis row key is " + primaryKey);
-    }
-  else
-    {
-      QgsDebugMsg("Qgis row key was not set.");
-    }
-#endif
+  if (primaryKey.length() > 0) {
+    QgsDebugMsg("Qgis row key is " + primaryKey);
+  } else {
+    QgsDebugMsg("Qgis row key was not set.");
+  }
 
   return primaryKey;
 }
@@ -1172,7 +957,9 @@
     }
     else
       {
-	QgsDebugMsg("Relation " + schemaName + "." + tableName + " doesn't exist in the pg_class table. This shouldn't happen and is odd.");
+        QgsDebugMsg("Relation " + schemaName + "." + tableName +
+                 " doesn't exist in the pg_class table."
+                 "This shouldn't happen and is odd.");
 	assert(0);
       }
     PQclear(result);
@@ -1223,11 +1010,12 @@
   // 'oid' columns in tables don't have a constraint on them, but
   // they are useful to consider, so add them in if not already
   // here.
-  for (int i = 0; i < oids.size(); ++i)
+  for (uint i = 0; i < oids.size(); ++i)
   {
     if (suitable.find(oids[i]->first) == suitable.end())
     {
       suitable[oids[i]->first] = oids[i]->second;
+      
       QgsDebugMsg("Adding column " + oids[i]->first + " as it may be suitable.");
     }
   }
@@ -1255,6 +1043,7 @@
     if (PQntuples(result) > 0 && uniqueData(mSchemaName, mTableName, i->first))
     { // Got one. Use it.
       key = i->first;
+      
       QgsDebugMsg("Picked column '" + key + "' because it has an index.");
       break;
     }
@@ -1270,7 +1059,11 @@
     if (i != suitable.end() && uniqueData(mSchemaName, mTableName, i->first))
     {
       key = i->first;
-      QgsDebugMsg("Picked column " + key + " as it is probably the postgresql object id  column (which contains unique values) and there are no columns with indices to choose from");
+      
+      QgsDebugMsg("Picked column " + key +
+                  " as it is probably the postgresql object id "
+                  " column (which contains unique values) and there are no"
+                  " columns with indices to choose from.");
     }
     // else choose the first one in the container that has unique data
     else
@@ -1281,7 +1074,11 @@
         if (uniqueData(mSchemaName, mTableName, i->first))
         {
           key = i->first;
-	  QgsDebugMsg("Picked column " + key + " as it was the first suitable column found with unique data and were are no columns with indices to choose from.");
+          
+          QgsDebugMsg("Picked column " + key +
+                      " as it was the first suitable column found"
+                      " with unique data and were are no"
+                      " columns with indices to choose from");
           break;
         }
         else
@@ -1336,65 +1133,187 @@
   return isUnique;
 }
 
+int QgsPostgresProvider::SRCFromViewColumn(const QString& ns, const QString& relname, const QString& attname_table, const QString& attname_view, const QString& viewDefinition, SRC& result) const
+{
+  QString newViewDefSql = "SELECT definition FROM pg_views WHERE schemaname = '" + ns + "' AND viewname = '" + relname + "'";
+  PGresult* newViewDefResult = PQexec(connection, (const char*)(newViewDefSql.utf8()));
+  int numEntries = PQntuples(newViewDefResult);
+  
+  if(numEntries > 0) //relation is a view
+    {
+      QString newViewDefinition(PQgetvalue(newViewDefResult, 0, 0));
+      
+      QString newAttNameView = attname_table;
+      QString newAttNameTable = attname_table;
+      
+      //find out the attribute name of the underlying table/view
+      if (newViewDefinition.contains("AS"))
+        {
+	  QRegExp s("(\\w+) " + QString("AS ") + QRegExp::escape(attname_table));
+          if (s.indexIn(newViewDefinition) != -1)
+          {
+            newAttNameTable = s.cap(1);
+          }
+	}
+      
+      QString viewColumnSql = "SELECT table_schema, table_name, column_name FROM information_schema.view_column_usage WHERE view_schema = '" + ns + "' AND view_name = '" + relname + "' AND column_name = '" + newAttNameTable +"'";
+      PGresult* viewColumnResult = PQexec(connection, (const char*)(viewColumnSql.utf8()));
+      if(PQntuples(viewColumnResult) > 0)
+	{
+	  QString newTableSchema = PQgetvalue(viewColumnResult, 0, 0);
+	  QString newTableName = PQgetvalue(viewColumnResult, 0, 1);
+	  int retvalue = SRCFromViewColumn(newTableSchema, newTableName, newAttNameTable, newAttNameView, newViewDefinition, result);
+	  PQclear(viewColumnResult);
+	  return retvalue;
+	}
+      else
+	{
+	  PQclear(viewColumnResult);
+	  return 1;
+	}
+
+    }
+
+  PQclear(newViewDefResult);
+
+  //relation is table, we just have to add the type
+  QString typeSql = "SELECT pg_type.typname FROM pg_attribute, pg_class, pg_namespace, pg_type WHERE pg_class.relname = '" + relname + "' AND pg_namespace.nspname = '" + ns + "' AND pg_attribute.attname = '" + attname_table + "' AND pg_attribute.attrelid = pg_class.oid AND pg_class.relnamespace = pg_namespace.oid AND pg_attribute.atttypid = pg_type.oid";
+  QgsDebugMsg("***********************************************************************************");
+  QgsDebugMsg(typeSql);
+  QgsDebugMsg("***********************************************************************************");
+  PGresult* typeSqlResult = PQexec(connection, (const char*)(typeSql.utf8()));
+  if(PQntuples(typeSqlResult) < 1)
+    {
+      return 1;
+    }
+  QString type = PQgetvalue(typeSqlResult, 0, 0);
+  PQclear(typeSqlResult);
+  
+  result.schema=ns;
+  result.relation=relname;
+  result.column=attname_table;
+  result.type=type;
+  return 0;
+}
+
 // This function will return in the cols variable the 
 // underlying view and columns for each column in
 // mSchemaName.mTableName.
 
 void QgsPostgresProvider::findColumns(tableCols& cols)
 {
+  QString viewColumnSql = "SELECT table_schema, table_name, column_name FROM information_schema.view_column_usage WHERE view_schema = '" + mSchemaName + "' AND view_name = '" + mTableName + "'";
+  PGresult* viewColumnResult = PQexec(connection, (const char*)(viewColumnSql.utf8()));
+
+  //find out view definition
+  QString viewDefSql = "SELECT definition FROM pg_views WHERE schemaname = '" + mSchemaName + "' AND viewname = '" + mTableName + "'";
+  PGresult* viewDefResult = PQexec(connection, (const char*)(viewDefSql.utf8()));
+  if(PQntuples(viewDefResult) < 1)
+    {
+      PQclear(viewDefResult);
+      return;
+    }
+  QString viewDefinition(PQgetvalue(viewDefResult, 0, 0));
+  PQclear(viewDefResult);
+  
+  QString ns, relname, attname_table, attname_view;
+  SRC columnInformation;
+
+  for(int i = 0; i < PQntuples(viewColumnResult); ++i)
+    {
+      ns = PQgetvalue(viewColumnResult, i, 0);
+      relname = PQgetvalue(viewColumnResult, i, 1);
+      attname_table = PQgetvalue(viewColumnResult, i, 2);
+
+      //find out original attribute name
+      attname_view = attname_table;
+
+      //examine if the column name has been renamed in the view with AS
+      if (viewDefinition.contains("AS"))
+        {
+          // This regular expression needs more testing. Since the view
+          // definition comes from postgresql and has been 'standardised', we
+          // don't need to deal with everything that the user could put in a view
+          // definition. Does the regexp have to deal with the schema??
+	  
+          QRegExp s(".* \"?" + QRegExp::escape(relname) +
+                    "\"?\\.\"?" + QRegExp::escape(attname_table) +
+                    "\"? AS \"?(\\w+)\"?,* .*");
+	  
+          QgsDebugMsg(viewDefinition + "\n" + s.pattern());
+
+          if (s.indexIn(viewDefinition) != -1)
+          {
+            attname_view = s.cap(1);
+	    qWarning("original view column name was: " + attname_view);
+          }
+        }
+
+      SRCFromViewColumn(ns, relname, attname_table, attname_view, viewDefinition, columnInformation);
+      cols.insert(std::make_pair(attname_view, columnInformation));
+      QgsDebugMsg("Inserting into cols (for key " + attname_view + " ): " + columnInformation.schema + "." + columnInformation.relation + "." + columnInformation.column + "." + columnInformation.type);
+    }
+  PQclear(viewColumnResult);
+
+#if 0
   // This sql is derived from the one that defines the view
   // 'information_schema.view_column_usage' in PostgreSQL, with a few
   // mods to suit our purposes. 
-    QString sql = ""
-	"SELECT DISTINCT "
-	"	nv.nspname AS view_schema, "
-	"	v.relname AS view_name, "
-	"	a.attname AS view_column_name, "
-	"	nt.nspname AS table_schema, "
-	"	t.relname AS table_name, "
-	"	a.attname AS column_name, "
-	"	t.relkind as table_type, "
-	"	typ.typname as column_type "
-	"FROM "
-	"	pg_namespace nv, "
-	"	pg_class v, "
-	"	pg_depend dv,"
-	"	pg_depend dt, "
-	"	pg_class t, "
-	"	pg_namespace nt, "
-	"	pg_attribute a,"
-	"	pg_user u, "
-	"	pg_type typ "
-	"WHERE "
-	"	nv.oid = v.relnamespace AND "
-	"	v.relkind = 'v'::\"char\" AND "
-	"	v.oid = dv.refobjid AND "
-	"	dv.refclassid = 'pg_class'::regclass::oid AND "
-	"	dv.classid = 'pg_rewrite'::regclass::oid AND "
-	"	dv.deptype = 'i'::\"char\" AND "
-	"	dv.objid = dt.objid AND "
-	"	dv.refobjid <> dt.refobjid AND "
-	"	dt.classid = 'pg_rewrite'::regclass::oid AND "
-	"	dt.refclassid = 'pg_class'::regclass::oid AND "
-	"	dt.refobjid = t.oid AND "
-	"	t.relnamespace = nt.oid AND "
-	"	(t.relkind = 'r'::\"char\" OR t.relkind = 'v'::\"char\") AND "
-	"	t.oid = a.attrelid AND "
-	"	dt.refobjsubid = a.attnum AND "
-	"	nv.nspname NOT IN ('pg_catalog', 'information_schema' ) AND "
-	"	a.atttypid = typ.oid";
+  QString sql = ""
+    "SELECT DISTINCT "
+    "	nv.nspname AS view_schema, "
+    "	v.relname AS view_name, "
+    "	a.attname AS view_column_name, "
+    "	nt.nspname AS table_schema, "
+    "	t.relname AS table_name, "
+    "	a.attname AS column_name, "
+    "	t.relkind AS table_type, "
+    "	typ.typname AS column_type, "
+    "   vs.definition AS view_definition "
+    "FROM "
+    "	pg_namespace nv, "
+    "	pg_class v, "
+    "	pg_depend dv,"
+    "	pg_depend dt, "
+    "	pg_class t, "
+    "	pg_namespace nt, "
+    "	pg_attribute a,"
+    "	pg_user u, "
+    "	pg_type typ, "
+    "   pg_views vs "
+    "WHERE "
+    "	nv.oid = v.relnamespace AND "
+    "	v.relkind = 'v'::\"char\" AND "
+    "	v.oid = dv.refobjid AND "
+    "	dv.refclassid = 'pg_class'::regclass::oid AND "
+    "	dv.classid = 'pg_rewrite'::regclass::oid AND "
+    "	dv.deptype = 'i'::\"char\" AND "
+    "	dv.objid = dt.objid AND "
+    "	dv.refobjid <> dt.refobjid AND "
+    "	dt.classid = 'pg_rewrite'::regclass::oid AND "
+    "	dt.refclassid = 'pg_class'::regclass::oid AND "
+    "	dt.refobjid = t.oid AND "
+    "	t.relnamespace = nt.oid AND "
+    "	(t.relkind = 'r'::\"char\" OR t.relkind = 'v'::\"char\") AND "
+    "	t.oid = a.attrelid AND "
+    "	dt.refobjsubid = a.attnum AND "
+    "	nv.nspname NOT IN ('pg_catalog', 'information_schema' ) AND "
+    "	a.atttypid = typ.oid AND "
+    "   nv.nspname = vs.schemaname AND "
+    "   v.relname = vs.viewname";
 
   // A structure to store the results of the above sql.
   typedef std::map<QString, TT> columnRelationsType;
   columnRelationsType columnRelations;
 
-  // A structure to cache the query results that return the view
-  // definition.
-  typedef QMap<QString, QString> viewDefCache;
-  viewDefCache viewDefs;
+  // A structure to cache the query results that return the view 
+  // definition. 
+  typedef QMap<QString, QString> viewDefCache; 
+  viewDefCache viewDefs; 
 
   PGresult* result = PQexec(connection, (const char*)(sql.utf8()));
   // Store the results of the query for convenient access 
+
   for (int i = 0; i < PQntuples(result); ++i)
   {
     TT temp;
@@ -1406,65 +1325,54 @@
     temp.column_name      = PQgetvalue(result, i, 5);
     temp.table_type       = PQgetvalue(result, i, 6);
     temp.column_type      = PQgetvalue(result, i, 7);
+    QString viewDef       = PQgetvalue(result, i, 8);
 
-    // BUT, the above SQL doesn't always give the correct value for the view
-    // column name (that's because that information isn't available directly
-    // from the database), mainly when the view column name has been renamed
-    // using 'AS'. To fix this we need to look in the view definition and
-    // adjust the view column name if necessary.
+    // BUT, the above SQL doesn't always give the correct value for the view 
+    // column name (that's because that information isn't available directly 
+    // from the database), mainly when the view column name has been renamed 
+    // using 'AS'. To fix this we need to look in the view definition and 
+    // adjust the view column name if necessary. 
 
-    QString viewQuery = "SELECT definition FROM pg_views "
-      "WHERE schemaname = '" + temp.view_schema + "' AND "
-      "viewname = '" + temp.view_name + "'";
-
-    // Maintain a cache of the above SQL.
-    QString viewDef;
-    if (!viewDefs.contains(viewQuery))
-    {
-      PGresult* r = PQexec(connection, (const char*)(viewQuery.utf8()));
-      if (PQntuples(r) > 0)
-        viewDef = PQgetvalue(r, 0, 0);
-      else
-        QgsDebugMsg("Failed to get view definition for " + temp.view_schema + "." + temp.view_name);
-      viewDefs[viewQuery] = viewDef;
-    }
-
-    viewDef = viewDefs.value(viewQuery);
-
     // Now pick the view definiton apart, looking for
     // temp.column_name to the left of an 'AS'.
 
-    // This regular expression needs more testing. Since the view
-    // definition comes from postgresql and has been 'standardised', we
-    // don't need to deal with everything that the user could put in a view
-    // definition. Does the regexp have to deal with the schema??
     if (!viewDef.isEmpty())
     {
-      QRegExp s(".* \"?" + QRegExp::escape(temp.table_name) + 
-                "\"?\\.\"?" + QRegExp::escape(temp.column_name) + 
-                "\"? AS \"?(\\w+)\"?,* .*");
+      // Compiling and executing the regexp for each row from the above query
+      // can take quite a while - a database can easily have hundreds of
+      // rows. Working on the premise that we are only doing this to catch the
+      // cases where the view column has been renamed using the AS construct,
+      // we'll check for that first before doing the potentially
+      // time-consuming regular expression.
 
-#ifdef QGSIDEBUG
-      std::cerr <<__FILE__<<__LINE__ << ' ' << viewQuery.toLocal8Bit().data() << '\n'
-                << viewDef.toLocal8Bit().data() << '\n'
-                << s.pattern().toLocal8Bit().data() << '\n';
-#endif
-
-      if (s.indexIn(viewDef) != -1)
+        if (viewDef.contains("AS"))
         {
-          temp.view_column_name = s.cap(1);
-          //std::cerr<<__FILE__<<__LINE__<<' '<<temp.view_column_name.toLocal8Bit().data()<<'\n';
+          // This regular expression needs more testing. Since the view
+          // definition comes from postgresql and has been 'standardised', we
+          // don't need to deal with everything that the user could put in a view
+          // definition. Does the regexp have to deal with the schema??
+
+          QRegExp s(".* \"?" + QRegExp::escape(temp.table_name) +
+                    "\"?\\.\"?" + QRegExp::escape(temp.column_name) +
+                    "\"? AS \"?(\\w+)\"?,* .*");
+ 
+          QgsDebugMsg(viewDef + "\n" + s.pattern());
+
+          if (s.indexIn(viewDef) != -1)
+          {
+            temp.view_column_name = s.cap(1);
+          }
         }
     }
 
     QgsDebugMsg(temp.view_schema + "." 
-                + temp.view_name + "." 
-                + temp.view_column_name + " <- " 
-                + temp.table_schema + "." 
-                + temp.table_name + "." 
-                + temp.column_name + " is a '" 
-                + temp.table_type + "' of type " 
-		+ temp.column_type);
+              + temp.view_name + "." 
+              + temp.view_column_name + " <- " 
+              + temp.table_schema + "." 
+              + temp.table_name + "." 
+              + temp.column_name + " is a '" 
+              + temp.table_type + "' of type " 
+              + temp.column_type);
 
     columnRelations[temp.view_schema + '.' +
 		    temp.view_name + '.' +
@@ -1500,8 +1408,10 @@
 
     while (ii->second.table_type != "r" && count < max_loops)
     {
-      QgsDebugMsg("Searching for the column that " + ii->second.table_schema  + "."
-		  + ii->second.table_name + "." + ii->second.column_name + " refers to.");
+      QgsDebugMsg("Searching for the column that " +
+		  ii->second.table_schema + '.'+
+		  ii->second.table_name + "." +
+                  ii->second.column_name + " refers to.");
 
       columnRelationsType::const_iterator 
         jj = columnRelations.find(QString(ii->second.table_schema + '.' +
@@ -1510,8 +1420,10 @@
 
       if (jj == columnRelations.end())
       {
-        QgsDebugMsg("WARNING: Failed to find the column that " + ii->second.table_schema + "."
-		    + ii->second.table_name + "." + ii->second.column_name + " refers to.");
+        QgsDebugMsg("WARNING: Failed to find the column that " +
+                    ii->second.table_schema + "." +
+                    ii->second.table_name + "." +
+                    ii->second.column_name + " refers to.");
       break;
       }
 
@@ -1521,11 +1433,11 @@
 
     if (count >= max_loops)
     {
-      QgsDebugMsg("  Search for the underlying table.column for view column "
-		  + ii->second.table_schema + "." 
-		  + ii->second.table_name + "."
-		  + ii->second.column_name + " failed: exceeded maximum "
-		  + "interation limit (" + QString::number(max_loops) + ").");
+      QgsDebugMsg("Search for the underlying table.column for view column " +
+		  ii->second.table_schema + "." + 
+		  ii->second.table_name + "." +
+		  ii->second.column_name + " failed: exceeded maximum "
+		  "interation limit (" + QString::number(max_loops) + ")");
 
       cols[ii->second.view_column_name] = SRC("","","","");
     }
@@ -1537,17 +1449,21 @@
 	    ii->second.column_name, 
             ii->second.column_type);
 
-      QgsDebugMsg(QString(PQgetvalue(result, i, 0)) + QString(" derives from ") + QString(ii->second.table_schema) + "."
-		+ ii->second.table_name + "." + ii->second.column_name);
+      QgsDebugMsg( QString(PQgetvalue(result, i, 0)) + " derives from " +
+		   ii->second.table_schema + "." +
+		   ii->second.table_name + "." +
+		   ii->second.column_name);
     }
   }
   PQclear(result);
+#endif //0
 }
 
 // Returns the minimum value of an attribute
-QString QgsPostgresProvider::minValue(int position){
+QVariant QgsPostgresProvider::minValue(int index)
+{
   // get the field name 
-  QgsField fld = attributeFields[position];
+  QgsField fld = attributeFields[index];
   QString sql;
   if(sqlWhereClause.isEmpty())
   {
@@ -1560,14 +1476,15 @@
   PGresult *rmin = PQexec(connection,(const char *)(sql.utf8()));
   QString minValue = PQgetvalue(rmin,0,0);
   PQclear(rmin);
-  return minValue;
+  return minValue.toDouble();
 }
 
 // Returns the maximum value of an attribute
 
-QString QgsPostgresProvider::maxValue(int position){
+QVariant QgsPostgresProvider::maxValue(int index)
+{
   // get the field name 
-  QgsField fld = attributeFields[position];
+  QgsField fld = attributeFields[index];
   QString sql;
   if(sqlWhereClause.isEmpty())
   {
@@ -1580,7 +1497,7 @@
   PGresult *rmax = PQexec(connection,(const char *)(sql.utf8()));
   QString maxValue = PQgetvalue(rmax,0,0);
   PQclear(rmax);
-  return maxValue;
+  return maxValue.toDouble();
 }
 
 
@@ -1604,12 +1521,10 @@
   return valid;
 }
 
-bool QgsPostgresProvider::addFeature(QgsFeature* f, int primaryKeyHighWater)
+bool QgsPostgresProvider::addFeature(QgsFeature& f, int primaryKeyHighWater)
 {
-  QgsDebugMsg("QgsPostgresProvider::addFeature: Entering.");
+   QgsDebugMsg("Entering.");
   
-  if (f)
-  {
     // Determine which insertion method to use for WKB
     // PostGIS 1.0+ uses BYTEA
     // earlier versions use HEX
@@ -1620,7 +1535,8 @@
       postgisVersion(connection);
     }
 
-    QgsDebugMsg("QgsPostgresProvider::addFeature: PostGIS version is  major: "  + QString::number(postgisVersionMajor) + ", minor: " + QString::number(postgisVersionMinor) + ".");
+    QgsDebugMsg("PostGIS version is  major: "  + QString::number(postgisVersionMajor) +
+                ", minor: " + QString::number(postgisVersionMinor));
 
     if (postgisVersionMajor < 1)
     {
@@ -1639,42 +1555,27 @@
     insert += "\",\"";
     insert += primaryKey + "\"";
 
-    QgsDebugMsg("QgsPostgresProvider::addFeature: Constructing insert SQL, currently at: " + insert);
-  
+    QgsDebugMsg("Constructing insert SQL, currently at: " + insert);
     
-    
     //add the names of the other fields to the insert
-    std::vector<QgsFeatureAttribute> attributevec=f->attributeMap();
+    const QgsAttributeMap& attributevec = f.attributeMap();
     
-    QgsDebugMsg("QgsPostgresProvider::addFeature: Got attribute map.");
+    QgsDebugMsg("Got attribute map.");
     
-    for(std::vector<QgsFeatureAttribute>::iterator it=attributevec.begin();it!=attributevec.end();++it)
+    for(QgsAttributeMap::const_iterator it = attributevec.begin(); it != attributevec.end(); ++it)
     {
-      QString fieldname=it->fieldName();
-      QgsDebugMsg("QgsPostgresProvider::addFeature: Checking field against: " + fieldname + ".");
+      QString fieldname;
+      QgsFieldMap::const_iterator fit = attributeFields.find(it.key());
+      if (fit != attributeFields.end())
+        fieldname = fit->name();
 
+      QgsDebugMsg("Checking field against: " + fieldname);
             
-      //TODO: Check if field exists in this layer
-      // (Sometimes features will have fields that are not part of this layer since
-      // they have been pasted from other layers with a different field map)
-      bool fieldInLayer = FALSE;
-      
-      for (std::vector<QgsField>::iterator iter  = attributeFields.begin();
-                                           iter != attributeFields.end();
-                                         ++iter)
-      {
-        if ( iter->name() == it->fieldName() )
-        {
-          fieldInLayer = TRUE;
-          break;
-        }
-      }                                         
-      
       if (
+           (fieldname != "") &&
            (fieldname != geometryColumn) &&
            (fieldname != primaryKey) &&
-           (!(it->fieldValue().isEmpty())) && 
-           (fieldInLayer)
+           (!(it->isNull()))
          )
       {
         insert+=",\"";
@@ -1685,8 +1586,9 @@
     insert+=") VALUES (GeomFromWKB('";
 
     // Add the WKB geometry to the INSERT statement
-    unsigned char* geom = f->getGeometry();
-    for (int i=0; i < f->getGeometrySize(); ++i)
+    QgsGeometry* geometry = f.geometry();
+    unsigned char* geom = geometry->wkbBuffer();
+    for (uint i=0; i < geometry->wkbSize(); ++i)
     {
       if (useWkbHex)
       {
@@ -1736,130 +1638,102 @@
     insert += QString::number(primaryKeyHighWater);
 
     //add the field values to the insert statement
-    for(std::vector<QgsFeatureAttribute>::iterator it=attributevec.begin();it!=attributevec.end();++it)
+    for(QgsAttributeMap::const_iterator it=attributevec.begin();it!=attributevec.end();++it)
     {
-      QString fieldname=it->fieldName();
-      QgsDebugMsg("QgsPostgresProvider::addFeature: Checking field name " + fieldname);
+      QString fieldname;
+      QgsFieldMap::const_iterator fit = attributeFields.find(it.key());
+      if (fit != attributeFields.end())
+        fieldname = fit->name();
       
-      //TODO: Check if field exists in this layer
-      // (Sometimes features will have fields that are not part of this layer since
-      // they have been pasted from other layers with a different field map)
-      bool fieldInLayer = FALSE;
+      QgsDebugMsg("Checking field name " + fieldname);
       
-      for (std::vector<QgsField>::iterator iter  = attributeFields.begin();
-                                           iter != attributeFields.end();
-                                         ++iter)
-      {
-        if ( iter->name() == it->fieldName() )
-        {
-          fieldInLayer = TRUE;
-          break;
-        }
-      }                                         
-      
       if (
+           (fieldname != "") &&
            (fieldname != geometryColumn) &&
            (fieldname != primaryKey) &&
-           (!(it->fieldValue().isEmpty())) && 
-           (fieldInLayer)
+           (!(it->isNull()))
          )
       {
-        QString fieldvalue = it->fieldValue();
+        QString fieldvalue = it->toString();
         bool charactertype=false;
         insert+=",";
 
-	QgsDebugMsg("QgsPostgresProvider::addFeature: Field is in layer with value " + fieldvalue);
+        QgsDebugMsg("Field is in layer with value " + fieldvalue);
         
         //add quotes if the field is a character or date type and not
         //the postgres provided default value
-      if(fieldvalue != "NULL" && fieldvalue != getDefaultValue(it->fieldName(), f))
+        if(fieldvalue != "NULL" && fieldvalue != getDefaultValue(it.key()).toString() )
         {
-          for(std::vector<QgsField>::iterator iter=attributeFields.begin();iter!=attributeFields.end();++iter)
-          {
-            if(iter->name()==it->fieldName())
-            {
-              if (
-                  iter->type().contains("char",false) > 0 || 
-                  iter->type() == "text"                  ||
-                  iter->type() == "date"                  ||
-                  iter->type() == "interval"              ||
-                  iter->type().contains("time",false) > 0      // includes time and timestamp
-                 )
-              {
-                charactertype=true;
-                break; // no need to continue with this loop
-              }
-            }
-          }
+          if(it->type() == QVariant::String || it->type() == QVariant::Char)
+	    {
+	      charactertype=true;
+	    }
         }
 
-        if(charactertype)
-        {
-          insert+="'";
-        }
-        
         // important: escape quotes in field value
         fieldvalue.replace("'", "''");
-        
-        insert+=fieldvalue;
-        if(charactertype)
-        {
-          insert+="'";
-        }
+
+	//request default value explicitly if fieldvalue is an empty string
+	if(fieldvalue.isEmpty())
+	  {
+	    insert += "DEFAULT";
+	  }
+	else
+	  {
+	    // XXX isn't it better to always escape field value?
+	    if(charactertype)
+	      {
+		insert+="'";
+	      }
+	    
+	    insert+=fieldvalue;
+	    
+	    if(charactertype)
+	      {
+		insert+="'";
+	      }
+	  }
       }
     }
 
     insert+=")";
-    QgsDebugMsg("insert statement is: " +insert);
+    QgsDebugMsg("insert statement is: "+insert);
+    qWarning("insert statement is: "+insert);
 
     //send INSERT statement and do error handling
     PGresult* result=PQexec(connection, (const char *)(insert.utf8()));
     if(result==0)
     {
-      QMessageBox::information(0,tr("INSERT error"),tr("An error occured during feature insertion"),QMessageBox::Ok);
+      showMessageBox(tr("INSERT error"),tr("An error occured during feature insertion"));
       return false;
     }
     ExecStatusType message=PQresultStatus(result);
     if(message==PGRES_FATAL_ERROR)
     {
-      // Use QgsMessage viewer here instead of a QMessageBox because
-      // we want to include the offending SQL, which may be quite
-      // long, and the QMessageBox doesn't wrap text, etc.
-      
-      QString sqlDetails = PQresultErrorMessage(result);
-      sqlDetails += tr("The sql was:\n\n") + insert;
-      QgsMessageViewer viewer;
-      viewer.setWindowTitle(tr("SQL error"));
-      viewer.setMessageAsPlainText(sqlDetails);
-      viewer.exec();
-
-      //      QMessageBox::information(0,tr("INSERT error"), sqlDetails,QMessageBox::Ok);
+      showMessageBox(tr("INSERT error"),QString(PQresultErrorMessage(result)));
       return false;
     }
     
-    QgsDebugMsg("QgsPostgresProvider::addFeature: Exiting with true.");
+    QgsDebugMsg("Exiting with true.");
     return true;
-  }
-  
-  QgsDebugMsg("QgsPostgresProvider::addFeature: Exiting with false.");
-  
-  return false;
 }
 
-QString QgsPostgresProvider::getDefaultValue(const QString& attr, QgsFeature* f)
+QVariant QgsPostgresProvider::getDefaultValue(int fieldId)
 {
   // Get the default column value from the Postgres information
   // schema. If there is no default we return an empty string.
 
   // Maintaining a cache of the results of this query would be quite
   // simple and if this query is called lots, could save some time.
+  
+  QString fieldName = attributeFields[fieldId].name();
 
   QString sql("SELECT column_default FROM "
               "information_schema.columns WHERE "
               "column_default IS NOT NULL AND "
               "table_schema = '" + mSchemaName + "' AND "
               "table_name = '" + mTableName + "' AND "
-              "column_name = '" + attr + "'");
+              "column_name = '" + fieldName + "'");
 
   QString defaultValue("");
 
@@ -1876,19 +1750,20 @@
 bool QgsPostgresProvider::deleteFeature(int id)
 {
   QString sql("DELETE FROM "+mSchemaTableName+" WHERE \""+primaryKey+"\" = "+QString::number(id));
-  QgsDebugMsg("delete sql: " + sql);
+  
+  QgsDebugMsg("delete sql: "+sql);
 
   //send DELETE statement and do error handling
   PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
   if(result==0)
   {
-    QMessageBox::information(0,tr("DELETE error"),tr("An error occured during deletion from disk"),QMessageBox::Ok);
+    showMessageBox(tr("DELETE error"),tr("An error occured during deletion from disk"));
     return false;
   }
   ExecStatusType message=PQresultStatus(result);
   if(message==PGRES_FATAL_ERROR)
   {
-    QMessageBox::information(0,tr("DELETE error"),QString(PQresultErrorMessage(result)),QMessageBox::Ok);
+    showMessageBox(tr("DELETE error"),QString(PQresultErrorMessage(result)));
     return false;
   }
 
@@ -1910,7 +1785,9 @@
 {
   PGresult *result = PQexec(connection, "select postgis_version()");
   postgisVersionInfo = PQgetvalue(result,0,0);
+  
   QgsDebugMsg("PostGIS version info: " + postgisVersionInfo);
+  
   PQclear(result);
 
   QStringList postgisParts = QStringList::split(" ", postgisVersionInfo);
@@ -1945,14 +1822,14 @@
   return postgisVersionInfo;
 }
 
-bool QgsPostgresProvider::addFeatures(std::list<QgsFeature*> const flist)
+bool QgsPostgresProvider::addFeatures(QgsFeatureList & flist)
 {
   bool returnvalue=true;
   PQexec(connection,"BEGIN");
 
   int primaryKeyHighWater = maxPrimaryKeyValue();
 
-  for(std::list<QgsFeature*>::const_iterator it=flist.begin();it!=flist.end();++it)
+  for(QgsFeatureList::iterator it=flist.begin();it!=flist.end();++it)
   {
     primaryKeyHighWater++;
     if(!addFeature(*it, primaryKeyHighWater))
@@ -1966,11 +1843,11 @@
   return returnvalue;
 }
 
-bool QgsPostgresProvider::deleteFeatures(std::list<int> const & id)
+bool QgsPostgresProvider::deleteFeatures(const QgsFeatureIds & id)
 {
   bool returnvalue=true;
   PQexec(connection,"BEGIN");
-  for(std::list<int>::const_iterator it=id.begin();it!=id.end();++it)
+  for(QgsFeatureIds::const_iterator it=id.begin();it!=id.end();++it)
   {
     if(!deleteFeature(*it))
     {
@@ -1982,15 +1859,16 @@
   return returnvalue;
 }
 
-bool QgsPostgresProvider::addAttributes(std::map<QString,QString> const & name)
+bool QgsPostgresProvider::addAttributes(const QgsNewAttributesMap & name)
 {
   bool returnvalue=true;
   PQexec(connection,"BEGIN");
-  for(std::map<QString,QString>::const_iterator iter=name.begin();iter!=name.end();++iter)
+  for(QgsNewAttributesMap::const_iterator iter=name.begin();iter!=name.end();++iter)
   {
-    QString sql="ALTER TABLE "+mSchemaTableName+" ADD COLUMN "+(*iter).first+" "+(*iter).second;
+    QString sql="ALTER TABLE "+mSchemaTableName+" ADD COLUMN "+iter.key()+" "+iter.value();
+    
     QgsDebugMsg(sql);
-
+    
     //send sql statement and do error handling
     PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
     if(result==0)
@@ -1999,7 +1877,7 @@
       ExecStatusType message=PQresultStatus(result);
       if(message==PGRES_FATAL_ERROR)
       {
-        QMessageBox::information(0,"ALTER TABLE error",QString(PQresultErrorMessage(result)),QMessageBox::Ok);
+        showMessageBox("ALTER TABLE error",QString(PQresultErrorMessage(result)));
       } 
     }
   }
@@ -2008,15 +1886,21 @@
   return returnvalue;
 }
 
-bool QgsPostgresProvider::deleteAttributes(std::set<QString> const & name)
+bool QgsPostgresProvider::deleteAttributes(const QgsAttributeIds& ids)
 {
   bool returnvalue=true;
   PQexec(connection,"BEGIN");
-  for(std::set<QString>::const_iterator iter=name.begin();iter!=name.end();++iter)
-  {
-    QString sql="ALTER TABLE "+mSchemaTableName+" DROP COLUMN "+(*iter);
-    QgsDebugMsg(sql);
 
+  for(QgsAttributeIds::const_iterator iter=ids.begin();iter != ids.end();++iter)
+  {
+    QgsFieldMap::const_iterator field_it = attributeFields.find(*iter);
+    if(field_it == attributeFields.constEnd())
+      {
+	continue;
+      }
+    QString column = field_it->name();
+    QString sql="ALTER TABLE "+mSchemaTableName+" DROP COLUMN "+column;
+    
     //send sql statement and do error handling
     PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
     if(result==0)
@@ -2025,20 +1909,13 @@
       ExecStatusType message=PQresultStatus(result);
       if(message==PGRES_FATAL_ERROR)
       {
-        QMessageBox::information(0,"ALTER TABLE error",QString(PQresultErrorMessage(result)),QMessageBox::Ok);
+        showMessageBox("ALTER TABLE error",QString(PQresultErrorMessage(result)));
       }
     }
     else
     {
       //delete the attribute from attributeFields
-      for(std::vector<QgsField>::iterator it=attributeFields.begin();it!=attributeFields.end();++it)
-      {
-        if((*it).name()==(*iter))
-        {
-          attributeFields.erase(it);
-          break;
-        }
-      }
+      attributeFields.remove(*iter);
     }
   }
   PQexec(connection,"COMMIT");
@@ -2046,21 +1923,27 @@
   return returnvalue;
 }
 
-bool QgsPostgresProvider::changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map)
+bool QgsPostgresProvider::changeAttributeValues(const QgsChangedAttributesMap & attr_map)
 {
   bool returnvalue=true; 
   PQexec(connection,"BEGIN");
 
-  for(std::map<int,std::map<QString,QString> >::const_iterator iter=attr_map.begin();iter!=attr_map.end();++iter)
+  // cycle through the features
+  for(QgsChangedAttributesMap::const_iterator iter=attr_map.begin();iter!=attr_map.end();++iter)
   {
-    for(std::map<QString,QString>::const_iterator siter=(*iter).second.begin();siter!=(*iter).second.end();++siter)
+    int fid = iter.key();
+    const QgsAttributeMap& attrs = iter.value();
+
+    // cycle through the changed attributes of the feature
+    for(QgsAttributeMap::const_iterator siter = attrs.begin(); siter != attrs.end(); ++siter)
     {
-      QString val = (*siter).second;
-      
+      QString val = siter->toString();
+      QString fieldName = attributeFields[siter.key()].name();
+
       // escape quotes
       val.replace("'", "''");
-      
-      QString sql="UPDATE "+mSchemaTableName+" SET "+(*siter).first+"='"+val+"' WHERE \"" +primaryKey+"\"="+QString::number((*iter).first);
+       
+      QString sql="UPDATE "+mSchemaTableName+" SET "+fieldName+"='"+val+"' WHERE \"" +primaryKey+"\"="+QString::number(fid);
       QgsDebugMsg(sql);
 
       // s end sql statement and do error handling
@@ -2068,23 +1951,16 @@
       PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
       if (result==0)
       {
-        QMessageBox::critical(0, tr("PostGIS error"), 
-                                 tr("An error occured contacting the PostgreSQL database"),
-                                 QMessageBox::Ok,
-                                 Qt::NoButton);
+        showMessageBox(tr("PostGIS error"),
+                       tr("An error occured contacting the PostgreSQL database"));
         return false;
       }
       ExecStatusType message=PQresultStatus(result);
       if(message==PGRES_FATAL_ERROR)
       {
-        QMessageBox::information(0, tr("PostGIS error"), 
-                                 tr("The PostgreSQL database returned: ")
-                                   + QString(PQresultErrorMessage(result))
-                                   + "\n"
-                                   + tr("When trying: ")
-                                   + sql,
-                                 QMessageBox::Ok,
-                                 Qt::NoButton);
+        showMessageBox(tr("PostGIS error"),tr("The PostgreSQL database returned: ")
+                        + QString(PQresultErrorMessage(result))
+                        + "\n" + tr("When trying: ") + sql);
         return false;
       }
 
@@ -2095,9 +1971,9 @@
   return returnvalue;
 }
 
-bool QgsPostgresProvider::changeGeometryValues(std::map<int, QgsGeometry> & geometry_map)
+bool QgsPostgresProvider::changeGeometryValues(QgsGeometryMap & geometry_map)
 {
-  QgsDebugMsg("QgsPostgresProvider::changeGeometryValues: entering.");
+  QgsDebugMsg("entering.");
 
   bool returnvalue = true;
 
@@ -2111,7 +1987,8 @@
     postgisVersion(connection);
   }
 
-  QgsDebugMsg("QgsPostgresProvider::addFeature: PostGIS version is major: "  + QString::number(postgisVersionMajor) + ", minor: " + QString::number(postgisVersionMinor) + ".");
+  QgsDebugMsg("PostGIS version is  major: " + QString::number(postgisVersionMajor) +
+              ", minor: " + QString::number(postgisVersionMinor));
 
   if (postgisVersionMajor < 1)
   {
@@ -2122,16 +1999,16 @@
 
   PQexec(connection,"BEGIN");
 
-  for(std::map<int, QgsGeometry>::const_iterator iter  = geometry_map.begin();
-                                                 iter != geometry_map.end();
-                                               ++iter)
+  for(QgsGeometryMap::iterator iter  = geometry_map.begin();
+                                             iter != geometry_map.end();
+                                           ++iter)
   {
 
-    QgsDebugMsg("QgsPostgresProvider::changeGeometryValues: iterating over the map of changed geometries...");
+    QgsDebugMsg("iterating over the map of changed geometries...");
     
-    if (iter->second.wkbBuffer())
+    if (iter->wkbBuffer())
     {
-      QgsDebugMsg("QgsPostgresProvider::changeGeometryValues: iterating over feature id " + iter->first);
+      QgsDebugMsg("iterating over feature id " + QString::number(iter.key()));
     
       QString sql = "UPDATE "+ mSchemaTableName +" SET \"" + 
                     geometryColumn + "\"=";
@@ -2139,8 +2016,8 @@
       sql += "GeomFromWKB('";
 
       // Add the WKB geometry to the UPDATE statement
-      unsigned char* geom = iter->second.wkbBuffer();
-      for (int i=0; i < iter->second.wkbSize(); ++i)
+      unsigned char* geom = iter->wkbBuffer();
+      for (uint i=0; i < iter->wkbSize(); ++i)
       {
         if (useWkbHex)
         {
@@ -2185,175 +2062,29 @@
         sql += "::bytea',"+srid+")";
       }
 
-      sql += " WHERE \"" +primaryKey+"\"="+QString::number(iter->first);
+      sql += " WHERE \"" +primaryKey+"\"="+QString::number(iter.key());
 
-      QgsDebugMsg("QgsPostgresProvider::changeGeometryValues: Updating with '" + sql + "'.");
+      QgsDebugMsg("Updating with: " + sql);
     
       // send sql statement and do error handling
       // TODO: Make all error handling like this one
       PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
       if (result==0)
       {
-        QMessageBox::critical(0, tr("PostGIS error"), 
-                                 tr("An error occured contacting the PostgreSQL database"),
-                                 QMessageBox::Ok,
-                                 Qt::NoButton);
+        showMessageBox(tr("PostGIS error"), tr("An error occured contacting the PostgreSQL database"));
         return false;
       }
       ExecStatusType message=PQresultStatus(result);
       if(message==PGRES_FATAL_ERROR)
       {
-        QMessageBox::information(0, tr("PostGIS error"), 
-                                 tr("The PostgreSQL database returned: ")
+        showMessageBox(tr("PostGIS error"), tr("The PostgreSQL database returned: ")
                                    + QString(PQresultErrorMessage(result))
-                                   + "\n"
-                                   + tr("When trying: ")
-                                   + sql,
-                                 QMessageBox::Ok,
-                                 Qt::NoButton);
+                                   + "\n" + tr("When trying: ") + sql);
         return false;
       }
                        
     } // if (*iter)
 
-/*  
-  
-    if(f)
-  {
-    QString insert("INSERT INTO \"");
-    insert+=tableName;
-    insert+="\" (";
-
-    //add the name of the geometry column to the insert statement
-    insert+=geometryColumn;//first the geometry
-
-    //add the names of the other fields to the insert
-    std::vector<QgsFeatureAttribute> attributevec=f->attributeMap();
-    for(std::vector<QgsFeatureAttribute>::iterator it=attributevec.begin();it!=attributevec.end();++it)
-    {
-      QString fieldname=it->fieldName();
-      if(fieldname!=geometryColumn)
-      {
-        insert+=",";
-        insert+=fieldname;
-      }
-    }
-
-    insert+=") VALUES (GeomFromWKB('";
-
-    //add the wkb geometry to the insert statement
-    unsigned char* geom=f->getGeometry();
-    for(int i=0;i<f->getGeometrySize();++i)
-    {
-      QString hex=QString::number((int)geom[i],16).upper();
-      if(hex.length()==1)
-      {
-        hex="0"+hex;
-      }
-      insert+=hex;
-    }
-    insert+="',"+srid+")";
-
-    //add the field values to the insert statement
-    for(std::vector<QgsFeatureAttribute>::iterator it=attributevec.begin();it!=attributevec.end();++it)
-    {
-      if(it->fieldName()!=geometryColumn)
-      {
-        QString fieldvalue=it->fieldValue();
-        bool charactertype=false;
-        insert+=",";
-
-        //add quotes if the field is a characted type
-        if(fieldvalue!="NULL")
-        {
-          for(std::vector<QgsField>::iterator iter=attributeFields.begin();iter!=attributeFields.end();++iter)
-          {
-            if(iter->name()==it->fieldName())
-            {
-              if(iter->type().contains("char",false)>0||iter->type()=="text")
-              {
-                charactertype=true;
-              }
-            }
-          }
-        }
-
-        if(charactertype)
-        {
-          insert+="'";
-        }
-        insert+=fieldvalue;
-        if(charactertype)
-        {
-          insert+="'";
-        }
-      }
-    }
-
-    insert+=")";
-    QgsDebugMsg("insert statement is: "+insert);
-
-    //send INSERT statement and do error handling
-    PGresult* result=PQexec(connection, (const char *)(insert.utf8()));
-    if(result==0)
-    {
-      QMessageBox::information(0,"INSERT error","An error occured during feature insertion",QMessageBox::Ok);
-      return false;
-    }
-    ExecStatusType message=PQresultStatus(result);
-    if(message==PGRES_FATAL_ERROR)
-    {
-      QMessageBox::information(0,"INSERT error",QString(PQresultErrorMessage(result)),QMessageBox::Ok);
-      return false;
-    }
-    return true;
-  }
-  return false;
-
-  
-  
-  
-  
-  
-  
-  
-  
-    for(std::map<QString,QString>::const_iterator siter=(*iter).second.begin();siter!=(*iter).second.end();++siter)
-    {
-      QString value=(*siter).second;
-
-      //find out, if value contains letters and quote if yes
-      bool text=false;
-      for(int i=0;i<value.length();++i)
-      {
-        if(value[i].isLetter())
-        {
-          text=true;
-        }
-      }
-      if(text)
-      {
-        value.prepend("'");
-        value.append("'");
-      }
-
-      QString sql="UPDATE \""+tableName+"\" SET "+(*siter).first+"="+value+" WHERE " +primaryKey+"="+QString::number((*iter).first);
-      QgsDebugMsg(sql);
-
-      //send sql statement and do error handling
-      PGresult* result=PQexec(connection, (const char *)(sql.utf8()));
-      if(result==0)
-      {
-        returnvalue=false;
-        ExecStatusType message=PQresultStatus(result);
-        if(message==PGRES_FATAL_ERROR)
-        {
-          QMessageBox::information(0,"UPDATE error",QString(PQresultErrorMessage(result)),QMessageBox::Ok);
-        }
-      }
-    }
-  }
-*/
   } // for each feature
   
   PQexec(connection,"COMMIT");
@@ -2362,16 +2093,22 @@
   
   reset();
   
-  QgsDebugMsg("QgsPostgresProvider::changeGeometryValues: exiting.");
+  QgsDebugMsg("exiting.");
+  
   return returnvalue;
 }
 
-
-bool QgsPostgresProvider::supportsSaveAsShapefile() const
+QgsAttributeList QgsPostgresProvider::allAttributesList()
 {
-  return false;
+	QgsAttributeList attributes;
+	for(QgsFieldMap::iterator it = attributeFields.begin(); it != attributeFields.end(); ++it)
+	{
+		attributes.push_back(it.key());
+	}
+	return attributes;
 }
 
+
 int QgsPostgresProvider::capabilities() const
 {
   return (
@@ -2411,7 +2148,7 @@
   QString sql = "select reltuples from pg_catalog.pg_class where relname = '" + 
     tableName + "'";
 
-  QgsDebugMsg("QgsPostgresProvider: Running SQL: " + sql);        
+  QgsDebugMsg("Running SQL: " + sql);
 #else                 
   QString sql = "select count(*) from " + mSchemaTableName + "";
 
@@ -2423,12 +2160,14 @@
 
   PGresult *result = PQexec(connection, (const char *) (sql.utf8()));
 
-  QgsDebugMsg("QgsPostgresProvider: Approximate Number of features as text: " + QString(PQgetvalue(result, 0, 0)));
+  QgsDebugMsg("Approximate Number of features as text: " +
+              QString(PQgetvalue(result, 0, 0)));
 
   numberFeatures = QString(PQgetvalue(result, 0, 0)).toLong();
   PQclear(result);
-  QgsDebugMsg("QgsPostgresProvider: Approximate Number of features: " + QString::number(numberFeatures));
 
+  QgsDebugMsg("Approximate Number of features: " + QString::number(numberFeatures));
+
   return numberFeatures;
 }
 
@@ -2458,9 +2197,9 @@
     "ymin(extent(\"" + geometryColumn + "\")) as ymin" 
     " from " + mSchemaTableName;
 #endif
- 
-  QgsDebugMsg((const char*)(QString("QgsPostgresProvider::calculateExtents - Getting approximate extent using: '") + sql + "'").toLocal8Bit().data());
 
+  QgsDebugMsg("Getting approximate extent using: '" + sql + "'");
+  
   PGresult *result = PQexec(connection, (const char *) (sql.utf8()));
 
   // TODO: Guard against the result having no rows
@@ -2482,25 +2221,10 @@
       layerExtent.combineExtentWith( &b );
     }
 
-    QgsDebugMsg("QgsPostgresProvider: After row " + QString::number(i) + ", extent is: " + 
-		QString::number(layerExtent.xMin()) + ", " + QString::number(layerExtent.yMin()) +
-		" " + QString::number(layerExtent.xMax()) + ", " + QString::number(layerExtent.yMax()));
-
+    QgsDebugMsg("After row " + QString::number(i) +
+                ", extent is: " + layerExtent.stringRep());
   }
 
-#ifdef QGISDEBUG
-  QString xMsg;
-  QTextOStream(&xMsg).precision(18);
-  QTextOStream(&xMsg).width(18);
-  QTextOStream(&xMsg) << "QgsPostgresProvider: Set extents to: " << layerExtent.
-    xMin() << ", " << layerExtent.yMin() << " " << layerExtent.xMax() << ", " << layerExtent.yMax();
-  QgsDebugMsg(xMsg);
-#endif
-
-  QgsDebugMsg("QgsPostgresProvider: Set limit 5 extents to: " + QString::number(layerExtent.xMin()) + \
-	      ", " + QString::number(layerExtent.yMin()) + " " + QString::number(layerExtent.xMax()) + \
-	      ", " + QString::number(layerExtent.yMax()));
-
   // clear query result
   PQclear(result);
 
@@ -2523,8 +2247,8 @@
     " from " + mSchemaTableName;
 #endif
 
-  QgsDebugMsg((const char*)(QString("+++++++++QgsPostgresProvider::calculateExtents -  Getting extents using schema.table: ") + sql).toLocal8Bit().data());
-
+  QgsDebugMsg("Getting extents using schema.table: " + sql);
+  
   PGresult *result = PQexec(connection, (const char *) (sql.utf8()));
   Q_ASSERT(PQntuples(result) == 1);
   std::string box3d = PQgetvalue(result, 0, 0);
@@ -2555,21 +2279,22 @@
     layerExtent.setXmin(minx);
     layerExtent.setYmax(maxy);
     layerExtent.setYmin(miny);
-#ifdef QGISDEBUG
-    QString xMsg;
-    QTextOStream(&xMsg).precision(18);
-    QTextOStream(&xMsg).width(18);
-    QTextOStream(&xMsg) << "Set extents to: " << layerExtent.
-      xMin() << ", " << layerExtent.yMin() << " " << layerExtent.xMax() << ", " << layerExtent.yMax();
-    QgsDebugMsg(xMsg);
-#endif
+
     // clear query result
     PQclear(result);
   }
 
-
 #endif
 
+// #ifdef QGISDEBUG
+//   QString xMsg;
+//   QTextOStream(&xMsg).precision(18);
+//   QTextOStream(&xMsg).width(18);
+//   QTextOStream(&xMsg) << "QgsPostgresProvider: Set extents to: " << layerExtent.
+//     xMin() << ", " << layerExtent.yMin() << " " << layerExtent.xMax() << ", " << layerExtent.yMax();
+//   std::cerr << xMsg << std::endl;
+// #endif
+  QgsDebugMsg("Set extents to: " + layerExtent.stringRep());
 }
 
 /**
@@ -2577,54 +2302,54 @@
  */
 void QgsPostgresProvider::customEvent( QCustomEvent * e )
 {
-  QgsDebugMsg("QgsPostgresProvider: received a custom event " + e->type());
+  QgsDebugMsg("received a custom event " + QString::number(e->type()));
 
   switch ( e->type() )
   {
     case (QEvent::Type) QGis::ProviderExtentCalcEvent:
 
-      QgsDebugMsg("QgsPostgresProvider: extent has been calculated");
+      QgsDebugMsg("extent has been calculated");
 
       // Collect the new extent from the event and set this layer's
       // extent with it.
 
-      setExtent( (QgsRect*) e->data() );
+      {
+        QgsRect* r = (QgsRect*) e->data();
+        setExtent( *r );
+      }
 
+      QgsDebugMsg("new extent has been saved");
 
-      QgsDebugMsg("QgsPostgresProvider: new extent has been saved");
+      QgsDebugMsg("Set extent to: " + layerExtent.stringRep());
 
-      QgsDebugMsg("QgsPostgresProvider: Set extent to: " + QString::number(layerExtent.xMin()) + ", " + 
-		  QString::number(layerExtent.yMin()) + " " + QString::number(layerExtent.xMax()) + ", " + 
-		  QString::number(layerExtent.yMax()));
+      QgsDebugMsg("emitting fullExtentCalculated()");
 
-      QgsDebugMsg("QgsPostgresProvider: emitting fullExtentCalculated()");
-
-#ifndef WIN32 //temporary hack for native win build
       emit fullExtentCalculated();
-#endif
 
       // TODO: Only uncomment this when the overview map canvas has been subclassed
       // from the QgsMapCanvas
 
-      //        QgsDebugMsg("QgsPostgresProvider: emitting repaintRequested()");
+      //        QgsDebugMsg("emitting repaintRequested()");
       //        emit repaintRequested();
 
       break;
 
     case (QEvent::Type) QGis::ProviderCountCalcEvent:
 
-      QgsDebugMsg("QgsPostgresProvider: count has been calculated");
+      QgsDebugMsg("count has been calculated");
 
-      QgsProviderCountCalcEvent* e1 = (QgsProviderCountCalcEvent*) e;
+      numberFeatures = ((QgsProviderCountCalcEvent*) e)->numberFeatures();
 
-      numberFeatures = e1->numberFeatures();
+      QgsDebugMsg("count is " + QString::number(numberFeatures));
 
-      QgsDebugMsg("QgsPostgresProvider: count is " + QString::number(numberFeatures));
-
       break;
+      
+    default:
+      // do nothing
+      break;
   }
 
-  QgsDebugMsg("QgsPostgresProvider: Finished processing custom event " + QString::number(e->type()));
+  QgsDebugMsg("Finished processing custom event " + QString::number(e->type()));
 
 }
 
@@ -2643,6 +2368,7 @@
   // get the int value from a "normal" select
   QString oidValue = PQgetvalue(oidResult,0,0);
   PQclear(oidResult);
+
   QgsDebugMsg("Creating binary cursor");
 
   // get the same value using a binary cursor
@@ -2662,8 +2388,8 @@
     // get the oid value from the binary cursor
     int oid = *(int *)PQgetvalue(fResult,0,0);
 
-    //QgsDebugMsg("Got oid of " << oid << " from the binary cursor");
-    //QgsDebugMsg("First oid is " QString::number(oidValue));
+    //--std::cout << "Got oid of " << oid << " from the binary cursor" << std::endl;
+    //--std::cout << "First oid is " << oidValue << std::endl;
     // compare the two oid values to determine if we need to do an endian swap
     if(oid == oidValue.toInt())
       swapEndian = false;
@@ -2687,7 +2413,8 @@
   QgsDebugMsg("Getting geometry column: " + sql);
 
   PGresult *result = executeDbCommand(connection, sql);
-  QgsDebugMsg("geometry column query returned " + PQntuples(result));
+
+  QgsDebugMsg("geometry column query returned " + QString(PQntuples(result)));
   QgsDebugMsg("column number of srid is " + QString::number(PQfnumber(result, "srid")));
 
   if (PQntuples(result) > 0)
@@ -2762,18 +2489,18 @@
     showMessageBox(tr("Unable to get feature type and srid"), log);
   }
 
-
   if (valid)
-    {
-      QgsDebugMsg("SRID is " + srid);
-      QgsDebugMsg("type is " + fType);
-      QgsDebugMsg("Feature type is " + geomType);
-      QgsDebugMsg(QString("Feature type name is ") + QGis::qgisFeatureTypes[geomType]);
-    }
+  {
+    QgsDebugMsg("SRID is " + srid);
+    QgsDebugMsg("type is " + fType);
+    QgsDebugMsg("Feature type is " + QString::number(geomType));
+    QgsDebugMsg("Feature type name is " + QString(QGis::qgisFeatureTypes[geomType]));
+  }
   else
-    {
-      QgsDebugMsg("Failed to get geometry details for Postgres layer.");
-    }
+  {
+    QgsDebugMsg("Failed to get geometry details for Postgres layer.");
+  }
+
   return valid;
 }
 
@@ -2781,26 +2508,24 @@
                                                 const QString& sql)
 {
   PGresult *result = PQexec(connection, (const char *) (sql.utf8()));
-
+  
   QgsDebugMsg("Executed SQL: " + sql);
-  if (PQresultStatus(result) == PGRES_TUPLES_OK)
-    {
-      QgsDebugMsg("Command was successful.");
-    }
-  else
-    {
-      QgsDebugMsg("Command was unsuccessful. The error message was: " + QString(PQresultErrorMessage(result)));
-    }
+  if (PQresultStatus(result) == PGRES_TUPLES_OK) {
+    QgsDebugMsg("Command was successful.");
+  } else {
+    QgsDebugMsg("Command was unsuccessful. The error message was: "
+                + QString( PQresultErrorMessage(result) ) );
+  }
   return result;
 }
 
 void QgsPostgresProvider::showMessageBox(const QString& title, 
 					 const QString& text)
 {
-  QgsMessageViewer* message = new QgsMessageViewer();
-  message->setCaption(title);
-  message->setMessageAsPlainText(text);
-  message->exec(); // modal
+  QgsMessageOutput* message = QgsMessageOutput::createMessageOutput();
+  message->setTitle(title);
+  message->setMessage(text, QgsMessageOutput::MessageText);
+  message->showMessage();
 }
 
 void QgsPostgresProvider::showMessageBox(const QString& title, 
@@ -2809,13 +2534,30 @@
   showMessageBox(title, text.join("\n"));
 }
 
-int QgsPostgresProvider::getSrid()
+
+QgsSpatialRefSys QgsPostgresProvider::getSRS()
 {
-  return srid.toInt();
+  QgsSpatialRefSys srs;
+  srs.createFromSrid(srid.toInt());
+  return srs;
 }
 
+QString QgsPostgresProvider::subsetString()
+{
+  return sqlWhereClause;
+}
 
+PGconn * QgsPostgresProvider::pgConnection()
+{
+  return connection;
+}
 
+QString QgsPostgresProvider::getTableName()
+{
+  return mTableName;
+}
+
+
 size_t QgsPostgresProvider::layerCount() const
 {
     return 1;                   // XXX need to return actual number of layers

Modified: packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/postgres/qgspostgresprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,7 +16,7 @@
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-/* $Id: qgspostgresprovider.h 6184 2006-12-04 20:13:21Z timlinux $ */
+/* $Id: qgspostgresprovider.h 7071 2007-07-15 08:36:20Z mhugent $ */
 
 #ifndef QGSPOSTGRESPROVIDER_H
 #define QGSPOSTGRESPROVIDER_H
@@ -30,12 +30,8 @@
 #include <list>
 #include <queue>
 #include <fstream>
+#include <set>
 
-class QString;
-
-class OGRDataSource;
-class OGRLayer;
-
 class QgsFeature;
 class QgsField;
 class QgsGeometry;
@@ -53,13 +49,10 @@
   interface defined in the QgsDataProvider class to provide access to spatial
   data residing in a PostgreSQL/PostGIS enabled database.
   */
-class QgsPostgresProvider: public QgsVectorDataProvider
+class QgsPostgresProvider:public QgsVectorDataProvider
 {
 
-
-#ifndef WIN32 //temporary hack for native win build
   Q_OBJECT
-#endif
 
   public:
     /**
@@ -78,29 +71,45 @@
       */
     QString storageType();
 
-    /** Used to ask the layer for its projection as a WKT string. Implements
-     * virtual method of same name in QgsDataProvider. */
-    QString getProjectionWKT()  {return QString("Not implemented yet");} ;
-
-    /**
-     * Get the first feature resutling from a select operation
-     * @return QgsFeature
+    /*! Get the QgsSpatialRefSys for this layer
+     * @note Must be reimplemented by each provider. 
+     * If the provider isn't capable of returning
+     * its projection an empty srs will be return, ti will return 0
      */
-    QgsFeature *getFirstFeature(bool fetchAttributes = false);
+    virtual QgsSpatialRefSys getSRS();
 
+    /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+     *  @param fetchAttributes list of attributes which should be fetched
+     *  @param rect spatial filter
+     *  @param fetchGeometry true if the feature geometry should be fetched
+     *  @param useIntersect true if an accurate intersection test should be used,
+     *                     false if a test based on bounding box is sufficient
+     */
+    virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                        QgsRect rect = QgsRect(),
+                        bool fetchGeometry = true,
+                        bool useIntersect = false);
+  
     /**
-     * Get the next feature resulting from a select operation
-     * @return QgsFeature
+     * Get the next feature resulting from a select operation.
+     * @param feature feature which will receive data from the provider
+     * @return true when there was a feature to fetch, false when end was hit
      */
-    QgsFeature *getNextFeature(bool fetchAttributes = false);
-    bool getNextFeature(QgsFeature &feature, bool fetchAttributes=0);
+    virtual bool getNextFeature(QgsFeature& feature);
+    
+    /** 
+      * Gets the feature at the given feature ID.
+      * @param featureId id of the feature
+      * @param feature feature which will receive the data
+      * @param fetchGeoemtry if true, geometry will be fetched from the provider
+      * @param fetchAttributes a list containing the indexes of the attribute fields to copy
+      * @return True when feature was found, otherwise false
+      */
+    virtual bool getFeatureAtId(int featureId,
+                                QgsFeature& feature,
+                                bool fetchGeometry = true,
+                                QgsAttributeList fetchAttributes = QgsAttributeList());
 
-    /**Get the next feature resulting from a select operation.
-     * @param attlist            a list containing the indexes of the attribute fields to copy
-     * @param featureQueueSize   a hint to the provider as to how many features are likely to be retrieved in a batch
-     */
-//    QgsFeature* getNextFeature(std::list<int> const & attlist);
-    QgsFeature* getNextFeature(std::list<int> const & attlist, int featureQueueSize = 1);
     
     /** Get the feature type. This corresponds to
      * WKBPoint,
@@ -111,10 +120,9 @@
      * WKBMultiPolygon
      * as defined in qgis.h
      */
+    QGis::WKBTYPE geometryType() const;
 
-    int geometryType() const;
 
-
     /** return the number of layers for the current data source
 
     @note 
@@ -133,33 +141,14 @@
     /**
      * Get the number of fields in the layer
      */
-    int fieldCount() const;
+    uint fieldCount() const;
 
     /**
-     * Select features based on a bounding rectangle. Features can be retrieved
-     * with calls to getFirstFeature and getNextFeature.
-     * @param mbr QgsRect containing the extent to use in selecting features
-     */
-    void select(QgsRect * mbr, bool useIntersect=false);
-
-    /**
      * Get the data source URI structure used by this layer
      */
-    QgsDataSourceURI * getURI();
+    QgsDataSourceURI& getURI();
 
     /**
-     * Set the data source URI used by this layer
-     */
-    void setURI(QgsDataSourceURI &uri);
-
-    /**
-     * Identify features within the search radius specified by rect
-     * @param rect Bounding rectangle of search radius
-     * @return std::vector containing QgsFeature objects that intersect rect
-     */
-    virtual std::vector<QgsFeature>& identify(QgsRect * rect);
-
-    /**
      * Return a string representation of the endian-ness for the layer
      */
     QString endianString();
@@ -168,26 +157,12 @@
      * Changes the stored extent for this layer to the supplied extent.
      * For example, this is called when the extent worker thread has a result.
      */ 
-    void setExtent( QgsRect* newExtent );
+    void setExtent( QgsRect& newExtent );
 
     /** Return the extent for this data layer
     */
-    virtual QgsRect *extent();
+    virtual QgsRect extent();
 
-    /**
-     * Get the attributes associated with a feature
-     */
-    virtual void getFeatureAttributes(int key, int& row, QgsFeature *f);
-
-    /**Get the attributes with indices contained in attlist*/
-    void getFeatureAttributes(int key, int& row, QgsFeature *f, std::list<int> const& attlist);
-
-    /**
-     * Fetch geometry for a particular feature with id "key",
-     * modifies "f" in-place.
-     */
-    void getFeatureGeometry(int key, QgsFeature *f);
-
     /**  * Get the name of the primary key for the layer
     */
     QString getPrimaryKey();
@@ -196,24 +171,32 @@
      * Get the field information for the layer
      * @return vector of QgsField objects
      */
-    std::vector<QgsField> const & fields() const;
+    const QgsFieldMap & fields() const;
 
+    /**
+     * Return a short comment for the data that this provider is
+     * providing access to (e.g. the comment for postgres table).
+     */
+    QString dataComment() const;
+
     /** Reset the layer - for a PostgreSQL layer, this means clearing the PQresult
      * pointer and setting it to 0
      */
     void reset();
 
-    /**Returns the minimum value of an attribute
-      @param position the number of the attribute*/
-    QString minValue(int position);
+    /** Returns the minimum value of an attributs
+     *  @param index the index of the attribute */
+    QVariant minValue(int index);
 
-    /**Returns the maximum value of an attribute
-      @param position the number of the attribute*/
-    QString maxValue(int position);
+    /** Returns the maximum value of an attributs
+     *  @param index the index of the attribute */
+    QVariant maxValue(int index);
 
     /**Returns true if layer is valid
     */
     bool isValid();
+    
+    QgsAttributeList allAttributesList();
 
     //! get postgis version string
     QString postgisVersion(PGconn *);
@@ -227,33 +210,33 @@
     //! get status of PROJ4 capability
     bool hasPROJ(PGconn *);
 
-    /**Returns the default value for attribute @c attr for feature @c f. */
-    QString getDefaultValue(const QString& attr, QgsFeature* f);
+    /**Returns the default value for field specified by @c fieldId */
+    QVariant getDefaultValue(int fieldId);
 
     /**Adds a list of features
       @return true in case of success and false in case of failure*/
-    bool addFeatures(std::list<QgsFeature*> const flist);
+    bool addFeatures(QgsFeatureList & flist);
 
     /**Deletes a list of features
       @param id list of feature ids
       @return true in case of success and false in case of failure*/
-    bool deleteFeatures(std::list<int> const & id);
+    bool deleteFeatures(const QgsFeatureIds & id);
 
     /**Adds new attributes
       @param name map with attribute name as key and type as value
       @return true in case of success and false in case of failure*/
-    bool addAttributes(std::map<QString,QString> const & name);
+    bool addAttributes(const QgsNewAttributesMap & name);
 
     /**Deletes existing attributes
       @param names of the attributes to delete
       @return true in case of success and false in case of failure*/
-    bool deleteAttributes(std::set<QString> const & name);
+    bool deleteAttributes(const QgsAttributeIds & name);
 
     /**Changes attribute values of existing features
       @param attr_map a map containing the new attributes. The integer is the feature id,
       the first QString is the attribute name and the second one is the new attribute value
       @return true in case of success and false in case of failure*/
-    bool changeAttributeValues(std::map<int,std::map<QString,QString> > const & attr_map);
+    bool changeAttributeValues(const QgsChangedAttributesMap & attr_map);
 
     /** 
        Changes geometries of existing features
@@ -261,25 +244,23 @@
                              the second map parameter being the new geometries themselves
        @return               true in case of success and false in case of failure
      */
-    bool changeGeometryValues(std::map<int, QgsGeometry> & geometry_map);
+    bool changeGeometryValues(QgsGeometryMap & geometry_map);
 
-    //! Flag to indicate if the provider can export to shapefile
-    bool supportsSaveAsShapefile() const;
-
-    /** Accessor for sql where clause used to limit dataset */
-    QString subsetString() {return sqlWhereClause;};
-
     //! Get the postgres connection
-    PGconn * pgConnection() {return connection;};
+    PGconn * pgConnection();
 
     //! Get the table name associated with this provider instance
-    QString getTableName() {return mTableName;};
+    QString getTableName();
 
+    /** Accessor for sql where clause used to limit dataset */
+    QString subsetString();
+
     /** mutator for sql where clause used to limit dataset size */
-    void setSubsetString(QString theSQL); //{sqlWhereClause = theSQL;};
+    void setSubsetString(QString theSQL);
 
     /**Returns a bitmask containing the supported capabilities*/
     int capabilities() const;
+
     /** The Postgres provider does its own transforms so we return
      * true for the following three functions to indicate that transforms
      * should not be handled by the QgsCoordinateTransform object. See the
@@ -288,17 +269,8 @@
     // XXX For now we have disabled native transforms in the PG provider since
     //     it appears there are problems with some of the projection definitions
     bool supportsNativeTransform(){return false;}
-    bool usesSrid(){return true;}
-    bool usesWKT(){return false;}
 
-    /*! Set the SRID of the target (map canvas) SRS.
-     * @parm srid SRID of the map canvas SRS
-     */
-    void setTargetSrid(int srid);
 
-    int getSrid();
-
-
     /** return a provider name
 
     Essentially just returns the provider key.  Should be used to build file
@@ -334,7 +306,6 @@
 
 
 
-#ifndef WIN32 //temporary hack for native win build
     signals:
     /** 
      *   This is emitted whenever the worker thread has fully calculated the
@@ -354,13 +325,12 @@
      *          when the user adjusts the extent of the main map canvas.
      */
     void repaintRequested();
-#endif
 
   private:
 
     std::vector < QgsFeature > features;
-    std::vector < QgsField > attributeFields;
-    std::map < int, int > attributeFieldsIdMap;
+    QgsFieldMap attributeFields;
+    QString mDataComment;
 
     //! Data source URI struct for this layer
     QgsDataSourceURI mUri;
@@ -415,7 +385,7 @@
     /**
      * Geometry type
      */
-    int geomType;
+    QGis::WKBTYPE geomType;
     /**
      * Connection pointer
      */
@@ -438,7 +408,12 @@
      * Feature queue that GetNextFeature will retrieve from 
      * before the next fetch from PostgreSQL
      */
-    std::queue<QgsFeature*> mFeatureQueue; 
+    std::queue<QgsFeature> mFeatureQueue; 
+    
+    /**
+     * Maximal size of the feature queue
+     */
+    int mFeatureQueueSize;
         
     /**
      * Flag indicating whether data from binary cursors must undergo an
@@ -452,6 +427,9 @@
      */
     bool swapEndian;
 
+    /**Stores the names of the attributes to fetch*/
+    std::list<QString> mFetchAttributeNames;
+
     bool deduceEndian();
     bool getGeometryDetails();
 
@@ -505,6 +483,20 @@
     // Function that populates the given cols structure.
     void findColumns(tableCols& cols);
 
+    /**Helper function that collects information about the origin and type of a view column. 
+       Inputs are information about the column in the underlying table 
+       (from information_schema.view_column_usage), the attribute name 
+       in the view and the view definition. For view columns that refer 
+       to other views, this function calls itself until a table entry is found.
+    @param ns namespace of underlying table
+    @param relname name of underlying relation
+    @param attname attribute name in underlying table
+    @param viewDefinition definition of this view
+    @param result 
+    @return 0 in case of success*/
+    int SRCFromViewColumn(const QString& ns, const QString& relname, const QString& attname_table, 
+			  const QString& attname_view, const QString& viewDefinition, SRC& result) const;
+
     bool ready;
     std::ofstream pLog;
 
@@ -538,7 +530,7 @@
 
     /** Writes a single feature 
         @param primaryKeyHighWater   is the recommended value of the primary key for this new feature. */
-    bool addFeature(QgsFeature* f, int primaryKeyHighWater);
+    bool addFeature(QgsFeature& f, int primaryKeyHighWater);
 
     /**Deletes a feature*/
     bool deleteFeature(int id);

Deleted: packages/qgis/branches/upstream/current/src/providers/providers.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/providers.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/providers.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,13 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-TEMPLATE = subdirs
-SUBDIRS =  ogr delimitedtext grass postgres wms wfs gpx

Modified: packages/qgis/branches/upstream/current/src/providers/wfs/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,11 +2,16 @@
 ########################################################
 # Files
 
-SET(WFS_SRCS qgswfsprovider.cpp)
+SET(WFS_SRCS qgswfsprovider.cpp qgswfsdata.cpp)
 
-SET (WFS_MOC_HDRS ""
+SET (WFS_MOC_HDRS
+     qgswfsdata.h
 )
 
+IF (PEDANTIC)
+  MESSAGE("providers/wfs : -Werror removed for qgswfsprovider.cpp for now - please get rid of any compiler warnings!")
+ENDIF (PEDANTIC)
+SET_SOURCE_FILES_PROPERTIES(qgswfsprovider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
 ########################################################
 # Build
 
@@ -14,12 +19,9 @@
 
 INCLUDE_DIRECTORIES (
   ../../core
-  ../../gui
-  ${CMAKE_CURRENT_BINARY_DIR}/../../ui
   ${GEOS_INCLUDE_DIR}
   ${GEOS_INCLUDE_DIR}/geos
   ${EXPAT_INCLUDE_DIR}
-  ${GDAL_INCLUDE_DIR}
 )
 
 ADD_LIBRARY (wfsprovider MODULE ${WFS_SRCS} ${WFS_MOC_SRCS})
@@ -28,7 +30,6 @@
   ${QT_LIBRARIES}
   ${GEOS_LIBRARY}
   ${EXPAT_LIBRARY}
-  ${GDAL_LIBRARIES}
   qgis_core
 )
 

Deleted: packages/qgis/branches/upstream/current/src/providers/wfs/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-INCLUDES = -I../../core/ -I../../gui/ -I../../ui
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES = libwfsprovider.la
-
-libwfsprovider_la_SOURCES = qgswfsprovider.cpp $(libwfsprovider_MOC) qgswfsprovider.h
-
-BUILT_SOURCES = $(wfsprovider_MOC)
-
-libwfsprovider_la_LIBADD = $(QT_LDADD)  $(GDAL_LIB) $(GEOS_LDADD) ../../gui/libqgis_gui.la ../../core/libqgis_core.la
-libwfsprovider_la_LDFLAGS = -avoid-version -module
-libwfsprovider_la_CXXFLAGS = $(GDAL_CFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GEOS_CFLAGS) $(GEOS_CFLAGS)/geos
-
-CLEANFILES = $(BUILT_SOURCES)

Added: packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,739 @@
+/***************************************************************************
+     qgswfsdata.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:19:51 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "qgswfsdata.h"
+#include "qgsrect.h"
+#include "qgsspatialrefsys.h"
+#include <QBuffer>
+#include <QUrl>
+
+//just for a test
+//#include <QProgressDialog>
+
+const char NS_SEPARATOR = '?';
+const QString GML_NAMESPACE = "http://www.opengis.net/gml";
+
+QgsWFSData::QgsWFSData(const QString& uri, QgsRect* extent, QgsSpatialRefSys* srs, std::list<QgsFeature*>* features, const QString& geometryAttribute, const std::set<QString>& thematicAttributes, QGis::WKBTYPE* wkbType): QObject(), mUri(uri), mExtent(extent), mSrs(srs), mFeatures(features), mGeometryAttribute(geometryAttribute), mThematicAttributes(thematicAttributes), mWkbType(wkbType), mFinished(false), mFeatureCount(0)
+{
+  //qWarning("Name of the geometry attribute is:");
+  //qWarning(mGeometryAttribute.toLocal8Bit().data());
+  
+  //find out mTypeName from uri
+  QStringList arguments = uri.split("&");
+  QStringList::const_iterator it;
+  for(it = arguments.constBegin(); it != arguments.constEnd(); ++it)
+    {
+      if(it->startsWith("TYPENAME", Qt::CaseInsensitive))
+	{
+	  mTypeName = it->section("=", 1, 1);
+	  qWarning("mTypeName is:");
+	  qWarning(mTypeName.toLocal8Bit().data());
+	}
+    }
+
+  mEndian = QgsApplication::endian();
+  QObject::connect(&mHttp, SIGNAL(done(bool)), this, SLOT(setFinished(bool)));
+}
+
+QgsWFSData::~QgsWFSData()
+{
+
+}
+
+QgsWFSData::QgsWFSData()
+{
+
+}
+
+int QgsWFSData::getWFSData()
+{
+  XML_Parser p = XML_ParserCreateNS(NULL, NS_SEPARATOR);
+  XML_SetUserData(p, this);
+  XML_SetElementHandler(p, QgsWFSData::start, QgsWFSData::end);
+  XML_SetCharacterDataHandler(p, QgsWFSData::chars);
+
+
+  //separate host from query string
+  QUrl requestUrl(mUri);
+  int portNr = requestUrl.port();
+  if(portNr != -1)
+    {
+      mHttp.setHost(requestUrl.host(), portNr);
+    }
+  else
+    {
+      mHttp.setHost(requestUrl.host());
+    }
+  mHttp.get(mUri);
+
+
+  //loop to read the data
+  QByteArray readData;
+  int atEnd = 0;
+  qWarning("Entering loop");
+  while(!mFinished || mHttp.bytesAvailable() > 0)
+    {
+      if(mFinished)
+	{
+	  atEnd = 1;
+	}
+      if(mHttp.bytesAvailable() != 0)
+	{
+	  readData = mHttp.readAll();
+	  XML_Parse(p, readData.data(), readData.size(), atEnd);
+	}
+      qApp->processEvents();
+    }
+  qWarning("Left loop");
+  return 0; //soon
+}
+
+void QgsWFSData::setFinished(bool error)
+{
+  if(error)
+    {
+      //qWarning("Finished with error");
+      //qWarning(mHttp.errorString().toLocal8Bit().data());
+    }
+  else
+    {
+      //qWarning("Finished without error");
+    }
+  mFinished = true;
+}
+
+void QgsWFSData::startElement(const XML_Char* el, const XML_Char** attr)
+{
+  QString elementName(el);
+  QString localName = elementName.section(NS_SEPARATOR, 1, 1);
+  if(elementName == GML_NAMESPACE + NS_SEPARATOR + "coordinates")
+    {
+      mParseModeStack.push(QgsWFSData::coordinate);
+      mStringCash.clear();
+      mCoordinateSeparator = readCsFromAttribute(attr);
+      mTupleSeparator = readTsFromAttribute(attr);
+    }
+  else if(localName == mGeometryAttribute)
+    {
+      mParseModeStack.push(QgsWFSData::geometry);
+    }
+  else if(mParseModeStack.size() == 0 && elementName == GML_NAMESPACE + NS_SEPARATOR + "boundedBy")
+    {
+      mParseModeStack.push(QgsWFSData::boundingBox);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "featureMember")
+    {
+      mCurrentFeature = new QgsFeature(mFeatureCount);
+      mAttributeIndex = 0;
+      mParseModeStack.push(QgsWFSData::featureMember);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "Box" && mParseModeStack.top() == QgsWFSData::boundingBox)
+    {
+      //read attribute srsName="EPSG:26910"
+      int epsgNr;
+      if(readEpsgFromAttribute(epsgNr, attr) != 0)
+	{
+	  qWarning("error, could not get epsg id");
+	}
+      //qWarning(("epsg id is: " + QString::number(epsgNr)).toLocal8Bit().data());
+      if(mSrs)
+	{
+	  if(!mSrs->createFromEpsg(epsgNr))
+	    {
+	      qWarning("Creation of srs from epsg failed");
+	    }
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "Polygon")
+    {
+      std::list<unsigned char*> wkbList;
+      std::list<int> wkbSizeList;
+      mCurrentWKBFragments.push_back(wkbList);
+      mCurrentWKBFragmentSizes.push_back(wkbSizeList);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPoint")
+    {
+      mParseModeStack.push(QgsWFSData::multiPoint);
+      //we need one nested list for intermediate WKB
+      std::list<unsigned char*> wkbList;
+      std::list<int> wkbSizeList;
+      mCurrentWKBFragments.push_back(wkbList);
+      mCurrentWKBFragmentSizes.push_back(wkbSizeList);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiLineString")
+    {
+      mParseModeStack.push(QgsWFSData::multiLine);
+      //we need one nested list for intermediate WKB
+      std::list<unsigned char*> wkbList;
+      std::list<int> wkbSizeList;
+      mCurrentWKBFragments.push_back(wkbList);
+      mCurrentWKBFragmentSizes.push_back(wkbSizeList);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPolygon")
+    {
+      mParseModeStack.push(QgsWFSData::multiPolygon);
+    }
+
+  else if(mParseModeStack.size() == 1 && mParseModeStack.top() == QgsWFSData::featureMember && mThematicAttributes.find(localName) != mThematicAttributes.end())
+    {
+      mParseModeStack.push(QgsWFSData::attribute);
+      mAttributeName = localName;
+      mStringCash.clear();
+    }
+}
+
+void QgsWFSData::endElement(const XML_Char* el)
+{
+  QString elementName(el);
+  QString localName = elementName.section(NS_SEPARATOR, 1, 1);
+  if(elementName == GML_NAMESPACE + NS_SEPARATOR + "coordinates")
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+    }
+  else if(localName == mAttributeName) 
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+      
+      mCurrentFeature->addAttribute(mAttributeIndex, QVariant(mStringCash));
+      ++mAttributeIndex;
+    }
+  else if(localName == mGeometryAttribute)
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "boundedBy" && mParseModeStack.top() == QgsWFSData::boundingBox)
+    {
+      //create bounding box from mStringCash
+      if(createBBoxFromCoordinateString(mExtent, mStringCash) != 0)
+	{
+	  qWarning("creation of bounding box failed");
+	}
+      
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "featureMember")
+    {
+      mCurrentFeature->setGeometryAndOwnership(mCurrentWKB, mCurrentWKBSize);
+      mFeatures->push_back(mCurrentFeature);
+      ++mFeatureCount;
+      //qWarning("Removing featureMember from stack");
+      mParseModeStack.pop();
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "Point")
+    {
+      std::list<QgsPoint> pointList;
+      if(pointsFromCoordinateString(pointList, mStringCash, mCoordinateSeparator, mTupleSeparator) != 0)
+	{
+	  //error
+	}
+      
+      if(mParseModeStack.top() != QgsWFSData::multiPoint)
+	{
+	  //directly add WKB point to the feature
+	  if(getPointWKB(&mCurrentWKB, &mCurrentWKBSize, *(pointList.begin())) != 0)
+	    {
+	      //error
+	    }
+	  *mWkbType = QGis::WKBPoint;
+	}
+      else //multipoint, add WKB as fragment
+	{
+	  unsigned char* wkb = 0;
+	  int wkbSize = 0;
+	  std::list<unsigned char*> wkbList;
+	  std::list<int> wkbSizeList;
+	  if(getPointWKB(&wkb, &wkbSize, *(pointList.begin())) != 0)
+	    {
+	      //error
+	    }
+	  mCurrentWKBFragments.rbegin()->push_back(wkb);
+	  mCurrentWKBFragmentSizes.rbegin()->push_back(wkbSize);
+	  //wkbList.push_back(wkb);
+	  //wkbSizeList.push_back(wkbSize);
+	  //mCurrentWKBFragments.push_back(wkbList);
+	  //mCurrentWKBFragmentSizes.push_back(wkbSizeList);
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "LineString")
+    {
+      //add WKB point to the feature
+      
+      std::list<QgsPoint> pointList;
+      if(pointsFromCoordinateString(pointList, mStringCash, mCoordinateSeparator, mTupleSeparator) != 0)
+	{
+	  //error
+	}
+      if(mParseModeStack.top() != QgsWFSData::multiLine)
+	{
+	  if(getLineWKB(&mCurrentWKB, &mCurrentWKBSize, pointList) != 0)
+	    {
+	      //error
+	    }
+	  *mWkbType = QGis::WKBLineString;
+	}
+      else //multiline, add WKB as fragment
+	{
+	  unsigned char* wkb = 0;
+	  int wkbSize = 0;
+	  std::list<unsigned char*> wkbList;
+	  std::list<int> wkbSizeList;
+	  if(getLineWKB(&wkb, &wkbSize, pointList) != 0)
+	    {
+	      //error
+	    }
+	  mCurrentWKBFragments.rbegin()->push_back(wkb);
+	  mCurrentWKBFragmentSizes.rbegin()->push_back(wkbSize);
+	  //wkbList.push_back(wkb);
+	  //wkbSizeList.push_back(wkbSize);
+	  //mCurrentWKBFragments.push_back(wkbList);
+	  //mCurrentWKBFragmentSizes.push_back(wkbSizeList);
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "LinearRing")
+    {
+      std::list<QgsPoint> pointList;
+      if(pointsFromCoordinateString(pointList, mStringCash, mCoordinateSeparator, mTupleSeparator) != 0)
+	{
+	  //error
+	}
+      unsigned char* wkb;
+      int wkbSize;
+      if(getRingWKB(&wkb, &wkbSize, pointList) != 0)
+	{
+	  //error
+	}
+      mCurrentWKBFragments.rbegin()->push_back(wkb);
+      mCurrentWKBFragmentSizes.rbegin()->push_back(wkbSize);
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "Polygon")
+    {
+      *mWkbType = QGis::WKBPolygon;
+      if(mParseModeStack.top() != QgsWFSData::multiPolygon)
+	{
+	  createPolygonFromFragments();
+	}
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPoint")
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+      createMultiPointFromFragments();
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiLineString")
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+      createMultiLineFromFragments();
+    }
+  else if(elementName == GML_NAMESPACE + NS_SEPARATOR + "MultiPolygon")
+    {
+      if(!mParseModeStack.empty())
+	{
+	  mParseModeStack.pop();
+	}
+      createMultiPolygonFromFragments();
+    }
+}
+
+void QgsWFSData::characters(const XML_Char* chars, int len)
+{
+  //save chars in mStringCash attribute mode or coordinate mode
+  if(mParseModeStack.size() == 0)
+    {
+      return;
+    }
+
+  QgsWFSData::parseMode theParseMode = mParseModeStack.top();
+  if(theParseMode == QgsWFSData::attribute || theParseMode == QgsWFSData::coordinate)
+  {
+    mStringCash.append(QString::fromUtf8(chars, len));
+  } 
+}
+
+
+int QgsWFSData::readEpsgFromAttribute(int& epsgNr, const XML_Char** attr) const
+{
+  int i = 0;
+  while(attr[i] != NULL)
+    {
+      if(strcmp(attr[i], "srsName") == 0)
+	{
+	  QString epsgString(attr[i+1]);
+	  QString epsgNrString;
+	  if(epsgString.startsWith("http")) //e.g. geoserver: "http://www.opengis.net/gml/srs/epsg.xml#4326"
+	    {
+	      epsgNrString = epsgString.section("#", 1, 1);
+	    }
+	  else //e.g. umn mapserver: "EPSG:4326">
+	    {
+	      epsgNrString = epsgString.section(":", 1, 1);
+	    }
+	  bool conversionOk;
+	  int eNr = epsgNrString.toInt(&conversionOk);
+	  if(!conversionOk)
+	    {
+	      return 1;
+	    }
+	  epsgNr = eNr;
+	  return 0;
+	}
+      ++i;
+    }
+  return 2;
+}
+
+QString QgsWFSData::readCsFromAttribute(const XML_Char** attr) const
+{
+  int i = 0;
+  while(attr[i] != NULL)
+    {
+      if(strcmp(attr[i], "cs") == 0)
+	{
+	  return QString(attr[i+1]);
+	}
+      ++i;
+    }
+  return ",";
+}
+
+QString QgsWFSData::readTsFromAttribute(const XML_Char** attr) const
+{
+  int i = 0;
+  while(attr[i] != NULL)
+    {
+      if(strcmp(attr[i], "ts") == 0)
+	{
+	  return QString(attr[i+1]);
+	}
+      ++i;
+    }
+  return " ";
+}
+
+int QgsWFSData::createBBoxFromCoordinateString(QgsRect* bb, const QString& coordString) const
+{
+  if(!bb)
+    {
+      return 1;
+    }
+
+  std::list<QgsPoint> points;
+  //qWarning("string is: ");
+  //qWarning(coordString.toLocal8Bit().data());
+  if(pointsFromCoordinateString(points, coordString, mCoordinateSeparator, mTupleSeparator) != 0)
+    {
+      return 2;
+    }
+  if(points.size() < 2)
+    {
+      return 3;
+    }
+  
+  std::list<QgsPoint>::const_iterator firstPointIt = points.begin();
+  std::list<QgsPoint>::const_iterator secondPointIt = points.begin();
+  ++secondPointIt;
+  bb->set(*firstPointIt, *secondPointIt);
+  return 0;
+}
+
+int QgsWFSData::pointsFromCoordinateString(std::list<QgsPoint>& points, const QString& coordString, const QString& cs, const QString& ts) const
+{
+  //tuples are separated by space, x/y by ','
+  QStringList tuples = coordString.split(ts, QString::SkipEmptyParts);
+  QStringList tuples_coordinates;
+  double x, y;
+  bool conversionSuccess;
+
+  QStringList::const_iterator tupleIterator;
+  for(tupleIterator = tuples.constBegin(); tupleIterator != tuples.constEnd(); ++tupleIterator)
+    {
+      tuples_coordinates = tupleIterator->split(cs, QString::SkipEmptyParts);
+      if(tuples_coordinates.size() < 2)
+	{
+	  continue;
+	}
+      x = tuples_coordinates.at(0).toDouble(&conversionSuccess);
+      if(!conversionSuccess)
+	{
+	  continue;
+	}
+      y = tuples_coordinates.at(1).toDouble(&conversionSuccess);
+      if(!conversionSuccess)
+	{
+	  continue;
+	}
+      points.push_back(QgsPoint(x, y));
+    }
+  return 0;
+}
+
+int QgsWFSData::getPointWKB(unsigned char** wkb, int* size, const QgsPoint& point) const
+{
+  int wkbSize = 1 + sizeof(int) + 2 * sizeof(double);
+  *size = wkbSize;
+  *wkb = new unsigned char[wkbSize];
+  QGis::WKBTYPE type = QGis::WKBPoint;
+  double x = point.x();
+  double y = point.y();
+  int wkbPosition = 0; //current offset from wkb beginning (in bytes)
+
+  memcpy(&(*wkb)[wkbPosition], &mEndian, 1);
+  wkbPosition += 1;
+  memcpy(&(*wkb)[wkbPosition], &type, sizeof(int));
+  wkbPosition += sizeof(int);
+  memcpy(&(*wkb)[wkbPosition], &x, sizeof(double));
+  wkbPosition += sizeof(double);
+  memcpy(&(*wkb)[wkbPosition], &y, sizeof(double));
+  return 0;
+}
+
+int QgsWFSData::getLineWKB(unsigned char** wkb, int* size, const std::list<QgsPoint>& lineCoordinates) const
+{
+  int wkbSize = 1 + 2 * sizeof(int) + lineCoordinates.size() * 2* sizeof(double);
+  *size = wkbSize;
+  *wkb = new unsigned char[wkbSize];
+  QGis::WKBTYPE type = QGis::WKBLineString;
+  int wkbPosition = 0; //current offset from wkb beginning (in bytes)
+  double x, y;
+  int nPoints = lineCoordinates.size();
+
+  //fill the contents into *wkb
+  memcpy(&(*wkb)[wkbPosition], &mEndian, 1);
+  wkbPosition += 1;
+  memcpy(&(*wkb)[wkbPosition], &type, sizeof(int));
+  wkbPosition += sizeof(int);
+  memcpy(&(*wkb)[wkbPosition], &nPoints, sizeof(int));
+  wkbPosition += sizeof(int);
+  
+  std::list<QgsPoint>::const_iterator iter;
+  for(iter = lineCoordinates.begin(); iter != lineCoordinates.end(); ++iter)
+    {
+      x = iter->x();
+      y = iter->y();
+      memcpy(&(*wkb)[wkbPosition], &x, sizeof(double));
+      wkbPosition += sizeof(double);
+      memcpy(&(*wkb)[wkbPosition], &y, sizeof(double));
+      wkbPosition += sizeof(double);
+    }
+  return 0;
+}
+
+int QgsWFSData::getRingWKB(unsigned char** wkb, int* size, const std::list<QgsPoint>& ringCoordinates) const
+{
+  int wkbSize = sizeof(int) + ringCoordinates.size() * 2* sizeof(double);
+  *size = wkbSize;
+  *wkb = new unsigned char[wkbSize];
+  int wkbPosition = 0; //current offset from wkb beginning (in bytes)
+  double x, y;
+  int nPoints = ringCoordinates.size();
+  memcpy(&(*wkb)[wkbPosition], &nPoints, sizeof(int));
+  wkbPosition += sizeof(int);
+
+  std::list<QgsPoint>::const_iterator iter;
+  for(iter = ringCoordinates.begin(); iter != ringCoordinates.end(); ++iter)
+    {
+      x = iter->x();
+      y = iter->y();
+      memcpy(&(*wkb)[wkbPosition], &x, sizeof(double));
+      wkbPosition += sizeof(double);
+      memcpy(&(*wkb)[wkbPosition], &y, sizeof(double));
+      wkbPosition += sizeof(double);
+    }
+  return 0;
+}
+
+int QgsWFSData::createMultiLineFromFragments()
+{
+  mCurrentWKBSize = 0;
+  mCurrentWKBSize += 1 + 2*sizeof(int);
+  mCurrentWKBSize += totalWKBFragmentSize();
+  
+  mCurrentWKB = new unsigned char[mCurrentWKBSize];
+  int pos = 0;
+  QGis::WKBTYPE type = QGis::WKBMultiLineString;
+  int numLines = mCurrentWKBFragments.begin()->size();
+  //add endian
+  memcpy(&(mCurrentWKB[pos]), &mEndian, 1);
+  pos += 1;
+  memcpy(&(mCurrentWKB[pos]), &type, sizeof(int));
+  pos += sizeof(int);
+  memcpy(&(mCurrentWKB[pos]), &numLines, sizeof(int));
+  pos += sizeof(int);
+  std::list<unsigned char*>::iterator wkbIt = mCurrentWKBFragments.begin()->begin();
+  std::list<int>::iterator sizeIt = mCurrentWKBFragmentSizes.begin()->begin();
+  
+  //copy (and delete) all the wkb fragments
+  for(; wkbIt != mCurrentWKBFragments.begin()->end(); ++wkbIt, ++sizeIt)
+    {
+      memcpy(&(mCurrentWKB[pos]), *wkbIt, *sizeIt);
+      pos += *sizeIt;
+      delete[] *wkbIt;
+    }
+  
+  mCurrentWKBFragments.clear();
+  mCurrentWKBFragmentSizes.clear();
+  *mWkbType = QGis::WKBMultiLineString;
+  return 0;
+}
+
+int QgsWFSData::createMultiPointFromFragments()
+{
+  mCurrentWKBSize = 0;
+  mCurrentWKBSize += 1 + 2*sizeof(int);
+  mCurrentWKBSize += totalWKBFragmentSize();
+  
+  int pos = 0;
+  QGis::WKBTYPE type = QGis::WKBMultiPoint;
+  int numPoints = mCurrentWKBFragments.begin()->size();
+  
+  memcpy(&(mCurrentWKB[pos]), &mEndian, 1);
+  pos += 1;
+  memcpy(&(mCurrentWKB[pos]), &type, sizeof(int));
+  pos += sizeof(int);
+  memcpy(&(mCurrentWKB[pos]), &numPoints, sizeof(int));
+  pos += sizeof(int);
+
+  std::list<unsigned char*>::iterator wkbIt = mCurrentWKBFragments.begin()->begin();
+  std::list<int>::iterator sizeIt = mCurrentWKBFragmentSizes.begin()->begin();
+  
+  for(; wkbIt != mCurrentWKBFragments.begin()->end(); ++wkbIt, ++sizeIt)
+    {
+      memcpy(&(mCurrentWKB[pos]), *wkbIt, *sizeIt);
+      pos += *sizeIt;
+      delete[] *wkbIt;
+    }
+
+  mCurrentWKBFragments.clear();
+  mCurrentWKBFragmentSizes.clear();
+  *mWkbType = QGis::WKBMultiPoint;
+  return 0;
+}
+
+
+int QgsWFSData::createPolygonFromFragments()
+{
+  mCurrentWKBSize = 0;
+  mCurrentWKBSize += 1 + 2*sizeof(int);
+  mCurrentWKBSize += totalWKBFragmentSize();
+
+  mCurrentWKB = new unsigned char[mCurrentWKBSize];
+  int pos = 0;
+  QGis::WKBTYPE type = QGis::WKBPolygon;
+  int numRings = mCurrentWKBFragments.begin()->size();
+  memcpy(&(mCurrentWKB[pos]), &mEndian, 1);
+  pos += 1;
+  memcpy(&(mCurrentWKB[pos]), &type, sizeof(int));
+  pos += sizeof(int);
+  memcpy(&(mCurrentWKB[pos]), &numRings, sizeof(int));
+  pos += sizeof(int);
+
+  std::list<unsigned char*>::iterator wkbIt = mCurrentWKBFragments.begin()->begin();
+  std::list<int>::iterator sizeIt = mCurrentWKBFragmentSizes.begin()->begin();
+  for(;wkbIt != mCurrentWKBFragments.begin()->end(); ++wkbIt, ++sizeIt)
+    {
+      memcpy(&(mCurrentWKB[pos]), *wkbIt, *sizeIt);
+      pos += *sizeIt;
+      delete[] *wkbIt;
+    }
+
+  mCurrentWKBFragments.clear();
+  mCurrentWKBFragmentSizes.clear();
+  *mWkbType = QGis::WKBPolygon;
+  return 0;
+} 
+
+int QgsWFSData::createMultiPolygonFromFragments()
+{
+  mCurrentWKBSize = 0;
+  mCurrentWKBSize += 1 + 2*sizeof(int);
+  mCurrentWKBSize += totalWKBFragmentSize();
+  mCurrentWKBSize += mCurrentWKBFragments.size() * (1 + 2 * sizeof(int)); //fragments are just the rings
+  
+  mCurrentWKB = new unsigned char[mCurrentWKBSize];
+  int pos = 0;
+  QGis::WKBTYPE type = QGis::WKBMultiPolygon;
+  QGis::WKBTYPE polygonType = QGis::WKBPolygon;
+  int numPolys = mCurrentWKBFragments.size();
+  int numRings;
+  memcpy(&(mCurrentWKB[pos]), &mEndian, 1);
+  pos += 1;
+  memcpy(&(mCurrentWKB[pos]), &type, sizeof(int));
+  pos += sizeof(int);
+  memcpy(&(mCurrentWKB[pos]), &numPolys, sizeof(int));
+  pos += sizeof(int);
+
+  //have outer and inner iterators
+  std::list<std::list<unsigned char*> >::iterator outerWkbIt;
+  std::list<std::list<int> >::iterator outerSizeIt;
+  std::list<unsigned char*>::iterator innerWkbIt;
+  std::list<int>::iterator innerSizeIt;
+
+  outerWkbIt = mCurrentWKBFragments.begin();
+  outerSizeIt = mCurrentWKBFragmentSizes.begin();
+
+  for(; outerWkbIt != mCurrentWKBFragments.end(); ++outerWkbIt, ++outerSizeIt)
+    {
+      //new polygon
+      memcpy(&(mCurrentWKB[pos]), &mEndian, 1);
+      pos += 1;
+      memcpy(&(mCurrentWKB[pos]), &polygonType, sizeof(int));
+      pos += sizeof(int);
+      numRings = outerWkbIt->size();
+      memcpy(&(mCurrentWKB[pos]), &numRings, sizeof(int));
+      pos += sizeof(int);
+
+      innerWkbIt = outerWkbIt->begin();
+      innerSizeIt = outerSizeIt->begin();
+      for(; innerWkbIt != outerWkbIt->end(); ++innerWkbIt, ++innerSizeIt)
+	{
+	  memcpy(&(mCurrentWKB[pos]), *innerWkbIt, *innerSizeIt);
+	  pos += *innerSizeIt;
+	  delete[] *innerWkbIt;
+	}
+    }
+
+  mCurrentWKBFragments.clear();
+  mCurrentWKBFragmentSizes.clear();
+  *mWkbType = QGis::WKBMultiPolygon;
+  return 0;
+}
+
+int QgsWFSData::totalWKBFragmentSize() const
+{
+  int result=0;
+  for(std::list<std::list<int> >::const_iterator it = mCurrentWKBFragmentSizes.begin(); it != mCurrentWKBFragmentSizes.end(); ++it)
+    {
+      for(std::list<int>::const_iterator iter = it->begin(); iter != it->end(); ++iter)
+	{
+	  result += *iter;
+	}
+    }
+  return result;
+}

Added: packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.h	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsdata.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,161 @@
+/***************************************************************************
+     qgswfsdata.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:19:55 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#ifndef QGSWFSDATA_H
+#define QGSWFSDATA_H
+
+#include <QHttp>
+#include <expat.h>
+#include "qgis.h"
+#include "qgsapplication.h"
+#include "qgsdataprovider.h"
+#include "qgsfeature.h"
+#include "qgspoint.h"
+#include <list>
+#include <set>
+#include <stack>
+class QgsRect;
+class QgsSpatialRefSys;
+
+
+/**This class reads data from a WFS server or alternatively from a GML file. It uses the expat XML parser and an event based model to keep performance high. The parsing starts when the first data arrives, it does not wait until the request is finished*/
+class QgsWFSData: public QObject
+{
+  Q_OBJECT
+ public:
+  QgsWFSData(const QString& uri, QgsRect* extent, QgsSpatialRefSys* srs, std::list<QgsFeature*>* features, const QString& geometryAttribute, const std::set<QString>& thematicAttributes, QGis::WKBTYPE* wkbType);
+  ~QgsWFSData();
+
+  /**Does the Http GET request to the wfs server
+     @param query string (to define the requested typename)
+     @param extent the extent of the WFS layer
+     @param srs the reference system of the layer
+     @param features the features of the layer
+  @return 0 in case of success*/
+  int getWFSData();
+  
+  private slots:
+  void setFinished(bool error);
+
+ private:
+
+  enum parseMode
+    {
+      boundingBox,
+      featureMember,
+      attribute,
+      geometry,
+      coordinate,
+      point,
+      line,
+      polygon,
+      multiPoint,
+      multiLine,
+      multiPolygon
+    };
+
+  QgsWFSData();
+
+  /**XML handler methods*/
+  void startElement(const XML_Char* el, const XML_Char** attr);
+  void endElement(const XML_Char* el);
+  void characters(const XML_Char* chars, int len);
+  static void start(void* data, const XML_Char* el, const XML_Char** attr)
+    {
+      static_cast<QgsWFSData*>(data)->startElement(el, attr);
+    }
+  static void end(void* data, const XML_Char* el)
+    {
+      static_cast<QgsWFSData*>(data)->endElement(el);
+    }
+  static void chars(void* data, const XML_Char* chars, int len) 
+    {
+      static_cast<QgsWFSData*>(data)->characters(chars, len);
+    }
+
+  //helper routines
+  /**Reads attribute srsName="EPSG:..."
+     @param epsgNr result
+     @param attr attribute strings
+     @return 0 in case of success*/
+  int readEpsgFromAttribute(int& epsgNr, const XML_Char** attr) const;
+  /**Reads the 'cs' (coordinate separator) attribute.
+   @return the cs attribute value or the default value ","*/
+  QString readCsFromAttribute(const XML_Char** attr) const;
+  /**Reads the 'ts' (tuple separator) attribute.
+     @return the ts attribute value or the devault value " "*/
+  QString readTsFromAttribute(const XML_Char** attr) const;
+  /**Creates a rectangle from a coordinate string.
+   @return 0 in case of success*/
+  int createBBoxFromCoordinateString(QgsRect* bb, const QString& coordString) const;
+  /**Creates a set of points from a coordinate string.
+     @param points list that will contain the created points
+     @param coordString the text containing the coordinates
+     @param cs coortinate separator
+     @param ts tuple separator
+     @return 0 in case of success*/
+  int pointsFromCoordinateString(std::list<QgsPoint>& points, const QString& coordString, const QString& cs, const QString& ts) const;
+  int getPointWKB(unsigned char** wkb, int* size, const QgsPoint&) const;
+  int getLineWKB(unsigned char** wkb, int* size, const std::list<QgsPoint>& lineCoordinates) const;
+  int getRingWKB(unsigned char** wkb, int* size, const std::list<QgsPoint>& ringCoordinates) const;
+  /**Creates a multiline from the information in mCurrentWKBFragments and mCurrentWKBFragmentSizes. Assign the result. The multiline is in mCurrentWKB and mCurrentWKBSize. The function deletes the memory in mCurrentWKBFragments. Returns 0 in case of success.*/
+  int createMultiLineFromFragments();
+  int createMultiPointFromFragments();
+  int createPolygonFromFragments();
+  int createMultiPolygonFromFragments();
+  /**Adds all the integers contained in mCurrentWKBFragmentSizes*/
+  int totalWKBFragmentSize() const;
+
+  QString mUri;
+  //results are members such that handler routines are able to manipulate them
+  /**Bounding box of the layer*/
+  QgsRect* mExtent;
+  /**Source srs of the layer*/
+  QgsSpatialRefSys* mSrs;
+  /**The features of the layer*/
+  std::list<QgsFeature*>* mFeatures;
+  /**Name of geometry attribute*/
+  QString mGeometryAttribute;
+  std::set<QString> mThematicAttributes;
+  QGis::WKBTYPE* mWkbType;
+  /**True if the request is finished*/
+  bool mFinished;
+  /**The HTTP client object*/
+  QHttp mHttp;
+  /**Keep track about the most important nested elements*/
+  std::stack<parseMode> mParseModeStack;
+  /**This contains the character data if an important element has been encountered*/
+  QString mStringCash;
+  QgsFeature* mCurrentFeature;
+  int mFeatureCount;
+  /**The total WKB for a feature*/
+  unsigned char* mCurrentWKB;
+  /**The total WKB size for a feature*/
+  int mCurrentWKBSize;
+  /**WKB intermediate storage during parsing. For points and lines, no intermediate WKB is stored at all. For multipoins and multilines and polygons, only one nested list is used. For multipolygons, both nested lists are used*/
+  std::list< std::list<unsigned char*> > mCurrentWKBFragments;
+  /**Similar to mCurrentWKB, but only the size*/
+  std::list< std::list<int> > mCurrentWKBFragmentSizes;
+  QString mAttributeName;
+  /**Index where the current attribute should be inserted*/
+  int mAttributeIndex;
+  QString mTypeName;
+  QgsApplication::endian_t mEndian;
+  /**Coordinate separator for coordinate strings. Usually "," */
+  QString mCoordinateSeparator;
+  /**Tuple separator for coordinate strings. Usually " " */
+  QString mTupleSeparator;
+};
+
+#endif

Modified: packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -15,9 +15,13 @@
  *                                                                         *
  ***************************************************************************/
 
+#include "qgsapplication.h"
 #include "qgsfeature.h"
 #include "qgsfield.h"
+#include "qgsgeometry.h"
 #include "qgshttptransaction.h"
+#include "qgsspatialrefsys.h"
+#include "qgswfsdata.h"
 #include "qgswfsprovider.h"
 #include "qgslogger.h"
 #include <QDomDocument>
@@ -37,13 +41,15 @@
 static const QString WFS_NAMESPACE = "http://www.opengis.net/wfs";
 static const QString GML_NAMESPACE = "http://www.opengis.net/gml";
 
-QgsWFSProvider::QgsWFSProvider(const QString& uri): QgsVectorDataProvider(uri), mUseIntersect(false), mSourceSRS(0), mSelectedFeatures(0), mFeatureCount(0), mValid(true)
+QgsWFSProvider::QgsWFSProvider(const QString& uri)
+  : QgsVectorDataProvider(uri), mUseIntersect(false), mSelectedFeatures(0), mSourceSRS(0), mFeatureCount(0), mValid(true)
 {
   if(getFeature(uri) == 0)
     {
       mValid = true;
+      
       //set spatial filter to the whole extent
-      select(&mExtent, false);
+      //select(mExtent, false); //MH TODO: fix this in provider0_9-branch
     }
   else
     {
@@ -54,7 +60,6 @@
 QgsWFSProvider::~QgsWFSProvider()
 {
   delete mSelectedFeatures;
-  delete mSourceSRS;
   for(std::list<std::pair<GEOS_GEOM::Envelope*, QgsFeature*> >::iterator it = mEnvelopesAndFeatures.begin();\
       it != mEnvelopesAndFeatures.end(); ++it)
     {
@@ -63,25 +68,8 @@
     }
 }
 
-QgsFeature* QgsWFSProvider::getFirstFeature(bool fetchAttributes)
+bool QgsWFSProvider::getNextFeature(QgsFeature& feature)
 {
-  reset();
-  getNextFeature(fetchAttributes);
-}
-
-QgsFeature* QgsWFSProvider::getNextFeature(bool fetchAttributes)
-{
-  std::list<int> attlist;
-  //todo: add the indexes of all attributes
-  for(int i = 0; i < mFields.size(); ++i)
-    {
-      attlist.push_back(i);
-    }
-  return getNextFeature(attlist, 1);
-}
-
-QgsFeature* QgsWFSProvider::getNextFeature(std::list<int> const & attlist, int featureQueueSize)
-{
   while(true) //go through the loop until we find a feature in the filter
     {
       if(!mSelectedFeatures || mFeatureIterator == mSelectedFeatures->end())
@@ -89,45 +77,45 @@
 	  return 0;
 	}
 
-      QgsFeature* f = new QgsFeature();
-      unsigned char* geom = ((QgsFeature*)(*mFeatureIterator))->getGeometry();
-      int geomSize = ((QgsFeature*)(*mFeatureIterator))->getGeometrySize();
+      feature.setFeatureId(((QgsFeature*)(*mFeatureIterator))->featureId());
+      if(mFetchGeom)
+	{
+	  QgsGeometry* geometry = ((QgsFeature*)(*mFeatureIterator))->geometry();
+	  unsigned char* geom = geometry->wkbBuffer();
+	  int geomSize = geometry->wkbSize();
       
-      unsigned char* copiedGeom = new unsigned char[geomSize];
-      memcpy(copiedGeom, geom, geomSize);
-      f->setGeometryAndOwnership(copiedGeom, geomSize);
-      f->setFeatureId(((QgsFeature*)(*mFeatureIterator))->featureId());
+	  unsigned char* copiedGeom = new unsigned char[geomSize];
+	  memcpy(copiedGeom, geom, geomSize);
+	  feature.setGeometryAndOwnership(copiedGeom, geomSize);
+	}
       
-      const std::vector<QgsFeatureAttribute> attributes = ((QgsFeature*)(*mFeatureIterator))->attributeMap();
-      for(std::list<int>::const_iterator it = attlist.begin(); it != attlist.end(); ++it)
+      const QgsAttributeMap& attributes = ((QgsFeature*)(*mFeatureIterator))->attributeMap();
+      for(QgsAttributeList::const_iterator it = mAttributesToFetch.begin(); it != mAttributesToFetch.end(); ++it)
 	{
-	  f->addAttribute(attributes[*it].fieldName(), attributes[*it].fieldValue(), attributes[*it].isNumeric());
+	  feature.addAttribute(*it, attributes[*it]);
 	}
       ++mFeatureIterator;
       if(mUseIntersect)
 	{
-	  if(f->geometry()->fast_intersects(&mSpatialFilter))
+	  if(feature.geometry()->intersects(mSpatialFilter))
 	    {
-	      return f;
+	      return true;
 	    }
 	  else
 	    {
-	      delete f;
+	      continue; //go for the next feature
 	    }
 	}
       else
 	{
-	  return f;
+	  return true;
 	}
     }
 }
 
-bool QgsWFSProvider::getNextFeature(QgsFeature &feature, bool fetchAttributes) /*legacy*/
-{
-  return false;
-}
 
-int QgsWFSProvider::geometryType() const
+
+QGis::WKBTYPE QgsWFSProvider::geometryType() const
 {
   return mWKBType;
 }
@@ -137,121 +125,63 @@
   return mFeatureCount;
 }
 
-int QgsWFSProvider::fieldCount() const
+uint QgsWFSProvider::fieldCount() const
 {
   return mFields.size();
 }
 
-std::vector<QgsField> const & QgsWFSProvider::fields() const
+const QgsFieldMap & QgsWFSProvider::fields() const
 {
   return mFields;
 }
 
 void QgsWFSProvider::reset()
 {
-  GEOS_GEOM::Envelope e(mExtent.xMin(), mExtent.xMax(), mExtent.yMin(), mExtent.yMax());
-  delete mSelectedFeatures;
-#if GEOS_VERSION_MAJOR < 3
-  mSelectedFeatures = mSpatialIndex.query(&e);
-#else
-#warning *** FIXME: Need to revise use of mSelectedFeatures for GEOS 3.0.0
-  mSpatialIndex.query(&e, *mSelectedFeatures);
-#endif
   if(mSelectedFeatures)
     {
       mFeatureIterator = mSelectedFeatures->begin();
     }
 }
 
-QString QgsWFSProvider::minValue(int position)
+QgsSpatialRefSys QgsWFSProvider::getSRS()
 {
-  if(mMinMaxCash.size() == 0)
-    {
-      fillMinMaxCash();
-    }
-  return mMinMaxCash[position].first;
+  return mSourceSRS;
 }
 
-QString QgsWFSProvider::maxValue(int position)
+QgsRect QgsWFSProvider::extent()
 {
-  if(mMinMaxCash.size() == 0)
-    {
-      fillMinMaxCash();
-    }
-  return mMinMaxCash[position].second;
+  return mExtent;
 }
 
-void QgsWFSProvider::fillMinMaxCash()
-{
-  QgsFeature* theFeature = 0;
-  int fieldCount = fields().size();
-  int i;
-  double currentValue;
-  
-  std::vector<std::pair<double, double> > tempMinMax;
-  tempMinMax.resize(fieldCount);
-  for(i = 0; i < fieldCount; ++i)
-    {
-      tempMinMax[i] = std::make_pair(DBL_MAX, -DBL_MAX);
-    }
-
-  reset();
-  while(theFeature = getNextFeature(true))
-    {
-      for(i = 0; i < fieldCount; ++i)
-	{
-	  currentValue = (theFeature->attributeMap())[i].fieldValue().toDouble();
-	  if(currentValue < tempMinMax[i].first)
-	    {
-	      tempMinMax[i].first = currentValue;
-	    }
-	  if(currentValue > tempMinMax[i].second)
-	    {
-	      tempMinMax[i].second = currentValue;
-	    }
-	}
-    }
-
-  mMinMaxCash.clear();
-  mMinMaxCash.resize(fieldCount);
-  for(i = 0; i < fieldCount; ++i) 
-    {
-      mMinMaxCash[i] = std::make_pair(QString::number(tempMinMax[i].first), QString::number(tempMinMax[i].second));
-    }
-}
-
-std::vector<QgsFeature>& QgsWFSProvider::identify(QgsRect *rect) /*legacy*/
-{
-  std::vector<QgsFeature> bla;
-  return bla; //that's of course rubbish but the whole method isn't used in qgis
-}
-
-QString QgsWFSProvider::getProjectionWKT()
-{
-  return "";
-}
-
-QgsRect* QgsWFSProvider::extent()
-{
-  QgsRect* ext = new QgsRect(mExtent);
-  return ext;
-}
-
 bool QgsWFSProvider::isValid()
 {
   return mValid;
 }
 
-void QgsWFSProvider::select(QgsRect *mbr, bool useIntersect)
+void QgsWFSProvider::select(QgsAttributeList fetchAttributes,
+                            QgsRect rect,
+                            bool fetchGeometry,
+                            bool useIntersect)
 {
   mUseIntersect = useIntersect;
+  mAttributesToFetch = fetchAttributes;
+  mFetchGeom = fetchGeometry;
+
   delete mSelectedFeatures;
-  mSpatialFilter = *mbr;
-  GEOS_GEOM::Envelope filter(mbr->xMin(), mbr->xMax(), mbr->yMin(), mbr->yMax());
+  if(rect.isEmpty())
+    {
+      mSpatialFilter = mExtent;
+    }
+  else
+    {
+      mSpatialFilter = rect;
+    }
+
+  GEOS_GEOM::Envelope filter(mSpatialFilter.xMin(), mSpatialFilter.xMax(), mSpatialFilter.yMin(), mSpatialFilter.yMax());
 #if GEOS_VERSION_MAJOR < 3
   mSelectedFeatures = mSpatialIndex.query(&filter);
 #else
-#warning *** FIXME: Need to revise use of mSelectedFeatures for GEOS 3.0.0
+  mSelectedFeatures = new std::vector<void*>;
   mSpatialIndex.query(&filter, *mSelectedFeatures);
 #endif
   mFeatureIterator = mSelectedFeatures->begin();
@@ -300,7 +230,7 @@
   return 2;
 }
 
-int QgsWFSProvider::describeFeatureType(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields)
+int QgsWFSProvider::describeFeatureType(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
 {
   switch(mEncoding)
     {
@@ -310,12 +240,15 @@
       return describeFeatureTypePOST(uri, geometryAttribute, fields);
     case QgsWFSProvider::SOAP:
       return describeFeatureTypeSOAP(uri, geometryAttribute, fields);
+    case QgsWFSProvider::FILE:
+      return describeFeatureTypeFile(uri, geometryAttribute, fields);
     }
   return 1;
 }
 
 int QgsWFSProvider::getFeatureGET(const QString& uri, const QString& geometryAttribute)
 {
+#if 0
   //assemble request string
   QString request = uri /*+ "&OUTPUTFORMAT=gml3"*/; //use gml2 as it is supported by most wfs servers
   QByteArray result;
@@ -344,6 +277,41 @@
   }
 
   return 0;
+#endif
+
+  //try the new and faster method with the expat parser
+  std::list<QgsFeature*> dataFeatures;
+  std::set<QString> thematicAttributes;
+  for(QgsFieldMap::const_iterator it = mFields.begin(); it != mFields.end(); ++it)
+    {
+      thematicAttributes.insert(it->name());
+    }
+  
+  QgsWFSData dataReader(uri, &mExtent, &mSourceSRS, &dataFeatures, geometryAttribute, thematicAttributes, &mWKBType);
+  if(dataReader.getWFSData() != 0)
+    {
+      qWarning("getWFSData returned with error");
+      return 1;
+    }
+
+  qWarning("feature count after request is:");
+  qWarning(QString::number(dataFeatures.size()).toLocal8Bit().data());
+  qWarning("mExtent after request is:");
+  qWarning(mExtent.stringRep().toLocal8Bit().data());
+
+  mFeatureCount = 0;
+
+  QgsRect featureBBox;
+  GEOS_GEOM::Envelope* geosBBox;
+  for(std::list<QgsFeature*>::const_iterator it = dataFeatures.begin(); it != dataFeatures.end(); ++it)
+    {
+      featureBBox = (*it)->geometry()->boundingBox();
+      geosBBox = new GEOS_GEOM::Envelope(featureBBox.xMin(), featureBBox.xMax(), featureBBox.yMin(), featureBBox.yMax());
+      mSpatialIndex.insert(geosBBox, (void*)(*it));
+      mEnvelopesAndFeatures.push_back(std::make_pair(geosBBox, (*it)));
+      ++mFeatureCount;
+    }
+  return 0;
 }
 
 int QgsWFSProvider::getFeaturePOST(const QString& uri, const QString& geometryAttribute)
@@ -391,7 +359,7 @@
   return 0;
 }
 
-int QgsWFSProvider::describeFeatureTypeGET(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields)
+int QgsWFSProvider::describeFeatureTypeGET(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
 {
   QByteArray result;
   QgsHttpTransaction http(uri);
@@ -414,17 +382,17 @@
   return 0;
 }
 
-int QgsWFSProvider::describeFeatureTypePOST(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields)
+int QgsWFSProvider::describeFeatureTypePOST(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
 {
   return 1; //soon...
 }
 
-int QgsWFSProvider::describeFeatureTypeSOAP(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields)
+int QgsWFSProvider::describeFeatureTypeSOAP(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
 {
   return 1; //soon...
 }
 
-int QgsWFSProvider::describeFeatureTypeFile(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields)
+int QgsWFSProvider::describeFeatureTypeFile(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields)
 {
   //first look in the schema file
   QString noExtension = uri;
@@ -456,14 +424,16 @@
     }
 
   fields.clear();
-  for(std::list<QString>::const_iterator it = thematicAttributes.begin(); it != thematicAttributes.end(); ++it)
+  int i = 0;
+  for(std::list<QString>::const_iterator it = thematicAttributes.begin(); it != thematicAttributes.end(); ++it, ++i)
     {
-      fields.push_back(QgsField(*it, "unknown"));
+      // TODO: is this correct?
+      fields[i] = QgsField(*it, QVariant::String, "unknown");
     }
   return 0;
 }
 
-int QgsWFSProvider::readAttributesFromSchema(QDomDocument& schemaDoc, QString& geometryAttribute, std::vector<QgsField>& fields) const
+int QgsWFSProvider::readAttributesFromSchema(QDomDocument& schemaDoc, QString& geometryAttribute, QgsFieldMap& fields) const
 {
   //get the <schema> root element
   QDomNodeList schemaNodeList = schemaDoc.elementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "schema");
@@ -505,7 +475,7 @@
       
       //find <complexType name=complexTypeType
       QDomNodeList complexTypeNodeList = schemaElement.elementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "complexType");
-      for(int i = 0; i < complexTypeNodeList.length(); ++i)
+      for(uint i = 0; i < complexTypeNodeList.length(); ++i)
 	{
 	  if(complexTypeNodeList.at(i).toElement().attribute("name") == complexTypeType)
 	    {
@@ -520,14 +490,14 @@
       return 4;
     }
   
-  //now create the attributes
+  //we have the relevant <complexType> element. Now find out the geometry and the thematic attributes
   QDomNodeList attributeNodeList = complexTypeElement.elementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "element");
   if(attributeNodeList.size() < 1)
     {
       return 5;
     }
 
-  for(int i = 0; i < attributeNodeList.length(); ++i)
+  for(uint i = 0; i < attributeNodeList.length(); ++i)
     {
       QDomElement attributeElement = attributeNodeList.at(i).toElement();
       //attribute name
@@ -542,7 +512,7 @@
       }
       else //todo: distinguish between numerical and non-numerical types
 	{
-	  fields.push_back(QgsField(name, type));
+          fields[fields.size()] = QgsField(name, QVariant::String, type);
 	}
     }
   return 0;
@@ -749,12 +719,9 @@
 	}
     }
 
-  mSourceSRS = new QgsSpatialRefSys();
-  if(!mSourceSRS->createFromEpsg(epsgId))
+  if(!mSourceSRS.createFromEpsg(epsgId))
     {
       QgsDebugMsg("Error, creation of QgsSpatialRefSys failed");
-      delete mSourceSRS;
-      mSourceSRS = 0;
       return 6;
     }
   return 0;
@@ -784,14 +751,26 @@
       layerNameElem = currentFeatureMemberElem.firstChild().toElement();
       //the children are the attributes
       currentAttributeChild = layerNameElem.firstChild();
+      int attr = 0;
+      bool numeric = false;
+
       while(!currentAttributeChild.isNull())
 	{
 	  currentAttributeElement = currentAttributeChild.toElement();
+	  
 	  if(currentAttributeElement.localName() != "boundedBy")
 	    {
+	      currentAttributeElement.text().toDouble(&numeric);
 	      if((currentAttributeElement.localName()) != geometryAttribute) //a normal attribute
 		{
-		  f->addAttribute(currentAttributeElement.localName(), currentAttributeElement.text(), false);
+		  if(numeric)
+		    {
+		      f->addAttribute(attr++, QVariant(currentAttributeElement.text().toDouble()));
+		    }
+		  else
+		    {
+		      f->addAttribute(attr++, QVariant(currentAttributeElement.text()));
+		    }
 		}
 	      else //a geometry attribute
 		{
@@ -805,7 +784,7 @@
       if(wkb && wkbSize > 0)
 	{
 	  //insert bbox and pointer to feature into search tree
-	  featureBBox = f->boundingBox();
+	  featureBBox = f->geometry()->boundingBox();
 	  geosBBox = new GEOS_GEOM::Envelope(featureBBox.xMin(), featureBBox.xMax(), featureBBox.yMin(), featureBBox.yMax());
 	  mSpatialIndex.insert(geosBBox, (void*)f);
 	  mEnvelopesAndFeatures.push_back(std::make_pair(geosBBox, f));
@@ -877,7 +856,7 @@
     }
   
   std::list<QgsPoint>::const_iterator point_it = pointCoordinate.begin();
-  char e = endian();
+  char e = QgsApplication::endian();
   double x = point_it->x();
   double y = point_it->y();
   int size = 1 + sizeof(int) + 2 * sizeof(double);
@@ -946,7 +925,7 @@
   *wkb = new unsigned char[size];
   *wkbSize = size;
   *type = QGis::WKBPolygon;
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   int nPointsInRing = 0;
   double x, y;
@@ -993,7 +972,7 @@
       return 2;
     }
 
-  char e = endian();
+  char e = QgsApplication::endian();
   int size = 1 + 2 * sizeof(int) + lineCoordinates.size() * 2* sizeof(double);
   *wkb = new unsigned char[size];
   *wkbSize = size;
@@ -1067,7 +1046,7 @@
   *type = QGis::WKBMultiPoint;
 
   //fill the wkb content
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   int nPoints = pointList.size(); //number of points
   double x, y;
@@ -1171,7 +1150,7 @@
   *type = QGis::WKBMultiLineString;
   
   //fill the wkb content
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   int nLines = lineCoordinates.size();
   int nPoints; //number of points in a line
@@ -1300,7 +1279,7 @@
   *wkbSize = size;
   *type = QGis::WKBMultiPolygon;
   int polygonType = QGis::WKBPolygon;
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   double x, y;
   int nPolygons = multiPolygonPoints.size();
@@ -1388,17 +1367,6 @@
   return 0;
 }
 
-int QgsWFSProvider::getSrid()
-{
-  if(mSourceSRS)
-    {
-      return mSourceSRS->srid();
-    }
-  else
-    {
-      return 0;
-    }
-}
 
 QString QgsWFSProvider::name() const
 {
@@ -1656,7 +1624,7 @@
     }
   
   std::list<QgsPoint>::const_iterator point_it = pointCoordinate.begin();
-  char e = endian();
+  char e = QgsApplication::endian();
   double x = point_it->x();
   double y = point_it->y();
   int size = 1 + sizeof(int) + 2 * sizeof(double);
@@ -1687,7 +1655,7 @@
     {
       return 2;
     }
-  char e = endian();
+  char e = QgsApplication::endian();
   int size = 1 + 2 * sizeof(int) + lineCoordinates.size() * 2* sizeof(double);
   *wkb = new unsigned char[size];
   *wkbSize = size;
@@ -1762,7 +1730,7 @@
   *wkb = new unsigned char[size];
   *wkbSize = size;
   *type = QGis::WKBPolygon;
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   int nPointsInRing = 0;
   double x, y;
@@ -1889,7 +1857,7 @@
   *wkbSize = size;
   *type = QGis::WKBMultiPolygon;
   int polygonType = QGis::WKBPolygon;
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   double x, y;
   int nPolygons = multiPolygonPoints.size();
@@ -1975,7 +1943,7 @@
   *type = QGis::WKBMultiLineString;
   
   //fill the wkb content
-  char e = endian();
+  char e = QgsApplication::endian();
   int wkbPosition = 0; //current offset from wkb beginning (in bytes)
   int nLines = lineCoordinates.size();
   int nPoints; //number of points in a line

Modified: packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/qgswfsprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -22,13 +22,15 @@
 #include "qgis.h"
 #include "qgsrect.h"
 #include "qgsvectordataprovider.h"
-
+#include <geos.h>
 #include <indexStrtree.h>
-#if GEOS_VERSION_MAJOR < 3
-#define GEOS_INDEX_STRTREE geos
-#else
-#define GEOS_INDEX_STRTREE geos::index::strtree
-#endif
+#if GEOS_VERSION_MAJOR < 3 
+#define GEOS_INDEX_STRTREE geos 
+#define GEOS_GEOM geos
+#else 
+#define GEOS_INDEX_STRTREE geos::index::strtree 
+#define GEOS_GEOM geos::geom
+#endif 
 
 class QgsRect;
 
@@ -47,26 +49,44 @@
 
   QgsWFSProvider(const QString& uri);
   ~QgsWFSProvider();
-  QgsFeature* getFirstFeature(bool fetchAttributes = false);
-  QgsFeature* getNextFeature(bool fetchAttributes = false);
-  QgsFeature* getNextFeature(std::list<int> const & attlist, int featureQueueSize = 1);
-  bool getNextFeature(QgsFeature &feature, bool fetchAttributes = false); /*legacy*/
-  int geometryType() const;
+  
+  /* Inherited from QgsVectorDataProvider */
+
+  /** Select features based on a bounding rectangle. Features can be retrieved with calls to getNextFeature.
+   *  @param fetchAttributes list of attributes which should be fetched
+   *  @param rect spatial filter
+   *  @param fetchGeometry true if the feature geometry should be fetched
+   *  @param useIntersect true if an accurate intersection test should be used,
+   *                     false if a test based on bounding box is sufficient
+   */
+  virtual void select(QgsAttributeList fetchAttributes = QgsAttributeList(),
+                      QgsRect rect = QgsRect(),
+                      bool fetchGeometry = true,
+                      bool useIntersect = false);
+
+  /**
+   * Get the next feature resulting from a select operation.
+   * @param feature feature which will receive data from the provider
+   * @return true when there was a feature to fetch, false when end was hit
+   */
+  virtual bool getNextFeature(QgsFeature& feature);
+  
+  QGis::WKBTYPE geometryType() const;
   long featureCount() const;
-  int fieldCount() const;
-  std::vector<QgsField> const & fields() const;
+  uint fieldCount() const;
+  const QgsFieldMap & fields() const;
   void reset();
-  QString minValue(int position);
-  QString maxValue(int position);
-  std::vector<QgsFeature>& identify(QgsRect *rect); /*legacy*/
-  QString getProjectionWKT();
-  QgsRect* extent();
+  
+  virtual QgsSpatialRefSys getSRS();
+  
+  /* Inherited from QgsDataProvider */
+  
+  QgsRect extent();
   bool isValid();
   QString name() const;
   QString description() const;
-  size_t layerCount() const {return 1;}
-  QgsDataSourceURI* getURI() {return 0;}
-  virtual void select(QgsRect *mbr, bool useIntersect=false);
+  
+  /* new functions */
 
   /**Sets the encoding type in which the provider makes requests and interprets
    results. Posibilities are GET, POST, SOAP*/
@@ -75,13 +95,11 @@
   /**Makes a GetFeatures, receives the features from the wfs server (as GML), converts them to QgsFeature and \
      stores them in a vector*/
   int getFeature(const QString& uri);
-  /**Return Srid number from mSourceSRS*/
-  int getSrid();
 
   
 
  protected:
-  std::vector<QgsField> mFields;
+  QgsFieldMap mFields;
   /**The encoding used for request/response. Can be GET, POST or SOAP*/
   REQUEST_ENCODING mEncoding;
   /**Bounding box for the layer*/
@@ -101,19 +119,14 @@
   /**Geometry type of the features in this layer*/
   mutable QGis::WKBTYPE mWKBType;
   /**Source SRS*/
-  QgsSpatialRefSys* mSourceSRS;
-  /**Stores the minimum/maximum values for each attribute
-   The position in the vector is equal to the position of an attribute in the layers attribute vector*/
-  std::vector< std::pair<QString, QString> > mMinMaxCash;
+  QgsSpatialRefSys mSourceSRS;
   int mFeatureCount;
   /**Flag if provider is valid*/
   bool mValid;
 
-  /**Goes through all the features and their attributes and populates mMinMaxCash with entries*/
-  void fillMinMaxCash();
   
   /**Collects information about the field types. Is called internally from QgsWFSProvider::getFeature. The method delegates the work to request specific ones and gives back the name of the geometry attribute and the thematic attributes with their types*/
-  int describeFeatureType(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields);
+  int describeFeatureType(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields);
 
   //encoding specific methods of getFeature
   int getFeatureGET(const QString& uri, const QString& geometryAttribute);
@@ -121,13 +134,13 @@
   int getFeatureSOAP(const QString& uri, const QString& geometryAttribute);
   int getFeatureFILE(const QString& uri, const QString& geometryAttribute);
   //encoding specific methods of describeFeatureType
-  int describeFeatureTypeGET(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields);
-  int describeFeatureTypePOST(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields);
-  int describeFeatureTypeSOAP(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields);
-  int describeFeatureTypeFile(const QString& uri, QString& geometryAttribute, std::vector<QgsField>& fields);
+  int describeFeatureTypeGET(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields);
+  int describeFeatureTypePOST(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields);
+  int describeFeatureTypeSOAP(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields);
+  int describeFeatureTypeFile(const QString& uri, QString& geometryAttribute, QgsFieldMap& fields);
 
   /**Reads the name of the geometry attribute, the thematic attributes and their types from a dom document. Returns 0 in case of success*/
-  int readAttributesFromSchema(QDomDocument& schemaDoc, QString& geometryAttribute, std::vector<QgsField>& fields) const;
+  int readAttributesFromSchema(QDomDocument& schemaDoc, QString& geometryAttribute, QgsFieldMap& fields) const;
   /**This method tries to guess the geometry attribute and the other attribute names from the .gml file if no schema is present. Returns 0 in case of success*/
   int guessAttributesFromFile(const QString& uri, QString& geometryAttribute, std::list<QString>& thematicAttributes) const;
 

Deleted: packages/qgis/branches/upstream/current/src/providers/wfs/wfs.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wfs/wfs.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wfs/wfs.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,34 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# This file builds the wfs provider
-#
-
-include(../../../settings.pro)
-TARGET=wfsprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-
-LIBS += $${GEOSLIBADD}
-LIBS += $${QGISCORELIBADD}
-INCLUDEPATH += $${GEOSINCADD}
-
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-HEADERS += qgswfsprovider.h
-SOURCES += qgswfsprovider.cpp 

Added: packages/qgis/branches/upstream/current/src/providers/wms/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/providers/wms/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,11 @@
+Makefile.in
+Makefile
+*.moc.cpp
+*.moc.uic.cpp
+*.uic.h
+*.uic.cpp
+.deps
+.libs
+*.lo
+*.la
+

Modified: packages/qgis/branches/upstream/current/src/providers/wms/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +1,15 @@
 
 SET (WMS_SRCS      qgswmsprovider.cpp)
-IF (NOT WIN32)
-   SET (WMS_MOC_HDRS  qgswmsprovider.h)
-ENDIF (NOT WIN32)
+SET (WMS_MOC_HDRS  qgswmsprovider.h)
 
 QT4_WRAP_CPP (WMS_MOC_SRCS ${WMS_MOC_HDRS})
 
-INCLUDE_DIRECTORIES( 
-     . 
-     ../../gui 
-     ../../raster 
-     ../../core 
-     ${SQLITE3_INCLUDE_DIR}
-     ${PROJ_INCLUDE_DIR}
-     ${GDAL_INCLUDE_DIR}
-     )
+INCLUDE_DIRECTORIES( . ../../core)
 
 ADD_LIBRARY(wmsprovider MODULE ${WMS_SRCS} ${WMS_MOC_SRCS})
 
 TARGET_LINK_LIBRARIES(wmsprovider
   ${QT_LIBRARIES}
-  ${PROJ_LIBRARIES}
-  ${GDAL_LIBRARIES}
   qgis_core
 )
 

Deleted: packages/qgis/branches/upstream/current/src/providers/wms/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,27 +0,0 @@
-INCLUDES = -I../../gui -I../../raster -I../../core
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-plugindir = ${pkglibdir}
-plugin_LTLIBRARIES     = wmsprovider.la
-
-
-## non-uic files generated from MOC
-
-wmsprovider_MOC =	qgswmsprovider.moc.cpp			\
-		../../core/qgsdataprovider.moc.cpp		\
-		../../core/qgsrasterdataprovider.moc.cpp		
-                
-wmsprovider_la_SOURCES =					\
-		qgswmsprovider.cpp				\
-		qgswmsprovider.moc.cpp				\
-		qgswmsprovider.h				
-
-BUILT_SOURCES = $(wmsprovider_MOC)
-                                
-wmsprovider_la_LIBADD = $(QT_LDADD)
-wmsprovider_la_LDFLAGS = -avoid-version -module
-wmsprovider_la_CXXFLAGS = $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(DEBUG_QGIS) $(GDAL_CFLAGS)
-
-CLEANFILES = $(BUILT_SOURCES)

Deleted: packages/qgis/branches/upstream/current/src/providers/wms/Makefile.win
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/Makefile.win	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/Makefile.win	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-QGTOP=../../../
-
-LDADD = $(PLUGIN_LIBS) 
-
-PROVIDER = .libs/wmsprovider.dll
-
-all: objects $(PROVIDER)
-
-objects:
-	$(MAKE) -f Makefile
-
-$(PROVIDER): .libs/wmsprovider.a
-	$(CXX) -shared -o $@ \
-		-Wl,--export-all-symbols \
-		-Wl,--enable-auto-import \
-		-Wl,--whole-archive .libs/wmsprovider.a \
-		-Wl,--no-whole-archive \
-			$(CORE_A) $(GUI_DLL) \
-			-lgdal -lgeos -lsqlite3 -lproj $(PG_LIB) \
-                        $(QT_LDADD) \
-                        -lwsock32 -lmingw32
-	$(STRIP) $@ 
-
-install: all
-	mkdir -p $(prefix)/lib/qgis/
-	$(INSTALL) -m 755 .libs/wmsprovider.dll $(prefix)/lib/qgis/wmsprovider.dll
-
-include ../../../Makefile.win.rules

Modified: packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,21 +16,29 @@
  *                                                                         *
  ***************************************************************************/
 
-/* $Id: qgswmsprovider.cpp 6983 2007-06-05 17:35:30Z mhugent $ */
+/* $Id: qgswmsprovider.cpp 6982 2007-06-05 17:04:40Z mhugent $ */
 
 #include "qgslogger.h"
 #include "qgswmsprovider.h"
 
+#include <math.h>
 #include <fstream>
 #include <iostream>
 
+#include "qgscoordinatetransform.h"
 #include "qgsrect.h"
 #include "qgsspatialrefsys.h"
 
 #include "qgshttptransaction.h"
 
 #include <QUrl>
+#include <QImage>
+#include <QSet>
 
+#ifdef _MSC_VER
+#include <float.h>
+#define isfinite(x) _finite(x)
+#endif
 
 #ifdef QGISDEBUG
 #include <QFile>
@@ -57,13 +65,13 @@
     mHttpProxyUser(0),
     mHttpProxyPass(0),
     httpcapabilitiesresponse(0),
+    imageCrs(DEFAULT_LATLON_CRS),
     cachedImage(0),
     cachedViewExtent(0),
     cachedPixelWidth(0),
     cachedPixelHeight(0),
     mCoordinateTransform(0),
     extentDirty(TRUE),
-    imageCrs(DEFAULT_LATLON_CRS),
     mGetFeatureInfoUrlBase(0)
 {
 #ifdef QGISDEBUG
@@ -216,7 +224,7 @@
     QSet<QString>    crsSet;
 
     // convert std::vector to std::set for set comparisons
-    for (int j = 0; j < crsVector.size(); j++)
+    for (uint j = 0; j < crsVector.size(); j++)
     {
       crsSet.insert( crsVector[j] );
     }
@@ -454,9 +462,14 @@
   url += "STYLES=" + styles;
   url += "&";
   url += "FORMAT=" + imageMimeType;
-  url += "&";
-  url += "TRANSPARENT=TRUE";
+  if(!imageMimeType.contains("jpeg", Qt::CaseInsensitive) && !imageMimeType.contains("jpg", Qt::CaseInsensitive)) //MH: jpeg does not support transparency and some servers complain if jpg and transparent=true
+    {
+      url += "&";
+      url += "TRANSPARENT=TRUE";
+    }
 
+  qWarning(url);
+
   // cache some details for if the user wants to do an identifyAsHtml() later
   mGetFeatureInfoUrlBase = baseUrl;
   mGetFeatureInfoUrlBase += "SERVICE=WMS";
@@ -478,8 +491,11 @@
   mGetFeatureInfoUrlBase += "STYLES=" + styles;
   mGetFeatureInfoUrlBase += "&";
   mGetFeatureInfoUrlBase += "FORMAT=" + imageMimeType;
-  mGetFeatureInfoUrlBase += "&";
-  mGetFeatureInfoUrlBase += "TRANSPARENT=TRUE";
+  if(!imageMimeType.contains("jpeg", Qt::CaseInsensitive) && !imageMimeType.contains("jpg", Qt::CaseInsensitive))
+    {
+      mGetFeatureInfoUrlBase += "&";
+      mGetFeatureInfoUrlBase += "TRANSPARENT=TRUE";
+    }
 
 
   QByteArray imagesource;
@@ -612,7 +628,7 @@
   std::cout << "QgsWmsProvider::retrieveServerCapabilities: entering." << std::endl;
 #endif
 
-  if ( httpcapabilitiesresponse.isNull() or
+  if ( httpcapabilitiesresponse.isNull() ||
        forceRefresh )
   {
 
@@ -877,7 +893,7 @@
   if (!
       (
        (docElem.tagName() == "WMS_Capabilities")     // (1.3 vintage)
-       or
+       ||
        (docElem.tagName() == "WMT_MS_Capabilities")  // (1.1.1 vintage)
       )
      )
@@ -1639,7 +1655,7 @@
     extentForLayer[ layerProperty.name ] = layerProperty.ex_GeographicBoundingBox;
 
     // see if we can refine the bounding box with the CRS-specific bounding boxes
-    for ( int i = 0; i < layerProperty.boundingBox.size(); i++ ) 
+    for ( uint i = 0; i < layerProperty.boundingBox.size(); i++ ) 
     {
 #ifdef QGISDEBUG
   std::cout << "QgsWmsProvider::parseLayer: testing bounding box CRS which is " 
@@ -1822,28 +1838,9 @@
 }
 
 
-QgsDataSourceURI * QgsWmsProvider::getURI()
-{
 
-  QgsDataSourceURI* dsuri;
-   
-  dsuri = new QgsDataSourceURI;
-  
-  //TODO
-  
-  return dsuri;
-}
-
-
-void QgsWmsProvider::setURI(QgsDataSourceURI * uri)
+QgsRect QgsWmsProvider::extent()
 {
-  // TODO
-} 
-
-
-
-QgsRect *QgsWmsProvider::extent()
-{
   if (extentDirty)
   {
     if (calculateExtent())
@@ -1852,7 +1849,7 @@
     }
   }
 
-  return &layerExtent;
+  return layerExtent;
 }
 
 void QgsWmsProvider::reset()
@@ -1869,6 +1866,7 @@
 QString QgsWmsProvider::wmsVersion()
 {
   // TODO
+  return NULL;
 } 
 
 QStringList QgsWmsProvider::supportedImageEncodings()
@@ -1893,9 +1891,7 @@
 {
     // Pass-through
     // TODO: See if we can connect signal-to-signal.  This is a kludge according to the Qt doc.
-#ifndef WIN32
     emit setStatus(theMessage);
-#endif
 }
 
 
@@ -2140,7 +2136,7 @@
 
   // Iterate through layers
 
-  for (int i = 0; i < layersSupported.size(); i++)
+  for (uint i = 0; i < layersSupported.size(); i++)
   {
 
     // TODO: Handle nested layers
@@ -2259,7 +2255,7 @@
     myMetadataQString += "</td></tr>";
 
     // Layer Coordinate Reference Systems
-    for ( int j = 0; j < layersSupported[i].crs.size(); j++ )
+    for ( uint j = 0; j < layersSupported[i].crs.size(); j++ )
     {
       myMetadataQString += "<tr><td bgcolor=\"gray\">";
       myMetadataQString += tr("Available in CRS");
@@ -2270,7 +2266,7 @@
     }
 
     // Layer Styles
-    for (int j = 0; j < layersSupported[i].style.size(); j++)
+    for (uint j = 0; j < layersSupported[i].style.size(); j++)
     {
       myMetadataQString += "<tr><td bgcolor=\"gray\">";
       myMetadataQString += tr("Available in style");
@@ -2393,6 +2389,13 @@
 }
 
 
+QgsSpatialRefSys QgsWmsProvider::getSRS()
+{
+  // TODO: implement
+  return QgsSpatialRefSys();
+}
+
+
 QString QgsWmsProvider::errorCaptionString()
 {
   return mErrorCaption;

Modified: packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.h
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/qgswmsprovider.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -16,7 +16,7 @@
  *                                                                         *
  ***************************************************************************/
  
-/* $Id: qgswmsprovider.h 6217 2006-12-08 21:36:36Z timlinux $ */
+/* $Id: qgswmsprovider.h 6879 2007-04-11 11:46:35Z wonder $ */
 
 #ifndef QGSWMSPROVIDER_H
 #define QGSWMSPROVIDER_H
@@ -24,19 +24,14 @@
 #include <map>
 #include <vector>
 
-#include <QSet>
-
 #include "qgsrasterdataprovider.h"
 #include "qgsrect.h"
 
-#include <qgscoordinatetransform.h>
-
-#include "qgsdatasourceuri.h"
-
 #include <QString>
 #include <QStringList>
 #include <QDomElement>
 
+class QgsCoordinateTransform;
 
 /*
  * The following structs reflect the WMS XML schema,
@@ -338,10 +333,8 @@
 */
 class QgsWmsProvider : public QgsRasterDataProvider
 {
-
-#ifndef WIN32  
+  
   Q_OBJECT
-#endif 
 
 public:
   
@@ -408,13 +401,20 @@
    */
   virtual QSet<QString> supportedCrsForLayers(QStringList const & layers);
 
+  /*! Get the QgsSpatialRefSys for this layer
+   * @note Must be reimplemented by each provider. 
+   * If the provider isn't capable of returning
+   * its projection an empty srs will be return, ti will return 0
+   */
+  virtual QgsSpatialRefSys getSRS();
+  
   /**
    * Add the list of WMS layer names to be rendered by this server
    */
   void addLayers(QStringList const &  layers,
                  QStringList const &  styles = QStringList());
 
-
+  
   /** return the number of layers for the current data source
 
     @note 
@@ -474,23 +474,9 @@
   
   /* Example URI: http://ims.cr.usgs.gov:80/servlet/com.esri.wms.Esrimap/USGS_EDC_Trans_BTS_Roads?SERVICE=WMS&REQUEST=GetCapabilities */
 
-  /** Used to ask the layer for its projection as a WKT string. Implements
-   * virtual method of same name in QgsDataProvider. */
-  QString getProjectionWKT()  {return QString("Not implemented yet");} ;
-
-  /**
-   * Get the data source URI structure used by this layer
-   */
-  QgsDataSourceURI * getURI();
-
-  /**
-   * Set the data source URI used by this layer
-   */
-  void setURI(QgsDataSourceURI * uri);
-
   /** Return the extent for this data layer
   */
-  virtual QgsRect *extent();
+  virtual QgsRect extent();
 
   /** Reset the layer - for a PostgreSQL layer, this means clearing the PQresult
    * pointer and setting it to 0
@@ -612,8 +598,6 @@
     QString description() const;
 
 
-#ifndef WIN32    
-
 signals:
 
     /** \brief emit a signal to notify of a progress event */
@@ -624,7 +608,6 @@
 
 
 public slots:
-#endif
 
   void showStatusMessage(QString const &  theMessage);
 

Deleted: packages/qgis/branches/upstream/current/src/providers/wms/wms.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/providers/wms/wms.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/providers/wms/wms.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,21 +0,0 @@
-######################################################################
-# Qmake project file for building the postgres provider.
-# This file is needed for building on Windows
-######################################################################
-# wms.pro,v 1.0 2005/03/15 00:00:00 morb_au Exp 
-include(../../../settings.pro)
-TARGET=wmsprovider
-TEMPLATE = lib
-#suffix debug to target if applicable
-CONFIG(debug, debug|release){
-  TARGET = $$member(TARGET, 0)-debug
-}
-LIBS += $${QGISCORELIBADD}
-#LIBS += $${QGISGUILIBADD}
-DESTDIR=$${QGISPROVIDERDIR}
-QT += qt3support svg core gui xml network
-message("Building libs into $${DESTDIR}")
-
-
-HEADERS += qgswmsprovider.h
-SOURCES += qgswmsprovider.cpp

Deleted: packages/qgis/branches/upstream/current/src/qgislib.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/qgislib.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/qgislib.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,189 +0,0 @@
-TEMPLATE = lib
-TARGET=libqgis
-INCLUDEPATH += . $(GDAL)\include \
-                $(POSTGRESQL)\src\interfaces\libpq \
-                $(POSTGRESQL)\src\include \
-                $(GEOS)\include
-LIBS += $(GDAL)\lib\gdal_i.lib \
-        $(GEOS)\lib\geos.lib \
-        $(POSTGRESQL)\src\interfaces\libpq\Release\libpq.lib 
-CONFIG += qt thread rtti
-DLLDESTDIR= ..\..\src\lib\qgis
-# Input
-SOURCES +=  moc_qgisapp.cpp \
-moc_qgisappbase.cpp \
-moc_qgisinterface.cpp \ 
-moc_qgsabout.cpp \
-moc_qgsattributeactiondialog.cpp \
-moc_qgsattributeactiondialogbase.cpp \
-moc_qgsattributedialog.cpp \
-moc_qgsattributedialogbase.cpp \
-moc_qgsattributetable.cpp \
-moc_qgsattributetablebase.cpp \
-moc_qgscontcoldialog.cpp \
-moc_qgscontcoldialogbase.cpp \
-moc_qgsdbsourceselect.cpp \
-moc_qgsdbsourceselectbase.cpp \
-moc_qgsdlgvectorlayerproperties.cpp \
-moc_qgsdlgvectorlayerpropertiesbase.cpp \
-moc_qgsgeomtypedialogbase.cpp \
-moc_qgsgramadialog.cpp \
-moc_qgsgramadialogbase.cpp \
-moc_qgsgramaextensionwidget.cpp \
-moc_qgsgrasydialog.cpp \
-moc_qgsgrasydialogbase.cpp \
-moc_qgshelpviewer.cpp \
-moc_qgshelpviewerbase.cpp \
-moc_qgsidentifyresults.cpp \
-moc_qgsidentifyresultsbase.cpp \
-moc_qgslabeldialog.cpp \
-moc_qgslabeldialogbase.cpp \
-moc_qgslegend.cpp \
-moc_qgslegenditembase.cpp \
-moc_qgslinestyledialog.cpp \
-moc_qgslinestyledialogbase.cpp \
-moc_qgsludialog.cpp \
-moc_qgsludialogbase.cpp \
-moc_qgsmapcanvas.cpp \
-moc_qgsmaplayer.cpp \
-moc_qgsmaplayerinterface.cpp \
-moc_qgsmaplayerregistry.cpp \
-moc_qgsmapserverexport.cpp \
-moc_qgsmapserverexportbase.cpp \
-moc_qgsmarkerdialog.cpp \
-moc_qgsmarkerdialogbase.cpp \
-moc_qgsmessageviewer.cpp \
-moc_qgsnewconnection.cpp \
-moc_qgsnewconnectionbase.cpp \
-moc_qgsoptions.cpp \
-moc_qgsoptionsbase.cpp \
-moc_qgspatterndialog.cpp \
-moc_qgspatterndialogbase.cpp \
-moc_qgspgquerybuilder.cpp \
-moc_qgspgquerybuilderbase.cpp \
-moc_qgspluginmanager.cpp \
-moc_qgspluginmanagerbase.cpp \
-moc_qgsprojectproperties.cpp \
-moc_qgsprojectpropertiesbase.cpp \
-moc_qgsrasterlayer.cpp \
-moc_qgsrasterlayerproperties.cpp \
-moc_qgsrasterlayerpropertiesbase.cpp \
-moc_qgssimadialog.cpp \
-moc_qgssimadialogbase.cpp \
-moc_qgssisydialog.cpp \
-moc_qgssisydialogbase.cpp \
-moc_qgsuvaldialog.cpp \
-moc_qgsuvaldialogbase.cpp \
-moc_qgsuvalmadialog.cpp \
-moc_qgsuvalmadialogbase.cpp \
-moc_qgsvectorlayer.cpp \
-moc_splashscreen.cpp \
-qgisapp.cpp \
-qgisappbase.cpp \
-qgisiface.cpp \
-qgisinterface.cpp \
-qgsabout.cpp \
-qgsacetateobject.cpp \
-qgsacetaterectangle.cpp \
-qgsattributeaction.cpp \
-qgsattributeactiondialog.cpp \
-qgsattributeactiondialogbase.cpp \
-qgsattributedialog.cpp \
-qgsattributedialogbase.cpp \
-qgsattributetable.cpp \
-qgsattributetablebase.cpp \
-qgsattributetabledisplay.cpp \
-qgscolortable.cpp \
-qgscontcoldialog.cpp \
-qgscontcoldialogbase.cpp \
-qgscontinuouscolrenderer.cpp \
-qgscoordinatetransform.cpp \
-qgscustomsymbol.cpp \
-qgsdatasource.cpp \
-qgsdbsourceselect.cpp \
-qgsdbsourceselectbase.cpp \
-qgsdlgvectorlayerproperties.cpp \
-qgsdlgvectorlayerpropertiesbase.cpp \
-qgsfeature.cpp \
-qgsfeatureattribute.cpp \
-qgsfield.cpp \
-qgsgeomtypedialog.cpp \
-qgsgeomtypedialogbase.cpp \
-qgsgraduatedmarenderer.cpp \
-qgsgraduatedsymrenderer.cpp \
-qgsgramadialog.cpp \
-qgsgramadialogbase.cpp \
-qgsgramaextensionwidget.cpp \
-qgsgrasydialog.cpp \
-qgsgrasydialogbase.cpp \
-qgshelpviewer.cpp \
-qgshelpviewerbase.cpp \
-qgsidentifyresults.cpp \
-qgsidentifyresultsbase.cpp \
-qgslabel.cpp \
-qgslabelattributes.cpp \
-qgslabeldialog.cpp \
-qgslabeldialogbase.cpp \
-qgslegend.cpp \
-qgslegenditem.cpp \
-qgslegenditembase.cpp \
-qgslinestyledialog.cpp \
-qgslinestyledialogbase.cpp \
-qgslinesymbol.cpp \
-qgsludialog.cpp \
-qgsludialogbase.cpp \
-qgsmapcanvas.cpp \
-qgsmaplayer.cpp \
-qgsmaplayerregistry.cpp \
-qgsmapserverexport.cpp \
-qgsmapserverexportbase.cpp \
-qgsmarkerdialog.cpp \
-qgsmarkerdialogbase.cpp \
-qgsmarkersymbol.cpp \
-qgsmessageviewer.cpp \
-qgsnewconnection.cpp \
-qgsnewconnectionbase.cpp \
-qgsoptions.cpp \
-qgsoptionsbase.cpp \
-qgspatterndialog.cpp \
-qgspatterndialogbase.cpp \
-qgspgquerybuilder.cpp \
-qgspgquerybuilderbase.cpp \
-qgspgutil.cpp \
-qgspluginitem.cpp \
-qgspluginmanager.cpp \
-qgspluginmanagerbase.cpp \
-qgspluginmetadata.cpp \
-qgspluginregistry.cpp \
-qgspoint.cpp \
-qgspolygonsymbol.cpp \
-qgsproject.cpp \
-qgsprojectproperties.cpp \
-qgsprojectpropertiesbase.cpp \
-qgsprovidermetadata.cpp \
-qgsproviderregistry.cpp \
-qgsrangerenderitem.cpp \
-qgsrasterlayer.cpp \
-qgsrasterlayerproperties.cpp \
-qgsrasterlayerpropertiesbase.cpp \
-qgsrect.cpp \
-qgsrenderitem.cpp \
-qgsscalecalculator.cpp \
-qgssimadialog.cpp \
-qgssimadialogbase.cpp \
-qgssimarenderer.cpp \
-qgssinglesymrenderer.cpp \
-qgssisydialog.cpp \
-qgssisydialogbase.cpp \
-qgssvgcache.cpp \
-qgssymbol.cpp \
-qgssymbologyutils.cpp \
-qgsuniquevalrenderer.cpp \
-qgsuvaldialog.cpp \
-qgsuvaldialogbase.cpp \
-qgsuvalmadialog.cpp \
-qgsuvalmadialogbase.cpp \
-qgsuvalmarenderer.cpp \
-qgsvectordataprovider.cpp \
-qgsvectorfilewriter.cpp \
-qgsvectorlayer.cpp 

Deleted: packages/qgis/branches/upstream/current/src/src.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/src.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/src.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,16 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-TEMPLATE=subdirs
-
-SUBDIRS=core widgets gui providers plugins
-

Added: packages/qgis/branches/upstream/current/src/ui/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/ui/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+Makefile.in
+Makefile
+ui_*.h

Modified: packages/qgis/branches/upstream/current/src/ui/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -39,7 +39,7 @@
   qgspgquerybuilderbase.ui
   qgspluginmanagerbase.ui
   qgspointstylewidgetbase.ui
-  ../widgets/projectionselector/qgsprojectionselectorbase.ui
+  qgsprojectionselectorbase.ui
   qgsprojectpropertiesbase.ui
   qgsrasterlayerpropertiesbase.ui
   qgsserversourceselectbase.ui
@@ -47,9 +47,12 @@
   qgsuniquevaluedialogbase.ui
   qgsvectorlayerpropertiesbase.ui
   qgsvectorsymbologywidgetbase.ui
-  ../../tools/mapserver_export/qgsmapserverexportbase.ui
 )
 
+IF (PYTHON_FOUND)
+  SET (QGIS_UIS ${QGIS_UIS} ../ui/qgspythondialog.ui)
+ENDIF (PYTHON_FOUND)
+
 QT4_WRAP_UI(QGIS_UIS_H ${QGIS_UIS})
 
 ADD_CUSTOM_TARGET(ui ALL DEPENDS ${QGIS_UIS_H})

Deleted: packages/qgis/branches/upstream/current/src/ui/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,160 +0,0 @@
-# Copyright (C) 2005 Tim Sutton tim at linfiniti.com
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-ui_%.h: %.ui 
-	$(UIC) -o $@ $<
-	
-WIDGETPATH=../../widgets
-	
-## qt designer files for all the GUI stuff
-
-qgis_ui_UIC =	\
-		qgsabout.ui				\
-		qgsaddattrdialogbase.ui			\
-		qgsattributedialogbase.ui		\
-		qgsattributeactiondialogbase.ui		\
-		qgsattributetablebase.ui		\
-		qgsbookmarksbase.ui		\
-		qgscontinuouscolordialogbase.ui			\
-		qgsdelattrdialogbase.ui			\
-		qgsvectorlayerpropertiesbase.ui	\
-		qgsgeomtypedialogbase.ui		\
-		qgsgraduatedsymboldialogbase.ui			\
-		qgshelpviewerbase.ui			\
-		qgsidentifyresultsbase.ui		\
-		qgslabeldialogbase.ui			\
-		qgslinestyledialogbase.ui		\
-		qgsludialogbase.ui			\
-		qgsmapserverexportbase.ui		\
-		qgsmarkerdialogbase.ui			\
-		qgsmessageviewer.ui			\
-		qgsmeasurebase.ui			\
-		qgsnewhttpconnectionbase.ui		\
-		qgsoptionsbase.ui			\
-		qgspastetransformationsbase.ui		\
-		qgspatterndialogbase.ui			\
-		qgspluginmanagerbase.ui			\
-		qgsprojectpropertiesbase.ui		\
-		qgsrasterlayerpropertiesbase.ui		\
-		qgsserversourceselectbase.ui		\
-		qgssinglesymboldialogbase.ui			\
-		qgsuniquevaluedialogbase.ui			\
-		qgslayerprojectionselectorbase.ui \
-		qgscustomprojectiondialogbase.ui \
-		qgscomposerbase.ui \
-		qgscompositionbase.ui \
-		qgsgeomtypedialogbase.ui \
-		qgspastetransformationsbase.ui \
-		qgscomposermapbase.ui \
-		qgscomposerlabelbase.ui \
-		qgscomposerpicturebase.ui \
-		qgscomposerscalebarbase.ui \
-		qgscomposervectorlegendbase.ui \
-		qgscontinuouscolordialogbase.ui \
-		qgsattributedialogbase.ui \
-		qgsfillstylewidgetbase.ui \
-		qgsgraduatedsymboldialogbase.ui \
-		qgslabeldialogbase.ui \
-		qgslinestylewidgetbase.ui \
-		qgsmeasurebase.ui \
-		qgspointstylewidgetbase.ui \
-		qgsidentifyresultsbase.ui \
-		qgsuniquevaluedialogbase.ui \
-		qgsattributetabledisplaybase.ui \
-		qgsaddattrdialogbase.ui \
-		qgsattributeactiondialogbase.ui \
-		qgsdelattrdialogbase.ui \
-		qgspgquerybuilderbase.ui \
-		qgsludialogbase.ui \
-		qgspatterndialogbase.ui \
-		qgslinestyledialogbase.ui \
-		qgsmarkerdialogbase.ui \
-		qgsnewhttpconnectionbase.ui \
-		qgsnewconnectionbase.ui \
-		../widgets/projectionselector/qgsprojectionselectorbase.ui
-
-## all the ui files generate a corresponding header file
-qgis_ui_UIHEADERS = ui_qgisappbase.h \
-		ui_qgsabout.h				\
-		ui_qgsaddattrdialogbase.h			\
-		ui_qgsattributedialogbase.h		\
-		ui_qgsattributeactiondialogbase.h		\
-		ui_qgsattributetablebase.h		\
-		ui_qgsbookmarksbase.h		\
-		ui_qgscontinuouscolordialogbase.h			\
-		ui_qgsdelattrdialogbase.h			\
-		ui_qgsvectorlayerpropertiesbase.h	\
-		ui_qgsgeomtypedialogbase.h		\
-		ui_qgsgraduatedsymboldialogbase.h			\
-		ui_qgshelpviewerbase.h			\
-		ui_qgsidentifyresultsbase.h		\
-		ui_qgslabeldialogbase.h			\
-		ui_qgslinestyledialogbase.h		\
-		ui_qgsludialogbase.h			\
-		ui_qgsmapserverexportbase.h		\
-		ui_qgsmarkerdialogbase.h			\
-		ui_qgsmessageviewer.h			\
-		ui_qgsmeasurebase.h			\
-		ui_qgsnewhttpconnectionbase.h		\
-		ui_qgsoptionsbase.h			\
-		ui_qgspastetransformationsbase.h		\
-		ui_qgspatterndialogbase.h			\
-		ui_qgspluginmanagerbase.h			\
-		ui_qgsprojectpropertiesbase.h		\
-		ui_qgsrasterlayerpropertiesbase.h		\
-		ui_qgsserversourceselectbase.h		\
-		ui_qgssinglesymboldialogbase.h			\
-		ui_qgsuniquevaluedialogbase.h			\
-		ui_qgslayerprojectionselectorbase.h \
-		ui_qgscustomprojectiondialogbase.h \
-		ui_qgscomposerbase.h \
-		ui_qgscompositionbase.h \
-		ui_qgsgeomtypedialogbase.h \
-		ui_qgspastetransformationsbase.h \
-		ui_qgscomposermapbase.h \
-		ui_qgscomposerlabelbase.h \
-		ui_qgscomposerpicturebase.h \
-		ui_qgscomposerscalebarbase.h \
-		ui_qgscomposervectorlegendbase.h \
-		ui_qgscontinuouscolordialogbase.h \
-		ui_qgsattributedialogbase.h \
-		ui_qgsfillstylewidgetbase.h \
-		ui_qgsgraduatedsymboldialogbase.h \
-		ui_qgslabeldialogbase.h \
-		ui_qgslinestylewidgetbase.h \
-		ui_qgsmeasurebase.h \
-		ui_qgspointstylewidgetbase.h \
-		ui_qgsidentifyresultsbase.h \
-		ui_qgsaddattrdialogbase.h \
-		ui_qgsattributeactiondialogbase.h \
-		ui_qgsdelattrdialogbase.h \
-		ui_qgspgquerybuilderbase.h \
-		ui_qgsludialogbase.h \
-		ui_qgspatterndialogbase.h \
-		ui_qgslinestyledialogbase.h \
-		ui_qgsmarkerdialogbase.h \
-		ui_qgsuniquevaluedialogbase.h \
-		ui_qgsnewhttpconnectionbase.h \
-		ui_qgsnewconnectionbase.h \
-		../widgets/projectionselector/ui_qgsprojectionselectorbase.h
-
-
-postgresUIHEADERS = ui_qgsdbsourceselectbase.h	\
-		  ui_qgsnewconnectionbase.h		\
-		  ui_qgspgquerybuilderbase.h	
-
-BUILT_SOURCES = $(qgis_ui_UIHEADERS) $(postgresUIHEADERS) 
-# the following is not used anywhere so its commented out
-#qgis_ui_LDADD = $(LDADD) $(QT_LDADD) 
-qgis_ui_CXXFLAGS = $(PREFIX) $(PLUGINPATH) $(PKGDATAPATH) $(GDAL_CFLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PG_INC) $(DEBUG_QGIS) -I../widgets/projectionselector/ -I./legend/ -I./raster/
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = $(qgis_ui_UIHEADERS) $(postgresUIHEADERS) 

Modified: packages/qgis/branches/upstream/current/src/ui/qgisappbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgisappbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgisappbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -9,18 +9,18 @@
     <height>391</height>
    </rect>
   </property>
-  <property name="sizePolicy" >
-   <sizepolicy>
-    <hsizetype>7</hsizetype>
-    <vsizetype>7</vsizetype>
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
   <property name="windowTitle" >
    <string>MainWindow</string>
   </property>
   <widget class="QWidget" name="centralWidget" >
+   <property name="sizePolicy" >
+    <sizepolicy>
+     <hsizetype>7</hsizetype>
+     <vsizetype>7</vsizetype>
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
    <layout class="QGridLayout" >
     <property name="margin" >
      <number>9</number>

Modified: packages/qgis/branches/upstream/current/src/ui/qgscustomprojectiondialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgscustomprojectiondialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgscustomprojectiondialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +1,12 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsCustomProjectionDialogBase</class>
  <widget class="QDialog" name="QgsCustomProjectionDialogBase" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>532</width>
-    <height>297</height>
+    <width>718</width>
+    <height>323</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -27,7 +24,10 @@
    </property>
    <item row="0" column="0" >
     <widget class="QTabWidget" name="tabWidget2" >
-     <widget class="QWidget" name="tab" >
+     <property name="currentIndex" >
+      <number>0</number>
+     </property>
+     <widget class="QWidget" name="tab1" >
       <attribute name="title" >
        <string>Define</string>
       </attribute>
@@ -41,7 +41,10 @@
        <item row="1" column="0" colspan="2" >
         <widget class="QTextBrowser" name="textBrowser" >
          <property name="html" >
-          <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;">You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p>&lt;/body>&lt;/html></string>
+          <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">You can define your own custom projection here. The definition must conform to the proj4 format for specifying a Spatial Reference System.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
@@ -161,7 +164,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab2" >
       <attribute name="title" >
        <string>Test</string>
       </attribute>
@@ -182,7 +185,10 @@
        <item row="1" column="0" colspan="3" >
         <widget class="QTextBrowser" name="textBrowser_2" >
          <property name="html" >
-          <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:10pt;">Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p>&lt;/body>&lt;/html></string>
+          <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Arial'; font-size:10pt;">Use the text boxes below to test the projection definition you are creating. Enter a coordinate where both the lat/long and the projected result are known (for example by reading off a map). Then press the calculate button to see if the projection definition you are creating is accurate.&lt;/p>&lt;/body>&lt;/html></string>
          </property>
         </widget>
        </item>
@@ -302,7 +308,6 @@
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
- <pixmapfunction></pixmapfunction>
  <tabstops>
   <tabstop>tabWidget2</tabstop>
   <tabstop>textBrowser</tabstop>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsgeomtypedialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsgeomtypedialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsgeomtypedialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -22,59 +22,6 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="5" column="0" colspan="4" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="btnHelp" >
-       <property name="enabled" >
-        <bool>true</bool>
-       </property>
-       <property name="text" >
-        <string>Help</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>91</width>
-         <height>26</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="mOkButton" >
-       <property name="enabled" >
-        <bool>false</bool>
-       </property>
-       <property name="text" >
-        <string>OK</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="mCancelButton" >
-       <property name="text" >
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="1" column="0" colspan="2" >
     <widget class="QLabel" name="mFileFormatLabel" >
      <property name="text" >
@@ -173,6 +120,16 @@
      </column>
     </widget>
    </item>
+   <item row="5" column="0" colspan="4" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
@@ -191,9 +148,6 @@
   <tabstop>mFileFormatComboBox</tabstop>
   <tabstop>mAddAttributeButton</tabstop>
   <tabstop>mRemoveAttributeButton</tabstop>
-  <tabstop>btnHelp</tabstop>
-  <tabstop>mOkButton</tabstop>
-  <tabstop>mCancelButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsgraduatedsymboldialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsgraduatedsymboldialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsgraduatedsymboldialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +1,12 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsGraduatedSymbolDialogBase</class>
- <widget class="QDialog" name="QgsGraSyDialogBase" >
+ <widget class="QDialog" name="QgsGraduatedSymbolDialogBase" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>491</width>
-    <height>575</height>
+    <width>388</width>
+    <height>502</height>
    </rect>
   </property>
   <property name="minimumSize" >
@@ -34,53 +31,13 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="1" column="1" >
-    <widget class="Q3ListBox" name="mClassBreakBox" >
-     <property name="sizePolicy" >
-      <sizepolicy>
-       <hsizetype>7</hsizetype>
-       <vsizetype>7</vsizetype>
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize" >
-      <size>
-       <width>32767</width>
-       <height>32767</height>
-      </size>
-     </property>
+   <item rowspan="2" row="1" column="0" >
+    <widget class="QStackedWidget" name="mSymbolWidgetStack" >
+     <widget class="QWidget" name="page" />
+     <widget class="QWidget" name="page_2" />
     </widget>
    </item>
-   <item row="1" column="0" >
-    <widget class="Q3WidgetStack" name="mSymbolWidgetStack" >
-     <property name="sizePolicy" >
-      <sizepolicy>
-       <hsizetype>7</hsizetype>
-       <vsizetype>7</vsizetype>
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize" >
-      <size>
-       <width>32767</width>
-       <height>32767</height>
-      </size>
-     </property>
-     <widget class="QWidget" name="WStackPage" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>234</width>
-        <height>464</height>
-       </rect>
-      </property>
-     </widget>
-    </widget>
-   </item>
-   <item row="0" column="0" colspan="2" >
+   <item row="0" column="0" colspan="3" >
     <layout class="QHBoxLayout" >
      <property name="margin" >
       <number>0</number>
@@ -196,26 +153,27 @@
      </item>
     </layout>
    </item>
+   <item row="1" column="2" >
+    <widget class="QPushButton" name="mDeleteClassButton" >
+     <property name="text" >
+      <string>Delete class</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1" >
+    <widget class="QPushButton" name="mClassifyButton" >
+     <property name="text" >
+      <string>Classify</string>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="1" colspan="2" >
+    <widget class="QListWidget" name="mClassListWidget" />
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <customwidgets>
-  <customwidget>
-   <class>Q3ListBox</class>
-   <extends></extends>
-   <header>q3listbox.h</header>
-   <container>0</container>
-   <pixmap></pixmap>
-  </customwidget>
-  <customwidget>
-   <class>Q3WidgetStack</class>
-   <extends></extends>
-   <header>q3widgetstack.h</header>
-   <container>1</container>
-   <pixmap></pixmap>
-  </customwidget>
- </customwidgets>
  <resources/>
  <connections/>
 </ui>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsoptionsbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsoptionsbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsoptionsbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -6,7 +6,7 @@
     <x>0</x>
     <y>0</y>
     <width>590</width>
-    <height>454</height>
+    <height>428</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -33,6 +33,54 @@
      <property name="currentIndex" >
       <number>0</number>
      </property>
+     <widget class="QWidget" name="tabGeneral" >
+      <attribute name="title" >
+       <string>&amp;General</string>
+      </attribute>
+      <layout class="QVBoxLayout" >
+       <property name="margin" >
+        <number>9</number>
+       </property>
+       <property name="spacing" >
+        <number>6</number>
+       </property>
+       <item>
+        <widget class="QGroupBox" name="groupBox_11" >
+         <property name="title" >
+          <string>General</string>
+         </property>
+         <layout class="QVBoxLayout" >
+          <property name="margin" >
+           <number>9</number>
+          </property>
+          <property name="spacing" >
+           <number>6</number>
+          </property>
+          <item>
+           <widget class="QCheckBox" name="chbAskToSaveProjectChanges" >
+            <property name="text" >
+             <string>Ask to save project changes when required</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
      <widget class="QWidget" name="tabAppearance" >
       <attribute name="title" >
        <string>&amp;Appearance</string>
@@ -152,7 +200,7 @@
              <string>Selection Color:</string>
             </property>
             <property name="buddy" >
-             <cstring>pbnSelectionColour</cstring>
+             <cstring>pbnMeasureColour</cstring>
             </property>
            </widget>
           </item>
@@ -258,7 +306,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="TabPage" >
+     <widget class="QWidget" name="tabRendering" >
       <attribute name="title" >
        <string>&amp;Rendering</string>
       </attribute>
@@ -408,23 +456,10 @@
        <property name="spacing" >
         <number>6</number>
        </property>
-       <item row="3" column="0" >
-        <spacer>
-         <property name="orientation" >
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" >
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="0" column="0" >
-        <widget class="QGroupBox" name="groupBox_7" >
+       <item row="2" column="0" >
+        <widget class="QGroupBox" name="groupBox_10" >
          <property name="title" >
-          <string>Search radius</string>
+          <string>Panning and zooming</string>
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
@@ -433,43 +468,49 @@
           <property name="spacing" >
            <number>6</number>
           </property>
-          <item row="1" column="0" colspan="2" >
-           <widget class="QLabel" name="textLabel2" >
+          <item row="0" column="1" >
+           <widget class="QComboBox" name="cmbWheelAction" >
+            <item>
+             <property name="text" >
+              <string>Zoom</string>
+             </property>
+            </item>
+            <item>
+             <property name="text" >
+              <string>Zoom and recenter</string>
+             </property>
+            </item>
+            <item>
+             <property name="text" >
+              <string>Nothing</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+          <item row="1" column="0" >
+           <widget class="QLabel" name="label_3" >
             <property name="text" >
-             <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
-p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
-&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Note:&lt;/span> Specify the search radius as a percentage of the map width.&lt;/p>
-&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
+             <string>Zoom factor:</string>
             </property>
-            <property name="wordWrap" >
-             <bool>true</bool>
-            </property>
            </widget>
           </item>
           <item row="0" column="0" >
-           <widget class="QLabel" name="textLabel1_3" >
+           <widget class="QLabel" name="label_2" >
             <property name="text" >
-             <string>Search Radius for Identifying Features</string>
+             <string>Mouse wheel action:</string>
             </property>
-            <property name="buddy" >
-             <cstring>spinBoxIdentifyValue</cstring>
-            </property>
            </widget>
           </item>
-          <item row="0" column="1" >
-           <widget class="QDoubleSpinBox" name="spinBoxIdentifyValue" >
-            <property name="suffix" >
-             <string>%</string>
+          <item row="1" column="1" >
+           <widget class="QDoubleSpinBox" name="spinZoomFactor" >
+            <property name="decimals" >
+             <number>1</number>
             </property>
-            <property name="maximum" >
-             <double>100.000000000000000</double>
+            <property name="minimum" >
+             <double>1.100000000000000</double>
             </property>
-            <property name="singleStep" >
-             <double>0.010000000000000</double>
-            </property>
             <property name="value" >
-             <double>5.000000000000000</double>
+             <double>2.000000000000000</double>
             </property>
            </widget>
           </item>
@@ -488,6 +529,45 @@
           <property name="spacing" >
            <number>6</number>
           </property>
+          <item row="1" column="2" >
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>191</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="1" column="1" >
+           <widget class="QgsColorButton" name="pbnMeasureColour" >
+            <property name="minimumSize" >
+             <size>
+              <width>100</width>
+              <height>0</height>
+             </size>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1" colspan="2" >
+           <widget class="QComboBox" name="cmbEllipsoid" />
+          </item>
+          <item row="1" column="0" >
+           <widget class="QLabel" name="textLabel1_10" >
+            <property name="text" >
+             <string>Rubberband color:</string>
+            </property>
+            <property name="buddy" >
+             <cstring>cmbEllipsoid</cstring>
+            </property>
+           </widget>
+          </item>
           <item row="0" column="0" >
            <widget class="QLabel" name="textLabel1_8" >
             <property name="text" >
@@ -498,16 +578,13 @@
             </property>
            </widget>
           </item>
-          <item row="0" column="1" >
-           <widget class="QComboBox" name="cmbEllipsoid" />
-          </item>
          </layout>
         </widget>
        </item>
-       <item row="2" column="0" >
-        <widget class="QGroupBox" name="groupBox_10" >
+       <item row="0" column="0" >
+        <widget class="QGroupBox" name="groupBox_7" >
          <property name="title" >
-          <string>Panning and zooming</string>
+          <string>Search radius</string>
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
@@ -516,58 +593,65 @@
           <property name="spacing" >
            <number>6</number>
           </property>
-          <item row="0" column="1" >
-           <widget class="QComboBox" name="cmbWheelAction" >
-            <item>
-             <property name="text" >
-              <string>Zoom</string>
-             </property>
-            </item>
-            <item>
-             <property name="text" >
-              <string>Zoom and recenter</string>
-             </property>
-            </item>
-            <item>
-             <property name="text" >
-              <string>Nothing</string>
-             </property>
-            </item>
-           </widget>
-          </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="label_3" >
+          <item row="1" column="0" colspan="2" >
+           <widget class="QLabel" name="textLabel2" >
             <property name="text" >
-             <string>Zoom factor:</string>
+             <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Note:&lt;/span> Specify the search radius as a percentage of the map width.&lt;/p>
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
             </property>
+            <property name="wordWrap" >
+             <bool>true</bool>
+            </property>
            </widget>
           </item>
           <item row="0" column="0" >
-           <widget class="QLabel" name="label_2" >
+           <widget class="QLabel" name="textLabel1_3" >
             <property name="text" >
-             <string>Mouse wheel action:</string>
+             <string>Search Radius for Identifying Features</string>
             </property>
+            <property name="buddy" >
+             <cstring>spinBoxIdentifyValue</cstring>
+            </property>
            </widget>
           </item>
-          <item row="1" column="1" >
-           <widget class="QDoubleSpinBox" name="spinZoomFactor" >
-            <property name="decimals" >
-             <number>1</number>
+          <item row="0" column="1" >
+           <widget class="QDoubleSpinBox" name="spinBoxIdentifyValue" >
+            <property name="suffix" >
+             <string>%</string>
             </property>
-            <property name="minimum" >
-             <double>1.100000000000000</double>
+            <property name="maximum" >
+             <double>100.000000000000000</double>
             </property>
+            <property name="singleStep" >
+             <double>0.010000000000000</double>
+            </property>
             <property name="value" >
-             <double>2.000000000000000</double>
+             <double>5.000000000000000</double>
             </property>
            </widget>
           </item>
          </layout>
         </widget>
        </item>
+       <item row="3" column="0" >
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="TabPage" >
+     <widget class="QWidget" name="tabProjection" >
       <attribute name="title" >
        <string>Pro&amp;jection</string>
       </attribute>
@@ -743,59 +827,14 @@
     </widget>
    </item>
    <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;Ok</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+O</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>
@@ -824,8 +863,6 @@
   <tabstop>txtGlobalWKT</tabstop>
   <tabstop>pbnSelectProjection</tabstop>
   <tabstop>cmbBrowser</tabstop>
-  <tabstop>buttonOk</tabstop>
-  <tabstop>buttonCancel</tabstop>
  </tabstops>
  <resources/>
  <connections/>

Added: packages/qgis/branches/upstream/current/src/ui/qgsprojectionselectorbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsprojectionselectorbase.ui	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/ui/qgsprojectionselectorbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,215 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>QgsProjectionSelectorBase</class>
+ <widget class="QWidget" name="QgsProjectionSelectorBase" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>468</width>
+    <height>428</height>
+   </rect>
+  </property>
+  <property name="sizePolicy" >
+   <sizepolicy>
+    <hsizetype>7</hsizetype>
+    <vsizetype>5</vsizetype>
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle" >
+   <string>Projection Selector</string>
+  </property>
+  <property name="windowIcon" >
+   <iconset/>
+  </property>
+  <layout class="QGridLayout" >
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item row="0" column="0" >
+    <widget class="QGroupBox" name="groupBox_2" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>7</hsizetype>
+       <vsizetype>7</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="title" >
+      <string>Projection</string>
+     </property>
+     <layout class="QGridLayout" >
+      <property name="margin" >
+       <number>9</number>
+      </property>
+      <property name="spacing" >
+       <number>6</number>
+      </property>
+      <item row="2" column="0" >
+       <widget class="QGroupBox" name="groupBox" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>3</hsizetype>
+          <vsizetype>1</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="title" >
+         <string>Search</string>
+        </property>
+        <layout class="QGridLayout" >
+         <property name="margin" >
+          <number>2</number>
+         </property>
+         <property name="spacing" >
+          <number>0</number>
+         </property>
+         <item row="1" column="3" >
+          <widget class="QPushButton" name="pbnFind" >
+           <property name="maximumSize" >
+            <size>
+             <width>100</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="text" >
+            <string>Find</string>
+           </property>
+           <property name="default" >
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="0" colspan="3" >
+          <widget class="QLineEdit" name="leSearch" />
+         </item>
+         <item row="0" column="3" >
+          <widget class="QRadioButton" name="radName" >
+           <property name="text" >
+            <string>Name</string>
+           </property>
+           <property name="iconSize" >
+            <size>
+             <width>16</width>
+             <height>10</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="2" >
+          <widget class="QRadioButton" name="radSRSID" >
+           <property name="text" >
+            <string>QGIS SRSID</string>
+           </property>
+           <property name="iconSize" >
+            <size>
+             <width>16</width>
+             <height>10</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1" >
+          <widget class="QRadioButton" name="radEPSGID" >
+           <property name="text" >
+            <string>EPSG ID</string>
+           </property>
+           <property name="iconSize" >
+            <size>
+             <width>16</width>
+             <height>10</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="0" >
+          <widget class="QRadioButton" name="radSRID" >
+           <property name="text" >
+            <string>Postgis SRID</string>
+           </property>
+           <property name="iconSize" >
+            <size>
+             <width>16</width>
+             <height>10</height>
+            </size>
+           </property>
+           <property name="checked" >
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </item>
+      <item row="1" column="0" >
+       <widget class="QTextEdit" name="teProjection" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>7</hsizetype>
+          <vsizetype>7</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize" >
+         <size>
+          <width>0</width>
+          <height>100</height>
+         </size>
+        </property>
+        <property name="maximumSize" >
+         <size>
+          <width>16777215</width>
+          <height>80</height>
+         </size>
+        </property>
+        <property name="autoFormatting" >
+         <set>QTextEdit::AutoBulletList</set>
+        </property>
+        <property name="readOnly" >
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0" >
+       <widget class="QTreeWidget" name="lstCoordinateSystems" >
+        <property name="alternatingRowColors" >
+         <bool>true</bool>
+        </property>
+        <property name="uniformRowHeights" >
+         <bool>true</bool>
+        </property>
+        <property name="columnCount" >
+         <number>2</number>
+        </property>
+        <column>
+         <property name="text" >
+          <string>Spatial Reference System</string>
+         </property>
+        </column>
+        <column>
+         <property name="text" >
+          <string>Id</string>
+         </property>
+        </column>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsprojectpropertiesbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsprojectpropertiesbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsprojectpropertiesbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>565</width>
-    <height>550</height>
+    <width>583</width>
+    <height>517</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -28,12 +28,22 @@
    <property name="spacing" >
     <number>6</number>
    </property>
+   <item row="1" column="0" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
    <item row="0" column="0" >
-    <widget class="QTabWidget" name="tabWidget2" >
+    <widget class="QTabWidget" name="tabWidget" >
      <property name="currentIndex" >
       <number>0</number>
      </property>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab1" >
       <attribute name="title" >
        <string>General</string>
       </attribute>
@@ -251,7 +261,7 @@
           <item row="0" column="2" >
            <widget class="QLabel" name="textLabel1_2_2_2" >
             <property name="text" >
-             <string>Snapping Tolerance:</string>
+             <string>Snapping Tolerance (in map units):</string>
             </property>
             <property name="buddy" >
              <cstring>leSnappingTolerance</cstring>
@@ -389,7 +399,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab" >
+     <widget class="QWidget" name="tab2" >
       <attribute name="title" >
        <string>Projection</string>
       </attribute>
@@ -414,75 +424,6 @@
      </widget>
     </widget>
    </item>
-   <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="pbnHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>94</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonApply" >
-       <property name="text" >
-        <string>&amp;Apply</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+A</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
@@ -500,7 +441,7 @@
   </customwidget>
  </customwidgets>
  <tabstops>
-  <tabstop>tabWidget2</tabstop>
+  <tabstop>tabWidget</tabstop>
   <tabstop>titleEdit</tabstop>
   <tabstop>radMeters</tabstop>
   <tabstop>radFeet</tabstop>
@@ -513,10 +454,6 @@
   <tabstop>pbnDigitisedLineColour</tabstop>
   <tabstop>pbnSelectionColour</tabstop>
   <tabstop>pbnCanvasColor</tabstop>
-  <tabstop>pbnHelp</tabstop>
-  <tabstop>buttonApply</tabstop>
-  <tabstop>buttonOk</tabstop>
-  <tabstop>buttonCancel</tabstop>
   <tabstop>cbxProjectionEnabled</tabstop>
  </tabstops>
  <resources/>

Added: packages/qgis/branches/upstream/current/src/ui/qgspythondialog.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgspythondialog.ui	                        (rev 0)
+++ packages/qgis/branches/upstream/current/src/ui/qgspythondialog.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,82 @@
+<ui version="4.0" >
+ <class>QgsPythonDialog</class>
+ <widget class="QDialog" name="QgsPythonDialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>541</width>
+    <height>338</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Python console</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="lblInfo" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>7</hsizetype>
+       <vsizetype>5</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'DejaVu Sans Condensed'; font-size:10pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To access Quantum GIS environment from this python console use object &lt;span style=" font-weight:600;">iface&lt;/span> from global scope which is an instance of QgisInterface class.&lt;/p>
+&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Usage e.g.: iface.zoomFull()&lt;/p>&lt;/body>&lt;/html></string>
+     </property>
+     <property name="wordWrap" >
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTextBrowser" name="txtHistory" >
+     <property name="html" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
+p, li { white-space: pre-wrap; }
+&lt;/style>&lt;/head>&lt;body style=" font-family:'DejaVu Sans Condensed'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
+&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">&lt;/p>&lt;/body>&lt;/html></string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="lblPrompt" >
+       <property name="text" >
+        <string>>>></string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="edtCmdLine" />
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <tabstops>
+  <tabstop>edtCmdLine</tabstop>
+  <tabstop>txtHistory</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsrasterlayerpropertiesbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsrasterlayerpropertiesbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsrasterlayerpropertiesbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>564</width>
-    <height>522</height>
+    <width>651</width>
+    <height>641</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -30,6 +30,9 @@
    </property>
    <item row="0" column="0" >
     <widget class="QTabWidget" name="tabBar" >
+     <property name="currentIndex" >
+      <number>0</number>
+     </property>
      <widget class="QWidget" name="tabPageSymbology" >
       <attribute name="title" >
        <string>Symbology</string>
@@ -53,69 +56,69 @@
           <property name="spacing" >
            <number>6</number>
           </property>
-          <item row="2" column="0" colspan="5" >
-           <widget class="QLabel" name="textLabel2_4_2" >
-            <property name="text" >
-             <string>Transparency:</string>
+          <item row="4" column="0" >
+           <layout class="QHBoxLayout" >
+            <property name="margin" >
+             <number>11</number>
             </property>
-            <property name="buddy" >
-             <cstring>sliderTransparency</cstring>
+            <property name="spacing" >
+             <number>6</number>
             </property>
-           </widget>
+            <item>
+             <widget class="QLabel" name="textLabel3" >
+              <property name="text" >
+               <string>None</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="lblTransparencyPercent" >
+              <property name="text" >
+               <string>0%</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QLabel" name="textLabel4" >
+              <property name="text" >
+               <string>&lt;p align="right">Full&lt;/p></string>
+              </property>
+             </widget>
+            </item>
+           </layout>
           </item>
-          <item row="4" column="4" >
-           <widget class="QLabel" name="textLabel4" >
-            <property name="text" >
-             <string>&lt;p align="right">Full&lt;/p></string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="3" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="4" column="2" >
-           <widget class="QLabel" name="lblTransparencyPercent" >
-            <property name="text" >
-             <string>0%</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="1" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="4" column="0" >
-           <widget class="QLabel" name="textLabel3" >
-            <property name="text" >
-             <string>None</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0" colspan="5" >
+          <item row="3" column="0" >
            <widget class="QSlider" name="sliderTransparency" >
             <property name="sizePolicy" >
              <sizepolicy>
-              <hsizetype>3</hsizetype>
-              <vsizetype>3</vsizetype>
+              <hsizetype>7</hsizetype>
+              <vsizetype>0</vsizetype>
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
@@ -131,36 +134,32 @@
             </property>
            </widget>
           </item>
-          <item row="0" column="2" colspan="3" >
-           <widget class="QRadioButton" name="rbtnSingleBand" >
+          <item row="2" column="0" >
+           <widget class="QLabel" name="textLabel2_4_2" >
             <property name="text" >
-             <string>Grayscale Image</string>
+             <string>Transparency:</string>
             </property>
-           </widget>
-          </item>
-          <item row="0" column="0" colspan="2" >
-           <widget class="QRadioButton" name="rbtnThreeBand" >
-            <property name="text" >
-             <string>Color Image</string>
+            <property name="buddy" >
+             <cstring>sliderTransparency</cstring>
             </property>
            </widget>
           </item>
-          <item row="1" column="0" colspan="5" >
+          <item row="1" column="0" >
            <widget class="QCheckBox" name="cboxInvertColorMap" >
             <property name="text" >
              <string>Invert Color Map</string>
             </property>
            </widget>
           </item>
-          <item rowspan="5" row="0" column="5" >
+          <item rowspan="5" row="0" column="1" >
            <widget class="Q3TextEdit" name="txtSymologyNotes" >
             <property name="enabled" >
              <bool>true</bool>
             </property>
             <property name="sizePolicy" >
              <sizepolicy>
-              <hsizetype>7</hsizetype>
-              <vsizetype>1</vsizetype>
+              <hsizetype>0</hsizetype>
+              <vsizetype>7</vsizetype>
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
@@ -176,9 +175,113 @@
             </property>
            </widget>
           </item>
+          <item row="0" column="0" >
+           <layout class="QHBoxLayout" >
+            <property name="margin" >
+             <number>11</number>
+            </property>
+            <property name="spacing" >
+             <number>6</number>
+            </property>
+            <item>
+             <widget class="QRadioButton" name="rbtnThreeBand" >
+              <property name="text" >
+               <string>Color Image</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QRadioButton" name="rbtnSingleBand" >
+              <property name="text" >
+               <string>Grayscale Image</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
          </layout>
         </widget>
        </item>
+       <item row="1" column="1" >
+        <widget class="QGroupBox" name="grpBoxGrayscale" >
+         <property name="title" >
+          <string>Grayscale Image</string>
+         </property>
+         <layout class="QGridLayout" >
+          <property name="margin" >
+           <number>11</number>
+          </property>
+          <property name="spacing" >
+           <number>6</number>
+          </property>
+          <item row="3" column="1" >
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>20</width>
+              <height>21</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="3" column="0" >
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>20</width>
+              <height>21</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="2" column="1" >
+           <widget class="QComboBox" name="cboColorMap" />
+          </item>
+          <item row="2" column="0" >
+           <widget class="QLabel" name="textLabel2_6_2_2" >
+            <property name="text" >
+             <string>Color Map</string>
+            </property>
+            <property name="buddy" >
+             <cstring>cboColorMap</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" >
+           <widget class="QLabel" name="textLabel2_6_2" >
+            <property name="text" >
+             <string>Std Deviations</string>
+            </property>
+            <property name="buddy" >
+             <cstring>cboStdDev</cstring>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1" >
+           <widget class="QComboBox" name="cboStdDev" />
+          </item>
+          <item row="0" column="1" >
+           <widget class="QComboBox" name="cboGray" />
+          </item>
+          <item row="0" column="0" >
+           <widget class="QLabel" name="textLabel2_6" >
+            <property name="text" >
+             <string>Gray</string>
+            </property>
+            <property name="buddy" >
+             <cstring>cboGray</cstring>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
        <item row="1" column="0" >
         <widget class="QGroupBox" name="grpBoxRGB" >
          <property name="title" >
@@ -186,7 +289,7 @@
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
-           <number>9</number>
+           <number>11</number>
           </property>
           <property name="spacing" >
            <number>6</number>
@@ -283,86 +386,6 @@
          </layout>
         </widget>
        </item>
-       <item row="1" column="1" >
-        <widget class="QGroupBox" name="grpBoxGrayscale" >
-         <property name="title" >
-          <string>Grayscale Image</string>
-         </property>
-         <layout class="QGridLayout" >
-          <property name="margin" >
-           <number>9</number>
-          </property>
-          <property name="spacing" >
-           <number>6</number>
-          </property>
-          <item row="3" column="1" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>20</width>
-              <height>21</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="3" column="0" >
-           <spacer>
-            <property name="orientation" >
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" >
-             <size>
-              <width>20</width>
-              <height>21</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="2" column="1" >
-           <widget class="QComboBox" name="cboColorMap" />
-          </item>
-          <item row="2" column="0" >
-           <widget class="QLabel" name="textLabel2_6_2_2" >
-            <property name="text" >
-             <string>Color Map</string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboColorMap</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" >
-           <widget class="QLabel" name="textLabel2_6_2" >
-            <property name="text" >
-             <string>Std Deviations</string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboStdDev</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1" >
-           <widget class="QComboBox" name="cboStdDev" />
-          </item>
-          <item row="0" column="1" >
-           <widget class="QComboBox" name="cboGray" />
-          </item>
-          <item row="0" column="0" >
-           <widget class="QLabel" name="textLabel2_6" >
-            <property name="text" >
-             <string>Gray</string>
-            </property>
-            <property name="buddy" >
-             <cstring>cboGray</cstring>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tabPageGeneral" >
@@ -371,7 +394,7 @@
       </attribute>
       <layout class="QGridLayout" >
        <property name="margin" >
-        <number>9</number>
+        <number>11</number>
        </property>
        <property name="spacing" >
         <number>6</number>
@@ -379,7 +402,7 @@
        <item row="5" column="0" colspan="3" >
         <layout class="QHBoxLayout" >
          <property name="margin" >
-          <number>0</number>
+          <number>11</number>
          </property>
          <property name="spacing" >
           <number>6</number>
@@ -394,10 +417,10 @@
            </property>
            <layout class="QGridLayout" >
             <property name="margin" >
-             <number>0</number>
+             <number>11</number>
             </property>
             <property name="spacing" >
-             <number>0</number>
+             <number>6</number>
             </property>
             <item row="0" column="0" >
              <spacer>
@@ -444,10 +467,10 @@
            </property>
            <layout class="QGridLayout" >
             <property name="margin" >
-             <number>0</number>
+             <number>11</number>
             </property>
             <property name="spacing" >
-             <number>0</number>
+             <number>6</number>
             </property>
             <item row="0" column="0" >
              <spacer>
@@ -494,10 +517,10 @@
            </property>
            <layout class="QGridLayout" >
             <property name="margin" >
-             <number>0</number>
+             <number>11</number>
             </property>
             <property name="spacing" >
-             <number>0</number>
+             <number>6</number>
             </property>
             <item row="0" column="0" >
              <spacer>
@@ -569,7 +592,7 @@
        <item row="2" column="2" >
         <layout class="QHBoxLayout" >
          <property name="margin" >
-          <number>0</number>
+          <number>11</number>
          </property>
          <property name="spacing" >
           <number>6</number>
@@ -614,7 +637,7 @@
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
-           <number>9</number>
+           <number>11</number>
           </property>
           <property name="spacing" >
            <number>6</number>
@@ -675,7 +698,7 @@
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
-           <number>9</number>
+           <number>11</number>
           </property>
           <property name="spacing" >
            <number>6</number>
@@ -705,13 +728,17 @@
       </attribute>
       <layout class="QGridLayout" >
        <property name="margin" >
-        <number>9</number>
+        <number>11</number>
        </property>
        <property name="spacing" >
         <number>6</number>
        </property>
        <item row="0" column="0" >
-        <widget class="Q3TextBrowser" name="txtbMetadata" />
+        <widget class="QTextBrowser" name="txtbMetadata" >
+         <property name="autoFormatting" >
+          <set>QTextEdit::AutoAll</set>
+         </property>
+        </widget>
        </item>
       </layout>
      </widget>
@@ -719,123 +746,155 @@
       <attribute name="title" >
        <string>Pyramids</string>
       </attribute>
-      <layout class="QGridLayout" >
-       <property name="margin" >
-        <number>9</number>
+      <widget class="QWidget" name="layoutWidget" >
+       <property name="geometry" >
+        <rect>
+         <x>9</x>
+         <y>490</y>
+         <width>592</width>
+         <height>51</height>
+        </rect>
        </property>
-       <property name="spacing" >
-        <number>6</number>
+       <layout class="QHBoxLayout" >
+        <property name="margin" >
+         <number>11</number>
+        </property>
+        <property name="spacing" >
+         <number>6</number>
+        </property>
+        <item>
+         <spacer>
+          <property name="orientation" >
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType" >
+           <enum>QSizePolicy::Expanding</enum>
+          </property>
+          <property name="sizeHint" >
+           <size>
+            <width>156</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QLabel" name="textLabel4_2" >
+          <property name="text" >
+           <string>Resampling Method</string>
+          </property>
+          <property name="buddy" >
+           <cstring>cboResamplingMethod</cstring>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QComboBox" name="cboResamplingMethod" >
+          <item>
+           <property name="text" >
+            <string>Average</string>
+           </property>
+          </item>
+          <item>
+           <property name="text" >
+            <string>Nearest Neighbour</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="buttonBuildPyramids" >
+          <property name="text" >
+           <string>Build Pyramids</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="layoutWidget" >
+       <property name="geometry" >
+        <rect>
+         <x>481</x>
+         <y>9</y>
+         <width>144</width>
+         <height>471</height>
+        </rect>
        </property>
-       <item row="0" column="1" >
-        <widget class="QLabel" name="textLabel5" >
-         <property name="text" >
-          <string>Pyramid Resolutions</string>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="1" >
-        <widget class="Q3ListBox" name="lbxPyramidResolutions" >
-         <property name="sizePolicy" >
-          <sizepolicy>
-           <hsizetype>5</hsizetype>
-           <vsizetype>7</vsizetype>
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="maximumSize" >
-          <size>
-           <width>150</width>
-           <height>32767</height>
-          </size>
-         </property>
-         <property name="selectionMode" >
-          <enum>Q3ListBox::Multi</enum>
-         </property>
-        </widget>
-       </item>
-       <item rowspan="2" row="0" column="0" >
-        <widget class="Q3TextEdit" name="textEdit5" >
-         <property name="sizePolicy" >
-          <sizepolicy>
-           <hsizetype>7</hsizetype>
-           <vsizetype>7</vsizetype>
-           <horstretch>5</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text" >
-          <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style="font-size:9pt;font-family:Sans Serif">
-&lt;p style="margin-top:18px" dir="ltr">&lt;span style="font-size:15pt;font-weight:600">Description&lt;/span>&lt;/p>
+       <layout class="QVBoxLayout" >
+        <property name="margin" >
+         <number>11</number>
+        </property>
+        <property name="spacing" >
+         <number>6</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel5" >
+          <property name="sizePolicy" >
+           <sizepolicy>
+            <hsizetype>0</hsizetype>
+            <vsizetype>0</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text" >
+           <string>Pyramid Resolutions</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="Q3ListBox" name="lbxPyramidResolutions" >
+          <property name="sizePolicy" >
+           <sizepolicy>
+            <hsizetype>0</hsizetype>
+            <vsizetype>0</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="maximumSize" >
+           <size>
+            <width>150</width>
+            <height>32767</height>
+           </size>
+          </property>
+          <property name="selectionMode" >
+           <enum>Q3ListBox::Multi</enum>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+      <widget class="Q3TextEdit" name="textEdit5" >
+       <property name="geometry" >
+        <rect>
+         <x>9</x>
+         <y>9</y>
+         <width>466</width>
+         <height>475</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>0</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>5</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style="font-size:9pt;font-family:Sans Serif">
+&lt;p style="margin-top:18px" dir="ltr">&lt;span style="font-size:14pt;font-weight:600">Description&lt;/span>&lt;/p>
 &lt;p dir="ltr">Large resolution raster layers can slow navigation in QGIS. By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. You must have write access in the directory where the original data is stored to build pyramids. &lt;/p>
 &lt;p dir="ltr">&lt;span style="color:#ff0000">Please note that building pyramids may alter the original data file and once created they cannot be removed.&lt;/span>&lt;/p>
 &lt;p dir="ltr">&lt;span style="color:#ff0000">Please note that building pyramids could corrupt your image - always make a backup of your data first!&lt;/span>&lt;/p>
 &lt;/body>&lt;/html>
 </string>
-         </property>
-         <property name="wordWrap" >
-          <enum>Q3TextEdit::WidgetWidth</enum>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0" colspan="2" >
-        <layout class="QHBoxLayout" >
-         <property name="margin" >
-          <number>0</number>
-         </property>
-         <property name="spacing" >
-          <number>6</number>
-         </property>
-         <item>
-          <spacer>
-           <property name="orientation" >
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeType" >
-            <enum>QSizePolicy::Expanding</enum>
-           </property>
-           <property name="sizeHint" >
-            <size>
-             <width>156</width>
-             <height>20</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-         <item>
-          <widget class="QLabel" name="textLabel4_2" >
-           <property name="text" >
-            <string>Resampling Method</string>
-           </property>
-           <property name="buddy" >
-            <cstring>cboResamplingMethod</cstring>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QComboBox" name="cboResamplingMethod" >
-           <item>
-            <property name="text" >
-             <string>Average</string>
-            </property>
-           </item>
-           <item>
-            <property name="text" >
-             <string>Nearest Neighbour</string>
-            </property>
-           </item>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="buttonBuildPyramids" >
-           <property name="text" >
-            <string>Build Pyramids</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
+       </property>
+       <property name="wordWrap" >
+        <enum>Q3TextEdit::WidgetWidth</enum>
+       </property>
+      </widget>
      </widget>
      <widget class="QWidget" name="tabPageHistogram" >
       <attribute name="title" >
@@ -843,77 +902,36 @@
       </attribute>
       <layout class="QGridLayout" >
        <property name="margin" >
-        <number>9</number>
+        <number>11</number>
        </property>
        <property name="spacing" >
         <number>6</number>
        </property>
-       <item rowspan="2" row="2" column="0" >
-        <widget class="Q3ListBox" name="lstHistogramLabels" >
-         <property name="maximumSize" >
+       <item row="0" column="0" >
+        <widget class="QLabel" name="pixHistogram" >
+         <property name="sizePolicy" >
+          <sizepolicy>
+           <hsizetype>7</hsizetype>
+           <vsizetype>0</vsizetype>
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize" >
           <size>
-           <width>256</width>
-           <height>32767</height>
+           <width>200</width>
+           <height>200</height>
           </size>
          </property>
-         <property name="selectionMode" >
-          <enum>Q3ListBox::Multi</enum>
+         <property name="frameShape" >
+          <enum>QFrame::Box</enum>
          </property>
-        </widget>
-       </item>
-       <item rowspan="2" row="1" column="1" >
-        <widget class="QGroupBox" name="groupBox" >
-         <property name="title" >
-          <string>Options</string>
+         <property name="scaledContents" >
+          <bool>true</bool>
          </property>
-         <layout class="QGridLayout" >
-          <property name="margin" >
-           <number>9</number>
-          </property>
-          <property name="spacing" >
-           <number>6</number>
-          </property>
-          <item row="0" column="0" >
-           <widget class="QLabel" name="textLabel1_2" >
-            <property name="text" >
-             <string>Column Count:</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" colspan="2" >
-           <widget class="QCheckBox" name="chkHistIgnoreOutOfRange" >
-            <property name="text" >
-             <string>Out Of Range OK?</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0" colspan="2" >
-           <widget class="QCheckBox" name="chkHistAllowApproximation" >
-            <property name="text" >
-             <string>Allow Approximation</string>
-            </property>
-            <property name="checked" >
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1" >
-           <widget class="QSpinBox" name="spinHistBinCount" >
-            <property name="maximum" >
-             <number>1024</number>
-            </property>
-            <property name="minimum" >
-             <number>8</number>
-            </property>
-            <property name="singleStep" >
-             <number>8</number>
-            </property>
-            <property name="value" >
-             <number>64</number>
-            </property>
-           </widget>
-          </item>
-         </layout>
+         <property name="margin" >
+          <number>0</number>
+         </property>
         </widget>
        </item>
        <item row="1" column="0" >
@@ -923,7 +941,7 @@
          </property>
          <layout class="QGridLayout" >
           <property name="margin" >
-           <number>9</number>
+           <number>11</number>
           </property>
           <property name="spacing" >
            <number>6</number>
@@ -948,130 +966,104 @@
          </layout>
         </widget>
        </item>
-       <item row="3" column="1" >
-        <widget class="QPushButton" name="pbnHistRefresh" >
-         <property name="text" >
-          <string>Refresh</string>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="0" colspan="2" >
-        <widget class="QLabel" name="pixHistogram" >
-         <property name="sizePolicy" >
-          <sizepolicy>
-           <hsizetype>7</hsizetype>
-           <vsizetype>5</vsizetype>
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize" >
-          <size>
-           <width>200</width>
-           <height>200</height>
-          </size>
-         </property>
-         <property name="frameShape" >
-          <enum>QFrame::Box</enum>
-         </property>
-         <property name="scaledContents" >
-          <bool>true</bool>
-         </property>
+       <item row="2" column="0" >
+        <layout class="QGridLayout" >
          <property name="margin" >
-          <number>0</number>
+          <number>11</number>
          </property>
-        </widget>
+         <property name="spacing" >
+          <number>6</number>
+         </property>
+         <item rowspan="2" row="0" column="0" >
+          <widget class="Q3ListBox" name="lstHistogramLabels" >
+           <property name="maximumSize" >
+            <size>
+             <width>32767</width>
+             <height>32767</height>
+            </size>
+           </property>
+           <property name="selectionMode" >
+            <enum>Q3ListBox::Multi</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1" >
+          <widget class="QGroupBox" name="groupBox" >
+           <property name="title" >
+            <string>Options</string>
+           </property>
+           <layout class="QGridLayout" >
+            <property name="margin" >
+             <number>11</number>
+            </property>
+            <property name="spacing" >
+             <number>6</number>
+            </property>
+            <item row="0" column="0" >
+             <widget class="QLabel" name="textLabel1_2" >
+              <property name="text" >
+               <string>Column Count:</string>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0" colspan="2" >
+             <widget class="QCheckBox" name="chkHistIgnoreOutOfRange" >
+              <property name="text" >
+               <string>Out Of Range OK?</string>
+              </property>
+             </widget>
+            </item>
+            <item row="2" column="0" colspan="2" >
+             <widget class="QCheckBox" name="chkHistAllowApproximation" >
+              <property name="text" >
+               <string>Allow Approximation</string>
+              </property>
+              <property name="checked" >
+               <bool>true</bool>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1" >
+             <widget class="QSpinBox" name="spinHistBinCount" >
+              <property name="maximum" >
+               <number>1024</number>
+              </property>
+              <property name="minimum" >
+               <number>8</number>
+              </property>
+              <property name="singleStep" >
+               <number>8</number>
+              </property>
+              <property name="value" >
+               <number>64</number>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item row="1" column="1" >
+          <widget class="QPushButton" name="pbnHistRefresh" >
+           <property name="text" >
+            <string>Refresh</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
    <item row="1" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="spacing" >
-      <number>6</number>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <item>
-      <widget class="QPushButton" name="buttonHelp" >
-       <property name="enabled" >
-        <bool>true</bool>
-       </property>
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>280</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonApply" >
-       <property name="text" >
-        <string>&amp;Apply</string>
-       </property>
-       <property name="shortcut" >
-        <string>Alt+A</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    </widget>
    </item>
   </layout>
  </widget>
@@ -1083,20 +1075,15 @@
    <header>q3textedit.h</header>
   </customwidget>
   <customwidget>
-   <class>Q3ListBox</class>
-   <extends>Q3Frame</extends>
-   <header>q3listbox.h</header>
-  </customwidget>
-  <customwidget>
    <class>Q3GroupBox</class>
    <extends>QGroupBox</extends>
    <header>Qt3Support/Q3GroupBox</header>
    <container>1</container>
   </customwidget>
   <customwidget>
-   <class>Q3TextBrowser</class>
-   <extends>Q3TextEdit</extends>
-   <header>Qt3Support/Q3TextBrowser</header>
+   <class>Q3ListBox</class>
+   <extends>Q3Frame</extends>
+   <header>q3listbox.h</header>
   </customwidget>
  </customwidgets>
  <tabstops>
@@ -1111,10 +1098,6 @@
   <tabstop>cboGray</tabstop>
   <tabstop>cboStdDev</tabstop>
   <tabstop>cboColorMap</tabstop>
-  <tabstop>buttonHelp</tabstop>
-  <tabstop>buttonApply</tabstop>
-  <tabstop>buttonOk</tabstop>
-  <tabstop>buttonCancel</tabstop>
   <tabstop>leDisplayName</tabstop>
   <tabstop>leLayerSource</tabstop>
   <tabstop>cboxShowDebugInfo</tabstop>

Modified: packages/qgis/branches/upstream/current/src/ui/qgssinglesymboldialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgssinglesymboldialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgssinglesymboldialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -6,7 +6,7 @@
     <x>0</x>
     <y>0</y>
     <width>413</width>
-    <height>486</height>
+    <height>497</height>
    </rect>
   </property>
   <property name="sizePolicy" >
@@ -27,24 +27,76 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="4" column="0" >
-    <widget class="QGroupBox" name="grpPattern" >
+   <item row="0" column="0" >
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="mLabel" >
+       <property name="minimumSize" >
+        <size>
+         <width>0</width>
+         <height>22</height>
+        </size>
+       </property>
+       <property name="text" >
+        <string>Label:</string>
+       </property>
+       <property name="buddy" >
+        <cstring>mLabelEdit</cstring>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="mLabelEdit" >
+       <property name="minimumSize" >
+        <size>
+         <width>0</width>
+         <height>22</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="1" column="0" >
+    <widget class="QGroupBox" name="mGroupPoint" >
      <property name="title" >
-      <string>Fill Patterns:</string>
+      <string>Point</string>
      </property>
      <layout class="QGridLayout" >
       <property name="margin" >
-       <number>4</number>
+       <number>9</number>
       </property>
       <property name="spacing" >
-       <number>4</number>
+       <number>6</number>
       </property>
-      <item row="0" column="4" >
-       <widget class="QToolButton" name="bdiag" >
+      <item row="0" column="2" >
+       <spacer>
+        <property name="orientation" >
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeType" >
+         <enum>QSizePolicy::Expanding</enum>
+        </property>
+        <property name="sizeHint" >
+         <size>
+          <width>78</width>
+          <height>35</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="0" column="1" >
+       <widget class="QComboBox" name="mPointSymbolComboBox" >
         <property name="sizePolicy" >
          <sizepolicy>
-          <hsizetype>1</hsizetype>
-          <vsizetype>1</vsizetype>
+          <hsizetype>7</hsizetype>
+          <vsizetype>7</vsizetype>
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
@@ -57,6 +109,75 @@
         </property>
         <property name="maximumSize" >
          <size>
+          <width>32767</width>
+          <height>40</height>
+         </size>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="3" >
+       <widget class="QLabel" name="textLabel1_2" >
+        <property name="text" >
+         <string>Size</string>
+        </property>
+        <property name="buddy" >
+         <cstring>mPointSizeSpinBox</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="4" >
+       <widget class="QSpinBox" name="mPointSizeSpinBox" >
+        <property name="maximum" >
+         <number>1000</number>
+        </property>
+        <property name="minimum" >
+         <number>3</number>
+        </property>
+        <property name="singleStep" >
+         <number>1</number>
+        </property>
+        <property name="value" >
+         <number>3</number>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0" >
+       <widget class="QLabel" name="textLabel1" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>1</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text" >
+         <string>Symbol</string>
+        </property>
+        <property name="buddy" >
+         <cstring>mPointSymbolComboBox</cstring>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item row="4" column="0" >
+    <widget class="QGroupBox" name="grpPattern" >
+     <property name="title" >
+      <string>Fill Patterns:</string>
+     </property>
+     <layout class="QGridLayout" >
+      <property name="margin" >
+       <number>4</number>
+      </property>
+      <property name="spacing" >
+       <number>4</number>
+      </property>
+      <item row="1" column="1" >
+       <widget class="QToolButton" name="dense5" >
+        <property name="maximumSize" >
+         <size>
           <width>60</width>
           <height>30</height>
          </size>
@@ -78,22 +199,8 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="4" >
-       <widget class="QToolButton" name="dense3" >
-        <property name="sizePolicy" >
-         <sizepolicy>
-          <hsizetype>5</hsizetype>
-          <vsizetype>5</vsizetype>
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize" >
-         <size>
-          <width>0</width>
-          <height>0</height>
-         </size>
-        </property>
+      <item row="0" column="2" >
+       <widget class="QToolButton" name="dense4" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -117,8 +224,8 @@
         </property>
        </widget>
       </item>
-      <item row="0" column="3" >
-       <widget class="QToolButton" name="horizontal" >
+      <item row="0" column="0" >
+       <widget class="QToolButton" name="solid" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -142,31 +249,14 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="4" >
-       <widget class="QToolButton" name="nopen" >
-        <property name="sizePolicy" >
-         <sizepolicy>
-          <hsizetype>5</hsizetype>
-          <vsizetype>5</vsizetype>
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize" >
-         <size>
-          <width>0</width>
-          <height>0</height>
-         </size>
-        </property>
+      <item row="0" column="1" >
+       <widget class="QToolButton" name="fdiag" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
           <height>30</height>
          </size>
         </property>
-        <property name="toolTip" >
-         <string>No Fill</string>
-        </property>
         <property name="text" >
          <string/>
         </property>
@@ -184,8 +274,8 @@
         </property>
        </widget>
       </item>
-      <item row="0" column="0" >
-       <widget class="QToolButton" name="solid" >
+      <item row="0" column="3" >
+       <widget class="QToolButton" name="horizontal" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -234,16 +324,22 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="0" >
-       <widget class="QToolButton" name="dense6" >
+      <item row="0" column="4" >
+       <widget class="QToolButton" name="bdiag" >
         <property name="sizePolicy" >
          <sizepolicy>
-          <hsizetype>5</hsizetype>
-          <vsizetype>5</vsizetype>
+          <hsizetype>1</hsizetype>
+          <vsizetype>1</vsizetype>
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
+        <property name="minimumSize" >
+         <size>
+          <width>0</width>
+          <height>0</height>
+         </size>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -267,8 +363,16 @@
         </property>
        </widget>
       </item>
-      <item row="0" column="1" >
-       <widget class="QToolButton" name="fdiag" >
+      <item row="2" column="1" >
+       <widget class="QToolButton" name="cross" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>5</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -292,8 +396,8 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="1" >
-       <widget class="QToolButton" name="dense5" >
+      <item row="1" column="2" >
+       <widget class="QToolButton" name="vertical" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -317,16 +421,8 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="1" >
-       <widget class="QToolButton" name="cross" >
-        <property name="sizePolicy" >
-         <sizepolicy>
-          <hsizetype>5</hsizetype>
-          <vsizetype>5</vsizetype>
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
+      <item row="1" column="3" >
+       <widget class="QToolButton" name="dense1" >
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -350,8 +446,22 @@
         </property>
        </widget>
       </item>
-      <item row="0" column="2" >
-       <widget class="QToolButton" name="dense4" >
+      <item row="1" column="4" >
+       <widget class="QToolButton" name="dense3" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>5</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize" >
+         <size>
+          <width>0</width>
+          <height>0</height>
+         </size>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -375,8 +485,16 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="2" >
-       <widget class="QToolButton" name="vertical" >
+      <item row="2" column="2" >
+       <widget class="QToolButton" name="dense2" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>5</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -400,8 +518,8 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="2" >
-       <widget class="QToolButton" name="dense2" >
+      <item row="2" column="4" >
+       <widget class="QToolButton" name="nopen" >
         <property name="sizePolicy" >
          <sizepolicy>
           <hsizetype>5</hsizetype>
@@ -410,12 +528,21 @@
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
+        <property name="minimumSize" >
+         <size>
+          <width>0</width>
+          <height>0</height>
+         </size>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
           <height>30</height>
          </size>
         </property>
+        <property name="toolTip" >
+         <string>No Fill</string>
+        </property>
         <property name="text" >
          <string/>
         </property>
@@ -433,8 +560,16 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="3" >
-       <widget class="QToolButton" name="dense1" >
+      <item row="2" column="0" >
+       <widget class="QToolButton" name="dense6" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>5</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
         <property name="maximumSize" >
          <size>
           <width>60</width>
@@ -491,146 +626,55 @@
         </property>
        </widget>
       </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="3" column="0" >
-    <widget class="QGroupBox" name="groupBox_3" >
-     <property name="title" >
-      <string/>
-     </property>
-     <layout class="QGridLayout" >
-      <property name="margin" >
-       <number>8</number>
-      </property>
-      <property name="spacing" >
-       <number>6</number>
-      </property>
-      <item row="1" column="2" >
-       <spacer>
-        <property name="orientation" >
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType" >
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" >
+      <item row="3" column="1" colspan="3" >
+       <widget class="QLineEdit" name="textureFilePath" />
+      </item>
+      <item row="3" column="4" >
+       <widget class="QPushButton" name="textureSelect" >
+        <property name="maximumSize" >
          <size>
-          <width>201</width>
-          <height>16</height>
+          <width>60</width>
+          <height>30</height>
          </size>
         </property>
-       </spacer>
+        <property name="text" >
+         <string>Browse:</string>
+        </property>
+       </widget>
       </item>
-      <item row="1" column="3" >
-       <widget class="QSpinBox" name="outlinewidthspinbox" >
+      <item row="3" column="0" >
+       <widget class="QToolButton" name="texture" >
         <property name="sizePolicy" >
          <sizepolicy>
-          <hsizetype>4</hsizetype>
-          <vsizetype>0</vsizetype>
+          <hsizetype>5</hsizetype>
+          <vsizetype>5</vsizetype>
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="maximumSize" >
          <size>
-          <width>100</width>
-          <height>32767</height>
+          <width>60</width>
+          <height>30</height>
          </size>
         </property>
-        <property name="minimum" >
-         <number>0</number>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0" colspan="2" >
-       <widget class="QLabel" name="outlinewidthlabel" >
         <property name="text" >
-         <string>Outline Width:</string>
-        </property>
-        <property name="buddy" >
-         <cstring>outlinewidthspinbox</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="3" >
-       <widget class="QgsColorButton" name="btnOutlineColor" >
-        <property name="minimumSize" >
-         <size>
-          <width>100</width>
-          <height>0</height>
-         </size>
-        </property>
-        <property name="text" >
          <string/>
         </property>
-       </widget>
-      </item>
-      <item row="2" column="3" >
-       <widget class="QgsColorButton" name="btnFillColor" >
-        <property name="minimumSize" >
+        <property name="iconSize" >
          <size>
-          <width>100</width>
-          <height>0</height>
+          <width>50</width>
+          <height>20</height>
          </size>
         </property>
-        <property name="text" >
-         <string/>
+        <property name="checkable" >
+         <bool>true</bool>
         </property>
-       </widget>
-      </item>
-      <item row="2" column="1" colspan="2" >
-       <spacer>
-        <property name="orientation" >
-         <enum>Qt::Horizontal</enum>
+        <property name="autoExclusive" >
+         <bool>true</bool>
         </property>
-        <property name="sizeType" >
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" >
-         <size>
-          <width>138</width>
-          <height>16</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="2" column="0" >
-       <widget class="QLabel" name="fillcolorlabel" >
-        <property name="text" >
-         <string>Fill Color:</string>
-        </property>
-        <property name="buddy" >
-         <cstring>btnFillColor</cstring>
-        </property>
        </widget>
       </item>
-      <item row="0" column="0" colspan="2" >
-       <widget class="QLabel" name="outlinecolorlabel" >
-        <property name="text" >
-         <string>Outline color:</string>
-        </property>
-        <property name="buddy" >
-         <cstring>btnOutlineColor</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="2" >
-       <spacer>
-        <property name="orientation" >
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType" >
-         <enum>QSizePolicy::Expanding</enum>
-        </property>
-        <property name="sizeHint" >
-         <size>
-          <width>116</width>
-          <height>16</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
      </layout>
     </widget>
    </item>
@@ -799,19 +843,19 @@
      </layout>
     </widget>
    </item>
-   <item row="1" column="0" >
-    <widget class="QGroupBox" name="mGroupPoint" >
+   <item row="3" column="0" >
+    <widget class="QGroupBox" name="groupBox_3" >
      <property name="title" >
-      <string>Point</string>
+      <string/>
      </property>
      <layout class="QGridLayout" >
       <property name="margin" >
-       <number>9</number>
+       <number>8</number>
       </property>
       <property name="spacing" >
        <number>6</number>
       </property>
-      <item row="0" column="2" >
+      <item row="1" column="2" >
        <spacer>
         <property name="orientation" >
          <enum>Qt::Horizontal</enum>
@@ -821,119 +865,124 @@
         </property>
         <property name="sizeHint" >
          <size>
-          <width>78</width>
-          <height>35</height>
+          <width>201</width>
+          <height>16</height>
          </size>
         </property>
        </spacer>
       </item>
-      <item row="0" column="1" >
-       <widget class="QComboBox" name="mPointSymbolComboBox" >
+      <item row="1" column="3" >
+       <widget class="QSpinBox" name="outlinewidthspinbox" >
         <property name="sizePolicy" >
          <sizepolicy>
-          <hsizetype>7</hsizetype>
-          <vsizetype>7</vsizetype>
+          <hsizetype>4</hsizetype>
+          <vsizetype>0</vsizetype>
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
-        <property name="minimumSize" >
-         <size>
-          <width>0</width>
-          <height>0</height>
-         </size>
-        </property>
         <property name="maximumSize" >
          <size>
-          <width>32767</width>
-          <height>40</height>
+          <width>100</width>
+          <height>32767</height>
          </size>
         </property>
+        <property name="minimum" >
+         <number>0</number>
+        </property>
        </widget>
       </item>
-      <item row="0" column="3" >
-       <widget class="QLabel" name="textLabel1_2" >
+      <item row="1" column="0" colspan="2" >
+       <widget class="QLabel" name="outlinewidthlabel" >
         <property name="text" >
-         <string>Size</string>
+         <string>Outline Width:</string>
         </property>
         <property name="buddy" >
-         <cstring>mPointSizeSpinBox</cstring>
+         <cstring>outlinewidthspinbox</cstring>
         </property>
        </widget>
       </item>
-      <item row="0" column="4" >
-       <widget class="QSpinBox" name="mPointSizeSpinBox" >
-        <property name="maximum" >
-         <number>1000</number>
+      <item row="0" column="3" >
+       <widget class="QgsColorButton" name="btnOutlineColor" >
+        <property name="minimumSize" >
+         <size>
+          <width>100</width>
+          <height>0</height>
+         </size>
         </property>
-        <property name="minimum" >
-         <number>3</number>
+        <property name="text" >
+         <string/>
         </property>
-        <property name="singleStep" >
-         <number>1</number>
+       </widget>
+      </item>
+      <item row="2" column="3" >
+       <widget class="QgsColorButton" name="btnFillColor" >
+        <property name="minimumSize" >
+         <size>
+          <width>100</width>
+          <height>0</height>
+         </size>
         </property>
-        <property name="value" >
-         <number>3</number>
+        <property name="text" >
+         <string/>
         </property>
        </widget>
       </item>
-      <item row="0" column="0" >
-       <widget class="QLabel" name="textLabel1" >
-        <property name="sizePolicy" >
-         <sizepolicy>
-          <hsizetype>5</hsizetype>
-          <vsizetype>1</vsizetype>
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
+      <item row="2" column="1" colspan="2" >
+       <spacer>
+        <property name="orientation" >
+         <enum>Qt::Horizontal</enum>
         </property>
+        <property name="sizeType" >
+         <enum>QSizePolicy::Expanding</enum>
+        </property>
+        <property name="sizeHint" >
+         <size>
+          <width>138</width>
+          <height>16</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="2" column="0" >
+       <widget class="QLabel" name="fillcolorlabel" >
         <property name="text" >
-         <string>Symbol</string>
+         <string>Fill Color:</string>
         </property>
         <property name="buddy" >
-         <cstring>mPointSymbolComboBox</cstring>
+         <cstring>btnFillColor</cstring>
         </property>
        </widget>
       </item>
+      <item row="0" column="0" colspan="2" >
+       <widget class="QLabel" name="outlinecolorlabel" >
+        <property name="text" >
+         <string>Outline color:</string>
+        </property>
+        <property name="buddy" >
+         <cstring>btnOutlineColor</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2" >
+       <spacer>
+        <property name="orientation" >
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeType" >
+         <enum>QSizePolicy::Expanding</enum>
+        </property>
+        <property name="sizeHint" >
+         <size>
+          <width>116</width>
+          <height>16</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
      </layout>
     </widget>
    </item>
-   <item row="0" column="0" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="mLabel" >
-       <property name="minimumSize" >
-        <size>
-         <width>0</width>
-         <height>22</height>
-        </size>
-       </property>
-       <property name="text" >
-        <string>Label:</string>
-       </property>
-       <property name="buddy" >
-        <cstring>mLabelEdit</cstring>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="mLabelEdit" >
-       <property name="minimumSize" >
-        <size>
-         <width>0</width>
-         <height>22</height>
-        </size>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />

Modified: packages/qgis/branches/upstream/current/src/ui/qgsuniquevaluedialogbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsuniquevaluedialogbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsuniquevaluedialogbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +1,12 @@
 <ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsUniqueValueDialogBase</class>
  <widget class="QDialog" name="QgsUniqueValueDialogBase" >
   <property name="geometry" >
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>500</width>
-    <height>279</height>
+    <width>505</width>
+    <height>300</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -17,29 +14,41 @@
   </property>
   <layout class="QGridLayout" >
    <property name="margin" >
-    <number>8</number>
+    <number>9</number>
    </property>
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="1" column="2" colspan="2" >
-    <widget class="Q3ListBox" name="mClassBreakBox" />
-   </item>
    <item row="1" column="0" colspan="2" >
-    <widget class="Q3WidgetStack" name="mSymbolWidgetStack" >
-     <widget class="QWidget" name="WStackPage" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>156</width>
-        <height>234</height>
-       </rect>
-      </property>
-     </widget>
+    <widget class="QStackedWidget" name="mSymbolWidgetStack" >
+     <widget class="QWidget" name="page" />
+     <widget class="QWidget" name="page_2" />
     </widget>
    </item>
-   <item row="0" column="3" >
+   <item row="0" column="0" >
+    <widget class="QLabel" name="mClassVarLabel" >
+     <property name="minimumSize" >
+      <size>
+       <width>0</width>
+       <height>20</height>
+      </size>
+     </property>
+     <property name="text" >
+      <string>Classification Field:</string>
+     </property>
+     <property name="buddy" >
+      <cstring>mClassificationComboBox</cstring>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="4" >
+    <widget class="QPushButton" name="mDeletePushButton" >
+     <property name="text" >
+      <string>Delete class</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="5" >
     <spacer>
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
@@ -49,8 +58,8 @@
      </property>
      <property name="sizeHint" >
       <size>
-       <width>210</width>
-       <height>21</height>
+       <width>51</width>
+       <height>25</height>
       </size>
      </property>
     </spacer>
@@ -65,42 +74,20 @@
      </property>
     </widget>
    </item>
-   <item row="0" column="0" >
-    <widget class="QLabel" name="mClassVarLabel" >
-     <property name="minimumSize" >
-      <size>
-       <width>0</width>
-       <height>20</height>
-      </size>
-     </property>
+   <item row="0" column="3" >
+    <widget class="QPushButton" name="mClassifyButton" >
      <property name="text" >
-      <string>Classification Field:</string>
+      <string>Classify</string>
      </property>
-     <property name="buddy" >
-      <cstring>mClassificationComboBox</cstring>
-     </property>
     </widget>
    </item>
+   <item row="1" column="2" colspan="4" >
+    <widget class="QListWidget" name="mClassListWidget" />
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <customwidgets>
-  <customwidget>
-   <class>Q3WidgetStack</class>
-   <extends></extends>
-   <header>q3widgetstack.h</header>
-   <container>1</container>
-   <pixmap></pixmap>
-  </customwidget>
-  <customwidget>
-   <class>Q3ListBox</class>
-   <extends></extends>
-   <header>q3listbox.h</header>
-   <container>0</container>
-   <pixmap></pixmap>
-  </customwidget>
- </customwidgets>
  <resources/>
  <connections/>
 </ui>

Modified: packages/qgis/branches/upstream/current/src/ui/qgsvectorlayerpropertiesbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/qgsvectorlayerpropertiesbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/qgsvectorlayerpropertiesbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -5,7 +5,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>400</width>
+    <width>469</width>
     <height>600</height>
    </rect>
   </property>
@@ -31,55 +31,18 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="1" column="1" >
-    <spacer>
+   <item row="1" column="0" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
      </property>
-     <property name="sizeType" >
-      <enum>QSizePolicy::Expanding</enum>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
      </property>
-     <property name="sizeHint" >
-      <size>
-       <width>270</width>
-       <height>29</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="2" >
-    <widget class="QPushButton" name="pbnApply" >
-     <property name="text" >
-      <string>Apply</string>
-     </property>
     </widget>
    </item>
-   <item row="1" column="3" >
-    <widget class="QPushButton" name="pbnOK" >
-     <property name="text" >
-      <string>OK</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="4" >
-    <widget class="QPushButton" name="pbnCancel" >
-     <property name="text" >
-      <string>Cancel</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0" >
-    <widget class="QPushButton" name="btnHelp" >
-     <property name="enabled" >
-      <bool>true</bool>
-     </property>
-     <property name="text" >
-      <string>Help</string>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="0" colspan="5" >
-    <widget class="QTabWidget" name="tabWidget2" >
+   <item row="0" column="0" >
+    <widget class="QTabWidget" name="tabWidget" >
      <property name="tabShape" >
       <enum>QTabWidget::Rounded</enum>
      </property>
@@ -475,7 +438,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="TabPage" >
+     <widget class="QWidget" name="tab5" >
       <attribute name="title" >
        <string>Actions</string>
       </attribute>
@@ -512,13 +475,9 @@
  </widget>
  <layoutdefault spacing="6" margin="11" />
  <tabstops>
-  <tabstop>tabWidget2</tabstop>
+  <tabstop>tabWidget</tabstop>
   <tabstop>legendtypecombobox</tabstop>
   <tabstop>sliderTransparency</tabstop>
-  <tabstop>btnHelp</tabstop>
-  <tabstop>pbnApply</tabstop>
-  <tabstop>pbnOK</tabstop>
-  <tabstop>pbnCancel</tabstop>
   <tabstop>txtDisplayName</tabstop>
   <tabstop>displayFieldComboBox</tabstop>
   <tabstop>spinMinimumScale</tabstop>

Deleted: packages/qgis/branches/upstream/current/src/ui/ui.pro
===================================================================
--- packages/qgis/branches/upstream/current/src/ui/ui.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/src/ui/ui.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,83 +0,0 @@
-#################################################################
-#
-#         QMAKE Project File for Quantum GIS 
-# 
-#                   Tim Sutton 2006
-#
-# NOTE: Do not place any hard coded external paths in this file
-#       all libs and includes should be specified in settings.pro
-#       in the top level qgis directory.
-# 
-#################################################################
-
-#
-# Do not build this file directly - include it in other pros that 
-# have subclasses of forms! Qt will not compile any UIs into the 
-# lib or app if they are not being used.
-#
-
-FORMS =	\
-		../widgets/projectionselector/qgsprojectionselectorbase.ui \
-		$${WORKDIR}/src/ui/qgisappbase.ui				\
-		$${WORKDIR}/src/ui/qgsabout.ui				\
-		$${WORKDIR}/src/ui/qgsaddattrdialogbase.ui	        \
-		$${WORKDIR}/src/ui/qgsaddattrdialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgsattributeactiondialogbase.ui	\
-		$${WORKDIR}/src/ui/qgsattributedialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsattributetablebase.ui		\
-		### $${WORKDIR}/src/ui/qgsattributetabledisplaybase.ui 	\
-		$${WORKDIR}/src/ui/qgsbookmarksbase.ui			\
-		$${WORKDIR}/src/ui/qgscomposerbase.ui 			\
-		$${WORKDIR}/src/ui/qgscomposerlabelbase.ui 		\
-		$${WORKDIR}/src/ui/qgscomposermapbase.ui 		\
-		$${WORKDIR}/src/ui/qgscomposerpicturebase.ui 		\
-		$${WORKDIR}/src/ui/qgscomposerscalebarbase.ui 		\
-		$${WORKDIR}/src/ui/qgscomposervectorlegendbase.ui 	\
-		$${WORKDIR}/src/ui/qgscompositionbase.ui 		\
-		$${WORKDIR}/src/ui/qgscontinuouscolordialogbase.ui	\
-		$${WORKDIR}/src/ui/qgscontinuouscolordialogbase.ui 	\
-		$${WORKDIR}/src/ui/qgscustomprojectiondialogbase.ui 	\
-		$${WORKDIR}/src/ui/qgsdbsourceselectbase.ui		\
-		$${WORKDIR}/src/ui/qgsdelattrdialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsdelattrdialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgsfillstylewidgetbase.ui 		\
-		$${WORKDIR}/src/ui/qgsgeomtypedialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsgeomtypedialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgsgraduatedsymboldialogbase.ui	\
-		$${WORKDIR}/src/ui/qgsgraduatedsymboldialogbase.ui 	\
-		$${WORKDIR}/src/ui/qgshelpviewerbase.ui			\
-		$${WORKDIR}/src/ui/qgsidentifyresultsbase.ui		\
-		$${WORKDIR}/src/ui/qgsidentifyresultsbase.ui 		\
-		$${WORKDIR}/src/ui/qgslabeldialogbase.ui		\
-		$${WORKDIR}/src/ui/qgslabeldialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgslayerprojectionselectorbase.ui 	\
-		$${WORKDIR}/src/ui/qgslinestyledialogbase.ui		\
-		$${WORKDIR}/src/ui/qgslinestyledialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgslinestylewidgetbase.ui 		\
-		$${WORKDIR}/src/ui/qgsludialogbase.ui			\
-		$${WORKDIR}/src/ui/qgsludialogbase.ui 			\
-		$${WORKDIR}/src/ui/qgsmarkerdialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsmarkerdialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgsmeasurebase.ui			\
-		$${WORKDIR}/src/ui/qgsmeasurebase.ui 			\
-		$${WORKDIR}/src/ui/qgsmessageviewer.ui			\
-		$${WORKDIR}/src/ui/qgsnewconnectionbase.ui 		\
-		$${WORKDIR}/src/ui/qgsnewhttpconnectionbase.ui		\
-		$${WORKDIR}/src/ui/qgsnewhttpconnectionbase.ui 		\
-		$${WORKDIR}/src/ui/qgsoptionsbase.ui			\
-		$${WORKDIR}/src/ui/qgspastetransformationsbase.ui	\
-		$${WORKDIR}/src/ui/qgspastetransformationsbase.ui 	\
-		$${WORKDIR}/src/ui/qgspatterndialogbase.ui		\
-		$${WORKDIR}/src/ui/qgspatterndialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgspgquerybuilderbase.ui 		\
-		$${WORKDIR}/src/ui/qgspluginmanagerbase.ui		\
-		$${WORKDIR}/src/ui/qgspointstylewidgetbase.ui 		\
-		$${WORKDIR}/src/ui/qgsprojectpropertiesbase.ui		\
-		$${WORKDIR}/src/ui/qgsrasterlayerpropertiesbase.ui	\
-		$${WORKDIR}/src/ui/qgsserversourceselectbase.ui		\
-		$${WORKDIR}/src/ui/qgssinglesymboldialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsuniquevaluedialogbase.ui		\
-		$${WORKDIR}/src/ui/qgsuniquevaluedialogbase.ui 		\
-		$${WORKDIR}/src/ui/qgsvectorlayerpropertiesbase.ui		
-
-

Deleted: packages/qgis/branches/upstream/current/svnscript.cmake.in_cmake
===================================================================
--- packages/qgis/branches/upstream/current/svnscript.cmake.in_cmake	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/svnscript.cmake.in_cmake	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-# Magnus Homann svn hack
-# Required?
-SET(CMAKE_BACKWARDS_COMPATIBILITY "2.4")
-
-# See if we have svn installed
-FIND_PROGRAM(SVNVERSION svnversion)
-
-# Read the version if installed, else set to "unknown"
-IF (SVNVERSION)
-        EXEC_PROGRAM(${SVNVERSION} ARGS @CMAKE_CURRENT_SOURCE_DIR@ OUTPUT_VARIABLE MYVERSION)
-ELSE (SVNVERSION)
-        SET(MYVERSION unknown)
-ENDIF (SVNVERSION)
-
-# Configure the qgssvnversion.h
-CONFIGURE_FILE(@CMAKE_CURRENT_SOURCE_DIR@/qgssvnversion.h.in_cmake
-               @CMAKE_CURRENT_BINARY_DIR@/qgssvnversion.h)
\ No newline at end of file

Added: packages/qgis/branches/upstream/current/tests/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/tests/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+IF (ENABLE_TESTS)
+  SUBDIRS(src)
+ENDIF (ENABLE_TESTS)

Deleted: packages/qgis/branches/upstream/current/tests/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tests/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,12 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SUBDIRS = src
-

Added: packages/qgis/branches/upstream/current/tests/algorithms/projections/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/projections/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/algorithms/projections/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+

Modified: packages/qgis/branches/upstream/current/tests/algorithms/projections/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/projections/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/projections/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     main.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:20:40 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 #include <cppunit/ui/text/TestRunner.h>
 #include "projectioncshandlingtest.h"

Modified: packages/qgis/branches/upstream/current/tests/algorithms/projections/projectioncshandlingtest.h
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/projections/projectioncshandlingtest.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/projections/projectioncshandlingtest.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     projectioncshandlingtest.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:20:35 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 #include <fstream>
 #include <cppunit/TestCase.h>

Deleted: packages/qgis/branches/upstream/current/tests/algorithms/projections/projections.pro
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/projections/projections.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/projections/projections.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,19 +0,0 @@
-######################################################################
-# Automatically generated by qmake (1.07a) Fri Jan 14 13:01:49 2005
-######################################################################
-
-TEMPLATE = app
-TARGET = testproj
-# get gdal inludes
-GDAL_INC = $$system(gdal-config --cflags)
-INCLUDEPATH += . $$GDAL_INC
-
-CONFIG += debug
-# get gdal info
-GDAL_LIBS = $$system(gdal-config --libs)
-GDAL_DEPS = $$system(gdal-config --dep-libs)
-PG_LIBS = $$system(pg_config --libdir)
-LIBS = $$GDAL_LIBS $$GDAL_DEPS -L$$PG_LIBS -lcppunit -ldl 
-# Input
-HEADERS += projectioncshandlingtest.h
-SOURCES += main.cpp 

Added: packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,2 @@
+Makefile
+

Modified: packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     main.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:20:46 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <iostream>
 
 //#include <qapplication.h>

Modified: packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/projecttest.h
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/projecttest.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/projecttest.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     projecttest.h
+     --------------------------------------
+    Date                 : Sun Sep 16 12:20:49 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 /**
 
  @file projecttst.h

Deleted: packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/qgsproject.pro
===================================================================
--- packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/qgsproject.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/algorithms/qgsproject/qgsproject.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,223 +0,0 @@
-######################################################################
-# Automatically generated by qmake (1.07a) Fri Jan 14 13:01:49 2005
-######################################################################
-
-TEMPLATE = app
-TARGET = testproject
-
-INCLUDEPATH += .
-LIBPATH += $(HOME)/lib
-
-CONFIG  = qt warn_on debug thread exceptions stl rtti
-
-# get gdal info
-GDAL_LIBS = $$system(gdal-config --libs)
-GDAL_DEPS = $$system(gdal-config --dep-libs)
-
-# get gdal inludes
-GDAL_INC = $$system(gdal-config --cflags)
-GDAL_INC ~= s/-I//g
-INCLUDEPATH += $$GDAL_INC
-
-# cppunit
-CPPUNIT_INC = $$system(cppunit-config --cflags)
-CPPUNIT_INC ~= s/-I//g
-INCLUDEPATH += $$CPPUNIT_INC
-CPPUNIT_LIBS = $$system(cppunit-config --libs)
-
-# qgis
-QGIS_INC = $$system(qgis-config --cflags)
-QGIS_INC ~= s/-I//g
-INCLUDEPATH += $$QGIS_INC
-QGIS_LIBS = $$system(qgis-config --lib)
-
-
-QGIS_FILES = qgisiface.o				\
-	     qgisinterface.moc.o			\
-	     qgisinterface.o				\
-	     qgsabout.moc.uic.o				\
-	     qgsabout.uic.o				\
-	     qgsaddattrdialogbase.moc.uic.o		\
-	     qgsaddattrdialogbase.uic.o			\
-	     qgsaddattrdialog.moc.o			\
-	     qgsaddattrdialog.o				\
-	     qgsadvancedattrsearchbase.moc.uic.o	\
-	     qgsadvancedattrsearchbase.uic.o		\
-	     qgsadvancedattrsearch.moc.o		\
-	     qgsadvancedattrsearch.o			\
-	     qgsattributeactiondialogbase.moc.uic.o	\
-	     qgsattributeactiondialogbase.uic.o		\
-	     qgsattributeactiondialog.moc.o		\
-	     qgsattributeactiondialog.o			\
-	     qgsattributedialogbase.moc.uic.o		\
-	     qgsattributedialogbase.uic.o		\
-	     qgsattributedialog.moc.o			\
-	     qgsattributedialog.o			\
-	     qgsattributetablebase.moc.uic.o		\
-	     qgsattributetablebase.uic.o		\
-	     qgsattributetabledisplay.moc.o		\
-	     qgsattributetabledisplay.o			\
-	     qgsattributetable.moc.o			\
-	     qgsattributetable.o			\
-	     qgsbookmarkitem.o				\
-	     qgsbookmarksbase.moc.uic.o			\
-	     qgsbookmarksbase.uic.o			\
-	     qgsbookmarks.moc.o				\
-	     qgsbookmarks.o				\
-	     qgsclipboard.o				\
-	     qgscontcoldialogbase.moc.uic.o		\
-	     qgscontcoldialogbase.uic.o			\
-	     qgscontcoldialog.moc.o			\
-	     qgscontcoldialog.o				\
-	     qgscontexthelp.moc.o			\
-	     qgscontexthelp.o				\
-	     qgscustomsymbol.o				\
-	     qgsdatasource.o				\
-	     qgsdbsourceselectbase.moc.uic.o		\
-	     qgsdbsourceselectbase.uic.o		\
-	     qgsdbsourceselect.moc.o			\
-	     qgsdbsourceselect.o			\
-	     qgsdelattrdialogbase.moc.uic.o		\
-	     qgsdelattrdialogbase.uic.o			\
-	     qgsdelattrdialog.moc.o			\
-	     qgsdelattrdialog.o				\
-	     qgsdistancearea.o				\
-	     qgsdlgvectorlayerpropertiesbase.moc.uic.o	\
-	     qgsdlgvectorlayerpropertiesbase.uic.o	\
-	     qgsdlgvectorlayerproperties.moc.o		\
-	     qgsdlgvectorlayerproperties.o		\
-	     qgsencodingfiledialog.moc.o		\
-	     qgsencodingfiledialog.o			\
-	     qgsgeomtypedialogbase.moc.uic.o		\
-	     qgsgeomtypedialogbase.uic.o		\
-	     qgsgeomtypedialog.moc.o			\
-	     qgsgeomtypedialog.o			\
-	     qgsgrasydialogbase.moc.uic.o		\
-	     qgsgrasydialogbase.uic.o			\
-	     qgsgrasydialog.moc.o			\
-	     qgsgrasydialog.o				\
-	     qgshelpviewerbase.moc.uic.o		\
-	     qgshelpviewerbase.uic.o			\
-	     qgshelpviewer.moc.o			\
-	     qgshelpviewer.o				\
-	     qgsidentifyresultsbase.moc.uic.o		\
-	     qgsidentifyresultsbase.uic.o		\
-	     qgsidentifyresults.moc.o			\
-	     qgsidentifyresults.o			\
-	     qgslabelattributes.o			\
-	     qgslabeldialogbase.moc.uic.o		\
-	     qgslabeldialogbase.uic.o			\
-	     qgslabeldialog.moc.o			\
-	     qgslabeldialog.o				\
-	     qgslayerprojectionselectorbase.moc.uic.o	\
-	     qgslayerprojectionselectorbase.uic.o	\
-	     qgslayerprojectionselector.moc.o		\
-	     qgslayerprojectionselector.o		\
-	     qgsline.o					\
-	     qgslinestyledialogbase.moc.uic.o		\
-	     qgslinestyledialogbase.uic.o		\
-	     qgslinestyledialog.moc.o			\
-	     qgslinestyledialog.o			\
-	     qgslinesymbol.o				\
-	     qgsludialogbase.moc.uic.o			\
-	     qgsludialogbase.uic.o			\
-	     qgsludialog.moc.o				\
-	     qgsludialog.o				\
-	     qgsmaplayerinterface.moc.o			\
-	     qgsmapserverexportbase.moc.uic.o		\
-	     qgsmapserverexportbase.uic.o		\
-	     qgsmapserverexport.moc.o			\
-	     qgsmapserverexport.o			\
-	     qgsmarkerdialogbase.moc.uic.o		\
-	     qgsmarkerdialogbase.uic.o			\
-	     qgsmarkerdialog.moc.o			\
-	     qgsmarkerdialog.o				\
-	     qgsmeasurebase.moc.uic.o			\
-	     qgsmeasurebase.uic.o			\
-	     qgsmeasure.moc.o				\
-	     qgsmeasure.o				\
-	     qgsmessageviewer.moc.uic.o			\
-	     qgsmessageviewer.uic.o			\
-	     qgsnewconnectionbase.moc.uic.o		\
-	     qgsnewconnectionbase.uic.o			\
-	     qgsnewconnection.moc.o			\
-	     qgsnewconnection.o				\
-	     qgsnewhttpconnectionbase.moc.uic.o		\
-	     qgsnewhttpconnectionbase.uic.o		\
-	     qgsnewhttpconnection.moc.o			\
-	     qgsnewhttpconnection.o			\
-	     qgsoptionsbase.moc.uic.o			\
-	     qgsoptionsbase.uic.o			\
-	     qgsoptions.moc.o				\
-	     qgsoptions.o				\
-	     qgspastetransformationsbase.moc.uic.o	\
-	     qgspastetransformationsbase.uic.o		\
-	     qgspastetransformations.moc.o		\
-	     qgspastetransformations.o			\
-	     qgspatterndialogbase.moc.uic.o		\
-	     qgspatterndialogbase.uic.o			\
-	     qgspatterndialog.moc.o			\
-	     qgspatterndialog.o				\
-	     qgspgquerybuilderbase.moc.uic.o		\
-	     qgspgquerybuilderbase.uic.o		\
-	     qgspgquerybuilder.moc.o			\
-	     qgspgquerybuilder.o			\
-	     qgspluginitem.o				\
-	     qgspluginmanagerbase.moc.uic.o		\
-	     qgspluginmanagerbase.uic.o			\
-	     qgspluginmanager.moc.o			\
-	     qgspluginmanager.o				\
-	     qgspluginmetadata.o			\
-	     qgspluginregistry.o			\
-	     qgspolygonsymbol.o				\
-	     qgsprojectionselectorbase.moc.uic.o	\
-	     qgsprojectionselectorbase.uic.o		\
-	     qgsprojectionselector.moc.o		\
-	     qgsprojectionselector.o			\
-	     qgsproject.o				\
-	     qgsprojectpropertiesbase.moc.uic.o		\
-	     qgsprojectpropertiesbase.uic.o		\
-	     qgsprojectproperties.moc.o			\
-	     qgsprojectproperties.o			\
-	     qgsprovidermetadata.o			\
-	     qgsrasterdataprovider.moc.o		\
-	     qgsrasterdataprovider.o			\
-	     qgsrasterlayerpropertiesbase.moc.uic.o	\
-	     qgsrasterlayerpropertiesbase.uic.o		\
-	     qgsrasterlayerproperties.moc.o		\
-	     qgsrasterlayerproperties.o			\
-	     qgssearchstringlexer.o			\
-	     qgssearchstring.o				\
-	     qgssearchstringparser.o			\
-	     qgssearchtreenode.o			\
-	     qgsserversourceselectbase.moc.uic.o	\
-	     qgsserversourceselectbase.uic.o		\
-	     qgsserversourceselect.moc.o		\
-	     qgsserversourceselect.o			\
-	     qgssisydialogbase.moc.uic.o		\
-	     qgssisydialogbase.uic.o			\
-	     qgssisydialog.moc.o			\
-	     qgssisydialog.o				\
-	     qgssvgcache.o				\
-	     qgssymbologyutils.o			\
-	     qgsuvaldialogbase.moc.uic.o		\
-	     qgsuvaldialogbase.uic.o			\
-	     qgsuvaldialog.moc.o			\
-	     qgsuvaldialog.o				\
-	     splashscreen.moc.o				\
-	     splashscreen.o
-
-
-
-# Note that auto(cont|make) and libtool  prepend "qgis-" to binary names.
-QGIS_OBJS = $$join(QGIS_FILES," ../../src/qgis-"," ../../src/qgis-")
-
-
-DEFINES = QGISDEBUG 
-
-LIBS += $$CPPUNIT_LIBS $$QGIS_OBJS $$GDAL_LIBS $$QGIS_LIBS -lsqlite3 -lproj
-
-# Input
-HEADERS += projecttest.h
-SOURCES += main.cpp
-

Added: packages/qgis/branches/upstream/current/tests/src/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/src/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,3 @@
+IF (ENABLE_TESTS)
+  SUBDIRS(core)
+ENDIF (ENABLE_TESTS)

Deleted: packages/qgis/branches/upstream/current/tests/src/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,18 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SUBDIRS = core \
-          gui \
-          raster
-
-all: 
-	@echo Running unit tests
-	./runtests.sh 
-

Added: packages/qgis/branches/upstream/current/tests/src/core/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/CMakeLists.txt	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/src/core/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,80 @@
+#####################################################
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} 
+  ${CMAKE_CURRENT_BINARY_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/core
+  ${QT_INCLUDE_DIR}
+  ${GDAL_INCLUDE_DIR}
+  ${PROJ_INCLUDE_DIR}
+  ${GEOS_INCLUDE_DIR}
+  )
+
+# expect that classes are being IMPORTED for the exe
+IF (WIN32)
+  # expect that classes are being imported
+  # Note: MSVC doesn't like when the macros are quotes
+  # and MSYS doesn't like them unqouted (bacause of braces)
+  IF (MSVC)
+    ADD_DEFINITIONS("-DCORE_EXPORT=__declspec(dllimport)")
+    #ADD_DEFINITIONS("-DPLUGIN_EXPORT=__declspec(dllimport)")
+    #next needed for qgis gui includes
+    ADD_DEFINITIONS("-DGUI_EXPORT=__declspec(dllexport)")
+  ELSE (MSVC)
+    ADD_DEFINITIONS("-UCORE_EXPORT \"-DCORE_EXPORT=__declspec(dllimport)\"")
+    #ADD_DEFINITIONS("\"-DPLUGIN_EXPORT=__declspec(dllimport)\"")
+    #next needed for qgis gui includes
+    ADD_DEFINITIONS("-UGUI_EXPORT \"-DGUI_EXPORT=__declspec(dllexport)\"")
+  ENDIF (MSVC)
+ENDIF (WIN32)
+
+#############################################################
+# libraries
+
+# because of htonl
+IF (WIN32)
+  SET(PLATFORM_LIBRARIES wsock32)
+ENDIF (WIN32)
+
+# Since the tests are not actually installed, but rather
+# run directly from the build/src/tests dir we need to
+# ensure the omg libs can be found.
+IF (APPLE)
+  # For Mac OS X, the executable must be at the root of the bundle's executable folder
+  SET (CMAKE_INSTALL_NAME_DIR @executable_path/../../../src/core)
+ENDIF (APPLE)
+
+#note for tests we should not include the moc of our
+#qtests in the executable file list as the moc is
+#directly included in the sources
+#and should not be compiled twice. Trying to include
+#them in will cause an error at build time 
+#############################################################
+# Tests:
+
+#
+# QgsApplication test
+#
+SET(qgis_applicationtest_SRCS testqgsapplication.cpp)
+SET(qgis_applicationtest_MOC_CPPS testqgsapplication.cpp)
+QT4_WRAP_CPP(qgis_applicationtest_MOC_SRCS ${qgis_applicationtest_MOC_CPPS})
+ADD_CUSTOM_TARGET(qgis_applicationtestmoc ALL DEPENDS ${qgis_applicationtest_MOC_SRCS})
+ADD_EXECUTABLE(qgis_applicationtest ${qgis_applicationtest_SRCS})
+ADD_DEPENDENCIES(qgis_applicationtest qgis_applicationtestmoc)
+TARGET_LINK_LIBRARIES(qgis_applicationtest ${QT_LIBRARIES} qgis_core)
+INSTALL(TARGETS qgis_applicationtest RUNTIME DESTINATION ${QGIS_BIN_DIR})
+ADD_TEST(qgis_applicationtest ${QGIS_BIN_DIR}/qgis_applicationtest)
+#
+# QgsFileWriter test
+#
+SET(qgis_filewritertest_SRCS testqgsvectorfilewriter.cpp)
+SET(qgis_filewritertest_MOC_CPPS testqgsvectorfilewriter.cpp)
+QT4_WRAP_CPP(qgis_filewritertest_MOC_SRCS ${qgis_filewritertest_MOC_CPPS})
+ADD_CUSTOM_TARGET(qgis_filewritertestmoc ALL DEPENDS ${qgis_filewritertest_MOC_SRCS})
+ADD_EXECUTABLE(qgis_filewritertest ${qgis_filewritertest_SRCS})
+ADD_DEPENDENCIES(qgis_filewritertest qgis_filewritertestmoc)
+TARGET_LINK_LIBRARIES(qgis_filewritertest ${QT_LIBRARIES} qgis_core)
+INSTALL(TARGETS qgis_filewritertest RUNTIME DESTINATION ${QGIS_BIN_DIR})
+ADD_TEST(qgis_filewritertest ${QGIS_BIN_DIR}/qgis_filewritertest)
+
+

Deleted: packages/qgis/branches/upstream/current/tests/src/core/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,302 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-nodistdir : `pwd`
-noinst_PROGRAMS = testqgsapplication \
-		testqgsapplication \
-		testqgscolortable \
-		testqgscontexthelp \
-		testqgscustomsymbol \
-		testqgsdatamanager \
-		testqgsdatasource \
-		testqgsfeature \
-		testqgsfeatureattribute \
-		testqgsfield \
-		testqgsgeometry \
-		testqgsgeometryvertexindex \
-		testqgsline \
-		testqgslinesymbol \
-		testqgsmarkercatalogue \
-		testqgsnumericsortlistviewitem \
-		testqgspluginitem \
-		testqgspluginregistry \
-		testqgspoint \
-		testqgspolygonsymbol \
-		testqgsprovidercountcalcevent \
-		testqgsproviderextentcalcevent \
-		testqgsprovidermetadata \
-		testqgsproviderregistry \
-		testqgsrangerenderitem \
-		testqgsrasterdataprovider \
-		testqgsrect \
-		testqgsrenderer \
-		testqgsrenderitem \
-		testqgsscalecalculator \
-		testqgssearchstring \
-		testqgssearchtreenode \
-		testqgssymbol \
-		testqgsvectordataprovider 
-# testqgslabelattributes 
-# testqgsdistancearea 
-# testqgsbookmarkitem 
-
-#
-# Define some global variables that will be used for building each test
-#
-
-GLOBALLDADD = $(QT_LDADD) \
-				$(PG_LIB) \
-				$(GDAL_LDADD) \
-				-lproj \
-				../../../src/core/libqgis_core.la \
-				../../../src/raster/libqgis_raster.la \
-				../../../src/legend/libqgis_legend.la \
-				../../../src/gui/libqgis_gui.la \
-				../../../src/composer/libqgis_composer.la
-GLOBALCXXFLAGS = $(CXXFLAGS) \
-				$(EXTRA_CXXFLAGS) \
-				$(GDAL_CFLAGS) \
-				$(QT_CXXFLAGS) \
-        $(GEOS_CFLAGS) \
-				$(PG_INC) \
-				-I../../../src/raster \
-				-I../../../src/core \
-				-I../../../src/gui
-
-#
-# Instruction for running the qt4 meta object compiler 
-#
-
-%.moc.cpp: %.cpp
-	$(MOC) -o $@ $<
-
-BUILT_SOURCES = $(testqgsapplication_MOC) \
-		$(testqgsbookmarkitem_MOC) \
-		$(testqgscolortable_MOC) \
-		$(testqgscontexthelp_MOC) \
-		$(testqgscustomsymbol_MOC) \
-		$(testqgsdatamanager_MOC) \
-		$(testqgsdatasource_MOC) \
-		$(testqgsdistancearea_MOC) \
-		$(testqgsfeatureattribute_MOC) \
-		$(testqgsfeature_MOC) \
-		$(testqgsfield_MOC) \
-		$(testqgsgeometry_MOC) \
-		$(testqgsgeometryvertexindex_MOC) \
-		$(testqgslabelattributes_MOC) \
-		$(testqgsline_MOC) \
-		$(testqgslinesymbol_MOC) \
-		$(testqgsmarkercatalogue_MOC) \
-		$(testqgsnumericsortlistviewitem_MOC) \
-		$(testqgspluginitem_MOC) \
-		$(testqgspluginregistry_MOC) \
-		$(testqgspoint_MOC) \
-		$(testqgspolygonsymbol_MOC) \
-		$(testqgsprovidercountcalcevent_MOC) \
-		$(testqgsproviderextentcalcevent_MOC) \
-		$(testqgsprovidermetadata_MOC) \
-		$(testqgsproviderregistry_MOC) \
-		$(testqgsrangerenderitem_MOC) \
-		$(testqgsrasterdataprovider_MOC) \
-		$(testqgsrect_MOC) \
-		$(testqgsrenderer_MOC) \
-		$(testqgsrenderitem_MOC) \
-		$(testqgsscalecalculator_MOC) \
-		$(testqgssearchstring_MOC) \
-		$(testqgssearchtreenode_MOC) \
-		$(testqgssymbol_MOC) \
-		$(testqgsvectordataprovider_MOC) 
-
-CLEANFILES = $(BUILT_SOURCES)
-
-#
-# Specify the compilation files for each unit test now
-#
-
-testqgsapplication_MOC = testqgsapplication.moc.cpp
-testqgsapplication_SOURCES = testqgsapplication.cpp 
-testqgsapplication_LDADD = $(GLOBALLDADD)
-testqgsapplication_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-
-testqgssymbol_MOC = testqgssymbol.moc.cpp
-testqgssymbol_SOURCES = testqgssymbol.cpp 
-testqgssymbol_LDADD = $(GLOBALLDADD)
-testqgssymbol_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsfield_MOC = testqgsfield.moc.cpp
-testqgsfield_SOURCES = testqgsfield.cpp
-testqgsfield_LDADD = $(GLOBALLDADD)
-testqgsfield_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsfeature_MOC = testqgsfeature.moc.cpp
-testqgsfeature_SOURCES = testqgsfeature.cpp
-testqgsfeature_LDADD = $(GLOBALLDADD)
-testqgsfeature_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsgeometry_MOC = testqgsgeometry.moc.cpp
-testqgsgeometry_SOURCES = testqgsgeometry.cpp
-testqgsgeometry_LDADD = $(GLOBALLDADD)
-testqgsgeometry_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-#testqgsbookmarkitem_MOC = testqgsbookmarkitem.moc.cpp
-#testqgsbookmarkitem_SOURCES = testqgsbookmarkitem.cpp
-#testqgsbookmarkitem_LDADD = $(GLOBALLDADD)
-#testqgsbookmarkitem_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgscolortable_MOC = testqgscolortable.moc.cpp
-testqgscolortable_SOURCES = testqgscolortable.cpp
-testqgscolortable_LDADD = $(GLOBALLDADD)
-testqgscolortable_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgscontexthelp_MOC = testqgscontexthelp.moc.cpp
-testqgscontexthelp_SOURCES = testqgscontexthelp.cpp
-testqgscontexthelp_LDADD = $(GLOBALLDADD)
-testqgscontexthelp_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgscustomsymbol_MOC = testqgscustomsymbol.moc.cpp
-testqgscustomsymbol_SOURCES = testqgscustomsymbol.cpp
-testqgscustomsymbol_LDADD = $(GLOBALLDADD)
-testqgscustomsymbol_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsdatamanager_MOC = testqgsdatamanager.moc.cpp
-testqgsdatamanager_SOURCES = testqgsdatamanager.cpp
-testqgsdatamanager_LDADD = $(GLOBALLDADD)
-testqgsdatamanager_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsdatasource_MOC = testqgsdatasource.moc.cpp
-testqgsdatasource_SOURCES = testqgsdatasource.cpp
-testqgsdatasource_LDADD = $(GLOBALLDADD)
-testqgsdatasource_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-#testqgsdistancearea_MOC = testqgsdistancearea.moc.cpp
-#testqgsdistancearea_SOURCES = testqgsdistancearea.cpp
-#testqgsdistancearea_LDADD = $(GLOBALLDADD)
-#testqgsdistancearea_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsfeatureattribute_MOC = testqgsfeatureattribute.moc.cpp
-testqgsfeatureattribute_SOURCES = testqgsfeatureattribute.cpp
-testqgsfeatureattribute_LDADD = $(GLOBALLDADD)
-testqgsfeatureattribute_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsgeometryvertexindex_MOC = testqgsgeometryvertexindex.moc.cpp
-testqgsgeometryvertexindex_SOURCES = testqgsgeometryvertexindex.cpp
-testqgsgeometryvertexindex_LDADD = $(GLOBALLDADD)
-testqgsgeometryvertexindex_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-#testqgslabelattributes_MOC = testqgslabelattributes.moc.cpp
-#testqgslabelattributes_SOURCES = testqgslabelattributes.cpp
-#testqgslabelattributes_LDADD = $(GLOBALLDADD)
-#testqgslabelattributes_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsline_MOC = testqgsline.moc.cpp
-testqgsline_SOURCES = testqgsline.cpp
-testqgsline_LDADD = $(GLOBALLDADD)
-testqgsline_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgslinesymbol_MOC = testqgslinesymbol.moc.cpp
-testqgslinesymbol_SOURCES = testqgslinesymbol.cpp
-testqgslinesymbol_LDADD = $(GLOBALLDADD)
-testqgslinesymbol_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsmarkercatalogue_MOC = testqgsmarkercatalogue.moc.cpp
-testqgsmarkercatalogue_SOURCES = testqgsmarkercatalogue.cpp
-testqgsmarkercatalogue_LDADD = $(GLOBALLDADD)
-testqgsmarkercatalogue_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsnumericsortlistviewitem_MOC = testqgsnumericsortlistviewitem.moc.cpp
-testqgsnumericsortlistviewitem_SOURCES = testqgsnumericsortlistviewitem.cpp
-testqgsnumericsortlistviewitem_LDADD = $(GLOBALLDADD)
-testqgsnumericsortlistviewitem_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgspluginitem_MOC = testqgspluginitem.moc.cpp
-testqgspluginitem_SOURCES = testqgspluginitem.cpp
-testqgspluginitem_LDADD = $(GLOBALLDADD)
-testqgspluginitem_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgspluginregistry_MOC = testqgspluginregistry.moc.cpp
-testqgspluginregistry_SOURCES = testqgspluginregistry.cpp
-testqgspluginregistry_LDADD = $(GLOBALLDADD)
-testqgspluginregistry_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgspoint_MOC = testqgspoint.moc.cpp
-testqgspoint_SOURCES = testqgspoint.cpp
-testqgspoint_LDADD = $(GLOBALLDADD)
-testqgspoint_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgspolygonsymbol_MOC = testqgspolygonsymbol.moc.cpp
-testqgspolygonsymbol_SOURCES = testqgspolygonsymbol.cpp
-testqgspolygonsymbol_LDADD = $(GLOBALLDADD)
-testqgspolygonsymbol_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsprovidercountcalcevent_MOC = testqgsprovidercountcalcevent.moc.cpp
-testqgsprovidercountcalcevent_SOURCES = testqgsprovidercountcalcevent.cpp
-testqgsprovidercountcalcevent_LDADD = $(GLOBALLDADD)
-testqgsprovidercountcalcevent_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsproviderextentcalcevent_MOC = testqgsproviderextentcalcevent.moc.cpp
-testqgsproviderextentcalcevent_SOURCES = testqgsproviderextentcalcevent.cpp
-testqgsproviderextentcalcevent_LDADD = $(GLOBALLDADD)
-testqgsproviderextentcalcevent_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsprovidermetadata_MOC = testqgsprovidermetadata.moc.cpp
-testqgsprovidermetadata_SOURCES = testqgsprovidermetadata.cpp
-testqgsprovidermetadata_LDADD = $(GLOBALLDADD)
-testqgsprovidermetadata_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsproviderregistry_MOC = testqgsproviderregistry.moc.cpp
-testqgsproviderregistry_SOURCES = testqgsproviderregistry.cpp
-testqgsproviderregistry_LDADD = $(GLOBALLDADD)
-testqgsproviderregistry_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsrangerenderitem_MOC = testqgsrangerenderitem.moc.cpp
-testqgsrangerenderitem_SOURCES = testqgsrangerenderitem.cpp
-testqgsrangerenderitem_LDADD = $(GLOBALLDADD)
-testqgsrangerenderitem_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsrasterdataprovider_MOC = testqgsrasterdataprovider.moc.cpp
-testqgsrasterdataprovider_SOURCES = testqgsrasterdataprovider.cpp
-testqgsrasterdataprovider_LDADD = $(GLOBALLDADD)
-testqgsrasterdataprovider_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsrect_MOC = testqgsrect.moc.cpp
-testqgsrect_SOURCES = testqgsrect.cpp
-testqgsrect_LDADD = $(GLOBALLDADD)
-testqgsrect_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsrenderer_MOC = testqgsrenderer.moc.cpp
-testqgsrenderer_SOURCES = testqgsrenderer.cpp
-testqgsrenderer_LDADD = $(GLOBALLDADD)
-testqgsrenderer_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsrenderitem_MOC = testqgsrenderitem.moc.cpp
-testqgsrenderitem_SOURCES = testqgsrenderitem.cpp
-testqgsrenderitem_LDADD = $(GLOBALLDADD)
-testqgsrenderitem_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsscalecalculator_MOC = testqgsscalecalculator.moc.cpp
-testqgsscalecalculator_SOURCES = testqgsscalecalculator.cpp
-testqgsscalecalculator_LDADD = $(GLOBALLDADD)
-testqgsscalecalculator_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgssearchstring_MOC = testqgssearchstring.moc.cpp
-testqgssearchstring_SOURCES = testqgssearchstring.cpp
-testqgssearchstring_LDADD = $(GLOBALLDADD)
-testqgssearchstring_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgssearchtreenode_MOC = testqgssearchtreenode.moc.cpp
-testqgssearchtreenode_SOURCES = testqgssearchtreenode.cpp
-testqgssearchtreenode_LDADD = $(GLOBALLDADD)
-testqgssearchtreenode_CXXFLAGS =  $(GLOBALCXXFLAGS)
-
-testqgsvectordataprovider_MOC = testqgsvectordataprovider.moc.cpp
-testqgsvectordataprovider_SOURCES = testqgsvectordataprovider.cpp
-testqgsvectordataprovider_LDADD = $(GLOBALLDADD)
-testqgsvectordataprovider_CXXFLAGS =  $(GLOBALCXXFLAGS)

Modified: packages/qgis/branches/upstream/current/tests/src/core/runtests.sh
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/runtests.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/runtests.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,19 @@
 #!/bin/bash
+#***************************************************************************
+#    runtests.sh
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:21:45 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
+
 #set -x
 LIST=`ls -lah |grep rwxr-xr-x |grep -v ^d |grep -v pl$ |grep -v ~$ |grep -v .sh$ |awk '{print $8}'|awk '$1=$1' RS=`
 

Modified: packages/qgis/branches/upstream/current/tests/src/core/test_builder.pl
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/test_builder.pl	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/test_builder.pl	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,19 @@
 #!/usr/bin/perl
+#***************************************************************************
+#    test_builder.pl
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:22:00 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
+
 use Cwd;
 
 #####################################################

Modified: packages/qgis/branches/upstream/current/tests/src/core/test_suite_builder.sh
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/test_suite_builder.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/test_suite_builder.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,4 +1,19 @@
 #!/bin/bash
+#***************************************************************************
+#    test_suite_builder.sh
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:22:12 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
+
 LIST=`ls ../../../src/core/ |grep .cpp |grep ^qgs |grep -v ~$ |grep -v moc.cpp$ | sed 's/.cpp//g' |awk '$1=$1' RS= |sort`
 for FILE in $LIST
 do 

Modified: packages/qgis/branches/upstream/current/tests/src/core/test_template.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/test_template.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/test_template.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     test_template.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:22:23 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QtTest>
 #include <QObject>
 #include <QString>

Modified: packages/qgis/branches/upstream/current/tests/src/core/testqgsapplication.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsapplication.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsapplication.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,24 @@
+/***************************************************************************
+  testqgsapplication.cpp
+  --------------------------------------
+Date                 : Sun Sep 16 12:22:49 AKDT 2007
+Copyright            : (C) 2007 by Gary E. Sherman
+Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
+#include <iostream>
+
+#include <QPixmap>
+
+#include <qgsapplication.h>
+
 //header for class being tested
 #include <qgsapplication.h>
 
@@ -9,60 +26,41 @@
 {
   Q_OBJECT;
   private slots:
-        void QgsApplicationQgsApplication()
-{
-
+    void getPaths();
+    void checkTheme();
 };
-    void QgsApplicationselectTheme()
-{
 
-};
-    void QgsApplicationauthorsFilePath()
+void TestQgsApplication::getPaths()
 {
+  // init QGIS's paths - true means that all path will be inited from prefix
+  QString qgisPath = QCoreApplication::applicationDirPath () + "/../";
+  QgsApplication::setPrefixPath(qgisPath, TRUE);
 
-};
-    void QgsApplicationdeveloperPath()
-{
+  std::cout << "Prefix  PATH: " << QgsApplication::prefixPath().toLocal8Bit().data() << std::endl;
+  std::cout << "Plugin  PATH: " << QgsApplication::pluginPath().toLocal8Bit().data() << std::endl;
+  std::cout << "PkgData PATH: " << QgsApplication::pkgDataPath().toLocal8Bit().data() << std::endl;
+  std::cout << "User DB PATH: " << QgsApplication::qgisUserDbFilePath().toLocal8Bit().data() << std::endl;
 
 };
-    void QgsApplicationhelpAppPath()
-{
 
-};
-    void QgsApplicationi18nPath()
+void TestQgsApplication::checkTheme()
 {
+  QString qgisPath = QCoreApplication::applicationDirPath () + "/../";
+  QgsApplication::setPrefixPath(qgisPath, TRUE);
+  std::cout << "Prefix  PATH: " << QgsApplication::prefixPath().toLocal8Bit().data() << std::endl;
+  std::cout << "Plugin  PATH: " << QgsApplication::pluginPath().toLocal8Bit().data() << std::endl;
+  std::cout << "PkgData PATH: " << QgsApplication::pkgDataPath().toLocal8Bit().data() << std::endl;
+  std::cout << "User DB PATH: " << QgsApplication::qgisUserDbFilePath().toLocal8Bit().data() << std::endl;
+  QString myIconPath = QgsApplication::themePath();
+  QPixmap myPixmap;
+  myPixmap.load(myIconPath+"/mIconProjectionDisabled.png");
+  qDebug("Checking if a theme icon exists:");
+  qDebug(myIconPath.toLocal8Bit()+"/mIconProjectionDisabled.png");
+  QVERIFY(!myPixmap.isNull());
 
 };
-    void QgsApplicationqgisMasterDbFilePath()
-{
 
-};
-    void QgsApplicationqgisSettingsDirPath()
-{
 
-};
-    void QgsApplicationqgisUserDbFilePath()
-{
-
-};
-    void QgsApplicationsplashPath()
-{
-
-};
-    void QgsApplicationsrsDbFilePath()
-{
-
-};
-    void QgsApplicationsvgPath()
-{
-
-};
-
-};
-
 QTEST_MAIN(TestQgsApplication)
-#include "testqgsapplication.moc.cpp"
+#include "moc_testqgsapplication.cxx"
 
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsbookmarkitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsbookmarkitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsbookmarkitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,29 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsbookmarkitem.h>
-//qgis related headers
-#include <qgsrect.h>
-class TestQgsBookmarkItem: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsBookmarkItemQgsBookmarkItem()
-{
-
-};
-    void QgsBookmarkItemstore()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsBookmarkItem)
-#include "testqgsbookmarkitem.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgscolortable.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgscolortable.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgscolortable.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,32 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgscolortable.h>
-
-class TestQgsColorTable: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsColorTableQgsColorTable()
-{
-
-};
-    void QgsColorTableadd()
-{
-
-};
-    void QgsColorTableclear()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsColorTable)
-#include "testqgscolortable.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgscontexthelp.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgscontexthelp.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgscontexthelp.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,44 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgscontexthelp.h>
-
-class TestQgsContextHelp: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsContextHelprun()
-{
-
-};
-    void QgsContextHelpQgsContextHelp()
-{
-
-};
-    void QgsContextHelpstart()
-{
-
-};
-    void QgsContextHelpreadPort()
-{
-
-};
-    void QgsContextHelpshowContext()
-{
-
-};
-    void QgsContextHelpprocessExited()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsContextHelp)
-#include "testqgscontexthelp.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgscustomsymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgscustomsymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgscustomsymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgscustomsymbol.h>
-
-class TestQgsCustomSymbol: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsCustomSymbolQgsCustomSymbol()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsCustomSymbol)
-#include "testqgscustomsymbol.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsdatamanager.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsdatamanager.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsdatamanager.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsdatamanager.h>
-
-class TestQgsDataManager: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsDataManagerQgsDataManager()
-{
-
-};
-    void QgsDataManagerinstance()
-{
-
-};
-    void QgsDataManageropenVector()
-{
-
-};
-    void QgsDataManageropenRaster()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsDataManager)
-#include "testqgsdatamanager.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsdatasource.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsdatasource.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsdatasource.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsdatasource.h>
-
-class TestQgsDataSource: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsDataSourceQgsDataSource()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsDataSource)
-#include "testqgsdatasource.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsdistancearea.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsdistancearea.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsdistancearea.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,72 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsdistancearea.h>
-
-class TestQgsDistanceArea: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsDistanceAreaQgsDistanceArea()
-{
-
-};
-    void QgsDistanceAreasetSourceSRS()
-{
-
-};
-    void QgsDistanceAreasetProjectAsSourceSRS()
-{
-
-};
-    void QgsDistanceAreasetEllipsoid()
-{
-
-};
-    void QgsDistanceAreasetDefaultEllipsoid()
-{
-
-};
-    void QgsDistanceAreameasure()
-{
-
-};
-    void QgsDistanceAreameasureLine()
-{
-
-};
-    void QgsDistanceAreameasurePolygon()
-{
-
-};
-    void QgsDistanceAreacomputeDistanceBearing()
-{
-
-};
-    void QgsDistanceAreagetQ()
-{
-
-};
-    void QgsDistanceAreagetQbar()
-{
-
-};
-    void QgsDistanceAreacomputeAreaInit()
-{
-
-};
-    void QgsDistanceAreacomputePolygonArea()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsDistanceArea)
-#include "testqgsdistancearea.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsfeature.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsfeature.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsfeature.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,168 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsfeature.h>
-
-class TestQgsFeature: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsFeatureQgsFeature()
-{
-
-};
-    void QgsFeaturefeatureId()
-{
-
-};
-    void QgsFeatureattributeMap()
-{
-
-};
-    void QgsFeatureaddAttribute()
-{
-
-};
-    void QgsFeaturedeleteAttribute()
-{
-
-};
-    void QgsFeaturechangeAttributeValue()
-{
-
-};
-    void QgsFeaturechangeAttributeName()
-{
-
-};
-    void QgsFeaturefields()
-{
-
-};
-    void QgsFeaturegeometry()
-{
-
-};
-    void QgsFeaturegeometryAndOwnership()
-{
-
-};
-    void QgsFeaturegetGeometry()
-{
-
-};
-    void QgsFeaturegetCommittedGeometry()
-{
-
-};
-    void QgsFeaturegetModifiedGeometry()
-{
-
-};
-    void QgsFeaturegetGeometrySize()
-{
-
-};
-    void QgsFeaturegetCommittedGeometrySize()
-{
-
-};
-    void QgsFeaturegetModifiedGeometrySize()
-{
-
-};
-    void QgsFeaturewellKnownText()
-{
-
-};
-    void QgsFeaturesetFeatureId()
-{
-
-};
-    void QgsFeaturetypeName()
-{
-
-};
-    void QgsFeaturesetGeometry()
-{
-
-};
-    void QgsFeaturesetGeometryAndOwnership()
-{
-
-};
-    void QgsFeaturesetModifiedGeometry()
-{
-
-};
-    void QgsFeatureinsertVertexBefore()
-{
-
-};
-    void QgsFeaturemoveVertexAt()
-{
-
-};
-    void QgsFeaturevertexAt()
-{
-
-};
-    void QgsFeatureisValid()
-{
-
-};
-    void QgsFeaturesetValid()
-{
-
-};
-    void QgsFeatureisDirty()
-{
-
-};
-    void QgsFeatureresetDirty()
-{
-
-};
-    void QgsFeatureintersects()
-{
-
-};
-    void QgsFeatureexportToWKT()
-{
-
-};
-    void QgsFeatureclosestVertex()
-{
-
-};
-    void QgsFeaturedistanceSquaredPointToSegment()
-{
-
-};
-    void QgsFeatureclosestSegmentWithContext()
-{
-
-};
-    void QgsFeatureclosestSegment()
-{
-
-};
-    void QgsFeatureboundingBox()
-{
-
-};
-    void QgsFeaturegeosGeometry()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsFeature)
-#include "testqgsfeature.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsfeatureattribute.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsfeatureattribute.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsfeatureattribute.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsfeatureattribute.h>
-
-class TestQgsFeatureAttribute: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsFeatureAttributeQgsFeatureAttribute()
-{
-
-};
-    void QgsFeatureAttributefieldName()
-{
-
-};
-    void QgsFeatureAttributefieldValue()
-{
-
-};
-    void QgsFeatureAttributeisNumeric()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsFeatureAttribute)
-#include "testqgsfeatureattribute.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsfield.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsfield.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsfield.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,64 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsfield.h>
-
-class TestQgsField: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsFieldQgsField()
-{
-
-};
-    void QgsFieldname()
-{
-
-};
-    void QgsFieldtype()
-{
-
-};
-    void QgsFieldlength()
-{
-
-};
-    void QgsFieldprecision()
-{
-
-};
-    void QgsFieldisNumeric()
-{
-
-};
-    void QgsFieldsetName()
-{
-
-};
-    void QgsFieldsetType()
-{
-
-};
-    void QgsFieldsetLength()
-{
-
-};
-    void QgsFieldsetPrecision()
-{
-
-};
-    void QgsFieldsetNumeric()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsField)
-#include "testqgsfield.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,100 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsgeometry.h>
-
-class TestQgsGeometry: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsGeometryQgsGeometry()
-{
-
-};
-    void QgsGeometrysetWkbAndOwnership()
-{
-
-};
-    void QgsGeometrywkbBuffer()
-{
-
-};
-    void QgsGeometrywkbSize()
-{
-
-};
-    void QgsGeometrywkt()
-{
-
-};
-    void QgsGeometrysetGeos()
-{
-
-};
-    void QgsGeometryclosestVertex()
-{
-
-};
-    void QgsGeometryinsertVertexBefore()
-{
-
-};
-    void QgsGeometrymoveVertexAt()
-{
-
-};
-    void QgsGeometrydeleteVertexAt()
-{
-
-};
-    void QgsGeometryvertexAt()
-{
-
-};
-    void QgsGeometryclosestVertexWithContext()
-{
-
-};
-    void QgsGeometryclosestSegmentWithContext()
-{
-
-};
-    void QgsGeometryboundingBox()
-{
-
-};
-    void QgsGeometryintersects()
-{
-
-};
-    void QgsGeometryexportToWkt()
-{
-
-};
-    void QgsGeometrygeosGeometry()
-{
-
-};
-    void QgsGeometryexportWkbToGeos()
-{
-
-};
-    void QgsGeometryexportGeosToWkb()
-{
-
-};
-    void QgsGeometrydistanceSquaredPointToSegment()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsGeometry)
-#include "testqgsgeometry.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometryvertexindex.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometryvertexindex.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsgeometryvertexindex.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsgeometryvertexindex.h>
-
-class TestQgsGeometryVertexIndex: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsGeometryVertexIndexQgsGeometryVertexIndex()
-{
-
-};
-    void QgsGeometryVertexIndexback()
-{
-
-};
-    void QgsGeometryVertexIndexclear()
-{
-
-};
-    void QgsGeometryVertexIndextoString()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsGeometryVertexIndex)
-#include "testqgsgeometryvertexindex.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgslabelattributes.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgslabelattributes.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgslabelattributes.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,32 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgslabelattributes.h>
-
-class TestQgsLabelAttributes: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsLabelAttributesQgsLabelAttributes()
-{
-
-};
-    void QgsLabelAttributesbufferEnabled()
-{
-
-};
-    void QgsLabelAttributessetBufferEnabled()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsLabelAttributes)
-#include "testqgslabelattributes.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsline.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsline.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsline.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,48 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsline.h>
-
-class TestQgsLine: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsLineQgsLine()
-{
-
-};
-    void QgsLinesetBegin()
-{
-
-};
-    void QgsLinesetEnd()
-{
-
-};
-    void QgsLinebegin()
-{
-
-};
-    void QgsLineend()
-{
-
-};
-    void QgsLinestringRep()
-{
-
-};
-    void QgsLinewellKnownText()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsLine)
-#include "testqgsline.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgslinesymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgslinesymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgslinesymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgslinesymbol.h>
-
-class TestQgsLineSymbol: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsLineSymbolQgsLineSymbol()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsLineSymbol)
-#include "testqgslinesymbol.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsmarkercatalogue.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsmarkercatalogue.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsmarkercatalogue.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,32 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsmarkercatalogue.h>
-
-class TestQgsMarkerCatalogue: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsMarkerCatalogueQgsMarkerCatalogue()
-{
-
-};
-    void QgsMarkerCataloguelist()
-{
-
-};
-    void QgsMarkerCatalogueinstance()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsMarkerCatalogue)
-#include "testqgsmarkercatalogue.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsnumericsortlistviewitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsnumericsortlistviewitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsnumericsortlistviewitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsnumericsortlistviewitem.h>
-
-class TestQgsNumericSortListViewItem: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsNumericSortListViewItemQgsNumericSortListViewItem()
-{
-
-};
-    void QgsNumericSortListViewItemcompare()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsNumericSortListViewItem)
-#include "testqgsnumericsortlistviewitem.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgspluginitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgspluginitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgspluginitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgspluginitem.h>
-
-class TestQgsPluginItem: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsPluginItemQgsPluginItem()
-{
-
-};
-    void QgsPluginItemname()
-{
-
-};
-    void QgsPluginItemdescription()
-{
-
-};
-    void QgsPluginItemfullPath()
-{
-
-};
-    void QgsPluginItemtype()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsPluginItem)
-#include "testqgspluginitem.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgspluginregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgspluginregistry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgspluginregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,48 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgspluginregistry.h>
-
-class TestQgsPluginRegistry: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsPluginRegistryinstance()
-{
-
-};
-    void QgsPluginRegistryQgsPluginRegistry()
-{
-
-};
-    void QgsPluginRegistrylibrary()
-{
-
-};
-    void QgsPluginRegistrypluginMetadata()
-{
-
-};
-    void QgsPluginRegistryplugin()
-{
-
-};
-    void QgsPluginRegistryaddPlugin()
-{
-
-};
-    void QgsPluginRegistryremovePlugin()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsPluginRegistry)
-#include "testqgspluginregistry.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgspoint.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgspoint.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgspoint.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgspoint.h>
-
-class TestQgsPoint: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsPointQgsPoint()
-{
-
-};
-    void QgsPointstringRep()
-{
-
-};
-    void QgsPointwellKnownText()
-{
-
-};
-    void QgsPointsqrDist()
-{
-
-};
-    void QgsPointmultiply()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsPoint)
-#include "testqgspoint.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgspolygonsymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgspolygonsymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgspolygonsymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgspolygonsymbol.h>
-
-class TestQgsPolygonSymbol: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsPolygonSymbolQgsPolygonSymbol()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsPolygonSymbol)
-#include "testqgspolygonsymbol.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidercountcalcevent.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidercountcalcevent.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidercountcalcevent.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsprovidercountcalcevent.h>
-
-class TestQgsProviderCountCalcEvent: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsProviderCountCalcEventQgsProviderCountCalcEvent()
-{
-
-};
-    void QgsProviderCountCalcEventnumberFeatures()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsProviderCountCalcEvent)
-#include "testqgsprovidercountcalcevent.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderextentcalcevent.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderextentcalcevent.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderextentcalcevent.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsproviderextentcalcevent.h>
-
-class TestQgsProviderExtentCalcEvent: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsProviderExtentCalcEventQgsProviderExtentCalcEvent()
-{
-
-};
-    void QgsProviderExtentCalcEventlayerExtent()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsProviderExtentCalcEvent)
-#include "testqgsproviderextentcalcevent.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidermetadata.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidermetadata.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsprovidermetadata.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,36 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsprovidermetadata.h>
-
-class TestQgsProviderMetadata: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsProviderMetadataQgsProviderMetadata()
-{
-
-};
-    void QgsProviderMetadatakey()
-{
-
-};
-    void QgsProviderMetadatadescription()
-{
-
-};
-    void QgsProviderMetadatalibrary()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsProviderMetadata)
-#include "testqgsprovidermetadata.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderregistry.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderregistry.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsproviderregistry.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,56 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsproviderregistry.h>
-
-class TestQgsProviderRegistry: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsProviderRegistryinstance()
-{
-
-};
-    void QgsProviderRegistryQgsProviderRegistry()
-{
-
-};
-    void QgsProviderRegistrylibrary()
-{
-
-};
-    void QgsProviderRegistrypluginList()
-{
-
-};
-    void QgsProviderRegistrysetLibraryDirectory()
-{
-
-};
-    void QgsProviderRegistrylibraryDirectory()
-{
-
-};
-    void QgsProviderRegistrygetProvider()
-{
-
-};
-    void QgsProviderRegistryfileVectorFilters()
-{
-
-};
-    void QgsProviderRegistryopenVector()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsProviderRegistry)
-#include "testqgsproviderregistry.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsrangerenderitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsrangerenderitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsrangerenderitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,32 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsrangerenderitem.h>
-
-class TestQgsRangeRenderItem: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsRangeRenderItemQgsRangeRenderItem()
-{
-
-};
-    void QgsRangeRenderItemsetUpperValue()
-{
-
-};
-    void QgsRangeRenderItemwriteXML()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsRangeRenderItem)
-#include "testqgsrangerenderitem.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsrasterdataprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsrasterdataprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsrasterdataprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsrasterdataprovider.h>
-
-class TestQgsRasterDataProvider: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsRasterDataProviderQgsRasterDataProvider()
-{
-
-};
-    void QgsRasterDataProvidercapabilitiesString()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsRasterDataProvider)
-#include "testqgsrasterdataprovider.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsrect.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsrect.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsrect.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,72 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsrect.h>
-
-class TestQgsRect: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsRectQgsRect()
-{
-
-};
-    void QgsRectset()
-{
-
-};
-    void QgsRectnormalize()
-{
-
-};
-    void QgsRectsetMinimal()
-{
-
-};
-    void QgsRectscale()
-{
-
-};
-    void QgsRectexpand()
-{
-
-};
-    void QgsRectintersect()
-{
-
-};
-    void QgsRectcombineExtentWith()
-{
-
-};
-    void QgsRectisEmpty()
-{
-
-};
-    void QgsRectasWKTCoords()
-{
-
-};
-    void QgsRectstringRep()
-{
-
-};
-    void QgsRectasPolygon()
-{
-
-};
-    void QgsRectunionRect()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsRect)
-#include "testqgsrect.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderer.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderer.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderer.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,28 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsrenderer.h>
-
-class TestQgsRenderer: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsRendererQgsRenderer()
-{
-
-};
-    void QgsRendererrefreshLegend()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsRenderer)
-#include "testqgsrenderer.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderitem.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderitem.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsrenderitem.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,48 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsrenderitem.h>
-
-class TestQgsRenderItem: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsRenderItemQgsRenderItem()
-{
-
-};
-    void QgsRenderItemsetLabel()
-{
-
-};
-    void QgsRenderItemsetSymbol()
-{
-
-};
-    void QgsRenderItemlabel()
-{
-
-};
-    void QgsRenderItemsetValue()
-{
-
-};
-    void QgsRenderItemgetSymbol()
-{
-
-};
-    void QgsRenderItemwriteXML()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsRenderItem)
-#include "testqgsrenderitem.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsscalecalculator.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsscalecalculator.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsscalecalculator.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsscalecalculator.h>
-
-class TestQgsScaleCalculator: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsScaleCalculatorQgsScaleCalculator()
-{
-
-};
-    void QgsScaleCalculatorsetDpi()
-{
-
-};
-    void QgsScaleCalculatorsetMapUnits()
-{
-
-};
-    void QgsScaleCalculatorcalculate()
-{
-
-};
-    void QgsScaleCalculatorcalculateGeographicDistance()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsScaleCalculator)
-#include "testqgsscalecalculator.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgssearchstring.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgssearchstring.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgssearchstring.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,40 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgssearchstring.h>
-
-class TestQgsSearchString: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsSearchStringQgsSearchString()
-{
-
-};
-    void QgsSearchStringsetString()
-{
-
-};
-    void QgsSearchStringsetTree()
-{
-
-};
-    void QgsSearchStringisEmpty()
-{
-
-};
-    void QgsSearchStringsetEmpty()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsSearchString)
-#include "testqgssearchstring.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgssearchtreenode.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgssearchtreenode.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgssearchtreenode.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,44 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgssearchtreenode.h>
-
-class TestQgsSearchTreeNode: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsSearchTreeNodeQgsSearchTreeNode()
-{
-
-};
-    void QgsSearchTreeNodestripText()
-{
-
-};
-    void QgsSearchTreeNodemakeSearchString()
-{
-
-};
-    void QgsSearchTreeNodecheckAgainst()
-{
-
-};
-    void QgsSearchTreeNodegetValue()
-{
-
-};
-    void QgsSearchTreeNodevalueAgainst()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsSearchTreeNode)
-#include "testqgssearchtreenode.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgssymbol.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgssymbol.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgssymbol.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,100 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgssymbol.h>
-
-class TestQgsSymbol: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsSymbolQgsSymbol()
-{
-
-};
-    void QgsSymbolcolor()
-{
-
-};
-    void QgsSymbolsetColor()
-{
-
-};
-    void QgsSymbolfillColor()
-{
-
-};
-    void QgsSymbolsetFillColor()
-{
-
-};
-    void QgsSymbollineWidth()
-{
-
-};
-    void QgsSymbolsetLineWidth()
-{
-
-};
-    void QgsSymbolsetLineStyle()
-{
-
-};
-    void QgsSymbolsetFillStyle()
-{
-
-};
-    void QgsSymbolsetNamedPointSymbol()
-{
-
-};
-    void QgsSymbolpointSymbolName()
-{
-
-};
-    void QgsSymbolsetPointSize()
-{
-
-};
-    void QgsSymbolpointSize()
-{
-
-};
-    void QgsSymbolgetLineSymbolAsPixmap()
-{
-
-};
-    void QgsSymbolgetPolygonSymbolAsPixmap()
-{
-
-};
-    void QgsSymbolgetPointSymbolAsPixmap()
-{
-
-};
-    void QgsSymbolcache()
-{
-
-};
-    void QgsSymbolcache2()
-{
-
-};
-    void QgsSymbolwriteXML()
-{
-
-};
-    void QgsSymbolreadXML()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsSymbol)
-#include "testqgssymbol.moc.cpp"
-
-
-
-

Deleted: packages/qgis/branches/upstream/current/tests/src/core/testqgsvectordataprovider.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsvectordataprovider.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsvectordataprovider.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,72 +0,0 @@
-#include <QtTest>
-#include <QObject>
-#include <QString>
-#include <QObject>
-//header for class being tested
-#include <qgsvectordataprovider.h>
-
-class TestQgsVectorDataProvider: public QObject
-{
-  Q_OBJECT;
-  private slots:
-        void QgsVectorDataProviderQgsVectorDataProvider()
-{
-
-};
-    void QgsVectorDataProvideraddFeatures()
-{
-
-};
-    void QgsVectorDataProviderdeleteFeatures()
-{
-
-};
-    void QgsVectorDataProvideraddAttributes()
-{
-
-};
-    void QgsVectorDataProviderdeleteAttributes()
-{
-
-};
-    void QgsVectorDataProviderchangeAttributeValues()
-{
-
-};
-    void QgsVectorDataProvidergetDefaultValue()
-{
-
-};
-    void QgsVectorDataProviderchangeGeometryValues()
-{
-
-};
-    void QgsVectorDataProvidercreateSpatialIndex()
-{
-
-};
-    void QgsVectorDataProvidersetEncoding()
-{
-
-};
-    void QgsVectorDataProviderencoding()
-{
-
-};
-    void QgsVectorDataProvidercapabilitiesString()
-{
-
-};
-    void QgsVectorDataProvidersetAttributeFilter()
-{
-
-};
-
-};
-
-QTEST_MAIN(TestQgsVectorDataProvider)
-#include "testqgsvectordataprovider.moc.cpp"
-
-
-
-

Added: packages/qgis/branches/upstream/current/tests/src/core/testqgsvectorfilewriter.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/core/testqgsvectorfilewriter.cpp	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tests/src/core/testqgsvectorfilewriter.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,442 @@
+/***************************************************************************
+     testqgsvectorfilewriter.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:22:54 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include <QtTest>
+#include <QObject>
+#include <QString>
+#include <QStringList>
+#include <QObject>
+#include <iostream>
+
+#include <QApplication>
+
+#include <qgsvectorlayer.h> //defines QgsFieldMap 
+#include <qgsvectorfilewriter.h> //logic for writing shpfiles
+#include <qgsfeature.h> //we will need to pass a bunch of these for each rec
+#include <qgsgeometry.h> //each feature needs a geometry
+#include <qgspoint.h> //we will use point geometry
+#include <qgsspatialrefsys.h> //needed for creating a srs
+#include <qgsapplication.h> //search path for srs.db
+#include <qgsfield.h>
+#include <qgis.h> //defines GEOWKT
+
+/** \ingroup UnitTests
+ * This is a unit test for the QgsVectorFileWriter class.
+ *
+ *  Possible QVariant::Type s
+ *   QVariant::String
+ *   QVariant::Int
+ *   QVariant::Double
+ *   
+ *   Allowed ogr prvider typeNames:
+ *   Integer
+ *   Real
+ *   String
+ * 
+ *   Constructor for QgsField:
+ *   QgsField::QgsField(QString name, 
+ *                      QVariant::Type type, 
+ *                      QString typeName, 
+ *                      int len, 
+ *                      int prec, 
+ *                      QString comment)
+ */
+class TestQgsVectorFileWriter: public QObject
+{
+  Q_OBJECT;
+  private slots:
+    void initTestCase();// will be called before the first testfunction is executed.
+    void cleanupTestCase(){};// will be called after the last testfunction was executed.
+    void init(){};// will be called before each testfunction is executed.
+    void cleanup(){};// will be called after every testfunction.
+
+    /** This method tests writing a point to a shapefile */
+    void createPoint();
+    /** This method tests writing a polyline to a shapefile */
+    void createLine();
+    /** This method tests writing a polygon to a shapefile */
+    void createPolygon();
+    /** This method test writing multiple features to a shapefile */
+    void polygonGridTest();
+    /** As above but using a projected SRS*/
+    void projectedPlygonGridTest();
+    
+  private:
+    // a little util fn used by all tests
+    bool cleanupFile(QString theFileBase);
+    QString mEncoding;
+    QgsVectorFileWriter::WriterError mError;
+    QgsSpatialRefSys mSRS;
+    QgsFieldMap mFields;
+    QgsPoint mPoint1;
+    QgsPoint mPoint2;
+    QgsPoint mPoint3;
+};
+
+void TestQgsVectorFileWriter::initTestCase()
+{
+  qDebug("\n\n **************\n"
+      "Note: if you get a message like \n"
+      "ERROR 1: /tmp/testpt.shp is not a directory.\n"
+      "It is caused by the /tmp/testshp.* files already existing\n"
+      "(the ERROR comes from OGR and is not very intuitive)\n"
+      "******************\n");
+  // init QGIS's paths - true means that all path will be inited from prefix
+  QString qgisPath = QCoreApplication::applicationDirPath ();
+  QgsApplication::setPrefixPath(qgisPath, TRUE);
+  //create some objects that will be used in all tests...
+
+  std::cout << "Prefix  PATH: " << QgsApplication::prefixPath().toLocal8Bit().data() << std::endl;
+  std::cout << "Plugin  PATH: " << QgsApplication::pluginPath().toLocal8Bit().data() << std::endl;
+  std::cout << "PkgData PATH: " << QgsApplication::pkgDataPath().toLocal8Bit().data() << std::endl;
+  std::cout << "User DB PATH: " << QgsApplication::qgisUserDbFilePath().toLocal8Bit().data() << std::endl;
+
+  mEncoding = "UTF-8";
+  QgsField myField1("Field1",QVariant::String,"String",10,0,"Field 1 comment");
+  mFields.insert(0, myField1);
+  mSRS = QgsSpatialRefSys(GEOWKT);
+  mPoint1 = QgsPoint(10.0,10.0);
+  mPoint2 = QgsPoint(15.0,10.0);
+  mPoint3 = QgsPoint(15.0,12.0);
+}
+
+
+void TestQgsVectorFileWriter::createPoint()
+{
+
+  //
+  // Remove old copies that may be lying around
+  //
+  QString myFileBase = "/tmp/testpt";
+  QVERIFY(cleanupFile(myFileBase));
+  QString myFileName = myFileBase + ".shp";
+  QgsVectorFileWriter myWriter (myFileName,
+      mEncoding,
+      mFields,
+      QGis::WKBPoint,
+      &mSRS);
+  //
+  // Create a feature
+  //
+  //
+  // NOTE: dont delete this pointer again - 
+  // ownership is passed to the feature which will
+  // delete it in its dtor!
+  QgsGeometry * mypPointGeometry = QgsGeometry::fromPoint(mPoint1);
+  QgsFeature myFeature;
+  myFeature.setGeometry(mypPointGeometry);
+  myFeature.addAttribute(0,"HelloWorld");
+  //
+  // Write the feature to the filewriter
+  // and check for errors
+  //
+  QVERIFY(myWriter.addFeature(myFeature));
+  mError = myWriter.hasError();
+  if(mError==QgsVectorFileWriter::ErrDriverNotFound)
+  {
+    std::cout << "Driver not found error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateDataSource)
+  {
+    std::cout << "Create data source error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateLayer)
+  {
+    std::cout << "Create layer error" << std::endl;
+  }
+  QVERIFY(mError==QgsVectorFileWriter::NoError);
+}
+
+void TestQgsVectorFileWriter::createLine()
+{
+  //
+  // Remove old copies that may be lying around
+  //
+  QString myFileBase = "/tmp/testln";
+  QVERIFY(cleanupFile(myFileBase));
+  QString myFileName = myFileBase + ".shp";
+  QgsVectorFileWriter myWriter (myFileName,
+      mEncoding,
+      mFields,
+      QGis::WKBLineString,
+      &mSRS);
+  //
+  // Create a feature
+  //
+  QgsPolyline myPolyline;
+  myPolyline << mPoint1 << mPoint2 << mPoint3;
+  //
+  // NOTE: dont delete this pointer again - 
+  // ownership is passed to the feature which will
+  // delete it in its dtor!
+  QgsGeometry * mypLineGeometry = QgsGeometry::fromPolyline(myPolyline);
+  QgsFeature myFeature;
+  myFeature.setTypeName("WKBLineString");
+  myFeature.setGeometry(mypLineGeometry);
+  myFeature.addAttribute(0,"HelloWorld");
+  //
+  // Write the feature to the filewriter
+  // and check for errors
+  //
+  QVERIFY(myWriter.addFeature(myFeature));
+  mError = myWriter.hasError();
+  if(mError==QgsVectorFileWriter::ErrDriverNotFound)
+  {
+    std::cout << "Driver not found error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateDataSource)
+  {
+    std::cout << "Create data source error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateLayer)
+  {
+    std::cout << "Create layer error" << std::endl;
+  }
+  QVERIFY(mError==QgsVectorFileWriter::NoError);
+}
+
+void TestQgsVectorFileWriter::createPolygon()
+{
+
+  //
+  // Remove old copies that may be lying around
+  //
+  QString myFileBase = "/tmp/testply";
+  QVERIFY(cleanupFile(myFileBase));
+  QString myFileName = myFileBase + ".shp";
+  QgsVectorFileWriter myWriter (myFileName,
+      mEncoding,
+      mFields,
+      QGis::WKBPolygon,
+      &mSRS);
+  //
+  // Create a polygon feature
+  //
+  QgsPolyline myPolyline;
+  myPolyline << mPoint1 << mPoint2 << mPoint3 << mPoint1;
+  QgsPolygon myPolygon;
+  myPolygon << myPolyline;
+  //polygon: first item of the list is outer ring, 
+  // inner rings (if any) start from second item 
+  //
+  // NOTE: dont delete this pointer again - 
+  // ownership is passed to the feature which will
+  // delete it in its dtor!
+  QgsGeometry * mypPolygonGeometry = QgsGeometry::fromPolygon(myPolygon);
+  QgsFeature myFeature;
+  myFeature.setTypeName("WKBPolygon");
+  myFeature.setGeometry(mypPolygonGeometry);
+  myFeature.addAttribute(0,"HelloWorld");
+  //
+  // Write the feature to the filewriter
+  // and check for errors
+  //
+  QVERIFY(myWriter.addFeature(myFeature));
+  mError = myWriter.hasError();
+  if(mError==QgsVectorFileWriter::ErrDriverNotFound)
+  {
+    std::cout << "Driver not found error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateDataSource)
+  {
+    std::cout << "Create data source error" << std::endl;
+  }
+  else if (mError==QgsVectorFileWriter::ErrCreateLayer)
+  {
+    std::cout << "Create layer error" << std::endl;
+  }
+  QVERIFY(mError==QgsVectorFileWriter::NoError);
+}
+void TestQgsVectorFileWriter::polygonGridTest()
+{
+  //
+  // Remove old copies that may be lying around
+  //
+  QString myFileBase = "/tmp/testgrid";
+  QVERIFY(cleanupFile(myFileBase));
+  QString myFileName = myFileBase + ".shp";
+  QgsVectorFileWriter myWriter (myFileName,
+      mEncoding,
+      mFields,
+      QGis::WKBPolygon,
+      &mSRS);
+  double myInterval=5;
+  for (int i=-180;i<=180;i+=myInterval)
+  {
+    for (int j=-90;j<=90;j+=myInterval)
+    {
+      //
+      // Create a polygon feature
+      //
+      QgsPolyline myPolyline;
+      QgsPoint myPoint1 = QgsPoint(static_cast<float>(i),static_cast<float>(j));
+      QgsPoint myPoint2 = QgsPoint(static_cast<float>(i+myInterval),static_cast<float>(j));
+      QgsPoint myPoint3 = QgsPoint(static_cast<float>(i+myInterval),static_cast<float>(j+myInterval));
+      QgsPoint myPoint4 = QgsPoint(static_cast<float>(i),static_cast<float>(j+myInterval));
+      myPolyline << myPoint1 << myPoint2 << myPoint3 << myPoint4 << myPoint1;
+      QgsPolygon myPolygon;
+      myPolygon << myPolyline;
+      //polygon: first item of the list is outer ring, 
+      // inner rings (if any) start from second item 
+      //
+      // NOTE: dont delete this pointer again - 
+      // ownership is passed to the feature which will
+      // delete it in its dtor!
+      QgsGeometry * mypPolygonGeometry = QgsGeometry::fromPolygon(myPolygon);
+      QgsFeature myFeature;
+      myFeature.setTypeName("WKBPolygon");
+      myFeature.setGeometry(mypPolygonGeometry);
+      myFeature.addAttribute(0,"HelloWorld");
+      //
+      // Write the feature to the filewriter
+      // and check for errors
+      //
+      QVERIFY(myWriter.addFeature(myFeature));
+      mError = myWriter.hasError();
+      if(mError==QgsVectorFileWriter::ErrDriverNotFound)
+      {
+        std::cout << "Driver not found error" << std::endl;
+      }
+      else if (mError==QgsVectorFileWriter::ErrCreateDataSource)
+      {
+        std::cout << "Create data source error" << std::endl;
+      }
+      else if (mError==QgsVectorFileWriter::ErrCreateLayer)
+      {
+        std::cout << "Create layer error" << std::endl;
+      }
+      QVERIFY(mError==QgsVectorFileWriter::NoError);
+    }
+  }
+}
+
+void TestQgsVectorFileWriter::projectedPlygonGridTest()
+{
+  //
+  // Remove old copies that may be lying around
+  //
+  QString myFileBase = "/tmp/testprjgrid";
+  QVERIFY(cleanupFile(myFileBase));
+  QString myFileName = myFileBase + ".shp";
+  //
+  // We are testing projected coordinate 
+  // system vector writing to lets use something fun...
+  // Jamaica National Grid
+  // QGIS SRSID: 1286
+  // PostGIS SRID: 24200
+  // +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 
+  // +y_0=150000 +ellps=clrk66 +units=m +no_defs
+  //
+  mSRS = QgsSpatialRefSys(1286,QgsSpatialRefSys::QGIS_SRSID);
+  QgsVectorFileWriter myWriter (myFileName,
+      mEncoding,
+      mFields,
+      QGis::WKBPolygon,
+      &mSRS);
+  double myInterval=1000; //1km2
+  for (int i=0;i<=10000;i+=myInterval) //10km
+  {
+    for (int j=0;j<=10000;j+=myInterval)//10km
+    {
+      //
+      // Create a polygon feature
+      //
+      QgsPolyline myPolyline;
+      QgsPoint myPoint1 = QgsPoint(static_cast<float>(i),static_cast<float>(j));
+      QgsPoint myPoint2 = QgsPoint(static_cast<float>(i+myInterval),static_cast<float>(j));
+      QgsPoint myPoint3 = QgsPoint(static_cast<float>(i+myInterval),static_cast<float>(j+myInterval));
+      QgsPoint myPoint4 = QgsPoint(static_cast<float>(i),static_cast<float>(j+myInterval));
+      myPolyline << myPoint1 << myPoint2 << myPoint3 << myPoint4 << myPoint1;
+      QgsPolygon myPolygon;
+      myPolygon << myPolyline;
+      //polygon: first item of the list is outer ring, 
+      // inner rings (if any) start from second item 
+      //
+      // NOTE: dont delete this pointer again - 
+      // ownership is passed to the feature which will
+      // delete it in its dtor!
+      QgsGeometry * mypPolygonGeometry = QgsGeometry::fromPolygon(myPolygon);
+      QgsFeature myFeature;
+      myFeature.setTypeName("WKBPolygon");
+      myFeature.setGeometry(mypPolygonGeometry);
+      myFeature.addAttribute(0,"HelloWorld");
+      //
+      // Write the feature to the filewriter
+      // and check for errors
+      //
+      QVERIFY(myWriter.addFeature(myFeature));
+      mError = myWriter.hasError();
+      if(mError==QgsVectorFileWriter::ErrDriverNotFound)
+      {
+        std::cout << "Driver not found error" << std::endl;
+      }
+      else if (mError==QgsVectorFileWriter::ErrCreateDataSource)
+      {
+        std::cout << "Create data source error" << std::endl;
+      }
+      else if (mError==QgsVectorFileWriter::ErrCreateLayer)
+      {
+        std::cout << "Create layer error" << std::endl;
+      }
+      QVERIFY(mError==QgsVectorFileWriter::NoError);
+    }
+  }
+}
+bool TestQgsVectorFileWriter::cleanupFile(QString theFileBase)
+{
+  //
+  // Remove old copies that may be lying around
+  //
+  QFileInfo myInfo(theFileBase + ".shp");
+  if (myInfo.exists())
+  {
+    if(!QFile::remove(theFileBase + ".shp"))
+    {
+      qDebug("Removing file failed : " + theFileBase.toLocal8Bit() + ".shp");
+      return false;
+    }
+  }
+  myInfo.setFile(theFileBase + ".shx");
+  if (myInfo.exists())
+  {
+    if(!QFile::remove(theFileBase + ".shx"));
+    {
+      qDebug("Removing file failed : " + theFileBase.toLocal8Bit() + ".shx");
+      return false;
+    }
+  }
+  myInfo.setFile(theFileBase + ".dbf");
+  if (myInfo.exists())
+  {
+    if(!QFile::remove(theFileBase + ".dbf"));
+    {
+      qDebug("Removing file failed : " + theFileBase.toLocal8Bit() + ".dbf");
+      return false;
+    }
+  }
+  myInfo.setFile(theFileBase + ".prj");
+  if (myInfo.exists())
+  {
+    if(!QFile::remove(theFileBase + ".prj"));
+    {
+      qDebug("Removing file failed : " + theFileBase.toLocal8Bit() + ".prj");
+      return false;
+    }
+  }
+  return true;
+}
+
+QTEST_MAIN(TestQgsVectorFileWriter)
+#include "moc_testqgsvectorfilewriter.cxx"
+

Modified: packages/qgis/branches/upstream/current/tests/src/runtests.sh
===================================================================
--- packages/qgis/branches/upstream/current/tests/src/runtests.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tests/src/runtests.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+#***************************************************************************
+#    runtests.sh
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:21:00 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
 #!/bin/bash
 #set -x
 DIRS=`ls -1F | grep '/$'`

Added: packages/qgis/branches/upstream/current/tools/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/tools/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tools/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,4 @@
+Makefile
+Makefile.in
+qgis.m4
+

Deleted: packages/qgis/branches/upstream/current/tools/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tools/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,30 +0,0 @@
-# Copyright (C) 2004 Jens Oberender <j.obi at troja.net>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4201 2005-11-12 03:37:11Z gsherman $
-if USE_PYTHON
-MAPSERVER = mapserver_export
-endif
-
-SUBDIRS = qgis_config $(MAPSERVER)
-
-m4filedir = $(datadir)/aclocal
-
-m4file_DATA = qgis.m4
-
-m4file_SOURCE = qgisdetect.m4
-
-$(m4file_DATA): $(m4file_SOURCE)
-	cat ../acinclude.m4 $(m4file_SOURCE) > $(m4file_DATA)
-
-EXTRA_DIST = $(m4file_SOURCE)
-
-clean:
-	rm -f $(m4file_DATA)

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/CMakeLists.txt
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/CMakeLists.txt	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/CMakeLists.txt	2007-10-31 12:20:11 UTC (rev 1247)
@@ -12,44 +12,32 @@
 
 SET (MSEXPORT_UIS qgsmapserverexportbase.ui)
 
+# Disable compiler warnings for lex generated sources
+SET_SOURCE_FILES_PROPERTIES(
+                ${CMAKE_CURRENT_SOURCE_DIR}/msexport_wrap.cxx 
+                PROPERTIES COMPILE_FLAGS -w)
 
 ########################################################
 # Build
 
 QT4_WRAP_UI (MSEXPORT_UIS_H ${MSEXPORT_UIS})
 
-QT4_WRAP_CPP (MSEXPORT_MOC_SRCS ${MSEXPORT_MOC_HDRS} ${MSEXPORT_UIS_H})
+QT4_WRAP_CPP (MSEXPORT_MOC_SRCS ${MSEXPORT_MOC_HDRS})
 
 INCLUDE_DIRECTORIES (
-  ..
-  ../..
   ${CMAKE_CURRENT_BINARY_DIR}
   ${PYTHON_INCLUDE_PATH}
+  ${CMAKE_SOURCE_DIR}/src/core
+  ${CMAKE_SOURCE_DIR}/src/gui
 )
 
-ADD_EXECUTABLE (msexport MACOSX_BUNDLE ${MSEXPORT_SRCS} ${MSEXPORT_MOC_SRCS})
+ADD_EXECUTABLE (msexport MACOSX_BUNDLE ${MSEXPORT_SRCS} ${MSEXPORT_MOC_SRCS} ${MSEXPORT_UIS_H})
 
-# This sets runpath to the installation directory
-SET_TARGET_PROPERTIES(msexport PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib
-  BUILD_WITH_INSTALL_RPATH true
-)
-
-# Uncomment this to set runpath to the directory path specified at compile time
-#SET_TARGET_PROPERTIES(msexport PROPERTIES
-#  INSTALL_RPATH_USE_LINK_PATH true
-#)
-
-# Uncomment this to set runpath relative to executable
-#SET_TARGET_PROPERTIES(msexport PROPERTIES
-#  LINK_FLAGS "-Wl,-rpath,'\$\$ORIGIN/../lib'"
-#)
-
-
 TARGET_LINK_LIBRARIES (msexport
    ${QT_LIBRARIES}
    ${PYTHON_LIBRARIES}
    qgis_core
+   qgis_gui
 )
 
 

Deleted: packages/qgis/branches/upstream/current/tools/mapserver_export/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,98 +0,0 @@
-# Copyright (C) 2004 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-#
-# $Id: Makefile.am 4200 2005-11-12 01:37:49Z gsherman $
-
-bin_PROGRAMS = msexport
-if HAVE_QTMAC
-MAC = mac
-endif
-
-if !HAVE_QTMAC
-PREFIX=-DPREFIX=\"$(prefix)\"
-PLUGINPATH=-DPLUGINPATH=\"$(pkglibdir)\"
-PKGDATAPATH=-DPKGDATAPATH=\"$(pkgdatadir)\"
-endif
-
-%.moc.cpp: %.h
-	$(MOC) -o $@ $<
-
-ui_%.h: %.ui
-	$(UIC) -o $@ $<
-
-#uic $< -o $@
-
-# %.h: %.ui
-# 	$(UIC) -o $@ $<
-#
-# %.cpp: %.ui
-# 	$(UIC) -o $@ -impl $*.h $<
-
-msexport_MOC = qgsmapserverexport.moc.cpp 
-
-
-msexport_UI = ui_qgsmapserverexportbase.h
-
-msexport_UIC = qgsmapserverexportbase.ui 
-
-msexport_SOURCES =  qgsmapserverexport.cpp \
-										qgsmapserverexport.h \
-							ms_main.cpp \
-							msexport_wrap.cxx \
-	$(msexport_UI) \
-	$(msexport_UIC) \
-	$(msexport_MOC)
-
-
-
-# UI dependencies			
-qgsmapserverexportbase.cpp: qgsmapserverexportbase.ui qgsmapserverexportbase.h
-qgsmapserverexportbase.h: qgsmapserverexportbase.ui
-
-BUILT_SOURCES = $(msexport_MOC) $(msexport_UI) 
-
-
-
-msexport_LDADD = $(QT_LDADD) $(PG_LIB) $(PYTHON_LIB) $(PROJ_LIB) ../../src/core/libqgis_core.la ../../src/gui/libqgis_gui.la 
-
-msexport_CXXFLAGS = $(CXXFLAGS) $(PKGDATAPATH) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PYTHON_INCLUDE_DIR) -I../../src
-
-CLEANFILES = $(BUILT_SOURCES)
-
-lib_LTLIBRARIES = libmsexport.la
-
-libmsexport_la_SOURCES = qgsmapserverexport.cpp qgsmapserverexport.moc.cpp msexport_wrap.cxx
-
-libmsexport_la_LIBADD = $(PYTHON_LIB) $(QT_LDADD)
-libmsexport_la_LDFLAGS = -version-info $(INTERFACE_VERSION)
-libmsexport_la_CXXFLAGS = $(CXXFLAGS) $(PKGDATAPATH) $(EXTRA_CXXFLAGS) $(QT_CXXFLAGS) $(PYTHON_INCLUDE_DIR) -I../../src
-
-# Qt/Mac app needs to be inside a bundle to function correctly
-MACBINDIR = $(bindir)/msexport.app/Contents/MacOS
-
-install-exec-hook:
-if HAVE_QTMAC
-	$(mkinstalldirs) $(MACBINDIR)
-	mv $(bindir)/msexport $(MACBINDIR)
-endif
-
-
-#
-# Put script into an appropriate dir
-#
-pythondir = ${pkgdatadir}/python
-if HAVE_QTMAC
-	pythondir=$(MACBINDIR)/share/qgis/python
-endif
-
-python_DATA = *.py
-
-EXTRA_DIST = $(msexport_UIC) \
-             $(python_DATA)

Deleted: packages/qgis/branches/upstream/current/tools/mapserver_export/mapserver_export.pro
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/mapserver_export.pro	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/mapserver_export.pro	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,17 +0,0 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Mon Dec 11 12:01:35 2006
-######################################################################
-
-include(../../settings.pro)
-TEMPLATE = app
-TARGET = msexport
-DEPENDPATH += .
-INCLUDEPATH += . $${PYTHONINCLUDE}
-LIBS += $${PYTHONLIBADD}
-LIBS += $${QGISCORELIBADD}
-LIBS += $${QGISGUILIBADD}
-QT += qt3support svg core gui xml network
-# Input
-HEADERS += qgsmapserverexport.h
-FORMS += qgsmapserverexportbase.ui
-SOURCES += ms_main.cpp msexport_wrap.cxx qgsmapserverexport.cpp

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/ms_export.py
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/ms_export.py	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/ms_export.py	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+#***************************************************************************
+#    ms_export.py
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:33:46 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
 # This class exports a QGIS project file to a mapserver .map file.
 # All the work is done in the writeMapFile method. The msexport binary
 # presents a Qt based GUI that collects the needed information for this
@@ -31,6 +45,7 @@
     self.header = ''
     self.footer = ''
     self.symbolQueue = {}
+    
 
   # Set the options collected from the GUI
   def setOptions(self, units, image, mapname, width, height, template, header, footer):
@@ -96,7 +111,7 @@
     self.outFile.write("# Map file created from QGIS project file " + self.project + "\n")
     self.outFile.write("# Edit this file to customize for your map interface\n")
     self.outFile.write("MAP\n")
-    self.outFile.write("  NAME '" + self.mapName + "'\n")
+    self.outFile.write("  NAME " + self.mapName + "\n")
     self.outFile.write("  # Map image size\n")
     self.outFile.write("  SIZE " + self.width + " " + self.height + "\n")
     self.outFile.write("  UNITS " + self.units.lower() + "\n")
@@ -215,16 +230,29 @@
     pg['table'] = ''
     pg['geom'] = 'the_geom'
     
-    cmp = dataString.split(" ")
+    
+    whereCondition = dataString.split("sql")[1][1:]
+    cmp = dataString.split("sql")[0].split(" ")
+    
     for c in cmp:
       if c[:1] == "(":
         pg['geom'] = c[1:][:-1]
       else:
         kvp = c.split("=")
-        pg[kvp[0]] =  kvp[1]
+        if (len(kvp) >= 2):
+          pg[kvp[0]] =  kvp[1]
+    
+    connString = 'host=' + pg['host'] + " user=" + pg['user']
+    
+    if (len(pg['password'].replace("\'", "")) > 0):
+      connString += " password=" + pg['password'].replace("'", "")
+    
+    connString += " dbname=" + pg['dbname']
+     
+    dataString = pg['geom'] + " FROM " + pg['table'].replace("\"", "")
+    filterString = whereCondition.replace("\"", "")
+    return (connString, dataString, filterString)
 
-    return pg
-
        
   # Write the map layers
   def writeMapLayers(self):
@@ -240,7 +268,7 @@
 
       self.outFile.write("  LAYER\n")
       # write the name of the layer
-      self.outFile.write("    NAME '" + lyr.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8') + "'\n")
+      self.outFile.write("    NAME '" + lyr.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8').replace("\"", "") + "'\n")
       if lyr.getAttribute("type").encode('utf-8') == 'vector':  
         self.outFile.write("    TYPE " + lyr.getAttribute("geometry").encode('utf-8').upper() + "\n")
       elif lyr.getAttribute("type").encode('utf-8') == 'raster':  
@@ -264,11 +292,11 @@
 
       if providerString == 'postgres':
         # it's a postgis layer
-        pg = self.parsePostgisConnection(dataString)
+        (pgConnString, sqlData, sqlFilter) = self.parsePostgisConnection(dataString)
         self.outFile.write("    CONNECTIONTYPE postgis\n")
-        self.outFile.write("    CONNECTION 'host=" + pg['host'] + " dbname=" + pg['dbname'] 
-                            + " password=" + pg['password'] + " user=" + pg['user'] + "'\n")
-        self.outFile.write("    DATA '" + pg['geom'] + " FROM " + pg['table'] + "'\n")
+        self.outFile.write("    CONNECTION '" + pgConnString + "'\n")
+        self.outFile.write("    DATA '" + sqlData + "'\n")
+        self.outFile.write("    FILTER '" + sqlFilter + "'\n")
 
       elif providerString == 'wms' and lyr.getAttribute("type").encode('utf-8').upper() == 'RASTER':
         # it's a WMS layer 
@@ -280,7 +308,7 @@
         wmsNames = []
         wmsStyles = []
         for wmsLayer in wmsSubLayers: 
-          wmsNames.append( wmsLayer.getElementsByTagName('name')[0].childNodes[0].nodeValue.encode('utf-8') )
+          wmsNames.append( wmsLayer.getElementsByTagName('name')[0].childNodes[0].nodeValue.encode('utf-8').replace("\"", "") )
           try: 
             wmsStyles.append( wmsLayer.getElementsByTagName('style')[0].childNodes[0].nodeValue.encode('utf-8') )
           except:
@@ -305,7 +333,7 @@
       # WMS settings for all layers
       self.outFile.write("    METADATA\n")
       self.outFile.write("      'wms_title' '" 
-           + lyr.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8') + "'\n")
+           + lyr.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8').replace("\"", "") + "'\n")
       self.outFile.write("    END\n")
 
       self.outFile.write("    STATUS DEFAULT\n")
@@ -365,8 +393,7 @@
     self.outFile.write("    CLASS\n")
 
     self.outFile.write("       NAME '" 
-         + layerNode.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8') 
-         + "'\n")
+         + layerNode.getElementsByTagName("layername")[0].childNodes[0].nodeValue.encode('utf-8').replace("\"", "") + "' \n")
 
     self.outFile.write("       STYLE\n")
     # use the point symbol map to lookup the mapserver symbol type

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/ms_main.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/ms_main.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/ms_main.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     ms_main.cpp
+     --------------------------------------
+    Date                 : Sun Sep 16 12:33:58 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 #include <QApplication>
 #include <QTranslator>
 #include <QTextCodec>
@@ -4,7 +18,7 @@
 #include <QStringList>
 
 #include "qgsmapserverexport.h"
-#include "src/core/qgsapplication.h"
+#include "qgsapplication.h"
 
 #include <iostream>
 

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/msexport.i
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/msexport.i	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/msexport.i	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,3 +1,17 @@
+/***************************************************************************
+     msexport.i
+     --------------------------------------
+    Date                 : Sun Sep 16 12:34:12 AKDT 2007
+    Copyright            : (C) 2007 by Gary E. Sherman
+    Email                : sherman at mrcc dot com
+ ***************************************************************************
+ *                                                                         *
+ *   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  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
 /* IF YOU REGENERATE THE SWIG WRAPPER FROM THIS INTERFACE FILE, IT PROBABLY
  * WON'T WORK SINCE THERE SEEMS TO BE A BUG IN THE INTERFACE GENERATION CODE
 */

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.cpp
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.cpp	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.cpp	2007-10-31 12:20:11 UTC (rev 1247)
@@ -29,7 +29,7 @@
 #include <qstring.h>
 #include <QWidget>
 #include <QApplication>
-#include "../src/core/qgscontexthelp.h"
+#include "../../src/core/qgscontexthelp.h"
 #include "qgsmapserverexport.h"
 
 
@@ -38,7 +38,10 @@
 : QDialog(parent, fl)  
 {
   setupUi(this);
-//   initialize python
+  connect(this, SIGNAL(accepted()), this, SLOT(apply()));
+  // drag and drop filter
+  txtQgisFilePath->setSuffixFilter("qgs");
+  // initialize python
   initPy();
   qDebug("Reading setttings");
   QSettings mySettings;
@@ -99,7 +102,7 @@
     btnChooseTemplateFile->setEnabled(!isChecked);
 }
 
-void QgsMapserverExport::on_buttonOk_clicked()
+void QgsMapserverExport::apply()
 {
   qDebug("Writing setttings");
   QSettings mySettings;
@@ -171,7 +174,7 @@
   Py_DECREF(pstr);
 
 }
-void QgsMapserverExport::on_buttonHelp_clicked()
+void QgsMapserverExport::on_buttonBox_helpRequested()
 {
  QgsContextHelp::run(context_id); 
 }
@@ -183,15 +186,16 @@
 {
 
   //QMessageBox::information(0,"Full Path",fullPath);
-  int okToSave = 0;
+  QMessageBox::StandardButton okToSave = QMessageBox::Ok;
   // Check for file and prompt for overwrite if it exists
   if (QFile::exists(txtMapFilePath->text()))
   {
     okToSave = QMessageBox::warning(0, tr("Overwrite File?"), txtMapFilePath->text() +
         tr(" exists. \nDo you want to overwrite it?",
-           "a filename is prepended to this text, and appears in a dialog box"), tr("Yes"), tr("No"));
+           "a filename is prepended to this text, and appears in a dialog box"),
+           QMessageBox::Ok | QMessageBox::Cancel);
   }
-  if (okToSave == 0)
+  if (okToSave == QMessageBox::Ok)
   {
     // write the project information to the selected file
     writeMapFile();
@@ -210,6 +214,7 @@
 
 QString QgsMapserverExport::fullPathName()
 {
+  return QString(); // return something to allow compilation
   //return fullPath;
 }
 

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.h
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.h	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexport.h	2007-10-31 12:20:11 UTC (rev 1247)
@@ -52,11 +52,11 @@
 	};
   public slots:
   void showHelp();
-  void on_buttonHelp_clicked();
+  void on_buttonBox_helpRequested();
   void on_btnChooseFile_clicked();
   void on_chkExpLayersOnly_clicked(bool);
   void on_btnChooseProjectFile_clicked();
-  void on_buttonOk_clicked();
+  void apply();
   private:
   void initPy();
   void writeMapFile(void);

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexportbase.ui
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexportbase.ui	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/qgsmapserverexportbase.ui	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,7 +1,5 @@
 <ui version="4.0" >
  <author>Gary Sherman</author>
- <comment></comment>
- <exportmacro></exportmacro>
  <class>QgsMapserverExportBase</class>
  <widget class="QDialog" name="QgsMapserverExportBase" >
   <property name="geometry" >
@@ -9,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>485</width>
-    <height>438</height>
+    <height>493</height>
    </rect>
   </property>
   <property name="windowTitle" >
@@ -25,74 +23,6 @@
    <property name="spacing" >
     <number>6</number>
    </property>
-   <item row="5" column="0" colspan="3" >
-    <layout class="QHBoxLayout" >
-     <property name="margin" >
-      <number>0</number>
-     </property>
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <item>
-      <widget class="QPushButton" name="buttonHelp" >
-       <property name="text" >
-        <string>&amp;Help</string>
-       </property>
-       <property name="shortcut" >
-        <string>F1</string>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType" >
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>20</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonOk" >
-       <property name="text" >
-        <string>&amp;OK</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-       <property name="default" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="buttonCancel" >
-       <property name="text" >
-        <string>&amp;Cancel</string>
-       </property>
-       <property name="shortcut" >
-        <string/>
-       </property>
-       <property name="autoDefault" >
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
    <item row="4" column="0" colspan="3" >
     <widget class="Q3GroupBox" name="grpWeb" >
      <property name="title" >
@@ -133,7 +63,7 @@
          </widget>
         </item>
         <item>
-         <widget class="QLineEdit" name="txtWebTemplate" >
+         <widget class="QgsFileDropEdit" name="txtWebTemplate" >
           <property name="toolTip" >
            <string>Path to the MapServer template file</string>
           </property>
@@ -142,7 +72,7 @@
         <item>
          <widget class="QPushButton" name="btnChooseTemplateFile" >
           <property name="text" >
-           <string>...</string>
+           <string>Browse...</string>
           </property>
          </widget>
         </item>
@@ -173,12 +103,12 @@
          </widget>
         </item>
         <item>
-         <widget class="QLineEdit" name="txtWebHeader" />
+         <widget class="QgsFileDropEdit" name="txtWebHeader" />
         </item>
         <item>
          <widget class="QPushButton" name="btnChooseHeaderFile" >
           <property name="text" >
-           <string>...</string>
+           <string>Browse...</string>
           </property>
          </widget>
         </item>
@@ -209,12 +139,12 @@
          </widget>
         </item>
         <item>
-         <widget class="QLineEdit" name="txtWebFooter" />
+         <widget class="QgsFileDropEdit" name="txtWebFooter" />
         </item>
         <item>
          <widget class="QPushButton" name="btnChooseFooterFile" >
           <property name="text" >
-           <string>...</string>
+           <string>Browse...</string>
           </property>
          </widget>
         </item>
@@ -436,12 +366,12 @@
    <item row="1" column="2" >
     <widget class="QPushButton" name="btnChooseProjectFile" >
      <property name="text" >
-      <string>...</string>
+      <string>Browse...</string>
      </property>
     </widget>
    </item>
    <item row="1" column="1" >
-    <widget class="QLineEdit" name="txtQgisFilePath" >
+    <widget class="QgsFileDropEdit" name="txtQgisFilePath" >
      <property name="toolTip" >
       <string>Full path to the QGIS project file to export to MapServer map format</string>
      </property>
@@ -460,7 +390,7 @@
    <item row="0" column="2" >
     <widget class="QPushButton" name="btnChooseFile" >
      <property name="text" >
-      <string>...</string>
+      <string>Save As...</string>
      </property>
     </widget>
    </item>
@@ -474,6 +404,16 @@
      </property>
     </widget>
    </item>
+   <item row="5" column="0" colspan="3" >
+    <widget class="QDialogButtonBox" name="buttonBox" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons" >
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11" />
@@ -481,11 +421,15 @@
  <customwidgets>
   <customwidget>
    <class>Q3GroupBox</class>
-   <extends></extends>
+   <extends>QGroupBox</extends>
    <header>Qt3Support/Q3GroupBox</header>
    <container>1</container>
-   <pixmap></pixmap>
   </customwidget>
+  <customwidget>
+   <class>QgsFileDropEdit</class>
+   <extends>QLineEdit</extends>
+   <header>qgsfiledropedit.h</header>
+  </customwidget>
  </customwidgets>
  <tabstops>
   <tabstop>txtMapFilePath</tabstop>
@@ -504,20 +448,17 @@
   <tabstop>btnChooseHeaderFile</tabstop>
   <tabstop>txtWebFooter</tabstop>
   <tabstop>btnChooseFooterFile</tabstop>
-  <tabstop>buttonHelp</tabstop>
-  <tabstop>buttonOk</tabstop>
-  <tabstop>buttonCancel</tabstop>
  </tabstops>
  <resources/>
  <connections>
   <connection>
-   <sender>buttonCancel</sender>
-   <signal>clicked()</signal>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
    <receiver>QgsMapserverExportBase</receiver>
-   <slot>reject()</slot>
+   <slot>accept()</slot>
    <hints>
     <hint type="sourcelabel" >
-     <x>426</x>
+     <x>335</x>
      <y>422</y>
     </hint>
     <hint type="destinationlabel" >
@@ -527,13 +468,13 @@
    </hints>
   </connection>
   <connection>
-   <sender>buttonOk</sender>
-   <signal>clicked()</signal>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
    <receiver>QgsMapserverExportBase</receiver>
-   <slot>accept()</slot>
+   <slot>reject()</slot>
    <hints>
     <hint type="sourcelabel" >
-     <x>335</x>
+     <x>426</x>
      <y>422</y>
     </hint>
     <hint type="destinationlabel" >

Modified: packages/qgis/branches/upstream/current/tools/mapserver_export/test_export.py
===================================================================
--- packages/qgis/branches/upstream/current/tools/mapserver_export/test_export.py	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/mapserver_export/test_export.py	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,5 +1,20 @@
 #!/usr/bin/python
+#***************************************************************************
+#    test_export.py
+#    --------------------------------------
+#   Date                 : Sun Sep 16 12:34:29 AKDT 2007
+#   Copyright            : (C) 2007 by Gary E. Sherman
+#   Email                : sherman at mrcc dot com
+#***************************************************************************
+#*                                                                         *
+#*   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  *
+#*   the Free Software Foundation; either version 2 of the License, or     *
+#*   (at your option) any later version.                                   *
+#*                                                                         *
+#***************************************************************************/
 
+
 # test script to export a sample QGIS project file to mapserver
 import ms_export
 ex = ms_export.Qgis2Map('./test1.qgs', './test1.map')

Added: packages/qgis/branches/upstream/current/tools/qgis_config/.cvsignore
===================================================================
--- packages/qgis/branches/upstream/current/tools/qgis_config/.cvsignore	                        (rev 0)
+++ packages/qgis/branches/upstream/current/tools/qgis_config/.cvsignore	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,6 @@
+.deps
+.libs
+Makefile
+Makefile.in
+qgis-config
+

Deleted: packages/qgis/branches/upstream/current/tools/qgis_config/Makefile.am
===================================================================
--- packages/qgis/branches/upstream/current/tools/qgis_config/Makefile.am	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/tools/qgis_config/Makefile.am	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,24 +0,0 @@
-# Copyright (C) 2003 Gary Sherman <sherman at mrcc.com>
-#  
-# This file is free software; as a special exception the author gives
-# unlimited permission to copy and/or distribute it, with or without 
-# modifications, as long as this notice is preserved.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-PREFIX=-DPREFIX=\"$(prefix)\"
-INCLUDE_DIR=-DINCLUDE_DIR=\"$(prefix)/include\"
-LIB_DIR=-DLIB_DIR=\"${libdir}\"
-BIN_DIR=-DBIN_DIR=\"${exec_prefix}/bin\"
-PLUGIN_DIR=-DPLUGIN_DIR=\"${pkglibdir}\"
-VERSION=-DMAJOR_VERSION=\"$(MAJOR_VERSION)\" -DMINOR_VERSION=\"$(MINOR_VERSION)\" -DMICRO_VERSION=\"$(MICRO_VERSION)\" -DEXTRA_VERSION=\"$(EXTRA_VERSION)\"
-
-## main app
-bin_PROGRAMS = qgis-config
-
-## ancillary library for plug-ins
-
-qgis_config_SOURCES =  qgis_config.cpp
-qgis_config_CXXFLAGS = $(PREFIX) $(INCLUDE_DIR) $(LIB_DIR) $(BIN_DIR) $(PLUGIN_DIR) $(CXXFLAGS) $(EXTRA_CXXFLAGS) $(DEBUG_QGIS) $(VERSION)

Deleted: packages/qgis/branches/upstream/current/update_translations.bat
===================================================================
--- packages/qgis/branches/upstream/current/update_translations.bat	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/update_translations.bat	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,8 +0,0 @@
-echo Creating qmake project file
-qmake -project -o qgis_ts.pro
-echo Updating translation files
-lupdate -verbose qgis_ts.pro
-lrelease -verbose qgis_ts.pro
-echo Removing qmake project file
-del qgis_ts.pro
-copy i18n\*.qm qgis-release\share\qgis\i18n\

Deleted: packages/qgis/branches/upstream/current/update_ts_files.sh
===================================================================
--- packages/qgis/branches/upstream/current/update_ts_files.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/update_ts_files.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,15 +0,0 @@
-#!/bin/sh
-# Update the translation files with strings used in QGIS
-# 1. create a clean Qt .pro file for the project
-# 2. run lupdate using the .pro file from step 1
-# 3. remove the .pro
-# Note the .pro file must NOT be named qgis.pro as this
-# name is reserved for the Windows qmake project file
-# update_ts_files.sh,v 1.3 2004/07/14 18:16:24 gsherman Exp
-
-echo Creating qmake project file
-$QTDIR/bin/qmake -project -o qgis_ts.pro
-echo Updating translation files
-$QTDIR/bin/lupdate -verbose qgis_ts.pro
-echo Removing qmake project file
-rm qgis_ts.pro

Added: packages/qgis/branches/upstream/current/win_build/python.nsh
===================================================================
--- packages/qgis/branches/upstream/current/win_build/python.nsh	                        (rev 0)
+++ packages/qgis/branches/upstream/current/win_build/python.nsh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -0,0 +1,31 @@
+;Python include file for NSIS
+;Written by Tisham Dhar(what_nick) (mailto:tisham at apogee.com.au)
+!ifndef PYTHON_USED
+!define PYTHON_USED
+
+!macro CHECK_PYTHON
+# Read handler for python files from registry
+ReadRegStr $9 HKEY_LOCAL_MACHINE "SOFTWARE\Python\PythonCore\2.5\InstallPath" ""
+
+# The point pythonskip needs to be defined
+IfFileExists $9\python.exe ok ng
+
+ng:
+   MessageBox MB_OK "Python is not installed on this system.$\nPlease install Python2.5 first."
+   goto pythonskip
+ok:
+   MessageBox MB_OK "Python located $9"
+
+IfFileExists $9\Lib\site-packages\PyQt4 pyqtok pyqtng
+
+pyqtng:
+  MessageBox MB_OK "PyQt4 is not installed.$\nPlease install PyQt4 first."
+#copy over bundled pyqt4 instead of skipping
+  goto pythonskip
+pyqtok:
+  MessageBox MB_OK "PyQt4 located"
+
+
+!macroend
+
+!endif
\ No newline at end of file

Modified: packages/qgis/branches/upstream/current/win_build/qgis.nsi
===================================================================
--- packages/qgis/branches/upstream/current/win_build/qgis.nsi	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/win_build/qgis.nsi	2007-10-31 12:20:11 UTC (rev 1247)
@@ -2,8 +2,8 @@
 
 ; HM NIS Edit Wizard helper defines
 !define PRODUCT_NAME "Quantum GIS"
-!define PRODUCT_VERSION_NUMBER "0.8.1"
-!define PRODUCT_VERSION_NAME "Titan"
+!define PRODUCT_VERSION_NUMBER "0.9.0"
+!define PRODUCT_VERSION_NAME "Ganymede"
 !define PRODUCT_VERSION "${PRODUCT_VERSION_NUMBER} ${PRODUCT_VERSION_NAME}"
 !define PRODUCT_PUBLISHER "qgis.org"
 !define PRODUCT_WEB_SITE "http://qgis.org"
@@ -22,6 +22,8 @@
 !include RecursiveDelete.nsh
 ;Added by Tim to support unzipping downloaded sample data automatically
 !include ZipDLL.nsh
+;Added by what_nick to support python
+!include python.nsh
 
 ; MUI Settings
 !define MUI_ABORTWARNING
@@ -37,8 +39,6 @@
 ; Components page
 !insertmacro MUI_PAGE_COMPONENTS
 ; Directory page
-
-!define MUI_DIRECTORYPAGE_TEXT_TOP "Note: for full GRASS functionality install in a path with no spaces!"
 !insertmacro MUI_PAGE_DIRECTORY
 ; Start menu page
 var ICONS_GROUP
@@ -51,13 +51,9 @@
 ; Instfiles page
 !insertmacro MUI_PAGE_INSTFILES
 ; Finish page
-!insertmacro MUI_PAGE_INSTFILES
-!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\share\qgis\doc\index.html"
 !define MUI_FINISHPAGE_RUN "$INSTDIR\qgis.exe"
 !insertmacro MUI_PAGE_FINISH
 
-
-
 ; Uninstaller pages
 !insertmacro MUI_UNPAGE_INSTFILES
 
@@ -117,13 +113,19 @@
 ;------- qgis Related
   File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\*.dll"
   File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\*.exe"
-  File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\libz.dll.1.2.3"
+;--File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\libz.dll.1.2.3"
 ;------- proj and gdal Related
   File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\*.csv"
 ;subdirs
   File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\grass"
-  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\lib"
-  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\share"
+  ;File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\lib"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\doc"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\i18n"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\images"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\man"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\resources"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\svg"
+  File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\themes"
   File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\nad"
   File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\msys"
   ;qt plugins
@@ -151,8 +153,15 @@
  File "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\include\*.h"
 SectionEnd
 
+Section "Python Extension" SEC03
+ !insertmacro CHECK_PYTHON
+ SetOutPath "$INSTDIR"
+ File /r "C:\Program Files\qgis${PRODUCT_VERSION_NUMBER}\python"
+ pythonskip:
+SectionEnd
+
 ; /o means unchecked by default
-Section /o "Sample Data - Spearfish (GRASS)" SEC03
+Section /o "Sample Data - Spearfish (GRASS)" SEC04
  SetOutPath "$INSTDIR\SampleData\"
  NSISdl::download http://grass.itc.it/sampledata/spearfish_grass60data-0.3.zip spearfish.zip
  !insertmacro ZIPDLL_EXTRACT "$INSTDIR\SampleData\spearfish.zip" "$INSTDIR\SampleData\" "<ALL>"
@@ -166,9 +175,8 @@
 
 SectionEnd
 
-
 ; /o means unchecked by default
-Section /o "Sample Data - Alaska (Non GRASS)" SEC04
+Section /o "Sample Data - Alaska (Non GRASS)" SEC05
  SetOutPath "$INSTDIR\SampleData\Alaska\"
  NSISdl::download http://qgis.org/uploadfiles/qgis_sample_data.zip alaska.zip
  !insertmacro ZIPDLL_EXTRACT "$INSTDIR\SampleData\Alaska\alaska.zip" "$INSTDIR\SampleData\Alaska" "<ALL>"
@@ -206,8 +214,9 @@
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Main application files - you really need this!"
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Header files for developers."
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "20mb Download of sample data in GRASS format (not required if you have your own data already)"
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "20mb Download of sample shapefiles and TIFF data for Alaska (not required if you have your own data already)"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Python Scripting Engine."
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "20mb Download of sample data in GRASS format (not required if you have your own data already)"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "20mb Download of sample shapefiles and TIFF data for Alaska (not required if you have your own data already)"
 !insertmacro MUI_FUNCTION_DESCRIPTION_END
 
 
@@ -223,7 +232,7 @@
 
 
 Section Uninstall
-  ;Added by Tim to uninstall for all users not just the logged in user..
+  ;Added by Tim to install for all users not just the logged in user..
   ;make sure this is at the top of the section
   SetShellVarContext all
 

Modified: packages/qgis/branches/upstream/current/win_build/qgis_window_geometry.nsh
===================================================================
--- packages/qgis/branches/upstream/current/win_build/qgis_window_geometry.nsh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/win_build/qgis_window_geometry.nsh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -7,36 +7,13 @@
 #           Please don't remove this header.                                   #
 ################################################################################
 
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS" "" ""
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis" "" ""
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer" "" ""
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "x" 0x154
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "y" 0xc8
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "w" 0x258
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "h" 0x190
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "wiev" 0xa
-WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Composer\geometry" "options" 0x54
-WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "state" 40004200790074006500410072007200610079002800000000000000ff000000000000000000fd000000000000000000000000000500000000000000020061000000000000000400000000000000040000000000000008000000000000000800fc000000000000000200000000000000020000000000000004000000000000001600000046000000690000006c00000065000000540000006f0000006f0000006c0000004200000061000000720001000000000000000000000000000000be0000000000000000000000000000000000000000000000180000004c00000061000000790000006500000072000000540000006f0000006f0000006c000000420000006100000072000100000000000000be00000000000100900000000000000000000000000000000000000000000000140000004400000069000000670000006900000074000000690000007a000000690000006e000000670001000000000002004e00000000000200b200000000000000000000000000000000000000000000000800000048000000650000006c000000700000000000000004000100000000000000ff000000000000000000000000000000000000000000000002000000000000000400000000000000140000004100000074000000740000007200000069000000620000007500000074000000650000007300010000000000000000000000000001000400000000000000000000000000000000000000000000001c0000004d0000006100000070000000200000004e000000610000007600000069000000670000006100000074000000690000006f0000006e00010000000000010004000000000001002700000000000000000000000000000000000000000000000a00000047000000520000004100000053000000530001000000000002002b00000000000200d500000000000000000000000000000000000000000000000e000000500000006c0000007500000067000000690000006e000000730000000000000003009b000000000001006500000000000000000000000000000000002900
+WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "state" 40004200790074006500410072007200610079002800000000000000ff000000000000000000fc000000000000000200000000000000020000000000000005000000000000001600000046000000690000006c00000065000000540000006f0000006f0000006c00000042000000610000007200010000000000000000000000000000001a00000000000000be00000000000000270000000000000000000000000000000000000000000000000000000000000000000000000000000800000048000000650000006c0000007000000000000000020027000000000000001a00ff00ff00ff00ff00ff00ff00ff00ff000000000000000000000000000000000000000000020027000000000000001a000000000000000e000000500000006c0000007500000067000000690000006e0000007300000000000000020026000000000000001a00ff00ff00ff00ff00ff00ff00ff00ff000000000000000000000000000000000000000000020026000000000000001a00000000000000180000004c00000061000000790000006500000072000000540000006f0000006f0000006c000000420000006100000072000100000000000000be000000000000001a000000000001009000000000000000270000000000000000000000000000000000000000000000000000000000000000000000000000000a00000047000000520000004100000053000000530001000000000002004e000000000000001a00000000000200b20000000000000027000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000003000000000000001c0000004d0000006100000070000000200000004e000000610000007600000069000000670000006100000074000000690000006f0000006e00010000000000000000000000000000004100000000000100270000000000000027000000000000000000000000000000000000000000000000000000000000000000000000000000140000004100000074000000740000007200000069000000620000007500000074000000650000007300010000000000010027000000000000004100000000000100040000000000000027000000000000000000000000000000000000000000000000000000000000000000000000000000140000004400000069000000670000006900000074000000690000007a000000690000006e000000670001000000000002002b000000000000004100000000000200d50000000000000027000000000000000000000000000000000000000000000000000000000000000000fd0000000000000000000000000005000000000000000200610000000000000004000000000000000400000000000000080000000000000008002900
 WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "maximized" "false"
 WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "x" 0xfffffffc
 WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "y" 0xfffffffc
 WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "w" 0x500
 WriteRegDWORD HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "h" 0x2e6
-WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "canvasSplitterState" 40004200790074006500410072007200610079002800000000000000ff00000000000000000000000000000002000000000001001200000000000300d60001000000000000000600010000000000000001002900
-WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "legendSplitterState" 40004200790074006500410072007200610079002800000000000000ff0000000000000000000000000000000200000000000100eb000000000000005e0001000000000000000600010000000000000002002900
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\GRASS" "gisbase" ""
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "Add Delimited Text Layer" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "CopyrightLabel" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "Georeferencer" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "GPS Tools" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "GRASS" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "Graticule Creator" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "Launcher" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "NorthArrow" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "PostgresSQL Geoprocessing" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "ScaleBar" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "SPIT" "true"
-WriteRegStr HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Plugins" "WFS plugin" "true"
+WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "canvasSplitterState" 40004200790074006500410072007200610079002800000000000000ff00000000000000000000000000000002000000000001000900000000000300e10001000000000000000600010000000000000001002900
+WriteRegBin HKEY_CURRENT_USER "Software\QuantumGIS\qgis\Geometry" "legendSplitterState" 40004200790074006500410072007200610079002800000000000000ff0000000000000000000000000000000200000000000100ed000000000000005e0001000000000000000600010000000000000002002900
 
 ###############################  reg2nsis end  #################################
-

Deleted: packages/qgis/branches/upstream/current/winbuild.sh
===================================================================
--- packages/qgis/branches/upstream/current/winbuild.sh	2007-10-31 10:59:29 UTC (rev 1246)
+++ packages/qgis/branches/upstream/current/winbuild.sh	2007-10-31 12:20:11 UTC (rev 1247)
@@ -1,56 +0,0 @@
-#!/bin/sh
-export PATH=/home/user/win/qt4.1_win/bin:$PATH
-export LD_LIBRARY_PATH=/home/user/win/qt4.1_win/lib:$LD_LIBRARY_PATH
-export QTDIR=$WIN/qt-4.1_win
-
-# added by gsherman to enable ccache
-#export CC='ccache gcc'
-#export CXX='ccache g++'
-
-export QT_CFLAGS="-DQT_SHARED -I/home/user/win/qt4.1_win/include -I/home/user/win/qt4.1_win/include/QtCore -I/home/user/win/qt4.1_win/include/QtGui -I/home/user/win/qt4.1_win/include/Qt3Support -I/home/user/win/qt4.1_win/include/QtNetwork -I/home/user/win/qt4.1_win/include/QtXml -I/home/user/win/qt4.1_win/include/QtSvg -I/home/user/win/qt4.1_win/include/QtSql -I/home/user/win/qt4.1_win/include/QtTest"
-export QT_LIBS="-L/home/user/win/qt4.1_win/lib -lQtNetwork -lQtSvg -lQtXml -lQtGui -lQtSql  -lQt3Support -lQtCore -lQtTest"
-
-#export QT_LIBS="-L/home/user/win/qt4.1_win/lib"
-#export QT_LDADD="-L/home/user/win/qt4.1_win/lib -lQtNetwork -lQtSvg -lQtXml -lQtGui -lQtSql -lQt3Support -lpthread -lQtTest -lQtCore"
-
-#checking for QT_CFLAGS... -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg
-#checking for QT_LIBS... -L/home/holl/software/qt4-x11-4.1.0/lib -L/usr/X11R6/lib -lQt3Support -lQtSql -lQtNetwork -lQtSvg -lQtXml -lQtGui -laudio -lXt -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lXext -lX11 -lQtTest -lQtCore -lfontconfig -lz -lm -ldl -lpthread
-#checking for QT_TEST_LIBS... -L/home/holl/software/qt4-x11-4.1.0/lib -lQtTest -lQtCore -lfontconfig -lz -lm -ldl -lpthread
-#checking QT_CXXFLAGS... -DQT3_SUPPORT -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg   -I/usr/include/qt4/QtTest
-#checking QT_LDADD... -L/home/holl/software/qt4-x11-4.1.0/lib -L/usr/X11R6/lib -lQt3Support -lQtSql -lQtNetwork -lQtSvg -lQtXml -lQtGui -laudio -lXt -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lXext -lX11 -lQtTest -lQtCore -lfontconfig -lz -lm -ldl -lpthread
-
-
-./autogen.sh \
---with-qt-pkg-config=no \
---prefix=$WIN/i586-mingw32msvc/release \
---target=$TARGET \
---host=$TARGET \
---build=i386-linux \
---with-qtdir=$WIN/qt-4.1_win \
---with-projdir=$WIN/i586-mingw32msvc \
---with-gdal=$WIN/i586-mingw32msvc/bin/gdal-config \
---with-geos=$WIN/i586-mingw32msvc/bin/geos-config \
---with-sqlite3dir=$WIN/i586-mingw32msvc \
---with-gsl=$WIN/i586-mingw32msvc/bin/gsl-config \
---with-grass=$WIN/i586-mingw32msvc/grass-6.1.cvs \
---with-postgresql
-
-#./configure \
-#--with-qt-pkg-config=no \
-#--prefix=$WIN/i586-mingw32msvc \
-#--target=$TARGET \
-#--host=$TARGET \
-#--build=i386-linux \
-#--with-qtdir=$WIN/qt-4.1_win \
-#--with-projdir=$WIN/i586-mingw32msvc \
-#--with-gdal=$WIN/i586-mingw32msvc/bin/gdal-config \
-#--with-geos=$WIN/i586-mingw32msvc/bin/geos-config \
-#--with-sqlite3dir=$WIN/i586-mingw32msvc \
-#--with-gsl=$WIN/i586-mingw32msvc/bin/gsl-config \
-#--with-grass=$WIN/i586-mingw32msvc/grass-6.1.cvs \
-#--with-postgresql
-
-
-# build the beast
-#~/bin/winmake -f Makefile.win
-




More information about the Pkg-grass-devel mailing list